Skip to main content

Themes

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 dracula from '@lumis-sh/themes/dracula';
console.log(dracula.name);
console.log(dracula.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.