aboutsummaryrefslogtreecommitdiff
path: root/modules/tlmp/rtorrent.nix
blob: bf72a2a47d023155fd5cdd8bc820976749967f37 (plain)
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
{ config, lib, pkgs, ... }:

{
  systemd.services = {
    wireguard-mullvad = {
      bindsTo = [ "netns@mullvad.service" ];
      after = [ "netns@mullvad.service" ];
    };

    rtorrent = {
      bindsTo = [ "wireguard-mullvad.service" ];
      after = [ "wireguard-mullvad.service" ];
      unitConfig.JoinsNamespaceOf = "netns@mullvad.service";
      serviceConfig.PrivateNetwork = true;
    };
  };

  networking.wireguard.interfaces = {
    mullvad = { # Caring Wasp
      ips = [ "10.67.4.3/32" "fc00:bbbb:bbbb:bb01::4:402/128" ];
      privateKeyFile = "/root/wireguard/privkey";
      interfaceNamespace = "mullvad";

      peers = [
        { # de-fra-wg-006.relays.mullvad.net
          publicKey = "nAF0wrLG2+avwQfqxnXhBGPUBCvc3QCqWKH4nK5PfEU=";
          endpoint = "185.209.196.76:51820";
          allowedIPs = [ "0.0.0.0/0" "::/0" ];
        }
      ];
    };
  };

  services.rtorrent = {
    enable = true;
    # dataDir = "/mnt/media/download";
    user = "media";
    group = "media";

    configText = lib.mkForce (lib.readFile ./rtorrent.rc);
  };
}