Abhay's standalone Nixvim config
- Nix 100%
| modules/neovim | ||
| flake.lock | ||
| flake.nix | ||
| README.md | ||
nixvim-config
My personal Neovim config, packaged via nixvim.
Canonical source — the infra flake imports this repo. Edit here, push, every machine gets the update.
Keybindings
| Key | Action |
|---|---|
<leader>ff |
Format buffer (conform) |
<leader>sf |
Find files (mini.pick) |
<leader>sb |
Find buffers |
<leader>sh |
Help pages |
<leader>sg |
Live grep |
<leader>sw |
Grep word under cursor |
<leader>sr |
Resume picker |
<leader>y / <leader>p |
Yank/paste to system clipboard |
gd / gr / gi / gt |
Go to definition / references / implementation / type |
<leader>rn |
Rename symbol |
<leader>ca |
Code action |
<leader>di |
Diagnostic float |
J / K (visual) |
Move selected lines up/down |
Plugins
- blink-cmp — autocompletion (LSP, path, snippets, buffer)
- conform.nvim — auto-formatting (alejandra, stylua, prettier, ruff, rustfmt, gofumpt, dotnet-format)
- lualine — statusline (kanagawa theme)
- mini.pick — fuzzy finding (files, buffers, grep, help)
- mini.extra — LSP pickers (symbols, diagnostics, definitions, references)
- kanagawa — colorscheme
- LSP — nixd, lua_ls, vtsls, rust-analyzer, gopls, basedpyright, ruff, html, cssls, markdown_oxide, roslyn_ls
How to use
WSL (home-manager)
# flake.nix
inputs.nixvim-config.url = "https://git.iamabhay.fyi/abhay/nixvim-config.git";
# home.nix
{ inputs, ... }: {
imports = [ inputs.nixvim-config.homeModules.default ];
}
Any NixOS machine
{ inputs, ... }: {
imports = [ inputs.nixvim-config.nixosModules.default ];
}
Try without installing
nix run https://git.iamabhay.fyi/abhay/nixvim-config.git
File structure
modules/neovim/
├── default.nix # imports everything
├── options.nix # base vim opts, theme, disable nixpkgs version check
├── keymaps.nix # all keybindings
└── plugins/
├── lsp.nix # LSP servers (nixd, lua_ls, vtsls, rust-analyzer, gopls, basedpyright, ruff, html, cssls, markdown_oxide, roslyn_ls)
├── conform.nix # formatters
├── blink.nix # autocompletion
├── mini.nix # mini.pick config
└── lualine.nix # statusline