btrbk: add mainProgram
[NixPkgs.git] / pkgs / by-name / me / mealie / mealie-frontend.nix
blob072f27af6726811cdcfb7f4a1301177e1d33353e
1 src: version:
2 { lib, fetchYarnDeps, nodejs_18, fixup-yarn-lock, stdenv, yarn }: stdenv.mkDerivation {
3   name = "mealie-frontend";
4   inherit version;
5   src = "${src}/frontend";
7   yarnOfflineCache = fetchYarnDeps {
8     yarnLock = "${src}/frontend/yarn.lock";
9     hash = "sha256-a2kIOQHaMzaMWId6+SSYN+SPQM2Ipa+F1ztFZgo3R6A=";
10   };
12   nativeBuildInputs = [
13     fixup-yarn-lock
14     nodejs_18
15     (yarn.override { nodejs = nodejs_18; })
16   ];
18   configurePhase = ''
19     runHook preConfigure
21     export HOME=$(mktemp -d)
22     yarn config --offline set yarn-offline-mirror "$yarnOfflineCache"
23     fixup-yarn-lock yarn.lock
24     yarn install --frozen-lockfile --offline --no-progress --non-interactive
25     patchShebangs node_modules/
27     runHook postConfigure
28   '';
30   buildPhase = ''
31     runHook preBuild
33     export NUXT_TELEMETRY_DISABLED=1
34     yarn --offline build
35     yarn --offline generate
37     runHook postBuild
38   '';
40   installPhase = ''
41     runHook preInstall
42     mv dist $out
43     runHook postInstall
44   '';
46   meta = with lib; {
47     description = "Frontend for Mealie";
48     license = licenses.agpl3Only;
49     maintainers = with maintainers; [ litchipi ];
50   };