mirror of
https://github.com/prdlk/dotfiles.git
synced 2026-11-02 11:32:42 +00:00
docs(docs): update documentation to use cyberdream theme and remove noctalia references
This commit is contained in:
1 parent
d74be4463e
commit
e80798d723
7 files changed
+28
-23
No files matched your search
@@ -101,7 +101,7 @@ chezmoi encodes target names and attributes in source file names. These are the
|
||||
| `executable_` | Target gets the executable bit | 40 files: every script in `dot_local/bin/`, `dot_config/niri/scripts/`, `dot_config/tmux/executable_niri-title.sh` |
|
||||
| `exact_` | Directory is exact: entries in the target that are not in the source are deleted | `dot_config/niri/exact_config.d/` (numbered `10-…kdl` through `95-…kdl` fragments) |
|
||||
| `empty_` | File is kept even when empty | `dot_config/herdr/empty_dot_plugins.lock` |
|
||||
| `symlink_` | Target is a symlink; file content is the link destination | `dot_config/kitty/symlink_current-theme.conf` (→ `themes/noctalia.conf`), `dot_config/symlink_television.tmpl` |
|
||||
| `symlink_` | Target is a symlink; file content is the link destination | `dot_config/kitty/symlink_current-theme.conf` (→ `themes/cyberdream.conf`), `dot_config/symlink_television.tmpl` |
|
||||
| `.tmpl` | Rendered with Go templates and chezmoi data | `dot_gitconfig.tmpl`, `dot_config/shell/aliases.sh.tmpl`, `dot_config/yazi/yazi.toml.tmpl`, all scripts, the config and ignore files |
|
||||
| `run_once_` / `run_onchange_` + `before_` / `after_` | Script, with run frequency and phase | See [Apply scripts](/chezmoi/scripts) |
|
||||
|
||||
|
||||
+1
-1
@@ -50,4 +50,4 @@ The default is `mac` on macOS and `desktop` everywhere else. See [Configuration]
|
||||
|
||||
## Theme
|
||||
|
||||
The shared palette is **cyberdream**. bat, atuin, and yazi select it, and television selects `cyberdream-transparent`, a variant without a background. fish and omp ship a cyberdream theme but do not select it. kitty takes its colors from the active Omarchy theme. The noctalia, koda, and ii-auto variants are shipped for ghostty, kitty, and yazi. The font is **Victor Mono Nerd Font**.
|
||||
The shared palette is **cyberdream**, fixed rather than tied to the Omarchy theme so it is identical on every machine. Ghostty, tmux, nvim, bat, atuin, and yazi select it, and television selects `cyberdream-transparent`, a variant without a background. fish and omp ship a cyberdream theme but do 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**.
|
||||
@@ -11,7 +11,7 @@ Ghostty is only a [tmux](/terminal/tmux) client. tmux owns tabs (windows), split
|
||||
| Target | `~/.config/ghostty/` |
|
||||
| Install | Not listed in `.chezmoidata/packages.yaml`; install separately |
|
||||
|
||||
Ghostty reads both `config` and `config.ghostty`. `config` holds all settings; `config.ghostty` contains a single line, `theme = noctalia`, which selects the active theme.
|
||||
Ghostty reads both `config` and `config.ghostty`. `config` holds all settings; `config.ghostty` contains a single line, `theme = cyberdream`, which selects the active theme.
|
||||
|
||||
## Options
|
||||
|
||||
@@ -29,17 +29,24 @@ Ghostty reads both `config` and `config.ghostty`. `config` holds all settings; `
|
||||
| `confirm-close-surface` | `false` |
|
||||
| `app-notifications` | `no-clipboard-copy,no-config-reload` |
|
||||
| `quit-after-last-window-closed` | `false`, delay `5m` |
|
||||
| `command` | `tmux new-session -A -s main`: every window attaches to tmux session `main` and creates it if it is missing |
|
||||
| `command` | `shell:$HOME/.local/bin/ghostty-tmux` (see [Sessions](#sessions)) |
|
||||
| `shell-integration` | `detect`, features `cursor,sudo,title,no-cursor` |
|
||||
| `gtk-single-instance` | `true` |
|
||||
|
||||
## Persistence
|
||||
## Sessions
|
||||
|
||||
Closing Ghostty only detaches from tmux; the shells keep running in the tmux server. Across reboots, tmux-continuum saves the layout every 10 minutes. When the first Ghostty window starts a new tmux server, continuum restores the last save. See [tmux](/terminal/tmux#persistence).
|
||||
Every Ghostty window gets its own tmux session; no two windows mirror the same one. `~/.local/bin/ghostty-tmux` (source `dot_local/bin/executable_ghostty-tmux`) runs for each new window:
|
||||
|
||||
1. If a detached session exists (left by a closed window, or restored by continuum after a reboot), it attaches to the oldest one.
|
||||
2. Otherwise it starts a new session.
|
||||
|
||||
Ghostty's colors match tmux's tab bar because both use the fixed cyberdream palette: Ghostty's background `#16181a` is tmux's `@tab-bg`.
|
||||
|
||||
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](/terminal/tmux#persistence).
|
||||
|
||||
## Keybindings
|
||||
|
||||
`keybind = clear` comes first and drops every Ghostty default: tabs, splits, `alt+N` goto_tab, and `ctrl+alt+arrow` goto_split. Those chords then reach tmux, which binds `alt+1…9` and `ctrl+alt+arrows` itself. Each `ctrl+shift` chord sends tmux's second prefix, `ctrl+b` (`\x02`), followed by a key.
|
||||
`keybind = clear` comes first and drops every Ghostty default: tabs, splits, `alt+N` goto_tab, and `ctrl+alt+arrow` goto_split. Those chords then reach tmux, which binds `alt+1…9` and `ctrl+alt+arrows` itself. `ctrl+h/j/k/l` also pass straight through to tmux's vim-aware pane navigation, which hands off to and from nvim's splits (see [tmux](/terminal/tmux#keybindings)). Each `ctrl+shift` chord sends tmux's second prefix, `ctrl+b` (`\x02`), followed by a key.
|
||||
|
||||
| Key | Ghostty action |
|
||||
| --- | --- |
|
||||
@@ -73,6 +80,6 @@ Closing Ghostty only detaches from tmux; the shells keep running in the tmux ser
|
||||
|
||||
| Theme | Notes |
|
||||
| --- | --- |
|
||||
| `noctalia` | Active. Palette matching the Noctalia shell. |
|
||||
| `cyberdream` | Active. 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`. |
|
||||
@@ -30,7 +30,6 @@ GPU terminal emulator and the primary terminal on every role.
|
||||
- cyberdream.conf
|
||||
- koda-dark.conf
|
||||
- koda-light.conf
|
||||
- noctalia.conf
|
||||
</FileTree>
|
||||
|
||||
`__pycache__/` next to `tab_bar.py` is excluded in `.chezmoiignore.tmpl`.
|
||||
@@ -43,7 +42,7 @@ Every config ends with:
|
||||
include ~/.local/state/omarchy/current/theme/kitty.conf
|
||||
```
|
||||
|
||||
Colors come from the active Omarchy theme; it is included last so it wins. `symlink_current-theme.conf` creates `~/.config/kitty/current-theme.conf` as a symlink to `themes/noctalia.conf`. Only the legacy `dot_config/herdr/kitty.conf` includes `current-theme.conf`; the main config does not. `themes/` holds `cyberdream`, `koda-dark`, `koda-light` and `noctalia` color files.
|
||||
Colors come from the active Omarchy theme; it is included last so it wins. `symlink_current-theme.conf` creates `~/.config/kitty/current-theme.conf` as a symlink to `themes/cyberdream.conf`. Only the legacy `dot_config/herdr/kitty.conf` includes `current-theme.conf`; the main config does not. `themes/` holds `cyberdream`, `koda-dark`, and `koda-light` color files.
|
||||
|
||||
## kitty.conf
|
||||
|
||||
|
||||
@@ -7,8 +7,8 @@ Terminal multiplexer. [Ghostty](/terminal/ghostty) runs nothing but tmux, and Gh
|
||||
|
||||
| | |
|
||||
| --- | --- |
|
||||
| Source | `dot_config/tmux/tmux.conf`, `dot_config/tmux/tmux-nerd-font-window-name.yml`, `dot_config/tmux/executable_tab-label.sh`, `dot_config/tmux/executable_niri-title.sh`, `dot_config/omarchy/themed/tmux.conf.tpl`, `dot_config/omarchy/hooks/theme-set.d/executable_tmux-tabs` |
|
||||
| Target | `~/.config/tmux/`, `~/.config/omarchy/` |
|
||||
| Source | `dot_config/tmux/tmux.conf`, `dot_config/tmux/tmux-nerd-font-window-name.yml`, `dot_config/tmux/executable_tab-label.sh`, `dot_config/tmux/executable_niri-title.sh` |
|
||||
| Target | `~/.config/tmux/` |
|
||||
| Install | `tmux` in `.chezmoidata/packages.yaml` (pacman, brew) |
|
||||
|
||||
tpm is a `git-repo` external in `.chezmoiexternal.toml`, cloned to `~/.config/tmux/plugins/tpm` when missing. `tmux.conf` ends with `run '~/.config/tmux/plugins/tpm/tpm'`. Plugins installed by tpm (`prefix I`) land next to it and are ignored by chezmoi.
|
||||
@@ -29,13 +29,13 @@ The prefix is `ctrl+space`; `ctrl+b` is `prefix2` (the byte Ghostty sends).
|
||||
| `set-titles` | `on`, `#h:#W` |
|
||||
| `automatic-rename-format` | `#{window_icon} <label>`: Nerd Font icon, then the dynamic label described under [Window tabs](#window-tabs) |
|
||||
| `history-limit` | `50000` |
|
||||
| `detach-on-destroy` | `off` (killing a session switches to another instead of detaching) |
|
||||
| `detach-on-destroy` | `no-detached` (killing a session switches only to a detached session, else detaches, so a Ghostty window never lands on another window's session) |
|
||||
|
||||
These settings are what [yazi](/tools/yazi) needs inside tmux. `allow-passthrough` carries image previews through to the terminal, `set-clipboard` copies paths via OSC 52, and the two environment variables let yazi detect the outer terminal's graphics support. Nothing binds `M-[`: tmux would read the `ESC [` that starts yazi's terminal-query replies as that key and break yazi's capability detection.
|
||||
|
||||
## Keybindings
|
||||
|
||||
`prefix ?` opens all of them in a popup (`omarchy-menu-tmux-keybindings`).
|
||||
`prefix ?` opens all of them in a popup: `omarchy-menu-tmux-keybindings` on Omarchy machines, `tmux list-keys -N` everywhere else.
|
||||
|
||||
| Key | Action |
|
||||
| --- | --- |
|
||||
@@ -45,6 +45,8 @@ These settings are what [yazi](/tools/yazi) needs inside tmux. `allow-passthroug
|
||||
| `prefix h` / `prefix v` | Split below / right, pane cwd |
|
||||
| `prefix x` | Kill pane |
|
||||
| `M-Enter` / `M-S-Enter` / `M-Escape` (no prefix) | Split below / split right / kill pane |
|
||||
| `C-h` / `C-j` / `C-k` / `C-l` (no prefix) | Vim-aware pane focus. In an nvim/vim/fzf pane (`@pane-is-vim`, set by smart-splits, or the pane's command), the key goes to nvim. nvim's `config.pane_nav` moves between its own splits and, at its outer edge, runs `tmux select-pane -t $TMUX_PANE`. Elsewhere tmux moves directly. Also bound in copy mode |
|
||||
| `prefix C-l` | Send `C-l` (clear screen) |
|
||||
| `C-M-arrows` / `C-M-S-arrows` (no prefix) | Focus pane / resize pane by 5 |
|
||||
| `prefix c` / `prefix k` / `prefix r` | New window in pane cwd / kill window / rename window |
|
||||
| `M-1` … `M-9` (no prefix) | Select window 1–9 |
|
||||
@@ -56,9 +58,9 @@ These settings are what [yazi](/tools/yazi) needs inside tmux. `allow-passthroug
|
||||
|
||||
## Window tabs
|
||||
|
||||
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`. 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 its notch, drawn with the inverse glyph `U+E0D6` in the plate color, which keeps the notch transparent. 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.
|
||||
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` (the session pill's text), `@tab-fg`, `@tab-active-bg`, and `@tab-active-fg`. `tmux.conf` sets cyberdream defaults, then sources `~/.local/state/omarchy/current/theme/tmux.conf` if it exists. Omarchy renders that file from `~/.config/omarchy/themed/tmux.conf.tpl`, using the same derivation as the kitty tab bar (active background = accent mixed 20% into background). On a theme change, the `theme-set.d/tmux-tabs` hook re-sources it into the running server, so the tabs recolor like kitty's.
|
||||
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, nvim, yazi, and television use, 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.
|
||||
|
||||
### Tab labels
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@ Packages come from `.chezmoidata/packages.yaml` and are installed by `run_onchan
|
||||
| [Git](/tools/git) | git, delta, diffnav, git-split-diffs | `dot_gitconfig.tmpl` | delta colors hand-tuned (dark) |
|
||||
| [GitHub CLI](/tools/github-cli) | gh, gh extensions, gh-dash | `dot_config/gh/`, `dot_config/gh-dash/` | gh-dash defaults |
|
||||
| [Neovim](/tools/neovim) | nvim (AstroNvim) | external repo via `.chezmoiexternal.toml` | managed in the nvim repo |
|
||||
| [Yazi](/tools/yazi) | yazi file manager | `dot_config/yazi/` | cyberdream flavor (ii-auto and noctalia flavors shipped) |
|
||||
| [Yazi](/tools/yazi) | yazi file manager | `dot_config/yazi/` | cyberdream flavor (ii-auto flavor shipped) |
|
||||
| [Lazygit](/tools/lazygit) | lazygit | `dot_config/lazygit/` | cyberdream colors (ii theme file shipped) |
|
||||
| [Lazydocker](/tools/lazydocker) | lazydocker | `dot_config/lazydocker/config.yml` | cyberdream colors |
|
||||
| [bat](/tools/bat) | bat | `dot_config/bat/` | cyberdream tmTheme |
|
||||
|
||||
+3
-6
@@ -9,7 +9,7 @@ description: Yazi file manager config — layout, openers, bat previews, keymap,
|
||||
| --- | --- |
|
||||
| Source | `dot_config/yazi/` |
|
||||
| Target | `~/.config/yazi/` |
|
||||
| Files | `yazi.toml.tmpl`, `keymap.toml`, `init.lua`, `package.toml`, `theme.toml`, `vfs.toml`, `flavors/{cyberdream,ii-auto,noctalia}.yazi/flavor.toml` |
|
||||
| Files | `yazi.toml.tmpl`, `keymap.toml`, `init.lua`, `package.toml`, `theme.toml`, `vfs.toml`, `flavors/{cyberdream,ii-auto}.yazi/flavor.toml` |
|
||||
| Helper | `dot_local/bin/executable_yazi-nvim-open` → `~/.local/bin/yazi-nvim-open` |
|
||||
| Packages | `yazi` plus preview backends `ffmpeg`, `ffmpegthumbnailer`, `poppler`, `resvg`, `imagemagick`, `7zip` (`sevenzip` on macOS), `unzip` |
|
||||
| Plugins | `run_onchange_after_install-yazi-plugins.sh.tmpl` → `ya pkg install` |
|
||||
@@ -28,8 +28,6 @@ description: Yazi file manager config — layout, openers, bat previews, keymap,
|
||||
- flavor.toml
|
||||
- ii-auto.yazi/
|
||||
- flavor.toml
|
||||
- noctalia.yazi/
|
||||
- flavor.toml
|
||||
|
||||
</FileTree>
|
||||
|
||||
@@ -199,15 +197,14 @@ dark = "cyberdream"
|
||||
use = "cyberdream"
|
||||
```
|
||||
|
||||
Cyberdream is active in both light and dark mode. Three flavors ship in `flavors/`:
|
||||
Cyberdream is active in both light and dark mode, the palette shared with Ghostty, tmux, nvim, and television. Two 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](/tools/bat) theme. Cyan cwd (`#5ef1ff`), green find keyword (`#5eff6c`), yellow and red copy/cut markers. |
|
||||
| `ii-auto.yazi` | Generated by the ii wallpaper theming system ("Do not edit manually") | Not selected. Monochrome palette taken from the wallpaper. |
|
||||
| `noctalia.yazi` | Noctalia palette | Not selected. Full theme: manager, status, mode, input, tabs, completion, tasks, which, spotter, help, notify, and MIME-based file colors. |
|
||||
|
||||
To switch, change `use` (and `light`/`dark`) in `theme.toml` to `ii-auto` or `noctalia`.
|
||||
To switch, change `use` (and `light`/`dark`) in `theme.toml` to `ii-auto`.
|
||||
|
||||
### Icons
|
||||
|
||||
|
||||
Reference in new issue
Block a user