diff options
Diffstat (limited to 'flakes/peertube/client.nix')
-rw-r--r-- | flakes/peertube/client.nix | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/flakes/peertube/client.nix b/flakes/peertube/client.nix new file mode 100644 index 0000000..06383a7 --- /dev/null +++ b/flakes/peertube/client.nix | |||
@@ -0,0 +1,28 @@ | |||
1 | { yarnModulesConfig, mkYarnModules', server, sources, version, nodejs, stdenv }: | ||
2 | rec { | ||
3 | modules = mkYarnModules' rec { | ||
4 | pname = "peertube-client-yarn-modules"; | ||
5 | inherit version; | ||
6 | name = "${pname}-${version}"; | ||
7 | packageJSON = "${sources}/client/package.json"; | ||
8 | yarnLock = "${sources}/client/yarn.lock"; | ||
9 | pkgConfig = yarnModulesConfig; | ||
10 | }; | ||
11 | dist = stdenv.mkDerivation { | ||
12 | pname = "peertube-client"; | ||
13 | inherit version; | ||
14 | src = sources; | ||
15 | buildPhase = '' | ||
16 | ln -s ${server.modules}/node_modules . | ||
17 | cp -a ${modules}/node_modules client/ | ||
18 | chmod -R +w client/node_modules | ||
19 | patchShebangs . | ||
20 | npm run build:client | ||
21 | ''; | ||
22 | installPhase = '' | ||
23 | mkdir $out | ||
24 | cp -a client/dist $out | ||
25 | ''; | ||
26 | buildInputs = [ nodejs ]; | ||
27 | }; | ||
28 | } | ||