https://github.com/cskwork/cmux-config
Personal cmux (manaflow-ai) config snapshot
https://github.com/cskwork/cmux-config
Last synced: 21 days ago
JSON representation
Personal cmux (manaflow-ai) config snapshot
- Host: GitHub
- URL: https://github.com/cskwork/cmux-config
- Owner: cskwork
- Created: 2026-05-23T13:07:47.000Z (28 days ago)
- Default Branch: main
- Last Pushed: 2026-05-23T13:38:05.000Z (28 days ago)
- Last Synced: 2026-05-23T15:19:09.722Z (28 days ago)
- Size: 2.01 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# cmux-config
Personal configuration for [cmux](https://github.com/manaflow-ai/cmux) — the macOS terminal/workspace app from manaflow-ai.
This repo tracks the file-managed portion of cmux settings (`~/.config/cmux/cmux.json`) so the setup is portable across machines.
Landing page: https://cskwork.github.io/cmux-config/
## What's in here
- **`cmux.json`** — JSONC config consumed by cmux at launch. The full schema template is preserved as commented blocks; only intentionally overridden keys are active.
### Active overrides
| Key | Value | Schema default | Plist source |
|---|---|---|---|
| `app.appearance` | `"dark"` | `"system"` | `appearanceMode` |
| `app.sendAnonymousTelemetry` | `false` | `true` | (not persisted in plist; file-managed to enforce opt-out across machines) |
| `sidebarAppearance.tintOpacity` | `0.18` | `0.03` | `sidebarTintOpacity` |
Everything else falls back to either the in-app Settings value or the schema default. Window geometry, file-explorer width, Sparkle update state, and other transient runtime state are intentionally not file-managed.
### Settings the cmux.json schema can't manage yet
The following keys exist in the macOS plist but are not exposed in cmux's published JSON schema, so they cannot be put in `cmux.json` today:
- `sidebarMaterial`, `sidebarBlendMode`, `sidebarPreset`, `sidebarState`, `sidebarBlurOpacity`, `sidebarCornerRadius`
If you want these portable, set them once via the in-app Settings panel on a new machine.
## Ghostty config (cmux's embedded terminal)
cmux embeds [Ghostty](https://ghostty.org) as its terminal renderer (you can see this in the cmux binary symbols: `Ghostty version`, `GhosttyBackgroundBlur`, `ghostty.backgroundColor`, etc.). Anything you customize on the terminal pane itself — font, background image, opacity, custom shaders — is a **Ghostty** setting, not a cmux setting, and lives in `~/.config/ghostty/config`.
This repo therefore also tracks a small Ghostty config that goes hand-in-hand with the cmux setup:
```
ghostty/
├── config.ghostty # font + background-image overrides
└── backdrops/
└── cloudy-quasar.png # 3840x2160 PNG referenced by config
```
### Active Ghostty overrides
| Key | Value | Ghostty default |
|---|---|---|
| `font-family` | `JetBrainsMono Nerd Font` | system mono |
| `font-style` | `Medium` | `Regular` |
| `font-size` | `15` | `13` |
| `background-image` | `~/.config/ghostty/backdrops/cloudy-quasar.png` | (none) |
| `background-image-fit` | `cover` | `tile` |
| `background-image-position` | `center` | `tl` |
| `background-image-opacity` | `0.18` | `1.0` |
### Apply on a new machine
```sh
mkdir -p ~/.config/ghostty/backdrops
cp ghostty/config.ghostty ~/.config/ghostty/config
cp ghostty/backdrops/cloudy-quasar.png ~/.config/ghostty/backdrops/
```
Note the destination filename is `config` (no extension) — that is Ghostty's canonical config path. The repo keeps the `.ghostty` extension purely as a hint to editors and to avoid colliding with a plain `config` file at the repo root.
Restart cmux (or any other Ghostty surface) to pick up the change. tmux is unrelated here — tmux is a pure-text multiplexer and has no concept of a background image; what you see on the cmux pane comes from Ghostty.
## Apply on a new machine
```sh
mkdir -p ~/.config/cmux
cp cmux.json ~/.config/cmux/cmux.json
```
Then restart cmux, or use `cmd+shift+,` (Reload Configuration) to pick it up without a relaunch.
## Schema reference
cmux validates `cmux.json` against:
```
https://raw.githubusercontent.com/manaflow-ai/cmux/main/web/data/cmux.schema.json
```
Editors that honour the `$schema` field will autocomplete keys and enum values.
## Tested with
- cmux `0.64.9 (89)` on macOS (Darwin 25.4.0)