๐บ 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.
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).
Example:
zi wait lucid for \
ver'88f3dae4f5391db589257ea069ab8fe4717c22c6' \
z-shell/F-Sy-H
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.
- Default
- Annex
zi ice has'asciinema' as'program' from'gh-r' \
mv'agg* -> agg' pick'agg'
zi light asciinema/agg
Install using the bin-gem-node annex.
zi ice has'asciinema' as'program' from'gh-r' sbin'agg* -> 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 https://github.com/Osse/git-scripts/blob/master/git-unique
SC: mfaerevaag/wdโ
zi ice wait lucid as'program' cp'wd.sh -> wd' \
mv'_wd.sh -> _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 git-open.1.md $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/am-i-mullvad.shโ
zi ice lucid wait as'program' has'jq'
zi snippet 'https://github.com/DanielG/dxld-mullvad/blob/master/am-i-mullvad.sh'
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" \
abishekvashok/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 "https://get.sdkman.io?rcupdate=false" -o scr.sh; SDKMAN_DIR=$ZPFX/sdkman bash scr.sh' \
atpull'SDKMAN_DIR=$ZPFX/sdkman sdk selfupdate' \
atinit'export SDKMAN_DIR=$ZPFX/sdkman; source $ZPFX/sdkman/bin/sdkman-init.sh'
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 setup.py --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' \
argoproj/argo-cd
GH-R: junegunn/fzf + extrasโ
zi for atclone'mkdir -p $ZPFX/{bin,man/man1}' atpull'%atclone' from'gh-r' dl'
https://raw.githubusercontent.com/junegunn/fzf/master/shell/completion.zsh -> _fzf_completion;
https://raw.githubusercontent.com/junegunn/fzf/master/shell/key-bindings.zsh -> key-bindings.zsh;
https://raw.githubusercontent.com/junegunn/fzf/master/man/man1/fzf-tmux.1 -> $ZI[MAN_DIR]/man1/fzf-tmux.1;
https://raw.githubusercontent.com/junegunn/fzf/master/man/man1/fzf.1 -> $ZI[MAN_DIR]/man1/fzf.1' \
id-as'junegunn/fzf' nocompile pick'/dev/null' sbin'fzf' src'key-bindings.zsh' \
junegunn/fzf
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' \
@zdharma/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" \
tj/n
GH-R: pnpm/pnpmโ
- Manage pnpm env
- Install required pnpm release
- See available releases in the repository.
- Use
bpickto 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 \
pnpm/pnpm
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' \
yarnpkg/yarn
B: jarun/nnnโ
zi light-mode for pick'misc/quitcd/quitcd.zsh' as'program' nocompile \
sbin make \
jarun/nnn
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' \
@homebrew/brew
GH-R: dbrgn/tealdeerโ
zi wait lucid as'program' from'gh-r' for \
mv'tealdeer* -> tealdeer' \
sbin'**/tealdeer -> tldr' \
pick'$ZPFX/bin/tldr' \
@dbrgn/tealdeer
GH-R: koalaman/shellcheckโ
zi wait lucid as'program' from'gh-r' for \
mv'shellcheck* -> shellcheck' \
sbin'**/shellcheck -> shellcheck' \
@koalaman/shellcheck
GH-R: hadolint/hadolintโ
zi wait lucid as'program' from'gh-r' for \
mv'hadolint* -> hadolint' \
sbin'hadolint -> hadolint' \
pick'$ZPFX/bin/hadolint' \
@hadolint/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 \
z-shell/0
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' \
ytdl-org/youtube-dl