saerro-go/default.nix
2025-04-01 20:54:43 -07:00

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 = ./.;
};
}