chaivim
π΅ easily configurable neovim system with solid defaults and a cozy editor experience.
β¨ Features
Lazy plugin management
chaivim uses lazy.nvim to manage plugins.
integrated plugins
- π telescope
- π² treesitter
π requirements
- Neovim >= 0.8.0 (needs to be built with LuaJIT)
- git >= 2.19.0 (for partial clones support)
- a Nerd Font (optional)
π¦ installation
chaivim can be installed manually or through the installer:
curl -fsSL https://github.com/CrispyBaccoon/chaivim/raw/mega/utils/installer/install.sh | sh
manual install
-- init.lua
local rootpath = vim.fn.stdpath("data") .. "/core"
local chaipath = rootpath .. "/chai"
if not vim.loop.fs_stat(chaipath) then
vim.system({
"git",
"clone",
"--filter=blob:none",
"https://github.com/crispybaccoon/chaivim.git",
chaipath,
}):wait()
end
vim.opt.rtp:prepend(chaipath)
π usage
-- init.lua
require 'core'.setup {
colorscheme = 'evergarden',
transparent_background = false,
modules = {
core = {
{
'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 'core'.setup 'custom'
to load a custom configuration from lua/custom/init.lua
:
-- init.lua
require 'core'.setup 'custom'
-- lua/custom/init.lua
return {
colorscheme = 'evergarden',
modules = {
core = {
{ 'options' },
{ 'base' },
},
}
}
all config fields can be overwritten after setup()
:
core.config.colorscheme = 'tokyonight'
βοΈ config modules
view example configurations for modules here.