{ lib, ... }: { networking.nat.forwardPorts = [ { destination = "192.168.100.11:51506"; proto = "tcp"; sourcePort = 51506; } { destination = "192.168.100.11:51506"; proto = "udp"; sourcePort = 51506; } ]; fileSystems."/mnt/zbigdata/seedbox_test" = { device = "zbigdata/seedbox_test"; fsType = "zfs"; }; containers.seedbox-test = { autoStart = true; privateNetwork = true; hostAddress = "10.175.197.82"; localAddress = "192.168.100.11"; bindMounts = { "/home" = { hostPath = "/mnt/zbigdata/seedbox_test"; isReadOnly = false; }; }; config = { config, pkgs, ... }: { system.stateVersion = "24.05"; networking = { firewall = { enable = true; }; useHostResolvConf = lib.mkForce false; }; services.resolved.enable = true; # Custom stuff environment.systemPackages = [ pkgs.qbittorrent-nox ]; networking.firewall = { allowedTCPPorts = [ 51506 8888 ]; allowedUDPPorts = [ 51506 ]; }; systemd.services.qbittorrent = { after = [ "network.target" ]; description = "qBittorrent Daemon"; wantedBy = [ "multi-user.target" ]; path = [ pkgs.qbittorrent-nox ]; serviceConfig = { ExecStart = '' ${pkgs.qbittorrent-nox}/bin/qbittorrent-nox \ --profile=/home/test/ \ --webui-port=8888 ''; Restart = "on-success"; User = "test"; Group = "test"; UMask = "0002"; LimitNOFILE = 8192; }; }; users.groups.test = {}; users.users.test = { group = "test"; isNormalUser = true; home = "/home/test"; }; }; }; }