-
Notifications
You must be signed in to change notification settings - Fork 0
Themes
English · Русский
A theme recolors both the terminal palette and the syntax highlighting inside the kittens. Two ship with familiar: ghostty (the default — Ghostty's dark palette) and darcula (the official JetBrains scheme).
The same review frame in both (ghostty is the default):
| ghostty | darcula |
|---|---|
![]() |
![]() |
familiar enable --all --theme darcula # terminal + kittens
familiar enable --kittens --theme darcula # kittens onlyWithout --terminal/--all only the kittens are recolored — familiar never
touches your terminal look unless you ask for it.
To switch, run enable again with another --theme: the config is rewritten in
full, so nothing of the previous theme is left behind. --theme ghostty brings
back the default.
Terminal and tab colors are picked up by a config reload (Cmd+Ctrl+,), but the
highlighting inside the kittens is driven by the FAMILIAR_THEME environment
variable, which kitty hands to the kitten process on startup — that one needs a
kitty restart. familiar status shows what is active.
A theme is two data files named after it — no Python. Say you want nord:
-
config/look/nord.conf— the terminal side:foreground,background,cursor,selection_background,color0…color15, and the tab colors if you want them. It is included afterghostty.confandtabs.conf, so it only needs the keys it actually changes. -
config/palette/nord.conf— the kitten side: syntax highlighting and diff backgrounds, onerole valueper line; a value is either a 256-color number or#rrggbb(rendered as truecolor). Any role you leave out keeps the default (ghostty) color.palette/darcula.confshows the full list of roles.
There is no list to update: both the --theme flag and the kittens discover
themes by scanning config/palette/ (two independent scans — the CLI must not
import the kitten package — so a test asserts they agree).
Then familiar enable --all --theme nord. The terminal picks the colors up on a
config reload; the kittens read FAMILIAR_THEME at startup, so they need kitty
restarted.
English
Русский

