Skip to content

✨ feat(dev): Neovim with LazyVim, palette colors and nvim as the editor - #5

Merged
anthonyportugal merged 5 commits into
mainfrom
feat/neovim-lazyvim
Nov 13, 2026
Merged

anthonyportugal merged 5 commits into
mainfrom
feat/neovim-lazyvim

Conversation

@anthonyportugal

Copy link
Copy Markdown
Owner

Adds Neovim with LazyVim to the opt-in dev layer, colored from the active palette, and makes it the editor when installed. Merge without squash to keep the commits.

Changes

  • LazyVim (nvim stow package) – the official starter bootstrap plus extras for the stack: TypeScript/React, Vue, Angular, Astro, Tailwind, Go, Rust, JSON, YAML, TOML, Docker, Markdown, Prettier, ESLint, DAP and the test runner. The dev layer adds neovim, tree-sitter-cli, gcc, ripgrep, fd and unzip. lazy-lock.json stays local to ~/.config/nvim, outside the repo.
  • Palette colors – a new shared template, themes/templates/nvim/palette.lua, is read from the state path by colors/dotfiles.lua, which builds the highlights with mini.base16 and refines them with the palette roles. Without a rendered palette, Neovim uses tokyonight. A reload.d/nvim hook re-applies the colorscheme in running instances on dotfiles-theme set.
  • Editor – with nvim installed, the dev zsh file replaces only core's micro defaults for EDITOR/VISUAL; an editor the user exported is kept. GIT_EDITOR follows the result.
  • cli no longer claims Neovim in its description and prune list.

Review notes

  • Breaking changes: none. Everything is in the opt-in dev layer; without it micro stays the editor.
  • colors/dotfiles.lua is loaded against all 50 palettes under a LuaJIT stub of vim. The tests skip it, with a visible SKIP, when luajit is absent.
  • Not exercised in CI or locally: a real Neovim start (plugin install, Mason servers). It needs a manual check after installing the dev packages.

Testing

  • tests/smoke.sh and shellcheck -x pass locally on the final commit.
  • New behavior was checked RED → GREEN in tests/optional-layers-smoke.sh and tests/theme-apps-smoke.sh. Mutations (colors_name, socket check, tokyonight fallback, manifest entries) fail the tests.

@anthonyportugal
anthonyportugal merged commit 73c7305 into main Nov 13, 2026
2 checks passed
@anthonyportugal
anthonyportugal deleted the feat/neovim-lazyvim branch November 13, 2026 21:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant