aboutsummaryrefslogtreecommitdiff
path: root/modules/hosts/steam
diff options
context:
space:
mode:
authorLeander Scherer <leander@schererleander.de>2026-01-08 18:18:10 +0100
committerLeander Scherer <leander@schererleander.de>2026-01-08 19:08:13 +0100
commiteb343620550798ee7ed161cba66e107e73120307 (patch)
tree66cd12312e6897480f476e36bb55be0f35a7af03 /modules/hosts/steam
parent6d7a1dfc571aeddf523e0f2c5719b12654666ad6 (diff)
feat(modules): setup a module for steam
Diffstat (limited to 'modules/hosts/steam')
-rw-r--r--modules/hosts/steam/default.nix39
1 files changed, 39 insertions, 0 deletions
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
+ ];
+ };
+ };
+}