nix/nixos/hosts/framework-server/rdesktop.nix
2023-12-05 19:46:05 +09:00

43 lines
No EOL
1.2 KiB
Nix

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