{pkgs, config, ...}:{ environment.systemPackages = with pkgs; [ (lutris.override { extraPkgs = pkgs: [ wineWowPackages.waylandFull gamescope antimicrox sc-controller winetricks ]; extraLibraries = pkgs: [ nspr xorg.libXdamage xorg.libXfixes openal gnutls libidn2 libssh2 libpsl brotli pkgsi686Linux.expat pkgsi686Linux.openal pkgsi686Linux.nvidia_cg_toolkit pkgsi686Linux.tcp_wrappers pkgsi686Linux.libasyncns pkgsi686Linux.libapparmor pkgsi686Linux.xorg.libXrandr pkgsi686Linux.xorg.libxcb pkgsi686Linux.xorg.libXi pkgsi686Linux.libsndfile pkgsi686Linux.libmpg123 # gnome2.GConf icu openldap ]; }) ]; # stuff to make steam behave nicely, amongst other things (Gamemode, gamescope) programs.gamemode = { enable = true; enableRenice = true; settings = { general = { softrealtime = "auto"; renice = 10; }; custom = { start = "notify-send -a 'Gamemode' 'Optimizations activated'"; end = "notify-send -a 'Gamemode' 'Optimizations deactivated'"; }; }; }; programs.gamescope = { enable = true; capSysNice = false; }; programs.steam = { enable = true; extest.enable = true; gamescopeSession.enable = true; protontricks.enable = true; extraPackages = with pkgs; [ xorg.libXcursor xorg.libXi xorg.libXinerama xorg.libXScrnSaver xorg.libxcb libpng libpulseaudio libvorbis stdenv.cc.cc.lib libkrb5 keyutils gamemode procps usbutils ] ++ config.fonts.packages; extraCompatPackages = with pkgs; [ steamtinkerlaunch proton-ge-bin ]; remotePlay.openFirewall = true; # Open ports in the fire> dedicatedServer.openFirewall = true; # Open ports in the> localNetworkGameTransfers.openFirewall = true; # Open po> }; }