My Neovim config — LazyVim plus a few customizations.
Enabled via LazyVim extras (lazyvim.json) and a custom templ plugin:
- Go —
gopls,gofumpt,goimports(lang.go) - Rust —
rustaceanvim+rust-analyzer,rustfmt(lang.rust) - TOML — (
lang.toml) - templ — treesitter parser, the
templLSP, andtempl fmton save (lua/plugins/templ.lua; thetemplbinary is used from$PATH)
lua/plugins/ide-layout.lua makes it open like an IDE / the herdr file-viewer:
a neo-tree explorer docked on the left (git status woven into the tree), the
editor filling the right, opened automatically on startup. neo-tree is the sole
explorer (snacks-explorer's netrw hijack is disabled so they don't fight).
Git: <leader>gg for lazygit (history/diffs/staging), <leader>ge for the
git-changes view in the sidebar, gitsigns in the gutter.
git clone <this repo> ~/.config/nvim
nvim # first launch bootstraps lazy.nvim and installs everythingNeeds the tree-sitter CLI on $PATH (the treesitter main branch compiles
parsers with it), plus the per-language toolchains (go, rustup, templ).