## Install for Vim with Nix

Supported operating systems:

### Install prerequisites

In order to install quick-lint-js' Nix package, you must first install Nix or NixOS.

Install and configure one of the following Vim plugins:

- ALE - Asynchronous Lint Engine v2.1.1 or newer, or version v3.0.0 or newer
- coc.nvim - Conquer of Completion v0.0.80 or newer

### Install quick-lint-js

Open a terminal, and run the following command:

>     nix-env -iA nixpkgs.quick-lint-js

If the above command fails with “error: attribute 'quick-lint-js' in selection path 'nixpkgs.quick-lint-js' not found”, your Nixpkgs is out of date. Either update Nixpkgs, or install from quick-lint-js' repository instead:

>     nix-env -f https://c.quick-lint-js.com/releases/2.2.0/source/quick-lint-js-2.2.0.tar.gz -iA quick-lint-js

### Install Vim plugin

Install this plugin with your favorite Vim packaging system:

- Vim package (built into Vim 8.0 and newer)
- Pathogen
- Vim-Plug
- Vundle

#### Install as a Vim package

This option requires Vim 8.0 or newer.

1. Download the quick-lint-js Vim plugin.
2. Add `packloadall` to your `~/.vimrc` file if not already present.
3. Create the directory `~/.vim/pack/external/start/`.
4. Copy the extracted `quick-lint-js.vim` directory into the `~/.vim/pack/external/start/` directory.
5. Restart Vim.

#### Install with Pathogen

This option requires Pathogen.

1. Download the quick-lint-js Vim plugin.
2. Copy the extracted `quick-lint-js.vim` directory into the `~/.vim/bundle/` directory.
3. Restart Vim.

#### Install with Vim-Plug

This option requires Vim-Plug.

1. Add the following line to your `vimrc` file between `call plug#begin(...)` and `call plug#end()`:

   >     Plug 'quick-lint/quick-lint-js', {'rtp': 'plugin/vim/quick-lint-js.vim', 'tag': '2.2.0'}

2. Restart Vim.
3. In Vim, run `:PlugInstall`.

#### Install with Vundle

This option requires Vundle.

Using Vundle is not recommended. Vundle doesn't support version pinning. We recommend using a different Vim plugin manager.

1. Add the following line to your `vimrc` file between `call vundle#begin(...)` and `call vundle#end()`:

   >     Plugin 'quick-lint/quick-lint-js', {'rtp': 'plugin/vim/quick-lint-js.vim'}

2. Restart Vim.
3. In Vim, run `:PluginInstall`.

### Configure

Configure the Vim plugin by opening Vim and running `:help quick-lint-js`, or read the Vim plugin docs online.