The official index of community themes for Nuclear.
This registry lists community-created themes for Nuclear. When you browse the Theme Store in Nuclear, the player fetches this registry and displays available themes. Installing a theme downloads the theme file directly from this repository.
You don't need to interact with this repository. Browse and install themes directly from within Nuclear under Preferences > Themes > Store.
Want to add your theme to the registry?
- Create your theme file. See the Nuclear theming docs for the theme format
- Fork this repository
- Add your theme as a JSON file in the
themes/directory. The filename becomes the theme ID (e.g.themes/my-theme.jsonhas IDmy-theme) - Open a PR. CI will validate your theme file and check that the index can be regenerated
On merge, themes.json is automatically regenerated by CI. Don't edit themes.json by hand.
{
"version": 1,
"name": "My Theme",
"author": "your-username",
"description": "A short description of your theme",
"tags": ["dark", "warm"],
"palette": [
"oklch(0.95 0.02 350)",
"oklch(0.15 0.03 330)",
"oklch(0.8 0.12 350)",
"oklch(0.6 0.15 330)"
],
"vars": {
"background": "oklch(0.95 0.02 350)",
"primary": "oklch(0.8 0.12 350)"
},
"dark": {
"background": "oklch(0.15 0.03 330)",
"primary": "oklch(0.7 0.15 350)"
}
}Required fields: version, name, author, description, tags, palette
palette is an array of exactly 4 colors used for the preview swatches in the theme store. Pick colors that represent the feel of your theme.
tags are lowercase, alphanumeric with hyphens. Up to 10.
vars and dark contain CSS variable overrides (without the -- prefix). You only need to include the variables you want to change. See the advanced themes docs for the full list of available variables.
- Lowercase, alphanumeric, hyphens only (e.g.
my-theme.json) - Must be at least 2 characters
- Must be unique across the registry
AGPL-3.0 - see LICENSE