{ 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;
      discord.enable = true;
      scrobbling = {
        enable = true;
        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" ];
  };
}

