Configured via Nix Home Manager with Dracula theme, Fira Code Nerd Font, and custom keybindings.
| Shortcut | Action |
|---|---|
Cmd+D |
Split pane horizontally (side by side) |
Cmd+Shift+D |
Split pane vertically (top/bottom) |
Cmd+W |
Close current pane |
Cmd+K |
Clear scrollback + viewport |
| Shortcut | Action |
|---|---|
Cmd+T |
New tab |
Cmd+W |
Close tab/pane |
Cmd+1-9 |
Switch to tab 1-9 |
Cmd+Shift+[ / ] |
Previous/next tab |
Ctrl+Tab |
Cycle tabs |
| Shortcut | Action |
|---|---|
Cmd+D |
Split right |
Cmd+Shift+D |
Split below |
Cmd+Opt+Arrow |
Navigate between panes |
Cmd+Shift+Z |
Toggle pane zoom (fullscreen one pane) |
| Shortcut | Action |
|---|---|
Cmd+C |
Copy |
Cmd+V |
Paste |
| Click + drag | Select text |
| Double-click | Select word |
| Triple-click | Select line |
Cmd+F |
Search in scrollback |
| Shortcut | Action |
|---|---|
Cmd+Plus |
Increase font size |
Cmd+Minus |
Decrease font size |
Cmd+0 |
Reset font size |
Cmd+Enter |
Toggle fullscreen |
| Shortcut | Action |
|---|---|
Shift+PageUp/Down |
Scroll up/down |
Cmd+K |
Clear scrollback (custom) |
- Dracula (Official) color scheme
- FiraCode Nerd Font with fallback to Fira Code
- 95% opacity + macOS blur — slight transparency with backdrop blur
- Fancy tab bar that hides when there's only one tab
- 10,000 lines scrollback
- Blinking bar cursor for precise editing
- Window decorations: resize-only (no title bar chrome)
Cmd+Shift+P opens WezTerm's command palette — search any action by name, just like VS Code.
Cmd+Shift+Space enters quick-select mode. WezTerm highlights URLs, git hashes, file paths, IP addresses, and other patterns. Press the shown letter to copy that item instantly.
Cmd+Shift+X enters copy mode:
- Navigate with
h/j/k/l vto start selectionVfor line selectionCtrl+Vfor rectangular selectionyto yank (copy)Escapeto exit
Cmd+Click on:
- URLs → opens in browser
- File paths → opens in default app
file:linepatterns → opens in editor
WezTerm supports the iTerm2 inline image protocol. Tools like lf, viu, or imgcat can display images directly in the terminal.
WezTerm has a built-in multiplexer (alternative to tmux). Since you're using tmux with Dracula + resurrect/continuum, use:
- WezTerm panes (
Cmd+D) for quick throwaway splits - tmux panes (
Ctrl-B %/Ctrl-B ") for persistent session splits
You can define SSH domains in your config to connect to remote machines as native WezTerm tabs:
config.ssh_domains = {
{ name = 'my-server', remote_address = 'user@host', username = 'user' },
}Then use Cmd+Shift+P → "Connect to SSH Domain".
Since you have tmux with vim-tmux-navigator and resurrect:
| Use case | Tool |
|---|---|
| Session persistence across restarts | tmux (resurrect + continuum) |
| Quick throwaway splits | WezTerm panes (Cmd+D) |
| Persistent named splits | tmux panes (Ctrl-B %) |
| Navigate between panes | Ctrl+H/J/K/L (vim-tmux-navigator) |
| Zoom a single pane | Ctrl-B z (tmux) or Cmd+Shift+Z (WezTerm) |
The WezTerm config lives in ~/.local/share/fleek/programs.nix under programs.wezterm.extraConfig. The generated Lua file is at ~/.config/wezterm/wezterm.lua (managed by Home Manager — don't edit directly).
To modify, edit programs.nix and run:
sudo -H darwin-rebuild switch --flake ~/.local/share/fleekOr just run topgrade --yes to upgrade everything including the config.