catppuccin / catppuccin/iterm

feat: keep iTerm2-Color-Schemes in sync

Open
#32 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
954
Forks
68
PR merge metrics
No merged PRs in 30d

Description

The https://github.com/mbadolato/iTerm2-Color-Schemes repository is the official source of color schemes bundled with iTerm2 (and other terminals as well, such as Ghostty). A catppuccin port was included there as part of https://github.com/catppuccin/iterm/issues/8.

However, there have been changes to this color scheme, which left `iTerm2-Color-Schemes` out of sync, and the cursor text unintelligible (see https://github.com/mbadolato/iTerm2-Color-Schemes/pull/560). Although it is possible to download the canonical color scheme from this repo, it certainly feels superfluous when catppuccin is a builtin color scheme.

Ideally, there should be a CI workflow to create a pull request to `iTerm2-Color-Schemes` on every merged pull request to this repository.

I created https://github.com/mbadolato/iTerm2-Color-Schemes/pull/560 by running the following commands locally, which could be adapted for an automated CI workflow:

```bash
git clone https://github.com/mbadolato/iTerm2-Color-Schemes
git clone https://github.com/catppuccin/iterm
cp -rf iterm/colors/catppuccin-* iTerm2-Color-Schemes/schemes/
cd iTerm2-Color-Schemes
pyenv install
pyenv virtualenv venv-iterm
pyenv activate venv-iterm
pip install -r requirements.txt
python3 tools/p3tosRGB.py schemes/catppuccin-latte.itermcolors
python3 tools/p3tosRGB.py schemes/catppuccin-frappe.itermcolors
python3 tools/p3tosRGB.py schemes/catppuccin-macchiato.itermcolors
python3 tools/p3tosRGB.py schemes/catppuccin-moccha.itermcolors
make
git checkout -b catppuccin
git add .
git commit -m "fix(catppuccin): sync catppuccin with canonical repo"
```

Alternatively, add contribution instructions and add syncing with `iTerm2-Color-Schemes` as a required step.

One of the big advantages of syncing with `iTerm2-Color-Schemes` is that by maintaining only one repo, we get color schemes for all popular terminals (iTerm2, Alacritty, Ghostty, XTerm, Foot, Kitty, Wezterm, etc.) "for free".

Another option would be to maintain the `iterm` color scheme directly in `iTerm2-Color-Schemes`, and either deprecate the catppuccin repos, or set up CI workflows to pull changes from `iTerm2-Color-Schemes` automatically, which would significantly reduce maintenance burden.

Contributor guide

Open the contributing guide

Research direction

Start with the listed sync commands, especially copying iterm/colors/catppuccin-* into iTerm2-Color-Schemes/schemes/ and running tools/p3tosRGB.py, requirements.txt, and make in that repository. Determine which synchronization approach is intended, then verify that a merged change can produce an up-to-date pull request against iTerm2-Color-Schemes.

Written by the indexing model from the issue text.

Assessment

Tech stack
git, github-actions, python, shell
Domain
ci-cd, devops, tooling
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.