{ pkgs, config, lib, inputs, ... }: let cfg = config.my.desktop.gaming; in { imports = [ inputs.nix-gaming.nixosModules.pipewireLowLatency inputs.nix-gaming.nixosModules.platformOptimizations ]; options.my.desktop.gaming = { enable = lib.mkEnableOption null; }; config = lib.mkIf cfg.enable { programs = { steam = { enable = true; package = pkgs.steam.override { extraEnv = { MANGOHUD = true; OBS_VKCAPTURE = true; }; extraPkgs = pkgs: with pkgs; [ zstd openssl ]; }; extraCompatPackages = with pkgs; [ proton-ge-bin ]; remotePlay.openFirewall = true; platformOptimizations.enable = true; }; gamemode = { enable = true; settings = { general = { renice = 10; }; }; }; }; services.pipewire.lowLatency.enable = true; }; }