Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/viktorbusk/lunarchad

A configured version of LunarVim heavily inspired by the look and feel of NvChad.
https://github.com/viktorbusk/lunarchad

config configuration lsp lua lunarvim lvim neovim nvchad nvim vim

Last synced: 1 day ago
JSON representation

A configured version of LunarVim heavily inspired by the look and feel of NvChad.

Awesome Lists containing this project

README

        

LunarChad


License

Neovim Minimum Version

Made with Lua

>The goal of this project is to combine both
[LunarVim](https://github.com/LunarVim/LunarVim) and [NvChad](https://github.com/NvChad/NvChad), getting the best parts from each.

* [LunarVim](https://github.com/LunarVim/LunarVim) has a great default configuration, with LSP + project support, right out of the box.

* [NvChad](https://github.com/NvChad/NvChad) looks stunning and comes with a variety of built in themes to choose from.

**LunarChad** is a [LunarVim](https://github.com/LunarVim/LunarVim) configuration stylized to look like [NvChad](https://github.com/NvChad/NvChad).

## Showcase

##### [NvChad theme: onedark](https://github.com/NvChad/nvim-base16.lua/blob/master/lua/hl_themes/onedark.lua)

##### [NvChad theme: doom-chad](https://github.com/NvChad/nvim-base16.lua/blob/master/lua/hl_themes/doom-chad.lua)

##### [LunarVim theme: onedarker](https://github.com/LunarVim/onedarker.nvim)

## Installation
**LunarChad** is a configured version of [LunarVim](https://github.com/LunarVim/LunarVim#install-in-one-command). For more information please read the LunarVim documentation at [lunarvim.org](https://www.lunarvim.org/). Make sure you have the release version of Neovim (0.6).
```sh
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.
```sh
mv ~/.config/lvim/ ~/.config/lvim.old/
```
Clone **LunarChad** to your lvim configuration folder located at `~/.config/lvim/`.

```sh
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`.

## Configuration

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):

```lua
-- ~/.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.

### Essential Files
* 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](https://www.lunarvim.org/) or [nvchad.github.io](https://nvchad.github.io/).

## Author

**Viktor Busk**

* Github: [@ViktorBusk](https://github.com/ViktorBusk)

## Acknowledgments

* LunarVim: https://github.com/LunarVim/LunarVim
* NvChad: https://github.com/NvChad/NvChad

## License
This project is licensed under the GNU General Public License v3.0.



License