Skip to content

any-gem

A parametric package that installs any Ruby Gem and exposes its binaries as sbin shims, without requiring a system-wide Ruby or gem install.

Terminal window
zi pack param'GEM -> <gemname>' for any-gem

Multiple gems can be passed via GEM2, GEM3, … GEM7, and OTHER for extra gems without a shim.

  • Provides: sbin shims for all executables under the gem’s bin/ directory, via g:bin/* glob.
  • Profile ices: git, as"null", nocompile, lucid, id-as"${${:-%IDAS%}:-%GEM%}", gem"%GEM%;%GEM2%;...;%OTHER%", sbin"g:bin/*", atpull"%atclone".
  • The gem ice (from the bin-gem-node annex) installs gems into an isolated directory under zinit’s data dir; no system gem directory is touched.
  • Default param-default is GEM -> lolcat, so without a param ice lolcat is installed.
  • Requires the bin-gem-node annex and a working gem binary in PATH.
Terminal window
# Install colorls
zi pack param'GEM -> colorls' for any-gem
# Install asciidoctor and rouge together
zi pack param'GEM -> asciidoctor GEM2 -> rouge' for any-gem
  • Requires the bin-gem-node annex and gem (Ruby) to be available.
  • The id-as ice defaults to the gem name; if you install two different gems, use IDAS -> <custom-id> to avoid ID collisions.