Migrate Neovim plugins from Packer to lazy.nvim - #17
Open
akan72 wants to merge 22 commits into
Open
Conversation
88 tasks
akan72
force-pushed
the
akan72/nvim-lazy-migration
branch
from
August 22, 2026 19:29
43b19ca to
bad8a46
Compare
akan72
force-pushed
the
akan72/nvim-lazy-migration
branch
from
August 22, 2026 19:36
bad8a46 to
9f56cde
Compare
akan72
force-pushed
the
akan72/nvim-lazy-migration
branch
from
August 22, 2026 19:42
9f56cde to
3c9308f
Compare
- Remove dead config bare-repo alias (symlink approach is used, not bare repo) - Remove 10 unused Mercurial (hg) aliases - Fix docker_rmi_dangling quoting (inner single quotes broke the alias) - Replace dead postgresql@14 PATH with version-agnostic $(brew --prefix postgresql@17)/bin - Remove dead sops PATH (~/Downloads/sops-3.7.2, no longer in Brewfile) - Remove hardcoded Python 3.11 framework PATH - Fix gdm/gdnm aliases: master -> main - Remove 'export TERM=xterm-256color' (let the terminal set terminfo) - Remove duplicate NVM init block (also in zshrc) - Remove duplicate cargo/env source (also in zshrc) - Remove EDITOR export (zshrc owns it with SSH-aware logic)
…conflicts - Stop sourcing ~/.bashrc from zshrc (bash-specific syntax can break under zsh); inline the shared aliases/exports directly (extracted to shared.sh in follow-up) - Remove the oh-my-zsh git plugin (custom git aliases shadow every alias it provides) - Resolve set -o vi vs bindkey -e: drop 'set -o vi' from bashrc so zsh uses emacs line editing consistently (was silently overridden anyway) - Resolve brew node vs nvm: remove brew "node" from Brewfile so nvm manages Node versions (per-project .nvmrc), matching the active setup
- Extract shared aliases, exports, and PATH into shared.sh (single source of truth) - Source shared.sh (~/.shared.sh) from both bashrc and zshrc instead of sourcing bashrc from zshrc - Consolidate all static PATH entries (Homebrew, Postgres, yarn, bun, ~/.local/bin) into one block in shared.sh with a _prepend_path dedup helper, preventing PATH from ballooning in nested shells (e.g. tmux) - Symlink shared.sh -> ~/.shared.sh in assimilate.sh
- Replace Packer bootstrap with lazy.nvim bootstrap pinned to v11.17.5
(self-installs on first launch)
- Convert all use{} specs to lazy {} specs: run -> build, requires -> dependencies
- Set mapleader before lazy.setup so lazy 'keys' specs bind correctly
- Add priority = 1000 + lazy = false to the gruvbox colorscheme
- Remove the BufWritePost PackerCompile autocmd
- Lazy-load: telescope (keys + :Telescope), fugitive (:Git/:G + <leader>gs),
markdown-preview (ft = markdown)
- Fix nvim-treesitter ensure_installed: 'help' -> 'vimdoc' (parser renamed)
- Delete nvim/coc-settings.json (unused; config uses lsp-zero + Mason)
- Remove nvim/plugin/ from .gitignore (Packer artifact dir; lazy doesn't use it)
- assimilate.sh: drop the packer clone + PackerSync; lazy self-bootstraps and we
trigger a headless 'Lazy\! sync' instead
Notes:
- lsp.lua already used 'ts_ls' (not 'tsserver'), so no rename was needed there.
- Kept the vim.tbl_flatten shim in init.lua: the still-pinned old plugin
versions (e.g. telescope 0.1.1) reference it; remove only after unpinning.
- lazy-lock.json is generated on first interactive launch — run nvim, let lazy
install, verify (:Lazy), then commit the lockfile.
Generated by the headless Lazy! sync in assimilate.sh; commits match the pins in plugins.lua and lock the plugins that only pin a branch (LuaSnip, nvim-cmp, mason, Comment.nvim, ...).
akan72
force-pushed
the
akan72/nvim-lazy-migration
branch
from
August 22, 2026 19:46
3c9308f to
07b07a3
Compare
akan72
force-pushed
the
akan72/nvim-lazy-migration
branch
from
August 22, 2026 19:53
4a93906 to
01b5f9c
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
lazy-lock.json.Test Plan
PackerSynctoLazy! restore, preserving the committed lock state.lazy-lock.jsonunchanged.bash -n assimilate.shandgit diff --check.