]> git.immae.eu Git - perso/Immae/Config/Nix.git/blob - pkgs/webapps/default.nix
Add mypads to etherpad
[perso/Immae/Config/Nix.git] / pkgs / webapps / default.nix
1 { callPackage, mylibs, composerEnv, lib }:
2 rec {
3 adminer = callPackage ./adminer {};
4 apache-theme = callPackage ./apache-theme {};
5 awl = callPackage ./awl {};
6 davical = callPackage ./davical {};
7 diaspora = callPackage ./diaspora { inherit mylibs; };
8
9 dokuwiki = callPackage ./dokuwiki { inherit mylibs; };
10 dokuwiki-with-plugins = dokuwiki.withPlugins (builtins.attrValues dokuwiki-plugins);
11 dokuwiki-plugins = let
12 names = [ "farmer" "todo" ];
13 in
14 lib.attrsets.genAttrs names
15 (name: callPackage (./dokuwiki/plugins + "/${name}.nix") {});
16
17 etherpad-lite = callPackage ./etherpad-lite {};
18 etherpad-lite-with-modules = etherpad-lite.withModules (builtins.attrValues etherpad-lite-modules);
19 etherpad-lite-modules = let
20 nodeEnv = callPackage mylibs.nodeEnv {};
21 names = [
22 "ep_aa_file_menu_toolbar" "ep_adminpads" "ep_align" "ep_bookmark"
23 "ep_clear_formatting" "ep_colors" "ep_copy_paste_select_all"
24 "ep_cursortrace" "ep_embedmedia" "ep_font_family" "ep_font_size"
25 "ep_headings2" "ep_ldapauth" "ep_line_height" "ep_markdown"
26 "ep_previewimages" "ep_ruler" "ep_scrollto" "ep_set_title_on_pad"
27 "ep_subscript_and_superscript" "ep_timesliderdiff"
28 "ep_delete_empty_pads" "ep_mypads"
29 ];
30 in
31 # nix files are built using node2nix -i node-packages.json
32 lib.attrsets.genAttrs names
33 (name: (callPackage (./etherpad-lite/modules + "/${name}/node-packages.nix") { inherit nodeEnv; })
34 .${name}.overrideAttrs(old: { passthru = (old.passthru or {}) // { moduleName = name; }; }));
35
36 grocy = callPackage ./grocy { inherit mylibs composerEnv; };
37
38 infcloud = callPackage ./infcloud {};
39
40 mantisbt_2 = callPackage ./mantisbt_2 {};
41 mantisbt_2-with-plugins = mantisbt_2.withPlugins (builtins.attrValues mantisbt_2-plugins);
42 mantisbt_2-plugins = let
43 names = [ "slack" "source-integration" ];
44 in
45 lib.attrsets.genAttrs names
46 (name: callPackage (./mantisbt_2/plugins + "/${name}") {});
47
48 mastodon = callPackage ./mastodon { inherit mylibs; };
49
50 mediagoblin = callPackage ./mediagoblin { inherit mylibs; };
51 mediagoblin-with-plugins = mediagoblin.withPlugins (builtins.attrValues mediagoblin-plugins);
52 mediagoblin-plugins = let
53 names = [ "basicsearch" ];
54 in
55 lib.attrsets.genAttrs names
56 (name: callPackage (./mediagoblin/plugins + "/${name}") {});
57
58 nextcloud = callPackage ./nextcloud {};
59 nextcloud-with-apps = nextcloud.withPlugins (builtins.attrValues nextcloud-apps);
60 nextcloud-apps = let
61 names = [
62 "audioplayer" "bookmarks" "calendar" "contacts" "deck"
63 "files_markdown" "gpxedit" "gpxpod" "keeweb" "music"
64 "notes" "ocsms" "passman" "spreed" "tasks"
65 "flowupload" "carnet" "maps" "cookbook" "polls"
66 "apporder" "extract" "files_readmemd" "metadata"
67 ];
68 in
69 lib.attrsets.genAttrs names
70 (name: callPackage (./nextcloud/apps + "/${name}.nix") { buildApp = nextcloud.buildApp; });
71
72 peertube = callPackage ./peertube { inherit mylibs; };
73 phpbb = callPackage ./phpbb {};
74
75 phpldapadmin = callPackage ./phpldapadmin {};
76 rompr = callPackage ./rompr { inherit mylibs; };
77
78 roundcubemail = callPackage ./roundcubemail {};
79 roundcubemail-with-plugins-skins = roundcubemail.withPlugins (builtins.attrValues roundcubemail-plugins) (builtins.attrValues roundcubemail-skins);
80 roundcubemail-skins = let
81 names = [];
82 in
83 lib.attrsets.genAttrs names
84 (name: callPackage (./roundcubemail/skins + "/${name}") {});
85 roundcubemail-plugins = let
86 names = [
87 "automatic_addressbook" "carddav" "contextmenu"
88 "contextmenu_folder" "html5_notifier" "ident_switch"
89 "message_highlight" "thunderbird_labels"
90 ];
91 in
92 lib.attrsets.genAttrs names
93 (name: callPackage (./roundcubemail/plugins + "/${name}") { buildPlugin = roundcubemail.buildPlugin; });
94
95 spip = callPackage ./spip {};
96 taskwarrior-web = callPackage ./taskwarrior-web { inherit mylibs; };
97
98 ttrss = callPackage ./ttrss { inherit mylibs; };
99 ttrss-with-plugins = ttrss.withPlugins (builtins.attrValues ttrss-plugins);
100 ttrss-plugins = let
101 names = [ "auth_ldap" "af_feedmod" "feediron" "ff_instagram" "tumblr_gdpr_ua" ];
102 patched = [ "af_feedmod" "feediron" ];
103 in
104 lib.attrsets.genAttrs names
105 (name: callPackage (./ttrss/plugins + "/${name}") (
106 { inherit mylibs; } //
107 (if builtins.elem name patched then { patched = true; } else {})
108 )
109 );
110
111 wallabag = callPackage ./wallabag { inherit composerEnv; };
112 yourls = callPackage ./yourls { inherit mylibs; };
113 yourls-with-plugins = yourls.withPlugins (builtins.attrValues yourls-plugins);
114 yourls-plugins = let
115 names = [ "ldap" ];
116 in
117 lib.attrsets.genAttrs names
118 (name: callPackage (./yourls/plugins + "/${name}") { inherit mylibs; });
119 }