No description
- Nix 100%
Add mkNvim, which builds the neovim package with a given theme name, and make config/default.nix set theme.name with mkDefault so the override wins. packages.default still builds gruvbox; downstream consumers can now pick a per-host theme via `nvf-config.lib.mkNvim "<theme>"`. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| config | ||
| .gitignore | ||
| flake.lock | ||
| flake.nix | ||
| NEOVIM_GUIDE.md | ||
| README.md | ||
nvf-config
A reproducible Neovim configuration built as a Nix flake using nvf.
What's included
The flake produces a single Neovim package (packages.x86_64-linux.default)
with the following configured out of the box:
- Gruvbox dark theme, lualine statusline
- Telescope (find files, live grep, buffers, help)
- nvim-tree file explorer
- Treesitter and LSP for Nix, Python, Lua, Bash, Markdown, HTML, CSS, TypeScript, and Rust
- nvim-cmp completion
- Git integration (gitsigns, lazygit via toggleterm)
- UI extras: illuminate, breadcrumbs, noice
- Utility: surround, icon-picker, comment-nvim, autopairs
Using this flake
Prerequisites
- Nix with flakes enabled
Build and run
nix build .#default
./result/bin/nvim
# or run directly
nix run .#default
Layout
| Path | Purpose |
|---|---|
flake.nix |
Flake inputs and package output |
flake.lock |
Pinned dependency versions |
config/default.nix |
nvf module (all editor settings) |
Key bindings
Leader is Space.
| Binding | Action |
|---|---|
Space ff |
Find files |
Space fg |
Live grep |
Space fb |
List buffers |
Space fh |
Help tags |
Space e |
Toggle file tree |
Space gg |
Open lazygit |
Shift-l/h |
Next/previous buffer |
Ctrl-hjkl |
Window navigation |
Esc |
Clear search highlight |