# Install brush with Homebrew, MacPorts, Nix, pacman

Bourne RUsty SHell (command interpreter). Version 0.4.0 via Homebrew; verified 2026-06-15.

## Install

```sh
sudo av install brew:brush
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install brush
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install brush
```

  Evidence: MacPorts ports tree: shells/brush/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- Nix (92%):

```sh
nix profile install nixpkgs#brush
```

  Evidence: nixpkgs package indexes: pkgs/by-name/br/brush/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

- pacman (92%):

```sh
sudo pacman -S brush
```

  Evidence: Arch Linux sync databases: brush from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz

## Package facts

- **Package key:** brew:brush
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/brush>
- **Version:** 0.4.0
- **Source summary:** Bourne RUsty SHell (command interpreter)
- **Homepage:** <https://brush.sh>
- **Repository:** <https://github.com/reubeno/brush>
- **Upstream docs:** <https://brush.sh/docs>
- **License:** MIT
- **Source archive:** <https://github.com/reubeno/brush/archive/refs/tags/brush-shell-v0.4.0.tar.gz>
- **Last updated:** 2026-06-15T10:20:11-04:00
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- brush (cli)
- brush (alias)

## Build dependencies

- rust

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 0.4.0
- Package-manager updated: 2026-06-15
- Local data: ok
- Upstream repository: https://github.com/reubeno/brush
- info: No cached GitHub release or tag data was available.
## Project history and usage

brush, the Bourne RUsty SHell, is a Rust shell that aims to run existing Bash and POSIX shell scripts while adding modern interactive behavior such as syntax highlighting and autosuggestions. Its packaging story is notable because it is a new shell trying to be installable as a boring system command rather than only as a Rust crate.

### Project history

The project presents itself as a modern Bash- and POSIX-compatible shell written in Rust. Its README emphasizes compatibility with existing `.bashrc` files, aliases, functions, and completions, while the compatibility reference documents a test suite that compares behavior against Bash.

Unlike experimental shells that define a new language first, brush starts from the existing shell ecosystem. Its published identity is conservative: preserve Bash behavior, add Rust implementation benefits and interactive features, and expose an embeddable `brush_core::Shell` for Rust programs.

### Adoption history

The official installation section lists Homebrew, Arch Linux, MSYS2, cargo-binstall, GitHub release binaries, and Nix, while the provided package facts also list Homebrew, MacPorts, Nix, and pacman. That puts brush in the normal multi-distribution pipeline for shell tools despite being a young implementation.

Adoption is still early compared with Bash, zsh, fish, or Oil/YSH, but the presence of distribution packages and a crates.io-oriented install path gives it several routes into developer workstations.

### How it is used

brush can be launched as an interactive shell and is designed to read existing Bash startup files. The README says `.bashrc` should work unchanged, with optional `~/.brushrc` and TOML configuration for brush-specific behavior.

Its current use case is compatibility testing, interactive daily-driver experimentation, and embedding shell behavior inside Rust programs. The compatibility reference marks many Bash features as supported while still documenting gaps such as `select`, `wait -n`, and some background-job details.

### Why package nerds care

Shells are unusually package-sensitive because installing them is not enough: users may add them to login-shell databases, invoke them from scripts, and expect startup files and completions to work. brush is interesting because it tries to enter that old Unix contract while being implemented in Rust.

For maintainers, brush is a compact example of the modern Rust reimplementation wave applied to one of the hardest compatibility targets: Bash.

### Timeline

- 2025: brush documentation describes itself as Bash- and POSIX-compatible and ready for many daily-driver use cases.
- 2025: Official README documents Homebrew, Arch Linux, MSYS2, cargo-binstall, GitHub release, and Nix installation routes.
- 2026: Provided package facts show brush packaged in Homebrew, MacPorts, Nix, and pacman ecosystems.

### Related projects

- GNU Bash is the primary compatibility target and behavioral oracle.
- POSIX shell is the standards baseline named by the project.
- reedline provides the line-editing experience cited by brush for highlighting and suggestions.
- Nushell, fish, zsh, and Oil/YSH are adjacent shells, though brush is more explicitly Bash-compatible than most of them.

### Sources

- <https://github.com/reubeno/brush>
- <https://raw.githubusercontent.com/reubeno/brush/main/README.md>
- <https://raw.githubusercontent.com/reubeno/brush/main/docs/reference/compatibility.md>
- source_facts.package-manager


## Security Notes

generalized runtime or code generation signal.

- **Geiger risk:** yellow / medium
- generalized runtime or code generation signal


## Configuration and credential file locations

These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.


## Configuration files

- Unix: ~/.bashrc, ~/.brushrc, ~/.config/brush/config.toml
## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** brush
- **Version Scheme:** 0
- **Revision:** 0
- **Head Version:** HEAD
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** head, stable

## Other Package-Manager Records

- Nix - brush: normalized package name match | nixpkgs package indexes: pkgs/by-name/br/brush/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- pacman - brush - 0.4.0-1: normalized package name match | Arch Linux sync databases: brush from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | Bash/POSIX-compatible shell implemented in Rust | https://github.com/reubeno/brush
- MacPorts - brush: normalized package name match | MacPorts ports tree: shells/brush/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1


## Related links

- [Secret-risk packages](https://www.automicvault.com/pkg/secret-risk-packages/) - Has protected-tool coverage, approval-gate, or non-low Geiger security signals.
- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Language runtime packages](https://www.automicvault.com/pkg/language-runtime-packages/) - Matched language runtime, compiler, or interpreter metadata.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [rust](https://www.automicvault.com/pkg/brew/rust/) - Build dependency declared by Homebrew.
- [bash](https://www.automicvault.com/pkg/brew/bash/) - Shares av.db curated category or tags: cli, command-interpreter, shell, system.
- [dash-shell](https://www.automicvault.com/pkg/brew/dash-shell/) - Shares av.db curated category or tags: cli, command-interpreter, shell, system.
- [nsh](https://www.automicvault.com/pkg/brew/nsh/) - Shares av.db curated category or tags: cli, rust, shell, system.
- [nushell](https://www.automicvault.com/pkg/brew/nushell/) - Shares av.db curated category or tags: cli, rust, shell, system.
- [bashish](https://www.automicvault.com/pkg/brew/bashish/) - Shares av.db curated category or tags: cli, shell, system.
- [elvish](https://www.automicvault.com/pkg/brew/elvish/) - Shares av.db curated category or tags: cli, shell, system.
- [hstr](https://www.automicvault.com/pkg/brew/hstr/) - Shares av.db curated category or tags: cli, shell, system.
- [murex](https://www.automicvault.com/pkg/brew/murex/) - Shares av.db curated category or tags: cli, shell, system.

## Combined YAML source

View the package source record on GitHub. [combined/brush.yml](https://github.com/automic-vault/db/blob/main/combined/brush.yml)


## Sources

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