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
Socat ca03d20d92
Update installation instructions in README.md
Added installation instructions for Arch Linux and other distros, including dependencies and build steps.
2026-10-11 10:09:51 +02:00
examples add examples 2026-10-09 19:52:38 +02:00
src Commit 10/11/26 2026-10-11 09:54:07 +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
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.