]> git.immae.eu Git - perso/Immae/Config/Nix.git/blob - flakes/peertube/default.nix
8ba0c5f483bee0283a44c8f7e3996c78a87dc81a
[perso/Immae/Config/Nix.git] / flakes / peertube / default.nix
1 { stdenv, lib, src, server, client }:
2 stdenv.mkDerivation rec {
3 inherit (src) version;
4 pname = "peertube";
5 inherit src;
6 buildPhase = ''
7 ln -s ${server.modules}/node_modules .
8 rm -rf dist && cp -a ${server.dist}/dist dist
9 rm -rf client/dist && cp -a ${client.dist}/dist client/
10 '';
11 installPhase = ''
12 mkdir $out
13 cp -a * $out
14 ln -s /tmp $out/.cache
15 '';
16
17 meta = {
18 description = "A free software to take back control of your videos";
19
20 longDescription = ''
21 PeerTube aspires to be a decentralized and free/libre alternative to video
22 broadcasting services.
23 PeerTube is not meant to become a huge platform that would centralize
24 videos from all around the world. Rather, it is a network of
25 inter-connected small videos hosters.
26 Anyone with a modicum of technical skills can host a PeerTube server, aka
27 an instance. Each instance hosts its users and their videos. In this way,
28 every instance is created, moderated and maintained independently by
29 various administrators.
30 You can still watch from your account videos hosted by other instances
31 though if the administrator of your instance had previously connected it
32 with other instances.
33 '';
34
35 license = lib.licenses.agpl3Plus;
36
37 homepage = "https://joinpeertube.org/";
38
39 platforms = lib.platforms.unix;
40 };
41 }