{ 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); }; }