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
- 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
Important: The
flake.nixinputs currently point to private Forgejo mirrors. Before you can build, you need to update them to the public upstream sources. Inflake.nix, replace theinputsblock with:inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; nvf.url = "github:notashelf/nvf"; };Then run
nix flake updateto regenerate the lock file.
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 |