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