Personal Neovim config.
Tested with Neovim 0.12.0-dev (September 16, 2025).
- Use this config:
nvim(when placed at~/.config/nvim). - Safe sandbox:
NVIM_APPNAME=nvim-dev nvim. - First run:
:Lazy sync→:checkhealth→:Mason. - Headless check:
NVIM_APPNAME=nvim-dev nvim --headless '+qall'. - Format repo:
stylua init.lua lua/ lsp/.
- Neovim 0.12+ and a Nerd Font.
- Optional CLIs:
lazygit,make(fortelescope-fzf-native),codex,silicon. - Formatters:
stylua,ruff,google-java-format,clang-format,mdformat,ktlint,fixjson. - Linters:
luacheck,ruff,checkstyle,cpplint,ktlint,jsonlint.
- Lua:
lua-language-server - Markdown:
marksman - Kotlin:
kotlin-lsp - Python:
pyrefly
Install via Mason when available, or with your system package manager.
init.lua
lsp/ # <lang>_ls.lua settings
lua/
config/lazy.lua
keymaps.lua, autocommands.lua, diagnostics.lua, lsp_config.lua
plugins/ # one topic per file (incl. codeflow/ formatting|linting|snapshot)
snippets/ # LuaSnip snippets per language
- Leader:
<Space>; windows:Ctrl-h/j/k/l; tabs:<leader>nt/<leader>tc. - Files (netrw):
\toggle. Clipboard:<leader>y/<leader>Y/<leader>ya. - Movement:
j/k/Grecenter. Surround:s[,s(,s". - Terminal:
<leader>te(new),<leader>tx(codex). - Format:
<leader>f(Conform). Diagnostics list:<leader>q. - Colorscheme toggle:
<leader>bg(expectsunokaiandshine).
LSP (buffer‑local, capability‑gated): gd, gD, gr, gi, gtt, K, <leader>ca, <leader>rn, <leader>cl, <leader>th, <leader>li, <leader>lr.
LuaSnip: expand <C-k>, jump <C-l>/<C-j>, next choice <C-e>, list <C-s>.
Telescope: <leader>sf files, <leader>sg grep, <leader>sw word, <leader>sd diagnostics, <leader>sc colorscheme, <leader>sn config.
Snapshots (nvim-silicon): visual <leader>cs → ~/Pictures/Screenshots/.
folke/lazy.nvim- Built‑in LSP completion (Neovim 0.12) +
L3MON4D3/LuaSnip nvim-telescope/telescope.nvim(+telescope-fzf-native,telescope-ui-select)nvim-treesitter/nvim-treesittermason-org/mason.nvimstevearc/conform.nvim,mfussenegger/nvim-lintkdheepak/lazygit.nvimmichaelrommel/nvim-silicontpope/vim-sleuthlervag/vimtex
- Colorscheme error: install
unokai/shineor changevim.cmd.colorschemeinlua/keymaps.lua. - FZF native missing: ensure
makeexists. - No LSP: confirm servers on PATH and filetype matches; check
:Mason. - Startup errors: run the headless check above.
Inspired by Kickstart.nvim; adapted for my workflow.