Lazy Setup
I recently wrote some of this up for some slides, so I'm going to slurp that info into here. I suggested starting with an empty T383838init.lua and doing the following:
T282828
mkdir -p ~/.config/nvim/
cat > ~/.config/nvim/init.lua << Ta5d6ff"EOF"
-- Install lazy Tff7b72for plugins
Tffa657local Te6edf3lazypath Tff7b72= vim.fn.stdpathTff7b72(Ta5d6ff"data"Tff7b72) .. Ta5d6ff"/lazy/lazy.nvim"
Tff7b72if not vim.loop.fs_statTff7b72(lazypathTff7b72) Tff7b72then
vim.fn.systemTff7b72(Tff7b72{
Ta5d6ff"git",
Ta5d6ff"clone",
Ta5d6ff"--filter=blob:none",
Ta5d6ff"https://github.com/folke/lazy.nvim.git",
Ta5d6ff"--branch=stable", -- latest stable release
lazypath,
Tff7b72}Tff7b72)
end
vim.opt.rtp:prependTff7b72(lazypathTff7b72)
Te6edf3plugins Tff7b72= Tff7b72{Tff7b72}
Te6edf3lazy_opts Tff7b72= Tff7b72{Tff7b72}
requireTff7b72(Ta5d6ff"lazy"Tff7b72).setupTff7b72(plugins, lazy_optsTff7b72)
EOF
I provided the following explanation:
T282828
T8b949e-- Install lazy for plugins
Tff7b72local Te6edf3lazypath Tff7b72= Te6edf3vimTb4b4b4.Te6edf3fnTb4b4b4.Td2a8ffstdpathTb4b4b4(Ta5d6ff"Ta5d6ffdataTa5d6ff"Tb4b4b4) Tff7b72.. Ta5d6ff"Ta5d6ff/lazy/lazy.nvimTa5d6ff" T8b949e-- (1)
Tff7b72if Tff7b72not Te6edf3vimTb4b4b4.Te6edf3loopTb4b4b4.Td2a8fffs_statTb4b4b4(Te6edf3lazypathTb4b4b4) Tff7b72then
Te6edf3vimTb4b4b4.Te6edf3fnTb4b4b4.Td2a8ffsystemTb4b4b4({ T8b949e-- (2)
Ta5d6ff"Ta5d6ffgitTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6ffcloneTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6ff--filter=blob:noneTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6ffhttps://github.com/folke/lazy.nvim.gitTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6ff--branch=stableTa5d6ff"Tb4b4b4, T8b949e-- latest stable release
Te6edf3lazypathTb4b4b4,
Tb4b4b4})
Tff7b72end
Te6edf3vimTb4b4b4.Te6edf3optTb4b4b4.Te6edf3rtpTb4b4b4:Td2a8ffprependTb4b4b4(Te6edf3lazypathTb4b4b4) T8b949e-- (3)
Te6edf3plugins Tff7b72= Tb4b4b4{} T8b949e-- (4)
Te6edf3lazy_opts Tff7b72= Tb4b4b4{} T8b949e-- (4)
Tffa657requireTb4b4b4(Ta5d6ff"Ta5d6fflazyTa5d6ff"Tb4b4b4).Td2a8ffsetupTb4b4b4(Te6edf3pluginsTb4b4b4, Te6edf3lazy_optsTb4b4b4) T8b949e-- (5)
1. compute a path for storing plugin data
2. clone the lazy plugin to that directory
3. stick that path at the front of the run-time path (T383838rtp)
4. for later we will set up options here
5. load it and call setup
Tags: nvim
Tags
Navigation
Backlinks
created: 2025-01-10
updated: 2025-01-11 18:43:09
(re)generated: 2026-07-17