Skip to main content

Overview

Ghostty is a fast, feature-rich terminal emulator that serves as the default terminal for Kanagawa. It provides excellent performance, native Wayland support, and seamless theme integration.

Key Features

Fast Performance

GPU-accelerated rendering for smooth scrolling and responsive input

Theme Integration

Automatic color scheme synchronization with Kanagawa themes

Background Blur

Native blur support with adjustable transparency

Hot Reload

Live config reload with SIGUSR2 signal - no restart needed

Configuration

Ghostty configuration is located at ~/.config/ghostty/config:
config-file = "colors/colors"

cursor-opacity = 1

background-opacity = 0.95
background-blur = true
window-padding-x = 2

font-family = CaskaydiaCove NFM
font-style = Regular
font-size = 13

keybind = shift+enter=text:\n
keybind = ctrl+r=reload_config

confirm-close-surface = false

Visual Customization

Transparency and Blur

Ghostty supports adjustable transparency with background blur:
background-opacity = 0.95  # 95% opacity
background-blur = true     # Enable blur effect
Background blur requires compositor support. Hyprland provides excellent blur performance.

Font Configuration

The default font is CaskaydiaCove Nerd Font Mono, which includes programming ligatures and icon support:
font-family = CaskaydiaCove NFM
font-style = Regular
font-size = 13
Nerd Fonts include thousands of icons and glyphs, perfect for modern CLI tools and shell prompts.

Window Padding

window-padding-x = 2  # Horizontal padding in pixels

Theme System Integration

Ghostty automatically loads colors from the theme system:
config-file = "colors/colors"
This file is dynamically generated by the theme selector and contains the active color scheme.

Available Themes

  • Kanagawa - Deep, warm color palette inspired by Japanese paintings
  • Catppuccin - Pastel theme with soothing colors
  • Gruvbox - Retro groove color scheme
  • Everforest - Comfortable green forest theme

Hot Reload with SIGUSR2

Ghostty supports live theme switching without restarting:
# Reload Ghostty configuration
pkill -SIGUSR2 ghostty
The theme selector automatically sends this signal when you switch themes:
# Switch theme (automatically reloads Ghostty)
~/.local/bin/theme-selector
Press SUPER + SHIFT + Enter to open the theme selector from anywhere.

Keybindings

Ghostty includes custom keybindings for enhanced productivity:

Multi-line Input

keybind = shift+enter=text:\n
Press Shift + Enter to insert a newline without executing the command.

Config Reload

keybind = ctrl+r=reload_config
Press Ctrl + R to reload the configuration file without restarting.

Launching Ghostty

From Hyprland

Press SUPER + T to launch Ghostty:
# keybindings.conf
$terminal = env GTK_IM_MODULE=simple ghostty
bind = $mainMod, T, exec, $terminal
The GTK_IM_MODULE=simple environment variable ensures proper input method handling.

From Command Line

# Launch Ghostty
ghostty

# Launch with specific command
ghostty -e nvim

# Launch with custom config
ghostty --config-file /path/to/config

Advanced Features

Cursor Customization

cursor-opacity = 1  # Fully opaque cursor

Close Confirmation

confirm-close-surface = false  # No confirmation when closing
Disables the confirmation dialog when closing terminal windows with running processes.

Color Scheme Format

The colors/colors file uses Ghostty’s color configuration format:
# Example color scheme (Kanagawa)
background = 1f1f28
foreground = dcd7ba

# Normal colors
palette = 0=16161d
palette = 1=c34043
palette = 2=76946a
palette = 3=c0a36e
palette = 4=7e9cd8
palette = 5=957fb8
palette = 6=6a9589
palette = 7=c8c093

# Bright colors
palette = 8=727169
palette = 9=e82424
palette = 10=98bb6c
palette = 11=e6c384
palette = 12=7fb4ca
palette = 13=938aa9
palette = 14=7aa89f
palette = 15=dcd7ba

Integration with Shell

Ghostty works seamlessly with modern shell configurations:

Zsh Integration

Ghostty provides excellent integration with oh-my-zsh and Powerlevel10k:
  • True color support (24-bit)
  • Nerd Font icon rendering
  • Fast prompt rendering
  • Proper terminal capabilities

Command Execution

Launch Ghostty with a specific command:
ghostty -e zsh -c "nvim ~/notes.md"

Troubleshooting

Ensure you’re sending the reload signal:
pkill -SIGUSR2 ghostty
Or press Ctrl + R inside Ghostty.
Install the required Nerd Font:
# On Arch Linux
yay -S ttf-cascadia-code-nerd
Verify Hyprland blur is enabled:
# hyprland.conf
decoration {
    blur {
        enabled = true
    }
}

Learn More

Ghostty Documentation

Official Ghostty documentation and configuration reference

Theme System

Learn how terminal themes are managed

Build docs developers (and LLMs) love