Skip to content

Terminal and desktop

Rui edited this page Nov 3, 2026 · 2 revisions

Terminal and desktop

Ghostty + tmux

Every Ghostty window runs inside tmux, and Ghostty's ⌘ shortcuts are tmux keys: ⌘T a tab, ⌘D / ⌘⇧D a split, ⌘O open a repo as a session, ⌘G lazygit, ⌘K sofka, ⌘J a scratch terminal, ⌘⇧C copy the last command's output. ⌘⇧H lists them all and runs the one you pick.

  • The first window attaches the persistent main session (it survives closing Ghostty); further windows get throwaway sessions.
  • When tmux starts, the last tmux-resurrect save comes back, then the repos in ~/.config/tmux/sessions.local are preloaded.
  • A split in a pane that is in ssh host opens the same ssh.

Reference: tmux README (every shortcut, copying), Ghostty README. Reload Ghostty with ⌘⇧, (a changed keybind may need ⌘Q); tmux reloads with C-b r or dotfiles-sync.

Rex

The Rex terminal gets the same ⌘ shortcuts, bound to its own tabs, panes and sessions (.config/rex/init.lua); ⌘O is its sessionizer and ⌘K opens sofka on the pane's kube context. Its Settings (theme, tabs, panes) are code: settings.py export > settings.json after changing them in the app, and install.sh applies them on every machine (⌘Q Rex to load them).

AeroSpace

Tiling window manager. Option (⌥) + a letter goes to a workspace (⌥c code, ⌥b browser, ⌥m messages, …), ⌥⇧ + a letter sends the window there, ⌥h/j/k/l moves focus. ⌥i shows the cheat sheet (CHEATSHEET.md). With fewer monitors, workspaces fall back to the remaining ones.

SketchyBar

The status bar, at the bottom: workspaces, the focused app, Spotify, Slack / Discord badges, the kube context (red on production), connectivity checks, Colima, PRs / MRs waiting for review, AWS / GCP sessions, CPU, RAM, weather and outdated brew packages. Reference: SketchyBar README.

  • The kube item asks kube-guard context (~3 ms, the same "production" as the guard) instead of running kubectl twice every 5 s.
  • CPU updates every 5 s, RAM every 15 s.
  • Per machine: ~/.config/sketchybar/aws_profiles and checks (see checks.example).

ssh

.config/ssh/controlmaster.conf: ssh defaults (ControlMaster: a second connection to a host reuses the first). The playbook adds Include ~/.config/ssh/*.conf at the top of ~/.ssh/config; the rest of that file stays per machine.

borders

JankyBorders draws the focused window's border (.config/borders/bordersrc); dotfiles-sync restarts it.

Clone this wiki locally