Migrate Neovim plugins from Packer to lazy.nvim#17
Open
akan72 wants to merge 1 commit into
Open
Conversation
- 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.
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
Branch 5: migrate Neovim plugin management from Packer → lazy.nvim.
use{}specs to lazy{}specs:run→build,requires→dependenciesmapleaderbeforelazy.setupso lazykeysspecs bind correctlypriority = 1000(+lazy = false) to the gruvbox colorschemeBufWritePostPackerCompile autocmdkeys+:Telescope), fugitive (:Git/:G+<leader>gs), markdown-preview (ft = markdown)nvim-treesitterensure_installed:"help"→"vimdoc"(parser renamed)nvim/coc-settings.json(unused — config uses lsp-zero + Mason)nvim/plugin/from.gitignore(Packer artifact dir)assimilate.sh: drop the packer clone +PackerSync; lazy self-bootstraps and we trigger a headlessLazy! syncNotes / deviations
lsp.luaalready usedts_ls(nottsserver), so the planned rename was a no-op.vim.tbl_flattenshim ininit.lua. The plan lists removing it, but the still-pinned old plugin versions (e.g. telescope0.1.1) referencevim.tbl_flatten, which is gone in nvim 0.11+. Removing the shim now would break them — it should be removed only after unpinning to newer versions (a later plan step). The shim is a no-op when unused, so keeping it is strictly safer.lazy-lock.jsonis not committed yet — it's generated on the first interactive launch. After merging: open nvim, let lazy install, run:Lazyto verify, then commit the lockfile.Why & alternatives (from explanations.txt — Branch 5)
lazy-lock.json(transitive pinning), lazy loading, built-in UI.coc-settings.jsonvim.tbl_flattenshim"help"→"vimdoc"parsertsserver→ts_lsts_ls— no change needed.nvim/plugin/from .gitignore<C-p>, fugitive on:Git, etc.