at 23.11-beta 954 B view raw
1{ config, pkgs, lib, ... }: 2 3with lib; 4 5let 6 cfg = config.services.prowlarr; 7 8in 9{ 10 options = { 11 services.prowlarr = { 12 enable = mkEnableOption (lib.mdDoc "Prowlarr"); 13 14 package = mkPackageOptionMD pkgs "prowlarr" { }; 15 16 openFirewall = mkOption { 17 type = types.bool; 18 default = false; 19 description = lib.mdDoc "Open ports in the firewall for the Prowlarr web interface."; 20 }; 21 }; 22 }; 23 24 config = mkIf cfg.enable { 25 systemd.services.prowlarr = { 26 description = "Prowlarr"; 27 after = [ "network.target" ]; 28 wantedBy = [ "multi-user.target" ]; 29 30 serviceConfig = { 31 Type = "simple"; 32 DynamicUser = true; 33 StateDirectory = "prowlarr"; 34 ExecStart = "${lib.getExe cfg.package} -nobrowser -data=/var/lib/prowlarr"; 35 Restart = "on-failure"; 36 }; 37 }; 38 39 networking.firewall = mkIf cfg.openFirewall { 40 allowedTCPPorts = [ 9696 ]; 41 }; 42 }; 43}