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 Serie on Debian

A rich git commit graph in your terminal, drawn as real images

Latest version: 0.8.2 · updated 2026-08-21
SourceVersion
deb.griffo.io0.8.2 ✅
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 Serie?

Serie is a terminal UI for browsing a Git repository's history. It shows what git log --graph --all shows, but the graph is drawn with the terminal emulator's inline image protocol instead of being approximated with ASCII art, so branches and merges are readable at a glance. A scrollable, searchable commit list sits next to the graph, with a detail view for the selected commit. It is deliberately a viewer, not a Git client: it does not commit, branch or push.

🚀 Why Latest Versions Matter: Serie is a young project, still before 1.0, and features land in ordinary releases: user commands, custom keybindings, graph styling and ordering options, and support for the Unicode-placeholder variant of the Kitty graphics protocol. Terminal image support is itself a moving target, so the build that renders correctly in your terminal is usually the current one.

⚡ Key Features of Serie

🖼️ A Real Commit Graph

The graph is rendered as images through the Kitty or iTerm2 protocol, so branch lines stay readable in a repository with dozens of parallel branches.

🔍 Searchable History

A commit list beside the graph that scrolls and searches, instead of paging through git log output.

📄 Commit Detail View

Select a commit to see its message, its refs and its diff, without leaving the graph.

🎛️ Graph Options

Chronological or topological ordering, single- or double-width cells, rounded or angular edges, set once on the command line or in the config file.

⌨️ Custom Keybindings

? shows the current bindings, and every one of them can be overridden in config.toml.

🧰 User Commands

Run your own commands on the selected commit: show output in a dedicated view, run something in the background, or suspend Serie for an interactive program.

🚀 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; Serie 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 Serie

# Install latest Serie
sudo apt install serie

# Verify installation
serie --version
# Install latest Serie
apt install serie

# Verify installation
serie --version

Step 3: Run it in a repository

# Serie reads the repository in the current directory
cd /path/to/your/repo
serie

# Press ? at any time to see the key bindings

# If the graph does not appear, name the image protocol explicitly
serie -p kitty

# The optional config file, for keybindings and defaults
mkdir -p ~/.config/serie
$EDITOR ~/.config/serie/config.toml

🎯 Basic Usage Examples

Browsing history:

# The full history of the repository you are in
serie

# Only the most recent commits, for a very large repository
serie -n 5000

# Topological order instead of chronological
serie -o topo

# Start with HEAD selected rather than the newest commit
serie -i head

Making the graph fit your terminal:

# Force an image protocol when auto-detection guesses wrong
serie -p kitty
serie -p iterm
serie -p kitty-unicode

# Narrower graph cells for a small window
serie -g single

# Angular edges instead of rounded ones
serie -s angular

# Or the roomy, rounded look on a wide terminal
serie -g double -s rounded

Configuration and everyday use:

# The config file, for keybindings and defaults
mkdir -p ~/.config/serie
$EDITOR ~/.config/serie/config.toml

# Or point Serie at a config file somewhere else
SERIE_CONFIG_FILE=~/dotfiles/serie.toml serie

# Serie only reads history, git stays your client
git -C ~/src/project log --oneline -5

# So committing is still git's job
git commit -v

🔧 Tool Integrations

Serie needs two things and cooperates with a third:

  • git: an ordinary Git repository and the git binary, which the package pulls in as a dependency
  • Your terminal: an emulator that speaks the Kitty or iTerm2 inline image protocol, Ghostty, Kitty, WezTerm and iTerm2 all qualify
  • Config file: $XDG_CONFIG_HOME/serie/config.toml, or whatever SERIE_CONFIG_FILE points at
  • User commands: wire git diff, an editor or your own script to a key and run it on the selected commit
  • Your git client: Serie deliberately does not commit or push, so it sits beside lazygit, GitUI or plain git rather than replacing them

🚀 Why Choose deb.griffo.io?

📊 Repository Comparison:
  • Official Debian: does not package Serie at all, a stock system has nothing to install
  • cargo install --locked serie: current, but a Rust toolchain and a compile on every machine, outside apt
  • Upstream tarball: the official binary, re-downloaded by hand for every release
  • 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: understanding how a long-lived branch actually merged, explaining a repository's shape to someone new, reading release history before a rebase, and every moment when git log --graph produced a wall of pipes and asterisks you could not follow.

💝 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 serie, one page covering Debian and Ubuntu.

📦 Recent releases from this repository

📚 Release-specific install guides

❓ Frequently asked questions

Is Serie in the official Debian repositories?

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

How do I install the latest Serie on Debian?

Add the deb.griffo.io repository once using the instructions above, then run: sudo apt install serie. 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.