drift/README.md

2.4 KiB

Drift

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 ~/.local/share/drift/config.toml; comments are preserved across restarts

Installation

Dependencies

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

Install them with your package manager, e.g. on Arch:

sudo pacman -S mpv yt-dlp

Build & install

git clone https://github.com/socatlolmeow/drift.git
cd drift
cargo build --release

Then copy the binary to somewhere on your $PATH:

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.