The goal of this project is to combine both LunarVim and NvChad, getting the best parts from each.
-
LunarVim has a great default configuration, with LSP + project support, right out of the box.
-
NvChad looks stunning and comes with a variety of built in themes to choose from.
LunarChad is a LunarVim configuration stylized to look like NvChad.
LunarChad is a configured version of LunarVim. For more information please read the LunarVim documentation at lunarvim.org. Make sure you have the release version of Neovim (0.6).
bash <(curl -s https://raw.githubusercontent.com/lunarvim/lunarvim/master/utils/installer/install.sh)
If you already have a lvim config you might want to back it up first.
mv ~/.config/lvim/ ~/.config/lvim.old/
Clone LunarChad to your lvim configuration folder located at ~/.config/lvim/
.
git clone https://github.com/ViktorBusk/LunarChad.git ~/.config/lvim/
Start LunarVim by entering lvim
inside a terminal. Install the required plugins with the command :PackerSync
.
To configure LunarChad simply change the contents of ~/.config/lvim/config.lua
. By default, this file is used to source necessary LunarChad modules. Configurations are for the most part just tweaks to LunarVims built in customization layer: lvim
. LunarChad then provides additional settings through the nested table: lvim.custom
. It mainly consists of data regarding appearance (colorscheme, bufferline, statusline etc.) and is defined in ~/.config/lvim/lua/custom/options.lua
.
Example Config (default):
-- ~/.config/lvim/lua/custom/options.lua
lvim.custom = {
tab = 2, -- tabline, swhiftwidth, tabstop
theme = "onedarker",
-- TODO: Add option to use default NvChad mappings
-- Maybe add option to provide a "chadrc" and/or "init" from an existing NvChad config
yank_highlight = false, -- Highlight after yanking text
doxygen_highlight = {
enable = false, -- Doxygen highlights is still used if treesitter is not active in the current buffer
bold_highlight = false,
},
base16 = {
-- Overrides the current theme (lvim.custom.theme)
enable = true, -- If set to "false", "lvim.custom.theme" will be used instead.
italic_comments = false,
document_highlight = {
enable = false,
bold_highlight = false,
},
cursor_line = false,
theme = "onedark" -- https://github.com/NvChad/nvim-base16.lua/tree/master/lua/hl_themes
},
statusline = {
diagnostics = { enable = true },
lsp_progress = { enable = true },
hidden = { "help", "dashboard", "NvimTree", "terminal" },
shortline = true, -- Show short statusline on small screens
shown = {},
style = "default" -- default, round , slant , block , arrow
},
bufferline = {
close = {
next = "cycle", -- How to retrieve the next buffer
quit = true -- Exit when last buffer is deleted
},
}
}
-- General
lvim.log.level = "warn"
-- Termnial
lvim.builtin.terminal.active = true
lvim.builtin.terminal.direction = "horizontal"
lvim.builtin.terminal.size = 15
lvim.builtin.terminal.shade_terminals = true
-- Change the timeoutlen for whichkey to show
vim.opt.timeoutlen = 400
-- Show/hide eye candy
vim.opt.showmode = true
vim.opt.ruler = false
vim.opt.cmdheight = 1
If you want to create a custom palette for a colorscheme, create a lua file and place it in ~/.config/lvim/lua/colors/palettes/
. Make sure the file and the colorscheme have the same name and all required colors are defined. You can use ~/.config/lvim/lua/colors/palettes/default.lua
as reference.
- General Options:
~/.config/lvim/lua/custom/options.lua
- LSP:
~/.config/lvim/lua/custom/lsp.lua
- Keybindings:
~/.config/lvim/lua/custom/keymappings.lua
Please feel free to edit or make any changes you deem necessary. For more information visit lunarvim.org or nvchad.github.io.
Viktor Busk
- Github: @ViktorBusk
- LunarVim: https://github.com/LunarVim/LunarVim
- NvChad: https://github.com/NvChad/NvChad
This project is licensed under the GNU General Public License v3.0.