Gogh is a collection of color schemes for various terminal emulators, including Gnome Terminal, Pantheon Terminal, Tilix, and XFCE4 Terminal also compatible with iTerm on macOS. (https://gogh-co.github.io/Gogh/)
See the code
Gogh is a collection of color schemes for terminal emulators across Linux and macOS (plus Cygwin/Mintty on Windows) β see the Terminal Support table below for the full list. These schemes are designed to make your terminal more visually appealing and improve readability with better contrast and color differentiation.
The inspiration for Gogh came from the clean and minimalistic design of Elementary OS, but the project has since grown to include a variety of unique and beautiful options across platforms.
bash -c "$(curl -fsSL https://gogh.website/gogh)"
Index:
|
Getting Started |
Themes & Data Help & Contributing |
Project |

In your terminal, type:
For Debian/Ubuntu:
sudo apt-get install dconf-cli uuid-runtime
For Arch Linux:
sudo pacman -S dconf util-linux
You can now install Gogh interactively (easiest), install a specific theme directly in one line, or install non-interactively (ideal for scripting).
1. Run the one-line install command:
Linux
bash -c "$(wget -qO- https://gogh.website/gogh)"
macOS
bash -c "$(curl -fsSL https://gogh.website/gogh)"
Fish or NuShell
bash -c 'bash -c "$(wget -qO- https://gogh.website/gogh)"'
2. Select your theme from the interactive list.
DEMO:

Already know which theme you want? Skip the interactive list and pass its name after --:
bash -c "$(wget -qO- https://gogh.website/gogh)" -- "Aci"
For scripting, dotfiles, provisioning tools, CI, or container images.
TERMINAL, GOGH_NONINTERACTIVE, GOGH_USE_NEW_THEME, and the GOGH_*_SCRIPT path overrides).Here are some terminals that Gogh is supported with:
| Terminal | Web | Implementation | Docker test |
|---|---|---|---|
| Alacritty | Web | apply_alacritty() | β |
| Cygwin | Web | apply_cygwin() | β |
| Foot | Web | apply_foot() | β |
| Ghostty | Web | apply_ghostty() | β |
| Gnome | Web | apply_gtk() | β |
| Guake | Web | apply_guake() | β |
| iTerm | Web | apply_darwin() | |
| Kitty | Web | apply_kitty() | β |
| kmscon | Web | apply_kmscon() | β |
| Konsole | Web | apply_konsole() | β |
| linux (Linux virtual terminal) | Web | apply_linux_vt() | β |
| Mate | Web | apply_gtk() | β |
| Mintty | Web | apply_cygwin() | β |
| Pantheon / Elementary | Web | apply_elementary() | |
| Termux | Web | apply_termux() | β |
| Tilix | Web | apply_gtk() / apply_tilixschemes() | β |
| Wezterm | Web | apply_wezterm() | |
| XFCE4 | Web | apply_xfce4-terminal() | β |
| Terminator | Web | apply_terminator() | β |
We have lots of themes in stock!
Theme data is also published as plain files, for scripting or pulling into your own tools β not a dedicated API, just static content, no authentication needed:
To fetch the same files through GitHub's actual REST API instead (e.g. for conditional requests via ETag, or commit history on a file) use the Contents API:
curl -s https://api.github.com/repos/Gogh-Co/Gogh/contents/data/themes.json \
-H "Accept: application/vnd.github.raw+json"
That path is rate-limited like the rest of GitHub's REST API: 60 requests/hour unauthenticated. Add a personal access token (no special scopes needed for a public repo) to raise that to 5,000/hour:
curl -s https://api.github.com/repos/Gogh-Co/Gogh/contents/data/themes.json \
-H "Accept: application/vnd.github.raw+json" \
-H "Authorization: Bearer YOUR_GITHUB_TOKEN"
The raw files above aren't rate-limited this way β no token needed for those.
hash/hash_bg fields in themes.json are computed, for comparing and validating palettes across themes..yml template, the field-by-field reference, the rules a theme PR needs to follow, and how to check it locally with task validate before opening the PR.master does not track agent-context files β AGENTS.md and the memory/ folder
(architecture decisions + current project status) live on a dedicated orphan branch,
meta/agents-master, so the project's own history stays focused on Gogh itself.
If you want to work on this repo with an AI coding agent, bring those files into your working copy:
git restore --source meta/agents-master -- AGENTS.md
git restore --source meta/agents-master -- memory/
That gives you:
AGENTS.md β the entry-point pointer any agent should read first.memory/STATUS.md β the real, current state of the project (what's in progress,
what's uncommitted).memory/decisions/ β Architecture Decision Records (ADRs) for choices already made,
with their rationale, so an agent doesn't re-propose something already settled.Note: tool-specific folders such as .agents/ and .claude/ (agent skills) are
intentionally left out of this β there isn't an established, tool-agnostic standard
yet for how skills should be structured or shared, so for now they stay local/
untracked rather than committed to either branch.
Nov 18, 2013 - aa9871e
Many thanks to all who have participated in this project.
I cannot claim to be the only author of this project. Without the help of the people who have contributed, this would not have been possible. Therefore, that's why all contributors are listed first in this document. While I am listed as the author, the true authors are all those who are mentioned in the document. I would like to express my gratitude to all of them, as well as to future contributors.
There is no blue without yellow and without orange.
-- Vincent Van Gogh --
Gogh is dual-licensed under either the MIT license or the Apache License, Version 2.0, at your option.
(top 24 of 87)
44 followers Β· starred Nov 2020
490 followers Β· starred Feb 2018
318 followers Β· starred Apr 2019
335 followers Β· starred Oct 2026
Gogh is a collection of color schemes for various terminal emulators, including Gnome Terminal, Pantheon Terminal, Tilix, and XFCE4 Terminal also compatible with iTerm on macOS. (https://gogh-co.github.io/Gogh/)
See the code
Gogh is a collection of color schemes for terminal emulators across Linux and macOS (plus Cygwin/Mintty on Windows) β see the Terminal Support table below for the full list. These schemes are designed to make your terminal more visually appealing and improve readability with better contrast and color differentiation.
The inspiration for Gogh came from the clean and minimalistic design of Elementary OS, but the project has since grown to include a variety of unique and beautiful options across platforms.
bash -c "$(curl -fsSL https://gogh.website/gogh)"
Index:
|
Getting Started |
Themes & Data Help & Contributing |
Project |

In your terminal, type:
For Debian/Ubuntu:
sudo apt-get install dconf-cli uuid-runtime
For Arch Linux:
sudo pacman -S dconf util-linux
You can now install Gogh interactively (easiest), install a specific theme directly in one line, or install non-interactively (ideal for scripting).
1. Run the one-line install command:
Linux
bash -c "$(wget -qO- https://gogh.website/gogh)"
macOS
bash -c "$(curl -fsSL https://gogh.website/gogh)"
Fish or NuShell
bash -c 'bash -c "$(wget -qO- https://gogh.website/gogh)"'
2. Select your theme from the interactive list.
DEMO:

Already know which theme you want? Skip the interactive list and pass its name after --:
bash -c "$(wget -qO- https://gogh.website/gogh)" -- "Aci"
For scripting, dotfiles, provisioning tools, CI, or container images.
TERMINAL, GOGH_NONINTERACTIVE, GOGH_USE_NEW_THEME, and the GOGH_*_SCRIPT path overrides).Here are some terminals that Gogh is supported with:
| Terminal | Web | Implementation | Docker test |
|---|---|---|---|
| Alacritty | Web | apply_alacritty() | β |
| Cygwin | Web | apply_cygwin() | β |
| Foot | Web | apply_foot() | β |
| Ghostty | Web | apply_ghostty() | β |
| Gnome | Web | apply_gtk() | β |
| Guake | Web | apply_guake() | β |
| iTerm | Web | apply_darwin() | |
| Kitty | Web | apply_kitty() | β |
| kmscon | Web | apply_kmscon() | β |
| Konsole | Web | apply_konsole() | β |
| linux (Linux virtual terminal) | Web | apply_linux_vt() | β |
| Mate | Web | apply_gtk() | β |
| Mintty | Web | apply_cygwin() | β |
| Pantheon / Elementary | Web | apply_elementary() | |
| Termux | Web | apply_termux() | β |
| Tilix | Web | apply_gtk() / apply_tilixschemes() | β |
| Wezterm | Web | apply_wezterm() | |
| XFCE4 | Web | apply_xfce4-terminal() | β |
| Terminator | Web | apply_terminator() | β |
We have lots of themes in stock!
Theme data is also published as plain files, for scripting or pulling into your own tools β not a dedicated API, just static content, no authentication needed:
To fetch the same files through GitHub's actual REST API instead (e.g. for conditional requests via ETag, or commit history on a file) use the Contents API:
curl -s https://api.github.com/repos/Gogh-Co/Gogh/contents/data/themes.json \
-H "Accept: application/vnd.github.raw+json"
That path is rate-limited like the rest of GitHub's REST API: 60 requests/hour unauthenticated. Add a personal access token (no special scopes needed for a public repo) to raise that to 5,000/hour:
curl -s https://api.github.com/repos/Gogh-Co/Gogh/contents/data/themes.json \
-H "Accept: application/vnd.github.raw+json" \
-H "Authorization: Bearer YOUR_GITHUB_TOKEN"
The raw files above aren't rate-limited this way β no token needed for those.
hash/hash_bg fields in themes.json are computed, for comparing and validating palettes across themes..yml template, the field-by-field reference, the rules a theme PR needs to follow, and how to check it locally with task validate before opening the PR.master does not track agent-context files β AGENTS.md and the memory/ folder
(architecture decisions + current project status) live on a dedicated orphan branch,
meta/agents-master, so the project's own history stays focused on Gogh itself.
If you want to work on this repo with an AI coding agent, bring those files into your working copy:
git restore --source meta/agents-master -- AGENTS.md
git restore --source meta/agents-master -- memory/
That gives you:
AGENTS.md β the entry-point pointer any agent should read first.memory/STATUS.md β the real, current state of the project (what's in progress,
what's uncommitted).memory/decisions/ β Architecture Decision Records (ADRs) for choices already made,
with their rationale, so an agent doesn't re-propose something already settled.Note: tool-specific folders such as .agents/ and .claude/ (agent skills) are
intentionally left out of this β there isn't an established, tool-agnostic standard
yet for how skills should be structured or shared, so for now they stay local/
untracked rather than committed to either branch.
Nov 18, 2013 - aa9871e
Many thanks to all who have participated in this project.
I cannot claim to be the only author of this project. Without the help of the people who have contributed, this would not have been possible. Therefore, that's why all contributors are listed first in this document. While I am listed as the author, the true authors are all those who are mentioned in the document. I would like to express my gratitude to all of them, as well as to future contributors.
There is no blue without yellow and without orange.
-- Vincent Van Gogh --
Gogh is dual-licensed under either the MIT license or the Apache License, Version 2.0, at your option.
(top 24 of 87)
44 followers Β· starred Nov 2020
490 followers Β· starred Feb 2018
318 followers Β· starred Apr 2019
335 followers Β· starred Oct 2026