Skip to main content

đŸ”ē Programs


It is highly recommended to check the repository contents before installing. This may help to install it correctly and prevent potential security risks.

Do not hesitate to report any issues you encounter.

Secure with a specific version

The ver'â€Ļ' - allows to select a specific version, branch, or commit hash, also known as permalink.

It is recommended but not required (HEAD branch auto-selected).


zi wait lucid for \
ver'88f3dae4f5391db589257ea069ab8fe4717c22c6' \
Style your syntax

Command wrap example for cleaner or preferred syntax.

z_lucid() {
zi ice lucid ver'master' "$@"

zi0a() {
z_lucid wait'0a' "$@"

zi_program() {
zi0a as'program' "$@"

Then load as:

zi_program has'â€Ļ'
zi light â€Ļ

zi_program has'â€Ļ' pick'â€Ļ' from'â€Ļ'
zi light â€Ļ

zi_program has'â€Ļ'
zi light â€Ļ

Without for syntax​

GH-R: asciinema/agg​

agg is a command-line tool for generating animated GIF files from asciicast v2 files produced by asciinema terminal recorder.

zi ice has'asciinema' as'program' from'gh-r' \
mv'agg* -> agg' pick'agg'
zi light asciinema/agg

GH-R: dandavison/delta​

zi ice wait lucid as'program' from'gh-r' sbin'**/delta -> delta'
zi light dandavison/delta

GH-R: denisidoro/navi​

zi ice lucid wait as'program' from"gh-r" has'fzf'
zi light denisidoro/navi

GH-R: junegunn/fzf​

zi ice from'gh-r' as'program'
zi light junegunn/fzf

GH-R: sharkdp/fd​

zi ice from'gh-r' as'program' mv'fd* fd' sbin'**/fd(.exe|) -> fd'
zi light @sharkdp/fd

GH-R: sharkdp/bat​

zi ice from'gh-r' as'program' mv'bat* bat' sbin'**/bat(.exe|) -> bat'
zi light @sharkdp/bat

GH-R: sharkdp/hexyl​

zi ice from'gh-r' as'program' mv'hexyl* hexyl' sbin'**/hexyl(.exe|) -> hexyl'
zi light @sharkdp/hexyl

GH-R: sharkdp/hyperfine​

zi ice from'gh-r' as'program' mv"hyperfine* hyperfine" sbin"**/hyperfine(.exe|) -> hyperfine"
zi light @sharkdp/hyperfine

GH-R: sharkdp/vivid​

zi ice from'gh-r' as'program' mv'vivid* vivid' sbin'**/vivid(.exe|) -> vivid'
zi light @sharkdp/vivid

GH-R: ogham/exa​

zi ice from'gh-r' as'program' sbin'**/exa -> exa' atclone'cp -vf completions/exa.zsh _exa'
zi light ogham/exa

GH-R: docker/compose​

zi ice from"gh-r" as'program' mv'docker* -> docker-compose'
zi light docker/compose

GH-R: neovim/neovim​

zi ice as'program' from'gh-r' \
bpick'nvim-linux64.tar.gz' sbin'**/bin/nvim -> nvim'
zi light neovim/neovim

GH-R: direnv/direnv​

zi ice as'program' from'gh-r' mv'direnv* -> direnv'
zi light direnv/direnv

GH-R: mvdan/sh​

zi ice as'program' from'gh-r' mv'shfmt* -> shfmt'
zi light mvdan/sh

GH-R: b4b4r07/gotcha​

zi ice as'program' from'gh-r' mv'gotcha_* -> gotcha'
zi light b4b4r07/gotcha

GH-R: ajeetdsouza/zoxide​

zi ice as'program' from'gh-r' pick'zoxide' \
atclone'ln -s completions/_zoxide -> _zoxide;
cp man/man1/*.1 $ZI[MAN_DIR]/man1; ./zoxide init zsh --cmd x > init.zsh' \
atpull'%atclone' src'init.zsh' nocompile'!'
zi light ajeetdsouza/zoxide

SC: zdharma/revolver​

zi ice wait lucid as'program' pick'revolver'
zi light zdharma/revolver

SC: zdharma/zunit​

zi ice wait lucid as'program' pick'zunit' atclone'./build.zsh' atpull'%atclone'
zi load zdharma/zunit

SC: Osse/git-scripts/git-unique​

zi ice as'program' id-as'git-unique' pick'git-unique'
zi snippet

SC: mfaerevaag/wd​

zi ice wait lucid as'program' cp' -> wd' \
mv' -> _wd' atpull'!git reset --hard' pick'wd'
zi light mfaerevaag/wd

SC: z-shell/zsh-diff-so-fancy​

zi ice wait lucid as'program' pick'bin/git-dsf'
zi load z-shell/zsh-diff-so-fancy

SC: obihann/archey-osx​

zi ice wait lucid as'program' pick'bin/archey'
zi light obihann/archey-osx

SC: eth-p/bat-extras​

zi ice lucid wait as'program' has'bat' pick'src/*'
zi light eth-p/bat-extras

SC: paulirish/git-open​

zi ice lucid wait as'program' has'git' \
atclone"cp $ZI[MAN_DIR]/man1/git-open.1" atpull'%atclone'
zi light paulirish/git-open

SC: LuRsT/hr​

zi ice lucid wait as'program' atclone"cp hr.1 $ZI[MAN_DIR]/man1" atpull'%atclone'
zi light LuRsT/hr

SC: Seirdy/stpv​

zi ice lucid wait as'program' has'fzf' pick'fzfp'
zi light Seirdy/stpv
zi ice lucid wait as'program' has'ueberzug' pick'stpvimg'
zi light Seirdy/stpv
zi ice lucid wait as'program' pick'stpv'
zi light Seirdy/stpv

SC: exiftool/exiftool​

zi ice lucid wait as'program' has'perl' has'convert' pick'exiftool'
zi light exiftool/exiftool

SC: smxi/inxi​

zi ice if'[ -z "$SSH_CONNECTION" ]' lucid wait \
as'program' has'perl' pick'inxi'
zi light smxi/inxi

SC: dylanaraps/pash​

zi ice lucid wait as'program' has'gpg'
zi light dylanaraps/pash

SC: hackerb9/lsix​

zi ice lucid wait as'program' has'mogrify'
zi light hackerb9/lsix

SC: denilsonsa/prettyping​

zi ice lucid wait as'program' pick'prettyping' has'ping'
zi light denilsonsa/prettyping

SC: greymd/tmux-xpanes​

zi ice lucid wait as'program' has'tmux' pick'bin/xpanes'
zi light greymd/tmux-xpanes

SC: DanielG/dxld-mullvad/​

zi ice lucid wait as'program' has'jq'
zi snippet ''

B: abishekvashok/cmatrix​

Standard syntax

zi ice lucid as'program' atclone"autoreconf -i; ./configure --prefix=$ZPFX" \
atpull'%atclone' make"install" pick"$ZPFX/bin/cmatrix"
zi light abishekvashok/cmatrix

The "for" syntax

zi for as'program' atclone"autoreconf -i; ./configure --prefix=$ZPFX" \
atpull'%atclone' make"all install" pick"$ZPFX/bin/cmatrix" \

B: tj/git-extras​

zi ice wait lucid as'program' pick'$ZPFX/bin/git-*' make'PREFIX=$ZPFX' nocompile
zi light tj/git-extras

B: k4rthik/git-cal​

zi ice wait lucid as'program' atclone'perl Makefile.PL PREFIX=$ZPFX' \
atpull'%atclone' make'install' pick'$ZPFX/bin/git-cal'
zi light k4rthik/git-cal

B: aaronNG/reddio​

zi ice lucid wait as'program' has'jq' pick'reddio' from'gitlab'
zi light aaronNG/reddio

B: TheLocehiliosan/yadm​

zi ice lucid wait as'program' has'git' pick'yadm' atclone"cp yadm.1 $ZI[MAN_DIR]/man1" atpull'%atclone'
zi light TheLocehiliosan/yadm

B: sdushantha/farge​

zi ice if'[[ -n "$WAYLAND_DISPLAY" ]]' lucid wait as'program' pick'farge'
zi light 'sdushantha/farge'

B: dylanaraps/neofetch​

zi ice lucid wait as'program' pick'neofetch' \
atclone"cp neofetch.1 $ZI[MAN_DIR]/man1" atpull'%atclone'
zi light dylanaraps/neofetch

B: vim/vim​

zi ice as'program' atclone'rm -f src/auto/config.cache; ./configure' \
atpull'%atclone' make pick'src/vim'
zi light vim/vim

B: direnv/direnv​

zi ice as'program' make'!' atclone'./direnv hook zsh > zhook.zsh' \
atpull'%atclone' src'zhook.zsh'
zi light direnv/direnv

B: mptre/yank​

zi ice as'program' pick'yank' make
zi light mptre/yank

B: pyenv/pyenv​

zi ice atclone'PYENV_ROOT="$PWD" ./libexec/pyenv init - > zpyenv.zsh' \
atinit'export PYENV_ROOT="$PWD"' atpull"%atclone" \
as'program' pick'bin/pyenv' src"zpyenv.zsh" nocompile'!'
zi light pyenv/pyenv

B: sdkman/sdkman-cli​

zi ice as'program' pick'$ZPFX/sdkman/bin/sdk' id-as'sdkman' run-atpull nocompile \
atclone'curl -s "" -o; SDKMAN_DIR=$ZPFX/sdkman bash' \
atpull'SDKMAN_DIR=$ZPFX/sdkman sdk selfupdate' \
atinit'export SDKMAN_DIR=$ZPFX/sdkman; source $ZPFX/sdkman/bin/'
zi light z-shell/0

B: asciinema/asciinema​

zi ice as"program" wait lucid atinit"export PYTHONPATH=$ZPFX/lib/python3.10/site-packages/" \
atclone"PYTHONPATH=$ZPFX/lib/python3.10/site-packages/ python3 --quiet install --prefix $ZPFX" \
atpull"%atclone" test"0" pick"$ZPFX/bin/asciinema"
zi load asciinema/asciinema

RA: Rust and Peltoche/lsd​

zi ice rustup cargo'!lsd' id-as'lsd' as'program' nocompile
zi load z-shell/0

RA: Rust and ogham/exa​

The ls shim exposing the `exa`` binary

zi ice rustup cargo'!exa -> ls' id-as'exa' as'program' nocompile
zi load z-shell/0

Shim with standard error redirected to /dev/null

zi ice rustup cargo'!E:exa' id-as'exa' as'program' nocompile
zi load z-shell/0

RA: Rust and ogham/exa, Peltoche/lsd​

zi ice rustup cargo'exa;lsd' nocompile
zi load z-shell/0

Expose binaries by altering $PATH:

zi ice rustup cargo'exa;lsd' as'program' pick"bin/(exa|lsd)" nocompile
zi load z-shell/0

RA: Rust compiler environment​

Install rust and make it available globally in the system:

zi ice id-as"rust" wait"0" lucid rustup as"program" pick"bin/rustc" \
atload="export nocompile CARGO_HOME=\$PWD RUSTUP_HOME=\$PWD/rustup"
zi load z-shell/0

With for syntax​

GH-R: argoproj/argo-cd​

zi light-mode for \
as'completions' atclone'./argocd* completion zsh > _argocd' \
atpull'%atclone' from'gh-r' if'[[ "$(uname -m)" == x86_64 ]]' \
sbin'argocd* -> argocd' \

GH-R: junegunn/fzf + extras​

zi for atclone'mkdir -p $ZPFX/{bin,man/man1}' atpull'%atclone' from'gh-r' dl' -> _fzf_completion; -> key-bindings.zsh; -> $ZI[MAN_DIR]/man1/fzf-tmux.1; -> $ZI[MAN_DIR]/man1/fzf.1' \
id-as'junegunn/fzf' nocompile pick'/dev/null' sbin'fzf' src'key-bindings.zsh' \

GH-R: junegunn/fzf, sharkdp/fd, sharkdp/bat, ogham/exa​

zi from"gh-r" as"null" for \
sbin"fzf" junegunn/fzf \
sbin"**/fd" @sharkdp/fd \
sbin"**/bat" @sharkdp/bat \
sbin"**/exa -> exa" atclone"cp -vf completions/exa.zsh _exa" ogham/exa

SC: zdharma/revolver, zdharma/zunit​

zi wait lucid for as'program' \
atclone'ln -sfv revolver.zsh-completion _revolver' \
atpull'%atclone' pick'revolver' \
@zdharma/revolver \
as'completion' atclone'./build.zsh; ln -sfv zunit.zsh-completion _zunit' \
atpull'%atclone' sbin'zunit' \

SC: tj/n​

zi light-mode for as'program' atinit'export N_PREFIX="$PWD/n"; \
[[ :$PATH: == *":$N_PREFIX/bin:"* ]] || PATH+=":$N_PREFIX/bin"' pick"bin/n" \

GH-R: pnpm/pnpm​

  • Manage pnpm env
  • Install required pnpm release
    • See available releases in the repository.
    • Use bpick to match the most relevant part of the release name as shown in the example below.
zi light-mode for id-as'pnpm' from'gh-r' bpick'*-linux-x64' as'program' \
atinit'export PNPM_HOME=$ZPFX/bin; [[ -z $NODE_PATH ]] && \
export NODE_PATH=$PWD' sbin'pnpm* -> pnpm' nocompile \

GH-R: yarnpkg/yarn​

zi light-mode for from'gh-r' as'program' \
atinit'export PATH="$HOME/.yarn/bin:$PATH"' mv'yarn* -> yarn' \
pick"yarn/bin/yarn" bpick'*.tar.gz' \

B: jarun/nnn​

zi light-mode for pick'misc/quitcd/quitcd.zsh' as'program' nocompile \
sbin make \

SC: homebrew/brew​

zi for as'null' depth'3' nocompletions sbin'bin/brew' \
atclone'+zi-message "{auto}Installing brew â€Ļ"; ./bin/brew update --preinstall; \
ln -sf $PWD/completions/zsh/_brew $ZI[COMPLETIONS_DIR]; \
rm -f brew.zsh; ./bin/brew shellenv --dummy-arg > brew.zsh; \
zcompile brew.zsh;' \
atpull'%atclone' src'brew.zsh' \

GH-R: dbrgn/tealdeer​

zi wait lucid as'program' from'gh-r' for \
mv'tealdeer* -> tealdeer' \
sbin'**/tealdeer -> tldr' \
pick'$ZPFX/bin/tldr' \

GH-R: koalaman/shellcheck​

zi wait lucid as'program' from'gh-r' for \
mv'shellcheck* -> shellcheck' \
sbin'**/shellcheck -> shellcheck' \

GH-R: hadolint/hadolint​

zi wait lucid as'program' from'gh-r' for \
mv'hadolint* -> hadolint' \
sbin'hadolint -> hadolint' \
pick'$ZPFX/bin/hadolint' \

RA: Rust compiler environment + completions​

zi id-as"rust" wait=1 as=null sbin="bin/*" lucid rustup nocompile \
atload="[[ ! -f ${ZI[COMPLETIONS_DIR]}/_cargo ]] && zi creinstall -q rust; \
export CARGO_HOME=\$PWD; export RUSTUP_HOME=\$PWD/rustup" for \

B: ytdl-org/youtube-dl​

zi for as'program' nocompile'!' depth'1' \
has'python' pick'$ZPFX/bin/youtube-dl*' make'!PREFIX=$ZPFX install' \
atclone'ln -sfv youtube-dl.zsh _youtube-dl' atpull'%atclone' \