nixpkgs/pkgs/by-name/zi/zitadel/console.nix
2025-04-12 13:15:19 +03:00

63 lines
1.1 KiB
Nix

{
generateProtobufCode,
version,
zitadelRepo,
}:
{
stdenv,
fetchYarnDeps,
yarnConfigHook,
yarnBuildHook,
nodejs,
grpc-gateway,
protoc-gen-grpc-web,
protoc-gen-js,
}:
let
protobufGenerated = generateProtobufCode {
pname = "zitadel-console";
inherit version;
nativeBuildInputs = [
grpc-gateway
protoc-gen-grpc-web
protoc-gen-js
];
workDir = "console";
bufArgs = "../proto --include-imports --include-wkt";
outputPath = "src/app/proto";
hash = "sha256-UzmwUUYg0my3noAQNtlUEBQ+K6GVnBSkWj4CzoaoLKw=";
};
in
stdenv.mkDerivation {
pname = "zitadel-console";
inherit version;
src = zitadelRepo;
sourceRoot = "${zitadelRepo.name}/console";
offlineCache = fetchYarnDeps {
yarnLock = "${zitadelRepo}/console/yarn.lock";
hash = "sha256-ekgLd5DTOBZWuT63QnTjx40ZYvLKZh+FXCn+h5vj9qQ=";
};
nativeBuildInputs = [
yarnConfigHook
yarnBuildHook
nodejs
];
preBuild = ''
cp -r ${protobufGenerated} src/app/proto
'';
installPhase = ''
runHook preInstall
cp -r dist/console "$out"
runHook postInstall
'';
}