# zerobrew

> Experimental Homebrew-compatible package client for macOS and Linux that uses content-addressable storage and APFS clonefiles for faster installs.

Stars: 8.2k · Language: Rust · License: Apache-2.0 · Categories: System

- Repository: https://github.com/lucasgelfond/zerobrew
- Page: https://www.trmn.sh/tools/zerobrew

## Install

- Homebrew: `brew install zerobrewhq/zerobrew/zerobrew`
- Install script: `curl -fsSL https://zerobrew.rs/install | bash`

## Overview

zerobrew is a package manager client for the Homebrew ecosystem on macOS and Linux, applying a uv-style architecture to Homebrew packages. It uses Homebrew's formula definitions (homebrew-core), pre-built bottles, and package metadata, but replaces the install path with its own client, invoked as `zb`. It also falls back to source builds using Homebrew's Ruby DSL when no bottle is available.

The main differences from Homebrew are content-addressable storage for deduplication and APFS clonefiles for copying without data duplication. The README's benchmark of 98 packages on an M3 Pro MacBook showed a 3.0x overall speedup on cold installs and 4.5x on warm installs, with a median of 2.7x cold and 5.7x warm. Some packages showed little gain or were slower, such as llvm (1.1x cold) and go (0.85x cold). The benchmark can be reproduced with `just bench --full results/`.

The command set covers `zb install`, `zb uninstall`, `zb outdated`, `zb upgrade`, `zb reset`, and `zb gc` for garbage-collecting unused store entries. `zb bundle` installs from a Brewfile, and `zb bundle dump` exports installed packages to one. `zbx` runs a package without linking it, for example `zbx jq --version`. The project is labeled experimental, and the authors recommend running it alongside Homebrew rather than replacing it. It suits developers who install many Homebrew formulas and want faster installs.

### Installation

```bash
# via Homebrew
brew install zerobrewhq/zerobrew/zerobrew
```

```bash
# via Install script
curl -fsSL https://zerobrew.rs/install | bash
```

![zerobrew demo](https://media.trmn.sh/cached/55ca941db92efd56533e67e440d0083b719a866245553446c158c38de51e1577.gif)

## Alternatives

- [procs](https://www.trmn.sh/tools/procs.md): A Rust-based replacement for ps with colored output, multi-column search, and additional process information (Rust, 6.2k stars)
- [zenith](https://www.trmn.sh/tools/zenith.md): Terminal-based system monitor with graphical metrics for CPU, memory, network, disk usage, and process management written in Rust (Rust, 3.1k stars)
- [bottom](https://www.trmn.sh/tools/bottom.md): Cross-platform terminal-based system monitor with graphical widgets for CPU, memory, network, disk, and process management (Rust, 14.1k stars)
- [wiremix](https://www.trmn.sh/tools/wiremix.md): TUI audio mixer for PipeWire that controls volumes, routes audio between devices and applications, and configures audio settings. (Rust, 1.1k stars)
- [pdu](https://www.trmn.sh/tools/pdu.md): Parallelized disk usage analyzer that renders graphical charts for directory tree analysis (Rust, 739 stars)

---

Canonical: https://www.trmn.sh/tools/zerobrew
