Overview
[!NOTE] This tool and the list of features and future improvements is not complete--even the name is up for debate! Please give your feedback, ideas, and report bugs via the github issue tracker.
Ghostty Config is a beautiful web-based configuration generator designed to make customizing your Ghostty terminal effortless. Rather than manually editing text files and worrying about formatting and syntax, Ghostty Config allows you to visually adjust settings, preview changes in real time and export a ready-to-use config.
Under the hood, every setting is driven by a typed schema derived directly from Ghostty's own config specification. The tool tracks only the values that differ from Ghostty's defaults, so the exported config stays minimal and easy to read. Settings are organized into categories that derive from Ghostty's config, and each one carries inline documentation, platform restrictions, and version metadata sourced from the schema.
This project is built with Svelte + TypeScript via Bun. It is automatically deployed with Cloudflare Workers so the hosted version is always up to date.
Try it now: ghostty.zerebos.com
Features
- Interactive settings editor: Tweak fonts, colors, cursor styles, transparency, blur, and much more across organized, categorized setting pages.
- Font playground: Experiment with JetBrains Mono, Nerd Fonts, or any custom font and see the result live.
- Live previews: Instant visual demos for cursors, text selections, app icons, and color palettes as you edit.
- Keybinding builder: Build and validate keybindings with an interactive trigger/action editor, including sequence, prefix, and chained-action support.
- Import & export: Paste, upload, copy, or download configs; only settings that differ from defaults are included in the output.
- Config sharing: Share configs with others via a shareable URL (falls back to clipboard copy for large configs).
- Help info: Detailed documentation shown inline for every individual setting.
- Indicators: Per-setting badges showing required platform (macOS, Linux, GTK) and minimum Ghostty version.
- Sidebar search: Instantly browse and jump to any setting, mirroring macOS native preferences UI.
- Reset to defaults: Restore any individual setting to its default value at any time.
Tech Stack
- Bun: A modern JavaScript and TypeScript runtime
- Svelte: UI framework for fast, reactive interfaces
- TypeScript: Strong typing for maintainable code
- Vite: Lightning‑fast bundler and dev server
- Cloudflare: CI/CD for automated deployment
Installation (Local Development)
Simply clone the repo and run locally:
git clone https://github.com/zerebos/ghostty-config.git
cd ghostty-config
bun install
bun run dev
Then open http://localhost:5173 in your browser when prompted.
Other useful commands:
bun run build # production build (output under build/)
bun run preview # serve the production build locally
bun run check # Svelte + TypeScript type checking
bun run lint # ESLint
bun run test # Vitest unit tests
Deployment
The only automated deployment built-in is via Cloudflare Workers which automatically deploys to ghostty.zerebos.com on every push to the main branch. If you want to self-host the files for a static website will be available under build/ after following the steps above to build.
Roadmap
- [x] Custom settings support
- [x] Terminal preview
- [x] Font playground
- [x] Import & export
- [x] Basic keybind settings
- [x] Editable color pickers
- [x] Update for Ghostty 1.1
- [x] Update for Ghostty 1.2
- [x] Update for Ghostty 1.3
- [x] Update for Ghostty 1.4-nightly
- [x] Icon customization
- [x] Keybind builder and validation
- [x] In-app help documentation
- [x] Resetting individual settings
- [x] Sidebar search like native
- [x] Platform indicators
- [x] Version indicators
- [x] Shareable URLs
Near-term
- [ ] Command palette builder (guided UI for
command-palette-entrysettings) - [ ] Multi-entry setting support (settings like
font-featurethat repeat in the config) - [ ] Full schema-driven custom setting types matching Ghostty's type system
- [ ] Community presets for quick theme/workflow setup
- [ ] Unit tests for import/export flows
Long-term
- [ ] Rich interactive terminal playground
- [ ] Desktop version for direct config file integration
Contributing
Feedback, ideas, and bug reports are welcome!
- Open an issue in the GitHub tracker
- Submit a pull request with improvements
When contributing code, make sure these pass before opening a PR:
bun run check # type errors
bun run lint # style violations
bun run test # unit tests
License
Licensed under the Apache‑2.0 License.
Star History
If you find Ghostty Config useful, please consider starring the repo to help others discover it!