{ config, lib, pkgs, ... }: let cfg = config.sydnix.users.crumb.mpd; in { options.sydnix.users.crumb.mpd.enable = lib.mkEnableOption "MPD, à la crumb"; config = lib.mkIf cfg.enable { sydnix.sops.secrets = { lastfm-password = {}; librefm-password = {}; }; sydnix.mpd = { enable = true; scrobbling.endpoints = { "last.fm" = { passwordFile = "/home/crumb/.config/sops-nix/secrets/lastfm-password"; username = "crumb1"; }; "libre.fm" = { passwordFile = "/home/crumb/.config/sops-nix/secrets/librefm-password"; username = "crumbtoo"; }; }; }; # mpdscribble uses our password files, so it is imperative that the service # runs only after said password files are brought into existence. }:) systemd.user.services.mpdscribble.Unit = { After = [ "sops-nix.service" ]; WantedBy = [ "mpd.service" ]; }; }; }