config: Base Ghostty configuration that setsx.iniand other defaults.install.sh: Installs themes and configuration, ensures dependencies, and adds shell aliases for fast theme switching.themes/*.ini: Theme files ready to be used by Ghostty:x.inimadrid.inilahabana.iniseul.inimiami.iniparis.initokio.inioslo.inihelsinki.iniberlin.inilondon.inipraha.inibogota.ini
- Ghostty installed.
sed,bashorzsh.fontconfig(fc-list),curlorwget,unzip.- A Nerd Font installed, specifically
Hack Nerd Font(installer tries to install it automatically).
- One-liner:
wget -qO- https://raw.githubusercontent.com/xscriptor/terminal/main/ghostty/install.sh | bashor
- Download the repo, go to the folder and run the installer:
chmod +x install.sh && ./install.sh
- What the installer does:
- Detects your package manager and installs any missing dependencies (
ghostty,sed,fontconfig,curl/wget,unzip). - Verifies
Hack Nerd Font; if missing, downloads and installs it (Linux/macOS). - Copies all
themes/*.iniinto~/.config/ghostty/themes(or downloads them from the repo if not present locally). - Backs up any existing config to
~/.config/ghostty/config.bak.<timestamp>. - Installs the provided
configto~/.config/ghostty/configand (on macOS) also writes to~/Library/Application Support/com.mitchellh.ghostty/config.
- Detects your package manager and installs any missing dependencies (
- Ensures the default theme line is
theme = x.ini. - Appends shell aliases to
~/.bashrcand~/.zshrc. - Reload your shell session:
source ~/.bashrcorsource ~/.zshrc
- Remote one‑liner:
wget -qO- https://raw.githubusercontent.com/xscriptor/terminal/main/ghostty/uninstall.sh | bash
# or
curl -fsSL https://raw.githubusercontent.com/xscriptor/terminal/main/ghostty/uninstall.sh | bash- Local:
chmod +x uninstall.sh && ./uninstall.sh- Generic function:
ghx <theme_name>- Example:
ghx oslowritestheme = oslo.iniin~/.config/ghostty/config.
- Ready-to-use aliases:
ghxx,ghxmadrid,ghxlahabana,ghxseul,ghxmiami,ghxparis,ghxtokio,ghxoslo,ghxhelsinki,ghxberlin,ghxlondon,ghxpraha,ghxbogota
ghostty/config:theme = x.inifont-family = Hack Nerd Fontfont-family = Noto Color Emojifont-size = 10cursor-style = blockcursor-style-blink = truecopy-on-select = clipboardmouse-hide-while-typing = truemouse-scroll-multiplier = 2window-decoration = falsemacos-titlebar-style = hiddenwindow-save-state = alwayswindow-padding-x = 0window-padding-y = 0window-padding-balance = truewindow-padding-color = extendbackground-opacity = 0.80background-blur = truegtk-single-instance = desktopshell-integration = detectshell-integration-features = cursor,sudo,title- Keybinds for reload/new window/tab and splits (Linux/macOS variants).
- Ghostty looks up theme files by name in
~/.config/ghostty/themes. The installer writestheme = x.ini. - Aliases update the single
themeline in~/.config/ghostty/config. If you maintain multiple configs (e.g. macOS App Support path), you can duplicate the change manually. - If your font family differs, adjust
font-familyin~/.config/ghostty/configand verify withghostty +list-fonts. - On Wayland compositors and macOS, background blur behavior depends on OS/DE capabilities; set
background-blurandbackground-opacityto taste. - When running in single-instance mode, opening a new window applies the updated config; otherwise restart Ghostty if some options don’t reload live.
- Aliases not available:
- Run
source ~/.bashrcorsource ~/.zshrc.
- Run
- Font not detected:
- Re-run the installer or set
font-familyto a Nerd Font you already have; confirm withfc-list(Linux) or Ghostty’s+list-fonts.
- Re-run the installer or set
- Theme change not visible:
- Ensure the theme file exists in
~/.config/ghostty/themesandtheme = <name>.iniis present in config; open a new Ghostty window.
- Ensure the theme file exists in

