43 lines
No EOL
912 B
Nix
43 lines
No EOL
912 B
Nix
{
|
|
pkgs ? import <nixpkgs>,
|
|
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 = ./.;
|
|
};
|
|
} |