{
  description = "Build keys to manually deploy to kubernetes cluster.";

  inputs = {
    nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
  };

  outputs =
    { self, nixpkgs }:
    let
      forAllSystems = nixpkgs.lib.genAttrs nixpkgs.lib.systems.flakeExposed;
    in
    {
      packages = forAllSystems (
        system:
        let
          pkgs = nixpkgs.legacyPackages.${system};
          appliedOverlay = self.overlays.default pkgs pkgs;
        in
        {
          deploy_script = appliedOverlay.k8s.deploy_script;
          default = appliedOverlay.k8s.all_keys;
        }
      );
      overlays.default = (
        final: prev: {
          k8s = (final.callPackage ./scope.nix { inherit (final.lib) makeScope; });
        }
      );
    };
}
