Skip to main content

Installation

To use Yazi, you must have the following prerequisites installed:

  • file (for file type detection)

Yazi can be optionally extended with other command line tools to enable additional features.

If the functions are not working properly, please try upgrading them to the latest version.

Packaging status

Most packages on this page are maintained by the community, and they may not always be the latest. Please check their versions before installation:

Packaging status

Arch Linux

sudo pacman -S yazi ffmpegthumbnailer unarchiver jq poppler fd ripgrep fzf zoxide

If you want to use the latest Git version, you can install it from AUR or Arch Linux CN:

paru -S yazi-git ffmpegthumbnailer unarchiver jq poppler fd ripgrep fzf zoxide

Nix

A Nix package for Yazi is available.

# NixOS:
nix-env -iA nixos.yazi

# Not NixOS:
nix-env -iA nixpkgs.yazi

Or add the following to your configuration:

# configuration.nix
environment.systemPackages = with pkgs; [
yazi
];

You can also manage Yazi's configuration using home-manager.

Nix flakes

The upstream repository provides a flake so that Nix users can easily keep up with the bleeding edge. A basic flake.nix setup to get you started:

{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-23.11";

home-manager = {
url = "github:nix-community/home-manager/release-23.11";
inputs.nixpkgs.follows = "nixpkgs";
};

yazi.url = "github:sxyazi/yazi";
};

outputs = { nixpkgs, home-manager, yazi, ... }: {
# To install Yazi system-wide:
nixosConfigurations = {
nixos = nixpkgs.lib.nixosSystem {
modules = [
({ pkgs, ... }: {
environment.systemPackages = [ yazi.packages.${pkgs.system}.default ];
})
];
};
};

# To install it for a specific user:
homeConfigurations = {
"alice@nixos" = home-manager.lib.homeManagerConfiguration {
pkgs = nixpkgs.legacyPackages.x86_64-linux;
modules = [
({ pkgs, ... }: {
home.packages = [ yazi.packages.${pkgs.system}.default ];
})
];
};
};
};
}

If you want to override the package inside nixpkgs with the one from the flake, you can use overlays:

nixpkgs.overlays = [ yazi.overlays.default ];

A module is also available for both NixOS and home-manager:

programs.yazi = {
enable = true;
package = yazi.packages.${pkgs.system}.default; # if you use overlays, you can omit this
};

Cache

Pre-built artifacts are served at https://yazi.cachix.org, so that Nix users don't have to build Yazi on their machine. You can make use of it by adding the following options to nix.settings, either in your NixOS or home-manager configuration:

extra-substituters = [ "https://yazi.cachix.org" ];
extra-trusted-public-keys = [ "yazi.cachix.org-1:Dcdz63NZKfvUCbDGngQDAZq6kOroIrFoyO064uvLh8k=" ];

Note that the cache will only be applied after you rebuild your Nix config. If you want to ensure that the cache gets applied right away, add the options above to your flake's nixConfig attribute.

If you're having any problems, refer to this entry from Cachix's FAQ.

Homebrew

First, make sure that Homebrew is fully up-to-date with brew update.

Then you can install Yazi (and the optional dependencies):

brew install yazi ffmpegthumbnailer unar jq poppler fd ripgrep fzf zoxide
brew tap homebrew/cask-fonts && brew install --cask font-symbols-only-nerd-font

If you prefer to use the most recent code, use the --HEAD flag when installing Yazi.

brew install yazi --HEAD

MacPorts

sudo port install yazi ffmpegthumbnailer unar jq poppler fd ripgrep fzf zoxide

NetBSD

pkgin install yazi

Windows

Windows has been supported since Yazi v0.1.4, but it's still in the early stage, so please file an issue if you encounter any bugs.

Requirements

Yazi relies on file(1) to detect the mime-type of the file, and the easiest and most reliable way to get it on Windows is to install Git for Windows and use the file.exe that comes with it.

  1. Install Git for Windows by running the official installer, or through your package manager of choice.
  2. To allow Yazi to find it, add <Git_Installed_Directory>\usr\bin\file.exe to your YAZI_FILE_ONE environment variable, which differs depending on how you installed Git:
    • If you installed Git with the installer, it would be C:\Program Files\Git\usr\bin\file.exe.
    • If you installed Git with Scoop, it would be C:\Users\<Username>\scoop\apps\git\current\usr\bin\file.exe.
  3. Restart your terminal.

This is the ONLY way we recommend. We do not recommend install file via Scoop or Chocolatey, since they cannot handle Unicode filenames (such as oliver-sjöström.jpg) properly and lack some required parameters.

Installation

You can download the latest official binaries from GitHub Releases, or install Yazi with Scoop:

scoop install yazi
# Install the optional dependencies (recommended):
scoop install unar jq poppler fd ripgrep fzf zoxide

AOSC OS

sudo oma install yazi

Official binaries

You can download the latest official binaries from GitHub Releases: https://github.com/sxyazi/yazi/releases

On this page, we offer GNU/Musl builds to meet the needs of different users; we also provide a Snapcraft package, which Ubuntu/Debian users can use.

Cargo

Setup the latest stable Rust toolchain:

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
rustup update

Now you can install yazi-fm from crates.io:

cargo install --locked yazi-fm

Or install the latest git version:

cargo install --locked --git https://github.com/sxyazi/yazi.git

If it fails to build, please check if make and gcc is installed on your system.

Build from source

Setup the latest stable Rust toolchain:

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
rustup update

Clone the repository and build Yazi:

git clone https://github.com/sxyazi/yazi.git
cd yazi
cargo build --release

Then, you can run:

./target/release/yazi

If it fails to build, please check if make and gcc is installed on your system.