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
+11 -10
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
# module (because a user and group with those names exists).
User = globals.prowlarr.user; User = globals.prowlarr.user;
Group = globals.prowlarr.group; Group = globals.prowlarr.group;
ExecStart = "${lib.getExe cfg.package} -nobrowser -data=${cfg.stateDir}"; ExecStart = mkForce "${lib.getExe cfg.package} -nobrowser -data=${cfg.stateDir}";
Restart = "on-failure"; ReadWritePaths = [cfg.stateDir];
};
}; };
networking.firewall = mkIf cfg.openFirewall { networking.firewall = mkIf cfg.openFirewall {