These are my personal Neovim customizations. They are plugin spec overrides that drop into an existing LazyVim config — they are not a standalone Neovim distribution. Install LazyVim first, then copy these on top. (No LLM/AI plugins — this is the macOS "no LLM setup" version.)
Install with Homebrew:
brew install neovim node stylua git # editor + JS/TS runtime + lua formatter
brew install --cask font-roboto-mono-nerd-font # or any Nerd Font
npm install -g eslint_d prettier # formatters used by conform.lua
xcode-select --install # C compiler + make (LuaSnip/treesitter)- Neovim 0.10+ and a working LazyVim base config (these files extend it).
Fresh install:
git clone https://github.com/LazyVim/starter ~/.config/nvim && rm -rf ~/.config/nvim/.git - A Nerd Font in your terminal — required for the completion-menu icons
(
nvim-cmp+ lspkind) and Neo-tree/LazyVim UI glyphs. - Node.js + npm — the JS/TS toolchain Mason installs
(
typescript-language-server,eslint-lsp) plus theeslint_d/prettierformatters. - A C compiler +
make(viaxcode-select --install) — LuaSnip buildsjsregexpand treesitter parsers compile on install. - Formatters on PATH (used by
conform.lua):eslint_d/eslint,prettier(npm), andstylua(brew).
Mason auto-installs the LSP servers on first launch; run :Mason to check, and
:Lazy sync if plugins don't install automatically.
Each file has a header comment telling you exactly where it goes. In short:
| File | Destination |
|---|---|
conform.lua |
~/.config/nvim/lua/plugins/conform.lua |
editor-options.lua |
~/.config/nvim/lua/plugins/editor-options.lua |
eslint-lsp.lua |
~/.config/nvim/lua/plugins/eslint-lsp.lua |
neo-tree-show-hidden.lua |
~/.config/nvim/lua/plugins/neo-tree-show-hidden.lua |
nvim-cmp.lua |
~/.config/nvim/lua/plugins/nvim-cmp.lua |
onedarkpro.lua |
~/.config/nvim/lua/plugins/onedarkpro.lua |
typescript-tools.lua |
~/.config/nvim/lua/plugins/typescript-tools.lua |
search-highlights.lua |
~/.config/nvim/plugin/after/search-highlights.lua |
mkdir -p ~/.config/nvim/lua/plugins ~/.config/nvim/plugin/after
# then drop each file at the path shown in its header / the table aboveAnything under lua/plugins/ is auto-loaded by LazyVim. Restart Neovim; LazyVim
will sync the new plugins (:Lazy sync if it doesn't happen automatically).
- conform.lua — format-on-save via
eslint_d/eslintfor JS/TS,prettierfor json/yaml/markdown,styluafor lua. - eslint-lsp.lua — ESLint LSP for diagnostics + fix-on-save; Mason ensures the TS and ESLint language servers are installed.
- typescript-tools.lua — TypeScript/JS LSP: auto-imports, inlay hints, go-to-definition, references, rename, code actions.
- nvim-cmp.lua — autocomplete UI (LSP, snippets, buffer, path, cmdline) with LuaSnip and lspkind icons.
- onedarkpro.lua —
onedark_darkcolorscheme with a custom cursorline. - search-highlights.lua — custom Search/IncSearch/Flash highlight colors,
reapplied on
ColorScheme. - neo-tree-show-hidden.lua — show dotfiles and gitignored files in Neo-tree.
- editor-options.lua — relative line numbers +
scrolloff=16.