How to Install lowfi on Debian: A Tiny, Cozy Terminal Lofi Player

lowfi is a tiny Rust application that does exactly one thing: play lofi. No albums, no playlists to curate, no ads, no accounts — you run lowfi, it starts streaming a gentle lofi track in your terminal, and you get back to work. It is the antidote to opening a browser tab, dodging cookie banners and waiting through a pre-roll advert just to have some background music.

Under the hood it keeps things resilient by buffering several songs at a time, so a flaky connection will not leave you in sudden silence mid-track. The interface is a single compact widget you drive with the keyboard, and it integrates with your desktop’s media keys and MPRIS so the play/pause button on your keyboard just works.

lofi is not the sort of thing that ships in the official Debian repositories, and building a Rust binary by hand for a background music player is more ceremony than it deserves. The unofficial deb.griffo.io repository provides an up-to-date prebuilt package so you can install it with apt and forget about it.

Install the Latest lowfi on Debian: The Short Version

If you only came for the commands, this adds the repository and installs the latest lowfi .deb package on Debian:

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
sudo apt install lowfi

The rest of this guide explains what each command does, how to verify the install, how to keep lowfi up to date, and what to check when something goes wrong.

What Makes lowfi Special?

  • 🎧 One job, done well — it plays lofi and nothing else, with zero setup or configuration required.
  • 🪶 Featherweight — a single small Rust binary that sips CPU and memory in the background.
  • 📶 Resilient buffering — several tracks are buffered ahead, so brief network hiccups do not interrupt playback.
  • ⌨️ Keyboard-driven — skip, pause and adjust volume with single keypresses; no mouse needed.
  • 🔖 Bookmarks — press b to save a track you like and replay your bookmarks later.
  • 🎛️ MPRIS and media keys — hardware play/pause and skip keys control it like any other player.
  • 🧩 Customisable views — minimalist, borderless and clock modes let you shape the widget to taste.
  • 📃 Custom track lists — point it at your own list of tracks instead of the default stream.

Why Use the deb.griffo.io Repository?

The deb.griffo.io repository makes lowfi painless to live with:

  • Easy installation and updates through the APT package manager.
  • Automatic dependency management so audio libraries are pulled in for you.
  • Always tracks upstream releases of lowfi.
  • No compiling from source and no Rust toolchain to install.
  • Works across supported Debian releases, from Bookworm to 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)
  • A working audio setup (PipeWire or PulseAudio) and, ideally, an internet connection

Step 1: Add the deb.griffo.io Repository

Add the signing key and repository to APT with the block below:

# 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:

  1. Keyrings directory — creates /etc/apt/keyrings to hold the signing key.
  2. GPG key — downloads the key and stores it de-armoured for APT.
  3. Repository entry — writes the source list, using lsb_release -sc to detect your Debian codename.
  4. Update — refreshes APT so the package becomes available.

Step 2: Update the Package List

If you skipped the final line above, refresh the index now:

sudo apt update

Step 3: Install lowfi

Install the package with APT:

sudo apt install lowfi

This fetches the latest lowfi build and any audio dependencies it needs.

Step 4: Verify the Installation

Confirm lowfi is installed and on your PATH:

lowfi --version

You should see output similar to:

lowfi 1.6.0

Run lowfi --help to see the full list of flags.

Getting Started with lowfi

lowfi is designed to need no instructions, but knowing the controls and a couple of flags makes it far nicer to use.

Just Play

The core experience is a single command:

lowfi

That launches the player and starts streaming. When you are done, press q to quit.

Keyboard Controls

Everything happens through single keypresses while lowfi is running:

KeyAction
s, n, lSkip to the next song
p, SpacePlay / pause
+, =, k, Volume up 10%
Volume up 1%
-, _, j, Volume down 10%
Volume down 1%
bBookmark / un-bookmark the current track
q, Ctrl+CQuit

Shape the Interface

A few flags change how the widget looks and behaves. Combine them however you like:

# Use the alternate terminal screen (restores your prompt on quit)
lowfi --alternate

# Hide the bottom control bar for a minimal look
lowfi --minimalist

# Drop the UI borders
lowfi --borderless

# Show a clock in the widget
lowfi --clock

# Start paused instead of playing immediately
lowfi --paused

The short forms work too, so lowfi -am gives you an alternate-screen minimalist player.

Bookmarks and Custom Track Lists

Press b during playback to bookmark a track you enjoy. You can then play only your bookmarked tracks:

# Play your saved bookmarks
lowfi --track-list bookmarks

You can also supply your own track list — either a data-directory name or a path to a file. A track list is a header line with the base URL, followed by one track per line, with optional custom display names:

# Use a custom named track list
lowfi --track-list minipop

# Or point at a file you maintain
lowfi --track-list ~/.local/share/lowfi/mytracks.txt

Media Keys and MPRIS

On Debian with a desktop session, lowfi registers with MPRIS, so the play/pause and next-track keys on your keyboard control it directly, and desktop widgets can show what is playing — provided the package was built with the MPRIS feature enabled.

Keeping lowfi Updated

Because lowfi came from APT, updates are handled with the rest of your system:

sudo apt update && sudo apt upgrade

This pulls the newest lowfi whenever the repository is refreshed.

Other Tools from deb.griffo.io

The repository is home to plenty of other terminal tools. If lowfi suits your taste, these are worth a look:

  • Termusic — a full terminal music player for your own local library.
  • viu — view images right inside your terminal.
  • Yazi — a blazing-fast terminal file manager written in Rust.
  • Fastfetch — a fast, customisable system information tool.

Troubleshooting

GPG or Key Issues

If APT reports the repository is unsigned or the key has expired, re-add the signing key:

# Remove the existing key
sudo rm -f /etc/apt/keyrings/deb.griffo.io.gpg

# Re-download and install it
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 lowfi cannot find the package:

  1. Confirm you ran sudo apt update after adding the repository.
  2. Check your Debian release is supported (Bookworm, Trixie, or Sid).
  3. Inspect the source file: cat /etc/apt/sources.list.d/deb.griffo.io.list

No Sound

If lowfi runs but you hear nothing, the problem is almost always the audio stack rather than lowfi itself. Confirm your session’s sound server is up with systemctl --user status pipewire (or check PulseAudio), make sure the right output device is selected and unmuted, and test general playback with another application. If you are on a headless or SSH session there may be no audio sink at all — lowfi needs a real audio output to play to.

Uninstalling

To remove lowfi:

# Remove the package
sudo apt remove lowfi

# Optionally remove the repository and key
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

lowfi is a small pleasure: a single command that fills your terminal session with calm background music and asks for nothing in return. No browser, no account, no adverts — just lofi, buffered and resilient, controlled by a couple of keystrokes.

Installing it from deb.griffo.io keeps that spirit intact. One apt install gets you playing, and a routine apt upgrade keeps it current, so the least demanding app on your system stays the least demanding to maintain.

Frequently Asked Questions

How do I install the latest lowfi on Debian?

Add the deb.griffo.io APT repository and its signing key, then run sudo apt install lowfi. The repository tracks upstream lowfi releases, so you get the latest packaged version rather than a build frozen when your distribution was released.

Is there a .deb package for lowfi?

Yes. deb.griffo.io publishes lowfi as a signed .deb for Debian. You could download that .deb and install it by hand, but adding the repository is the better option: APT then resolves dependencies and picks up new versions on its own.

How do I update lowfi to the latest version?

Run sudo apt update && sudo apt upgrade. Once lowfi is installed from APT there is no separate updater to remember, since new releases arrive with the rest of your system updates.

How do I install lowfi on Ubuntu?

Exactly the same way; lsb_release -sc simply resolves to a different codename. There is a companion guide with the Ubuntu specifics: How to install lowfi on Ubuntu.

Which Debian releases are supported?

Bookworm 12, Trixie 13 and Sid. Because the repository line is built from lsb_release -sc, the matching suite is selected for you.

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