Neovim: Difference between revisions
imported>SaphireLattice Add a note about module disabling init.vim |
imported>SaphireLattice mNo edit summary |
||
Line 26: | Line 26: | ||
programs.neovim.viAlias = true; | programs.neovim.viAlias = true; | ||
Using module will make nix manage the neovim configuration, disabling <code>init.vim</code> | Using the module will also make nix manage the neovim configuration, disabling <code>init.vim</code> | ||
== Note on errors using default `packages` for plugins requiring Lua modules == | == Note on errors using default `packages` for plugins requiring Lua modules == |
Revision as of 19:28, 11 September 2022
Installation and configuration
Neovim shares most of it's configuration with Vim. See the Vim page for more details on the use of both.
Configure Neovim as the default Editor
Add this to your configuration.nix
environment.variables.EDITOR = "nvim";
Set Neovim as vi
and vim
Add this to your configuration.nix
nixpkgs.overlays = [ (self: super: { neovim = super.neovim.override { viAlias = true; vimAlias = true; }; }) ];
Alternatively you can use the neovim module (merged in september 2020).
programs.neovim.enable = true; programs.neovim.viAlias = true;
Using the module will also make nix manage the neovim configuration, disabling init.vim
Note on errors using default `packages` for plugins requiring Lua modules
Due to how the `runtimepath` for Lua modules is processed, your configuration may require `packadd! plugin-name` to require a module. A home-manager example:
programs.neovim = { plugins = [ { plugin = nvim-colorizer-lua config = packadd! nvim-colorizer.lua lua require 'colorizer'.setup() ; } ]; }
To build neovim master
Use the official documentation: https://github.com/neovim/neovim/wiki/Building-Neovim#nixos--nix The neovim repository now contains a flake so you can run the master version via `nix run github:neovim/neovim?dir=contrib`
There is also an overlay available: https://github.com/nix-community/neovim-nightly-overlay