{
config,
lib,
pkgs,
...
}: let
cfg = config.roles.steam;
in {
options.roles.steam = {
enable = lib.mkEnableOption "";
};
config = lib.mkIf cfg.enable {
nixpkgs.config.allowUnfreePredicate = pkg:
builtins.elem (lib.getName pkg) [
"steam-run"
"steam-original"
"steam"
];
programs.steam = {
enable = true;
remotePlay.openFirewall = false;
dedicatedServer.openFirewall = false;
};
hardware.steam-hardware.enable = true;
programs.gamemode = {
enable = true;
};
environment.systemPackages = with pkgs; [
gamescope
protontricks
gnome.zenity
];
hm = {
programs.mangohud = {
enable = true;
enableSessionWide = false;
settings = {
fps_limit = "60,90,120,200";
time = true;
gpu_stats = true;
gpu_temp = true;
gpu_text = "GPU";
cpu_stats = true;
cpu_temp = true;
cpu_text = "CPU";
vram = true;
ram = true;
fps = true;
frametime = true;
frame_timing = true;
show_fps_limit = true;
};
};
};
};
}