OOKNET                             [ /  search the index  ]  
──────────────────────────────────────────────────────────────────────────────────────
══════════════════════════════════════════════════════════════════════════════════════
OOKNET   [ /  search  ]  
────────────────────────────────────────────────
════════════════════════════════════════════════
 
HASH      63e385459b2e
DATE      2025-09-30
SUBJECT   gaming: add lutris/esync module
FILES     5 CHANGED
HASH      63e385459b2e
DATE      2025-09-30
SUBJECT   gaming: add lutris/esync module
FILES     5 CHANGED
 

diff --git a/modules/home/nixos/gaming/default.nix b/modules/home/nixos/gaming/def
ault.nix
index 72d6030..10cdcde 100644
--- a/modules/home/nixos/gaming/default.nix
+++ b/modules/home/nixos/gaming/default.nix
@@ -13,6 +13,7 @@ in {
     ./emulation.nix
     ./project-plus
     ./minecraft.nix
+    ./lutris.nix
   ];
   config = mkIf (elem "gaming" profiles) {
     ooknet.binds = {

diff --git a/modules/home/nixos/gaming/defau
lt.nix b/modules/home/nixos/gaming/default.n
ix
index 72d6030..10cdcde 100644
--- a/modules/home/nixos/gaming/default.nix
+++ b/modules/home/nixos/gaming/default.nix
@@ -13,6 +13,7 @@ in {
     ./emulation.nix
     ./project-plus
     ./minecraft.nix
+    ./lutris.nix
   ];
   config = mkIf (elem "gaming" profiles) {
     ooknet.binds = {
 

diff --git a/modules/home/nixos/gaming/lutris.nix b/modules/home/nixos/gaming/lutr
is.nix
new file mode 100644
index 0000000..250d680
--- /dev/null
+++ b/modules/home/nixos/gaming/lutris.nix
@@ -0,0 +1,33 @@
+{
+  lib,
+  osConfig,
+  pkgs,
+  ...
+}: let
+  inherit (lib) mkIf elem;
+  inherit (builtins) attrValues;
+  inherit (osConfig.ooknet.workstation) profiles;
+in {
+  config = mkIf (elem "gaming" profiles) {
+    programs.lutris = {
+      enable = true;
+      steamPackage = osConfig.programs.steam.package;
+      defaultWinePackage = pkgs.proton-ge-bin;
+      protonPackages = [pkgs.proton-ge-bin];
+      winePackages = [
+        pkgs.wineWow64Packages.full
+        pkgs.wineWowPackages.stagingFull
+      ];
+      extraPackages = attrValues {
+        inherit
+          (pkgs)
+          winetricks
+          protontricks
+          gamescope
+          gamemode
+          mangohud
+          ;
+      };
+    };
+  };
+}

diff --git a/modules/home/nixos/gaming/lutri
s.nix b/modules/home/nixos/gaming/lutris.nix
new file mode 100644
index 0000000..250d680
--- /dev/null
+++ b/modules/home/nixos/gaming/lutris.nix
@@ -0,0 +1,33 @@
+{
+  lib,
+  osConfig,
+  pkgs,
+  ...
+}: let
+  inherit (lib) mkIf elem;
+  inherit (builtins) attrValues;
+  inherit (osConfig.ooknet.workstation) pro
files;
+in {
+  config = mkIf (elem "gaming" profiles) {
+    programs.lutris = {
+      enable = true;
+      steamPackage = osConfig.programs.stea
m.package;
+      defaultWinePackage = pkgs.proton-ge-b
in;
+      protonPackages = [pkgs.proton-ge-bin]
;
+      winePackages = [
+        pkgs.wineWow64Packages.full
+        pkgs.wineWowPackages.stagingFull
+      ];
+      extraPackages = attrValues {
+        inherit
+          (pkgs)
+          winetricks
+          protontricks
+          gamescope
+          gamemode
+          mangohud
+          ;
+      };
+    };
+  };
+}
 

diff --git a/modules/nixos/workstation/gaming/default.nix b/modules/nixos/workstat
ion/gaming/default.nix
index b415fc7..282bef8 100644
--- a/modules/nixos/workstation/gaming/default.nix
+++ b/modules/nixos/workstation/gaming/default.nix
@@ -4,5 +4,6 @@
     ./gamemode.nix
     ./switch.nix
     ./emulation.nix
+    ./esync.nix
   ];
 }

diff --git a/modules/nixos/workstation/gamin
g/default.nix b/modules/nixos/workstation/ga
ming/default.nix
index b415fc7..282bef8 100644
--- a/modules/nixos/workstation/gaming/defau
lt.nix
+++ b/modules/nixos/workstation/gaming/defau
lt.nix
@@ -4,5 +4,6 @@
     ./gamemode.nix
     ./switch.nix
     ./emulation.nix
+    ./esync.nix
   ];
 }
 

diff --git a/modules/nixos/workstation/gaming/esync.nix b/modules/nixos/workstatio
n/gaming/esync.nix
new file mode 100644
index 0000000..1a2a1fb
--- /dev/null
+++ b/modules/nixos/workstation/gaming/esync.nix
@@ -0,0 +1,21 @@
+{
+  config,
+  lib,
+  ...
+}: let
+  inherit (config.ooknet.host) admin;
+  inherit (lib) mkIf elem;
+  inherit (config.ooknet.workstation) profiles;
+in {
+  config = mkIf (elem "gaming" profiles) {
+    systemd.settings.Manager.DefaultLimitNOFILE = 524288;
+    security.pam.loginLimits = [
+      {
+        domain = admin.name;
+        type = "hard";
+        item = "nofile";
+        value = "524288";
+      }
+    ];
+  };
+}

diff --git a/modules/nixos/workstation/gamin
g/esync.nix b/modules/nixos/workstation/gami
ng/esync.nix
new file mode 100644
index 0000000..1a2a1fb
--- /dev/null
+++ b/modules/nixos/workstation/gaming/esync
.nix
@@ -0,0 +1,21 @@
+{
+  config,
+  lib,
+  ...
+}: let
+  inherit (config.ooknet.host) admin;
+  inherit (lib) mkIf elem;
+  inherit (config.ooknet.workstation) profi
les;
+in {
+  config = mkIf (elem "gaming" profiles) {
+    systemd.settings.Manager.DefaultLimitNO
FILE = 524288;
+    security.pam.loginLimits = [
+      {
+        domain = admin.name;
+        type = "hard";
+        item = "nofile";
+        value = "524288";
+      }
+    ];
+  };
+}
 

diff --git a/modules/nixos/workstation/gaming/steam.nix b/modules/nixos/workstatio
n/gaming/steam.nix
index ba82cb9..acb2914 100644
--- a/modules/nixos/workstation/gaming/steam.nix
+++ b/modules/nixos/workstation/gaming/steam.nix
@@ -11,6 +11,7 @@ in {
     programs.steam = {
       enable = true;
       package = pkgs.steam-small;
+      protontricks.enable = true;
       extraCompatPackages = [pkgs.proton-ge-bin];
     };
   };

diff --git a/modules/nixos/workstation/gamin
g/steam.nix b/modules/nixos/workstation/gami
ng/steam.nix
index ba82cb9..acb2914 100644
--- a/modules/nixos/workstation/gaming/steam
.nix
+++ b/modules/nixos/workstation/gaming/steam
.nix
@@ -11,6 +11,7 @@ in {
     programs.steam = {
       enable = true;
       package = pkgs.steam-small;
+      protontricks.enable = true;
       extraCompatPackages = [pkgs.proton-ge
-bin];
     };
   };
 
[ BACK TO LOG ]
──────────────────────────────────────────────────────────────────────────────────────
OOKNET
────────────────────────────────────────────────
OOKNET