DEV Community

❮ ZI ❯
❮ ZI ❯

Posted on • Updated on • Originally published at

⬢ Zsh with it's own package ecosystem ⬢


ZIis a fast and feature-rich plugin manager for Zsh / Unix shell.

ZI ❯ has almost 100 repositories and part of it are ZI packages which can be installed any time with a simple command. Also creating your own packages for ZI is just filling up .json with instructions.

Repository: ZI,
Issues reports: z-shell/zui
Open-Search Wiki:

ZI open search wiki

The Z-Shell Organization

The home for the packages is Z-Shell GitHub organization. You can find the available packages here, which as of 2021-11-11 include:

  • any-node - Special package – it is designed for easy installing of any Node modules inside the plugin directory.
  • any-gem – Special package – it is designed for easy installing of any Ruby Gems locally inside the plugin directory.
  • apr – Provides apache/apr library by compiling and installing it to the $ZPFX/bin.
  • fzf - Fuzzy finder via Makefile installation of the junegunn/fzf binary under $ZPFX/bin.
  • fzy – Fuzzy finder via Makefile-installation of the jhawthorn/fzy binary under $ZPFX/bin.
  • pyenv – Provides pyenv/pyenv** version manager command by extending $PATH to make it point into the bin subdirectory of the plugin.
  • remark - Provides the CLI command for remarkjs/remark with two plugins:
    • Man,
    • HTML
  • doctoc – Provides the thlorenz/doctoc CLI command.
  • ls_colors – Provides the trapd00r/LS_COLORS and setups a zsh-completion system to use the definitions with:
  • dircolors-material – The package provides the zpm-zsh/dircolors-material definitions and also setups zsh-completion system to use the definitions with:
  • asciidoctor – Provides the CLI command for asciidoctor.
  • zsh-system-completions – A package that brings stock Zsh completions under the control of ZI.
  • ecs-cli – Provides the command for Amazon ecs-cli by copying it to $ZPFX/bin.
  • subversion – Provides the apache/subversion** revision control system by compiling and installing it to the $ZPFX/bin.
  • github-issues – ZI invocations that'll install z-shell/zsh-github-issues.
  • github-issues-srv - The package is the puller-thread service for the z-shell/zsh-github-issues plugin. It runs the background service that downloads the new issues from GitHub.
  • firefox-dev - Provides the CLI commands firefox-bin and firefox by extending the $PATH/bin.
  • zsh - Builds and installs the newest zsh-users/zsh.

Adding Your Own Package.

  1. Contact the author to have the repository at the Z-Shell organization.

  2. Populate the package.json – I suggest grabbing the one for fzf or doctoc and doing a few substitutions like doctocyour-project and then simply filling the default profile in the zi-ices object – it's obvious how to do this.

  3. The project name in the package.json should start with zsh-. The prefix will be skipped when specifying it with ZI.

  4. Commit and push.

Discussion (0)