zerobrew

ZeroBrew (https://github.com/lucasgelfond/zerobrew) is a fast, Homebrew-compatible package manager written in Rust, reusing Homebrew’s formula ecosystem but storing packages in a content-addressable store at /opt/zerobrew.

ZeroBrew has no search command: use brew search or browse the Homebrew formula repository instead.

The >=0.3.0 floor is where zb upgrade landed; zb outdated and its --json output shipped earlier, in 0.2.0.

Platforms

  • 🐧 Linux

  • 🍎 macOS

Operations

Operation

Supported

installed

outdated

search

install

upgrade

upgrade_all

remove

sync

cleanup

Ecosystem

  • Accepted purl types: pkg:zerobrew

Usage

$ mpm --zerobrew installed
$ mpm --zerobrew upgrade --all
$ mpm install pkg:zerobrew/hello
$ mpm --dry-run --zerobrew upgrade --all

Every example above accepts --dry-run, which simulates the underlying manager calls without touching the system: the safe way to watch what mpm would do before trusting it.

Deselect the manager for a single run with --no-zerobrew, disable it from your configuration, or tune its invocation attributes with per-manager overrides.

Command line

  • CLI names, in lookup order: zb

  • Extra CLI search paths: /opt/zerobrew/bin

  • Environment forced on each call:

    • NO_COLOR=1

The version is probed by running:

$ zb --version
zb 0.3.0

and extracted with:

r"zb\s+(?P<version>\S+)"

Privilege escalation

mpm runs this manager as the current user and never prepends sudo by default. Flip the policy for its privileged operations with --sudo or the per-manager sudo override.

None of its operations needs root.

See privilege escalation for the full policy.

Cooldown

State of zerobrew’s release-age gating, from the cooldown support table:

  • Status: ❌ None

With --cooldown set, mpm skips this manager’s install and upgrade operations rather than run them unguarded (fail-closed); --allow-unsupported-managers opts back in.

Reference traces

Raw native outputs captured in the bundled definition: the reference mpm’s parsers were written against. If you know zerobrew well and a transcript below looks wrong, or a newer release changed its output format, report it.

$ zb list
jq 1.7.1
wget 1.24.5
$ zb outdated --json
[
  {
    "name": "jq",
    "installed_versions": [
      "1.7.1"
    ],
    "current_version": "1.7.2"
  }
]