Home

Awesome

Meta-Plugins support for Zsh-Zinit

Install groups of plugins via a single, friendly label …

… and also have the curated, optimal ice lists automatically applied !

screenshot

Rationale

It can be tiring to:

  1. Constantly, over and over collect some new interesting plugins to install/load.
  2. Over and over reconstruct the new findings on the new machines.
  3. Constantly extend and tweak the ice list of each plugin, so that it's hard on eyes, especially for an outsider.

Meta-Plugins annex helps in those problems:

ProblemSolution
(1)<br/> finding new pluginsthe annex contains a curated, broad list of plugins, e.g.: all the console tools like fd, fzf, exa, ripgrep, etc.,
(2)<br/> reconstructing the findings in new environmentsit's easy to say and memorize e.g.: zinit for console-tools – one label pulls a group of plugins and also the curated, optimal, default ice lists for each of them,
(3)<br/> constant increase of complexity of the commandsthe provided, hopefully best/optimal ices for each plugin are handled transparently and automatically; care is given to each ice list so that the plugin loads without any glitches (e.g.: without "No files for compilation found." message and other, even such slight issues).

Other unique benefits of the Meta-Plugins annex:

BenefitDescription
plugin dependenciesThe meta-plugins implement a dependency mechanism (to some extent), so that e.g.: selecting a from-source built ogham/exa will automatically pull-in also the Rust compiler (available under meta-plugin name: rust-toolchain).
flexible disabling of chosen sub-plugins in any meta-pluginA meta-plugin can contain many sub-plugins and it's possible to skip installing some of them by the skip'plg-1 plg-2…' ice, e.g.: zinit skip'ripgrep fd' for console-tools. This way despite that some of the meta-plugins are broad the user still has control over what's and how much is being installed.
common from-source meta-pluginsFor the plugins that provide the binary programs it is often the case that a meta-plugin exists that'll build the program from source (e.g.: fuzzy meta-plugin and its fuzzy-src counterpart). This might be handy e.g.: if there's no binary for our machine.

The list of the meta-plugins

Meta-Plugin IDContained sub-plugins
annexeszdharma-continuum/zinit-annex-unscope, zdharma-continuum/zinit-annex-as-monitor, zdharma-continuum/zinit-annex-patch-dl, zdharma-continuum/zinit-annex-rust, zdharma-continuum/zinit-annex-submods, zdharma-continuum/zinit-annex-bin-gem-node
annexes+conzdharma-continuum/zinit-console, annexes (meta-plugin)
zsh-userszsh-users/zsh-syntax-highlighting, zsh-users/zsh-autosuggestions, zsh-users/zsh-completions
zsh-users+fast,zdharma-continuum/fast-syntax-highlighting, zsh-users/zsh-autosuggestions, zsh-users/zsh-completions
zdharmazdharma-continuum/fast-syntax-highlighting, zdharma-continuum/history-search-multi-word, zdharma-continuum/zsh-diff-so-fancy
zdharma2zdharma-continuum/zconvey, zdharma-continuum/zui, zdharma-continuum/zflai
molovomolovo/color, molovo/revolver, molovo/zunit
sharkdpsharkdp/fd, sharkdp/bat, sharkdp/hexyl, sharkdp/hyperfine, sharkdp/vivid
developergithub-issues (package), github-issues-srv (package), molovo/color, molovo/revolver, molovo/zunit, voronkovich/gitignore, jonas/tig
console-toolsdircolors-material (package), sharkdp (meta-plugin), ogham/exa, BurntSushi/ripgrep, jonas/tig
fuzzyfzf (package), fzy (package), lotabout/skim, peco/peco
fuzzy-srcfzf-go, fzy (package), skim-cargo, peco-go
ext-gitFakerr/git-recall, paulirish/git-open, paulirish/git-recent, davidosomething/git-my, arzzen/git-quick-stats, iwata/git-now, tj/git-extras, wfxr/forgit
rust-utilsrust-toolchain, cargo-extensions
preztoPZTM::archive, PZTM::directory, PZTM::utility

Example zshrc

# Installs total of 22 plugins
zinit for annexes zsh-users+fast console-tools fuzzy
<!-- vim:set ft=markdown tw=81 fo+=a1n autoindent: -->