How to Install eza on Your System
Updated
eza ships for Windows, macOS, Linux, and BSDs, and the install method depends on which package manager or toolchain you already have. If you have Rust, cargo install eza is the most direct route; on Arch Linux, pacman -S eza is a one-liner; on Debian/Ubuntu you add the deb.gierens.de repository first; and Nix users can run or install it straight from the flake or nixpkgs. Pick the section below that matches your setup.
Cargo (crates.io)
Use this if you already have a Rust environment set up.
cargo install eza
Cargo builds the eza binary and places it in $HOME/.local/share/cargo/bin/eza.
Cargo (from git)
Use this if you want to build from a local clone of the repository instead of the published crate.
git clone https://github.com/eza-community/eza.git
cd eza
cargo install --path .
Cargo builds the binary and places it in $HOME/.cargo.
Arch Linux
eza is available in the [extra] repository:
pacman -S eza
Debian and Ubuntu
eza is available from deb.gierens.de. The GPG public key is in the repo under deb.asc.
First make sure you have the gpg command, and otherwise install it:
sudo apt update
sudo apt install -y gpg
Then install eza:
sudo mkdir -p /etc/apt/keyrings
wget -qO- https://raw.githubusercontent.com/eza-community/eza/main/deb.asc | sudo gpg --dearmor -o /etc/apt/keyrings/gierens.gpg
echo "deb [signed-by=/etc/apt/keyrings/gierens.gpg] http://deb.gierens.de stable main" | sudo tee /etc/apt/sources.list.d/gierens.list
sudo chmod 644 /etc/apt/keyrings/gierens.gpg /etc/apt/sources.list.d/gierens.list
sudo apt update
sudo apt install -y eza
Nix (Linux, macOS)
eza is available from Nixpkgs.
For nix profile users:
nix profile install nixpkgs#eza
For nix-env users:
nix-env -i eza
If you already have Nix set up with flake support, you can try eza without installing it permanently:
nix run github:eza-community/eza
Nix builds eza and runs it. To pass arguments this way, use e.g.:
nix run github:eza-community/eza -- -ol .
Gentoo
On Gentoo, eza is available — install it through your usual Gentoo package workflow.
Which Method Should You Choose?
| Your situation | Recommended method |
|---|---|
| Rust already installed | cargo install eza |
| Want to build from source clone | cargo install --path . in the cloned repo |
| Arch Linux | pacman -S eza |
| Debian / Ubuntu | Add deb.gierens.de repo, then apt install eza |
| Nix with flakes | nix run github:eza-community/eza to try, or nix profile install nixpkgs#eza |
| Gentoo | Gentoo package workflow |
Verifying the Install
After installing by any method, confirm the binary is on your PATH and check the version:
eza --version
If the command is not found, the install directory (for example $HOME/.local/share/cargo/bin or $HOME/.cargo) is likely not on your PATH — add it and reopen your shell.
Common Sticking Points
- Debian/Ubuntu keyring errors: the
chmod 644step on both the keyring file and the sources list file matters; skipping it can cause apt to reject the repository. - Passing flags through Nix: arguments after
nix runneed the--separator, as shown in the example above. - Cargo install location differs by method: the crates.io install lands in
$HOME/.local/share/cargo/bin/eza, while the git-path install lands in$HOME/.cargo. Check the right directory when troubleshootingPATHissues.