No description
- Nix 100%
| 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, bufferline tabline
- Treesitter and LSP for Nix, Python, Lua, Bash, Markdown, HTML, CSS, TypeScript/JavaScript, Rust, Go, YAML, TOML, SQL, Ruby, and Assembly
- harper-ls grammar/spell checking across prose and code filetypes
- nvim-cmp completion with luasnip snippets
- Git integration (gitsigns, lazygit via toggleterm)
- UI extras: illuminate, breadcrumbs, noice, indent-blankline, treesitter-context, which-key
- Trouble diagnostics/references panel (
Space ld,Space lwd,Space lr,Space xq/xl/xs) - Utility: surround, icon-picker, undotree, comment-nvim, autopairs, colorizer
- NASM/assembly tooling:
.incfiletype detection plus a:makebuild/run integration (overridden by aMakefilewhen present)
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 u |
Toggle undo tree |
Space gg |
Open lazygit |
Shift-l/h |
Next/previous buffer |
Ctrl-hjkl |
Window navigation |
Esc |
Clear search highlight |
Space rr |
NASM: save, build, run current file |
Space rb |
NASM: save and build current file |
Space rt |
NASM: save, build, run in toggleterm |