aboutsummaryrefslogtreecommitdiff
path: root/modules/media/default.nix
blob: 755f18ec6fc093e13aefdaf0c7f52e42bc6bd6a6 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
{ settings, ... }:
{
  imports = [ ./torrent.nix ];

  systemd.tmpfiles.rules = [
    "d ${settings.media.baseDir} 0755 - ${settings.media.group} - -"
    "d ${settings.media.downloadsDir} 0770 transmission ${settings.media.group} - -"
    "d ${settings.media.tvDir} 0770 sonarr ${settings.media.group} - -"
    "d ${settings.media.moviesDir} 0770 radarr ${settings.media.group} - -"
    "d ${settings.media.musicDir} 0770 lidarr ${settings.media.group} - -"
  ];
  users.groups.${settings.media.group} = { };
  users.users.bacchus.extraGroups = [ settings.media.group ];

  services.sonarr = {
    enable = true;
    openFirewall = true;
    group = settings.media.group;
    settings = {
      server.port = settings.network.ports.sonarr;
      auth.enabled = false;
    };
  };

  services.radarr = {
    enable = true;
    openFirewall = true;
    group = settings.media.group;
    settings = {
      server.port = settings.network.ports.radarr;
      auth.enabled = false;
    };
  };

  services.lidarr = {
    enable = true;
    openFirewall = true;
    group = settings.media.group;
    settings = {
      server.port = settings.network.ports.lidarr;
    };
  };

  services.prowlarr = {
    enable = true;
    openFirewall = true;
    settings = {
      server.port = settings.network.ports.prowlarr;
    };
  };

  services.jellyfin = {
    enable = true;
    openFirewall = true;
    group = settings.media.group;
  };

  services.jellyseerr = {
    enable = true;
    openFirewall = true;
    port = settings.network.ports.jellyseerr;
  };
}