# Install brush with Homebrew, MacPorts, Nix, pacman

Bourne RUsty SHell (command interpreter). Version 0.4.0 via Homebrew; verified 2026-06-15. Also installable with nix: nix profile install nixpkgs#brush.

## 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
- **Version:** 0.4.0
- **Source summary:** Bourne RUsty SHell (command interpreter)
- **Homepage:** <https://brush.sh>
- **Repository:** <https://github.com/reubeno/brush>
- **Last updated:** 2026-06-15T10:20:11-04:00
- **Generated:** 2026-08-03T19:37:03+00:00

## Executables

- brush (alias)

## Install behavior

- Bottle: not available

## Freshness

- Page generated: 2026-08-03
- Package-manager version: 0.4.0
## 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
## 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


## Combined YAML source

View the package source record on GitHub. [combined/brush.yml](https://github.com/mxcl/pkgdb/blob/main/combined/brush.yml)


## Sources

- pkg.so package database
- Geiger risk classifier
- curated configuration and credential file locations
- curated package history
- pkgdb category and tag curation
- external package-manager database matches
- cross-ecosystem install command graph
