Installation
The YouTube TUI supports both Linux and Windows.
Install from Crates.io (recommended)
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.
AUR for Arch Linux (recommended)
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)
Installation on NixOS (recommended)
Add the following Nix code to your NixOS Configuration
environment.systemPackages = [
pkgs.youtube-tui
];
Installation on NixOS with flakes (recommended)
{
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.