feat(theme): bring back cyberdream across terminal tools

This commit is contained in:
root committed 2026-11-06 09:02:37 -05:00
1 parent 3336dbed9b
commit 1d7246867b
12 files changed
+69 -112

No files matched your search

+1 -1
View File
@@ -68,4 +68,4 @@ The default is `desktop`. See [Configuration](chezmoi/config.md) and [Ignore rul
## Theme
The terminal and agent palette is **CherryBlossom** (background `#222120`, foreground `#dcc1b7`, accent `#cf716f`). Ghostty selects its `cherry-blossom` theme, tmux colors its tab bar, popups, and command palette with it, atuin selects `cherry-blossom`, television selects `cherry-blossom-transparent` (no background, so the terminal's shows through), lazygit and lazydocker use its border and selection colors, and omp selects its `cherry-blossom` dark theme. nvim, bat, and yazi still select **cyberdream**; fish ships a cyberdream theme but does not select it. kitty takes its colors from the active Omarchy theme. The koda and ii-auto variants are also shipped for ghostty, kitty, and yazi. The font is **Victor Mono Nerd Font**.
The terminal and agent palette is **cyberdream** ([cyberdream.nvim](https://github.com/scottmckendry/cyberdream.nvim); background `#16181a`, foreground `#ffffff`, accent `#5ea1ff`). Ghostty selects its `cyberdream` theme, tmux colors its tab bar, popups, and command palette with it, atuin selects `cyberdream`, television selects `cyberdream-transparent` (no background, so the terminal's shows through), lazygit and lazydocker use its border and selection colors, Starship selects its `cyberdream` palette, omp selects its `cyberdream` dark theme, and nvim, bat, and yazi select it too; fish ships a cyberdream theme but does not select it. kitty takes its colors from the active Omarchy theme (also cyberdream). The CherryBlossom variants stay shipped but unselected for ghostty, atuin, television, yazi, and omp, as do the koda and ii-auto variants for ghostty, kitty, and yazi. The font is **Victor Mono Nerd Font**.
+18 -18
View File
@@ -1,6 +1,6 @@
# atuin
Shell history search with a daemon, directory-scoped up-arrow, tmux popups, a CherryBlossom theme, and the atuin AI inline command generator.
Shell history search with a daemon, directory-scoped up-arrow, tmux popups, a cyberdream theme, and the atuin AI inline command generator.
[atuin](https://atuin.sh) replaces shell history search in fish, bash, and zsh. It also provides `atuin ai inline`, a natural-language command generator that the fish config binds to keys.
@@ -78,7 +78,7 @@ bash and zsh have no AI binding.
| `daemon.enabled` | `true` | Uses the background daemon |
| `daemon.autostart` | `true` | atuin starts and manages the daemon itself |
| `pty_proxy.enabled` | `false` | `atuin init` does not re-exec the shell inside `atuin pty-proxy` |
| `theme.name` | `"cherry-blossom"` | Loads `themes/cherry-blossom.toml` |
| `theme.name` | `"cyberdream"` | Loads `themes/cyberdream.toml` |
| `tmux.enabled` | `true` | Search opens in a tmux popup when inside tmux (tmux 3.2+) |
| `tmux.width` / `tmux.height` | `"80%"` / `"60%"` | Popup size |
| `ai.enabled` | `true` | Enables `atuin ai` |
@@ -106,23 +106,23 @@ No sync server, key, or session is configured in the repo. atuin keeps its encry
## Theme
`themes/cherry-blossom.toml` defines the selected theme, from the CherryBlossom palette shared with Ghostty, tmux, lazygit, and omp:
`themes/cyberdream.toml` defines the selected theme, from the cyberdream palette shared with [fish](fish.md#theme), [Starship](starship.md#palette), Ghostty, tmux, lazygit, and omp:
| Key | Color |
| --- | --- |
| `AlertInfo` | `#a78266` |
| `AlertWarn` | `#ae825f` |
| `AlertError` | `#bf615d` |
| `Annotation` | `#a6958f` |
| `Guidance` | `#8f9aa0` |
| `Important` | `#cf716f` |
| `Title` | `#cf716f` |
| `Muted` | `#a6958f` |
| `SyntaxCommand` | `#cf716f` |
| `SyntaxFlag` | `#a78266` |
| `SyntaxString` | `#a6b084` |
| `SyntaxVariable` | `#c17e4a` |
| `SyntaxOperator` | `#ad6756` |
| `SyntaxComment` | `#a6958f` |
| `AlertInfo` | `#5ef1ff` |
| `AlertWarn` | `#f1ff5e` |
| `AlertError` | `#ff6e5e` |
| `Annotation` | `#7b8496` |
| `Guidance` | `#5ea1ff` |
| `Important` | `#ff5ef1` |
| `Title` | `#5ef1ff` |
| `Muted` | `#7b8496` |
| `SyntaxCommand` | `#5ea1ff` |
| `SyntaxFlag` | `#5ef1ff` |
| `SyntaxString` | `#5eff6c` |
| `SyntaxVariable` | `#ff5ef1` |
| `SyntaxOperator` | `#ff5ea0` |
| `SyntaxComment` | `#7b8496` |
`themes/cyberdream.toml` is still shipped (the palette shared with [fish](fish.md#theme) and [Starship](starship.md#palette)) but not selected.
`themes/cherry-blossom.toml` (the CherryBlossom palette) is still shipped but not selected.
+4 -5
View File
@@ -14,7 +14,7 @@ It is the default everywhere a desktop picks a terminal: the first entry of `~/.
`~/.config/ghostty` is a `git-repo` external checkout, not chezmoi-managed contents; edit it in place and commit and push from there.
`config` holds every setting, ending in `theme = noctalia`. That theme file is generated, not shipped (the ghostty repo's `.gitignore` excludes it), so without its generator ghostty finds no such theme; select `theme = cherry-blossom` instead on this setup.
`config` holds every setting, ending in `theme = cyberdream`.
## Options
@@ -46,7 +46,7 @@ Every Ghostty window gets its own tmux session; no two windows mirror the same o
Before starting tmux, the script puts mise's shims on `PATH`. A server started from a desktop-launched Ghostty therefore finds the tools tmux plugins shell out to: bun for the palette, fzf, and zoxide.
The window title is the tmux session name (`set-titles-string '#S'`), so the compositor's window groups list one entry per session. tmux's tab bar keeps its own fixed cyberdream colors, so it does not match Ghostty's background exactly.
The window title is the tmux session name (`set-titles-string '#S'`), so the compositor's window groups list one entry per session. tmux's tab bar uses its own fixed cyberdream colors, the same `#16181a` background as Ghostty's `cyberdream` theme.
Closing a window only detaches its session; the shells keep running in the tmux server. In tmux, `detach-on-destroy no-detached` means killing a session moves the window to a *detached* session, or closes the window if there is none, so it never lands on another window's session. Across reboots, tmux-continuum saves every 10 minutes. The first Ghostty window starts the server, and that triggers continuum's restore. See [tmux](tmux.md#persistence).
@@ -90,8 +90,7 @@ Closing a window only detaches its session; the shells keep running in the tmux
| Theme | Notes |
| --- | --- |
| `noctalia` | Generated, not shipped: the file is written from the active palette (currently the custom `CherryBlossom` palette: background `#222120`, foreground `#dcc1b7`, salmon cursor `#cf716f`) and excluded by the ghostty repo's `.gitignore`. It exists only on machines that generate it. |
| `cherry-blossom` | Static copy of the `CherryBlossom` palette (same colors as the generated `noctalia` theme). Always present; set `theme = cherry-blossom` to use it. |
| `cyberdream` | Upstream `extras/ghostty/cyberdream` from [cyberdream.nvim](https://github.com/scottmckendry/cyberdream.nvim), the palette shared with tmux, nvim, yazi, and television. |
| `cherry-blossom` | Static copy of the `CherryBlossom` palette (background `#222120`, foreground `#dcc1b7`, salmon cursor `#cf716f`). Not selected; set `theme = cherry-blossom` to use it. |
| `cyberdream` | Selected. Upstream `extras/ghostty/cyberdream` from [cyberdream.nvim](https://github.com/scottmckendry/cyberdream.nvim), the palette shared with tmux, nvim, yazi, and television. |
| `ii-auto` | Auto-generated by the ii wallpaper theming system; not meant to be edited. |
| `koda-dark` / `koda-light` | Koda palettes with `bold-is-bright = true`. |
+3 -3
View File
@@ -67,7 +67,7 @@ These settings are what [yazi](../tools/yazi.md) needs inside tmux. `allow-passt
The status line copies kitty's tab bar (`tab_bar_style powerline`, `tab_powerline_style angled`). The current window is an accent-tinted plate with accent text. The other windows use `bg=default` and muted text, so the terminal's transparency shows through them, as with kitty's `tab_bar_background none`. That only works while every `window-status-*-style` stays `default`: inside a tab format, `bg=default` means that style's background, not the terminal's. `tmux.conf` therefore sets all of them explicitly, because a reload never clears a value a removed plugin left behind. As in kitty, a solid arrow leads into the current window and a thin one sits between two inactive windows. The arrow into the current window is a plain `U+E0B0` in `@tab-bg`, the window background. Ghostty draws that glyph as a built-in sprite that fills the whole cell even with `adjust-cell-height`. The session name is an accent pill on the far left (`status-justify left`); its arrow points straight into the first tab, so the pill and tabs read as one chain of arrows. The right side shows `COPY`/`PREFIX`/`ZOOM` flags and the hostname.
Colors are the user options `@tab-bg` (window background: the notch arrow and the session pill's text), `@tab-fg`, `@tab-active-bg`, and `@tab-active-fg`. They are a fixed CherryBlossom palette (the same one Ghostty's `cherry-blossom` theme uses), so the bar looks identical on every machine and does not depend on Omarchy. Active background = accent mixed 20% into background, the same derivation as the kitty tab bar: `#453130` from accent `#cf716f` over `#222120`.
Colors are the user options `@tab-bg` (window background: the notch arrow and the session pill's text), `@tab-fg`, `@tab-active-bg`, and `@tab-active-fg`. They are a fixed cyberdream palette (the same one Ghostty's `cyberdream` theme uses), so the bar looks identical on every machine and does not depend on Omarchy. Active background = accent mixed 20% into background, the same derivation as the kitty tab bar: `#243348` from accent `#5ea1ff` over `#16181a`.
Popups (`prefix g`, `prefix t`, `prefix ?`, tmux-palette) set `popup-style` to `bg=@tab-bg` and `popup-border-style` to `@tab-active-fg` on that background with rounded lines. The explicit background matters under Ghostty: `background-opacity` only applies to cells with the default background, so a default-bg popup shows the pane behind it through the blur.
@@ -103,9 +103,9 @@ Labels longer than 27 characters end in `…`. The icon comes from tmux-nerd-fon
| `palettes/tasks.json` | The **Project Tasks** palette (`prefix t`, Ghostty `ctrl+shift+p` / `ctrl+shift+space`), fed by [`pj-palette`](../shell/scripts.md#pj-palette): running background tasks under Running, then `bun install`, `bun run dev`, `uv sync`, `uv run python`, `make`, `go run .`, `cargo run`, `docker compose up` as Quick items when the project has them, then every task `pj` finds, grouped by tool. One-off tasks run in a full-width split along the bottom (25% of the window) in their directory; `ctrl-c` stops a running task, and once it has exited, `enter` or `ctrl-c` closes the pane. Dev servers (`dev`/`start`/`serve`/`watch`/`preview` tasks) and `docker compose up` run in a background session `<session>:<tool-and-command>` shown in a popup: `q` hides it with the task still running, `ctrl-c` asks `Stop <session>? (y/n)` and on `y` stops the task and closes it |
| `palettes/omp.json` | The **omp** palette, fed by [`pj-palette --omp`](../shell/scripts.md#pj-palette): this tmux session's `<session>:omp` (open it, or start it when not running), every other tmux session's running omp, and a Quit item per session. Running agents have a green icon and show `open` or `hidden` |
| `palettes/sessions.json` | The **Sessions** palette (`prefix o`, Ghostty `ctrl+shift+o`), fed by [`tmux-sessions`](../shell/scripts.md#tmux-sessions): Sessions (the last one first, attached ones green), Windows, Zoxide, Config, Rename, Kill. Its `query` item lists the typed text last; `enter` on it runs `tmux-sessions --new <text>` |
| `hidden.json` | Hides the built-in **Switch Theme...** item, and with it the Appearance section: the palette stays on the fixed CherryBlossom `theme.json` |
| `hidden.json` | Hides the built-in **Switch Theme...** item, and with it the Appearance section: the palette stays on the fixed cyberdream `theme.json` |
| `shortcuts.json` | Ghostty `ctrl+shift` chords shown next to the built-in items they trigger (New Window → `Ctrl+Shift+T`, …) |
| `theme.json` | CherryBlossom: bg `#222120`, panel `#2e2c2b`, selected `#453130` (the active-tab plate), muted `#a6958f`, accent `#cf716f` |
| `theme.json` | cyberdream: bg `#16181a`, panel `#1e2124`, selected `#243348` (the active-tab plate), fg `#ffffff`, muted `#7b8496`, accent `#5ea1ff` |
### Persistence
+9 -9
View File
@@ -1,6 +1,6 @@
# Lazydocker
Lazydocker with rounded borders and the CherryBlossom border and selection colors shared with lazygit.
Lazydocker with rounded borders and the cyberdream border and selection colors shared with lazygit.
[Lazydocker](https://github.com/jesseduffield/lazydocker) is a terminal UI for Docker containers, images, volumes, and compose projects. The config only restyles it to match [lazygit](lazygit.md).
@@ -19,22 +19,22 @@ gui:
border: rounded
theme:
activeBorderColor:
- "#cf716f"
- "#5ef1ff"
inactiveBorderColor:
- "#a6958f"
- "#7b8496"
selectedLineBgColor:
- "#453130"
- "#3c4048"
optionsTextColor:
- "#a6958f"
- "#3c4048"
```
| Key | Value | Palette |
| --- | --- | --- |
| `gui.border` | `rounded` | |
| `activeBorderColor` | `#cf716f` | CherryBlossom primary |
| `inactiveBorderColor` | `#a6958f` | CherryBlossom on-surface-variant |
| `selectedLineBgColor` | `#453130` | CherryBlossom selection (primary 20% over surface) |
| `optionsTextColor` | `#a6958f` | CherryBlossom on-surface-variant |
| `activeBorderColor` | `#5ef1ff` | cyberdream cyan |
| `inactiveBorderColor` | `#7b8496` | cyberdream grey |
| `selectedLineBgColor` | `#3c4048` | cyberdream selection |
| `optionsTextColor` | `#3c4048` | cyberdream selection |
Everything else (keybindings, commands, log settings) is left at lazydocker's defaults.
+13 -13
View File
@@ -1,8 +1,8 @@
# Lazygit
Lazygit with CherryBlossom colors, delta diffs, a full keybinding map, and custom commands wired to gh and helper scripts.
Lazygit with cyberdream colors, delta diffs, a full keybinding map, and custom commands wired to gh and helper scripts.
[Lazygit](https://github.com/jesseduffield/lazygit) is a terminal UI for git. The config sets CherryBlossom colors, renders diffs with delta, turns on background fetching and a whole-graph log, and adds custom commands that call `gh`.
[Lazygit](https://github.com/jesseduffield/lazygit) is a terminal UI for git. The config sets cyberdream colors, renders diffs with delta, turns on background fetching and a whole-graph log, and adds custom commands that call `gh`.
| | |
| --- | --- |
@@ -23,20 +23,20 @@ tmux-resurrect lists `lazygit` among the processes it restores.
## GUI
Colors come from the CherryBlossom palette, shared with Ghostty, tmux, and omp:
Colors are upstream `extras/lazygit/cyberdream.yml` from [cyberdream.nvim](https://github.com/scottmckendry/cyberdream.nvim), the palette shared with Ghostty, tmux, and omp:
| Theme key | Color |
| --- | --- |
| `activeBorderColor` | `#cf716f` |
| `inactiveBorderColor` | `#a6958f` |
| `searchingActiveBorderColor` | `#c17e4a` |
| `optionsTextColor` | `#a6958f` |
| `selectedLineBgColor` | `#453130` |
| `cherryPickedCommitBgColor` | `#453130` |
| `cherryPickedCommitFgColor` | `#ad6756` |
| `unstagedChangesColor` | `#ae825f` |
| `defaultFgColor` | `#dcc1b7` |
| `authorColors."*"` | `#dcc1b7` (every author the same color) |
| `activeBorderColor` | `#5ef1ff` |
| `inactiveBorderColor` | `#7b8496` |
| `searchingActiveBorderColor` | `#ff5ef1` |
| `optionsTextColor` | `#3c4048` |
| `selectedLineBgColor` | `#3c4048` |
| `cherryPickedCommitBgColor` | `#3c4048` |
| `cherryPickedCommitFgColor` | `#ff5ea0` |
| `unstagedChangesColor` | `#ffbd5e` |
| `defaultFgColor` | `#ffffff` |
| `authorColors."*"` | `#ffffff` (every author the same color) |
| Option | Value |
| --- | --- |
+1 -1
View File
@@ -6,7 +6,7 @@ tv config symlinked from the repo, a transparent cyberdream theme, and the custo
| | |
| --- | --- |
| Source | [prdlk/television](https://github.com/prdlk/television) via `.chezmoiexternals/television.toml`: `config.toml`, `cable/*.toml`, `themes/cyberdream-transparent.toml` |
| Source | [prdlk/television](https://github.com/prdlk/television) via `.chezmoiexternals/television.toml`: `config.toml`, `cable/*.toml`, `themes/cyberdream-transparent.toml` (selected), `themes/cherry-blossom-transparent.toml` (CherryBlossom, not selected) |
| Target | `~/.config/television/` |
| Install | Not listed in `.chezmoidata/packages.yaml`; install separately |
+3 -2
View File
@@ -217,14 +217,15 @@ dark = "cyberdream"
use = "cyberdream"
```
Cyberdream is active in both light and dark mode, the palette shared with Ghostty, tmux, nvim, and television. Two flavors ship in `flavors/`:
Cyberdream is active in both light and dark mode, the palette shared with Ghostty, tmux, nvim, and television. Three flavors ship in `flavors/`:
| Flavor | Origin | Notes |
| --- | --- | --- |
| `cyberdream.yazi` | Hand-maintained cyberdream palette | Active. Sets `syntect_theme = "~/.config/bat/themes/cyberdream.tmTheme"`, so yazi's built-in code preview shares the [bat](bat.md) theme. Cyan cwd (`#5ef1ff`), green find keyword (`#5eff6c`), yellow and red copy/cut markers. |
| `cherry-blossom.yazi` | Hand-maintained CherryBlossom palette, same layout as the cyberdream flavor | Not selected. `syntect_theme = ""`, so code previews use the terminal's ANSI colors. |
| `ii-auto.yazi` | Generated by the ii wallpaper theming system ("Do not edit manually") | Not selected. Monochrome palette taken from the wallpaper. |
To switch, change `use` (and `light`/`dark`) in `theme.toml` to `ii-auto`.
To switch, change `use` (and `light`/`dark`) in `theme.toml` to `cherry-blossom` or `ii-auto`.
### Icons
+1 -1
View File
@@ -326,7 +326,7 @@ enabled = false
## https://ogeon.github.io/docs/palette/master/palette/named/index.html
## If you provide a custom theme file, it should be called "NAME.toml" and the theme below
## should be the stem, i.e. `theme = "NAME"` for your chosen NAME.
name = "cherry-blossom"
name = "cyberdream"
## Whether the theme manager should output normal or extra information to help fix themes.
## Boolean, true or false. If unset, left up to the theme manager.
+4 -4
View File
@@ -2,10 +2,10 @@ gui:
border: rounded
theme:
activeBorderColor:
- "#cf716f"
- "#5ef1ff"
inactiveBorderColor:
- "#a6958f"
- "#7b8496"
selectedLineBgColor:
- "#453130"
- "#3c4048"
optionsTextColor:
- "#a6958f"
- "#3c4048"
+11 -10
View File
@@ -2,25 +2,26 @@ gui:
border: rounded
theme:
activeBorderColor:
- "#cf716f"
- "#5ef1ff"
inactiveBorderColor:
- "#a6958f"
- "#7b8496"
searchingActiveBorderColor:
- "#c17e4a"
- "#ff5ef1"
optionsTextColor:
- "#a6958f"
- "#3c4048"
selectedLineBgColor:
- "#453130"
- "#3c4048"
cherryPickedCommitBgColor:
- "#453130"
- "#3c4048"
cherryPickedCommitFgColor:
- "#ad6756"
- "#ff5ea0"
unstagedChangesColor:
- "#ae825f"
- "#ffbd5e"
defaultFgColor:
- "#dcc1b7"
- "#ffffff"
authorColors:
"*": "#dcc1b7" # The number of lines you scroll by when scrolling the main window
"*": "#ffffff"
# The number of lines you scroll by when scrolling the main window
scrollHeight: 2
# If true, allow scrolling past the bottom of the content in the main window
scrollPastBottom: true
+1 -45
View File
@@ -1,6 +1,5 @@
"$schema" = 'https://starship.rs/config-schema.json'
palette = "cherryblossom"
palette = "cyberdream"
format = """
$username\
@@ -95,46 +94,3 @@ dim-blue = "#4f85d1"
dim-purple = "#d050c6"
dim-cyan = "#4fc5d1"
dim-white = "#d0d0d1"
# >>> CHERRYBLOSSOM STARSHIP PALETTE >>>
# CherryBlossom Starship Palette
[palettes.cherryblossom]
# Standard colors
blue = "#7a858b"
red = "#bf615d"
green = "#8a9a6b"
yellow = "#c17e4a"
cyan = "#a78266"
magenta = "#ad6756"
white = "#dcc1b7"
black = "#201d1c"
# Extended palette (Catppuccin-compatible names)
rosewater = "#ae825f"
flamingo = "#cf716f"
pink = "#c6745f"
mauve = "#ad6756"
maroon = "#cf716f"
peach = "#ae825f"
teal = "#a78266"
sky = "#baa59d"
sapphire = "#8f9aa0"
lavender = "#c6745f"
# Text shades
text = "#dcc1b7"
subtext1 = "#dcc1b7"
subtext0 = "#5b5450"
# Surface shades
overlay2 = "#5b5450"
overlay1 = "#5b5450"
overlay0 = "#201d1c"
surface2 = "#201d1c"
surface1 = "#201d1c"
surface0 = "#222120"
base = "#222120"
mantle = "#222120"
crust = "#222120"
# <<< CHERRYBLOSSOM STARSHIP PALETTE <<<