Per-tool theming¶
Cyberdream is applied in every tool that exposes a theme system. The configurations live next to each tool's other config.
| Tool | Config path | Notes |
|---|---|---|
| NeoVim | .config/nvim/lua/plugins/cyberdream.lua |
cyberdream.nvim, loaded eagerly with priority 1000. |
| oh-my-posh | .config/oh-my-posh/prompt.yaml (palette: block) |
Plus claude.yaml for the Claude Code status line. |
| Ghostty | .config/ghostty/themes/{cyberdream,cyberdream-light} |
Auto-switches with system appearance. |
| tmux | .config/tmux/conf/theme.conf |
Catppuccin engine with cyberdream flavor (auto-fetched on first launch). |
| btop | .config/btop/themes/cyberdream.theme |
— |
| lazygit | .config/lazygit/config.yml |
Colors + delta pager. |
| yazi | .config/yazi/theme.toml |
Includes bat syntax theme. |
| k9s | .config/k9s/skins/cyberdream.yaml |
Selected as the active skin. |
| opencode | .config/opencode/themes/cyberdream.json |
Terminal-default background. |
| vivid | .config/vivid/themes/cyberdream.yaml |
Generates LS_COLORS; VIVID_THEME env points here. |
| lsd | .config/lsd/config.yaml |
color: { theme: custom } driven by LS_COLORS. |
| Claude Code | .claude/themes/cyberdream.json |
Selected via "theme": "custom:cyberdream". |
| Docs site | docs/assets/extras.css |
CSS overrides on Zensical's slate/default schemes. |
Pattern¶
The recurring approach is:
- Use the upstream's theme system, not a hex monkey-patch. Most tools have a way to declare a theme by name or import a file — that's the path of least churn when the tool updates.
- Centralize palette in the canonical place. When a theme system supports it (oh-my-posh,
yazi, Claude Code), define the palette once in a
palette:/colors:block and reference colours symbolically elsewhere. - Match the system appearance when possible. Ghostty does this natively
(
dark:cyberdream,light:cyberdream-light). For tools that don't, the dark variant wins.