1{ config, pkgs, lib, mono, ... }:
2
3with lib;
4
5let
6 cfg = config.services.radarr;
7in
8{
9 options = {
10 services.radarr = {
11 enable = mkEnableOption "Radarr";
12 };
13 };
14
15 config = mkIf cfg.enable {
16 systemd.services.radarr = {
17 description = "Radarr";
18 after = [ "network.target" ];
19 wantedBy = [ "multi-user.target" ];
20 preStart = ''
21 test -d /var/lib/radarr/ || {
22 echo "Creating radarr data directory in /var/lib/radarr/"
23 mkdir -p /var/lib/radarr/
24 }
25 chown -R radarr:radarr /var/lib/radarr/
26 chmod 0700 /var/lib/radarr/
27 '';
28
29 serviceConfig = {
30 Type = "simple";
31 User = "radarr";
32 Group = "radarr";
33 PermissionsStartOnly = "true";
34 ExecStart = "${pkgs.radarr}/bin/Radarr";
35 Restart = "on-failure";
36 };
37 };
38
39 users.extraUsers.radarr = {
40 uid = config.ids.uids.radarr;
41 home = "/var/lib/radarr";
42 group = "radarr";
43 };
44 users.extraGroups.radarr.gid = config.ids.gids.radarr;
45
46 };
47}