]> git.immae.eu Git - perso/Immae/Config/Nix.git/blobdiff - pkgs/webapps/default.nix
Make etherpad derivation pure
[perso/Immae/Config/Nix.git] / pkgs / webapps / default.nix
index a771aeeb9e41bed090b5fab34dec25b96f6805f4..11bd0ce0ca02e981f9be6e3992955134eef866f9 100644 (file)
@@ -13,31 +13,23 @@ rec {
     lib.attrsets.genAttrs names
       (name: callPackage (./dokuwiki/plugins + "/${name}.nix") {});
 
-  etherpad-lite = callPackage ../impure/etherpad-lite {};
-  etherpad-lite-with-modules = etherpad-lite.withModules etherpad-lite-modules;
-  etherpad-lite-modules = [
-    "ep_aa_file_menu_toolbar"
-    "ep_adminpads"
-    "ep_align"
-    "ep_bookmark"
-    "ep_clear_formatting"
-    "ep_colors"
-    "ep_copy_paste_select_all"
-    "ep_cursortrace"
-    "ep_embedmedia"
-    "ep_font_family"
-    "ep_font_size"
-    "ep_headings2"
-    "ep_ldapauth"
-    "ep_line_height"
-    "ep_markdown"
-    "ep_previewimages"
-    "ep_ruler"
-    "ep_scrollto"
-    "ep_set_title_on_pad"
-    "ep_subscript_and_superscript"
-    "ep_timesliderdiff"
+  etherpad-lite = callPackage ./etherpad-lite {};
+  etherpad-lite-with-modules = etherpad-lite.withModules (builtins.attrValues etherpad-lite-modules);
+  etherpad-lite-modules = let
+    nodeEnv = callPackage mylibs.nodeEnv {};
+    names = [
+      "ep_aa_file_menu_toolbar" "ep_adminpads" "ep_align" "ep_bookmark"
+      "ep_clear_formatting" "ep_colors" "ep_copy_paste_select_all"
+      "ep_cursortrace" "ep_embedmedia" "ep_font_family" "ep_font_size"
+      "ep_headings2" "ep_ldapauth" "ep_line_height" "ep_markdown"
+      "ep_previewimages" "ep_ruler" "ep_scrollto" "ep_set_title_on_pad"
+      "ep_subscript_and_superscript" "ep_timesliderdiff"
     ];
+  in
+    # nix files are built using node2nix -i node-packages.json
+    lib.attrsets.genAttrs names
+    (name: (callPackage (./etherpad-lite/modules + "/${name}/node-packages.nix") { inherit nodeEnv; })
+      .${name}.overrideAttrs(old: { passthru = (old.passthru or {}) // { moduleName = name; }; }));
 
   infcloud = callPackage ./infcloud {};