/ncspot

Cross-platform ncurses Spotify client written in Rust, inspired by ncmpc and the likes.

Primary LanguageRustBSD 2-Clause "Simplified" LicenseBSD-2-Clause

ncspot logo

An ncurses Spotify client written in Rust using librespot

Crates.io Gitter

ncspot search tab

ncspot is an ncurses Spotify client written in Rust using librespot. It is heavily inspired by ncurses MPD clients, such as ncmpc. My motivation was to provide a simple and resource friendly alternative to the official client as well as to support platforms that currently don't have a Spotify client, such as the *BSDs.

ncspot only works with a Spotify premium account as it offers features that are not available for free accounts.

Features

  • Support for tracks, albums, playlists, genres, searching...
  • Small resource footprint
  • Support for a lot of platforms
  • Vim keybindings out of the box
  • IPC socket for remote control
  • Automatic authentication using a password manager

Installation

ncspot is available on macOS (Homebrew), Windows (Scoop), Linux (native package and Flathub) and the BSD's. Detailed installation instructions for each platform can be found here.

Configuration

A configuration file can be provided at $XDG_CONFIG_HOME/ncspot/config.toml. Detailed configuration information can be found here.

Building

Building ncspot requires a working Rust installation and a Python 3 installation. To compile ncspot, run cargo build. For detailed instructions on building ncspot, there is more information here.

Packaging

Information about provided files, how to generate some of them and current package status accross platforms can be found here.