Advanced themes

Create and use custom JSON-based themes.

Getting to your themes

Navigate to Nuclear > Preferences > Themes and look for the "Advanced themes" dropdown. Any JSON files you've added to your themes folder will show up here, ready to apply.

Your themes folder lives at:

  • Linux: ~/.local/share/com.nuclearplayer/themes

  • macOS: ~/Library/Application Support/com.nuclearplayer/themes

  • Windows: %APPDATA%/com.nuclearplayer/themes

When you select a theme, it applies instantly. If you edit the file while it's active, your changes update live in the app.

Creating your theme

  1. Create a new .json file with any name you like. Copy the template at the end of this page.

  2. Save it to your themes folder (see paths above).

  3. Select it from the Advanced themes dropdown in Nuclear.

Here's the basic structure:

{
  "version": 1,
  "name": "My Theme",
  "vars": { /* light mode overrides */ },
  "dark": { /* dark mode overrides */ }
}

Both vars and dark are optional. You only need to include the properties you want to change.

What you can customize

Colors

  • background, background-secondary, background-input

  • foreground, foreground-secondary, foreground-input

  • primary

  • border, border-input, ring

  • accent-green, accent-yellow, accent-purple, accent-blue, accent-orange, accent-cyan, accent-red

Typography

  • font-family, font-family-heading

  • font-weight-normal, font-weight-bold, font-weight-extra-bold

Custom fonts must be installed on the user's system.

Borders

  • border-width (default: 2px light, 1px dark)

Corner radii

  • radius-sm, radius-md, radius-lg

Shadows

  • shadow-color, shadow-x, shadow-y, shadow-blur

Notes

  • version must always be 1

  • Put light mode values in vars and dark mode values in dark

  • Variable names don't need the -- prefix

  • You can use hex colors (#ff0000), OKLCH (oklch(70% 0.15 30)), or any valid CSS color value

  • To reset to default, choose "Default" from the dropdown

Template

A complete template with Nuclear's default values. Copy this and change what you want.

Last updated