{ pkgs, ... }: { # Enabling Gnome causes the machien to sleep. Disable all of these. systemd.targets.sleep.enable = false; systemd.targets.suspend.enable = false; systemd.targets.hibernate.enable = false; systemd.targets.hybrid-sleep.enable = false; services.xrdp = { enable = true; defaultWindowManager = "${pkgs.gnome.gnome-session}/bin/gnome-session"; openFirewall = true; # confDir = "/etc/xrdp/conf"; }; environment.systemPackages = [ pkgs.xrdp ]; # XRDP needs IPv6 disabled to function. boot.kernel.sysctl = { "net.ipv6.conf.enp0s13f0u1.disable_ipv6" = true; "net.ipv6.conf.all.disable_ipv6" = true; "net.ipv6.conf.wlp170s0.disable_ipv6" = true; }; # https://nixos.wiki/wiki/Polkit security.polkit.extraConfig = '' polkit.addRule(function(action, subject) { if ( subject.isInGroup("users") && ( action.id == "org.freedesktop.login1.reboot" || action.id == "org.freedesktop.login1.reboot-multiple-sessions" || action.id == "org.freedesktop.login1.power-off" || action.id == "org.freedesktop.login1.power-off-multiple-sessions" ) ) { return polkit.Result.YES; } }) ''; }