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
┌─ modules/home/nixos/gaming/default.nix ────────────────────────────────────┐
│ 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 = { │
└────────────────────────────────────────────────────────────────────────────────────┘
┌─ ...home/nixos/gaming/default.nix ───┐
│ 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 = { │
└──────────────────────────────────────────────┘
┌─ modules/home/nixos/gaming/lutris.nix ─────────────────────────────────────┐
│ 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 │
│ + ; │
│ + }; │
│ + }; │
│ + }; │
│ +} │
└────────────────────────────────────────────────────────────────────────────────────┘
┌─ .../home/nixos/gaming/lutris.nix ───┐
│ 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 │
│ + ; │
│ + }; │
│ + }; │
│ + }; │
│ +} │
└──────────────────────────────────────────────┘
┌─ modules/nixos/workstation/gaming/default.nix ─────────────────────────────┐
│ 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 │
│ ]; │
│ } │
└────────────────────────────────────────────────────────────────────────────────────┘
┌─ ...orkstation/gaming/default.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 │
│ ]; │
│ } │
└──────────────────────────────────────────────┘
┌─ modules/nixos/workstation/gaming/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"; │
│ + } │
│ + ]; │
│ + }; │
│ +} │
└────────────────────────────────────────────────────────────────────────────────────┘
┌─ .../workstation/gaming/esync.nix ───┐
│ 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"; │
│ + } │
│ + ]; │
│ + }; │
│ +} │
└──────────────────────────────────────────────┘
┌─ modules/nixos/workstation/gaming/steam.nix ───────────────────────────────┐
│ 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]; │
│ }; │
│ }; │
└────────────────────────────────────────────────────────────────────────────────────┘
┌─ .../workstation/gaming/steam.nix ───┐
│ 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