{ http ? [], https ? [], both ? [] }:
	{ pkgs, lib, ... }:
		{
			deployment.healthChecks.http = let
				makeHostChecker = { protocol, port }: host: {
					scheme = protocol;
					port = port;
					path = "/";
					host = host;
					description = "${host} (${protocol} :${toString port}) is up";
				};
				allHttpHosts = http ++ both;
				allHttpsHosts = https ++ both;
				generateHttpChecks = hosts: map (makeHostChecker { protocol = "http"; port = 80; }) hosts;
				generateHttpsChecks = hosts: map (makeHostChecker { protocol = "https"; port = 443; }) hosts;
			in lib.mkMerge [
				(generateHttpChecks allHttpHosts)
				(generateHttpsChecks allHttpsHosts)
			];
		}
