29 lines
718 B
Nix
29 lines
718 B
Nix
{
|
|
config,
|
|
lib,
|
|
pkgs,
|
|
...
|
|
}:
|
|
with lib; let
|
|
inherit (config.modules.other.system) username;
|
|
cfg = config.modules.programs.steam;
|
|
in {
|
|
options.modules.programs.steam = {
|
|
enable = mkEnableOption "steam";
|
|
gamescope = mkEnableOption "gamescope";
|
|
};
|
|
|
|
config = mkIf cfg.enable {
|
|
programs.steam = {
|
|
enable = true;
|
|
remotePlay.openFirewall = true;
|
|
dedicatedServer.openFirewall = true;
|
|
gamescopeSession.enable = mkIf cfg.gamescope true;
|
|
};
|
|
programs.gamemode.enable = true;
|
|
environment.systemPackages = [pkgs.protonup];
|
|
environment.sessionVariables = {
|
|
STEAM_EXTRA_COMPAT_TOOLS_PATHS = "/home/${username}/.steam/root/compatibilitytoolds.d";
|
|
};
|
|
};
|
|
}
|