/chaivim

:tea: easily configurable neovim system with solid defaults and a cozy editor experience.

Primary LanguageLuaApache License 2.0Apache-2.0

chaivim

🍵 easily configurable neovim system with solid defaults and a cozy editor experience.

dash

telescope__config

✨ Features

Lazy plugin management

chaivim uses lazy.nvim to manage plugins.

integrated plugins

🔒 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.

📷 screenshots

nix-config