Interactive TUI for Ghostty terminal configuration
Project description
ghostcfg
A TUI for editing your Ghostty config without touching the file by hand.
Browse 200+ options by category, preview themes live with color swatches, and save — ghostcfg hot-reloads your running Ghostty instance automatically.
Install
pipx install ghostcfg # recommended
uv tool install ghostcfg # or with uv
pip install ghostcfg # or plain pip
On macOS with Homebrew:
brew install samkleespies/ghostcfg/ghostcfg
Or from source:
git clone https://github.com/samkleespies/ghostcfg.git
cd ghostcfg
pip install -e .
Requires Python 3.10+ and Ghostty on PATH.
Usage
ghostcfg # or: gcfg
Keybindings
| Key | Action |
|---|---|
Tab / Shift+Tab |
Switch tabs |
Up / Down |
Navigate options |
Enter |
Edit / toggle |
Ctrl+S |
Save and reload Ghostty |
Ctrl+D |
Reset option to default |
? |
Help |
q |
Quit |
In the theme browser:
| Key | Action |
|---|---|
Up / Down |
Browse (previews live) |
Enter |
Confirm theme |
Escape |
Revert to original |
d / l / a |
Dark only / light only / all |
What it does
- Tabbed categories: Font, Colors, Cursor, Window, Background, Input, Shell, Advanced
- Theme browser with inline color swatch preview, search, and dark/light filtering
- Type-aware widgets: toggles for booleans, dropdowns for enums, color pickers, validated number fields
- Saves trigger SIGUSR2 so Ghostty reloads instantly
- Roundtrip-safe: your comments, blank lines, and ordering are preserved
- Platform-aware: only shows options for your OS
ghostcfg finds your config at:
- macOS:
~/Library/Application Support/com.mitchellh.ghostty/config - Linux:
~/.config/ghostty/config
License
MIT
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ghostcfg-0.1.1.tar.gz.
File metadata
- Download URL: ghostcfg-0.1.1.tar.gz
- Upload date:
- Size: 3.2 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
15e18e3d7543c1b3ba7f3b7b224d4a5311b89eee8f0e3d337abf1abd0350e614
|
|
| MD5 |
afee39cd6e07d350644c31c3375d7a3d
|
|
| BLAKE2b-256 |
83390191be0676e277dc9537f21f052d5d715502cf89fdd4cffd27fe132e8d90
|
Provenance
The following attestation bundles were made for ghostcfg-0.1.1.tar.gz:
Publisher:
publish.yml on samkleespies/ghostcfg
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ghostcfg-0.1.1.tar.gz -
Subject digest:
15e18e3d7543c1b3ba7f3b7b224d4a5311b89eee8f0e3d337abf1abd0350e614 - Sigstore transparency entry: 953632866
- Sigstore integration time:
-
Permalink:
samkleespies/ghostcfg@29a05b11f32e1b083d1971e51410e8ed8775a280 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/samkleespies
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@29a05b11f32e1b083d1971e51410e8ed8775a280 -
Trigger Event:
push
-
Statement type:
File details
Details for the file ghostcfg-0.1.1-py3-none-any.whl.
File metadata
- Download URL: ghostcfg-0.1.1-py3-none-any.whl
- Upload date:
- Size: 25.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2a78799156ddba00f83353476437d907e9688b7b38a6026d33e5f77bb0822347
|
|
| MD5 |
edcaa26cd82785a8a4bdb766489ab582
|
|
| BLAKE2b-256 |
72fee1b5212149437a49ba49765e1fd910f89a29ed8d451fedede6eadc1339c6
|
Provenance
The following attestation bundles were made for ghostcfg-0.1.1-py3-none-any.whl:
Publisher:
publish.yml on samkleespies/ghostcfg
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ghostcfg-0.1.1-py3-none-any.whl -
Subject digest:
2a78799156ddba00f83353476437d907e9688b7b38a6026d33e5f77bb0822347 - Sigstore transparency entry: 953632868
- Sigstore integration time:
-
Permalink:
samkleespies/ghostcfg@29a05b11f32e1b083d1971e51410e8ed8775a280 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/samkleespies
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@29a05b11f32e1b083d1971e51410e8ed8775a280 -
Trigger Event:
push
-
Statement type: