How to Install Yazi on Debian: The Blazing Fast Terminal File Manager
Yazi is a blazing-fast terminal file manager written in Rust. Built on a fully asynchronous I/O model, it stays responsive even in enormous directories, renders image, video and PDF previews inline, and offers a Vim-like keyboard interface with multi-selection, tabs and a plugin system on top.
Yazi is young and iterating quickly, so the version in Debian’s official archive — if present at all — is typically well behind upstream, missing preview backends and plugin features that landed only recently. Installing from a release tarball works, but then every update becomes a manual chore.
The unofficial deb.griffo.io repository packages a current Yazi build you can install and update with apt. This guide covers the full process on Debian, including the shell wrapper that lets Yazi change your working directory.
What Makes Yazi Special?
- ⚡ Fully asynchronous I/O — directory listing, preview loading and file tasks never block the UI.
- 🖼️ Rich inline previews — images, videos, PDFs, archives and code with syntax highlighting, right in the terminal.
- ⌨️ Vim-like navigation —
hjklmovement, visual selection and familiar motions out of the box. - 🗂️ Tabs and bulk operations — juggle several directories and act on many files at once.
- 🔌 Plugin and flavour system — extend behaviour and restyle the UI via Lua plugins and themes.
- 🔍 Integrated finding — fuzzy jump with
fzfand content search withripgrepwhen installed. - 📋 System clipboard aware — yank, cut and paste files with an intuitive register model.
- 🐚 Shell integration — the
ywrapper changes your shell’s directory to wherever you left Yazi.
Why Use the deb.griffo.io Repository?
- Easy installation and updates through the APT package manager.
- Automatic dependency management handled by the Debian packaging.
- Always tracks upstream releases so you get the latest Yazi.
- No compiling from source and no Rust toolchain to set up.
- Works across supported Debian releases — Bookworm, Trixie and Sid.
Prerequisites
Before starting, make sure you have:
- A Debian-based system (Bookworm 12, Trixie 13, or Sid)
sudoprivilegescurlinstalled (sudo apt install curlif needed)
Step 1: Add the deb.griffo.io Repository
Register the signing key and source list with these commands:
# Create the keyrings directory
sudo install -d -m 0755 /etc/apt/keyrings
# Download and install the repository GPG key
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | sudo gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
# Add the repository (auto-detects your distro codename)
echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | sudo tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null
# Update the package list
sudo apt update
What each step does:
- Keyrings directory — creates
/etc/apt/keyringsto hold third-party signing keys. - GPG key — downloads and de-armours the repository key so APT can verify packages.
- Source list — adds the repository, detecting your Debian codename with
lsb_release -sc. - Update — refreshes the package index so Yazi becomes installable.
Step 2: Update the Package List
If you skipped the last command above, run:
sudo apt update
Step 3: Install Yazi
sudo apt install yazi
APT installs Yazi along with its runtime dependencies.
Step 4: Verify the Installation
yazi --version
You should see output resembling:
Yazi 25.5.31 (a1b2c3d 2025-05-31)
Launch the file manager itself by simply running:
yazi
Press q to quit at any time.
Getting Started with Yazi
Optional Preview Dependencies
Yazi’s inline previews and finders rely on a few external tools. Install the ones you want to enable full previews and fuzzy jumping:
sudo apt install ffmpegthumbnailer poppler-utils imagemagick fzf ripgrep fd-find jq
ffmpegthumbnailer— video thumbnailspoppler-utils— PDF previewsimagemagick— image handling for some formatsfzf— the fuzzy jump menuripgrep,fd-find— fast content and filename searchjq— pretty JSON previews
Core Navigation
Yazi’s default keys will feel familiar if you know Vim:
h/j/k/l— parent directory / down / up / enter directorygg/G— jump to top / bottomSpace— toggle selection on the current filev— visual (range) selection modey/x/p— yank (copy) / cut / pasted— move to trash,D— delete permanentlya— create a file (end the name with/to make a directory)r— rename,.— toggle hidden files/— search,s— search by content,q— quit
Shell Integration (Change Directory on Exit)
By default, quitting Yazi leaves your shell in the directory you started from. To make your shell follow Yazi to wherever you finished, add this y wrapper function to ~/.bashrc:
function y() {
local tmp="$(mktemp -t "yazi-cwd.XXXXXX")" cwd
yazi "$@" --cwd-file="$tmp"
if cwd="$(command cat -- "$tmp")" && [ -n "$cwd" ] && [ "$cwd" != "$PWD" ]; then
builtin cd -- "$cwd"
fi
rm -f -- "$tmp"
}
Reload your shell and use y instead of yazi:
source ~/.bashrc
y
Now when you press q, your terminal stays in the last directory you browsed.
Configuration
Yazi reads its configuration from ~/.config/yazi/. Create the directory and start from the defaults you want to override:
mkdir -p ~/.config/yazi
The three main files are:
~/.config/yazi/yazi.toml— general behaviour (sort order, preview settings, openers)~/.config/yazi/keymap.toml— custom key bindings~/.config/yazi/theme.toml— colours and appearance
A minimal yazi.toml that sorts directories first and shows hidden files:
[mgr]
sort_by = "alphabetical"
sort_dir_first = true
show_hidden = true
Managing Plugins and Flavours
Yazi ships a companion CLI, ya, for managing plugins and themes. Define what you want in ~/.config/yazi/package.toml, then install:
# Install everything listed in package.toml
ya pkg install
# Add a plugin from a git repository
ya pkg add yazi-rs/plugins:full-border
# Upgrade all installed plugins and flavours
ya pkg upgrade
Keeping Yazi Updated
Because Yazi is installed via APT, updates come with your regular system upgrade:
sudo apt update && sudo apt upgrade
Other Tools from deb.griffo.io
The same repository packages many other terminal tools for Debian:
- Helix — a post-modern modal text editor to open files from Yazi.
- Zellij — a terminal workspace and multiplexer to run Yazi in a pane.
- Lazydocker — a simple terminal UI for Docker and docker-compose.
- Zig — a general-purpose systems programming language.
Troubleshooting
GPG or Key Errors
If APT reports that the repository cannot be verified, re-install the signing key:
sudo install -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | sudo gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
sudo apt update
Package Not Found
If apt install yazi cannot locate the package:
- Run
sudo apt updateafter adding the repository. - Check your release is supported (Bookworm, Trixie or Sid).
- Verify the source list contents:
cat /etc/apt/sources.list.d/deb.griffo.io.list
Previews Are Blank
Empty previews almost always mean a helper program is missing. Confirm the relevant tools are installed and on your PATH:
command -v ffmpegthumbnailer pdftoppm magick
Note that on Debian fd is installed as fdfind by the fd-find package; if a plugin expects fd, symlink it:
sudo ln -s "$(command -v fdfind)" /usr/local/bin/fd
Uninstalling
# Remove the Yazi package
sudo apt remove yazi
# Optionally remove the repository
sudo rm -f /etc/apt/sources.list.d/deb.griffo.io.list
sudo rm -f /etc/apt/keyrings/deb.griffo.io.gpg
sudo apt update
Conclusion
Yazi turns the terminal into a fast, preview-rich file manager, and deb.griffo.io keeps it current on Debian without any manual downloads. Install it with apt, add the y shell wrapper, drop in a couple of preview dependencies, and you have a genuinely pleasant way to browse and manage files without leaving the keyboard.
Future releases — new preview backends, plugin APIs and performance work — arrive through the same apt upgrade you already run.
Resources
Disclaimer: The deb.griffo.io repository is an unofficial community project and is not affiliated with the official Debian or Ubuntu projects, or with the upstream Yazi project.