aboutsummaryrefslogtreecommitdiff
path: root/modules/media/torrent.nix
blob: 1d2ee7398e0bb07dbbb24fc6028d46217cd924f4 (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
{ pkgs, settings, ... }:
{
  environment.systemPackages = with pkgs; [
    tremc
  ];

  services.transmission = {
    enable = true;
    group = settings.media.group;
    openRPCPort = true;
    settings = {
      "download-dir" = settings.media.downloadsDir;
      "download-queue-enabled" = true;
      "download-queue-size" = 5;
      "peer-port" = 51413;
      "peer-port-random-high" = 65535;
      "peer-port-random-low" = 49152;
      "prefetch-enabled" = true;
      "rename-partial-files" = true;
      "rpc-authentication-required" = false;
      "rpc-bind-address" = if settings.network.exposeTransmissionRPC then "0.0.0.0" else "127.0.0.1";
      "rpc-enabled" = true;
      "rpc-port" = settings.network.ports.transmissionRPC;
      "rpc-whitelist-enabled" = false;
      "script-torrent-done-enabled" = false;
      "start-added-torrents" = true;
      "trash-original-torrent-files" = false;
      "umask" = 18;
      "utp-enabled" = true;
    };
  };

  systemd.services.transmission.unitConfig = {
    RequiresMountsFor = settings.media.baseDir;
  };
}