A personal Neovim configuration built on a kickstart.nvim foundation, with lazy.nvim for plugin management, no Mason, and a rose-pine moon colorscheme.
Run the installer on Arch or Ubuntu 22.04+:
./install.shThis detects your distro and installs all required system packages: LSPs, formatters, Go tools, npm/Node, Lua tooling, and markdown/mermaid rendering dependencies. For details, see the root CLAUDE.md.
On first launch, lazy.nvim bootstraps itself and installs all plugins automatically.
init.lua ← entry point
lua/
scripts/
setup.lua ← globals (mapleader, nerd font)
lazy.lua ← lazy.nvim bootstrap + inline plugins
autocmd.lua ← autocommands
keymaps.lua ← global keymaps
opt.lua ← vim options
plugins/
*.lua ← one plugin spec per file
utils.lua ← shared helpers (OSC 7, etc.)
install.sh ← cross-distro installer
install/ ← its layers: common.sh, manifest.sh (pins), arch.sh, ubuntu.sh, shared.sh
.stylua.toml ← Lua formatter config
init.lua loads scripts in this sequence:
setup.lua— setsmapleader/maplocalleaderto<Space>and enables Nerd Font iconslazy.lua— bootstraps lazy.nvim, registers inline plugins, importslua/plugins/autocmd.lua— registers all autocommandskeymaps.lua— registers global keymapsopt.lua— sets vim options
Setup must run before lazy so that mapleader is set before any plugin keymaps are registered.
rose-pine moon variant with transparency, bold/italic styles, and a custom palette override (rose = '#000000'). All DAP, gitsigns, and diagnostic highlights are mapped to rose-pine palette tokens for visual consistency.
Lua files are formatted with stylua. CI checks formatting on PRs.
stylua --check . # verify
stylua . # fixConfig (.stylua.toml): 160-column, 2-space indent, single quotes, no call parentheses.
lua/scripts/README.md— options, keymaps, and autocmds referencelua/plugins/README.md— every plugin, its purpose, and all keymaps