My cmux terminal config and themes setup

After trying the Kero terminal for a few days, I came back to cmux and audited how it handles configurations and themes so I can quickly restore everything if I ever reinstall or move to a new Mac.

Because cmux uses Ghostty as its underlying terminal rendering engine, terminal styling is separate from cmux app settings, and here's how it looks on my computer.

My cmux terminal setup

1. Terminal visual theme & fonts live inside the Ghostty config file:

~/Library/Application Support/com.mitchellh.ghostty/config.ghostty

This is also symlinked to ~/.config/ghostty/config. It uses the built-in GitHub Dark Default theme, Fira Code ligatures (+calt, +zero, +ss01), font thickening, a 50,000-line scrollback buffer, and clipboard auto-copy on select.

2. cmux app settings & shortcuts live in the main cmux config file:

~/.config/cmux/cmux.json

This configures preferredEditor: "code", commandPaletteSearchesAllSurfaces: true, matching sidebar background blending (matchTerminalBackground: true), minimal mode, pane split shortcuts (cmd + d), sidebar toggle (cmd + b), and agent notification hooks.

3. Active workspaces & open tabs live in the session state file:

~/Library/Application Support/cmux/session-com.cmuxterm.app.json

Here is the exact config.ghostty content for the terminal theme and font:

# Theme (GitHub Dark Default, built into Ghostty)
theme = GitHub Dark Default

font-family = "Fira Code"
font-size = 14
font-feature = +calt
font-feature = +zero
font-feature = +ss01
font-thicken = true

# Scrollback
scrollback-limit = 50000

# Window
window-padding-x = 20
window-padding-y = 12
window-padding-balance = true
window-inherit-working-directory = true

# Cursor
cursor-style = bar
cursor-style-blink = false

# Mouse & Clipboard
mouse-hide-while-typing = true
copy-on-select = clipboard

For quick CLI interaction, I added these productivity aliases to ~/.zshrc:

alias cm-diff="cmux diff --source unstaged"
alias cm-diff-staged="cmux diff --source staged"
alias cm-md="cmux markdown"
alias cm-browser="cmux browser open"
alias cm-jump="cmux jump-to-unread"
alias cm-status="cmux list-status"

Also, cmux automatically creates timestamped backups of cmux.json inside ~/.config/cmux/ whenever settings are saved (like cmux.json.bak.20260722T055253).

If I ever reinstall cmux or move to a new Mac, I just need to recreate the folders and restore those files:

mkdir -p ~/.config/cmux ~/.config/ghostty ~/Library/Application\ Support/com.mitchellh.ghostty
ln -sf "~/Library/Application Support/com.mitchellh.ghostty/config.ghostty" ~/.config/ghostty/config

Because these files sit in standard macOS user directories rather than inside the .app bundle, simply uninstalling cmux.app leaves all themes, sessions, and shortcuts completely safe and intact.