myx 0.2.2

A lean, beautiful terminal Spotify player
Documentation

myx

A lean, beautiful terminal Spotify player in Rust. Streams natively as a Spotify Connect device, with album-art-reactive theming, a live audio visualizer, and synced lyrics.

Requires Spotify Premium. Linux and macOS. Album art is crispest on kitty, WezTerm, or foot.

Install

# Arch (AUR)
yay -S myx

# macOS / Linux (Homebrew)
brew install HaseebKhalid1507/homebrew-tap/myx

# Cargo (crates.io)
cargo install myx

# Prebuilt binary (Linux x86_64, macOS)
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/HaseebKhalid1507/Myx/releases/latest/download/myx-installer.sh | sh

Or grab a .deb / archive from Releases, or build from source: cargo install --path ..

Get started

You need a free Spotify app client ID (one minute):

  1. Spotify developer dashboard, then Create app
  2. Add the redirect URI http://127.0.0.1:8989/login
  3. Copy the Client ID and set it:
export MYX_CLIENT_ID=<your-client-id>

Then run:

myx

First launch opens your browser to log in (OAuth PKCE, no secret needed). Then browse with ↑↓ and hit to play. After that, just myx.

Keys

⇥ / [ ]    switch section        ← →      switch view
↑↓ / j k   move                  ⏎        play / open
/          search                a        actions
space      play · pause          n / b    next · prev
⇧ ← →      seek                  s        shuffle
+ / -      volume                R        repeat
o          sort                  r        reload
q          quit

Mouse works too: click tabs, click a track, double-click to play.

Credits

Streaming adapts pieces of spotify-player (MIT, © Thang Pham); visual language after noodle; built on ratatui and librespot. See NOTICE.

License

MIT, see LICENSE.