53 developer tools, always updated, new upstream releases land in apt within hours. Join the Discord

📅 From , the apt mirror will require a subscription. See pricing · 🆓 There is an always-free mirror

🗂️ Install Latest superfile on Debian

A pretty fancy and modern terminal file manager

Latest version: 1.6.0 · updated 2026-08-22
SourceVersion
deb.griffo.io1.6.0 ✅
Official Debian🚫 not packaged
← Back to home
📌 Installing on a specific release? Debian 12 (bookworm) · Debian 13 (trixie) · Debian 14 (forky) · Debian Sid

What is superfile?

superfile is a terminal file manager built around panels you keep open. Several directories sit side by side, a sidebar holds your home shortcuts, your pinned folders and the mounted disks, and a preview pane renders whatever the cursor is on: syntax-highlighted source, plain text, a directory listing, an image. Copying, moving and compressing run in the background and report themselves in a process bar, so a large transfer never freezes the panel you are browsing. Deleted files go to the trash and can be brought back, archives are extracted and created in place, and every key, colour, border and panel width is a line in a TOML file. It is a single static Go binary, and the command you type is spf.

🚀 Why Latest Versions Matter: superfile is still gaining core features release by release: the metadata panel, reorderable sidebar sections, extra columns in the file panel, natural sorting, page scrolling, the > prompt, and a plugin list that keeps growing. Each of those arrives with new keys in config.toml and hotkeys.toml, and an old binary quietly ignores the options the current documentation tells you to set. Neither Debian nor Ubuntu packages superfile at all, so a current build is not a nicety here; it is the only way to have it through apt.

⚡ Key Features of superfile

🪟 Panels, Not One Directory

n opens another file panel and tab moves between them, each with its own path, sort order and selection. Copying between two trees becomes two keystrokes instead of two long paths.

👀 A Preview That Follows the Cursor

The side pane renders the highlighted file as you move: source with syntax highlighting from the built-in chroma or from bat, directory contents, and images in terminals that can draw them. f folds it away when you want the width back.

♻️ Deletes You Can Undo

ctrl+d moves files to the trash instead of destroying them, so a wrong keystroke is recoverable. D is the separate, deliberate permanent delete for the times you really mean it.

📊 A Process Bar for Long Jobs

Copies, moves and compressions run as tracked background jobs with their own progress, listed in the process panel on p. The file panel stays usable while a few gigabytes are on the move.

🗜️ Search, Jump, Zip, Unzip

/ filters the current directory as you type, z hands the jump to zoxide when it is installed, ctrl+a compresses the selection and ctrl+e extracts an archive where it stands.

🎨 Yours to Configure

One config.toml and one hotkeys.toml: every key is rebindable and a Vim set ships alongside the default, themes are files you can write, and sidebar width, border characters, sort defaults and preview width are all settings.

🚀 Always ahead of the official archives: Debian and Ubuntu freeze package versions when a release ships. This repository publishes new upstream releases typically within hours. A simple apt upgrade keeps you on the latest version.

📦 Installation from deb.griffo.io

Run the commands

Step 1: Add Repository

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
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
sudo apt update
install -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null
apt update
sudo apt install extrepo
sudo extrepo enable griffo
sudo apt update

🆓 There is an always-free mirror. deb-free.griffo.io serves packages free forever, no account, no subscription, at most 2 months behind upstream, security fixes immediately. It currently carries cliamp, Ghostty, lazydocker, Oh My Posh and Zed; superfile is not one of them, so the repository above is the only way to get it today, ask and it can be enrolled.

How the free mirror works →

🧩 About the extrepo option. extrepo is Debian's own tool for external repositories: it writes the sources file and installs the signing key for you, checking the key against signed metadata first. This repository is registered with it as griffo, and the always-free mirror as griffo-free, so on Debian (bookworm, trixie, forky and sid) the commands above are the whole setup.

extrepo sets up the sources file and the key only, so a subscription's credentials still go in /etc/apt/auth.conf.d/deb.griffo.io.conf. Ubuntu is not covered, because extrepo publishes metadata for Debian suites only: there, use the sudo or root commands.

Step 2: Install superfile

# Install latest superfile
sudo apt install superfile

# Optional, for the plugins that need them: exiftool for the
# metadata panel, zoxide for the smart directory jump
sudo apt install libimage-exiftool-perl zoxide

# Verify installation, the command is spf and not superfile
spf --version
# Install latest superfile
apt install superfile

# Optional, for the plugins that need them: exiftool for the
# metadata panel, zoxide for the smart directory jump
apt install libimage-exiftool-perl zoxide

# Verify installation, the command is spf and not superfile
spf --version

Step 3: First run

# Open the directory you are in
spf

# Or start somewhere else
spf ~/Downloads

# Two paths on the command line means two panels
spf ~/src ~/Downloads

# Where the config, hotkeys, theme, log and data files live
spf path-list

# Inside superfile, ? opens the full hotkey list
spf --help

🎯 Basic Usage Examples

Starting it:

# The current directory
spf

# A directory you name
spf /var/log

# One panel per path, opened side by side
spf ~/src ~/Downloads /mnt/backup

# Try settings without touching your own files
spf --config-file /tmp/spf.toml --hotkey-file /tmp/spf-keys.toml

# What is installed?
spf --version

Keeping the config current:

# Add the fields and hotkeys a new release introduced,
# leaving everything you already changed alone
spf --fix-config-file
spf --fix-hotkeys

# Print every path superfile uses
spf path-list

# Environment, terminal and version details for a bug report
spf --debug-info

Wiring it into your shell:

# Set cd_on_quit = true in config.toml, then put this in
# ~/.bashrc or ~/.zshrc so quitting with Q leaves you in the
# directory the panel was showing
spf() {
    export SPF_LAST_DIR="${XDG_STATE_HOME:-$HOME/.local/state}/superfile/lastdir"
    command spf "$@"
    [ ! -f "$SPF_LAST_DIR" ] || { . "$SPF_LAST_DIR"; rm -f -- "$SPF_LAST_DIR"; }
}

# The path that function reads
spf path-list --lastdir-file

# Use superfile as a file picker for another program: it writes
# the chosen path to the file and exits
spf --chooser-file /tmp/picked

🔧 Tool Integrations

superfile deliberately leaves the specialist jobs to the tools you already run:

  • Your editor: e opens the highlighted file in $EDITOR and E opens the directory in dir_editor, so Neovim or Helix stays the editor and superfile stays the browser
  • zoxide: set zoxide_support = true and the z key jumps through the same database your shell has been building for months
  • exiftool: with libimage-exiftool-perl installed and metadata = true, the metadata panel shows the full EXIF and media fields instead of the basics
  • bat and chroma: previews are highlighted by the built-in chroma, or by bat if you prefer its themes and set code_previewer = "bat"
  • Your terminal and your shell: image previews use the terminal's own image protocol, xdg-open handles the file types you have not mapped in [open_with], and cd_on_quit hands the last directory back to bash, zsh or fish

🚀 Why Choose deb.griffo.io?

📊 Repository Comparison:
  • Official Debian: does not package superfile, apt install superfile fails on a stock system
  • Building from source: current, but a Go toolchain on every machine and a binary that apt knows nothing about
  • The upstream install script: one curl from superfile.dev, convenient, but it writes into your system behind the package manager's back and the binary then nags you about its own updates
  • deb.griffo.io: latest version with automatic updates

📦 Package Build Repository

The Debian packages are automatically built and maintained in this GitHub repository:

🔗 Related Packages

Also available from deb.griffo.io:

🎯 Perfect for: going through a server's files over SSH where no desktop file manager exists, moving things between two directories without typing either path twice, unpacking and repacking archives without leaving the keyboard, and having a preview pane, a trash bin and a progress bar in a terminal that only ever had mv.

💝 Support This Project

If this repository saves you time and effort, please consider supporting it!

⭐ Star on GitHub 🐦 Share on Twitter

Just after the command? See apt install superfile, one page covering Debian and Ubuntu.

📦 Recent releases from this repository

📚 Release-specific install guides

❓ Frequently asked questions

Is superfile in the official Debian repositories?

No, superfile is not packaged in the official Debian archives. This repository is currently the only apt source, serving superfile 1.6.0.

How do I install the latest superfile on Debian?

Add the deb.griffo.io repository once using the instructions above, then run: sudo apt install superfile. New releases arrive through the normal sudo apt upgrade.

Are the packages signed and how are they built?

Every package is signed with the repository's GPG key (EA0F721D231FDD3A0A17B9AC7808B4DD62C41256) and built from upstream releases in public GitHub packaging repositories that anyone can inspect.

Which Debian releases are supported?

Debian 12 Bookworm, Debian 13 Trixie, Forky and Sid.