diff options
Diffstat (limited to 'modules/desktop/steam.nix')
| -rw-r--r-- | modules/desktop/steam.nix | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/modules/desktop/steam.nix b/modules/desktop/steam.nix new file mode 100644 index 0000000..f19130c --- /dev/null +++ b/modules/desktop/steam.nix @@ -0,0 +1,50 @@ +{config, pkgs,lib, ...}: { + options.addons = { + steam.enable = lib.mkEnableOption "Enable steam on this machine"; + }; + + config = lib.mkIf config.addons.steam.enable (lib.mkMerge [ + ({ + assertions = [ + { + assertion = config.addons.desktop.enable; + message = "You need a desktop environment to enable Steam!"; + } + ]; + programs.gamescope = { + enable = true; + capSysNice = true; + }; + programs.steam = { + enable = true; + # Done according to the wiki, talks about some unexpected values in a lambda? + # Doesn't seem to be how overrides work + # TODO: Figure out how overrides work + # package = pkgs.steam.override { + # # withPrimus = true; + # extraPackages = with pkgs; [bumblebee glxinfo]; + # }; + + # Gamescope + gamescopeSession.enable = true; + + # Open firewall + remotePlay.openFirewall = true; + dedicatedServer.openFirewall = true; + localNetworkGameTransfers.openFirewall = true; + }; + + # Enable Appimage for some steam games + programs.appimage.enable = true; + programs.appimage.binfmt = true; + }) + + (lib.mkIf config.addons.dssktop.x11.enable { + + }) + (lib.mkIf config.addons.dssktop.wayland.enable { + + }) + + ]); +} |
