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

with lib;

let

  cfg = config.ccchh.services.audio;

in

{
  imports = [
    ./librespot.nix
    ./mpd.nix
    ./pipewire.nix
    ./shairport-sync.nix
  ];

  options = {
    ccchh.services.audio = {
      enable = mkEnableOption (lib.mdDoc "audio");

      name = mkOption {
        type = types.str;
        example = "Audio Living Room";
        default = config.networking.hostName;
        defaultText = literalExpression "config.networking.HostName";
        description = lib.mdDoc ''
          The name to use for display in the various audio services. For example
          the name of the displayed Spotify speaker or AirPlay audio device.
        '';
      };
    };
  };
}