Home
Softono
ghostty-config

ghostty-config

Open source Apache-2.0 TypeScript
3.8K
Stars
71
Forks
15
Issues
10
Watchers
6 days
Last Commit

About ghostty-config

<div align="center"> <a href="https://zerebos.github.io/ghostty-config"><img src="./src/lib/images/icon.webp" height="128" alt="Ghostty Config"></a> <h1 align="center" style="border:0;">Ghostty Config</h1> <p align="center">A beautiful intuitive configuration generator for <a href="https://ghostty.org/" target="_blank">Ghostty</a> terminal.</p> [![GitHub Stars](https://www.shieldcn.dev/github/stars/zerebos/ghostty-config.svg?variant=secondary&size=sm)](https://github.com/zerebos/ghostty-config/stargazers) [![Build](https://www.shieldcn.dev/github/ci/zerebos/ghostty-config.svg?variant=secondary&size=sm)](https://github.com/zerebos/ghostty-config/actions) [![Framework · Svelte](https://www.shieldcn.dev/badge/Framework-Svelte-FF3E00.svg?logo=svelte&variant=branded&size=sm)](https://svelte.dev) [![Hosting · Cloudflare Workers](https://www.shieldcn.dev/badge/Hosting-Cloudflare_Workers-F38020.svg?logo=cloudflare&variant=branded&size=sm)](https://ghostty.zerebos.com) <img src="https://github.com/user-attac ...

Platforms

Web Self-hosted

Languages

TypeScript
Ghostty Config

Ghostty Config

A beautiful intuitive configuration generator for Ghostty terminal.

GitHub Stars Build Framework · Svelte Hosting · Cloudflare Workers

Preview of the terminal colorizer

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-entry settings)
  • [ ] Multi-entry setting support (settings like font-feature that 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!

Star History Chart