Lavi
🪻 A soft and sweet colorscheme for Neovim & more
Install / Use
/learn @b0o/LaviREADME
Lavi 🪻
A soft and sweet colorscheme
<!-- LAVI_HERO_OPEN -->Installation
Neovim
With lazy.nvim:
{
'b0o/lavi',
lazy = false,
priority = 1000,
config = function()
vim.cmd.colorscheme 'lavi'
end,
},
With Nix flakes (see Nix section for more options):
programs.neovim.plugins = [
inputs.lavi.packages.${pkgs.system}.lavi-nvim
];
Configuration
Lavi can be configured by setting vim.g.lavi_config before loading the colorscheme:
vim.g.lavi_config = {
transparent = false, -- set to true for a transparent background
}
vim.cmd.colorscheme 'lavi'
With lazy.nvim:
{
'b0o/lavi',
lazy = false,
priority = 1000,
config = function()
vim.g.lavi_config = {
transparent = true,
}
vim.cmd.colorscheme 'lavi'
end,
},
Options
| Option | Type | Default | Description |
| ------------- | ------- | ------- | ---------------------- |
| transparent | boolean | false | Transparent background |
Other Programs
<!-- LAVI_PROGRAMS_OPEN --> <details> <summary><b>Alacritty</b></summary><a href="https://github.com/alacritty/alacritty">Alacritty</a>: Cross-platform, GPU-accelerated terminal emulator
- Copy
contrib/alacritty/lavi.tomlto~/.config/alacritty/lavi.toml - Import into your Alacritty config:
general.import = [ "~/.config/alacritty/lavi.toml", ]
<a href="https://github.com/sharkdp/bat">bat</a>: A cat clone with syntax highlighting and Git integration
- Copy
contrib/textmate/lavi.tmThemeto~/.config/bat/themes/lavi.tmTheme - Rebuild bat's theme cache:
bat cache --build - Use the theme:
Or set it permanently viabat --theme=lavi file.rsBAT_THEME=laviin your environment, or add--theme="lavi"to~/.config/bat/config.
<a href="https://github.com/ClementTsang/bottom">Bottom</a>: Graphical process/system monitor for the terminal
- Copy the contents of
contrib/bottom/lavi.tomlinto your~/.config/bottom/bottom.toml
<a href="https://github.com/aristocratos/btop">Btop</a>: Resource monitor with a customizable interface
- Copy
contrib/btop/lavi.themeto~/.config/btop/themes/lavi.theme - Set
color_theme = "lavi"in your~/.config/btop/btop.confor select it from the options menu
<a href="https://github.com/savedra1/clipse">Clipse</a>: Configurable TUI clipboard manager for Unix
- Copy
contrib/clipse/lavi.jsonto~/.config/clipse/custom_theme.json - Set
"themeFile": "custom_theme.json"in your~/.config/clipse/config.json
<a href="https://github.com/AvengeMedia/DankMaterialShell">Dank Material Shell</a>: Desktop shell for wayland compositors
- Copy
contrib/dank-material-shell/lavi.jsonto~/.config/DankMaterialShell/themes/lavi.json - In Settings → Theme & Colors, select Custom and set the theme file path to the copied file
- Alternatively, set
"currentThemeName": "custom"and"customThemeFile": "/path/to/lavi.json"in~/.config/DankMaterialShell/settings.json
Nix/Home-Manager:
Requires the DMS home-manager module from the DMS flake:
# flake.nix inputs:
inputs.dms.url = "github:AvengeMedia/DankMaterialShell/stable";
# home-manager config:
imports = [
inputs.dms.homeModules.dank-material-shell
inputs.lavi.homeManagerModules.lavi
];
lavi.dank-material-shell.enable = true;
This writes the theme file to ~/.config/DankMaterialShell/themes/lavi.json and sets programs.dank-material-shell.settings to use it as the active custom theme.
<a href="https://codeberg.org/dnkl/foot">Foot</a>: Fast, lightweight Wayland terminal emulator
- Copy the contents of
contrib/foot/lavi.iniinto your~/.config/foot/foot.ini
<a href="https://github.com/ghostty-org/ghostty">Ghostty</a>: Fast, native terminal emulator with platform-native UI
- Copy
contrib/ghostty/lavi.confto~/.config/ghostty/themes/lavi.conf - Set
theme = lavi.confin your~/.config/ghostty/config
<a href="https://github.com/kovidgoyal/kitty">Kitty</a>: GPU-accelerated terminal emulator
- Copy the contents of
contrib/kitty/lavi.confinto your~/.config/kitty/themes/lavi.conf - Run
kitty +kitten themes --reload-in=all lavito set the theme
<a id="opencode-expanded"></a> <a href="https://github.com/opencode-ai/opencode">Opencode</a>: TUI for coding with LLMs from the terminal
- Copy
contrib/opencode/lavi.jsonto~/.config/opencode/themes/lavi.json - Set
{ "theme": "lavi" }in your~/.config/opencode/tui.jsoncor select it from the UI theme picker
Lavi provides a .tmTheme file at contrib/textmate/lavi.tmTheme that works with any application supporting the TextMate theme format. This includes:
- bat — see the bat section above for specific instructions
- Sublime Text — copy
lavi.tmThemeto yourPackages/User/directory, then select it from Preferences → Color Scheme - TextMate — double-click
lavi.tmThemeto install, or copy it to~/Library/Application Support/TextMate/Themes/ - VS Code — tmTheme files can be used via the TmTheme Editor extension or as a base for a color theme extension
<a href="https://github.com/wez/wezterm">Wezterm</a>: GPU-accelerated terminal emulator and multiplexer
- Copy
contrib/wezterm/lavi.tomlto~/.config/wezterm/colors/lavi.toml - Set
config.color_scheme = "lavi"in your Wezterm config
<a href="https://github.com/microsoft/terminal">Windows Terminal</a>: Modern terminal application for Windows
- Open the Windows Terminal settings (
ctrl+,) - Select Open JSON file at the bottom left corner (
ctrl+shift+,) - Copy the contents of
contrib/windows_terminal/lavi.jsoninside of theschemesarray{ "schemes": [ // paste the contents of lavi.json here ], } - Save and exit
- In the Settings panel under Profiles, select the profile you want to use the theme in, then select Appearance and choose lavi from the Color scheme dropdown
<a href="https://github.com/zellij-org/zellij">Zellij</a>: Terminal workspace and multiplexer
- Copy
contrib/zellij/lavi.kdlto~/.config/zellij/themes/lavi.kdl - Set
theme "lavi"in your~/.config/zellij/config.kdl
Nix
Lavi provides a Nix flake with multiple outputs for flexible integration.
Flake Outputs
| Output | Description |
| --------------------------------- | --------------------------------------------------------- |
| packages.<system>.lavi-nvim | Minimal Neovim plugin (runtime only, no lush dependency) |
| packages.<system>.lavi-nvim-dev | Full Neovim plugin with lush sources for customization |
| packages.<system>.lavi-themes | All theme files from contrib/ |
| lib.themes.<app> | Raw theme content as strings (e.g., lib.themes.ghostty) |
| lib.base16 | Base16 color scheme for Stylix integration |
| homeManagerModules.lavi | Home-manager module with per-app options |
Home-Manager Module
Add to your flake inputs:
inputs.lavi.url = "github:b0o/lavi";
Import and configure:
