{ config, pkgs, lib, ... }: { options = { spotifyd = { enable = lib.mkEnableOption { description = "Enable spotifyd"; default = false; }; }; }; config = lib.mkIf (config.spotifyd.enable) { home-manager.users.${config.user} = { home.packages = [ pkgs.spotifyd ]; }; }; sops = { secrets."spotifyd/settings/global/password" = { }; templates = { "spotifyd.conf" = { owner = "annika"; content = '' [global] username = "me@annikamerris.com" password = "${config.sops.placeholder."spotifyd/settings/global/password"}" use_mpris = true device_name = "kim-nix" device_type = "computer" ''; }; }; }; # Install and setup spotifyd # sops.templates. systemd.user.services.spotifyd = { description = "spotify daemon"; documentation = [ "https://github.com/Spotifyd/spotifyd" ]; wantedBy = [ "default.target" ]; serviceConfig = { ExecStart = "${pkgs.spotifyd}/bin/spotifyd --no-daemon --config-path ${config.sops.templates."spotifyd.conf".path}"; Restart = "always"; RestartSec = 12; }; }; }