Nanobrew: The fastest macOS package manager compatible with brew
A new macOS package manager called Nanobrew, written in Zig, aims to be dramatically faster than Homebrew while reusing Homebrew’s bottles and infrastructure, prompting debate over how much speed actually matters for package management. Many commenters argue that compatibility with Homebrew’s Ruby-based formulas, Brewfiles, casks, and existing installations is more important than raw performance, noting that alternative clients often break on edge cases. The thread also touches on Homebrew’s own efforts toward a Rust-based frontend, support limitations for older macOS versions, and the broader trend of users exploring tools like Nix, MacPorts, and zerobrew as either faster or more stable alternatives.
Positioning and Compatibility
- Nanobrew markets itself as “the fastest macOS package manager” and a Homebrew replacement, but actually sits on top of Homebrew’s CDN, CI, bottles, and JSON APIs.
- It does not execute Ruby, so it can’t be fully compatible with Homebrew’s Ruby-based formula DSL, especially for builds from source,
post_installhooks, or complex formulas. - Several commenters argue that “compatible” is overstated; it’s effectively a faster, partial client for Homebrew’s binary packages.
- It installs its own package tree, separate from existing Homebrew installs, so it cannot manage already-installed brew packages.
Performance and Whether Speed Matters
- Some users are frustrated by Homebrew’s slowness: long auto-updates, slow Brewfile runs, and slow no-op checks, especially in workflows like Nix-Darwin rebuilds.
- Others say Brew has improved (binaries, concurrency) and is “fast enough,” since they run it infrequently and don’t mind a short pause.
- There’s debate over whether language choice (Ruby vs Rust/Zig) is the real bottleneck versus algorithms, IO, or dependency resolution.
Homebrew’s Rust Frontend and Architecture
- Homebrew is developing an official Rust frontend leveraging its JSON metadata APIs while keeping Ruby formulas.
- Discussion centers on how a Rust client will handle edge cases (no bottles, Ruby hooks, local formula development) and whether it might embed a minimal Ruby interpreter or a DSL-specific interpreter.
- Some highlight the advantage of Homebrew exposing comprehensive JSON so alternative clients can exist at all.
Alternatives and Related Tools
- Comparisons are drawn to other “faster frontends” in ecosystems (pnpm/yarn/bun vs npm; uv-inspired tools).
- Zerobrew is mentioned as a similar project, more mature and Linux-compatible, but also experimental and recommended alongside Homebrew.
- Multiple users prefer Nix (sometimes via wrappers like devbox) or MacPorts, citing Brew’s slowness, leaky behavior, or dropped support for older macOS.
Old macOS and Support Tiers
- Some users are unhappy that Homebrew only supports recent macOS versions and increasingly drops Intel/older hardware.
- Others argue that maintaining broader OS support is unreasonable for a volunteer project, and suggest alternatives like MacPorts or Linux.