{ config, lib, ... }: { options.sysconfig.virtualization.rustdesk.enable = lib.options.mkOption { type = lib.types.bool; default = false; }; config = lib.mkIf config.sysconfig.virtualization.rustdesk.enable { /*networking = { firewall.allowedTCPPorts = [ 21115 21116 21117 21118 21119 ]; firewall.allowedUDPPorts = [ 21116 ]; };*/ containers.rustdesk = { autoStart = true; privateNetwork = true; hostAddress = "192.168.100.10"; localAddress = "192.168.100.27"; /* forwardPorts = [ { containerPort = 21115; hostPort = 21115; protocol = "tcp"; } { containerPort = 21116; hostPort = 21116; protocol = "tcp"; } { containerPort = 21116; hostPort = 21116; protocol = "udp"; } { containerPort = 21117; hostPort = 21117; protocol = "tcp"; } { containerPort = 21118; hostPort = 21118; protocol = "tcp"; } { containerPort = 21119; hostPort = 21119; protocol = "tcp"; } ];*/ config = { services.rustdesk-server = { enable = true; openFirewall = true; relay = { enable = true; extraArgs = [ "-k" "AAAAC3NzaC1lZDI1NTE5AAAAIIPztDjwgB3xCza5+p5z1jpGVYoVQNl3fqD69pPCm0NA" ]; }; signal = { enable = true; #relayHosts = [ "blunkall.us" ]; relayHosts = [ "192.168.100.27" ]; extraArgs = [ "-k" "AAAAC3NzaC1lZDI1NTE5AAAAIIPztDjwgB3xCza5+p5z1jpGVYoVQNl3fqD69pPCm0NA" ]; }; }; system.stateVersion = "24.05"; }; }; }; }