This repository has no description
1.8 kB
56 lines
1{ config, pkgs, ... }: let
2 torrentport = 56709; # port forwarded in airvpn webinterface
3in {
4 imports = [
5 ../../2configs
6 ../../2configs/retiolum.nix
7 ../../2configs/services/flix
8 ];
9
10 services.transmission.settings.peer-port = torrentport;
11 krebs.build.host = config.krebs.hosts.yellow;
12
13 krebs.sync-containers3.inContainer = {
14 enable = true;
15 pubkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIN737BAP36KiZO97mPKTIUGJUcr97ps8zjfFag6cUiYL";
16 };
17
18 networking.useHostResolvConf = false;
19 networking.useNetworkd = true;
20
21 systemd.services.transmission-netns = {
22 wantedBy = [ "multi-user.target" ];
23 path = [
24 pkgs.iproute2
25 pkgs.wireguard-tools
26 ];
27 script = ''
28 set -efux
29 ip netns delete transmission || :
30 ip netns add transmission
31 ip -n transmission link set lo up
32 ip link add airvpn type wireguard
33 ip link set airvpn netns transmission
34 ip -n transmission addr add 10.176.43.231/32 dev airvpn
35 ip -n transmission addr add fd7d:76ee:e68f:a993:41b3:846b:d271:30d8/128 dev airvpn
36 ip netns exec transmission wg syncconf airvpn <(wg-quick strip /etc/secrets/airvpn.conf)
37 ip -n transmission link set airvpn up
38 ip -n transmission route add default dev airvpn
39 ip link add t1 type veth peer name t2
40 ip link set t1 netns transmission
41 ip addr add 128.0.0.2/30 dev t2
42 ip link set t2 up
43 ip -n transmission addr add 128.0.0.1/30 dev t1
44 ip -n transmission link set t1 up
45 '';
46 serviceConfig = {
47 RemainAfterExit = true;
48 Type = "oneshot";
49 };
50 };
51
52 systemd.services.transmission = {
53 after = [ "transmission-netns.service" ];
54 serviceConfig.NetworkNamespacePath = "/var/run/netns/transmission";
55 };
56}