overlay/mealie/mealie-frontend.nix
2024-01-10 00:33:04 +01:00

47 lines
1,015 B
Nix

src: version:
{ lib, fetchYarnDeps, nodejs_18, prefetch-yarn-deps, stdenv, ... }: stdenv.mkDerivation {
name = "mealie-frontend";
inherit version;
src = "${src}/frontend";
yarnOfflineCache = fetchYarnDeps {
yarnLock = "${src}/frontend/yarn.lock";
hash = "sha256-zQUD/PQWzp2Q6fiVmLicvSusXffu6s9q3x/aAUnCN38=";
};
nativeBuildInputs = [
prefetch-yarn-deps
nodejs_18
nodejs_18.pkgs.yarn
];
configurePhase = ''
runHook preConfigure
export HOME=$(mktemp -d)
yarn config --offline set yarn-offline-mirror "$yarnOfflineCache"
fixup-yarn-lock yarn.lock
command -v yarn
yarn install --frozen-lockfile --offline --no-progress --non-interactive
patchShebangs node_modules/
runHook postConfigure
'';
buildPhase = ''
runHook preBuild
export NUXT_TELEMETRY_DISABLED=1
yarn --offline build
yarn --offline generate
runHook postBuild
'';
installPhase = ''
runHook preInstall
mv dist $out
runHook postInstall
'';
}