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 a custom dark theme matching the color palette of deepakness.com (#121a28 background, #eef3f9 foreground, #a3c4ff cursor), 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 (Custom deepakness.com Dark Theme)
background = 121a28
foreground = eef3f9
selection-background = 264f78
selection-foreground = eef3f9
cursor-color = a3c4ff

# 16-Color Palette matching deepakness.com
palette = 0=#121a28
palette = 1=#d16969
palette = 2=#6a9955
palette = 3=#d7ba7d
palette = 4=#569cd6
palette = 5=#c586c0
palette = 6=#4ec9b0
palette = 7=#d4d4d4
palette = 8=#3d4f6a
palette = 9=#ce9178
palette = 10=#b5cea8
palette = 11=#dcdcaa
palette = 12=#9cdcfe
palette = 13=#c5d8ff
palette = 14=#a3c4ff
palette = 15=#eef3f9

# Font & Size
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.

Comment on Mastodon

Webmentions

What’s this?