Skip to content

hooxoo/lume

 
 

Repository files navigation

Lume icon

Lume

A muted, elegant dark color theme with warm undertones and a soft lavender identity.
Built for Neovim, VS Code, terminals, tmux, and CLI tools.

Lume theme screenshot

Features

  • Single source of truth — every color lives in palette.json, all outputs are generated
  • WCAG AA contrast — validated at build time, never ships unreadable text
  • 14 Neovim plugin integrations — Telescope, cmp, gitsigns, mini.nvim, noice, trouble, flash, and more
  • Treesitter + LSP semantic tokens — full highlighting with 200+ groups
  • 11 terminal/CLI targets — Kitty, Alacritty, WezTerm, Ghostty, iTerm2, foot, Windows Terminal, tmux, fzf, bat, delta, lazygit
  • Transparent mode — use your terminal's background
  • Configurable italics — toggle italics for comments and keywords

Palette


Lavender
#b8a0e0
keywords, primary

Rose
#d0a0b8
operators, flow

Peach
#e8b4a0
types, constants

Sage
#a0d4a8
strings, additions

Sky
#8cc0e0
functions, methods

Teal
#88c0b8
special, escape

Ember
#c49080
errors, deletions

Honey
#c4b080
warnings, search
Backgrounds & foregrounds
Swatch Name Hex Role
Crust #0a0814 Deepest background
Mantle #0e0c18 Status bars, borders
Base #12101e Editor background
Surface 0 #1e1a2c Floats, selections
Surface 1 #262236 Active UI elements
Surface 2 #302c42 Scrollbars, subtle UI
Swatch Name Hex Role
Text #d8d0e4 Primary text
Subtext #b0a8c4 Secondary text
Overlay #8a8498 UI elements
Comment #7e7896 Comments

Installation

Neovim

lazy.nvim

{
  "danfry1/lume",
  lazy = false,
  priority = 1000,
  config = function()
    require("lume").setup()
    vim.cmd("colorscheme lume")
  end,
}
packer.nvim
use {
  "danfry1/lume",
  config = function()
    require("lume").setup()
    vim.cmd("colorscheme lume")
  end,
}

Options

All options are optional — defaults work out of the box.

require("lume").setup({
  transparent = false, -- set to true to use your terminal's background
  italics = true,      -- set to false to disable italic comments/keywords
})

Plugin support

Highlight groups are included for these plugins (loaded automatically, no config needed):

Plugin Plugin Plugin
telescope.nvim nvim-cmp gitsigns.nvim
mini.nvim noice.nvim nvim-notify
trouble.nvim flash.nvim neo-tree.nvim
oil.nvim lazy.nvim which-key.nvim
indent-blankline.nvim dashboard-nvim / alpha-nvim

VS Code

Search for "Lume" in the Extensions Marketplace, or install from the command line:

code --install-extension DanielFry.lume-color-theme
Install from source
cd editors/vscode
npx @vscode/vsce package
code --install-extension lume-0.1.0.vsix

Terminals

Prefer not to run curl? You can also clone the repo and copy the files from terminals/ manually.

Kitty
curl -o ~/.config/kitty/lume.conf https://raw.githubusercontent.com/danfry1/lume/main/terminals/kitty/lume.conf

Then add to ~/.config/kitty/kitty.conf:

include lume.conf
Alacritty
curl -o ~/.config/alacritty/lume.toml https://raw.githubusercontent.com/danfry1/lume/main/terminals/alacritty/lume.toml

Then add to ~/.config/alacritty/alacritty.toml:

import = ["~/.config/alacritty/lume.toml"]
WezTerm
mkdir -p ~/.config/wezterm/colors
curl -o ~/.config/wezterm/colors/lume.toml https://raw.githubusercontent.com/danfry1/lume/main/terminals/wezterm/lume.toml

Then set in ~/.config/wezterm/wezterm.lua:

config.color_scheme = "lume"
iTerm2
curl -o /tmp/lume.itermcolors https://raw.githubusercontent.com/danfry1/lume/main/terminals/iterm2/lume.itermcolors
open /tmp/lume.itermcolors

Then go to iTerm2 → Settings → Profiles → Colors → Color Presets… and select Lume.

Ghostty
mkdir -p ~/.config/ghostty/themes
curl -o ~/.config/ghostty/themes/lume https://raw.githubusercontent.com/danfry1/lume/main/terminals/ghostty/lume

Then add to ~/.config/ghostty/config:

theme = lume
foot
curl -o ~/.config/foot/lume.ini https://raw.githubusercontent.com/danfry1/lume/main/terminals/foot/lume.ini

Then add to ~/.config/foot/foot.ini:

include=~/.config/foot/lume.ini
Windows Terminal
curl -o "$env:LOCALAPPDATA\lume.json" https://raw.githubusercontent.com/danfry1/lume/main/terminals/windows-terminal/lume.json

Then copy the contents of lume.json into the schemes array in your Windows Terminal settings.json, and set "colorScheme": "Lume" on the desired profile.


Tmux

Via TPM (recommended)

# ~/.tmux.conf
set -g @plugin 'danfry1/lume'
run '~/.tmux/plugins/tpm/tpm'
Manual
# In ~/.tmux.conf
run-shell /path/to/lume/tmux/lume.tmux

CLI Tools

Prefer not to run curl? You can also clone the repo and copy the files from cli/ manually.

fzf
curl -o ~/.config/fzf/lume.sh https://raw.githubusercontent.com/danfry1/lume/main/cli/fzf/lume.sh

Then source it in your shell rc:

# ~/.bashrc or ~/.zshrc
source ~/.config/fzf/lume.sh
bat
curl -o "$(bat --config-dir)/themes/lume.tmTheme" https://raw.githubusercontent.com/danfry1/lume/main/cli/bat/lume.tmTheme
bat cache --build

Then set the theme in ~/.config/bat/config:

--theme="Lume"
delta
curl -s https://raw.githubusercontent.com/danfry1/lume/main/cli/delta/lume.gitconfig >> ~/.gitconfig

Then set delta as your Git pager in ~/.gitconfig:

[core]
  pager = delta
lazygit
mkdir -p ~/.config/lazygit
curl -o ~/.config/lazygit/lume.yml https://raw.githubusercontent.com/danfry1/lume/main/cli/lazygit/lume.yml

Then reference it in your lazygit config.yml:

gui:
  theme:
    activeBorderColor:
      - '#b8a0e0'
      - bold

Contributing

palette.json is the single source of truth for all colors. All theme files are generated from it.

bun install          # install dependencies
bun run generate     # regenerate all outputs from palette.json
bun test             # run tests
bun run validate     # check WCAG AA contrast ratios
bun run check        # verify generated files are up to date
bun run typecheck    # typecheck TypeScript

Please run bun run generate and commit the results before opening a PR.

License

MIT

About

A muted, elegant dark color theme with warm undertones and a soft lavender identity

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Mustache 43.2%
  • Lua 40.3%
  • TypeScript 15.5%
  • Shell 1.0%