Skip to content

nvim

Config lives in nvim/init.lua (entry point) + nvim/lua/keymaps.lua (keymaps) + nvim/lua/plugins/ (per-plugin modules), symlinked to ~/.config/nvim/.

Uses the built-in vim.pack package manager (requires Neovim ≥ 0.11). No external plugin manager.

File structure

nvim/
├── init.lua              # options, loads keymaps + plugins
├── nvim-pack-lock.json   # pinned plugin revisions
└── lua/
    ├── keymaps.lua       # global keymaps
    └── plugins/
        ├── colorscheme.lua # Catppuccin Mocha
        ├── git.lua         # gitsigns (inline hunks) + diffview (diff panel)
        ├── harpoon.lua     # harpoon2 — fast file navigation
        ├── lsp.lua         # language server (go-to-def, hover, diagnostics)
        ├── neogit.lua      # git UI (floating window)
        ├── neotest.lua     # test runner (pytest via uv)
        ├── noice.lua       # floating cmdline, messages, notifications
        ├── nvim-tree.lua   # file explorer sidebar
        ├── statusline.lua  # lualine statusline
        ├── telescope.lua   # fuzzy finder
        └── treesitter.lua  # syntax highlighting + folding