Themes
Themes
Use built-in Neovim themes, load custom theme JSON, or generate new themes for Lumis.
Lumis themes come from the Neovim ecosystem. You can use the built-in collection, load theme JSON yourself, or generate new themes from a colorscheme repository.
Pick a built-in theme
import frappe from '@lumis-sh/themes/catppuccin_frappe';
console.log(frappe.name);
console.log(frappe.appearance);
Load a custom theme from JSON
Custom theme JSON loading is not currently exposed by @lumis-sh/themes as a runtime helper.
Generate a theme from a Neovim colorscheme
The CLI can extract a theme directly from a Git repository.
lumis themes generate \
--url https://github.com/catppuccin/nvim \
--colorscheme catppuccin-mocha \
--output catppuccin-mocha.json
You can also pass custom setup code or mark the theme as light mode:
lumis themes generate \
--url https://github.com/projekt0n/github-nvim-theme \
--colorscheme github_light \
--appearance light \
--output github-light.json
CSS theme files
If you use htmlLinked, pair the HTML output with a stylesheet. See CSS Theme Files for import paths and runtime-specific setup.
Theme switching with CSS variables
If you want one block to support multiple themes, use the multi-theme formatter from Formatters.