]> git.immae.eu Git - perso/Immae/Config/Nix.git/blob - flakes/peertube/client.nix
Write peertube flake
[perso/Immae/Config/Nix.git] / flakes / peertube / client.nix
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 }