My personal tmux configuration. Hyper-key driven, minimal, and designed to work well with Ghostty and pi.
One mental model: Hyper is tmux.
Caps Lock is remapped to Hyper (Ctrl+Alt+Cmd) via Raycast. Ghostty translates every Hyper+key into a tmux prefix sequence. The result is instant, chordfree access to every tmux action -- no mode-switching, no waiting for the prefix timeout.
Prefix (Ctrl-A) still works as a fallback for SSH sessions or anywhere Ghostty isn't running.
| File | Destination | Purpose |
|---|---|---|
tmux.conf |
~/.tmux.conf |
Main tmux configuration |
config/cheatsheet.sh |
~/.config/tmux/cheatsheet.sh |
Popup cheat sheet script |
config/theme.conf |
~/.config/tmux/theme.conf |
Catppuccin Mocha status bar theme |
ghostty/config |
~/.config/ghostty/config |
Ghostty settings + Hyper key mappings |
# Clone
git clone [email protected]:sasha-computer/tmux-config.git ~/Developer/tmux-config
cd ~/Developer/tmux-config
# Symlink (or copy)
ln -sf ~/Developer/tmux-config/tmux.conf ~/.tmux.conf
mkdir -p ~/.config/tmux
ln -sf ~/Developer/tmux-config/config/cheatsheet.sh ~/.config/tmux/cheatsheet.sh
ln -sf ~/Developer/tmux-config/config/theme.conf ~/.config/tmux/theme.conf
# Note: merge ghostty/config manually -- it includes all Ghostty settings
# Reload
tmux source-file ~/.tmux.conf^ = Hyper (Caps Lock). All bindings also work with Ctrl-A as the prefix.
| Key | Action |
|---|---|
^ \ |
Split right |
^ - |
Split down |
^ h/j/k/l |
Navigate panes |
^ x |
Kill pane |
^ z |
Zoom / unzoom |
^ Shift+H/J/K/L |
Resize pane |
| Key | Action |
|---|---|
^ c |
New window |
^ w |
Kill window |
^ 1-9 |
Jump to window |
^ [ / ^ ] |
Swap window left / right |
| Key | Action |
|---|---|
^ s |
Session picker (tree view) |
^ d |
Detach |
| Key | Action |
|---|---|
^ Enter |
Enter copy mode |
v |
Begin selection |
Ctrl-v |
Rectangle select |
y |
Yank to clipboard |
Esc |
Cancel |
| Key | Action |
|---|---|
^ r |
Reload config |
^ / |
Cheat sheet popup |
macOS (Raycast):
- Open Raycast Settings > Advanced > Remap Caps Lock
- Set it to
Ctrl+Alt+Cmd(Hyper)
Ghostty then maps Hyper+key to the tmux prefix sequence (\x01 + key). See ghostty/config for the full mapping list.
tmux is configured with:
set -s extended-keys on
set -as terminal-features 'ghostty:extkeys'
This enables the Kitty keyboard protocol passthrough so apps like pi can distinguish Shift-Enter from Enter for multi-line input.
The status bar uses Catppuccin Mocha (config/theme.conf). Managed by pi-auto-theme which auto-switches between light and dark variants based on system appearance.
MIT