Git Product home page Git Product logo

lunarchad's Introduction

LunarChad

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.

Showcase

Installation

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.

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

-- ~/.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.luaas 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 or nvchad.github.io.

Author

Viktor Busk

Acknowledgments

License

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

License

lunarchad's People

Contributors

viktorbusk avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.