nix/modules/nixos/gaming/steam/default.nix

40 lines
833 B
Nix

{ lib, config, ... }:
with lib;
let
cfg = config.modules.gaming.steam;
in
{
options.modules.gaming.steam = {
enable = mkEnableOption "Enable Steam Platform";
gamescope = mkOption {
type = types.bool;
default = false;
description = "enable gamescope session (default false)";
};
gamemode = mkOption {
type = types.bool;
default = false;
description = "enable Feral Gamemode (default false)";
};
};
config = mkIf cfg.enable {
programs.gamemode = {
enable = cfg.gamemode;
};
programs.gamescope = {
enable = cfg.gamescope;
capSysNice = true;
};
programs.steam = {
enable = true;
gamescopeSession = {
enable = cfg.gamescope;
args = [
"-O HDMI-A-2"
"-F fsr"
];
};
};
};
}