diff --git a/devices/pc/default.nix b/devices/pc/default.nix index 9f8eacf6..dc2f218a 100644 --- a/devices/pc/default.nix +++ b/devices/pc/default.nix @@ -135,6 +135,7 @@ inputs: }; gamemode = { enable = true; drmDevice = 0; }; slurm = { enable = true; cpu = { cores = 16; threads = 2; }; memoryMB = 94208; gpus."4060" = 1; }; + xrdp = { enable = true; hostname = [ "pc.chn.moe" ]; }; }; bugs = [ "xmunet" "backlight" "amdpstate" ]; }; diff --git a/flake.lock b/flake.lock index abfc62b0..c55471b6 100644 --- a/flake.lock +++ b/flake.lock @@ -1583,11 +1583,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1709005833, - "narHash": "sha256-Hr/SbEI2rI+ltnEseIGnJjjP5RroIlTZRC0QDYC5VgM=", + "lastModified": 1709289954, + "narHash": "sha256-3QRSwG/saKRLw7kn/4hOyae5OBtVWxcicoXs30b+BvA=", "owner": "CHN-beta", "repo": "nixpkgs", - "rev": "5e87b7d99f8a2d7837966306ea9d1b42d8fabded", + "rev": "b11a94c935ea08f149a58352901f810263f082d1", "type": "github" }, "original": { diff --git a/modules/services/xrdp.nix b/modules/services/xrdp.nix index e11de2d6..873c6d08 100644 --- a/modules/services/xrdp.nix +++ b/modules/services/xrdp.nix @@ -5,6 +5,7 @@ inputs: enable = mkOption { type = types.bool; default = false; }; port = mkOption { type = types.ints.unsigned; default = 3389; }; hostname = mkOption { type = types.nullOr (types.nonEmptyListOf types.nonEmptyStr); default = null; }; + optimizeForNvidia = mkOption { type = types.bool; default = inputs.config.nixos.hardware.gpu.type == "nvidia"; }; }; config = let @@ -14,7 +15,13 @@ inputs: [ { services.xrdp = - { enable = true; port = xrdp.port; openFirewall = true; defaultWindowManager = "startplasma-x11"; }; + { + enable = true; + package = inputs.pkgs.xrdp.override { inherit (xrdp) optimizeForNvidia; }; + port = xrdp.port; + openFirewall = true; + defaultWindowManager = "startplasma-x11"; + }; } ( mkIf (xrdp.hostname != null)