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)
sudoprivilegescurlinstalled (sudo apt install curlif 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:
- Keyrings directory — creates
/etc/apt/keyringswith correct permissions for the key - GPG key — downloads and de-armors the repository signing key so APT can verify packages
- Repository entry — adds the source, with
lsb_release -scfilling in your Debian codename - 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
Choosing a Logo
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:
- Run
sudo apt updateagain to refresh the index - Confirm your release is supported (Bookworm, Trixie, or Sid)
- 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.