The Plugin Stack

The Plugin Stack

Every spec lives in its own file under lua/plugins/; lazy.nvim imports the folder. The stack, by role:

Foundation

  • lazy.nvim — plugin manager; :Lazy shows startup cost per plugin, and most of the stack loads lazily (costing nothing until used).
  • nvim-treesitter — syntax trees for highlighting, folding, and structural text objects.
  • snacks.nvim — the utility belt: dashboard, smart picker (<leader><space>), live grep (<leader>fg), zen mode, yank flash, and more.

Code intelligence

  • blink.cmp — completion (the faster successor to nvim-cmp); type vim.opt.win in a Lua file and watch documentation arrive with the candidates.
  • nvim-lspconfig + mason — server definitions and binaries, wired through native vim.lsp.enable as shown in the modern config.
  • lazydev.nvim — makes lua-language-server genuinely good inside your Neovim config.

Git

  • gitsigns.nvim — hunk signs, ]h navigation, <leader>hp preview.
  • lazygit / diffview / fugitive — covered in Git Workflow.

Comfort

  • which-key.nvim — press the leader and wait a beat: the entire keymap appears, grouped into families (find under f, git hunks under h, code under c). You never memorize the config — you browse it.
  • mini.surround / mini.splitjoin / dial.nvim / todo-comments / trouble — the long tail of daily comforts.

Exact versions of everything are pinned in the course repo’s lazy-lock.json.