zerobrew is a Rust-based, 5-20x faster drop-in Homebrew alternative

68 points by lucasgelfond


zerobrew takes a lot of ideas from uv - packages live in a content-addressable store (by sha256), so reinstalls are instant. Downloads, extraction, and linking run in parallel with aggressive HTTP caching. It pulls from Homebrew's CDN, so you can swap brew for zb with your existing commands. This leads to dramatic speedups, up to 5x cold and 20x warm!

Foxboron

This project has no license.

ilyagr

I thought that many Homebrew's packages have to live in /opt/homebrew/ because directory names like /opt/hombrew/etc/tmux or something are compiled into the binaries (or maybe Homebrew compiles in dirs from the cellar like /opt/homebrew/Cellar/tmux/3.6a/etc? I'm unsure, this has some relevance to whether it'd be possible for zerobrew to use /opt/homebrew). See e.g. all the notes about "pick another prefix at your peril" and "The main reason Homebrew just works is because we use bottles (binary packages) and most of these require using the default prefix" from https://docs.brew.sh/Installation#untar-anywhere-unsupported.

Does zerobrew always install everything from source, or do you have your own binary cache to support the /opt/zerobrew installation dir, or do you do something else?