{ lib, ... }:

{
	nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [
		"steam"
		"steam-original"
		"steam-runtime"
	];

	programs.gamescope = {
		enable = true;
		capSysNice = true;
	};

	programs.steam = {
		enable = true;
		remotePlay.openFirewall = true;
		dedicatedServer.openFirewall = true;
		localNetworkGameTransfers.openFirewall = true;
		gamescopeSession.enable = true;
	};

	# controllers
	hardware.xone.enable = true;
	hardware.steam-hardware.enable = true;
}