# Install alejandra with Homebrew, Nix

Command-line tool for formatting Nix Code. Version 4.0.0 via Homebrew; verified from local package data.

## Install

```sh
sudo av install brew:alejandra
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install alejandra
```

  Evidence: local Homebrew formula metadata

### Linux

- Nix (92%):

```sh
nix profile install nixpkgs#alejandra
```

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

## Package facts

- **Package key:** brew:alejandra
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/alejandra>
- **Version:** 4.0.0
- **Source summary:** Command-line tool for formatting Nix Code
- **Homepage:** <https://kamadorueda.com/alejandra/>
- **Repository:** <https://github.com/kamadorueda/alejandra>
- **Upstream docs:** <https://github.com/kamadorueda/alejandra#readme>
- **License:** Unlicense
- **Source archive:** <https://github.com/kamadorueda/alejandra/archive/refs/tags/4.0.0.tar.gz>
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- alejandra (cli)
- alejandra (alias)

## Build dependencies

- rust

## Install behavior

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

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 4.0.0
- Local data: ok
- Upstream repository: https://github.com/kamadorueda/alejandra
- Upstream latest detected: 4.0.0 (current)
- info: No package-manager update timestamp was available.
## Project history and usage

Alejandra is a Rust-based formatter for the Nix expression language. It is part of the Nix ecosystem's formatter wars: small, opinionated, fast, and built to make style disappear from code review.

### Project history

The official README brands Alejandra as 'The Uncompromising Nix Code Formatter' and says it was written in Rust, formats Nixpkgs in seconds, and starts from the original Nixpkgs style refined by feedback from developers using Nix at scale.

The changelog shows a fast maturation arc in 2022. Version 1.0.0 shipped in March 2022; 1.4.0 and 1.5.0 followed with pre-commit support and dependency updates; 2.0.0 in July 2022 added a style guide, editor integration docs, and publication as a Rust crate with API docs; 3.0.0 in August 2022 simplified the CLI and improved large-file formatting order.

Later releases kept the formatter active in normal toolchain maintenance. Version 3.1.0 in 2024 refreshed integration docs and pre-commit hooks, and 4.0.0 in 2025 added experimental configurable indentation and support for newer Nix pipe operators.

### Adoption history

Alejandra's official README documents installation from Nixpkgs, Nix flakes, NixOS configurations, Homebrew, and prebuilt binaries. The supplied package facts also list Homebrew and Nix packages, which fits its primary audience: people already managing tools declaratively.

The README lists integrations for VS Code, Vim, Neovim, GNU Emacs, Doom Emacs, pre-commit, and pre-commit-hooks.nix. That adoption history matters because formatters become useful only when they are cheap to run in editors, CI, and repository hooks.

### How it is used

Users run `alejandra` against Nix files, stdin, or repository trees, and often wire it into editor format-on-save or pre-commit hooks. The project treats the CLI, formatting rules, flags, exit codes, and stdout as its public API under semantic versioning.

Configuration is intentionally limited. The README documents an experimental `alejandra.toml` discovered in the current working directory, or supplied explicitly with `--experimental-config`.

### Why package nerds care

Alejandra is a package-nerd package because it formats the language used to describe packages in Nix. It is both a normal CLI package and a tool that shapes the readability of package expressions.

It also has the useful distribution trifecta for developer tools: Rust source, prebuilt binaries, and native Nix/Homebrew packaging, plus editor and hook integrations.

### Timeline

- 2022-03-03: Alejandra 1.0.0 released.
- 2022-05-19: Alejandra 1.4.0 added a pre-commit hook.
- 2022-07-13: Alejandra 2.0.0 added a style guide, editor integration docs, and crates.io publication.
- 2022-08-14: Alejandra 3.0.0 simplified the CLI and improved large-file formatting order.
- 2024-11-03: Alejandra 3.1.0 refreshed docs and pre-commit integration.
- 2025-04-10: Alejandra 4.0.0 added configurable indentation and Nix pipe-operator support.

### Related projects

- The official README names NixEL, Santiago, and rnix-parser as related libraries.
- The README lists nixfmt, serokell/nixfmt, and nixpkgs-fmt as formatter alternatives in the same ecosystem.

### Sources

- <https://github.com/kamadorueda/alejandra/blob/main/CHANGELOG.md>
- <https://github.com/kamadorueda/alejandra/blob/main/README.md>
- <https://kamadorueda.com/alejandra>
- source_facts.package-manager


## Security Notes

narrow executable package without higher-risk signals.

- **Geiger risk:** green / low
- narrow executable package without higher-risk signals


## 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: alejandra.toml
## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** alejandra
- **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 - alejandra: normalized package name match | nixpkgs package indexes: pkgs/by-name/al/alejandra/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1


## Related links

- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Text processing packages](https://www.automicvault.com/pkg/text-processing-tools/) - Matched text, document, or structured-data processing metadata.
- [Developer build packages](https://www.automicvault.com/pkg/developer-build-tools/) - Matched build, compiler, generator, or developer workflow 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.
- [air](https://www.automicvault.com/pkg/brew/air/) - Shares av.db curated category or tags: cli, code-formatting, code-quality, developer-tools, formatter.
- [google-java-format](https://www.automicvault.com/pkg/brew/google-java-format/) - Shares av.db curated category or tags: cli, code-formatting, code-quality, developer-tools, formatter.
- [astyle](https://www.automicvault.com/pkg/brew/astyle/) - Shares av.db curated category or tags: cli, code-formatting, developer-tools, formatter.
- [black](https://www.automicvault.com/pkg/brew/black/) - Shares av.db curated category or tags: cli, code-formatting, developer-tools, formatter.
- [cbfmt](https://www.automicvault.com/pkg/brew/cbfmt/) - Shares av.db curated category or tags: cli, code-formatting, developer-tools, formatter.
- [darker](https://www.automicvault.com/pkg/brew/darker/) - Shares av.db curated category or tags: cli, code-formatting, developer-tools, formatter.
- [djhtml](https://www.automicvault.com/pkg/brew/djhtml/) - Shares av.db curated category or tags: cli, code-formatting, developer-tools, formatter.
- [findent](https://www.automicvault.com/pkg/brew/findent/) - Shares av.db curated category or tags: cli, code-formatting, developer-tools, formatter.
- [php-cs-fixer](https://www.automicvault.com/pkg/brew/php-cs-fixer/) - Local package facts share a topical domain. Shared terms: cli, code, code-formatting, code-quality, developer.

## Combined YAML source

View the package source record on GitHub. [combined/alejandra.yml](https://github.com/automic-vault/db/blob/main/combined/alejandra.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
