{
	inputs = {
		flake-utils.url = "github:numtide/flake-utils";
		nixpkgs.url = "nixpkgs";
	};
	outputs = inputs:
		let lib = import ./lib.nix;
		in
			inputs.flake-utils.lib.eachDefaultSystem (system:
				let
					nixpkgs = inputs.nixpkgs.legacyPackages.${system};
					versions = [
						["2.1.5" "sha256-xzQRtCwpksRA1XB2ILE3Gdc3r4ftT63M1WBmi6yXZzw="]
						["2.0.3" "sha256-++wvqD6TunG47jp2SKW+clGOJ6Sy9CnEu2e6AgKP1X0="]
						["2.0.0" "sha256-WQ4B0sT3qTVl4/Moj0FcFg5LDZIBPbnmcfUxwrmFyYY="]
						["1.46.3" "sha256-vnDzegjO7XFqBj3dZ1T4TZfuFr3Ur2f4/2zlFUQUwSI="]
					];

					packages = builtins.listToAttrs (builtins.map (l:
						let
							version = builtins.elemAt l 0;
							zipHash = builtins.elemAt l 1;
						in {
							name = "deno-${builtins.replaceStrings ["."] ["_"] version}";
							value = lib.mkDeno { inherit version zipHash nixpkgs; };
						}
					) versions);

				in { packages = packages // {
							 deno-latest =
								 let
									 v = (builtins.elemAt (builtins.elemAt versions 0) 0);
									 a = "deno-${builtins.replaceStrings ["."] ["_"] v}";
								 in packages.${a};
						 };
					 });
}
