prowlarr: use the NixOS module as much as possible

This brings `prowlarr` in line with how `sonarr` and `radarr` are
set up, which (among other things) lets users use `services.prowlarr.settings`
to e.g. configure Postgres or URL base.
This commit is contained in:
Edward Pierzchalski
2025-10-20 16:37:12 +11:00
parent c6cd890fa0
commit 9a67194bdf
+13 -12
View File
@@ -84,19 +84,20 @@ in {
"d '${cfg.stateDir}' 0700 ${globals.prowlarr.user} root - -" "d '${cfg.stateDir}' 0700 ${globals.prowlarr.user} root - -"
]; ];
systemd.services.prowlarr = { services.prowlarr = {
description = "prowlarr"; enable = cfg.enable;
after = ["network.target"]; package = cfg.package;
wantedBy = ["multi-user.target"]; settings.server.port = cfg.port;
environment.PROWLARR__SERVER__PORT = builtins.toString cfg.port; openFirewall = cfg.openFirewall;
};
serviceConfig = { systemd.services.prowlarr.serviceConfig = {
Type = "simple"; # `User` and `Group` override `DynamicUser = true` from the NixOS Prowlarr
User = globals.prowlarr.user; # module (because a user and group with those names exists).
Group = globals.prowlarr.group; User = globals.prowlarr.user;
ExecStart = "${lib.getExe cfg.package} -nobrowser -data=${cfg.stateDir}"; Group = globals.prowlarr.group;
Restart = "on-failure"; ExecStart = mkForce "${lib.getExe cfg.package} -nobrowser -data=${cfg.stateDir}";
}; ReadWritePaths = [cfg.stateDir];
}; };
networking.firewall = mkIf cfg.openFirewall { networking.firewall = mkIf cfg.openFirewall {