2023-11-23 01:21:58 -08:00
|
|
|
{ config, lib, pkgs, user, ... }:
|
2023-07-10 17:52:34 -07:00
|
|
|
|
|
|
|
let cfg = config.modules.gaming.steam;
|
|
|
|
in {
|
|
|
|
options.modules.gaming.steam.enable = lib.mkEnableOption "steam";
|
|
|
|
config = lib.mkIf cfg.enable {
|
2024-10-24 22:37:50 -07:00
|
|
|
environment.systemPackages = with pkgs; [
|
2024-12-05 12:41:02 -08:00
|
|
|
gamescope # Utility for running games using Valve's Steam Play compatibility layer with improved performance and compatibility
|
|
|
|
mangohud # Vulkan and OpenGL overlay for monitoring FPS, temperatures, CPU/GPU load and more
|
|
|
|
steamtinkerlaunch # Launcher and optimization tool for Steam games
|
2024-12-05 21:50:06 -08:00
|
|
|
heroic # Native GOG Launcher
|
2024-10-24 22:37:50 -07:00
|
|
|
];
|
2023-07-10 17:52:34 -07:00
|
|
|
|
2024-12-05 12:41:02 -08:00
|
|
|
hardware.graphics.enable = true; # https://github.com/NixOS/nixpkgs/issues/47932
|
2025-02-01 16:09:17 -08:00
|
|
|
services.pulseaudio.support32Bit = config.hardware.pulseaudio.enable;
|
2023-07-10 17:52:34 -07:00
|
|
|
hardware.steam-hardware.enable = true;
|
2024-10-24 22:37:50 -07:00
|
|
|
|
2024-07-11 22:02:22 -07:00
|
|
|
programs.steam = {
|
|
|
|
enable = true;
|
2024-12-05 12:41:02 -08:00
|
|
|
package = with pkgs; steam.override { extraPkgs = pkgs: [ attr ]; }; # https://github.com/NixOS/nixpkgs/issues/236561
|
2024-07-11 22:02:22 -07:00
|
|
|
};
|
2023-07-10 17:52:34 -07:00
|
|
|
};
|
|
|
|
}
|