PixelWave is a sleek, bright, vibrant Zsh theme that mixes old‑school pixel vibes with modern high‑color rendering. It shows a rainbow “pixel bar,” a neon‑colored identity line (via lolcat), your full path, and concise Git status.
Compatibility note: PixelWave is exercised regularly on desktop terminal apps for macOS and Linux (e.g., iTerm2, Apple Terminal, GNOME Terminal, Alacritty). The theme almost certainly works in similar environments, but it has not been exhaustively tested elsewhere, so assume remote/web terminals or atypical shells may behave differently until you verify.
Oh My Zsh compatible out of the box, but it’s just Zsh—no external frameworks required.
-
Two-line header:
- line 1: a crisp rainbow “pixel bar” (truecolor).
- line 2: a lolcat‑colored prefix + full path (or
~/…if under$HOME) + Git branch & state.
-
Clear prompt: green
❯when the last command succeeded, red❯on error. -
Git status: branch + symbols (✚ unstaged, ● staged, … untracked).
-
Truecolor with hex codes (e.g.,
%F{#ff79c6}). -
Minimal and fast: no external plugins required beyond
gitandlolcat.
-
zsh 5.x or newer
-
Git (for the Git segment)
-
lolcat
- Used only to colorize the prefix on the second line.
- This theme intentionally preserves a hard‑coded path (
/usr/games/lolcat) because some rendering environments don’t have a usablePATH.
-
Font: JetBrains Mono
- If the branch glyph
(U+E0A0) doesn’t render in your terminal/font, either use JetBrains Mono or set an alternate icon viaPW_BRANCH_ICON=⎇.
- If the branch glyph
Truecolor recommended. In your shell profile, set:
export COLORTERM=truecolor
-
Copy the theme file into your custom themes directory:
mkdir -p ~/.oh-my-zsh/custom/themes cp pixelwave.zsh-theme ~/.oh-my-zsh/custom/themes/pixelwave.zsh-theme
-
Enable the theme in
~/.zshrc:ZSH_THEME="pixelwave" plugins=(git) # recommended for git completions/aliases
-
Restart your shell:
exec zsh -l
PixelWave is pure Zsh; Oh My Zsh is optional. If you don’t use Oh My Zsh, source the theme in your
.zshrcand setPROMPTaccordingly.
To make this reliable across environments where PATH might be unavailable during prompt rendering, the theme resolves lolcat in this order:
PW_LOLCATenvironment variable (absolute path), if set and executable.command -v lolcat- Fallback:
/usr/games/lolcat(intentionally hard‑coded and never removed).
If nothing above resolves, the theme still attempts to invoke /usr/games/lolcat, matching the original behavior. This contract is deliberate so rendering doesn’t silently change in constrained environments.
Optional override:
# Example: point directly to your lolcat binary
export PW_LOLCAT="$HOME/.local/bin/lolcat"All knobs are optional; default behavior matches the checked‑in theme.
-
PW_LOLCAT— absolute path tololcat. Takes priority if executable. -
PW_BRANCH_ICON— set an alternative branch icon if your font lacks.export PW_BRANCH_ICON=⎇ -
COLORTERM— recommendtruecolorfor 24‑bit color:export COLORTERM=truecolor
Edit the hex colors near the top of pixelwave.zsh-theme:
typeset -ga PW_PALETTE=( 'ff0066' 'ff5f00' 'ffd500' 'aaff00' '00ff88' '00ccff' '6a5cff' 'ff33cc' )The colored prefix on line 2 is just a string. Change it to anything you like (e.g., ▛▞▞▟):
prefix="██▓▓▒▒░░ $USER@${HOST%%.*} "
# e.g.:
# prefix="▛▞▞▟ $USER@${HOST%%.*} "By default the theme uses:
-f -p 1.0 -F 0.2 --seed 6131
--seed(or-Son some builds) makes the gradient deterministic.- You can change the seed or any flags in the
printf ... | lolcat ...line inside_pw_precmd.
- Keep the
/usr/games/lolcatfallback call intact to honor the rendering constraint described above. - PRs that add optional features should keep defaults matching current behavior.
- Please include a short before/after screenshot in PRs affecting visuals.
MIT - Use as you like.