MyGhostty is a smart, interactive installer that sets up Ghostty — the fast, feature-rich terminal — with a hand-crafted configuration, themes, and shell integration across all major Linux distributions. Zero manual config needed.
The installer interactively walks you through everything. You can also run it unattended using CLI parameters:
--yesor-y: Auto-accept all prompts.--minimalor-m: Skip downloading and installing the Matugen theme.
| Step | What It Does |
|---|---|
| 👻 Ghostty | Installs if not already present |
| 🔤 JetBrainsMono Nerd Font | Installed automatically as a dependency |
| ⚙️ Configuration | Applies the MyGhostty config (auto-backs up existing) |
| 🎨 Theme | Installs the ml4w-matugen theme |
| 🐚 Shell Integration | Auto-detected — bash / zsh / fish |
| 🖥️ Default Terminal | Optionally sets Ghostty as your system default |
🔄 myghostty-update |
Installed to ~/.local/bin for future updates |
After the initial install, a global myghostty-update command is available. Run it anytime to pull the latest changes:
myghostty-updateThis will:
- Pull the latest version from the repository
- Back up your existing
configandconfig.d(timestamped.bakfolders) - Apply the updated configuration and modular
config.dcomponents - Update the
ml4w-matugentheme (if installed and not restricted by minimal mode) - Re-apply your shell integration setting
MyGhostty uses a modular .conf file approach to keep settings organized instead of a single massive config file. Everything is housed inside $HOME/.config/ghostty/config.d/:
core.conf: Houses core terminal setup and shell integration.fonts.conf: Manages typeface, sizing, and ligatures.keybindings.conf: Custom hotkeys and shortcuts.appearance.conf: Padding, opacity, window snapping, blur, etc.theme.conf: Holds the selected color theme.custom.conf: Your personal sandbox. Add any custom configurations or overrides here safely.
Tip
If you wish to change settings, add them to config.d/custom.conf! This ensures your custom overrides won't conflict with MyGhostty's base structures during updates.
MyGhostty comes with some intuitive keybindings configured out of the box in config.d/keybindings.conf:
| Shortcut | Action |
|---|---|
| Ctrl + Shift + c | Copy to clipboard |
| Ctrl + g > g | Scroll to top (Vim style) |
| Shift + g > g | Scroll to bottom (Vim style) |
Tip
You can add your own keybindings by editing $HOME/.config/ghostty/config.d/keybindings.conf.
Note
If ~/.local/bin is not on your $PATH, the installer will print the export line to add to your shell config (e.g. ~/.bashrc or ~/.zshrc).
- ⚡ Automated interactive Ghostty installation
- 🔤 JetBrainsMono Nerd Font bundled as a dependency
- ⚙️ Custom Ghostty configuration with automatic backup
- 🎨 Matugen theme support out of the box
- 🐚 Automatic shell detection (bash / zsh / fish)
- 🖥️ Optional default terminal setup
- 🔄
myghostty-updatecommand for seamless future updates
| Distribution | Package Manager |
|---|---|
| Arch Linux | pacman |
| Fedora | dnf |
| openSUSE | zypper |
| Debian / Ubuntu | apt |
Tip
For other distributions, install Ghostty manually via the official guide, then re-run the installer to apply the configuration and theme.
Important
MyGhostty requires JetBrainsMono Nerd Font to be installed on your system. To install it manually, see the official JetBrains repository.
Thanks to the developers of these amazing projects:
- ghostty-org/ghostty — the terminal itself
- mylinuxforwork — theme and configuration inspiration
- JetBrains/JetBrainsMono — the beautiful font
Contributions, suggestions, and improvements are welcome!
Feel free to open issues or submit pull requests. If you find this project useful, consider supporting development:
