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

let
  hostCfg = config.hosts.ni;
  cfg = hostCfg.setups.music;
in
{
  options.hosts.ni.setups.music.enable =
    lib.mkEnableOption "music streaming and organizing setup";

  config = lib.mkIf cfg.enable {
    # My portable music streaming server.
    services.gonic = {
      enable = true;
      settings = {
        listen-addr = "localhost:4747";
        cache-path = "/var/cache/gonic";
        music-path = [
          "/srv/music"
        ];
        podcast-path = "/var/cache/gonic/podcasts";

        jukebox-enabled = true;

        scan-interval = 1;
        scan-at-start-enabled = true;
      };
    };
  };
}