This directory contains full configuration examples demonstrating different ways to integrate and utilize pack.nvim.
pack.nvimrequires Neovim 0.12+ and delegates all installing, updating, version-pinning and lockfile handling to the nativevim.pack. It layers lazy-loading,config/opts, build hooks and a dashboard on top. Plugins are installed to native'sstdpath('data')/site/pack/core/opt(fixed).
- 01_basic_bootstrap.lua: The minimal, zero-to-hero snippet you can copy/paste into your
init.luato letpack.nvimbootstrap itself and install your first plugins. - 02_lazy_loading.lua: A comprehensive guide to delaying plugin loads to achieve lightning-fast startup times using commands, events, filetypes, and keymaps.
- 03_advanced_hooks.lua: Examples of declaring dependencies, running post-install build scripts (like
make, fired offPackChanged), and installing from non-GitHub sources (absolute/file:///git@). - 04_adopting_vim_pack.lua: Demonstrates how
pack.nvimhijacks existing nativevim.pack.addcalls -- adding lazy-loading, config and a dashboard while native still does the git work. - 05_custom_ui.lua: Shows how to override the dashboard aesthetics with custom borders and icons.
- 06_native_vim_pack_bootstrap.lua: Explains how to leverage Neovim's built-in
vim.pack.addto natively fetch and installpack.nvimitself. - 07_all_features_spec.lua: An exhaustive reference file demonstrating every possible configuration option and feature you can define in a plugin spec.
- 08_modular_configuration.lua: Shows how to use
{ import = "plugins" }to automatically load plugin specs by just returning tables from your files. - 09_migration_from_lazy.lua: A migration guide for users coming from
lazy.nvim. - 10_migration_from_packer.lua: A migration guide for users coming from
packer.nvim. - 11_migration_imperative.lua: A migration guide for users transitioning from imperative
vim.pack.addscripts to declarative{ import = "plugins" }specs.