Skip to main content

Full visual profile manager for Ghostty terminal — beyond just colors.

Project description

🍚 ghostty-rice

Full visual profile manager for Ghostty — beyond just colors.

PyPI Python CI License

English简体中文


Beyond just colors — total visual control for your Ghostty terminal.

ghostty-rice demo — switching profiles in real time

One command. Entire visual transformation. Ghostty reloads instantly.

Profile Gallery (click to expand)
Catppuccin Mocha One Dark Pro Cyber
Nord Dracula Frosted
Gruvbox
Minimal

Color themes only change 16 ANSI colors. ghostty-rice manages complete visual profiles — colors, opacity, blur, titlebar, cursor, padding, icons — and switches them with a single command.

rice switch    # Interactive live switch with instant preview + reload

Why ghostty-rice?

Projects like catppuccin/ghostty and iTerm2-Color-Schemes are color palettes. A terminal's look is more than 16 colors:

Other Color Schemes 🍚 ghostty-rice
✅ Foreground & Background Everything they do, plus:
✅ 16 ANSI Palette Colors ✅ Window Opacity & Blur Effects
❌ Titlebar Style ✅ Titlebar Style (tabs, transparent, hidden)
❌ Cursor Customization ✅ Cursor Shape, Color & Animation
❌ Window Spacing ✅ Window Padding & Spacing
❌ App Icon ✅ App Icon Variant

Install

pipx install ghostty-rice
Other methods
# With pip
pip install ghostty-rice

# From source
git clone https://github.com/jayleonc/ghostty-rice.git
cd ghostty-rice
pip install -e .

Quick Start

# List available profiles
rice list

# Interactive switch (Themes / Appearance / Fonts / Prompt — 4-tab live preview)
rice switch

# Interactive font picker (quality fonts only, +/- to resize live)
rice font

# Interactive zsh prompt picker + one-shot install to ~/.zshrc
rice prompt --install

# Preview without switching
rice preview "Cyber"

# Check setup
rice doctor
# Install safe fixes (recommended once, macOS terminfo for Vim/Neovim)
rice doctor --fix

# See current profile
rice current

Built-in Profiles (10)

Profile Style
Catppuccin Mocha Late-night café warmth — fully opaque, steady bar cursor, cozy
One Dark Pro Studio baseline — high-adoption One Dark family, stable contrast
Codex Graphite focus — Codex-like dark chrome, warm accent, low-glare text
Everforest Soft woodland dark — muted contrast for long sessions
Cyber Blade Runner HUD — translucent glass on neon wallpapers, hidden chrome
Minimal The typewriter — zero decoration, generous margins, Dieter Rams simplicity
Frosted Morning studio — frosted light mode with deeper ink and near-opaque glass
Nord Scandinavian clarity — fully opaque cool precision, Arrival-grade calm
Gruvbox Analog warmth — fully opaque, earth tones, Wes Anderson palette
Dracula Gothic cinema — fully opaque purple-grey, bold accents, Tim Burton drama

Rice Switch

rice switch opens a bordered, Mason/Lazy-style panel with 4 tabs:

Tab What it does
1 Themes Browse 14 dark theme families with live preview and color swatches
2 Appearance Accent / Background / Foreground colors, Contrast, Translucent glass
3 Fonts Font family picker + font size adjustment
4 Prompt Shell prompt presets with sample preview (applied on confirm)

Keyboard flow:

  • 1/2/3/4: switch tabs
  • j/k or ↑/↓: move selection
  • h/l or ←/→ or +/-: adjust values / font size
  • /: search in current list tab
  • i: apply current selected item immediately
  • u: reset to selected theme defaults
  • Enter: confirm and apply all
  • q: cancel and rollback

Shell Prompt Presets (zsh)

8 built-in prompt presets — from ultra-minimal to two-line with git branch:

Preset Sample Style
Zen Status arrow only
Minimal Arrow ghostty-rice › Repo name + arrow
Lambda λ ghostty-rice › Lambda accent
Dev Compact (.venv) repo/subdir » Virtualenv + short path
Starship ~/project main Two-line with git branch
Boxed ┌ ~/project (main)└ ❯ Box-drawn frame + git
Deep Path (.venv) ~/Dev/project ❯ Full path
Context Rich [.venv] jay@mbp project # user@host + path

Prompts can be selected inside rice switch (Tab 4) or standalone:

rice prompt --install

First install requires one reload:

source ~/.zshrc

After that, changing preset via rice prompt or rice switch is applied on the next prompt automatically in Ghostty zsh. The bootstrap also sets a subtle default for zsh-autosuggestions (fg=#555555, theme-safe hex) and exports COLORTERM=truecolor.

If you use Oh My Zsh / Starship / Powerlevel10k, keep the rice bootstrap near the end of ~/.zshrc so it takes effect after other prompt initializers.

Custom Profiles

Profile files follow Ghostty's own format — plain key = value, no file extension, filename is the profile name.

1. Create from an existing profile:

rice create "My Theme" --from "Catppuccin Mocha"

2. Or write one from scratch:

Create a file in the rice profiles directory:

~/.config/ghostty/rice/profiles/
theme = Catppuccin Mocha
background-opacity = 0.90
background-blur = macos-glass-regular
macos-titlebar-style = transparent
window-padding-x = 12
window-padding-y = 8
cursor-style = block
cursor-style-blink = true

3. Add metadata (optional) in manifest.toml alongside your profiles:

[profiles."My Theme"]
description = "My custom visual profile"
author = "me"
tags = ["dark", "custom"]

4. Use it:

rice switch    # then pick "My Theme"

Diagnostics

rice doctor

Checks Ghostty installation, version, running state, automation permissions, xterm-ghostty terminfo, config directory, and profile status in one command. If Vim/Neovim colors or key behavior look wrong, run rice doctor --fix once.

How It Works

ghostty-rice preserves your base Ghostty config (shell, fonts, keybinds) and only manages the visual profile section. When you switch profiles:

  1. Your base config stays untouched
  2. The profile section is replaced
  3. Ghostty is auto-reloaded (macOS: native AppleScript API, Linux: xdotool)

Platform Support

Platform Profile switching Auto-reload
macOS Full Native AppleScript API
Linux Full Via xdotool (optional)

Call for Themes

We're building a collection of stunning Ghostty visual profiles — and your profile could be next.

If you've crafted a look you love, submit it as a PR:

  1. Add your profile file to ghostty_rice/presets/
  2. Add metadata in ghostty_rice/presets/manifest.toml
  3. (Bonus) Include a screenshot in docs/screenshots/

All contributors are credited in the manifest. See Contributing below for dev setup.

Contributing

Contributions welcome — especially new profiles, platform support, and shader management.

git clone https://github.com/jayleonc/ghostty-rice.git
cd ghostty-rice
uv venv .venv && source .venv/bin/activate
uv pip install -e ".[dev]"
pytest

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

ghostty_rice-0.2.1.tar.gz (80.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ghostty_rice-0.2.1-py3-none-any.whl (46.1 kB view details)

Uploaded Python 3

File details

Details for the file ghostty_rice-0.2.1.tar.gz.

File metadata

  • Download URL: ghostty_rice-0.2.1.tar.gz
  • Upload date:
  • Size: 80.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ghostty_rice-0.2.1.tar.gz
Algorithm Hash digest
SHA256 ae47f0dd0e7efa8212f19326230447699098a78c4e68094b9ef13edaf84feb3d
MD5 532376fe2ecc69525287c1a33144ff20
BLAKE2b-256 a41691acbd712bf444e48849a1147ee07862ed353be34f3c25acd8709b582929

See more details on using hashes here.

Provenance

The following attestation bundles were made for ghostty_rice-0.2.1.tar.gz:

Publisher: publish.yml on Jayleonc/ghostty-rice

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ghostty_rice-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: ghostty_rice-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 46.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ghostty_rice-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 c8b6a4aad1deecf5061ecbe142da16564e6cc8bfe1de04936f8f4c9e92c57c2a
MD5 031942289db30ee17b2b7e1bd64d40c6
BLAKE2b-256 c348ca67509480260cce8628824230b35b9b6e172ec121676b71d2c1d1442bad

See more details on using hashes here.

Provenance

The following attestation bundles were made for ghostty_rice-0.2.1-py3-none-any.whl:

Publisher: publish.yml on Jayleonc/ghostty-rice

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page