2026-11-08 19:53:26 -06:00
2026-11-07 22:40:47 -06:00
2026-11-07 22:40:47 -06:00
2026-11-07 22:40:47 -06:00
2026-11-07 22:40:47 -06:00
2026-11-07 22:40:47 -06:00
2026-11-07 22:40:47 -06:00
2026-11-06 20:26:39 -06:00
2026-11-07 22:40:47 -06:00
2026-11-06 20:26:39 -06:00
2026-11-07 22:40:47 -06:00
2026-11-07 22:40:47 -06:00
2026-11-07 22:40:47 -06:00
2026-11-07 22:40:47 -06:00
2026-11-06 20:26:39 -06:00
2026-11-06 20:26:39 -06:00

Pult

Pult (pult) is a universal remote for your colors: a terminal app that themes your other apps from one palette. It finds which apps you have installed, changes only their colors, and records every change so it can put your configs back exactly as they were.

Status: early 0.x releases, so expect changes between them. See the M1 plan.

Install

Arch Linux, from the subcult pacman repository on git.subcult.tv (Gitea signs it with its own key):

curl -fsS https://git.subcult.tv/api/packages/subculture-collective/arch/repository.key | sudo pacman-key --add -
sudo pacman-key --lsign-key CCE8B0F3BCDD601D909773E4466AA6E8241453D2
printf '\n[subcult]\nSigLevel = Required\nServer = https://git.subcult.tv/api/packages/subculture-collective/arch/$repo/$arch\n' | sudo tee -a /etc/pacman.conf
sudo pacman -Sy pult

Other platforms: release tarballs from Releases (pult with the catalog built in), or build from source with Go 1.26 or newer:

git clone https://git.subcult.tv/subculture-collective/pult.git
cd pult
make catalog
go build -o ~/.local/bin/pult ./cmd/pult
export PULT_CATALOG=$PWD/.cache/catalog.db.zst

Usage

make catalog                                   # build .cache/catalog.db.zst from the pinned sources
export PULT_CATALOG=$PWD/.cache/catalog.db.zst
go run ./cmd/pult tui                        # browse, preview, apply and undo
go run ./cmd/pult search -tag pastel rose    # find themes; -similar <id> lists close matches
go run ./cmd/pult apply -dry-run catppuccin-mocha   # plan and diffs, nothing written
go run ./cmd/pult apply catppuccin-mocha
go run ./cmd/pult uninstall                  # put every changed file back
go run ./cmd/pult palette catppuccin-mocha   # print the resolved palette as JSON (or -format toml)
go run ./cmd/pult render catppuccin-mocha my.conf.mustache   # render one template, nothing applied (-aether for an Aether template)
go run ./cmd/pult doctor                     # interrupted runs, app upgrades, Omarchy, frameworks
go run ./cmd/pult update                     # install the newest signed data bundle
go run ./cmd/pult apply -profile desk        # a profile: theme or palette file, apps, terminal font

Files that stow, chezmoi, a palette generator or a Hyprland framework manage are only written after you confirm. On Omarchy, Pult writes an Omarchy theme and switches to it instead of editing Omarchy's files.

Goals

  • Pick a theme from a large catalog (iTerm2 Color Schemes, Tinted Theming, Catppuccin, Dracula, Gogh) or bring your own.
  • Apply it to every supported app it finds, using the app's include or theme mechanism where possible, so other settings are never touched.
  • Undo everything with pult uninstall.
  • Work alongside Omarchy, stow, chezmoi and palette generators instead of fighting them.
  • Linux and macOS.

Documentation

Development

make verify
make catalog   # fetch the pinned theme sources and build .cache/catalog.db.zst (needs git and network)

Gitea (git.subcult.tv/subculture-collective/pult) is the primary repository.

License

Code: GPL-3.0-only, see LICENSE. Templates (templates/) and the app registry (registry/): MIT, see LICENSES/MIT.txt. Themes in the catalog keep their own licences, recorded per theme.

S
Description
Pult: a universal remote for your colors. TUI that themes your apps from one palette without touching other settings, with full rollback
Readme MIT
1.9 MiB
0 Stars 2 Watchers 0 Forks
Pult 0.2.0
Latest
2026-11-08 14:04:09 -06:00
Languages
Go 83.9%
Mustache 6.2%
HTML 5.1%
CSS 2.2%
Shell 1.2%
Other 1.4%