Syncs your Zellij theme with your Omarchy system theme automatically.
Showcase.mp4
Every time you run omarchy theme set, Zellij picks up the same color palette in real time.
Omarchy's template engine processes zellij.kdl.tpl using the active theme's colors.toml, generating a KDL theme block in ~/.local/state/omarchy/current/theme/zellij.kdl. A theme-set hook converts the output from comma-separated RGB (R,G,B) to space-separated (R G B) and injects the themes {} block directly into ~/.config/zellij/config.kdl. Since Zellij watches its config file, existing sessions hot-reload the new theme instantly.
colors.toml ──> omarchy theme set/refresh ──> zellij.kdl (R,G,B)
~/.local/state/omarchy/current/theme/
│
theme-set hook
(sed R,G,B -> R G B)
│
▼
~/.config/zellij/config.kdl
(inline themes {} block)
│
▼
Zellij hot-reloads ✓
| Zellij component | Omarchy color |
|---|---|
| Text base | foreground |
| Backgrounds | background, color0 (selected) |
| Ribbon selected | accent bg, background text |
| Ribbon unselected | color7 bg, background text |
| Frame selected | accent |
| Frame unselected | color8 |
| Frame highlight | color3 |
| Emphases | color1..color5 distributed across emphasis_0..3 |
| Exit success / error | color2 / color1 |
git clone https://github.com/skvggor/omarchy-zellij-theme.git
cd omarchy-zellij-theme
./install.shThe installer:
- Symlinks
zellij.kdl.tplinto~/.config/omarchy/themed/ - Installs the
theme-sethook into~/.config/omarchy/hooks/theme-set.d/(migrating legacy pre-Omarchy Quattro hooks) - Adds
theme "omarchy"to~/.config/zellij/config.kdl(creates a timestamped backup first) - Cleans up old theme file from previous approach if present
- Generates and injects the current theme inline into
config.kdl
It is safe to re-run -- the script is idempotent.
Omarchy Quattro moved the theme state to ~/.local/state/omarchy/current/ and changed the hook layout. If you installed a previous version of this theme, update and re-run the installer:
git pull
./install.shThe installer migrates everything automatically:
- Moves the hook from the legacy single-file
~/.config/omarchy/hooks/theme-setto~/.config/omarchy/hooks/theme-set.d/omarchy-zellij-theme(a custom hook of yours is preserved -- only the appended Zellij integration is removed) - Re-reads theme state from
~/.local/state/omarchy/current/ - Re-injects the current theme into
config.kdl, replacing any stale theme block
Save your work first: the last install step runs omarchy theme refresh, which restarts the terminal as part of applying the theme.
./uninstall.shThis reverts everything:
- Removes the template symlink from
~/.config/omarchy/themed/ - Removes the hook from
~/.config/omarchy/hooks/theme-set.d/(and any legacy pre-Omarchy Quattro integration) - Comments out
theme "omarchy"in~/.config/zellij/config.kdl - Removes the inline
themes {}block fromconfig.kdl - Cleans up old theme file if present
Zellij returns to its default theme on the next session.
| File | Purpose |
|---|---|
zellij.kdl.tpl |
Zellij theme template using {{ key_rgb }} placeholders |
theme-set |
Hook script -- converts RGB format and injects theme into config.kdl |
theme-notify |
Floating pane notification shown on theme change |
install.sh |
Installer (symlink, hook, config, initial apply) |
uninstall.sh |
Uninstaller (reverts all changes) |
- Omarchy Quattro or later with the template/hook system (
omarchy theme set,omarchy theme refresh) - Zellij with config at
~/.config/zellij/config.kdl
After installing, just use Omarchy as usual:
omarchy theme set tokyo-night # Zellij theme updates instantly (all sessions)
omarchy theme set catppuccin # sameAll Zellij sessions -- including ones already running -- pick up the new theme in real time.