vuls: init at 0.27.0
[NixPkgs.git] / nixos / modules / services / misc / prowlarr.nix
blobe37f0dc36d146c6476539029a2945bae9d18b512
1 { config, pkgs, lib, ... }:
3 with lib;
5 let
6   cfg = config.services.prowlarr;
8 in
10   options = {
11     services.prowlarr = {
12       enable = mkEnableOption "Prowlarr, an indexer manager/proxy for Torrent trackers and Usenet indexers";
14       package = mkPackageOption pkgs "prowlarr" { };
16       openFirewall = mkOption {
17         type = types.bool;
18         default = false;
19         description = "Open ports in the firewall for the Prowlarr web interface.";
20       };
21     };
22   };
24   config = mkIf cfg.enable {
25     systemd.services.prowlarr = {
26       description = "Prowlarr";
27       after = [ "network.target" ];
28       wantedBy = [ "multi-user.target" ];
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       environment.HOME = "/var/empty";
38     };
40     networking.firewall = mkIf cfg.openFirewall {
41       allowedTCPPorts = [ 9696 ];
42     };
43   };