Configure Neovim via nixvim with Nix-managed plugins

Add an nvim Module that configures Neovim declaratively through nixvim,
wired as a flake input and consumed as its home-manager module. Options,
globals, keymaps, and plugin settings are typed Nix; the colorscheme
call and two autocmds live in modules/nvim/config.lua via extraConfigLua.
Plugins come from nixpkgs (no plugin manager, no runtime cloning); git,
ripgrep, and fd are provided from Nix; treesitter grammars are built by
Nix so no runtime compiler is needed.

Functionally matches the previous config (plugins, keymaps, options, the
nord colorscheme, markdown conceal, the Neogit blame toggle), verified
headless against the generated init.
This commit is contained in:
2026-07-18 23:30:48 -04:00
parent c06b6eea38
commit 731ef46975
7 changed files with 318 additions and 1 deletions

View File

@@ -16,6 +16,13 @@
inputs.nixpkgs.follows = "nixpkgs";
};
# Neovim configured declaratively in Nix. Must follow our nixpkgs so its
# plugins build against the same package set.
nixvim = {
url = "github:nix-community/nixvim";
inputs.nixpkgs.follows = "nixpkgs";
};
# Declarative disk partitioning. Each Host declares its own layout; a Host
# that preserves an existing pool simply declares none.
disko = {