Skip to content

Homebrew wins · 139 (9 drawn)

Agent experience — stories about agent experience in this arenaAgent experience

Stories about agent experience in this arena

Headless installs

  1. ai-native userHave an agent install and update project dependencies non-interactively, with clear exit codes and errors when something fails

    weight 3 · round to Homebrew
    Homebrewpartialcommunity6/10

    Homebrew documents a clear non-interactive workflow (Brewfile + `brew bundle install`/`check`, plus `NONINTERACTIVE=1` for installs) that an agent could script to install/update project dependencies, and `brew bundle check` provides a scriptable readiness check. However, there is no explicit documentation of exit-code semantics or structured error output for bundle/upgrade failures, and community reports describe unpredictable side effects (e.g. `brew upgrade` unexpectedly upgrading unrelated casks/packages, no reliable rollback) that could confuse automated, non-interactive agent workflows expecting deterministic success/failure signals. missing for 10: documented exit-code/error-schema guarantees for bundle/install/upgrade commands, and evidence that upgrade behavior is deterministic enough for unattended agent use.

    • [claimed-docs] Adding a `Brewfile` to a project’s repository (like you might a `package.json`, `Gemfile` or `requirements.txt`) is a nicer way of encoding …
    • [claimed-docs] You can check if a `brew bundle install` will do anything by running: $ brew bundle check
    • [claimed-docs] brew bundle check || brew bundle install
    • [claimed-docs] this will take instructions from the Brewfile to run brew install ruby and install Ruby if needed
    • [claimed-docs] The Brewfile's dependencies are satisfied.
    • [claimed-docs] prepend `NONINTERACTIVE=1` to the installation command
    • [community] User reports that 'brew upgrade' started updating ALL casks, even ones marked 'auto_updates: true' in the Cask JSON API, calling it new defa…
    • [community] User asks: "Does homebrew still do that insane thing when you want to upgrade a single package it tells you 'hold my beer' and starts instal…
    • [community] User requests a better rollback mechanism, having broken their home server multiple times with bad InfluxDB/Grafana updates via Homebrew; no…

    Nix's CLI commands (nix build, nix-env --upgrade, nix-shell --run) are inherently scriptable and non-interactive by default, and community evidence confirms real-world CI/build-farm usage (nix-comm-9) implying automation compatibility. However, no evidence explicitly documents exit code conventions, structured error output, or agent-oriented non-interactive flags/behavior. Missing for 10: explicit documentation of exit codes, error message formats, and non-interactive/agent-safe flags for install/update commands.

    • [claimed-docs] Build the flake in the current directory: console # nix build # ./result/bin/hello Hello, world!
    • [claimed-docs] $ nix-env --upgrade --attr nixpkgs.some-package $ nix-env --rollback
    • [community] We're using Nix where I work... it was not the most user-friendly to set up, once we got it in place it has reliably worked for the last two…
    • [community] I've worked on one of the largest Nix systems and it saves our entire dev team hours. Everything is only built once, on a large set of speci…
    • [claimed-docs] `nix run` - run a Nix application

Manifest editing

  1. ai-native userAdd, remove, and upgrade dependencies through CLI commands that safely rewrite the manifest and lockfile, so an agent never hand-edits them

    weight 2 · round to Homebrew
    Homebrewpartialcommunity5/10

    Homebrew's CLI (`brew install`/`uninstall`/`upgrade`) mutates installed-package state, and `brew bundle dump`/`brew bundle install`/`brew bundle check` let a Brewfile (manifest) be generated, synced, and verified without hand-editing — docs explicitly compare it to package.json/Gemfile management. However, there is no true lockfile concept (Brewfile mixes manifest+state) and community reports (comm-1, comm-11) describe upgrade commands unpredictably touching unrelated packages, which undercuts the 'safely and predictably rewrites' framing an agent would need. Missing for 10: an explicit lockfile artifact distinct from the manifest, and evidence of deterministic/idempotent CLI-only dependency edits without unexpected side effects.

    • [claimed-docs] Adding a `Brewfile` to a project's repository (like you might a `package.json`, `Gemfile` or `requirements.txt`) is a nicer way of encoding …
    • [claimed-docs] `brew bundle dump` is Homebrew's installed-state snapshot command: it records supported installed formulae, casks, taps and other package ty…
    • [claimed-docs] Adding a `Brewfile` to a project’s repository (like you might a `package.json`, `Gemfile` or `requirements.txt`) is a nicer way of encoding …
    • [claimed-docs] You can check if a `brew bundle install` will do anything by running: $ brew bundle check
    • [claimed-docs] brew bundle check || brew bundle install
    • [claimed-docs] this will take instructions from the Brewfile to run brew install ruby and install Ruby if needed
    • [community] User reports that 'brew upgrade' started updating ALL casks, even ones marked 'auto_updates: true' in the Cask JSON API, calling it new defa…
    • [community] User asks: "Does homebrew still do that insane thing when you want to upgrade a single package it tells you 'hold my beer' and starts instal…

    Nix's CLI does expose commands like `nix-env --upgrade` and `--rollback` for changing installed packages and reverting state (nix-docs-4, nix-docs-17), and flakes use a `flake.lock` file, but the evidence never shows dependency-manifest commands analogous to `add`/`remove` (e.g. `nix flake update`, editing `flake.nix` inputs) that would let an agent avoid hand-editing the manifest/lockfile. missing for 10: explicit CLI subcommands for adding/removing flake inputs, evidence of automatic lockfile rewriting, and confirmation these operations are safe/atomic for agent use.

    • [claimed-docs] $ nix-env --upgrade --attr nixpkgs.some-package $ nix-env --rollback
    • [claimed-docs] $ nix-env --rollback
    • [claimed-docs] you can roll back to the old version: $ nix-env --rollback
    • [claimed-docs] Build the flake in the current directory: console # nix build # ./result/bin/hello Hello, world!
    • [claimed-docs] Create a new flake: # nix flake new hello

Structured output

  1. ai-native userGet machine-readable (JSON) output from core commands so an agent can parse results instead of scraping text

    weight 2 · round drawn
    Homebrewnone0/10

    The evidence pack contains no mention of any `--json` flag or machine-readable output mode for Homebrew commands (e.g., `brew info --json`, `brew list --json`); all documented behavior is text-based CLI output, and probes for machine-readable API artifacts (llms.txt, openapi.json) explicitly failed. Since this axis is a fair question for a CLI package manager but no supporting evidence exists, it counts as none.

    • [probe] PROBE llms.txt: HTTP 404 at https://docs.brew.sh/llms.txt
    • [probe] PROBE openapi: all candidate paths 404 (https://docs.brew.sh/openapi.json, https://docs.brew.sh/swagger.json, https://docs.brew.sh/api/opena…
    • [probe] official CLI documented at https://docs.brew.sh/Manpage
    Nixnone0/10

    No evidence in the pack shows Nix CLI commands offering a --json flag or machine-readable output mode; the manual excerpts describe only text-based commands (nix build, nix run, nix search, nix develop) with no mention of JSON output, and probes for structured API/docs found nothing relevant.

    • [claimed-docs] Build the flake in the current directory: console # nix build # ./result/bin/hello Hello, world!
    • [claimed-docs] `nix search` - search for packages
    • [claimed-docs] `nix run` - run a Nix application
    • [probe] official CLI documented at https://nix.dev/manual/nix/2.28/command-ref/new-cli/nix
  2. ai-native userPoint an agent at a documented, text-based lockfile format it can read and diff

    weight 1 · round to Homebrew
    Homebrewpartialclaimed6/10

    Homebrew's Brewfile is a plain-text, human-readable manifest that can be generated (`brew bundle dump`), checked, and diffed like other dependency manifests (package.json, Gemfile), and docs explicitly draw that analogy. However, it's a declarative bundle manifest rather than a strict version-pinned lockfile, and there's no evidence of agent-specific tooling, schema documentation, or guidance for programmatic diffing/parsing by AI agents. missing for 10: explicit lockfile/versioning semantics (vs. just current-state snapshot), documented schema for machine parsing, agent-oriented tooling or examples of AI agents reading/diffing Brewfiles.

    • [claimed-docs] Adding a `Brewfile` to a project's repository (like you might a `package.json`, `Gemfile` or `requirements.txt`) is a nicer way of encoding …
    • [claimed-docs] `brew bundle dump` is Homebrew's installed-state snapshot command: it records supported installed formulae, casks, taps and other package ty…
    • [claimed-docs] You can check if a `brew bundle install` will do anything by running: $ brew bundle check
    • [claimed-docs] `brew bundle dump` is Homebrew's installed-state snapshot command: it records supported installed formulae, casks, taps and other package ty…
    • [claimed-docs] this will take instructions from the Brewfile to run brew install ruby and install Ruby if needed
    • [claimed-docs] The Brewfile's dependencies are satisfied.
    Nixnone0/10

    The evidence pack contains no mention of Nix's flake.lock file, its JSON/text format, or any documentation aimed at making it readable/diffable by tooling or agents; only flake commands like `nix build`/`nix flake new` are covered without lockfile specifics.

    Agenticness — how well agents can access and operate the productAgenticness

    How well agents can access and operate the product

    Agent access

    1. ai-native userPoint an agent at llms.txt or agent-oriented docs

      weight 2 · round drawn
      Homebrewnone0/10

      A direct probe found no llms.txt (404) and no agent-oriented API docs (openapi endpoints all 404); no evidence of agent-oriented documentation exists elsewhere in the pack.

      • [probe] PROBE llms.txt: HTTP 404 at https://docs.brew.sh/llms.txt
      • [probe] PROBE openapi: all candidate paths 404 (https://docs.brew.sh/openapi.json, https://docs.brew.sh/swagger.json, https://docs.brew.sh/api/opena…
      Nixnone0/10

      Probes explicitly show llms.txt and machine-readable docs endpoints return 404, and there is no evidence of any agent-oriented docs format for Nix.

      • [probe] PROBE llms.txt: HTTP 404 at https://nix.dev/llms.txt
      • [probe] PROBE docs-md: HTTP 404 at https://nix.dev.md
      • [probe] PROBE openapi: all candidate paths 404 (https://nix.dev/openapi.json, https://nix.dev/swagger.json, https://nix.dev/api/openapi.json, https:…
    2. ai-native userRun the product headlessly / in CI for automation

      weight 2 · round to Homebrew
      Homebrewfullprobed7/10

      Homebrew's CLI supports non-interactive automation via `NONINTERACTIVE=1` for installs, and `brew bundle`/Brewfile workflows are explicitly designed for reproducible, scriptable dependency installs suitable for CI/dev environments. The official manpage documents these flags and commands, confirming headless operation is a first-class use case. Missing for 10: explicit CI/GitHub Actions integration examples or docs, and independent hands-on confirmation of CI usage.

      • [claimed-docs] prepend `NONINTERACTIVE=1` to the installation command
      • [claimed-docs] Adding a `Brewfile` to a project's repository (like you might a `package.json`, `Gemfile` or `requirements.txt`) is a nicer way of encoding …
      • [claimed-docs] Adding a `Brewfile` to a project’s repository (like you might a `package.json`, `Gemfile` or `requirements.txt`) is a nicer way of encoding …
      • [claimed-docs] Adding a `Brewfile` to a project's repository (like you might a `package.json`, `Gemfile` or `requirements.txt`) is a nicer way of encoding …
      • [claimed-docs] brew bundle check || brew bundle install
      • [claimed-docs] Run your shell in a `brew bundle exec` environment.
      • [probe] official CLI documented at https://docs.brew.sh/Manpage

      Nix is a CLI-only tool (nix build, nix run, nix-shell --run, remote builds, binary caches) that is inherently scriptable and used headlessly in CI per community reports (e.g., large-scale Nix CI/deployment usage), but there is no first-party documentation specifically addressing CI integration, headless/non-interactive flags, or official CI templates/actions. missing for 10: dedicated CI/headless documentation, official GitHub Actions or CI integration guide, non-interactive mode flags/examples.

      • [claimed-docs] Build the flake in the current directory: console # nix build # ./result/bin/hello Hello, world!
      • [claimed-docs] `nix run` - run a Nix application
      • [claimed-docs] Remote builds.
      • [claimed-docs] Nix can automatically skip building from source and instead use a binary cache, a web server that provides pre-built binaries.
      • [community] I've worked on one of the largest Nix systems and it saves our entire dev team hours. Everything is only built once, on a large set of speci…
      • [community] We're using Nix where I work... it was not the most user-friendly to set up, once we got it in place it has reliably worked for the last two…
    3. ai-native userUse an official CLI

      weight 2 · round to Nix
      Homebrewpartialprobed5/10

      Homebrew ships a well-documented official CLI (`brew`, see manpage) with automation-friendly features like `NONINTERACTIVE=1` for scripted/agentic use, but there is no evidence of AI-native affordances such as machine-readable output modes, an llms.txt, or agent-specific integration docs — in fact the llms.txt probe returned 404. missing for 10: structured/JSON output documentation for programmatic agent consumption, an llms.txt or AI-agent discovery file, explicit agent/automation-oriented documentation beyond generic non-interactive flag.

      • [probe] official CLI documented at https://docs.brew.sh/Manpage
      • [claimed-docs] prepend `NONINTERACTIVE=1` to the installation command
      • [probe] PROBE llms.txt: HTTP 404 at https://docs.brew.sh/llms.txt

      Nix ships an extensive, well-documented official CLI (nix-shell, nix develop, nix build, nix run, nix search, flake commands) that is fully scriptable and thus usable by AI agents for automation. missing for 10: explicit documentation or examples of AI-agent/automated tool usage of the CLI, independent hands-on corroboration of agentic use cases.

      • [claimed-docs] the command `nix-shell` will build or download those dependencies if they’re not already in your Nix store, and then start a Bash shell in w…
      • [claimed-docs] `nix develop` - run a bash shell that provides the build environment of a derivation
      • [claimed-docs] Build the flake in the current directory: console # nix build # ./result/bin/hello Hello, world!
      • [claimed-docs] `nix search` - search for packages
      • [claimed-docs] `nix run` - run a Nix application
      • [claimed-docs] Create a new flake: # nix flake new hello
      • [probe] official CLI documented at https://nix.dev/manual/nix/2.28/command-ref/new-cli/nix
    4. ai-native userDrive the product through a documented public API

      weight 3 · round to Homebrew
      Homebrewpartialprobed3/10

      Homebrew exposes a well-documented CLI (Manpage) that can be scripted or invoked programmatically by an AI agent, but there is no dedicated public API, OpenAPI spec, or llms.txt — probes explicitly returned 404s for these. Missing for 10: a machine-readable API spec (OpenAPI/GraphQL), an llms.txt or agent-friendly interface, and any first-party SDK for programmatic (non-CLI) access.

      • [probe] PROBE llms.txt: HTTP 404 at https://docs.brew.sh/llms.txt
      • [probe] PROBE openapi: all candidate paths 404 (https://docs.brew.sh/openapi.json, https://docs.brew.sh/swagger.json, https://docs.brew.sh/api/opena…
      • [probe] official CLI documented at https://docs.brew.sh/Manpage
      • [claimed-docs] Bundler for non-Ruby dependencies from Homebrew formulae, Homebrew casks, Mac App Store dependencies, VSCode (and forks/variants) extensions…
      Nixnone0/10

      Nix exposes a CLI (nix-shell, nix develop, nix build, etc.) but the evidence pack shows no documented public API, OpenAPI spec, or llms.txt for AI-native programmatic access — probes confirm 404s for openapi.json, llms.txt, and markdown docs endpoints.

      • [probe] PROBE llms.txt: HTTP 404 at https://nix.dev/llms.txt
      • [probe] PROBE docs-md: HTTP 404 at https://nix.dev.md
      • [probe] PROBE openapi: all candidate paths 404 (https://nix.dev/openapi.json, https://nix.dev/swagger.json, https://nix.dev/api/openapi.json, https:…

    Api quality

    1. ai-native userDownload a machine-readable API spec (OpenAPI or equivalent)

      weight 2 · round drawn
      Homebrewnone0/10

      Direct probes for OpenAPI/swagger specs and llms.txt all return 404, and no evidence of any machine-readable API spec exists in the docs; Homebrew's docs are man-page style, not an API spec.

      • [probe] PROBE llms.txt: HTTP 404 at https://docs.brew.sh/llms.txt
      • [probe] PROBE openapi: all candidate paths 404 (https://docs.brew.sh/openapi.json, https://docs.brew.sh/swagger.json, https://docs.brew.sh/api/opena…
      Nixnone0/10

      Nix is a package manager/build system, not an API-serving product, and the probes explicitly confirm no OpenAPI spec or machine-readable API endpoint exists (404s at llms.txt, docs.md, and all openapi candidate paths).

      • [probe] PROBE llms.txt: HTTP 404 at https://nix.dev/llms.txt
      • [probe] PROBE docs-md: HTTP 404 at https://nix.dev.md
      • [probe] PROBE openapi: all candidate paths 404 (https://nix.dev/openapi.json, https://nix.dev/swagger.json, https://nix.dev/api/openapi.json, https:…

    Automation depth — how much of the product can run unattendedAutomation depth

    How much of the product can run unattended

    1. ai-native userPerform bulk operations across many items at once

      weight 2 · round to Homebrew
      Homebrewfullcommunity8/10

      Homebrew's Brewfile/`brew bundle` system (install/dump/check/exec) lets a user declare and act on many formulae, casks, taps, and other package types in one bulk operation, and community reports confirm that operations like `brew upgrade` do act across many installed items at once. This is scriptable, non-interactive (NONINTERACTIVE=1) and CLI-driven, making it usable by AI-native automation. Missing for 10: no first-party example of an AI agent orchestrating bulk operations, and no benchmark/independent validation of bulk-operation reliability at scale.

      • [claimed-docs] `brew bundle dump` is Homebrew's installed-state snapshot command: it records supported installed formulae, casks, taps and other package ty…
      • [claimed-docs] Bundler for non-Ruby dependencies from Homebrew formulae, Homebrew casks, Mac App Store dependencies, VSCode (and forks/variants) extensions…
      • [claimed-docs] You can check if a `brew bundle install` will do anything by running: $ brew bundle check
      • [claimed-docs] brew bundle check || brew bundle install
      • [claimed-docs] this will take instructions from the Brewfile to run brew install ruby and install Ruby if needed
      • [claimed-docs] prepend `NONINTERACTIVE=1` to the installation command
      • [community] User reports that 'brew upgrade' started updating ALL casks, even ones marked 'auto_updates: true' in the Cask JSON API, calling it new defa…
      • [community] User asks: "Does homebrew still do that insane thing when you want to upgrade a single package it tells you 'hold my beer' and starts instal…
      Nixnone0/10

      Nix's CLI and declarative configuration model could in principle support scripted bulk operations (e.g. applying a system config to many packages at once), but the evidence pack contains no explicit documentation of batch/bulk operation commands, APIs, or AI-agent-oriented automation for acting across many items simultaneously.

      Cross platform — stories about cross platform in this arenaCross platform

      Stories about cross platform in this arena

      Platform parity

      1. developerUse the same workflow and config on macOS, Linux, and Windows

        weight 2 · round to Homebrew
        Homebrewfullclaimed9/10

        Homebrew explicitly documents supporting macOS, Linux, and WSL/Windows with the same package manager and CLI, and Brewfile/brew bundle provides a portable config format for reproducing dev environments across platforms. missing for 10: independent hands-on verification of identical workflow parity (e.g., no community report confirming full feature parity across all three OSes, only vendor docs).

        • [claimed-docs] Use the same package manager to manage your macOS, Linux and Windows systems
        • [claimed-docs] Homebrew installs the command-line tools and applications you need across macOS, Linux and WSL.
        • [claimed-docs] Install up-to-date versions of software when your host distribution is old
        • [claimed-docs] Adding a `Brewfile` to a project's repository (like you might a `package.json`, `Gemfile` or `requirements.txt`) is a nicer way of encoding …
        • [claimed-docs] `brew bundle dump` is Homebrew's installed-state snapshot command: it records supported installed formulae, casks, taps and other package ty…
        • [claimed-docs] You can check if a `brew bundle install` will do anything by running: $ brew bundle check
        Nixnone0/10

        The evidence pack documents reproducible dev environments, nix-shell/nix develop, and installation solely in terms of macOS/Linux (curl install script, NixOS configuration, Docker images) with no mention of Windows support anywhere; Nix is well known to require WSL for Windows, and no evidence pack item addresses this at all.

        Ecosystem extensibility — stories about ecosystem extensibility in this arenaEcosystem extensibility

        Stories about ecosystem extensibility in this arena

        Extensibility

        1. developerExtend the manager through third-party taps, overlays, plugins, or backends

          weight 1 · round to Homebrew
          Homebrewfullcommunity8/10

          Homebrew documents multiple extensibility mechanisms: third-party taps (`brew tap`/`untap`) that add external formula/cask repositories and even external commands, and Brew Bundle's Brewfile which acts as a plugin-like backend system supporting non-Homebrew package types (Mac App Store, VSCode extensions, Go, Cargo, uv, Flatpak, WinGet, Krew, npm). Community evidence (Trail of Bits audit, tap-trust feature reception) corroborates the tap ecosystem exists and is actively used, though one user notes self-hosting a tap is harder than hosting a plain file repo, a minor friction point rather than a failure of the capability. Missing for 10: independent hands-on validation of writing a custom bundle 'backend'/plugin beyond the built-in list, and clearer docs on extending via custom external commands.

          • [claimed-docs] Bundler for non-Ruby dependencies from Homebrew formulae, Homebrew casks, Mac App Store dependencies, VSCode (and forks/variants) extensions…
          • [claimed-docs] The `brew tap` command adds repositories that Homebrew can use for formulae, casks and external commands.
          • [claimed-docs] `brew tap <user>/<repository>` clones `https://github.com/<user>/homebrew-<repository>` into Homebrew’s tap directory.
          • [claimed-docs] `brew tap <user>/<repository>` clones `https://github.com/<user>/homebrew-<repository>` into Homebrew's tap directory
          • [claimed-docs] brew untap <user>/<repository> [...] removes one or more taps. Homebrew deletes the local repositories and no longer loads their contents.
          • [community] "Hell yeah, tap trust!!!" — positive reaction to new brew tap trust feature described in docs.brew.sh/Tap-Trust.
          • [community] User who tried hosting a Homebrew tap found it much harder than hosting apt/yum repos, since it requires running a git server rather than ju…
          • [community] Trail of Bits auditor: "the findings on Homebrew were not inconsistent with what I'd expect to find on any similarly sized userspace package…
          Nixnone0/10

          The evidence pack contains extensive Nix documentation on installation, package management, rollbacks, and flakes, but nowhere mentions overlays, third-party taps, plugins, or pluggable backends—the actual extensibility mechanisms Nix is known for. Since no evidence in the pack substantiates this capability, it cannot be credited despite the axis being clearly applicable to a package manager/ecosystem like Nix.

          Private registries

          1. platform-engineerPoint the manager at private registries or mirrors with scoped authentication

            weight 2 · round to Homebrew
            Homebrewpartialcommunity4/10

            Homebrew's tap mechanism lets platform engineers add custom Git repositories as package sources (docs-5, 19, 22, 34), which is the closest analog to pointing at a private registry, and community evidence confirms taps can be self-hosted (comm-14). However, there is no evidence in the pack of scoped authentication mechanisms, private mirror configuration (e.g. bottle/mirror domain overrides), or credential management for private taps — comm-14 actually highlights that self-hosting a tap is harder than a standard package mirror since it requires running a git server rather than a simple static/CDN host. Missing for 10: documented support for authenticated/private mirrors, scoped credential/token configuration, and any first-party guidance on enterprise registry mirroring.

            • [claimed-docs] The `brew tap` command adds repositories that Homebrew can use for formulae, casks and external commands.
            • [claimed-docs] `brew tap <user>/<repository>` clones `https://github.com/<user>/homebrew-<repository>` into Homebrew’s tap directory.
            • [claimed-docs] `brew tap <user>/<repository>` clones `https://github.com/<user>/homebrew-<repository>` into Homebrew's tap directory
            • [claimed-docs] brew untap <user>/<repository> [...] removes one or more taps. Homebrew deletes the local repositories and no longer loads their contents.
            • [community] User who tried hosting a Homebrew tap found it much harder than hosting apt/yum repos, since it requires running a git server rather than ju…
            Nixnone0/10

            Evidence only describes generic public binary caches (nix-docs-36, nix-docs-52) with no mention of pointing at private registries/mirrors or configuring scoped authentication credentials (e.g., access tokens, netrc) for substituters. missing for 10: documentation of private/self-hosted binary cache configuration, scoped authentication tokens, mirror substitution, and any independent confirmation of enterprise private-registry usage.

            • [claimed-docs] Nix can automatically skip building from source and instead use a binary cache, a web server that provides pre-built binaries.
            • [claimed-docs] Transparent build caching using binary caches

          Registry

          1. developerInstall almost anything I need from a large, actively maintained package registry or repository

            weight 2 · round drawn
            Homebrewfullcommunity9/10

            Homebrew's core value proposition is a large, actively maintained formula/cask registry, taps for extending it, and independent evidence (comm-18) confirms broad package availability and fast version updates versus alternatives like MacPorts; docs also show bundler support for many ecosystems (npm, cargo, Go, etc.) broadening what can be installed. Some community friction exists around packaging difficulty and stale taps (homebrew-comm-6, homebrew-comm-7) but these are edge-case caveats, not evidence the registry itself fails to deliver broad package availability. Missing for 10: independent quantitative data on total package count/registry size and update cadence beyond anecdote.

            • [claimed-docs] Bundler for non-Ruby dependencies from Homebrew formulae, Homebrew casks, Mac App Store dependencies, VSCode (and forks/variants) extensions…
            • [claimed-docs] The `brew tap` command adds repositories that Homebrew can use for formulae, casks and external commands.
            • [claimed-docs] `brew tap <user>/<repository>` clones `https://github.com/<user>/homebrew-<repository>` into Homebrew’s tap directory.
            • [claimed-docs] Homebrew installs the command-line tools and applications you need across macOS, Linux and WSL.
            • [community] Long-time user recalls choosing Homebrew over MacPorts because 'brew had and has many more packages available, brew updates versions more qu…
            • [community] User describes switching entire dev environment from Homebrew+pipx+npm to mise, citing zero version lag and being able to install any arbitr…
            • [community] User recalls packaging a Python app for Homebrew as painful: importing ~50 dependencies as 'resources', building from source, declaring tool…

            Nixpkgs is documented as offering over 140,000 packages with active maintenance, easy installation via nix-env/nix-shell/nix profile, and community testimony confirms real-world reliance on it for build environments and dependency resolution. Minor gap: no explicit third-party stats on update cadence/registry freshness beyond the package count claim. missing for 10: independent verification of repository update frequency/maintenance activity.

            • [claimed-docs] Choose from over 140 000 Packages
            • [claimed-docs] Nix is extremely useful for developers as it makes it easy to automatically set up the build environment for a package.
            • [claimed-docs] the command `nix-shell` will build or download those dependencies if they’re not already in your Nix store, and then start a Bash shell in w…
            • [community] Nix is a powerful package manager. I can confidently compile and run multiple incompatible versions of software simultaneously... It is fast…
            • [community] I've worked on one of the largest Nix systems and it saves our entire dev team hours. Everything is only built once, on a large set of speci…

          Install reproducibility — stories about install reproducibility in this arenaInstall reproducibility

          Stories about install reproducibility in this arena

          Bootstrap

          1. developerBootstrap a fresh clone with one command that installs everything the project declares

            weight 2 · round drawn
            Homebrewfullcommunity8/10

            Homebrew's Brewfile + `brew bundle install` lets a developer declare formulae, casks, taps, and other dependencies in a repo file and install them all with a single command (`brew bundle install`), with `brew bundle check`/`dump` supporting reproducibility workflows. missing for 10: independent hands-on confirmation of a full 'fresh clone bootstrap' scenario end-to-end, and community evidence raises concerns about upgrade behavior/version pinning that slightly undercut strict reproducibility guarantees.

            • [claimed-docs] Adding a `Brewfile` to a project's repository (like you might a `package.json`, `Gemfile` or `requirements.txt`) is a nicer way of encoding …
            • [claimed-docs] Bundler for non-Ruby dependencies from Homebrew formulae, Homebrew casks, Mac App Store dependencies, VSCode (and forks/variants) extensions…
            • [claimed-docs] You can check if a `brew bundle install` will do anything by running: $ brew bundle check
            • [claimed-docs] brew bundle check || brew bundle install
            • [claimed-docs] this will take instructions from the Brewfile to run brew install ruby and install Ruby if needed
            • [claimed-docs] The Brewfile's dependencies are satisfied.
            • [community] User describes switching entire dev environment from Homebrew+pipx+npm to mise, citing zero version lag and being able to install any arbitr…

            nix-shell/nix develop and flakes (nix build/nix run) let a developer clone a repo and get a fully declared build/dev environment with one command, backed by community testimony of reliability at scale. missing for 10: a concrete one-command 'clone and go' walkthrough example and independent benchmark of reproducibility across machines beyond anecdote.

            • [claimed-docs] the command `nix-shell` will build or download those dependencies if they’re not already in your Nix store, and then start a Bash shell in w…
            • [claimed-docs] `nix develop` - run a bash shell that provides the build environment of a derivation
            • [claimed-docs] Build the flake in the current directory: console # nix build # ./result/bin/hello Hello, world!
            • [claimed-docs] Create a new flake: # nix flake new hello
            • [community] We're using Nix where I work... it was not the most user-friendly to set up, once we got it in place it has reliably worked for the last two…
            • [community] I've worked on one of the largest Nix systems and it saves our entire dev team hours. Everything is only built once, on a large set of speci…

          Lockfiles

          1. platform-engineerEnforce a frozen/immutable lockfile mode that fails the install when the manifest and lockfile disagree

            weight 2 · round drawn
            Homebrewnone0/10

            Homebrew's Brewfile/bundle mechanism only supports `brew bundle check` (report whether the current install differs) and `brew bundle install` (reconcile) — there is no documented strict/immutable mode that fails a CI install when manifest and lockfile disagree, and Brewfile itself is not a version-locking lockfile. Community commentary even contrasts Homebrew's lack of reproducibility with tools like Nix, reinforcing the absence of this capability.

            • [claimed-docs] You can check if a `brew bundle install` will do anything by running: $ brew bundle check
            • [claimed-docs] brew bundle check || brew bundle install
            • [claimed-docs] The Brewfile's dependencies are satisfied.
            • [community] User switched back to Homebrew from Nix, citing better package support/maintenance, better macOS support, and better UX, despite missing Nix…
            • [community] "I recently switched _back_ to Homebrew from Nix... Brew has won me back" despite liking Nix's reproducibility, citing better package mainte…
            Nixnone0/10

            The evidence pack covers Nix's general reproducibility, rollback, and CLI features but never mentions flake.lock, lockfile verification, or a frozen/immutable install mode that fails when the manifest and lock disagree. Missing for 10: any mention of flake.lock, --no-update-lock-file / frozen-mode flags, or CI enforcement of lockfile consistency.

            • developerInstall dependencies from a lockfile and get the exact same resolved versions on every machine

              weight 3 · round to Nix

              Homebrew's Brewfile (docs-1/13/20, docs-2/21/32, docs-26) lets you snapshot and reinstall dependency lists across machines, similar to package.json, but it records formula/cask names rather than pinned exact versions with hashes — there's no evidence of a true version-locking mechanism. Community evidence directly contradicts the reproducibility claim: users note being 'screwed too many times on mandatory upgrades I couldn't pin' (comm-5) and explicitly cite 'missing Nix's reproducibility' when comparing to Homebrew (comm-13, comm-15). Missing for 10: documented exact-version pinning/lockfile hash verification, evidence that `brew bundle install` reproduces identical resolved versions rather than latest-available versions matching names.

              • [claimed-docs] Adding a `Brewfile` to a project's repository (like you might a `package.json`, `Gemfile` or `requirements.txt`) is a nicer way of encoding …
              • [claimed-docs] `brew bundle dump` is Homebrew's installed-state snapshot command: it records supported installed formulae, casks, taps and other package ty…
              • [claimed-docs] You can check if a `brew bundle install` will do anything by running: $ brew bundle check
              • [claimed-docs] brew bundle check || brew bundle install
              • [community] User says they stopped using Homebrew after being 'screwed too many times on mandatory upgrades I couldn't pin,' switching to a combination …
              • [community] User switched back to Homebrew from Nix, citing better package support/maintenance, better macOS support, and better UX, despite missing Nix…
              • [community] "I recently switched _back_ to Homebrew from Nix... Brew has won me back" despite liking Nix's reproducibility, citing better package mainte…

              Nix's docs emphasize reproducible development environments, binary caching, and flake-based builds (`nix build`, `nix flake new`) which resolve to pinned versions, and community reports (nix-comm-9) confirm shared, reproducible builds across dev teams. However, the pack never explicitly names or describes the flake.lock lockfile mechanism, its pinning/versioning semantics, or cross-machine lockfile-driven install verification. Missing for 10: explicit flake.lock documentation, evidence of lockfile diffing/version pinning behavior, and independent confirmation that lockfile-based installs reproduce identical resolved versions across machines.

              • [claimed-docs] Reproducible development environments.
              • [claimed-docs] Build the flake in the current directory: console # nix build # ./result/bin/hello Hello, world!
              • [claimed-docs] Create a new flake: # nix flake new hello
              • [claimed-docs] Nix can automatically skip building from source and instead use a binary cache, a web server that provides pre-built binaries.
              • [community] I've worked on one of the largest Nix systems and it saves our entire dev team hours. Everything is only built once, on a large set of speci…

            Pinning

            1. developerPin exact versions of packages and tools per project and have the manager respect those pins

              weight 3 · round to Nix

              Homebrew docs show a Brewfile mechanism for encoding project dependencies and installed-state snapshots (brew bundle dump/install), but Brewfiles record package names, not exact pinned versions, and there's no documented per-project version-pinning mechanism respected by the manager. Community evidence explicitly contradicts this story: a user reports being 'screwed too many times on mandatory upgrades I couldn't pin' and switching to Mise, another complains Homebrew lacks a standard way to install/pin multiple versions of tools like node/php/Python, relying on pyenv/nvm instead. missing for 10: documented per-formula/project version pinning respected across installs, evidence Brewfile can lock exact versions, resolution of the community-reported pinning failures.

              • [claimed-docs] Adding a `Brewfile` to a project's repository (like you might a `package.json`, `Gemfile` or `requirements.txt`) is a nicer way of encoding …
              • [claimed-docs] `brew bundle dump` is Homebrew's installed-state snapshot command: it records supported installed formulae, casks, taps and other package ty…
              • [claimed-docs] You can check if a `brew bundle install` will do anything by running: $ brew bundle check
              • [community] User says they stopped using Homebrew after being 'screwed too many times on mandatory upgrades I couldn't pin,' switching to a combination …
              • [community] User describes switching entire dev environment from Homebrew+pipx+npm to mise, citing zero version lag and being able to install any arbitr…
              • [community] User wishes for a standard Homebrew way to install multiple versions of node, php and Python, currently relying on pyenv/nvm alongside Homeb…

              Nix's design explicitly supports reproducible, per-project environments via nix-shell/nix develop/flakes that pin exact dependency versions and build environments, and community reports confirm this works reliably at scale (nix-comm-6, nix-comm-7, nix-comm-9) with multiple package versions coexisting without conflict (nix-docs-5, nix-docs-49). Docs also confirm atomic, non-overwriting installs and easy environment transfer/reproduction (nix-docs-50, nix-docs-53, nix-docs-42). Missing for 10: explicit mention of flake.lock version pinning mechanics or nixpkgs commit pinning workflow, and independent verification of pin-respecting behavior across upgrades.

              • [claimed-docs] Reproducible development environments.
              • [claimed-docs] You can have multiple versions or variants of a package installed at the same time.
              • [claimed-docs] Reproducible development environments
              • [claimed-docs] You can have multiple versions or variants of a package installed at the same time. This is especially important when different applications…
              • [claimed-docs] Build the flake in the current directory: console # nix build # ./result/bin/hello Hello, world!
              • [claimed-docs] Create a new flake: # nix flake new hello
              • [claimed-docs] the command `nix-shell` will build or download those dependencies if they’re not already in your Nix store, and then start a Bash shell in w…
              • [claimed-docs] `nix develop` - run a bash shell that provides the build environment of a derivation
              • [community] Nix is a powerful package manager. I can confidently compile and run multiple incompatible versions of software simultaneously... It is fast…
              • [community] We're using Nix where I work... it was not the most user-friendly to set up, once we got it in place it has reliably worked for the last two…
              • [community] I've worked on one of the largest Nix systems and it saves our entire dev team hours. Everything is only built once, on a large set of speci…

            Migration adoption — stories about migration adoption in this arenaMigration adoption

            Stories about migration adoption in this arena

            Compatibility

            1. switcherKeep using familiar commands and interface conventions from the incumbent tool while adopting this manager

              weight 2 · round to Homebrew
              Homebrewpartialcommunity4/10

              Homebrew's Brewfile is explicitly designed to mirror familiar conventions from other ecosystems (package.json, Gemfile, requirements.txt) and its bundler can manage npm, Cargo, Go, uv, WinGet packages, easing conceptual migration, and community comments show users moving between Homebrew and MacPorts/Nix citing familiar UX. However there is no evidence of command-level compatibility (e.g., aliasing apt/yum/MacPorts commands) or an explicit migration guide for switchers. Missing for 10: command-alias/compat layer for incumbent tool syntax, dedicated switcher migration documentation, independent verification of command familiarity claims.

              • [claimed-docs] Adding a `Brewfile` to a project's repository (like you might a `package.json`, `Gemfile` or `requirements.txt`) is a nicer way of encoding …
              • [claimed-docs] Bundler for non-Ruby dependencies from Homebrew formulae, Homebrew casks, Mac App Store dependencies, VSCode (and forks/variants) extensions…
              • [claimed-docs] Adding a `Brewfile` to a project’s repository (like you might a `package.json`, `Gemfile` or `requirements.txt`) is a nicer way of encoding …
              • [claimed-docs] Adding a `Brewfile` to a project's repository (like you might a `package.json`, `Gemfile` or `requirements.txt`) is a nicer way of encoding …
              • [community] User switched back to Homebrew from Nix, citing better package support/maintenance, better macOS support, and better UX, despite missing Nix…
              • [community] "I recently switched _back_ to Homebrew from Nix... Brew has won me back" despite liking Nix's reproducibility, citing better package mainte…
              • [community] Long-time user recalls choosing Homebrew over MacPorts because 'brew had and has many more packages available, brew updates versions more qu…
              Nixnone0/10

              Nix's documentation describes its own distinct command set (nix-env, nix-shell, nix develop, flakes) with no mention of compatibility shims or command aliases mimicking incumbent package managers (apt, brew, npm, etc.). Community evidence even points the other way, describing real migration friction ('cost of wrapping packages is just a little too high', 'pretty annoying when something doesn't work... have to dig deep') rather than a smooth familiar-command transition.

              • [claimed-docs] $ nix-env --upgrade --attr nixpkgs.some-package $ nix-env --rollback
              • [claimed-docs] the command nix-shell will build or download those dependencies if they’re not already in your Nix store, and then start a Bash shell
              • [claimed-docs] nix develop - run a bash shell that provides the build environment of a derivation
              • [community] I really want to adopt Nix and NixOS for my systems but the cost of wrapping packages is just a little too high for me right now.
              • [community] We're doing a project right now to try to migrate to using nix for our python code that runs on a raspberry pi. It's been great in many area…

            Migration

            1. switcherMigrate an existing project from the incumbent tool with documented import or conversion tooling

              weight 2 · round drawn
              Homebrewnone0/10

              Homebrew's Brewfile lets you snapshot/replay Homebrew's own installed state and is likened to package.json/Gemfile, but there's no documented tool for importing/converting an existing project's dependency manifest from another package manager (e.g., apt, MacPorts, Nix) into Homebrew. Community evidence only shows anecdotal switching to/from Homebrew, not an official conversion tool.

              • [claimed-docs] Adding a `Brewfile` to a project's repository (like you might a `package.json`, `Gemfile` or `requirements.txt`) is a nicer way of encoding …
              • [claimed-docs] `brew bundle dump` is Homebrew's installed-state snapshot command: it records supported installed formulae, casks, taps and other package ty…
              • [community] User switched back to Homebrew from Nix, citing better package support/maintenance, better macOS support, and better UX, despite missing Nix…
              • [community] User switched from Homebrew to MacPorts a few years ago and 'couldn't be happier.'
              Nixnone0/10

              The evidence pack shows general Nix package/environment management docs but no documented import or conversion tooling for migrating from another package manager (e.g., npm, pip, conda, Homebrew) into Nix. One community comment mentions attempting to migrate Python code to Nix but describes friction, not an official conversion tool.

              • [community] We're doing a project right now to try to migrate to using nix for our python code that runs on a raspberry pi. It's been great in many area…

            Openness — open source, data portability, and self-hosting storiesOpenness

            Open source, data portability, and self-hosting stories

            1. ai-native userRead the product's source under an open license

              weight 2 · round to Homebrew
              Homebrewpartialclaimed4/10

              The evidence pack shows Homebrew's source code is publicly hosted on GitHub (homebrew-gh-1: github.com/Homebrew/brew), which supports the ability to read the source, but no evidence explicitly states the license terms under which it is distributed. missing for 10: explicit license documentation (e.g., BSD-2-Clause) referenced in the evidence pack, independent confirmation of license compliance.

              • [github] perform a strict audit on a package you use e.g. `brew audit --strict ffmpeg` for FFmpeg
              Nixnone0/10

              The evidence pack contains only usage/CLI documentation and community discussion about Nix's package management features; none of the citations reference the project's source repository, license, or any open-source licensing statement, so there is no evidence to support this openness story.

              • ai-native userSelf-host the core product

                weight 3 · round to Nix
                Homebrewpartialcommunity5/10

                Homebrew's core CLI is open-source and runs entirely on the user's own machine with no mandatory cloud backend, and taps (its extension/repository mechanism) can be self-hosted via any git server (docs-5, docs-19, docs-22). However, hands-on community experience notes that self-hosting a tap is notably harder than mirroring apt/yum repos because it requires running a full git server rather than a static file host (homebrew-comm-14), which is a real caveat to full self-hosting ease. Missing for 10: no documented turnkey self-hosted registry/mirror solution, no first-party guidance for fully air-gapped/self-hosted deployments beyond taps.

                • [claimed-docs] The `brew tap` command adds repositories that Homebrew can use for formulae, casks and external commands.
                • [claimed-docs] `brew tap <user>/<repository>` clones `https://github.com/<user>/homebrew-<repository>` into Homebrew’s tap directory.
                • [claimed-docs] `brew tap <user>/<repository>` clones `https://github.com/<user>/homebrew-<repository>` into Homebrew's tap directory
                • [community] User who tried hosting a Homebrew tap found it much harder than hosting apt/yum repos, since it requires running a git server rather than ju…

                Nix is inherently self-hostable open-source software: it is installed locally via a shell script (nix-docs-11/23/32), builds entirely from source or local/self-hosted binary caches (nix-docs-36/52), and NixOS itself can be deployed on owned hardware, EC2, or custom ISOs (nix-docs-15/21/40/51, nix-comm-5). There is no vendor lock-in or SaaS dependency, and the core package manager and OS run fully under user control. missing for 10: no explicit first-party guide titled 'self-hosting' or documentation of self-hosting a private binary cache/Hydra CI server, and no independent hands-on report specifically confirming a fully self-hosted deployment.

                • [claimed-docs] $ curl --proto '=https' --tlsv1.2 -L https://nixos.org/nix/install | sh -s -- --daemon
                • [claimed-docs] curl --proto '=https' --tlsv1.2 -L https://nixos.org/nix/install | sh -s -- --daemon
                • [claimed-docs] Install Nix via the recommended multi-user installation
                • [claimed-docs] Nix can automatically skip building from source and instead use a binary cache, a web server that provides pre-built binaries.
                • [claimed-docs] Transparent build caching using binary caches
                • [claimed-docs] You configure a NixOS system by writing a specification of the functionality that you want on your machine in `/etc/nixos/configuration.nix`…
                • [claimed-docs] You configure a NixOS system by writing a specification of the functionality that you want on your machine in `/etc/nixos/configuration.nix`
                • [claimed-docs] NixOS can be deployed to Amazon EC2 using our official AMI.
                • [claimed-docs] The graphical installation ISO image contains the graphical NixOS installer as well as several Desktop Environments and several applications…
                • [community] I really liked how easy it was to create a custom ISO when I installed Nix. For once I had Dvorak as the default keyboard from the outset, n…

              Performance caching — stories about performance caching in this arenaPerformance caching

              Stories about performance caching in this arena

              Benchmarks

              1. developerSee published benchmarks or measured numbers backing the manager's speed claims

                weight 1 · round drawn
                Homebrewnone0/10

                No published benchmarks or measured performance numbers appear anywhere in the evidence; only anecdotal community remarks about upgrade speed (e.g., 'most pleasant brew upgrade session') and a Bootsnap env var mention, with no actual data or benchmark reports cited.

                  Nixnone0/10

                  The evidence pack contains only qualitative feature descriptions (binary caches, remote builds, atomic operations) and anecdotal community comments about speed/hassle, but no published benchmark numbers, performance metrics, or measured comparisons backing speed claims.

                  Binary caching

                  1. developerInstall prebuilt binary packages from a cache instead of compiling from source

                    weight 3 · round to Nix
                    Homebrewfullclaimed8/10

                    Homebrew's Bottles documentation explicitly describes that formulae define prebuilt binary bottles matching the user's system architecture, which are downloaded and installed automatically instead of building from source, and casks similarly install upstream prebuilt binaries. This is a core, well-documented feature (first-party docs) though independent hands-on corroboration of bottle-vs-source performance specifically is thin. missing for 10: independent/hands-on verification of bottle cache hit rates or fallback-to-source behavior in practice.

                    • [claimed-docs] When the formula being installed defines a bottle matching your system, it will be downloaded and installed automatically when you run `brew…
                    • [claimed-docs] Use `--bottle-arch=` only when the formula intentionally requires another architecture and its compatibility has been reviewed.
                    • [claimed-docs] Casks are package definitions that install upstream pre-built binaries such as applications, fonts and plugins.
                    • [claimed-docs] It installs each package into its own keg inside the Cellar, then symlinks its files into the prefix

                    Nix docs explicitly describe automatically skipping source builds in favor of downloading from a binary cache, and this is reinforced by mentions of 'transparent build caching using binary caches'; community testimony corroborates shared build caching saving dev time across teams. Missing for 10: independent hands-on benchmark specifically timing cache-hit vs source-build installs.

                    • [claimed-docs] Nix can automatically skip building from source and instead use a binary cache, a web server that provides pre-built binaries.
                    • [claimed-docs] Transparent build caching using binary caches
                    • [community] I've worked on one of the largest Nix systems and it saves our entire dev team hours. Everything is only built once, on a large set of speci…

                  Ci speed

                  1. platform-engineerMake CI installs fast with a documented cache-restore setup and offline-capable installs

                    weight 3 · round to Nix
                    Homebrewnone0/10

                    Evidence shows bottles (precompiled binaries) speed up installs and Brewfile enables reproducible dependency lists, but there is no documented CI cache-restore setup (e.g. HOMEBREW_CACHE guidance, GitHub Actions cache integration) or offline-capable install mode described anywhere in the pack.

                      Nix documents binary caches and remote builds as core caching mechanisms (transparent build caching, automatic binary cache use), and community evidence confirms this yields shared build artifacts across CI/dev/deploy pipelines (nix-comm-9). However, there is no documented CI-specific cache-restore setup (e.g., GitHub Actions cache integration) nor explicit guidance on offline-capable installs. Missing for 10: CI-platform cache-restore tooling/docs, explicit offline-install workflow documentation, and independent CI benchmarking evidence.

                      • [claimed-docs] Nix can automatically skip building from source and instead use a binary cache, a web server that provides pre-built binaries.
                      • [claimed-docs] Transparent build caching using binary caches
                      • [claimed-docs] Remote builds.
                      • [community] I've worked on one of the largest Nix systems and it saves our entire dev team hours. Everything is only built once, on a large set of speci…

                    Disk efficiency

                    1. developerRely on a shared content-addressable store so the same dependency version is stored once on disk across all projects

                      weight 2 · round to Nix
                      Homebrewpartialcommunity4/10

                      Homebrew's docs show a single shared install location (the Cellar) where each formula version is installed once and then symlinked into the prefix, meaning multiple projects on the same machine reuse the same on-disk copy rather than duplicating it (homebrew-docs-28). However, this is a global install directory, not a true content-addressable store keyed by build hash (unlike Nix/Guix), and community commentary explicitly contrasts Homebrew's lack of Nix-style reproducibility/content-addressing (homebrew-comm-13, homebrew-comm-15) even while praising Homebrew's UX. Missing for 10: explicit documentation of content-addressed/hashed store paths, evidence of per-project isolation without conflicts, and independent verification of dedup behavior across projects.

                      • [claimed-docs] It installs each package into its own keg inside the Cellar, then symlinks its files into the prefix
                      • [community] User switched back to Homebrew from Nix, citing better package support/maintenance, better macOS support, and better UX, despite missing Nix…
                      • [community] "I recently switched _back_ to Homebrew from Nix... Brew has won me back" despite liking Nix's reproducibility, citing better package mainte…

                      Docs describe the Nix store's atomicity ("package management operations never overwrite... just add new versions in different paths"), ability to have multiple versions/variants installed simultaneously, binary caching to avoid rebuilding, and garbage collection of unused store paths — all consistent with a single shared, deduplicated on-disk store. Community evidence corroborates real-world sharing across a dev team: "Everything is only built once... then shared among all of our devs, CI, and deployment infrastructure." missing for 10: explicit documentation of the hash-based content-addressing mechanism itself and independent verification of cross-project dedup at scale.

                      • [claimed-docs] You can have multiple versions or variants of a package installed at the same time.
                      • [claimed-docs] You can have multiple versions or variants of a package installed at the same time. This is especially important when different applications…
                      • [claimed-docs] Since package management operations never overwrite packages in the Nix store but just add new versions in different paths, they are atomic.
                      • [claimed-docs] Nix can automatically skip building from source and instead use a binary cache, a web server that provides pre-built binaries.
                      • [claimed-docs] Transparent build caching using binary caches
                      • [claimed-docs] unused packages can be deleted safely by running the _garbage collector_
                      • [claimed-docs] unused packages can be deleted safely by running the garbage collector
                      • [community] I've worked on one of the largest Nix systems and it saves our entire dev team hours. Everything is only built once, on a large set of speci…

                    Security supply chain — stories about security supply chain in this arenaSecurity supply chain

                    Stories about security supply chain in this arena

                    Auditing

                    1. platform-engineerAudit installed dependencies for known vulnerabilities directly from the CLI

                      weight 3 · round drawn
                      Homebrewnone0/10

                      The only related evidence is `brew audit --strict`, which is a formula-quality/style linter for package definitions, not a CVE/vulnerability database scan of installed dependencies. No evidence pack item shows Homebrew cross-referencing installed formulae/casks against known-vulnerability databases (unlike `npm audit` or `pip-audit`). missing for 10: any CVE/vulnerability database integration, a documented security-audit subcommand, and evidence of scanning installed packages (vs. formula source) for known vulnerabilities.

                      • [github] perform a strict audit on a package you use e.g. `brew audit --strict ffmpeg` for FFmpeg
                      Nixnone0/10

                      No evidence of any vulnerability scanning or CVE auditing capability in Nix's CLI; documentation covers reproducibility, rollbacks, garbage collection, and package installation but nothing about security vulnerability auditing.

                      Hardening

                      1. platform-engineerTurn on protections against malicious packages, such as blocking lifecycle scripts or enforcing a minimum release age

                        weight 2 · round to Homebrew
                        Homebrewpartialcommunity3/10

                        Homebrew documents a 'tap trust' feature to restrict installs to trusted taps and `brew audit --strict` for auditing formula quality/security, which are adjacent supply-chain protections, but there is no evidence of the specific controls named in the story—blocking lifecycle/install scripts or enforcing a minimum release age before a package can be installed. missing for 10: documented ability to disable/block formula install scripts, a minimum-release-age gate or similar time-delay policy, and any admin-facing config toggle for these specific protections.

                        • [claimed-docs] Install a fully qualified item to trust only that item:
                        • [community] "Hell yeah, tap trust!!!" — positive reaction to new brew tap trust feature described in docs.brew.sh/Tap-Trust.
                        • [github] perform a strict audit on a package you use e.g. `brew audit --strict ffmpeg` for FFmpeg
                        Nixnone0/10

                        No evidence in the pack mentions security controls like blocking lifecycle scripts, minimum package release age enforcement, or any supply-chain malicious-package protections; the pack only covers reproducibility, rollbacks, environments, and installation. missing for 10: any mention of lifecycle-script blocking, minimum release age policy, or malicious package vetting controls.

                        Integrity

                        1. platform-engineerTrust that fetched packages are verified against checksums, signatures, or attestations before they run

                          weight 2 · round to Homebrew
                          Homebrewpartialcommunity3/10

                          Homebrew documents a 'tap trust' mechanism (installing a fully-qualified item to trust only that item) and offers audit tooling (`brew audit --strict`), and a third-party security audit found nothing unusual for a package manager that serves its own binaries — but the evidence pack contains no explicit documentation of checksum, signature, or attestation verification occurring automatically before a package runs. Missing for 10: explicit docs on bottle/source checksum verification, code-signing or SLSA/attestation checks, and independent confirmation these checks are enforced by default at install time.

                          • [claimed-docs] Install a fully qualified item to trust only that item:
                          • [community] "Hell yeah, tap trust!!!" — positive reaction to new brew tap trust feature described in docs.brew.sh/Tap-Trust.
                          • [github] perform a strict audit on a package you use e.g. `brew audit --strict ffmpeg` for FFmpeg
                          • [community] Trail of Bits auditor: "the findings on Homebrew were not inconsistent with what I'd expect to find on any similarly sized userspace package…
                          Nixnone0/10

                          The evidence pack contains no mention of checksum/signature/attestation verification, binary cache trust settings (e.g., trusted-public-keys), or signed narinfo verification, despite Nix actually supporting such features in reality — none of that is documented in this evidence pack. Binary caches are mentioned only as a performance/caching feature, not as a verified/trusted source.

                          • [claimed-docs] Nix can automatically skip building from source and instead use a binary cache, a web server that provides pre-built binaries.

                        Toolchain management — stories about toolchain management in this arenaToolchain management

                        Stories about toolchain management in this arena

                        Environments

                        1. developerHave the right tool versions and environment variables activate automatically when I enter a project directory

                          weight 1 · round to Nix
                          Homebrewnone0/10

                          Homebrew's Brewfile mechanism (brew bundle install/check/exec) requires manually running commands—it does not auto-activate tool versions or env vars when entering a directory. Community evidence explicitly notes users adopting mise instead of Homebrew specifically for automatic per-project version switching and environment activation (homebrew-comm-6, homebrew-comm-9), and no docs claim directory-based auto-activation.

                          • [claimed-docs] Adding a `Brewfile` to a project's repository (like you might a `package.json`, `Gemfile` or `requirements.txt`) is a nicer way of encoding …
                          • [claimed-docs] You can check if a `brew bundle install` will do anything by running: $ brew bundle check
                          • [claimed-docs] brew bundle check || brew bundle install
                          • [claimed-docs] Run your shell in a `brew bundle exec` environment.
                          • [community] User describes switching entire dev environment from Homebrew+pipx+npm to mise, citing zero version lag and being able to install any arbitr…
                          • [community] User wishes for a standard Homebrew way to install multiple versions of node, php and Python, currently relying on pyenv/nvm alongside Homeb…

                          Nix provides reproducible, project-scoped environments via `nix-shell` and `nix develop`, which set the right tool versions and environment variables for a project, but these require manually running a command inside the directory rather than automatically activating on `cd`. Automatic directory-based activation (e.g., via direnv integration) is not mentioned anywhere in the evidence pack. Missing for 10: evidence of automatic activation on directory entry (direnv/nix-direnv integration), independent confirmation of seamless auto-activation UX.

                          • [claimed-docs] the command `nix-shell` will build or download those dependencies if they’re not already in your Nix store, and then start a Bash shell in w…
                          • [claimed-docs] `nix develop` - run a bash shell that provides the build environment of a derivation
                          • [claimed-docs] nix develop - run a bash shell that provides the build environment of a derivation
                          • [community] We're using Nix where I work... it was not the most user-friendly to set up, once we got it in place it has reliably worked for the last two…

                        Runtimes

                        1. developerInstall and switch language runtimes or tool versions per project from a checked-in config file

                          weight 2 · round to Nix

                          Docs show Brewfile can declare and install project dependencies via `brew bundle install/check` (docs-1,13,20,26,30,31), which superficially resembles per-project config, but Homebrew installs one global version per formula rather than supporting per-project runtime switching. Community evidence directly contradicts the story: a user explicitly wishes for 'a standard Homebrew way to install multiple versions of node, php and Python' and relies on pyenv/nvm instead (comm-9), and another switched their whole toolchain to mise specifically for arbitrary/multiple version installs Homebrew couldn't provide (comm-6). Missing for 10: native per-project version switching (like asdf/mise/nvm), evidence of Brewfile pinning distinct runtime versions per directory, and any rebuttal to the community reports of this gap.

                          • [claimed-docs] Adding a `Brewfile` to a project's repository (like you might a `package.json`, `Gemfile` or `requirements.txt`) is a nicer way of encoding …
                          • [claimed-docs] Adding a `Brewfile` to a project’s repository (like you might a `package.json`, `Gemfile` or `requirements.txt`) is a nicer way of encoding …
                          • [claimed-docs] Adding a `Brewfile` to a project's repository (like you might a `package.json`, `Gemfile` or `requirements.txt`) is a nicer way of encoding …
                          • [claimed-docs] brew bundle check || brew bundle install
                          • [claimed-docs] this will take instructions from the Brewfile to run brew install ruby and install Ruby if needed
                          • [community] User wishes for a standard Homebrew way to install multiple versions of node, php and Python, currently relying on pyenv/nvm alongside Homeb…
                          • [community] User describes switching entire dev environment from Homebrew+pipx+npm to mise, citing zero version lag and being able to install any arbitr…

                          Nix's flakes/nix develop and nix-shell provide per-project, checked-in (flake.nix/shell.nix) reproducible environments that pin exact language/tool versions and let devs switch environments per directory, corroborated by community reports of using nix-shell/flakes for dependency isolation across projects. missing for 10: no explicit direnv/.envrc auto-switch example, and no independent hands-on account specifically describing multi-project runtime version switching via checked-in config.

                          • [claimed-docs] `nix develop` - run a bash shell that provides the build environment of a derivation
                          • [claimed-docs] nix develop - run a bash shell that provides the build environment of a derivation
                          • [claimed-docs] the command `nix-shell` will build or download those dependencies if they’re not already in your Nix store, and then start a Bash shell in w…
                          • [claimed-docs] the command nix-shell will build or download those dependencies if they’re not already in your Nix store, and then start a Bash shell
                          • [claimed-docs] Reproducible development environments
                          • [claimed-docs] You can have multiple versions or variants of a package installed at the same time. This is especially important when different applications…
                          • [community] We're using Nix where I work... it was not the most user-friendly to set up, once we got it in place it has reliably worked for the last two…
                          • [community] Nix is a powerful package manager. I can confidently compile and run multiple incompatible versions of software simultaneously... It is fast…

                        Not comparable on these axes

                        1. ai-native userPlug MCP servers into this product so it can use their tools

                          weight 3 · not comparable
                          Homebrewn/a

                          Homebrew is a package manager, not an AI agent or agent-facing platform; the MCP server plug-in story is a category error for this product type — no evidence pack item relates to MCP at all.

                            Nixn/a

                            Nix is a package manager/build system, not an AI agent or assistant product; MCP server plug-in capability is a category mismatch for this kind of tool.

                            • ai-native userConnect an agent via an official MCP server

                              weight 3 · not comparable
                              Homebrewnone0/10

                              Homebrew is a package manager; the evidence shows no official MCP server offering, and probes confirm no llms.txt/openapi endpoints. Since Homebrew is a platform/tool (not itself an agent), the axis applies but no evidence of an MCP server exists.

                              • [probe] PROBE llms.txt: HTTP 404 at https://docs.brew.sh/llms.txt
                              • [probe] PROBE openapi: all candidate paths 404 (https://docs.brew.sh/openapi.json, https://docs.brew.sh/swagger.json, https://docs.brew.sh/api/opena…
                              Nixn/a

                              Nix is a package manager/build system, not an AI agent or agent-serving platform; the concept of connecting an AI agent via an official MCP server is outside its product category and not addressed anywhere in the evidence.

                              • ai-native userIssue scoped/least-privilege API credentials for an agent

                                weight 2 · not comparable
                                Homebrewn/a

                                Homebrew is a package manager with no API/credential system for agents to authenticate against; scoped API credential issuance is a wrong axis for this product category.

                                  Nixn/a

                                  Nix is a package manager/build system with no concept of API credentials or agent identity/authorization; issuing scoped API credentials is entirely outside its product category.

                                  • ai-native userBuild against official SDKs

                                    weight 2 · not comparable
                                    Homebrewn/a

                                    Homebrew is a package manager, not an SDK provider; the story concerns building against official SDKs which is a category error for this product type.

                                      Nixn/a

                                      Nix is a package manager/build system, not a service with SDKs for building AI-native applications against; this axis is a category error for this product type.

                                      • ai-native userSubscribe to events via webhooks

                                        weight 2 · not comparable
                                        Homebrewn/a

                                        Homebrew is a local package manager CLI with no event/notification system; webhook subscriptions are not a fair axis for this kind of product.

                                          Nixn/a

                                          Nix is a package manager/build system, not an event-driven service; webhooks for event subscriptions are outside its product category and not a fair axis for it.

                                          • ai-native userGet AI-generated insights and suggestions from my data inside the product

                                            weight 2 · not comparable
                                            Homebrewn/a

                                            Homebrew is a package manager CLI; it has no data/insights surface for AI-generated suggestions to apply to — this axis is a category error for this product type.

                                              Nixn/a

                                              Nix is a package manager/build system, not a data analytics or AI-insight product; there is no concept of 'user data' to analyze or AI-generated suggestions to surface within it, making this axis a category error.

                                              • ai-native userSet up automations that run autonomously in the background

                                                weight 2 · not comparable
                                                Homebrewn/a

                                                Homebrew is a package manager; running autonomous background automations is not a capability class it offers or claims (no scheduler, agent, or task-runner functionality in evidence). This axis is a category error for this product type, not an unmet feature.

                                                  Nixn/a

                                                  Nix is a package manager/build system focused on reproducible builds and environments, not an automation/agent orchestration platform; there is no concept of autonomous background automations in its evidence, and the axis is a category error for this product type.

                                                  • ai-native userDelegate tasks to a built-in AI assistant inside the product

                                                    weight 3 · not comparable
                                                    Homebrewn/a

                                                    Homebrew is a package manager CLI; there is no evidence of any built-in AI assistant feature, and this capability is a category error for a package manager rather than an unmet-but-applicable axis.

                                                      Nixn/a

                                                      Nix is a package manager/build system, not an AI assistant or agent platform; there is no built-in AI assistant concept applicable to this product category.

                                                      • ai-native userOperate the product with natural-language commands

                                                        weight 2 · not comparable
                                                        Homebrewn/a

                                                        Homebrew is a CLI package manager operated via structured commands (brew install, brew tap, etc.); natural-language command interaction is not a category-relevant capability for this kind of product, and no evidence shows any NL interface layered on it.

                                                          Nixn/a

                                                          Nix is a package manager/build tool operated via explicit CLI commands and configuration expressions; natural-language command interaction is outside its product category, not a missing feature.

                                                          • ai-native userExplore an interactive API reference with runnable examples

                                                            weight 2 · not comparable
                                                            Homebrewn/a

                                                            Homebrew is a CLI package manager with a manpage, not an API product; an interactive API reference with runnable examples is not a fitting capability for this kind of tool.

                                                              Nixn/a

                                                              Nix is a package manager/build system, not a service with an API; there's no evidence of an API reference or runnable API examples, and this axis doesn't fit its product category.

                                                              • ai-native userTest against a sandbox environment without touching production data

                                                                weight 1 · not comparable
                                                                Homebrewn/a

                                                                Homebrew is a package manager, not a service with production data or a sandbox/staging environment concept; the story's axis (testing against sandbox vs. production data) is a category error for this product type.

                                                                  Nix provides isolated, reproducible dev environments (nix-shell, nix develop) and explicitly touts 'reproducible integration testing using virtual machines,' which can serve as a sandbox distinct from a live system, and community reports confirm devs use nix-shell for isolated testing. However, none of the evidence frames this in terms of an AI-agent workflow, data isolation from production databases/state, or an agent-driven test harness — it's generic dev/VM sandboxing, not an AI-native testing sandbox concept. Missing for 10: explicit AI-agent sandbox tooling, production-data isolation guarantees, and any agentic/automated testing workflow evidence.

                                                                  • [claimed-docs] the command `nix-shell` will build or download those dependencies if they’re not already in your Nix store, and then start a Bash shell in w…
                                                                  • [claimed-docs] `nix develop` - run a bash shell that provides the build environment of a derivation
                                                                  • [claimed-docs] Reproducible integration testing using virtual machines.
                                                                  • [claimed-docs] Reproducible integration testing using virtual machines
                                                                  • [community] We're using Nix where I work... it was not the most user-friendly to set up, once we got it in place it has reliably worked for the last two…
                                                                • ai-native userRely on versioned APIs with a documented deprecation policy

                                                                  weight 2 · not comparable
                                                                  Homebrewn/a

                                                                  Homebrew is a CLI package manager, not a service exposing programmatic APIs consumed by AI agents; there is no API surface for which a versioning/deprecation policy would be a meaningful axis. This is a category mismatch rather than a missing capability.

                                                                    Nixn/a

                                                                    Nix is a package manager/build tool, not a service exposing versioned APIs to AI agents; the story about API versioning and deprecation policy is a category mismatch for this product type.

                                                                    • ai-native userDefine rules that trigger actions automatically on events

                                                                      weight 3 · not comparable
                                                                      Homebrewn/a

                                                                      Homebrew is a package manager; it has no event/trigger/automation-rule system for reacting to events. This capability is a wrong-axis question for a package manager rather than an unmet feature.

                                                                        Nixn/a

                                                                        Nix is a package manager/build system, not an event-driven automation or rules-engine tool; defining trigger-action rules on events is outside its category (wrong axis).

                                                                        • ai-native userSchedule recurring jobs or workflows

                                                                          weight 2 · not comparable
                                                                          Homebrewn/a

                                                                          Homebrew is a package manager; scheduling recurring jobs/workflows is outside its category (no cron/scheduler feature is part of its purpose), so this automation axis is a category error rather than a missing capability.

                                                                            Nixn/a

                                                                            Nix is a package manager/build system, not a workflow or job orchestration tool; scheduling recurring jobs is outside its category and would require external tools like cron or CI systems, not Nix itself.

                                                                            • ai-native userVersion, review, and roll back my automations

                                                                              weight 1 · not comparable
                                                                              Homebrewpartialcommunity3/10

                                                                              Homebrew's Brewfile can be checked into a repo for versioning and reviewed via `brew bundle check`/`dump`/`install` diffs, giving some version-and-review capability for declared package state, but there is no dedicated rollback mechanism — a user explicitly asks for 'a better rollback mechanism' after breaking installs via updates and resorts to manual workarounds (disabling cleanup) rather than a supported rollback feature. Missing for 10: a first-party rollback/undo command, snapshot restore, or history diffing beyond git-tracked Brewfiles, and any evidence this maps to 'automations' beyond package dependency lists.

                                                                              • [claimed-docs] Adding a `Brewfile` to a project's repository (like you might a `package.json`, `Gemfile` or `requirements.txt`) is a nicer way of encoding …
                                                                              • [claimed-docs] `brew bundle dump` is Homebrew's installed-state snapshot command: it records supported installed formulae, casks, taps and other package ty…
                                                                              • [claimed-docs] You can check if a `brew bundle install` will do anything by running: $ brew bundle check
                                                                              • [community] User requests a better rollback mechanism, having broken their home server multiple times with bad InfluxDB/Grafana updates via Homebrew; no…
                                                                              Nixn/a

                                                                              Nix is a package manager/build-system for reproducible environments, not a platform for building or managing AI 'automations' (workflows/agents) that could be versioned, reviewed, and rolled back as such; its rollback features apply to package/system state, not to automation pipelines, making this the wrong axis for this product category.

                                                                              • developerManage many packages in one monorepo with workspaces sharing a single lockfile and cross-linked local dependencies

                                                                                weight 3 · not comparable
                                                                                Homebrewn/a

                                                                                Homebrew is a system package manager; 'monorepo workspaces with shared lockfile and cross-linked local dependencies' is a JavaScript/Node-style build-tooling concept that doesn't map to Homebrew's Brewfile/formula model. This is a category-mismatched axis, not a missing feature.

                                                                                  Nixnone0/10

                                                                                  The evidence pack covers Nix's environment reproducibility, package management, rollbacks, and CLI features, but contains no mention of monorepo workspace support, shared lockfiles across multiple packages, or cross-linked local dependency mechanisms akin to npm/yarn/pnpm workspaces. While Nix flakes could conceivably be used to structure a monorepo, no documentation or community evidence describes such a workspace feature.

                                                                                  • developerRun installs and scripts filtered to a subset of workspace packages (including only those affected by a change)

                                                                                    weight 2 · not comparable
                                                                                    Homebrewn/a

                                                                                    This story concerns monorepo workspace tooling (filtering scripts/installs to affected packages via dependency graphs, e.g. Turborepo/Nx/Lerna semantics). Homebrew is a system-level OS package manager with Brewfiles for whole-environment dependency declaration, not a monorepo workspace/build tool with package graph filtering — this axis is a category error for this product type.

                                                                                      Nixnone0/10

                                                                                      Nix documentation covers building individual flake outputs (e.g. `nix build`, `nix run`) but there is no evidence of any monorepo/workspace concept, dependency-graph-based 'affected package' detection, or a mechanism to scope installs/scripts to a subset of interdependent packages changed in a diff.

                                                                                      • [claimed-docs] Build the flake in the current directory: console # nix build # ./result/bin/hello Hello, world!
                                                                                      • [claimed-docs] `nix run` - run a Nix application
                                                                                      • [claimed-docs] Create a new flake: # nix flake new hello
                                                                                    • ai-native userDo everything through the API that I can do in the UI

                                                                                      weight 2 · not comparable
                                                                                      Homebrewn/a

                                                                                      Homebrew is a CLI-only package manager with no graphical UI to compare against an API; the UI/API parity axis is a category error for this type of product.

                                                                                        Nixn/a

                                                                                        Nix is a command-line package manager/OS configuration tool with no web application UI and no HTTP API to compare against — the API-vs-UI parity question is a category error for this product type; all evidence describes CLI commands (nix-shell, nix develop, nix-env) rather than a UI/API duality.

                                                                                        • ai-native userExport all of my data in open formats and leave

                                                                                          weight 3 · not comparable
                                                                                          Homebrewfullclaimed7/10

                                                                                          Homebrew's `brew bundle dump` exports the full installed-state (formulae, casks, taps, and other package types) into a plain-text `Brewfile`, an open, human-readable format akin to package.json/Gemfile, and `brew bundle install`/`check` can reconstitute that state elsewhere, satisfying the 'export and leave' portability need for a local package manager. missing for 10: no independent/hands-on evidence of actually migrating away using a Brewfile, and no explicit statement about exporting non-package metadata (e.g., settings/analytics preferences) in open formats.

                                                                                          • [claimed-docs] `brew bundle dump` is Homebrew's installed-state snapshot command: it records supported installed formulae, casks, taps and other package ty…
                                                                                          • [claimed-docs] `brew bundle dump` is Homebrew's installed-state snapshot command: it records supported installed formulae, casks, taps and other package ty…
                                                                                          • [claimed-docs] Adding a `Brewfile` to a project’s repository (like you might a `package.json`, `Gemfile` or `requirements.txt`) is a nicer way of encoding …
                                                                                          • [claimed-docs] Bundler for non-Ruby dependencies from Homebrew formulae, Homebrew casks, Mac App Store dependencies, VSCode (and forks/variants) extensions…
                                                                                          • [claimed-docs] You can check if a `brew bundle install` will do anything by running: $ brew bundle check
                                                                                          Nixn/a

                                                                                          Nix is a package manager/OS configuration tool where all user configuration (Nix expressions, flakes) already lives as plain open-format text files under the user's own control — there is no vendor-held 'user data' to export or lock-in to escape from, so this SaaS-style data-portability story is a category mismatch for Nix.

                                                                                          • ai-native userChoose where my data is stored (region/residency)

                                                                                            weight 2 · not comparable
                                                                                            Homebrewn/a

                                                                                            Homebrew is a local package manager that installs software on the user's own machine; it does not store user data in any cloud service, so data residency/region selection is not an applicable axis for this product category.

                                                                                              Nixn/a

                                                                                              Nix is a package manager/build tool, not a data-storage or hosted SaaS service; it has no concept of user data region/residency selection. This axis is a category error for this product type.

                                                                                              • ai-native userPrevent my data from being used to train AI models

                                                                                                weight 3 · not comparable
                                                                                                Homebrewn/a

                                                                                                Homebrew is a package manager, not a data-holding service or AI model provider; there is no user data collected for AI training in a way that a 'prevent training on my data' setting would apply to. This story is a category error for this product type.

                                                                                                  Nixn/a

                                                                                                  Nix is a package manager/build system; it does not collect, process, or train on user data, so an AI-training data opt-out policy is a category error for this product type.

                                                                                                  • ai-native userControl data retention and deletion

                                                                                                    weight 2 · not comparable
                                                                                                    Homebrewpartialclaimed3/10

                                                                                                    Homebrew lets users disable its anonymous aggregate analytics collection via `brew analytics off` / HOMEBREW_NO_ANALYTICS, giving some control over future data collection, but there is no documented mechanism for deleting already-collected data or any broader data-retention policy since Homebrew isn't an AI/data-service product with persistent user data. Missing for 10: explicit deletion of previously collected analytics data, retention period disclosure, and any AI-specific data handling (e.g., prompt/conversation logs).

                                                                                                    • [claimed-docs] Control Homebrew's anonymous aggregate user behaviour analytics.
                                                                                                    • [claimed-docs] `brew analytics off` Turn Homebrew’s analytics off.
                                                                                                    • [claimed-docs] Control Homebrew’s anonymous aggregate user behaviour analytics.
                                                                                                    Nixn/a

                                                                                                    Nix is a package manager/build system with no AI data-handling or user-data retention/deletion controls; the garbage collector deletes local build artifacts, not personal or AI interaction data, so this privacy-posture axis does not apply to this product category.

                                                                                                    • ai-native userOpt out of telemetry and usage tracking

                                                                                                      weight 2 · not comparable
                                                                                                      Homebrewfullclaimed8/10

                                                                                                      Homebrew documents built-in analytics controls: `brew analytics off` fully disables anonymous aggregate usage tracking, and the manpage describes this control explicitly. This directly satisfies opting out of telemetry. Missing for 10: independent/hands-on confirmation that the opt-out reliably stops all data collection (only first-party docs cited, no third-party verification of actual network behavior).

                                                                                                      • [claimed-docs] Control Homebrew's anonymous aggregate user behaviour analytics.
                                                                                                      • [claimed-docs] `brew analytics off` Turn Homebrew’s analytics off.
                                                                                                      • [claimed-docs] Control Homebrew’s anonymous aggregate user behaviour analytics.
                                                                                                      Nixn/a

                                                                                                      Nix is a package manager/build tool with no telemetry or usage-tracking system to begin with, so opting out of telemetry is not a relevant axis for this product category.