A collection of elegant, cohesive themes for the Ghostty terminal by Black Atom Industries
This repository is a Ghostty adapter for the Black Atom theme ecosystem. In the Black Atom architecture:
- The core repository is the single source of truth for all theme definitions
- Each adapter implements these themes for a specific platform (Neovim, VS Code, Alacritty, etc.)
- The adapter uses templates to transform core theme definitions into platform-specific files
This modular approach ensures consistent colors and styling across all supported platforms while allowing for platform-specific optimizations.
Black Atom includes multiple theme collections, each with its own distinct style:
| Collection | Themes | Description |
|---|---|---|
| JPN | koyo-hiru, koyo-yoru, tsuki-yoru | Japanese-inspired themes |
| Stations | engineering, operations, medical, research | Space station-inspired themes |
| Terra | seasons (spring, summer, fall, winter) × time (day, night) | Earth season-inspired themes |
| CRBN | null, supr | Minimalist carbon themes |
All themes are available in both dark and light variants.
- Ghostty terminal emulator
- Black Atom Core (for adapting themes)
- Clone this repository:
git clone https://github.com/black-atom-industries/ghostty.git
cd ghostty- Adapt the theme files using Black Atom Core:
# From the core repository
black-atom-core adapt- Copy the adapted
.conffiles to your Ghostty themes directory:
COPY_PATH=~/.config/ghostty/themes
mkdir -p $COPY_PATH
cp themes/*/*.conf $COPY_PATHGhostty supports various ways to use themes. Below are the recommended methods for using Black Atom themes with Ghostty.
After installing the themes to your Ghostty themes directory, you can use the built-in theme option:
# In your ~/.config/ghostty/config file
theme = black-atom-jpn-koyo-yoruYou can also specify different themes for light and dark mode:
# Use different themes based on system appearance
theme = dark:black-atom-terra-fall-night,light:black-atom-terra-fall-dayDon't forget to reload your configuration after changing the theme.
Alternatively, you can directly include a theme file:
# In your ~/.config/ghostty/config file
include ~/.config/ghostty/themes/black-atom-jpn-koyo-yoru.confFor Ghostty to find themes by name, they must be placed in one of these directories:
$XDG_CONFIG_HOME/ghostty/themes(typically~/.config/ghostty/themes)$PREFIX/share/ghostty/themes
# Create the themes directory if it doesn't exist
mkdir -p ~/.config/ghostty/themes
# Copy the generated theme files
cp themes/*/*.conf ~/.config/ghostty/themes/To see all available themes including the Black Atom themes:
ghostty +list-themesGhostty themes are simple configuration files that set color options. Black Atom themes define the following properties:
# Basic terminal colors
background = #value
foreground = #value
cursor-color = #value
cursor-text = #value
selection-background = #value
selection-foreground = #value
# 16-color palette
palette = 0=#value # black
palette = 1=#value # dark red
...
palette = 15=#value # whiteFor more information on Ghostty themes, see the official documentation.
Our templates use the Eta template engine syntax to inject theme values from the Black Atom core definitions:
background = <%= theme.ui.bg.default %>
foreground = <%= theme.ui.fg.default %>
cursor-color = <%= theme.ui.fg.accent %>
# ...and so onTo create a new template:
- Create a
.template.conffile in the appropriate collection directory - Use template variables to reference color values from the core definitions
- Add the template to
black-atom-adapter.json - Adapt the theme using the core CLI
To adapt all themes from the templates, run the black-atom-core adapt command from the directory of this repository.
# Adapt all themes
black-atom-core adaptThis will process all template files defined in black-atom-adapter.json and create the corresponding .conf files.
For theme development, it's more efficient to use symlinks rather than copying files. This allows you to see changes immediately after adapting new theme files without having to copy them again:
# Create the Ghostty themes directory if it doesn't exist
mkdir -p ~/.config/ghostty/themes
# Create symlinks for all theme files
find ~/repos/black-atom-industries/ghostty/themes -name "*.conf" -type f -exec ln -sf {} ~/.config/ghostty/themes/ \;Alternatively, you can create symlinks for specific collections:
# JPN Collection
ln -sf ~/repos/black-atom-industries/ghostty/themes/jpn/black-atom-jpn-koyo-hiru.conf ~/.config/ghostty/themes/
ln -sf ~/repos/black-atom-industries/ghostty/themes/jpn/black-atom-jpn-koyo-yoru.conf ~/.config/ghostty/themes/
ln -sf ~/repos/black-atom-industries/ghostty/themes/jpn/black-atom-jpn-tsuki-yoru.conf ~/.config/ghostty/themes/
# Stations Collection
ln -sf ~/repos/black-atom-industries/ghostty/themes/stations/black-atom-stations-engineering.conf ~/.config/ghostty/themes/
ln -sf ~/repos/black-atom-industries/ghostty/themes/stations/black-atom-stations-operations.conf ~/.config/ghostty/themes/
ln -sf ~/repos/black-atom-industries/ghostty/themes/stations/black-atom-stations-medical.conf ~/.config/ghostty/themes/
ln -sf ~/repos/black-atom-industries/ghostty/themes/stations/black-atom-stations-research.conf ~/.config/ghostty/themes/
# And so on for Terra and CRBN collections...With symlinks in place, your workflow becomes:
- Make changes to templates
- Run
black-atom-core adapt - Reload Ghostty to see changes immediately
Contributions are welcome! If you'd like to improve existing themes or add new features:
- Fork the repository
- Create a feature branch
- Make your changes
- Create a pull request
MIT - See LICENSE for details
- Black Atom Core - Core theme definitions
- Black Atom for Neovim - Neovim adapter
- Black Atom for Zed - Zed editor adapter
- Black Atom for Obsidian - Obsidian adapter