From f0d09a9d282a15af2dbf5e5a76caba5d03746744 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Felix=20Schr=C3=B6ter?= Date: Sat, 22 Jul 2023 15:06:19 +0200 Subject: [PATCH] feat(gaming): restructure configuration --- hardware/steam.nix | 14 +------------- hardware/xbox.nix | 6 ++++++ home-pc.nix | 1 + home/gaming/steam.nix | 15 ++------------- system/gaming.nix | 16 ++++++++++------ 5 files changed, 20 insertions(+), 32 deletions(-) create mode 100644 hardware/xbox.nix diff --git a/hardware/steam.nix b/hardware/steam.nix index 73e3e1d..23cff3d 100644 --- a/hardware/steam.nix +++ b/hardware/steam.nix @@ -1,17 +1,5 @@ -{ config, pkgs, ... }: +{ pkgs, ... }: { - hardware.opengl = { - # this fixes the "glXChooseVisual failed" bug, context: https://github.com/NixOS/nixpkgs/issues/47932 - enable = true; - driSupport = true; - driSupport32Bit = true; - }; - - # optionally enable 32bit pulseaudio support if pulseaudio is enabled - hardware.pulseaudio.support32Bit = config.hardware.pulseaudio.enable; - hardware.steam-hardware.enable = true; - - programs.steam.gamescopeSession.enable = true; } diff --git a/hardware/xbox.nix b/hardware/xbox.nix new file mode 100644 index 0000000..b739dfe --- /dev/null +++ b/hardware/xbox.nix @@ -0,0 +1,6 @@ +{ pkgs, ... }: + +{ + hardware.xone.enable = true; + hardware.xpadneo.enable = true; +} diff --git a/home-pc.nix b/home-pc.nix index 3831009..12bb9b2 100644 --- a/home-pc.nix +++ b/home-pc.nix @@ -5,6 +5,7 @@ ./hardware/base.nix ./hardware/gpu-amd.nix ./hardware/bluetooth.nix + ./hardware/xbox.nix ./hardware/steam.nix ./hardware/ledger.nix ./system/desktop.nix diff --git a/home/gaming/steam.nix b/home/gaming/steam.nix index bf99e55..1d86f53 100644 --- a/home/gaming/steam.nix +++ b/home/gaming/steam.nix @@ -1,17 +1,6 @@ -{ config, pkgs, nixosConfig, ... }: - -let - steam = pkgs.steam.override { - extraLibraries = pkgs: - with nixosConfig.hardware.opengl; - if pkgs.hostPlatform.is64bit then - [ package ] ++ extraPackages - else - [ package32 ] ++ extraPackages32; - }; -in { - home.packages = [ steam steam.run pkgs.protontricks ]; +{ pkgs, ... }: +{ home.file = { proton-ge = let version = "GE-Proton7-54"; in { diff --git a/system/gaming.nix b/system/gaming.nix index 896e2fa..f421ca6 100644 --- a/system/gaming.nix +++ b/system/gaming.nix @@ -1,8 +1,6 @@ -{ config, pkgs, ... }: +{ pkgs, ... }: { - environment.systemPackages = with pkgs; [ gamemode ]; - programs.gamemode = { enable = true; settings = { @@ -14,11 +12,17 @@ }; programs.steam.enable = true; + programs.steam.package = pkgs.steam.override { + # https://github.com/NixOS/nixpkgs/blob/master/pkgs/games/steam/fhsenv.nix + extraLibraries = pkgs: + with pkgs; + [ + libxcrypt-legacy # Life Is Strange + ]; + }; + programs.steam.gamescopeSession.enable = true; programs.steam.remotePlay.openFirewall = true; programs.steam.dedicatedServer.openFirewall = true; - hardware.xone.enable = true; - hardware.xpadneo.enable = true; - boot.kernel.sysctl."vm.max_map_count" = 2147483642; }