- webappDir = stdenv.mkDerivation (fetchedGithub ./etherpad-lite.json // rec {
- __noChroot = true;
- patches = [ ./libreoffice_patch.diff ];
- buildPhase = ''
- export GIT_SSL_CAINFO=${cacert}/etc/ssl/certs/ca-bundle.crt
- export SSL_CERT_FILE=${cacert}/etc/ssl/certs/ca-bundle.crt
- export HOME=$PWD
-
- touch src/.ep_initialized
- cp -v src/static/custom/js.template src/static/custom/index.js
- cp -v src/static/custom/js.template src/static/custom/pad.js
- cp -v src/static/custom/js.template src/static/custom/timeslider.js
- cp -v src/static/custom/css.template src/static/custom/index.css
- cp -v src/static/custom/css.template src/static/custom/pad.css
- cp -v src/static/custom/css.template src/static/custom/timeslider.css
-
- sed -i 's/var\/dirty.db/\/var\/lib\/etherpad-lite\/dirty.db/g' \
- settings.json.template
-
- mkdir -v node_modules
- ln -s ../src node_modules/ep_etherpad-lite
-
- node bin/doc/generate doc/index.md --format=html \
- --template=doc/template.html > documentation.html
-
- cd src
- npm install
- cd ..
- ${builtins.concatStringsSep "\n"
- (map (n: "npm install ${n}; touch node_modules/${n}/.ep_initialized") etherpad_modules)}
- '';
- installPhase = ''
- mkdir -p $out
- install -t $out/src/ -vDm 644 src/.ep_initialized
- cp -a node_modules $out/
- cp -a src/* $out/src/
- ln -sf /var/secrets/webapps/tools-etherpad-sessionkey $out/SESSIONKEY.txt
- ln -sf /var/secrets/webapps/tools-etherpad-apikey $out/APIKEY.txt
- cp ${jquery} $out/src/static/js/jquery.js
-
- mkdir $out/doc
- install -t "$out/doc/" \
- -vDm 644 {CHANGELOG,CONTRIBUTING,README}.md \
- -vDm 644 documentation.html
- '';
- buildInputs = [ pkgs.nodejs pkgs.python ];
- });
+ webappDir = (etherpad-lite.override {
+ session_key = "/var/secrets/webapps/tools-etherpad-sessionkey";
+ api_key = "/var/secrets/webapps/tools-etherpad-apikey";
+ }).withModules etherpad-lite-modules;