No description
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-09-03 21:49:23 -05:00
config add JSON, C/C++, and render-markdown 2026-08-29 15:55:29 -05:00
.gitignore Track AGENTS.md and document truesilver.dev hosting. 2026-09-03 21:40:26 -05:00
AGENTS.md Track AGENTS.md and document truesilver.dev hosting. 2026-09-03 21:40:26 -05:00
flake.lock update flake 2026-09-03 21:49:23 -05:00
flake.nix Add aether.nvim theme for molly 2026-08-22 09:31:14 -05:00
NEOVIM_GUIDE.md add JSON, C/C++, and render-markdown 2026-08-29 15:55:29 -05:00
README.md add JSON, C/C++, and render-markdown 2026-08-29 15:55:29 -05:00

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 by default (packages.default); molly uses Aether via lib.mkNvim "aether" (packages.aether, bjarneo/aether.nvim)
  • 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, JSON, Rust, Go, C/C++, YAML, TOML, SQL, Ruby, and Assembly
  • Inline Markdown rendering (render-markdown.nvim) in Markdown buffers
  • 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: .inc filetype detection plus a :make build/run integration (overridden by a Makefile when 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