{ # Build tools. buildGoModule, buildNpmPackage, fetchFromGitLab, fetchPnpmDeps, nodejs, pnpm_10, pnpmConfigHook, stdenv, # Options. version ? "0.15.0", }: let pname = "fmd-server"; src = fetchFromGitLab { owner = "fmd-foss"; repo = "fmd-server"; tag = "v${version}"; hash = "sha256-EzhXrB15lRtDnFicdH7fjpcm1BYoAb1SBeylGSub69s="; }; frontend = let pname = "fmd-server-frontend"; in stdenv.mkDerivation { inherit pname version src; pnpmRoot = "web"; pnpmDeps = fetchPnpmDeps { inherit pname version src; pnpm = pnpm_10; fetcherVersion = 3; sourceRoot = "${src.name}/web"; hash = "sha256-vKSKPwOkb7TwDUlkl8lUvO6tLKp2NyBQ0BGxThUN2P8="; }; nativeBuildInputs = [ nodejs pnpm_10 pnpmConfigHook ]; buildPhase = '' runHook preBuild cd web pnpm build runHook postBuild ''; installPhase = '' runHook preInstall mkdir $out cp -R dist $out/ runHook postInstall ''; }; in buildGoModule { inherit pname version src; vendorHash = "sha256-cFIg9mOSQbrYHW4kg4aTeTaF+gy1jNpAlg8qepb81Jc="; preBuild = '' cp -R ${frontend}/dist web/ ''; }