feat(config): add cyberdream theme and tmux-palette integration

This commit is contained in:
Prad Nukala committed 2026-10-08 11:41:47 -04:00
1 parent c19387917a
commit d74be4463e
15 files changed
+133 -1049

No files matched your search

+23 -14
View File
@@ -1,7 +1,9 @@
# Prefix
set -g prefix C-Space
set -g prefix2 C-b
bind -N "Send prefix" C-Space send-prefix
# Prefix: ctrl+b (Ghostty's ctrl+shift chords send it as \x02). ctrl+space
# is not a prefix: it opens tmux-palette (root table, see Plugins).
set -g prefix C-b
set -gu prefix2
unbind -q C-Space
bind -N "Send prefix" C-b send-prefix
set-option -g renumber-windows on
set -g base-index 1
@@ -9,7 +11,7 @@ setw -g pane-base-index 1
# Config and help
bind -N "Reload configuration" q source-file ~/.config/tmux/tmux.conf \; display "Configuration reloaded"
bind -N "Show Tmux keybindings" ? display-popup -E -w 80% -h 70% -T "Tmux keybindings" "omarchy-menu-tmux-keybindings --print | less -R"
bind -N "Show Tmux keybindings" ? display-popup -E -w 80% -h 70% -T "Tmux keybindings" "if command -v omarchy-menu-tmux-keybindings >/dev/null; then omarchy-menu-tmux-keybindings --print; else tmux list-keys -N; fi | less -R"
# Vi mode for copy
setw -g mode-keys vi
@@ -127,18 +129,19 @@ set -gw automatic-rename on
# stale, so a `cd` relabels without waiting for more pane output).
set -gw automatic-rename-format '#{window_icon} #{=/27/…:#{?#{&&:#{m/r:^(n?vim|vim|nvim-qt|hx|helix)$,#{pane_current_command}},#{m/r:^[^/|]+ \| ,#{pane_title}}},#{s/ \| .*$//:pane_title},#(~/.config/tmux/tab-label.sh #{q:pane_current_path} #{window_id})}}'
set -g set-titles on
set -g set-titles-string '#h:#W'
# The terminal (Ghostty) window title is the session name: one session per
# Ghostty window, so compositor groups/tabs list sessions, not host:window.
set -g set-titles-string '#S'
# Theme — kitty's powerline/angled tab bar (kitty.conf + the Omarchy kitty
# template): the current window is an accent-tinted plate with the accent as
# its text, the rest sit flush with the background in muted text. Colors are
# cyberdream defaults, overridden per Omarchy theme by tmux.conf rendered from
# ~/.config/omarchy/themed/tmux.conf.tpl.
# Theme — kitty's powerline/angled tab bar: the current window is an
# accent-tinted plate (accent mixed 20% into the background) with the accent
# as its text, the rest sit flush with the background in muted text. Fixed
# cyberdream palette, shared with Ghostty, nvim, yazi and television so every
# machine (Linux, mac, goliath) looks the same.
set -g @tab-bg "#16181a"
set -g @tab-fg "#7b8496"
set -g @tab-active-bg "#243348"
set -g @tab-active-fg "#5ea1ff"
source-file -q ~/.local/state/omarchy/current/theme/tmux.conf
set -g status-style "bg=default,fg=#{@tab-fg}"
# bg=default inside a tab format means "the window-status-*-style bg", not the
@@ -160,8 +163,8 @@ set -g status-right "#[fg=#{@tab-active-fg}]#{?pane_in_mode,COPY ,}#{?client_pre
# as in kitty (tab_bar_background none). kitty's separator rule: a solid
#  into a differently colored neighbour, thin  between two inactive
# tabs, none after the last. The arrow into the current tab is painted in
# @tab-bg, the window background: ghostty-tmux sets it per session to
# Ghostty's own background so it blends into the window. (Plain  is
# @tab-bg, the window background (Ghostty's cyberdream background, the same
# hex), so it blends into the window. (Plain  is
# one of Ghostty's built-in sprites and fills the whole cell even with
# adjust-cell-height; inverse glyphs such as  come from the font and
# leave gaps.)
@@ -182,6 +185,12 @@ set -g @plugin 'joshmedeski/tmux-nerd-font-window-name'
set -g @plugin 'tmux-plugins/tmux-resurrect'
set -g @plugin 'tmux-plugins/tmux-continuum'
set -g @plugin 'omerxx/tmux-sessionx'
set -g @plugin 'eduwass/tmux-palette'
# tmux-palette: Raycast-style command palette on ctrl+space (no prefix; needs
# bun). User config (commands ported from kitty, cyberdream theme, Ghostty
# shortcut labels) lives in ~/.config/tmux-palette/.
set -g @palette-key 'C-Space'
# sessionx: fuzzy session switcher/creator on prefix + o (Ghostty
# ctrl+shift+o). A query with no match goes to zoxide; uses fzf --tmux.