···170170 start = [
171171 (nvim-treesitter.withPlugins (
172172 plugins: with plugins; [
173173- tree-sitter-nix
174174- tree-sitter-python
173173+ nix
174174+ python
175175 ]
176176 ))
177177 ];
···180180})
181181```
182182183183-To enable all grammars packaged in nixpkgs, use `(pkgs.vimPlugins.nvim-treesitter.withPlugins (plugins: pkgs.tree-sitter.allGrammars))`.
183183+To enable all grammars packaged in nixpkgs, use `pkgs.vimPlugins.nvim-treesitter.withAllGrammars`.
184184185185## Managing plugins with vim-plug {#managing-plugins-with-vim-plug}
186186···202202## Adding new plugins to nixpkgs {#adding-new-plugins-to-nixpkgs}
203203204204Nix expressions for Vim plugins are stored in [pkgs/applications/editors/vim/plugins](https://github.com/NixOS/nixpkgs/tree/master/pkgs/applications/editors/vim/plugins). For the vast majority of plugins, Nix expressions are automatically generated by running [`./update.py`](https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/editors/vim/plugins/update.py). This creates a [generated.nix](https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/editors/vim/plugins/generated.nix) file based on the plugins listed in [vim-plugin-names](https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/editors/vim/plugins/vim-plugin-names). Plugins are listed in alphabetical order in `vim-plugin-names` using the format `[github username]/[repository]@[gitref]`. For example https://github.com/scrooloose/nerdtree becomes `scrooloose/nerdtree`.
205205+206206+After running `./update.py`, if nvim-treesitter received an update, also run [`nvim-treesitter/update.py`](https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/editors/vim/plugins/update.py) to update the tree sitter grammars for `nvim-treesitter`.
205207206208Some plugins require overrides in order to function properly. Overrides are placed in [overrides.nix](https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/editors/vim/plugins/overrides.nix). Overrides are most often required when a plugin requires some dependencies, or extra steps are required during the build process. For example `deoplete-fish` requires both `deoplete-nvim` and `vim-fish`, and so the following override was added:
207209
···126126 ln -sf ${lutris-unwrapped}/share/icons $out/share
127127 '';
128128129129+ # allows for some gui applications to share IPC
130130+ # this fixes certain issues where they don't render correctly
131131+ unshareIpc = false;
132132+133133+ # Some applications such as Natron need access to MIT-SHM or other
134134+ # shared memory mechanisms. Unsharing the pid namespace
135135+ # breaks the ability for application to reference shared memory.
136136+ unsharePid = false;
137137+129138 meta = {
130139 inherit (lutris-unwrapped.meta)
131140 homepage