diff options
| author | Leander Scherer <leander@schererleander.de> | 2026-01-08 18:18:10 +0100 |
|---|---|---|
| committer | Leander Scherer <leander@schererleander.de> | 2026-01-08 19:08:13 +0100 |
| commit | eb343620550798ee7ed161cba66e107e73120307 (patch) | |
| tree | 66cd12312e6897480f476e36bb55be0f35a7af03 /modules/hosts | |
| parent | 6d7a1dfc571aeddf523e0f2c5719b12654666ad6 (diff) | |
feat(modules): setup a module for steam
Diffstat (limited to 'modules/hosts')
| -rw-r--r-- | modules/hosts/default.nix | 1 | ||||
| -rw-r--r-- | modules/hosts/steam/default.nix | 39 |
2 files changed, 40 insertions, 0 deletions
diff --git a/modules/hosts/default.nix b/modules/hosts/default.nix index 327e3de..70597cd 100644 --- a/modules/hosts/default.nix +++ b/modules/hosts/default.nix @@ -9,5 +9,6 @@ ./printer ./server ./wooting + ./steam ]; } diff --git a/modules/hosts/steam/default.nix b/modules/hosts/steam/default.nix new file mode 100644 index 0000000..05a3703 --- /dev/null +++ b/modules/hosts/steam/default.nix @@ -0,0 +1,39 @@ +{ + config, + pkgs, + lib, + ... +}: +let + cfg = config.nx.steam; + inherit (lib) mkOption types mkIf; +in +{ + options.nx.steam = { + enable = mkOption { + description = "Digital distribution platfrom from vavle"; + type = types.bool; + default = false; + }; + useProtontricks = mkOption { + description = "Whether to enable protontricks"; + type = types.bool; + default = true; + }; + useGamescope = mkOption { + description = "SteamOS session compositing window manager"; + type = types.bool; + default = false; + }; + }; + config = mkIf cfg.enable { + programs.steam = { + enable = true; + protontricks.enable = cfg.useProtontricks; + gamescopeSession.enable = cfg.useGamescope; + extraCompatPackages = with pkgs; [ + proton-ge-bin + ]; + }; + }; +} |
