fix(security): tighten desktop remote access

This commit is contained in:
Ryan Yin
2026-09-01 20:20:51 +08:00
parent 13436c0c31
commit f766dcc24f
9 changed files with 39 additions and 12 deletions
@@ -3,5 +3,12 @@
outputs,
}:
lib.genAttrs (builtins.attrNames outputs.nixosConfigurations) (
name: name == "ai-niri" || name == "shoukei-niri"
name:
let
isDesktop = name == "ai-niri" || name == "shoukei-niri";
in
{
X11Forwarding = isDesktop;
PermitRootLogin = if isDesktop then "no" else "prohibit-password";
}
)
@@ -3,5 +3,11 @@
outputs,
}:
lib.genAttrs (builtins.attrNames outputs.nixosConfigurations) (
name: outputs.nixosConfigurations.${name}.config.services.openssh.settings.X11Forwarding
name:
let
settings = outputs.nixosConfigurations.${name}.config.services.openssh.settings;
in
{
inherit (settings) PermitRootLogin X11Forwarding;
}
)
@@ -2,7 +2,8 @@
loadsVirtualDisplay = true;
createsVirtualDisplay = true;
niriUsesIntelRenderer = true;
sunshineUserHasInputAccess = true;
sunshineUserHasInputAccess = false;
sunshineHasSysAdmin = false;
sunshineStartsAfterNiri = true;
sunshineWaitsForNiriOutput = true;
}
@@ -12,6 +12,7 @@ in
createsVirtualDisplay = lib.hasInfix "options vkms create_default_dev=1" cfg.boot.extraModprobeConfig;
niriUsesIntelRenderer = lib.hasInfix "/dev/dri/by-path/pci-0000:00:02.0-render" niriHardware;
sunshineUserHasInputAccess = builtins.elem "input" cfg.users.users.ryan.extraGroups;
sunshineHasSysAdmin = cfg.services.sunshine.capSysAdmin;
sunshineStartsAfterNiri = builtins.elem "niri.service" cfg.systemd.user.services.sunshine.after;
sunshineWaitsForNiriOutput = lib.hasInfix "niri msg outputs" cfg.systemd.user.services.sunshine.preStart;
}
@@ -3,5 +3,12 @@
outputs,
}:
lib.genAttrs (builtins.attrNames outputs.nixosConfigurations) (
name: name == "ai-niri" || name == "shoukei-niri"
name:
let
isDesktop = name == "ai-niri" || name == "shoukei-niri";
in
{
X11Forwarding = isDesktop;
PermitRootLogin = if isDesktop then "no" else "prohibit-password";
}
)
@@ -3,5 +3,11 @@
outputs,
}:
lib.genAttrs (builtins.attrNames outputs.nixosConfigurations) (
name: outputs.nixosConfigurations.${name}.config.services.openssh.settings.X11Forwarding
name:
let
settings = outputs.nixosConfigurations.${name}.config.services.openssh.settings;
in
{
inherit (settings) PermitRootLogin X11Forwarding;
}
)