at 23.11-pre 902 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 openFirewall = mkOption { 15 type = types.bool; 16 default = false; 17 description = lib.mdDoc "Open ports in the firewall for the Prowlarr web interface."; 18 }; 19 }; 20 }; 21 22 config = mkIf cfg.enable { 23 systemd.services.prowlarr = { 24 description = "Prowlarr"; 25 after = [ "network.target" ]; 26 wantedBy = [ "multi-user.target" ]; 27 28 serviceConfig = { 29 Type = "simple"; 30 DynamicUser = true; 31 StateDirectory = "prowlarr"; 32 ExecStart = "${pkgs.prowlarr}/bin/Prowlarr -nobrowser -data=/var/lib/prowlarr"; 33 Restart = "on-failure"; 34 }; 35 }; 36 37 networking.firewall = mkIf cfg.openFirewall { 38 allowedTCPPorts = [ 9696 ]; 39 }; 40 }; 41}