Merge pull request #113714 from ilian/steam-firewall
nixos/steam: Add port forwarding options
This commit is contained in:
commit
f38b9b258f
1 changed files with 31 additions and 1 deletions
|
@ -12,7 +12,25 @@ let
|
||||||
else [ package32 ] ++ extraPackages32;
|
else [ package32 ] ++ extraPackages32;
|
||||||
};
|
};
|
||||||
in {
|
in {
|
||||||
options.programs.steam.enable = mkEnableOption "steam";
|
options.programs.steam = {
|
||||||
|
enable = mkEnableOption "steam";
|
||||||
|
|
||||||
|
remotePlay.openFirewall = mkOption {
|
||||||
|
type = types.bool;
|
||||||
|
default = false;
|
||||||
|
description = ''
|
||||||
|
Open ports in the firewall for Steam Remote Play.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
dedicatedServer.openFirewall = mkOption {
|
||||||
|
type = types.bool;
|
||||||
|
default = false;
|
||||||
|
description = ''
|
||||||
|
Open ports in the firewall for Source Dedicated Server.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
hardware.opengl = { # this fixes the "glXChooseVisual failed" bug, context: https://github.com/NixOS/nixpkgs/issues/47932
|
hardware.opengl = { # this fixes the "glXChooseVisual failed" bug, context: https://github.com/NixOS/nixpkgs/issues/47932
|
||||||
|
@ -27,6 +45,18 @@ in {
|
||||||
hardware.steam-hardware.enable = true;
|
hardware.steam-hardware.enable = true;
|
||||||
|
|
||||||
environment.systemPackages = [ steam steam.run ];
|
environment.systemPackages = [ steam steam.run ];
|
||||||
|
|
||||||
|
networking.firewall = lib.mkMerge [
|
||||||
|
(mkIf cfg.remotePlay.openFirewall {
|
||||||
|
allowedTCPPorts = [ 27036 ];
|
||||||
|
allowedUDPPortRanges = [ { from = 27031; to = 27036; } ];
|
||||||
|
})
|
||||||
|
|
||||||
|
(mkIf cfg.dedicatedServer.openFirewall {
|
||||||
|
allowedTCPPorts = [ 27015 ]; # SRCDS Rcon port
|
||||||
|
allowedUDPPorts = [ 27015 ]; # Gameplay traffic
|
||||||
|
})
|
||||||
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
meta.maintainers = with maintainers; [ mkg20001 ];
|
meta.maintainers = with maintainers; [ mkg20001 ];
|
||||||
|
|
Loading…
Reference in a new issue