メインコンテンツまでスキップ

🔺 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).

Example:

zi wait lucid for \
ver'88f3dae4f5391db589257ea069ab8fe4717c22c6' \
z-shell/F-Sy-H
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 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

tip
  • 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 \
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