A modular Neovim configuration flake built with nvf.
Replaces my older nixvim configuration.
| Language | LSP | Formatter |
|---|---|---|
| Nix | nixd |
nixfmt |
| Go | gopls |
gofmt |
| Python | basedpyright |
black, isort |
| Rust | rust-analyzer |
rustfmt |
| Haskell | hls |
- |
| Markdown | marksman |
- |
| Plugin | Description |
|---|---|
blink-cmp |
Modern, fast autocompletion engine |
cinnamon.nvim |
Smooth scrolling |
comment.nvim |
Comment toggling for all filetypes |
fastaction.nvim |
Quick LSP/refactor action popups |
illuminate.nvim |
Highlight other uses of word under cursor |
indent-blankline.nvim |
Indentation guides |
nvim-lightbulb |
Show a lightbulb when a code action is available |
luasnip |
Snippet expansion engine |
lualine.nvim |
Statusline (Nord themed) |
multicursors.nvim |
Multi-cursor editing support |
neo-tree.nvim |
Modern file explorer |
nvim-autopairs |
Auto insert matching pairs (brackets, quotes, etc.) |
nvim-bufferline |
Tab-style buffer navigation |
nvim-dap |
Debug adapter protocol (debugging support) |
nvim-dap-ui |
Visual debugger UI |
nvim-docs-view |
Inline documentation viewer |
nvim-treesitter |
Syntax tree-based highlighting and indentation |
nvim-web-devicons |
File icons for UI components |
nord.nvim |
Nord theme |
otter.nvim |
Embedded language support (Markdown, etc.) |
render-markdown-nvim |
Markdown previews |
smart-splits.nvim |
Smart window resizing and navigation |
telescope |
Fuzzy finder |
toggleterm.nvim |
Floating terminal manager |
which-key.nvim |
Keybinding popup display |
Click to expand: Disabled Plugins
| Plugin | Description |
|---|---|
breadcrumbs.nvim |
Code breadcrumbs in statusline |
ccc.nvim |
Color picker utility |
cellular-automaton.nvim |
Animated visual effects |
cheatsheet.nvim |
Visual reference for keymaps |
colorizer.nvim |
Inline color previews |
diffview.nvim |
Visual Git diff viewer |
fidget.nvim |
LSP progress indicator |
highlight-undo |
Highlight changes after undo |
hop.nvim |
Motion navigation using hints |
icon-picker.nvim |
Icon selection tool |
image.nvim |
Image rendering in buffers |
img-clip.nvim |
Paste images from clipboard |
leetcode.nvim |
Coding challenge integration |
lazygit |
LazyGit integration |
leap.nvim |
Motion navigation across lines |
lspkind.nvim |
Completion item icons |
lspsaga.nvim |
Enhanced LSP UI popups |
lspSignature.nvim |
Floating function signature hints |
modes.nvim |
Animated mode indicator |
navbuddy.nvim |
Floating symbol navigation |
noice.nvim |
Modern command/message UI |
nvim-biscuits |
Context hints near closing brackets |
nvim-cmp |
Traditional completion engine (replaced by blink-cmp) |
nvim-cursorline |
Cursorline plugin (redundant) |
nvim-scrollbar |
Minimal scrollbar |
precognition.nvim |
Predictive motion key hints |
smartcolumn.nvim |
Custom vertical guideline configuration |
surround.nvim |
Edit surrounding characters easily |
trouble.nvim |
Diagnostics list and panel |
undotree.nvim |
Undo history visualizer |
vim-wakatime |
Coding activity tracker |
yanky.nvim |
Yank history management |
Run directly:
nix run github:sotormd/neovimOr import into another flake:
inputs.neovim.url = "github:sotormd/neovim";Available packages:
neovim.packages.x86_64-linux.defaultneovim.packages.aarch64-linux.default
