Convert old YAML themes using format.py
masterthemes_old/, you can use the format.py utility to convert them to the current project's YAML format. This script is a standalone utility and is not part of the standard automated generation pipeline.repository·master·Indexed 27 days ago
https://github.com/gogh-co/goghA collection of color schemes for various terminal emulators on Linux and macOS, including Gnome, Alacritty, iTerm, Kitty, Konsole, and others. It provides interactive and non-interactive installation methods, tools for previewing themes via remote TXT files, and a pipeline for creating custom themes using YAML definitions.
themes_old/, you can use the format.py utility to convert them to the current project's YAML format. This script is a standalone utility and is not part of the standard automated generation pipeline.Interactive mode is the easiest way to install Gogh. It allows you to select your theme from a list directly in your terminal.
For Linux users:
bash -c "$(wget -qO- https://git.io/vQgMr)"For macOS users:
bash -c "$(curl -sLo- https://git.io/vQgMr)"bash -c "$(wget -qO- https://git.io/vQgMr)"The tools pipeline consists of a series of scripts used to generate project data (JSON, TXT, CSV), accessibility reports, and installation scripts from theme definitions. To ensure data consistency, you must run the scripts in the following specific order:
pipe-generateJson.py: Reads YAML themes from themes/ to build data/themes.json and data/themes-min.json.pipe-generateJsonFiles.py: Splits data/themes.json into individual theme files in data/json/.pipe-generateTxtFiles.py: Creates 16-line TXT palette files (lines color_01 to color_16) for each theme in data/txt/.pipe-generateCsv.py: Exports data/themes.json to data/themes.csv.pipe-generateShFiles.py: Creates installation scripts in installs/ based on themes/*.yml.pipe-updateThemes.py: Updates the THEMES array within gogh.sh.pipe.py: Updates the run timestamp in tools/run.txt.pipe-generateWcag.js: Generates accessibility reports in data/wcag.json and data/wcag-min.json.Ideal for scripting or when you want full control over the files. This method involves cloning the repository and running specific theme scripts.
$HOME/src/gogh.TERMINAL environment variable (e.g., export TERMINAL=gnome-terminal or export TERMINAL=alacritty).pip install -r requirements.txt.installs directory and run the desired theme script (e.g., ./dracula.sh).mkdir -p "$HOME/src"
cd "$HOME/src"
git clone https://github.com/Gogh-Co/Gogh.git gogh
cd gogh
# For Gnome terminal
export TERMINAL=gnome-terminal
# For Alacritty
pip install -r requirements.txt
export TERMINAL=alacritty
cd installs
./dracula.shTo create a new theme, create a .yml file in the themes folder. The filename must match the theme name (e.g., Solarized Dark.yml) and use title case.
Theme YAML Template:
---
name: 'Gogh'
author: '' # 'Author Name (http://website.com)'
variant: '' # Dark or Light
color_01: '#292D3E' # Black (Host)
color_02: '#F07178' # Red (Syntax string)
color_03: '#62DE84' # Green (Command)
color_04: '#FFCB6B' # Yellow (Command second)
color_05: '#75A1FF' # Blue (Path)
color_06: '#F580FF' # Magenta (Syntax var)
color_07: '#60BAEC' # Cyan (Prompt)
color_08: '#ABB2BF' # White
color_09: '#959DCB' # Bright Black
color_10: '#F07178' # Bright Red (Command error)
color_11: '#C3E88D' # Bright Green (Exec)
color_12: '#FF5572' # Bright Yellow
color_13: '#82AAFF' # Bright Blue (Folder)
color_14: '#FFCB6B' # Bright Magenta
color_15: '#676E95' # Bright Cyan
color_16: '#FFFEFE' # Bright White
background: '#292D3E' # Background
foreground: '#BFC7D5' # Foreground (Text)
cursor: '#BFC7D5' # Cursor---
name: 'Gogh'
author: '' # 'Author Name (http://website.com)'
variant: '' # Dark or Light
color_01: '#292D3E' # Black (Host)
color_02: '#F07178' # Red (Syntax string)
color_03: '#62DE84' # Green (Command)
color_04: '#FFCB6B' # Yellow (Command second)
color_05: '#75A1FF' # Blue (Path)
color_06: '#F580FF' # Magenta (Syntax var)
color_07: '#60BAEC' # Cyan (Prompt)
color_08: '#ABB2BF' # White
color_09: '#959DCB' # Bright Black
color_10: '#F07178' # Bright Red (Command error)
color_11: '#C3E88D' # Bright Green (Exec)
color_12: '#FF5572' # Bright Yellow
color_13: '#82AAFF' # Bright Blue (Folder)
color_14: '#FFCB6B' # Bright Magenta
color_15: '#676E95' # Bright Cyan
color_16: '#FFFEFE' # Bright White
background: '#292D3E' # Background
foreground: '#BFC7D5' # Foreground (Text)
cursor: '#BFC7D5' # CursorBefore installing Gogh, you must install specific dependencies based on your Linux distribution to ensure color scheme application works correctly.
For Debian/Ubuntu:
sudo apt-get install dconf-cli uuid-runtimeFor Arch Linux:
sudo pacman -S dconf util-linux-libssudo apt-get install dconf-cli uuid-runtimeTo install Gogh directly to your system, download the binary to /usr/local/bin/gogh and make it executable.
WARNING: Only perform this if you trust the source and know what you are doing.
sudo wget -O /usr/local/bin/gogh https://git.io/vQgMr && sudo chmod +x /usr/local/bin/goghIf you only need a specific theme without cloning the entire repository, you can download the required scripts directly.
apply-colors.sh script.installs/ directory on GitHub.apply-alacritty.py or apply-terminator.py if using those terminals.Example usage:
TERMINAL=gnome-terminal bash ./selenized-dark.shOr specifying the apply script path:
GOGH_APPLY_SCRIPT=/path/to/file/apply-colors.sh bash ./selenized-dark.shwget https://github.com/Gogh-Co/Gogh/raw/master/apply-colors.sh
wget https://github.com/Gogh-Co/Gogh/raw/master/installs/selenized-dark.sh
TERMINAL=gnome-terminal bash ./selenized-dark.shTo use Gogh in a single command without a permanent installation, use bash -c with a remote script. You must pass -- before your theme arguments to ensure they are passed to the script correctly.
bash -c "$(wget -qO- https://git.io/vQgMr)" -- DraculaYou can generate a configuration file specifically for the Kitty terminal emulator from a remote TXT file. Redirect the output to a .conf file to save the generated configuration.
python3 color256.py --generate kitty <(curl -fsSL https://raw.githubusercontent.com/Gogh-Co/Gogh/refs/heads/master/data/txt/aci.txt) > aci.confYou can preview a color theme without downloading it locally by passing a remote TXT file directly to the color256.py script using process substitution. This allows you to see how the colors look in your terminal immediately.
python3 color256.py <(curl -fsSL https://raw.githubusercontent.com/Gogh-Co/Gogh/refs/heads/master/data/txt/aci.txt)To apply a color theme to your current terminal session temporarily using a remote TXT file, use the --apply flag. This is useful for testing themes quickly without permanent installation.
python3 color256.py --apply <(curl -fsSL https://raw.githubusercontent.com/Gogh-Co/Gogh/refs/heads/master/data/txt/aci.txt)