# Links & Resources:
# - https://mpd.readthedocs.io/en/stable/user.html

{ config, pkgs, lib, ... }:

with lib;

let

  cfg = config.ccchh.services.audio;

in

{
  config = mkIf cfg.enable {
    services.mpd = {
      enable = true;
      network.listenAddress = "any";
      extraConfig = ''
        audio_output {
          type "pipewire"
          name "Pipewire"
          mixer_type "software"
        }
        restore_paused "yes"
      '';
    };

    users.users.mpd.extraGroups = [ "pipewire" ];

    networking.firewall = {
      allowedTCPPorts = [ 6600 ];
    };
  };
}