| Crates.io | trix-player |
| lib.rs | trix-player |
| version | 0.3.1 |
| created_at | 2026-01-25 04:59:58.963203+00 |
| updated_at | 2026-01-25 16:01:18.730321+00 |
| description | A beautiful, keyboard-driven terminal music player for Linux. |
| homepage | https://github.com/RIZAmohammadkhan/TerminalMusicPlayer |
| repository | https://github.com/RIZAmohammadkhan/TerminalMusicPlayer |
| max_upload_size | |
| id | 2068154 |
| size | 536,042 |
A beautiful, keyboard-driven terminal music player for Linux.
Features • Installation • Usage • Building
Trix is a lightweight, high-performance music player built with Rust. It is designed for Linux users who prefer the terminal, offering a clean TUI (Terminal User Interface), robust keyboard navigation (vim-like), and low resource usage.

ratatui.XDG_MUSIC_DIR or defaults to ~/Music.Trix is available on the AUR as trix-player. Use your favorite AUR helper:
yay -S trix-player
# or
paru -S trix-player
Download the latest .deb file from the Releases Page.
sudo dpkg -i trix-player_*.deb
sudo apt-get install -f # Fix dependencies if needed
Download the latest .rpm file from the Releases Page.
sudo rpm -i trix-player-*.rpm
Download the .tar.xz archive from the Releases page, extract it, and move the binary to your path.
tar -xf trix-player-*.tar.xz
sudo mv trix /usr/local/bin/
Installs the latest x86_64-unknown-linux-gnu release into ~/.local/bin (or /usr/local/bin if run as root).
curl -fsSL https://raw.githubusercontent.com/RIZAmohammadkhan/TerminalMusicPlayer/main/install.sh | sh
Install to a custom prefix:
curl -fsSL https://raw.githubusercontent.com/RIZAmohammadkhan/TerminalMusicPlayer/main/install.sh | PREFIX=/usr/local sh
If you have the Rust toolchain installed:
git clone https://github.com/RIZAmohammadkhan/TerminalMusicPlayer.git
cd TerminalMusicPlayer
cargo install --path .
Run the player by typing:
trix
By default, Trix looks for music in your XDG Music directory (usually ~/Music). You can also play a specific directory or file:
trix /path/to/my/songs
Trix can load a user config file from:
$XDG_CONFIG_HOME/trix/config.toml~/.config/trix/config.tomlCurrently this is focused on theming colors.
Color values can be basic names (e.g. "cyan", "dark_gray") or hex RGB (e.g. "#7aa2f7").
Important semantic constraint:
theme.library_accent is used for both the Library frame and the selection highlight.
This is intentional so you can't configure the UI into a confusing state where “library color” and
“selection color” drift apart.Example ~/.config/trix/config.toml:
[theme]
title_accent = "#7aa2f7"
current_track_accent = "#7aa2f7"
playing_indicator = "#9ece6a"
# Single knob: library frame + selection highlight
library_accent = "#e0af68"
now_accent = "#7aa2f7"
progress_accent = "#9ece6a"
hints_accent = "#7dcfff"
search_accent = "#bb9af7"
move_accent = "#e0af68"
key_accent = "#bb9af7"
song_title_accent = "#e0af68"
text_primary = "white"
text_muted = "dark_gray"
error = "red"
Trix is designed to be used entirely without a mouse.
| Key | Action |
|---|---|
| Navigation | |
↑ / k |
Move selection up |
↓ / j |
Move selection down |
Enter |
Play selected track |
PgUp / PgDn |
Scroll page up/down |
Home / End |
Jump to top/bottom |
| Playback | |
Space |
Pause / Resume |
N |
Play next track |
P |
Play previous track |
l |
Toggle Loop (Current track) |
s |
Toggle Shuffle |
r |
Restart current track |
| Seeking | |
→ |
Seek forward 5s (per press) |
← |
Seek backward 5s (per press) |
n |
Seek forward 10s |
p |
Seek backward 10s |
| Utility | |
S |
Search mode (Type to filter, Enter to play) |
m |
Move to timestamp (e.g. 1:30, 01:02:03) |
v |
Volume mode (Use ↑/↓ to adjust, v/Esc to exit) |
Ctrl + Alt + x |
Hide/Unhide Trix (shell; press again to return, or exit) |
D |
Delete track (Press twice to confirm) |
h / ? |
Toggle Help / Cheatsheet |
q |
Quit |
To build or run Trix, you need ALSA development libraries installed on your system.
sudo apt install libasound2-devsudo dnf install alsa-lib-develsudo pacman -S alsa-libContributions are welcome! Feel free to open issues for bugs or feature requests.
git checkout -b feature/AmazingFeature).git commit -m 'Add some AmazingFeature').git push origin feature/AmazingFeature).Distributed under the MIT License. See LICENSE for more information.
Riza Mohammad