Skip to content
8thlightPublic

About

8th Light themes for Kitty, Neovim, and JetBrains IDEs.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

8th Light themes

Application themes built from the 8th Light brand color palette and the colors used on the 8thlight.com website. Hex values are cross-checked against their RGB values.

Palette

Screenshots

Screenshots were taken with Cousine Nerd Font Mono. The themes do not set a font. The Claude Code and Codex CLI images are generated; see Agent screenshots.

JetBrains IDEs
8th Light Black in RustRover
Black
8th Light Charcoal in RustRover
Charcoal
8th Light Dark Gray in RustRover
Dark Gray
8th Light Mid Gray in RustRover
Mid Gray
8th Light Light Gray in RustRover
Light Gray
8th Light Lighter Gray in RustRover
Lighter Gray
8th Light Lightest Gray in RustRover
Lightest Gray
8th Light White in RustRover
White
Kitty
8th Light Black in Kitty
Black
8th Light Charcoal in Kitty
Charcoal
8th Light Dark Gray in Kitty
Dark Gray
8th Light Mid Gray in Kitty
Mid Gray
8th Light Light Gray in Kitty
Light Gray
8th Light Lighter Gray in Kitty
Lighter Gray
8th Light Lightest Gray in Kitty
Lightest Gray
8th Light White in Kitty
White
Neovim and Neovide
8th Light Black in Neovim
Black
8th Light Charcoal in Neovim
Charcoal
8th Light Dark Gray in Neovim
Dark Gray
8th Light Mid Gray in Neovim
Mid Gray
8th Light Light Gray in Neovim
Light Gray
8th Light Lighter Gray in Neovim
Lighter Gray
8th Light Lightest Gray in Neovim
Lightest Gray
8th Light White in Neovim
White
Claude Code
8th Light Black in Claude Code
Black
8th Light Charcoal in Claude Code
Charcoal
8th Light Dark Gray in Claude Code
Dark Gray
8th Light Mid Gray in Claude Code
Mid Gray
8th Light Light Gray in Claude Code
Light Gray
8th Light Lighter Gray in Claude Code
Lighter Gray
8th Light Lightest Gray in Claude Code
Lightest Gray
8th Light White in Claude Code
White
Codex CLI
8th Light Black in Codex CLI
Black
8th Light Charcoal in Codex CLI
Charcoal
8th Light Dark Gray in Codex CLI
Dark Gray
8th Light Mid Gray in Codex CLI
Mid Gray
8th Light Light Gray in Codex CLI
Light Gray
8th Light Lighter Gray in Codex CLI
Lighter Gray
8th Light Lightest Gray in Codex CLI
Lightest Gray
8th Light White in Codex CLI
White

Install

Each application installs on its own, so use only the ones you need.

Application Simplest install Needs a clone
Kitty Download one .conf file No
Neovim and Neovide Add the plugin with lazy.nvim No
JetBrains IDEs Download the plugin from the latest release No
Claude Code Download a theme JSON into ~/.claude/themes/ No
Claude Powerline Download a preset JSON and select it with --config No
Codex CLI Download a .tmTheme file into ~/.codex/themes/ No
Codex app Import a .codex-theme share string in Appearance settings No

Kitty

Download the variant you want into Kitty's themes directory:

theme=8th-Light-Charcoal
mkdir -p ~/.config/kitty/themes
curl -fsSL -o ~/.config/kitty/themes/$theme.conf \
  https://raw.githubusercontent.com/8thlight/8L-themes/main/extras/kitty/$theme.conf

Then include it in ~/.config/kitty/kitty.conf:

include themes/8th-Light-Charcoal.conf

Reload the configuration with Ctrl+Shift+F5 (Cmd+Ctrl+, on macOS), or restart Kitty. The available names are listed under Variants.

Neovim and Neovide

The repository root is a Neovim plugin. With lazy.nvim, add it to your plugin list:

{ "8thlight/8L-themes" }

Then set the theme in init.lua:

vim.cmd.colorscheme("8th-Light-Charcoal")

lazy.nvim loads the plugin when :colorscheme first needs it. Without a plugin manager, install from a clone and run just link-nvim, then set the theme in init.lua as above.

JetBrains IDEs

Download 8th-light-themes-<version>.jar from the latest release. In the IDE, open Settings | Plugins | gear menu | Install Plugin from Disk, select the JAR, and restart the IDE. Then select a complete theme under Settings | Appearance & Behavior | Appearance. Each UI theme selects its matching editor scheme; the schemes can also be chosen independently under Settings | Editor | Color Scheme.

The Plugins settings page with the gear menu open and Install Plugin from Disk highlighted

To build the plugin from a clone instead, run:

nix develop -c just link-jetbrains

This links the build into every detected IDE. Without Nix, build the JAR by hand and install it through Install Plugin from Disk. This needs zip:

repository="$PWD"
mkdir -p "$repository/build/jetbrains"
(
  cd extras/jetbrains
  zip -q -FS -r "$repository/build/jetbrains/8th-light-themes.jar" \
    META-INF images schemes themes
)

Select build/jetbrains/8th-light-themes.jar in the file picker, then restart the IDE and select a theme as above.

Claude Code

Download a variant into Claude Code's theme directory:

theme=8th-Light-Charcoal
mkdir -p ~/.claude/themes
curl -fsSL -o ~/.claude/themes/$theme.json \
  https://raw.githubusercontent.com/8thlight/8L-themes/main/extras/claude/$theme.json

Run /theme in Claude Code and choose 8th Light Charcoal. If this is your first custom theme and the themes directory did not exist when Claude started, restart Claude once. Subsequent edits reload automatically. With a clone, run just link-claude to install all eight variants.

These are native Claude Code interface themes, including accents, input borders, message surfaces, diffs, usage meters, and subagent colors. Select the matching Kitty theme for the terminal background; Claude does not set that background. Custom themes require a Claude Code version with the custom /theme picker (validated with 2.1.296). See the Claude theme documentation.

Claude Powerline

The status bar is a separate integration for @owloops/claude-powerline. Download the matching preset:

theme=8th-Light-Charcoal
mkdir -p ~/.claude/powerline/themes
curl -fsSL -o ~/.claude/powerline/themes/$theme.json \
  https://raw.githubusercontent.com/8thlight/8L-themes/main/extras/claude-powerline/$theme.json

Merge this entry into ~/.claude/settings.json, keeping your other settings:

{
  "statusLine": {
    "type": "command",
    "command": "npx -y @owloops/claude-powerline@latest --style=powerline --theme=custom --config=\"$HOME/.claude/powerline/themes/8th-Light-Charcoal.json\""
  }
}

With a clone, just link-claude-powerline installs all eight presets. The explicit --config selects the preset even in projects that have their own Powerline configuration. The presets use truecolor, cover all 19 color roles, and retain Powerline's default segments and behavior. To keep custom segment or budget settings, merge the preset's theme, colors, and color/style display keys into your existing Powerline config and point --config at that file. Validated with Claude Powerline 1.32.5.

Codex CLI

Download a TextMate theme into Codex's theme directory:

theme=8th-Light-Charcoal
mkdir -p "${CODEX_HOME:-$HOME/.codex}/themes"
curl -fsSL -o "${CODEX_HOME:-$HOME/.codex}/themes/$theme.tmTheme" \
  https://raw.githubusercontent.com/8thlight/8L-themes/main/extras/codex-cli/$theme.tmTheme

Run /theme in Codex and select 8th-Light-Charcoal (custom). Codex saves the selection as theme = "8th-Light-Charcoal" in the [tui] section of its config.toml. With a clone, run just link-codex-cli to install all eight variants.

These themes color syntax in code blocks and diffs. The surrounding interface uses the terminal's colors, so select the matching Kitty theme as well. Validated with Codex CLI 0.162.1. See the Codex CLI theme documentation.

Codex app

Each variant includes a share string in extras/codex-app/ with the .codex-theme extension. Download one and copy its entire contents, starting with codex-theme-v1::

curl -fsSL https://raw.githubusercontent.com/8thlight/8L-themes/main/extras/codex-app/8th-Light-Charcoal.codex-theme

In Settings | Appearance, choose Import in the matching dark or light theme section and paste the string. Black, Charcoal, and Dark Gray are dark themes; the other five variants are light themes. On macOS, from a clone:

just codex-app-theme Charcoal | pbcopy

The adjacent .json files contain the readable import payload. App themes configure the background, text, accent, semantic colors, contrast, and opaque windows. The app importer accepts built-in syntax presets only, so these imports use the Codex syntax preset; custom CLI .tmTheme files cannot be imported into the app. Fonts use the app defaults. See the app appearance documentation.

Install from a clone

Clone the repository and keep it in a stable location. The helper commands create symlinks back to the checkout.

git clone https://github.com/8thlight/8L-themes.git
cd 8L-themes

The helpers need macOS or Linux with Bash and just. With Nix and flakes enabled, the development shell supplies just, zip, and the tools just check uses. With direnv and its Nix integration, approve the environment once; otherwise prefix each command with nix develop -c:

direnv allow
just link

just link installs the Kitty, Neovim, JetBrains, Claude Code, Claude Powerline, and Codex CLI files. JetBrains must have an existing configuration directory. Use the individual just link-<application> recipes if you only need some of them. The Codex app uses its Appearance importer separately. Run just --list to see all available helper commands. The helpers refuse to replace regular files. Installing presets does not change your active theme or settings.

Without just, link the files by hand. For Kitty:

kitty_themes="${KITTY_CONFIG_DIRECTORY:-${XDG_CONFIG_HOME:-$HOME/.config}/kitty}/themes"
mkdir -p "$kitty_themes"
ln -s "$PWD"/extras/kitty/*.conf "$kitty_themes/"

For Neovim and Neovide:

nvim_packages="${NVIM_DATA_DIRECTORY:-${XDG_DATA_HOME:-$HOME/.local/share}/nvim}/site/pack/8th-light/start"
mkdir -p "$nvim_packages"
ln -s "$PWD" "$nvim_packages/8th-light.nvim"

The direct ln commands intentionally fail when a destination already exists rather than replacing it.

By default, the JetBrains installer detects IDE configuration directories under ~/Library/Application Support/JetBrains on macOS and either $XDG_CONFIG_HOME/JetBrains or ~/.config/JetBrains on Linux. Set JETBRAINS_CONFIG_DIRECTORY to install into one specific configuration directory instead. The other helpers honor KITTY_CONFIG_DIRECTORY, NVIM_DATA_DIRECTORY, XDG_CONFIG_HOME, and XDG_DATA_HOME where applicable. The agent helpers honor CLAUDE_CONFIG_DIR and CODEX_HOME.

Update and uninstall

Installed by Update Uninstall
Kitty download Download the file again Delete the file and the include line
lazy.nvim :Lazy update Remove the plugin spec
JetBrains release Install the newer JAR over the old one Uninstall it under Settings | Plugins
Clone and helpers git pull, then just link just unlink
Claude or Codex CLI download Download the file again Select another theme, then delete the file
Claude Powerline preset Download the file again Change the status command, then delete the preset
Codex app import Import the updated share string Select another appearance preset or restore your colors

Kitty and Neovim installs from a clone update through their symlinks, so git pull is enough for them. JetBrains needs just link-jetbrains again to rebuild the plugin, and the IDE needs a restart. Run just unlink before moving or deleting the checkout. It removes only symlinks that point into this checkout.

Before just unlink, select another Claude/Codex CLI theme and remove or change any Powerline command that points at these presets. The unlink helpers remove only links belonging to this checkout; they do not edit your settings or undo a Codex app import.

Variants

Eight neutral-background variants are available in every application:

Variant Kitty and Neovim name JetBrains name
Black 8th-Light-Black 8th Light Black
Charcoal 8th-Light-Charcoal 8th Light Charcoal
Dark Gray 8th-Light-Dark-Gray 8th Light Dark Gray
Mid Gray 8th-Light-Mid-Gray 8th Light Mid Gray
Light Gray 8th-Light-Light-Gray 8th Light Light Gray
Lighter Gray 8th-Light-Lighter-Gray 8th Light Lighter Gray
Lightest Gray 8th-Light-Lightest-Gray 8th Light Lightest Gray
White 8th-Light-White 8th Light White

Notes

Agent themes

The four agent integrations use the existing Neovim palette and variant roles as their source. To regenerate the checked-in files after changing that palette:

just generate-agent-themes

Brand colors are preserved where they provide sufficient text contrast. Foreground accents are shaded toward black or white when necessary to reach 4.5:1 contrast on the relevant background. Claude diffs use tinted backgrounds to keep the foreground readable. Mid Gray follows the restrained light syntax mapping used by the Neovim variant. No theme chooses a font.

Neovim colorscheme

The colorscheme sets Neovim UI, syntax, Tree-sitter, diagnostics, diffs, Git signs, embedded terminal colors, and Neovide's background and cursor-effect colors.

JetBrains plugin

The resource-only plugin in extras/jetbrains/ provides complete UI themes and matching editor schemes in RustRover, IntelliJ IDEA, WebStorm, PyCharm, and other JetBrains IDEs. The UI themes cover application controls, tabs, tool windows, menus, and branded background artwork. The editor schemes cover shared editor colors, language-default syntax, console and diff output, diagnostics, and Rust semantic highlighting.

The plugin targets JetBrains Platform 2025.1 (since-build 251) and newer.

Fonts and behavioral preferences such as folding, formatting, and title-bar paths remain IDE settings and are deliberately not changed by a theme.

The empty editor uses a fixed-size, bottom-centered 8th Light lockup on a transparent canvas. It is naturally clipped in narrow panes and revealed in wide panes without painting behind ordinary editors, tool windows, or IDE chrome. Dark and light themes use white and charcoal lockups respectively.

Agent screenshots

The Claude Code and Codex CLI images come from the real programs, run in a terminal emulator whose colors are read from the matching Kitty theme. On macOS with Go and logged-in claude and codex, with the themes linked:

just agent-screenshots

Requirements, how the screens are driven, and known caveats are in scripts/agent-screenshots/. The images show the installed program versions, so review them before committing.

Palette

The neutral base is used for the terminal background, foreground, borders, and tabs. The 8thlight.com website's spectrum names determine the ANSI mapping: dark blue is ANSI blue, PMS 285 blue is ANSI cyan, purple is ANSI magenta, and violet is bright magenta. The website's blue-255 is used for bright blue.

Role Hex RGB
True black #000000 0, 0, 0
Charcoal #141414 20, 20, 20
Dark gray #3C3C3C 60, 60, 60
Mid gray #808080 128, 128, 128
Website gray 350 #A6A6A6 166, 166, 166
Light gray #DEDEDE 222, 222, 222
Lighter gray #EBEBEB 235, 235, 235
Lightest gray #F4F4F4 244, 244, 244
White #FFFFFF 255, 255, 255
Red (PMS 1788) #F32735 243, 39, 53
Orange (PMS 151) #FF8300 255, 131, 0
Yellow (PMS 109) #FFD100 255, 209, 0
Green (PMS 375) #93D500 147, 213, 0
Blue (PMS 285) / website cyan #0071CE 0, 113, 206
Dark blue (PMS 301) / website blue #004987 0, 73, 135
Purple (PMS 248) / website indigo #A81B8D 168, 27, 141
Website violet #5938FF 89, 56, 255
Website blue-255 #0000FF 0, 0, 255

Layout

Development

nix develop -c just check

The check validates XML, JSON, and Lua syntax, confirms every variant exists in each application and in the screenshots, verifies the JetBrains theme references, compares Kitty keys across variants, and matches the README palette against the Neovim palette. It also checks that generated agent themes are current, validates their consumer formats and text contrast, and exercises installation/uninstallation with user files, foreign symlinks, and paths containing spaces.

Releasing

Tag a commit on main with a version such as v0.1.0 and push the tag. The release workflow runs the checks, builds the JetBrains plugin JAR with that version, and attaches it to a GitHub release.

License

Copyright © 2026 8th Light, LLC. Licensed under the MIT License. See LICENSE.

8th Light® and the 8th Light logo are trademarks of 8th Light, LLC and are not covered by the MIT License.

8th Light

About

8th Light themes for Kitty, Neovim, and JetBrains IDEs.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages