]> git.immae.eu Git - perso/Immae/Config/Nix.git/blobdiff - flakes/peertube/client.nix
Write peertube flake
[perso/Immae/Config/Nix.git] / flakes / peertube / client.nix
diff --git a/flakes/peertube/client.nix b/flakes/peertube/client.nix
new file mode 100644 (file)
index 0000000..06383a7
--- /dev/null
@@ -0,0 +1,28 @@
+{ yarnModulesConfig, mkYarnModules', server, sources, version, nodejs, stdenv }:
+rec {
+  modules = mkYarnModules' rec {
+    pname = "peertube-client-yarn-modules";
+    inherit version;
+    name = "${pname}-${version}";
+    packageJSON = "${sources}/client/package.json";
+    yarnLock = "${sources}/client/yarn.lock";
+    pkgConfig = yarnModulesConfig;
+  };
+  dist = stdenv.mkDerivation {
+    pname = "peertube-client";
+    inherit version;
+    src = sources;
+    buildPhase = ''
+          ln -s ${server.modules}/node_modules .
+          cp -a ${modules}/node_modules client/
+          chmod -R +w client/node_modules
+          patchShebangs .
+          npm run build:client
+    '';
+    installPhase = ''
+          mkdir $out
+          cp -a client/dist $out
+    '';
+    buildInputs = [ nodejs ];
+  };
+}