From f0ead6efed2ce7078302b825ad6b98fbbeebc693 Mon Sep 17 00:00:00 2001 From: Quentin Dufour Date: Thu, 5 May 2022 17:45:15 +0200 Subject: [PATCH] WIP Cryptpad packaging --- .gitmodules | 6 +- app/cryptpad/build/README.md | 16 ++ app/cryptpad/build/common.nix | 9 ++ app/cryptpad/build/cryptpad | 1 + app/cryptpad/build/default.nix | 27 ++++ app/cryptpad/build/docker.nix | 11 ++ app/cryptpad/build/shell.nix | 13 ++ app/cryptpad/config/config.js | 283 +++++++++++++++++++++++++++++++++ 8 files changed, 363 insertions(+), 3 deletions(-) create mode 100644 app/cryptpad/build/README.md create mode 100644 app/cryptpad/build/common.nix create mode 160000 app/cryptpad/build/cryptpad create mode 100644 app/cryptpad/build/default.nix create mode 100644 app/cryptpad/build/docker.nix create mode 100644 app/cryptpad/build/shell.nix create mode 100644 app/cryptpad/config/config.js diff --git a/.gitmodules b/.gitmodules index 7da38dc..19d4187 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,6 +1,6 @@ [submodule "docker/static/goStatic"] path = app/build/static/goStatic url = https://github.com/PierreZ/goStatic -[submodule "docker/blog/quentin.dufour.io"] - path = docker/blog-quentin/quentin.dufour.io - url = git@gitlab.com:superboum/quentin.dufour.io.git +[submodule "app/cryptpad/build/cryptpad"] + path = app/cryptpad/build/cryptpad + url = https://github.com/xwiki-labs/cryptpad.git diff --git a/app/cryptpad/build/README.md b/app/cryptpad/build/README.md new file mode 100644 index 0000000..417b066 --- /dev/null +++ b/app/cryptpad/build/README.md @@ -0,0 +1,16 @@ +Currently there is now way to cleanly package Bower on Nix. +So we have to manually package cryptpad. + +To update, you have to: + +```bash +nix-shell +cd cryptpad +git pull +git checkout +bower update +npm install +cd .. +nix-build +nix-build docker.nix +``` diff --git a/app/cryptpad/build/common.nix b/app/cryptpad/build/common.nix new file mode 100644 index 0000000..61d02fa --- /dev/null +++ b/app/cryptpad/build/common.nix @@ -0,0 +1,9 @@ +{ + pkgsSrc = fetchTarball { + # Latest commit on https://github.com/NixOS/nixpkgs/tree/nixos-21.11 + # As of 2022-04-15 + url ="https://github.com/NixOS/nixpkgs/archive/2f06b87f64bc06229e05045853e0876666e1b023.tar.gz"; + sha256 = "sha256:1d7zg96xw4qsqh7c89pgha9wkq3rbi9as3k3d88jlxy2z0ns0cy2"; + }; + nodejs = "nodejs-slim-16_x"; +} diff --git a/app/cryptpad/build/cryptpad b/app/cryptpad/build/cryptpad new file mode 160000 index 0000000..5979aaf --- /dev/null +++ b/app/cryptpad/build/cryptpad @@ -0,0 +1 @@ +Subproject commit 5979aafdee90aab232658374b11aca8331fd0421 diff --git a/app/cryptpad/build/default.nix b/app/cryptpad/build/default.nix new file mode 100644 index 0000000..2069a58 --- /dev/null +++ b/app/cryptpad/build/default.nix @@ -0,0 +1,27 @@ +let + common = import ./common.nix; + pkgs = import common.pkgsSrc {}; + nodejs = pkgs.${common.nodejs}; +in + pkgs.stdenv.mkDerivation { + name = "cryptpad"; + src = ./cryptpad; + + installPhase = '' + mkdir -p $out/{bin,opt} + + cp -r config customize.dist lib node_modules package.json package-lock.json server.js www $out/opt/ + ln -s / $out/opt/root + + cat > $out/bin/cryptpad <