A minimal, reliable music player using Vim keybinds built in Rust.
  • Rust 98.9%
  • Shell 0.8%
  • Nix 0.3%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
socatlolmeow 1d579f5311 UI Overhaul
- Windows support: drift now runs natively on Windows, using named pipes instead of Unix sockets.
- Song context menu: press G on any song for quick actions like play, queue, add to playlist, and song info
- Redesined command menu: the : prompt has a new, cleaner design
- Visualizer: a live audio visualizer now sits in the bottomleft corner
- Keybind hints: the most useful shortcuts are showen next to the volume control
2026-10-11 17:56:25 +02:00
examples add examples 2026-10-09 19:52:38 +02:00
src UI Overhaul 2026-10-11 17:56:25 +02:00
.gitignore Add Makefile, update README with install instructions, fix .gitignore 2026-10-09 20:09:56 +02:00
archive.zip UI Overhaul 2026-10-11 17:56:25 +02:00
Cargo.lock Add source code 2026-10-09 16:52:03 +02:00
Cargo.toml Add Makefile, update README with install instructions, fix .gitignore 2026-10-09 20:09:56 +02:00
CONTRIBUTING.md (add): CONTRIBUTING.md 2026-10-10 11:39:26 +02:00
install.sh Add installation script for media tools and dependencies 2026-10-11 10:27:26 +02:00
LICENSE Initial commit 2026-10-09 16:03:10 +02:00
README.md UI Overhaul 2026-10-11 17:56:25 +02:00

Drift

Stars License

A music streaming client using Vim keybinds built in Rust.

Stream your favourite music from YouTube Music — all in one client, in your terminal.


Drift showcase

Features

  • YouTube Music streaming - search and stream tracks directly from YouTube Music via yt-dlp and mpv
  • Vim-style keybinds - navigate with j/k, enter commands with :, quit with q
  • Queue management - add, remove, reorder, and clear tracks in your queue
  • Playlists - save, load, append, and delete named playlists; import from YouTube/YouTube Music URLs
  • Shuffle & repeat - toggle shuffle and cycle through off / repeat-all / repeat-one modes
  • Volume & seek control - adjust volume and seek with configurable step sizes
  • Session restore - automatically restores your queue and playback position on next launch
  • Artist search - drill into an artist's discography from the results view
  • Command palette - full :command interface (:search, :play, :volume, :seek, :save, :load, :import, and more)
  • Autoplay - optionally keep playing through results when the queue ends
  • TOML config - persistent config at ~/.config/drift/config.toml (your platform's config directory); drift never rewrites it, so comments are preserved

Installation

Arch Linux (AUR)

yay -S driftmusic-git

Any AUR helper works (paru -S driftmusic-git), or build it by hand:

git clone https://aur.archlinux.org/driftmusic-git.git
cd driftmusic-git
makepkg -si

mpv and yt-dlp are installed automatically.

Other distros

Install the dependencies:

  • mpv — audio playback
  • yt-dlp — YouTube stream extraction
  • Rust (build only)

Then build from source:

git clone https://github.com/socatlolmeow/drift.git
cd drift
cargo build --release
sudo cp target/release/drift /usr/local/bin/

Or install directly with cargo:

cargo install --path .

This installs drift to ~/.cargo/bin/, which is on your $PATH if you installed Rust via rustup.

Star History

Star History Chart


License

Drift is FOSS, released under the GNU General Public License version 3 or later.