Fabian Montero
0473f830f6
sadly this has to be a system package until we find a non shitty way of installing in through hm
56 lines
1.3 KiB
Nix
56 lines
1.3 KiB
Nix
{
|
|
config,
|
|
lib,
|
|
pkgs,
|
|
...
|
|
}:
|
|
with lib; let
|
|
cfg = config.options.trivium.trash.steam;
|
|
in {
|
|
options.trivium.trash.steam = {
|
|
enable = mkEnableOption "steam settings";
|
|
|
|
compatibilityPackages = mkOption {
|
|
type = types.bool;
|
|
default = true;
|
|
description = "Enable additional compatibility packages (protontricks, protonup, etc.)";
|
|
};
|
|
|
|
remotePlayOpenFirewall = mkOption {
|
|
type = types.bool;
|
|
default = false;
|
|
description = "Open firewall for Steam Remote Play";
|
|
};
|
|
|
|
dedicatedServerOpenFirewall = mkOption {
|
|
type = types.bool;
|
|
default = false;
|
|
description = "Open firewall for Steam Dedicated Server";
|
|
};
|
|
|
|
localNetworkGameTransfersOpenFirewall = mkOption {
|
|
type = types.bool;
|
|
default = false;
|
|
description = "Open firewall for Steam Local Network Game Transfers";
|
|
};
|
|
};
|
|
|
|
config = mkIf cfg.enable {
|
|
programs.steam = {
|
|
enable = true;
|
|
remotePlay.openFirewall = cfg.remotePlayOpenFirewall;
|
|
dedicatedServer.openFirewall = cfg.dedicatedServerOpenFirewall;
|
|
localNetworkGameTransfers.openFirewall = cfg.localNetworkGameTransfersOpenFirewall;
|
|
};
|
|
|
|
environment = mkIf cfg.compatibilityPackages {
|
|
systemPackages = with pkgs; [
|
|
protontricks
|
|
protonup
|
|
protonup-ng
|
|
winetricks
|
|
];
|
|
};
|
|
};
|
|
}
|