{ config, lib, pkgs, ... }: let inherit (lib) mkIf; cfg = config.pepe.services.prowlarr; in { options.pepe.services.prowlarr = with lib; { enable = mkEnableOption "Enable prowlarr"; package = mkPackageOption pkgs "prowlarr" { }; domain = mkOption { type = types.str; default = null; }; }; config = mkIf cfg.enable { services.prowlarr = { enable = true; package = cfg.package; }; architect.vhost.${cfg.domain} = with config.architect.networks; { dnsInterfaces = [ "tailscale" "lan" ]; locations."/" = { port = 9696; allowLan = true; proxyWebsockets = true; allow = [ tailscale.net ]; }; }; pepe.core.media.groupMembers = mkIf config.pepe.core.media.enable [ "prowlarr" ]; }; }