Skip to content

Latest commit

 

History

62 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Nuclear Theme Registry

The official index of community themes for Nuclear.

What is this?

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.

For users

You don't need to interact with this repository. Browse and install themes directly from within Nuclear under Preferences > Themes > Store.

For theme creators

Want to add your theme to the registry?

  1. Create your theme file. See the Nuclear theming docs for the theme format
  2. Fork this repository
  3. Add your theme as a JSON file in the v2/themes/ directory. The filename becomes the theme ID (e.g. v2/themes/my-theme.json has ID my-theme)
  4. Open a PR. CI will validate your theme file and check that the index can be regenerated

On merge, v2/themes.json is automatically regenerated by CI. Don't edit v2/themes.json by hand.

About themes/ and themes.json

themes/ and themes.json are the version 1 theme registry, read by Nuclear 1.47 and older. That registry is now no longer open to new contributions. All new themes go in v2/themes/ and must be created in the v2 format.

Theme file format

{
  "version": 2,
  "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)",
    "foreground": "oklch(0.15 0.03 330)",

    "muted": "oklch(0.9 0.02 350)",
    "muted-foreground": "oklch(0.4 0.02 330)",

    "card": "oklch(0.98 0.01 350)",
    "card-foreground": "oklch(0.15 0.03 330)",

    "popover": "oklch(0.98 0.01 350)",
    "popover-foreground": "oklch(0.15 0.03 330)",

    "input": "oklch(1 0 0)",
    "input-foreground": "oklch(0.15 0.03 330)",

    "primary": "oklch(0.8 0.12 350)",
    "primary-foreground": "oklch(0.15 0.03 330)"
  },
  "dark": {
    "background": "oklch(0.15 0.03 330)",
    "foreground": "oklch(0.95 0.02 350)",

    "muted": "oklch(0.2 0.03 330)",
    "muted-foreground": "oklch(0.75 0.03 340)",

    "card": "oklch(0.22 0.03 330)",
    "card-foreground": "oklch(0.95 0.02 350)",

    "popover": "oklch(0.22 0.03 330)",
    "popover-foreground": "oklch(0.95 0.02 350)",

    "input": "oklch(0.12 0.02 330)",
    "input-foreground": "oklch(0.95 0.02 350)",

    "primary": "oklch(0.7 0.15 350)",
    "primary-foreground": "oklch(0.1 0.02 330)"
  }
}

Every surface has a matching -foreground color for text drawn on top of it: background, muted, card, popover, input, primary, and each of the seven accent-* colors. Set both halves of every pair you use. Anything you leave out falls back to Nuclear's default theme, which is pink.

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. Variable names ending in -gradient, plus wallpaper, are also available. See the advanced themes docs for the full list of available variables.

Filename rules

  • Lowercase, alphanumeric, hyphens only (e.g. my-theme.json)
  • Must be at least 2 characters
  • Must be unique within its registry (themes/ or v2/themes/)

License

AGPL-3.0 - see LICENSE

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages