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 644 step 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 run need 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 troubleshooting PATH issues.