Automic VaultAutomic Vault

brew

Install hermit with Homebrew, MacPorts, Nix

Manages isolated, self-bootstrapping sets of tools in software projects. Version 0.52.3 via Homebrew; verified 2026-06-16.

install

Additional install commands

macOS

Homebrewverified · 100%
brew install hermit

local Homebrew formula metadata

MacPortsverified · 94%
sudo port install hermit

MacPorts ports tree · devel/hermit/Portfile · source: api.github.com

Linux

Nixverified · 92%
nix profile install nixpkgs#hermit

nixpkgs package indexes · pkgs/by-name/he/hermit/package.nix · source: api.github.com

overview

Package summary

Manages isolated, self-bootstrapping sets of tools in software projects

Commands and aliases

  • hermit

history

Project history and usage

Hermit is a project-local toolchain manager from Cash App. It installs development tools into isolated, self-bootstrapping environments so a repository, its contributors, and its CI can share the same command-line tooling without asking users to preconfigure a whole machine.

Project history

The Hermit and hermit-packages repositories were created on May 20, 2021. The README describes the core mission as uniform tooling for Linux and Mac: self-contained tool sets that travel with a software project.

Hermit's design separates the environment manager from package manifests. The `cashapp/hermit-packages` repository contains HCL manifests that describe how to download, install, and map packages into an environment, while Hermit itself provides activation, package lookup, installation, updating, and shell integration.

The documentation presents Hermit as intentionally narrow. The FAQ says it manages development tools rather than libraries, avoids being a general-purpose package manager, and differs from Nix, Homebrew, Docker, Bazel, GoFish, and asdf by focusing on project-level, self-bootstrapping, binary-tool environments.

Adoption history

Hermit's adoption path is strongest inside repositories and CI jobs that want reproducible developer tools without adopting a full operating-system package manager or build system. Its docs teach users to commit the generated `bin` directory artifacts such as `activate-hermit`, `hermit`, and `hermit.hcl` so a clone can bootstrap itself.

The presence of a separate manifest repository, a GitHub Action for activating Hermit, Renovate datasource support, and package-manager entries in Homebrew, MacPorts, and Nix reflects a small but durable ecosystem around project-local tool provisioning.

How it is used

A typical workflow starts with `hermit init` in a project, then `. ./bin/activate-hermit` to add the project's `bin` directory and managed environment variables to the shell. Users then install tools with commands such as `hermit install go-1.16.3` or `hermit install rust@nightly protoc`.

Hermit packages can be selected by exact version, channel, or preferred version. The management docs describe manifest sources, periodic syncs, `hermit search`, `hermit list`, `hermit info`, `hermit upgrade`, explicit downgrades with `hermit install`, and `hermit uninstall`.

Hermit's package definitions are HCL manifests commonly retrieved from Git repositories. The official packaging docs describe these manifests as the way packages define source archives, installation behavior, and binary mappings.

Why package nerds care

Hermit occupies a pragmatic middle ground between language-specific version managers and full system package managers. Package nerds care because it turns a repository into its own tool-distribution boundary, but does so by downloading relocatable binary tools instead of building a new universe from source.

Its comparison with asdf is especially revealing: asdf focuses on switching versions of languages and tools for a user, while Hermit focuses on making project tooling consistent and reproducible for teams and CI. That difference explains why Hermit manifests and activation scripts are part of the project workflow rather than only per-user setup.

Timeline

  • 2021-05-20: Hermit and hermit-packages repositories were created.
  • 2021: Early documentation used Go 1.16.3 and Rust 1.51-era examples, matching Hermit's initial positioning as a project toolchain manager.
  • 2026: The repository and package manifest collection remained active, with documentation covering package manifests, Renovate integration, and multiple shells.

Related projects

  • asdf is the closest version-manager comparison in the official FAQ, but Hermit emphasizes project-level binary tool environments rather than per-user language switching.
  • Nix, Homebrew, Docker, Bazel, and GoFish are comparison points in the FAQ. Hermit deliberately avoids becoming a full OS package manager, build system, or container runtime.
  • `cashapp/hermit-packages`, `cashapp/hermit-build`, and `cashapp/activate-hermit` are companion repositories for manifests, special build artifacts, and CI activation.

Sources

  • Hermit README for project mission and copyright date.
  • Official get-started, package-management, and FAQ docs for workflow and scope boundaries.
  • hermit-packages README for manifest repository role.

security posture

Risk level: green

narrow executable package without higher-risk signals.

Risk classifier

green risk · low confidence · appliance

Why

  • narrow executable package without higher-risk signals

Signals

  • metadata:no-higher-risk-signals

Install behavior

  • No Homebrew post-install hook is recorded in formula metadata.
  • Homebrew bottle metadata is available for 6 platform targets.
  • Build metadata lists 1 build dependencies.

Recommended review

Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.

executables

Installed executables

CommandKindExposureNote
hermitcliglobal executable

freshness

Version and freshness

These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.

page generated2026-07-08
manager version0.52.3
manager updated2026-06-16
local dataok
upstreamcurrent
latest detectedv0.52.3

https://github.com/cashapp/hermit

  • okNo freshness warnings were generated.

install metadata

Package metadata

Package keybrew:hermit
Version0.52.3
Package managerHomebrew
Package manager pagehttps://formulae.brew.sh/formula/hermit
Homepagehttps://cashapp.github.io/hermit
Repositoryhttps://github.com/cashapp/hermit
Upstream docshttps://cashapp.github.io/hermit
LicenseApache-2.0
Source archivehttps://github.com/cashapp/hermit/archive/refs/tags/v0.52.3.tar.gz
Last updated2026-06-16T08:40:33Z
Pulseupdated
Build dependenciesgo
Bottleavailable (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux)
Homebrew post-installnot defined
Servicenone declared
CaveatsFor shell integration hooks, add the following to your shell configuration: For bash, add the following command to your .bashrc: eval "$(test -x $(brew --prefix)/bin/hermit && $(brew --prefix)/bin/hermit shell-hooks --print --bash)" For zsh, add the following command to your .zshrc: eval "$(test -x $(brew --prefix)/bin/hermit && $(brew --prefix)/bin/hermit shell-hooks --print --zsh)"

registry facts

Source database details

Source DatabaseHomebrew formula API
Taphomebrew/core
Full Namehermit
Version Scheme0
Revision0
Head VersionHEAD
Bottle Stable Root URLhttps://ghcr.io/v2/homebrew/core
Deprecatedno
Disabledno
Keg Onlyno
URL Keys
  • head
  • stable

source database matches

Other package-manager records

Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.

Nix95%

hermit

nix profile install nixpkgs#hermit
  • normalized package name match
  • Matched by: Hermit
nixpkgs package indexes · api.github.com · nixpkgs package indexes: pkgs/by-name/he/hermit/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
MacPorts95%

hermit

sudo port install hermit
  • normalized package name match
  • Matched by: Hermit
MacPorts ports tree · api.github.com · MacPorts ports tree: devel/hermit/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

source trail

Generated from repository data

This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.

Used sources

  • Geiger risk classifier
  • Nucleus package database
  • av.db category and tag curation
  • cross-ecosystem install command graph
  • curated package history
  • external package-manager database matches
  • package relationship graph
  • package version freshness
  • package-page enrichment