]> git.immae.eu Git - perso/Immae/Config/Nix.git/blobdiff - modules/private/websites/tools/tools/landing.nix
Use personnal project for landing page
[perso/Immae/Config/Nix.git] / modules / private / websites / tools / tools / landing.nix
index ac5c3cff871466dfebdf7acf09c83123d65c120b..2acc323b2f02c8466a8b0af54942098592213339 100644 (file)
@@ -1,21 +1,29 @@
-{ stdenv, fetchFromGitHub }:
-stdenv.mkDerivation rec {
-  pname = "homer";
-  version = "v1.0";
-  src = fetchFromGitHub {
-    owner = "bastienwirtz";
-    repo = "homer";
-    rev = version;
-    sha256 = "0pgpkbqdg4728c8xan5q3lfb8najq118wn2497mc3h0md7l09m63";
+{ sources, stdenv, yarn2nix-moretea }:
+let
+  yarnModules = yarn2nix-moretea.mkYarnModules rec {
+    name = "landing";
+    pname = name;
+    version = "v1.0.0";
+    packageJSON = "${sources.webapps-landing}/package.json";
+    yarnLock = "${sources.webapps-landing}/yarn.lock";
+    yarnNix = ./landing/yarn-packages.nix;
   };
+in
+  stdenv.mkDerivation rec {
+    pname = "landing";
+    version = "v1.0.0";
+    src = sources.webapps-landing;
 
-  phases = ["unpackPhase" "installPhase"];
-
-  installPhase = ''
-    cp -a . $out
-    sed -i -e "s/vlayout: true,/vlayout: false,/" $out/app.js
-    cp ${./landing}/config.yml $out/
-    cp ${./landing}/*.php $out/
-    cp ${./landing}/icons/* $out/assets/tools/
-  '';
-}
+    buildInputs = [ yarnModules yarn2nix-moretea.yarn ];
+    configurePhase = ''
+      ln -s ${yarnModules}/node_modules .
+    '';
+    buildPhase = ''
+      yarn build
+    '';
+    installPhase = ''
+      cp -a dist $out
+      cp ${./landing}/*.php $out/
+      ln -s service-worker.js $out/worker.js
+    '';
+  }