{ pkgs ? import , vendorHash ? "sha256-A5hZxo0zZ3w6qryV24PjYaKQatN2G2heyuee6QaU55M=", name ? "saerro", }: let bin = binName: pkgs.buildGoModule { inherit vendorHash name; src = ./.; subPackages = [ "cmd/${binName}" ]; }; mkContainer = binName: pkgs.dockerTools.buildImage { name = "${name}/${binName}"; tag = "latest"; copyToRoot = [ pkgs.dockerTools.caCertificates ]; config = { Cmd = [ "${bin binName}/bin/${binName}" ]; }; }; mkBin = binName: pkgs.stdenvNoCC.mkDerivation { name = binName; src = bin binName; buildPhase = '' mkdir -p $out/bin cp $src/bin/${binName} $out/bin/${binName} ''; }; in { ws = mkContainer "ws"; ws-bin = mkBin "ws"; pruner = mkContainer "pruner"; pruner-bin = mkBin "pruner"; all = pkgs.buildGoModule { inherit vendorHash name; src = ./.; }; }