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

A very fast, portable and hackable fuzzy finder for the terminal

Latest version: 0.15.9 · updated 2026-08-18
SourceVersion
deb.griffo.io0.15.9 ✅
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 Television?

Television (the command is tv) is a fuzzy finder built around channels. A channel is a named data source with its own preview command, keybindings and actions: files, text inside files, directories, git repositories, environment variables, processes, docker containers, or anything else you can describe in a few lines of TOML. It searches as you type, previews what is selected, and hands the result to the shell, an editor or your own command.

🚀 Why Latest Versions Matter: Television is a young project that moves quickly: channels, actions, the shell integration and the config format have all evolved release by release, and tv update-channels pulls the newest channel prototypes from upstream, which expect a matching binary. Neither Debian nor Ubuntu packages it, so a current build is not a nicety here; it is the only way to have it at all.

⚡ Key Features of Television

🔎 Channels, Not Just Files

Files, text, directories, git repositories, environment variables, processes and containers are all channels, tv list-channels shows what this build ships.

👁️ Previews Built In

Every channel can define a preview command, so you see the file, the log, the diff or the container details next to the results list.

🧵 Hackable in TOML

A channel is a small TOML file describing its source command, preview, keybindings and actions, a new workflow is a file in ~/.config/television/cable/.

⌨️ Shell Integration

tv init wires smart autocomplete onto Ctrl+T and history search onto Ctrl+R for bash, zsh and fish.

🚀 Fast by Design

An async, parallel matcher keeps typing responsive over very large sources, and previews are computed lazily and can be cached.

🧰 Ad-hoc Mode

--source-command and --preview-command turn any pair of shell commands into a one-off finder without writing a channel at all.

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

# Install latest Television
sudo apt install television

# Verify installation
tv --version
# Install latest Television
apt install television

# Verify installation
tv --version

Step 3: First run and shell integration

# See which channels this build ships with
tv list-channels

# Search the files under the current directory
tv files

# Shell integration: Ctrl+T to complete, Ctrl+R for history
echo 'eval "$(tv init bash)"' >> ~/.bashrc

# The manual page and bash, zsh and fish completions ship with the package
man tv

🎯 Basic Usage Examples

Everyday searching:

# The default channel
tv

# The channels you will use most
tv files
tv text
tv dirs
tv git-repos

# Start somewhere other than the current directory
tv files ~/src

# Fetch the latest channel prototypes from upstream
tv update-channels

Ad-hoc channels from any command:

# Turn any command into a fuzzy finder
tv --source-command "fd -t f -H"

# With a preview built from the selected entry
tv --source-command "git branch --format='%(refname:short)'" \
   --preview-command "git log -20 --oneline {}"

# Keep the colours the source command emits
tv --source-command "rg --color=always -n TODO" --ansi

# Preserve the source's own ordering instead of match ranking
tv --source-command "ls -t" --no-sort

Shell, completions and custom channels:

# Enable Ctrl+T and Ctrl+R in this shell
eval "$(tv init zsh)"

# Tab completion for tv's own subcommands
tv completions fish > ~/.config/fish/completions/tv.fish

# Custom channels live in the cable directory
mkdir -p ~/.config/television/cable
$EDITOR ~/.config/television/cable/tldr.toml

# After an upgrade, trim machine-written defaults from your config
tv migrate-config

🔧 Tool Integrations

Television is designed to be glued to the rest of your setup:

  • Your shell: tv init bash, zsh or fish adds smart autocomplete and history search, and any channel can print straight into the command line
  • Editors: community integrations exist for Neovim, Vim, VS Code, JetBrains IDEs and Zed, all driving the same binary
  • ripgrep and friends: channels are shell commands, so rg, fd, git, docker or your own script can be the source
  • Config: ~/.config/television/config.toml for defaults and keybindings, cable/*.toml for the channels themselves
  • Everything else: the selected entry is printed on stdout, so tv composes with pipes, aliases and scripts exactly like any other command

🚀 Why Choose deb.griffo.io?

📊 Repository Comparison:
  • Official Debian: does not package Television, apt install television fails on a stock system
  • cargo install television: current, but a Rust compile on every machine, outside apt and without the man page or completions
  • The upstream install script: convenient, but it writes into your system behind the package manager's back and updates itself on its own schedule
  • 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: jumping to a file in a repository you barely know, grepping the codebase and landing in the editor at the right line, switching between dozens of checkouts, and replacing the pile of one-off fzf wrappers that accumulated in your shell config.

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

📦 Recent releases from this repository

📚 Release-specific install guides

❓ Frequently asked questions

Is Television in the official Debian repositories?

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

How do I install the latest Television on Debian?

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