Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Installation

The YouTube TUI supports both Linux and Windows.

Crates.io is a repository for programs written in Rust, and the YouTube TUI is available there.

To install using this method, you will need rustc and cargo present. Here’s a tutorial on how to get them.

Now, run the following command:

cargo install youtube-tui

To check and update all programs installed from Crates.io, you can use CLI tools like cargo-update.

The YouTube TUI is available in the AUR here.

Use an AUR helper like yay to install.

yay -S youtube-tui # lastest crates.io release, recommended
yay -S youtube-tui-git # latest git version, potentially untested
yay -S youtube-tui-full-bin # default binary (out of date)
yay -S youtube-tui-nodefaults-bin # minimal binary (out of date)

Add the following Nix code to your NixOS Configuration

environment.systemPackages = [
  pkgs.youtube-tui
];
{
    inputs.youtube-tui.url = "github:Siriusmart/youtube-tui";

    ...
}

Build from source

Use the cargo command:

cargo install --git https://github.com/siriusmart/youtube-tui

Confirm YouTube TUI has been installed

Run the following command in terminal:

youtube-tui

If installed correctly, a TUI should be launched. Press q to close the TUI.

Installation on Windows

Install using cargo exactly as you would on Linux:

cargo install youtube-tui

All default features work on Windows. On the first build, the mpv feature will automatically download the required libmpv dev library (~30MB) and place libmpv-2.dll next to the installed binary — no manual steps needed.

Prerequisites:

  • Rust / cargo
  • MSVC build tools (“Desktop development with C++” workload) — required to compile Rust on Windows
  • Internet access on the first build (to download libmpv)

To build without the embedded mpv audio player (skips the download):

cargo install youtube-tui --no-default-features -F sixel -F halfblock -F clipboard -F rustypipe

Windows configuration

The default config directory on Windows is %APPDATA%\youtube-tui\. Data files (history, thumbnails, etc.) are stored in %LOCALAPPDATA%\youtube-tui\.

Default tools on Windows:

  • Browser: explorer (opens URLs in default browser)
  • Terminal emulator: cmd /c start cmd /k
  • Shell: cmd

These can be changed in main.yml.

Features

The TUI has features that can be enabled/disabled when compiling.

cargo install youtube-tui # install with all default features
cargo install youtube-tui --no-default-features -F feature1 -F feature2 # install with only the specified features
cargo install youtube-tui --all-features # install with all features (even if not included in default)

halfblock (default)

Display images through HalfBlocks, work best in terminals with TrueColour support.

sixel (default)

Display images with Sixels, allows the display of images at full definition.

On Linux, this uses the C libsixel library for best performance (requires libsixel). On Windows, a pure Rust encoder is used automatically (no native dependencies).

clipboard (default)

Allows clipboard pasting in commands and search bar.

On Linux, requires libxcb. On Windows, uses native clipboard APIs (no extra dependencies).

mpv (default)

Embedded audio player.

On Linux, requires libmpv to be installed (libmpv-dev on Debian/Ubuntu, mpv on Arch).

On Windows, the build system downloads libmpv automatically on first build and copies libmpv-2.dll next to the installed binary. No manual steps are required.

rustypipe (default)

Rustypipe backend for fetching video information, Rustypipe runs on your local machine, it’s a bit like yt-dlp.

invidious

invidious backend for fetching video information, requires a working Invidious instance with API enabled set in main.yml.

You must enable at least one of the two backends.