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
2026-10-11 17:56:25 +02:00
examples add examples 2026-10-09 19:52:38 +02:00
src yes 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
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 Update installation instructions in README.md 2026-10-11 10:09:51 +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.