How to Install Fastfetch on Debian: A Fast, Customizable System Information Tool

Fastfetch is a fast, highly customizable system information tool. It prints a neat summary of your machine — distribution, kernel, uptime, CPU, GPU, memory, packages, shell, and more — next to a distribution logo rendered in the terminal. If you have seen the classic neofetch screenshots that fill Linux subreddits, Fastfetch is the modern, actively maintained successor to that idea.

The “fast” in the name is earned. Where neofetch was a large Bash script that could take noticeable time to run, Fastfetch is written in C and gathers its data through efficient system calls and caching. It starts almost instantly, which matters when you run it on every new shell. It is also modular and deeply configurable through JSON, so you can decide exactly which “modules” appear, in what order, and how they are styled.

Debian’s official repositories do not always carry a current Fastfetch, and the version available can trail upstream. The unofficial deb.griffo.io repository provides an up-to-date .deb, so you can install Fastfetch with apt and keep it current through normal system upgrades.

What Makes Fastfetch Special?

  • ⚡ Written in C — near-instant startup, far quicker than the older neofetch script
  • 🎨 Highly customizable — control every module and colour through a JSON config
  • 🖼️ Rich logo support — built-in distro logos plus custom ASCII, image, and Sixel output
  • 🧩 Modular design — enable, disable, and reorder individual information modules
  • 🧊 Broad detection — reports CPU, GPU, memory, disks, battery, display, and packages
  • 🖥️ Cross-platform — runs on Linux, BSD, macOS, and Windows
  • 📦 Package-manager aware — counts installed packages across many managers, including dpkg
  • 🔧 Presets — ship-ready layouts you can load and tweak with --config

Why Use the deb.griffo.io Repository?

The deb.griffo.io repository is a tidy way to run Fastfetch on Debian:

  • Easy installation and updates through the APT package manager
  • Automatic dependency management handled by Debian packaging
  • Always tracks upstream releases rather than the older versions in the archive
  • No compiling from source or fetching binaries by hand
  • Works across supported Debian releases including Bookworm, Trixie, and Sid

Prerequisites

Before you begin, make sure you have:

  • A Debian-based system (Bookworm 12, Trixie 13, or Sid)
  • sudo privileges
  • curl installed (sudo apt install curl if needed)

Step 1: Add the deb.griffo.io Repository

Add the signing key and repository 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 command does:

  1. Keyrings directory — creates /etc/apt/keyrings with correct permissions for the key
  2. GPG key — downloads and de-armors the repository signing key so APT can verify packages
  3. Repository entry — adds the source, with lsb_release -sc filling in your Debian codename
  4. Package list — refreshes APT so Fastfetch becomes installable

Step 2: Update the Package List

If you skipped the last command above, run it now:

sudo apt update

Step 3: Install Fastfetch

Install Fastfetch with a single command:

sudo apt install fastfetch

This installs the fastfetch binary and its dependencies.

Step 4: Verify the Installation

Confirm the version:

fastfetch --version

You should see output similar to:

fastfetch 2.21.3 (Linux x86_64)

Now run it with no arguments to see your system summary alongside the Debian logo:

fastfetch

Getting Started with Fastfetch

Fastfetch works well out of the box, but its real strength is customization. Here is how to shape its output.

Basic Usage

Running fastfetch prints the default report. A few immediately useful flags:

# Show the summary (default behaviour)
fastfetch

# List every module Fastfetch can display
fastfetch --list-modules

# Show all available built-in logos
fastfetch --list-logos

# Print raw structured output as JSON (handy for scripts)
fastfetch --format json

You can override the automatically detected logo, use a different distro’s art, or supply your own:

# Use a specific built-in logo
fastfetch --logo arch

# Render a custom ASCII art file
fastfetch --logo /path/to/logo.txt

# Display an image logo (terminal support permitting)
fastfetch --logo-type kitty --logo /path/to/image.png

# Skip the logo entirely
fastfetch --logo none

Generating and Editing a Config

Fastfetch is configured with a JSON file. Generate a starter config and open it:

# Write a default config you can customise
fastfetch --gen-config

# The file lands here:
#   ~/.config/fastfetch/config.jsonc

A minimal config.jsonc selecting a few modules looks like this:

{
  "$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json",
  "logo": { "type": "builtin", "source": "debian" },
  "modules": [
    "title", "separator", "os", "kernel", "uptime", "packages",
    "shell", "cpu", "gpu", "memory", "break", "colors"
  ]
}

Load a specific config file explicitly with --config:

fastfetch --config ~/.config/fastfetch/config.jsonc

Using Presets

Fastfetch ships with ready-made layouts. List and load them by name:

# See the bundled presets
fastfetch --list-presets

# Load one directly
fastfetch --config examples/13

Running Fastfetch on Shell Startup

A common setup is to greet yourself with system info each time a terminal opens. Add fastfetch to the end of your ~/.bashrc (guarded so it only runs in interactive shells):

[ -t 1 ] && fastfetch

Because Fastfetch starts so quickly, this adds no noticeable delay to opening a shell.

Keeping Fastfetch Updated

As a managed package, Fastfetch updates with your normal maintenance:

sudo apt update && sudo apt upgrade

This keeps the fastfetch binary current alongside the rest of your Debian system.

Other Tools from deb.griffo.io

The repository packages many complementary tools for Debian:

  • eza — a modern, colourful replacement for ls
  • Starship — a fast, customizable shell prompt
  • Ghostty — a fast terminal emulator to show off your setup
  • Zellij — a terminal workspace and multiplexer

Troubleshooting

GPG or Key Errors

If APT reports the repository is not signed, re-add the 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 cannot find fastfetch:

  1. Run sudo apt update again to refresh the index
  2. Confirm your release is supported (Bookworm, Trixie, or Sid)
  3. Inspect the source entry: cat /etc/apt/sources.list.d/deb.griffo.io.list

Logo or Colours Look Wrong

If the logo renders as broken characters or colours are missing, your terminal may not support the requested output mode. Fall back to plain ASCII and confirm your terminal advertises truecolor:

# Force simple ASCII logo output
fastfetch --logo-type small

# Check the terminal's colour support
echo $COLORTERM

For image logos you need a terminal that supports the Kitty graphics protocol or Sixel; otherwise stick to the built-in ASCII logos.

Uninstalling

To remove Fastfetch:

sudo apt remove fastfetch

To remove the repository as well:

sudo rm /etc/apt/sources.list.d/deb.griffo.io.list
sudo rm /etc/apt/keyrings/deb.griffo.io.gpg
sudo apt update

Your config at ~/.config/fastfetch remains until you delete it.

Conclusion

Fastfetch is the quick, modern way to display system information in your terminal, and its JSON configuration makes it endlessly tweakable without sacrificing speed. On Debian, the deb.griffo.io repository makes installation a single apt install fastfetch and keeps it current through your usual apt upgrade.

Install it, run fastfetch, then generate a config and start trimming or reordering modules until the output is exactly yours. It is a small pleasure that greets you on every new terminal.

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 Fastfetch project.