diff --git a/hosts/lilith-pad/default.nix b/hosts/lilith-pad/default.nix index d9ad309..2869c96 100644 --- a/hosts/lilith-pad/default.nix +++ b/hosts/lilith-pad/default.nix @@ -9,8 +9,6 @@ in desktop.enable = true; home-manager.users."lilith".desktop.touchSupport = true; - gaming.enable = true; - gaming.client-only = true; nfs.client.enable = true; auto_styling.enable = true; diff --git a/system/optional/gaming.nix b/system/optional/gaming.nix index 387ad9d..bd63751 100644 --- a/system/optional/gaming.nix +++ b/system/optional/gaming.nix @@ -4,64 +4,62 @@ lib, ... }: -let - gaming-host = lib.mkIf (!config.gaming.client-only); -in { options.gaming.enable = lib.mkEnableOption "Enable steam and related software"; - options.gaming.client-only = lib.mkEnableOption "Only enable steam, to stream via SteamLink"; - config = lib.mkIf config.gaming.enable { - programs = { - gamescope = gaming-host { + config = + lib.mkIf config.desktop.enable { programs.steam.enable = true; } + // lib.mkIf config.gaming.enable { + programs = { + gamescope = { + enable = true; + capSysNice = true; + }; + + steam = { + enable = true; + gamescopeSession.enable = true; + + remotePlay.openFirewall = true; + dedicatedServer.openFirewall = true; + localNetworkGameTransfers.openFirewall = true; + }; + + gamemode.enable = true; + }; + + hardware.steam-hardware.enable = true; + + environment = { + systemPackages = with pkgs; [ + mangohud + protonup-ng + protontricks + ]; + }; + + systemd.user.services.steam = { enable = true; - capSysNice = true; + description = "Open Steam in the background at boot"; + serviceConfig = { + ExecStart = "${pkgs.steam}/bin/steam -nochatui -nofriendsui -silent %U"; + wantedBy = [ "graphical-session.target" ]; + Restart = "on-failure"; + RestartSec = "5s"; + }; }; - steam = { - enable = true; - gamescopeSession.enable = gaming-host true; - - remotePlay.openFirewall = gaming-host true; - dedicatedServer.openFirewall = gaming-host true; - localNetworkGameTransfers.openFirewall = gaming-host true; - }; - - gamemode.enable = gaming-host true; + # SteamVR kernel patch for AMDGPU + # boot.kernelPatches = [ + # { + # name = "amdgpu-ignore-ctx-privileges"; + # patch = pkgs.fetchpatch { + # name = "cap_sys_nice_begone.patch"; + # url = "https://github.com/Frogging-Family/community-patches/raw/master/linux61-tkg/cap_sys_nice_begone.mypatch"; + # hash = "sha256-Y3a0+x2xvHsfLax/uwycdJf3xLxvVfkfDVqjkxNaYEo="; + # }; + # } + # ]; }; - - hardware.steam-hardware.enable = gaming-host true; - - environment = gaming-host { - systemPackages = with pkgs; [ - mangohud - protonup-ng - protontricks - ]; - }; - - systemd.user.services.steam = gaming-host { - enable = true; - description = "Open Steam in the background at boot"; - serviceConfig = { - ExecStart = "${pkgs.steam}/bin/steam -nochatui -nofriendsui -silent %U"; - wantedBy = [ "graphical-session.target" ]; - Restart = "on-failure"; - RestartSec = "5s"; - }; - }; - - # SteamVR kernel patch for AMDGPU - # boot.kernelPatches = gaming-host [ - # { - # name = "amdgpu-ignore-ctx-privileges"; - # patch = pkgs.fetchpatch { - # name = "cap_sys_nice_begone.patch"; - # url = "https://github.com/Frogging-Family/community-patches/raw/master/linux61-tkg/cap_sys_nice_begone.mypatch"; - # hash = "sha256-Y3a0+x2xvHsfLax/uwycdJf3xLxvVfkfDVqjkxNaYEo="; - # }; - # } - # ]; - }; }