Neovim
Neovim is managed by Home Manager in conf/shared.nix, while the actual editor
configuration comes from the external neovim-config flake input.
home.file.".config/nvim" = {
source = neovim-config;
recursive = true;
};
Defaults
programs.neovim.enable = trueviAlias,vimAlias, anddefaultEditorare enabled.- Python and Ruby providers are kept enabled for compatibility.
Workflow
- Edit the upstream Neovim config repo for plugin/keymap/theme changes.
- Run
nix flake update --update-input neovim-confighere to pull changes. - Rebuild this system to install the updated config.
Quick keys
Common habits preserved from the existing config:
<leader>opens the main custom mappings namespace.- Telescope-style pickers are used for files, text, buffers, and help.
- LSP mappings cover definition, references, rename, code actions, and hover.
- Formatting and diagnostics are available through normal LSP commands.
Use Neovim's built-in helpers when unsure:
:map
:Telescope keymaps
:checkhealth