A modular Neovim configuration using lazy.nvim as the plugin manager. Each plugin has its own config file in lua/plugins/.
Plugin
Source
Description
Alpha
goolord/alpha-nvim
Startup dashboard using the Startify theme. Loads on VimEnter.
Catppuccin
catppuccin/nvim
Color scheme (flavour: Macchiato ). Integrates with cmp, gitsigns, nvim-tree. Italic comments & conditionals.
Lualine
nvim-lualine/lualine.nvim
Statusline using the Catppuccin theme. Shows mode, filename, branch, filetype, progress, and location.
Which-Key
folke/which-key.nvim
Popup keymap hints (timeout: 300ms). Groups defined for Molten, Telescope, Git, and Git Hunks.
Plugin
Source
Key Bindings
Telescope
nvim-telescope/telescope.nvim (v0.1.8)
<leader>ff find files · <leader>fg live grep · <leader>fb buffers · <leader>fh help · <leader>fr recent files · <leader>fc nvim config · <leader>fw word under cursor · <leader>gs git status
Nvim-Tree
nvim-tree/nvim-tree.lua
<leader>e toggle · <leader>ft focus · <leader>gf find file in tree. Tree-local: l open · h close dir · v vsplit · t new tab.
Flash
folke/flash.nvim
s jump · S treesitter select · r remote flash · R treesitter search · <C-s> toggle in search.
Telescope extensions: fzf-native, ui-select.
🧠 LSP, Completion & Snippets
Plugin
Source
Notes
nvim-lspconfig
neovim/nvim-lspconfig
Core LSP client configuration.
Mason
williamboman/mason.nvim
LSP/DAP/linter/formatter installer GUI.
mason-lspconfig
williamboman/mason-lspconfig.nvim
Bridges Mason ↔ lspconfig.
nvim-cmp
hrsh7th/nvim-cmp
Autocompletion engine. Sources: cmp-nvim-lsp, cmp-buffer, cmp-path, cmp_luasnip. Config in lua/config/cmp_setup.lua.
LuaSnip
L3MON4D3/LuaSnip
Snippet engine with friendly-snippets (VS Code-style snippets).
Autopairs
windwp/nvim-autopairs
Auto-close brackets/quotes. Loads on InsertEnter.
Plugin
Source
Details
Conform
stevearc/conform.nvim
Format-on-save (500ms timeout). <leader>cf to manually format. Formatters: stylua (Lua), isort+black (Python), prettier (JS/HTML/CSS/JSON/YAML/Markdown), shfmt (Bash).
nvim-lint
mfussenegger/nvim-lint
Async linting on BufEnter/BufWritePost/InsertLeave. <leader>ll to trigger manually. Linters: pylint (Python), eslint_d (JS/TS).
Plugin
Source
Features
nvim-treesitter
nvim-treesitter/nvim-treesitter
AST-based highlighting, indentation, incremental selection (<C-space>/<BS>), and expression-based folding.
treesitter-textobjects
nvim-treesitter/nvim-treesitter-textobjects
Select: af/if function · ac/ic class · ab/ib block · al/il loop · aa/ia argument · ai/ii conditional · a/ comment. Move: ]m/[m function · ]]/[[ class · ]b/[b block · ]a/[a argument. Swap: <leader>sn/<leader>sp swap arguments. Repeatable with ; and ,.
Installed parsers: lua, python, c, cpp, html, css, javascript, typescript, json, yaml, toml, markdown, bash, dockerfile, vim, vimdoc, query, and more via auto_install.
Plugin
Source
Key Bindings
Gitsigns
lewis6991/gitsigns.nvim
]h/[h next/prev hunk · <leader>hs stage hunk · <leader>hr reset hunk · <leader>hS stage buffer · <leader>hu undo stage · <leader>hp preview · <leader>hb blame line · <leader>tb toggle line blame · <leader>hd diff. Text object: ih select hunk.
Neogit
NeogitOrg/neogit
<leader>gg open Neogit · <leader>gd open Diffview. Deps: plenary, diffview.nvim, telescope.
Plugin
Source
Notes
Distant
chipsenkbeil/distant.nvim (v0.3)
Edit remote files and run programs over SSH.
Remote SSH
inhesrom/remote-ssh.nvim
Full remote dev with LSP forwarding (pylsp, clangd). Includes telescope-remote-buffer for searching remote buffers. Auto-save with 3s debounce.
Remote SSHFS
nosduco/remote-sshfs.nvim
Mount remote filesystems via SSHFS. Reads ~/.ssh/config. Mount point: ~/.sshfs/. Auto-unmounts on exit. Telescope extension included.
📓 Data Science (Jupyter Notebooks)
Plugin
Source
Notes
Molten
benlubas/molten-nvim (v1.x)
Interactive Jupyter kernel execution. Image rendering via image.nvim (Kitty backend). Keymaps under <localleader>m: mi init · md deinit · ml eval line · mr re-eval cell · mv eval visual · mx delete output · mh hide output · ms enter output.
Luarocks
vhyrro/luarocks.nvim
Manages Lua rocks (magick, dkjson) required by image.nvim.
image.nvim
3rd/image.nvim
Renders images/plots inline in the terminal (Kitty protocol + magick rock).
Jupytext
goerz/jupytext.nvim (v0.2.0)
Converts .ipynb notebooks to plain-text scripts for seamless editing.
Plugin
Source
Notes
render-markdown
MeanderingProgrammer/render-markdown.nvim
In-buffer markdown rendering with styled code blocks (full style, block width, thin borders). Supports markdown, quarto, rmd, vimwiki.
markdown-preview
iamcco/markdown-preview.nvim
Live browser preview. <leader>mp to toggle. Auto-closes on buffer switch.