about summary refs log tree commit diff
path: root/pkgs/servers
diff options
context:
space:
mode:
authorRobert Schütz <nix@dotlambda.de>2023-09-19 18:42:16 -0700
committerRobert Schütz <nix@dotlambda.de>2023-09-20 09:07:28 -0700
commitc4574a95c510c6f99051e1c3396aba5e2e6952b1 (patch)
tree08837781eed0729d269c9985fb1e53a1687cbb63 /pkgs/servers
parentf7f848d8cb9e1ef7b96278ab61f6ea2034bc0342 (diff)
plausible: also install tracker
Diffstat (limited to 'pkgs/servers')
-rw-r--r--pkgs/servers/web-apps/plausible/default.nix45
1 files changed, 34 insertions, 11 deletions
diff --git a/pkgs/servers/web-apps/plausible/default.nix b/pkgs/servers/web-apps/plausible/default.nix
index 39a2dc09d7732..9255a92f280b6 100644
--- a/pkgs/servers/web-apps/plausible/default.nix
+++ b/pkgs/servers/web-apps/plausible/default.nix
@@ -1,9 +1,8 @@
 { lib
 , beamPackages
+, buildNpmPackage
 , fetchFromGitHub
 , nodejs
-, npmHooks
-, fetchNpmDeps
 , nixosTests
 }:
 
@@ -24,22 +23,40 @@ let
     inherit src version;
     hash = "sha256-CAyZLpjmw1JreK3MopqI0XsWhP+fJEMpXlww7CibSaM=";
   };
+
+  assets = buildNpmPackage {
+    pname = "${pname}-assets";
+    inherit version;
+    src = "${src}/assets";
+    npmDepsHash = "sha256-2t1M6RQhBjZxx36qawVUVC+ob9SvQIq5dy4HgVeY2Eo=";
+    dontNpmBuild = true;
+    installPhase = ''
+      runHook preInstall
+      cp -r . "$out"
+      runHook postInstall
+    '';
+  };
+
+  tracker = buildNpmPackage {
+    pname = "${pname}-tracker";
+    inherit version;
+    src = "${src}/tracker";
+    npmDepsHash = "sha256-y09jVSwUrxF0nLpLqS1yQweYL+iMF6jVx0sUdQtvrpc=";
+    dontNpmBuild = true;
+    installPhase = ''
+      runHook preInstall
+      cp -r . "$out"
+      runHook postInstall
+    '';
+  };
 in
 beamPackages.mixRelease {
   inherit pname version src mixFodDeps;
 
   nativeBuildInputs = [
     nodejs
-    npmHooks.npmConfigHook
   ];
 
-  npmDeps = fetchNpmDeps {
-    src = "${src}/assets";
-    hash = "sha256-2t1M6RQhBjZxx36qawVUVC+ob9SvQIq5dy4HgVeY2Eo=";
-  };
-
-  npmRoot = "assets";
-
   passthru = {
     tests = { inherit (nixosTests) plausible; };
     updateScript = ./update.sh;
@@ -49,10 +66,16 @@ beamPackages.mixRelease {
     substituteInPlace lib/plausible_release.ex --replace 'defp prepare do' 'def prepare do'
   '';
 
+  preBuild = ''
+    rm -r assets tracker
+    cp -r ${assets} assets
+    cp -r ${tracker} tracker
+  '';
+
   postBuild = ''
-    export HOME=$TMPDIR
     export NODE_OPTIONS=--openssl-legacy-provider # required for webpack compatibility with OpenSSL 3 (https://github.com/webpack/webpack/issues/14532)
     npm run deploy --prefix ./assets
+    npm run deploy --prefix ./tracker
 
     # for external task you need a workaround for the no deps check flag
     # https://github.com/phoenixframework/phoenix/issues/2690