From 2efa87f90c00e5bd9bc732635ccf28de6200a646 Mon Sep 17 00:00:00 2001 From: Joshua Yuen Date: Mon, 28 Sep 2026 20:42:59 -0400 Subject: [PATCH] Add steam module --- hosts/laptop/default.nix | 2 ++ modules/nixos/default.nix | 1 + modules/nixos/steam.nix | 20 ++++++++++++++++++++ modules/options/default.nix | 1 + modules/options/steam.nix | 13 +++++++++++++ profiles/desktop/default.nix | 2 ++ 6 files changed, 39 insertions(+) create mode 100644 modules/nixos/steam.nix create mode 100644 modules/options/steam.nix diff --git a/hosts/laptop/default.nix b/hosts/laptop/default.nix index a3b5cd5..6fea6df 100644 --- a/hosts/laptop/default.nix +++ b/hosts/laptop/default.nix @@ -18,4 +18,6 @@ modules.opencode.enable = true; modules.display.scale = 2; + + modules.steam.remotePlay.enable = true; } diff --git a/modules/nixos/default.nix b/modules/nixos/default.nix index b4d8746..e1eb223 100644 --- a/modules/nixos/default.nix +++ b/modules/nixos/default.nix @@ -17,6 +17,7 @@ ./plasma.nix ./sddm.nix ./services.nix + ./steam.nix ./stylix.nix ./system.nix ./tailscale.nix diff --git a/modules/nixos/steam.nix b/modules/nixos/steam.nix new file mode 100644 index 0000000..6938b9c --- /dev/null +++ b/modules/nixos/steam.nix @@ -0,0 +1,20 @@ +{ + config, + lib, + ... +}: +with lib; +let + cfg = config.modules.steam; +in +{ + config = mkIf cfg.enable { + programs.steam = { + enable = true; + remotePlay.openFirewall = cfg.remotePlay.enable; + dedicatedServer.openFirewall = cfg.remotePlay.enable; + }; + + hardware.steam-hardware.enable = true; + }; +} diff --git a/modules/options/default.nix b/modules/options/default.nix index 675561c..b888a83 100644 --- a/modules/options/default.nix +++ b/modules/options/default.nix @@ -16,6 +16,7 @@ ./plasma.nix ./screenshot.nix ./shell.nix + ./steam.nix ./system.nix ./tailscale.nix ./vm.nix diff --git a/modules/options/steam.nix b/modules/options/steam.nix new file mode 100644 index 0000000..bb2f950 --- /dev/null +++ b/modules/options/steam.nix @@ -0,0 +1,13 @@ +{ + lib, + ... +}: +with lib; +{ + options.modules.steam = { + enable = mkEnableOption "Steam"; + remotePlay = { + enable = mkEnableOption "Steam Remote Play firewall rules"; + }; + }; +} diff --git a/profiles/desktop/default.nix b/profiles/desktop/default.nix index ee48f5d..4b763dc 100644 --- a/profiles/desktop/default.nix +++ b/profiles/desktop/default.nix @@ -29,4 +29,6 @@ modules.screenshot.enable = true; modules.tailscale.enable = true; + + modules.steam.enable = true; }