Spotify: Difference between revisions

From NixOS Wiki
imported>Aaronpkelly
m clarify installing via home-manager creates a systemd service
imported>PatrickMalolepszy
Add details on how to install the actual spotify app, not just spotify deamon.
Line 2: Line 2:


{{note|Spotify is [[FAQ/unfree|unfree]], its license prohibits distribution. See the [[FAQ/unfree]] page to install unfree software.}}
{{note|Spotify is [[FAQ/unfree|unfree]], its license prohibits distribution. See the [[FAQ/unfree]] page to install unfree software.}}
=== Installation ===
To install the standard Spotify desktop application, add to system packages:
  environment.systemPackages = with pkgs; [
    spotify
  ];


=== Local discovery ===
=== Local discovery ===

Revision as of 21:28, 28 July 2023

Spotify

Note: Spotify is unfree, its license prohibits distribution. See the FAQ/unfree page to install unfree software.

Installation

To install the standard Spotify desktop application, add to system packages:

 environment.systemPackages = with pkgs; [
   spotify
 ];

Local discovery

To sync local tracks from your filesystem with mobile devices in the same network, you need to open port 57621 by adding the following line to your configuration.nix:

networking.firewall.allowedTCPPorts = [ 57621 ];

spotifyd

The alternative client spotifyd is available as a package, nixos module, and home-manager module.

spotifyd must have your credentials when it starts, otherwise it will not be able to authenticate with Spotify, and will not show up as a device. If installing spotifyd as a package, give it credentials when starting, e.g.:

spotifyd --username <USER> --password <PASS>

If installing spotifyd as a systemd service via home-manager, you can supply your credentials via options. Example home-manager config:

 services.spotifyd = {
   enable = true;
   settings =
     {
       global = {
         username = "Alex";
         password = "foo";
       };
     }
   ;
 }

spotifyd connects to spotify as a spotify-connect device. It offers no controls of its own, but can be controlled via playerctl or spotify-tui.