45 lines
1.2 KiB
Nix
45 lines
1.2 KiB
Nix
{ pkgs, ... }:
|
|
|
|
{
|
|
programs.steam = {
|
|
enable = true;
|
|
remotePlay.openFirewall = true;
|
|
gamescopeSession.enable = true;
|
|
# Proton-GE: community Proton fork with broader game / media codec support.
|
|
extraCompatPackages = with pkgs; [ proton-ge-bin ];
|
|
protontricks.enable = true;
|
|
# extest translates XTest events → uinput so controllers work under XWayland.
|
|
extest.enable = true;
|
|
};
|
|
|
|
# udev rules for Steam controllers, Index headsets, etc.
|
|
hardware.steam-hardware.enable = true;
|
|
|
|
# GameMode: temporary CPU/GPU performance boost on game launch.
|
|
programs.gamemode = {
|
|
enable = true;
|
|
settings = {
|
|
general.renice = 10;
|
|
gpu = {
|
|
apply_gpu_optimisations = "accept-responsibility";
|
|
gpu_device = 0;
|
|
amd_performance_level = "high";
|
|
};
|
|
};
|
|
};
|
|
|
|
# Gamescope: Wayland micro-compositor for games; improves latency and scaling.
|
|
programs.gamescope = {
|
|
enable = true;
|
|
capSysNice = true;
|
|
};
|
|
|
|
environment.systemPackages = with pkgs; [
|
|
lutris # Wine/Proton game manager
|
|
mangohud # In-game performance overlay
|
|
wine # Windows compatibility layer
|
|
winetricks # Wine prefix setup helper
|
|
vulkan-tools # vulkaninfo for debugging driver/Vulkan issues
|
|
];
|
|
}
|