:tea: easily configurable neovim system with solid defaults and a cozy editor experience.
chaivim uses lazy.nvim to manage plugins.
>= 0.10.0
(needs to be built with LuaJIT)>= 2.19.0
(for partial clones support)chaivim can be installed manually or through the installer:
curl -fsSL https://github.com/comfysage/chaivim/raw/mega/utils/installer/install.sh | sh
-- init.lua
local rootpath = vim.fn.stdpath("data") .. "/ch"
local chaipath = rootpath .. "/chai"
if not vim.uv.fs_stat(chaipath) then
vim.system({
"git",
"clone",
"--filter=blob:none",
"https://github.com/comfysage/chaivim.git",
chaipath,
}):wait()
end
vim.opt.rtp:prepend(chaipath)
-- init.lua
require 'ch'.setup('custom.config', 'custom.modules')
-- lua/custom/config.lua
return {
ui = {
colorscheme = 'evergarden',
transparent_background = false,
},
}
-- lua/custom/modules.lua
return {
ch = {
{
'options',
opts = {
cursorline = false,
tab_width = 2,
scrolloff = 5,
},
},
{
'dash',
opts = {
open_on_startup = true,
},
},
},
custom = {
-- your custom modules (in `lua/custom/`)
},
}
or call require 'ch'.setup 'custom'
to load a custom configuration from lua/custom/init.lua
:
-- init.lua
require 'ch'.setup 'custom'
-- lua/custom/init.lua
return {
ui = {
colorscheme = 'evergarden',
},
modules = {
ch = {
{ 'options' },
{ 'base' },
},
},
}
all config fields can be overwritten after setup()
:
ch.config.ui.colorscheme = 'tokyonight'
view example configurations for modules here.