Overview
NvChad uses lazy.nvim for plugins management. List of default plugins.
Lazy loading
We lazy load almost 95% of the plugins, so we expect and recommend you to lazy load the plugins as well, as it's efficient in reducing startup-time.
- We don't want users making NvChad slow just because they didn't lazy load plugins they've added.
- Please read the lazy.nvim plugin specs docs to know what options are available for lazyloading etc.
- Try your best to lazy-load a plugin!
Manage plugins
All NvChad default plugins will have lazy = true
set. Therefore, if you want a plugin to be enabled on startup, change it to lazy = false
.
- plugins/anyname.lua
local plugins = {
{ "elkowar/yuck.vim" , lazy = false }, -- load a plugin at startup
-- You can use any plugin specification from lazy.nvim
{
"Pocco81/TrueZen.nvim",
cmd = { "TZAtaraxis", "TZMinimalist" },
config = function()
require "custom.configs.truezen" -- just an example path
end,
},
-- this opts will extend the default opts
{
"nvim-treesitter/nvim-treesitter",
opts = {
ensure_installed = {"html", "css", "bash"},
},
},
{
"folke/which-key.nvim",
enabled = false,
},
-- If your opts uses a function call ex: require*, then make opts spec a function
-- should return the modified default config as well
-- here we just call the default telescope config
-- And edit its mappinsg
{
"nvim-telescope/telescope.nvim",
opts = function()
local conf = require "nvchad.configs.telescope"
conf.defaults.mappings.i = {
["<C-j>"] = require("telescope.actions").move_selection_next,
["<Esc>"] = require("telescope.actions").close,
}
-- or
-- table.insert(conf.defaults.mappings.i, your table)
return conf
end,
}
}
return plugins