diff options
author | Ismaël Bouya <ismael.bouya@normalesup.org> | 2020-05-08 23:59:21 +0200 |
---|---|---|
committer | Ismaël Bouya <ismael.bouya@normalesup.org> | 2020-05-09 00:30:49 +0200 |
commit | 34c7b88e16d1768b1b9a0cfa6dd21ea5d9b1b308 (patch) | |
tree | b0ace6db106ee8ce19ee17c4cc798dcccf5c77f9 /modules | |
parent | c4216ddb8bedd0b75149c039bd5dc86c3d6a9b7f (diff) | |
download | Nix-34c7b88e16d1768b1b9a0cfa6dd21ea5d9b1b308.tar.gz Nix-34c7b88e16d1768b1b9a0cfa6dd21ea5d9b1b308.tar.zst Nix-34c7b88e16d1768b1b9a0cfa6dd21ea5d9b1b308.zip |
Use new withPlugin system
- dokuwiki
- mantisbt
- mediagoblin
- roundcube
- ttrss
- yourls
Diffstat (limited to 'modules')
-rw-r--r-- | modules/private/websites/tools/git/mantisbt.nix | 2 | ||||
-rw-r--r-- | modules/private/websites/tools/mail/default.nix | 2 | ||||
-rw-r--r-- | modules/private/websites/tools/mail/roundcubemail.nix | 5 | ||||
-rw-r--r-- | modules/private/websites/tools/mgoblin/default.nix | 2 | ||||
-rw-r--r-- | modules/private/websites/tools/tools/dokuwiki.nix | 2 | ||||
-rw-r--r-- | modules/private/websites/tools/tools/ttrss.nix | 6 | ||||
-rw-r--r-- | modules/private/websites/tools/tools/yourls.nix | 3 | ||||
-rw-r--r-- | modules/webapps/mediagoblin.nix | 29 |
8 files changed, 20 insertions, 31 deletions
diff --git a/modules/private/websites/tools/git/mantisbt.nix b/modules/private/websites/tools/git/mantisbt.nix index 50851aa..a74d76e 100644 --- a/modules/private/websites/tools/git/mantisbt.nix +++ b/modules/private/websites/tools/git/mantisbt.nix | |||
@@ -46,7 +46,7 @@ rec { | |||
46 | $g_ldap_organization = '${env.ldap.filter}'; | 46 | $g_ldap_organization = '${env.ldap.filter}'; |
47 | ''; | 47 | ''; |
48 | }]; | 48 | }]; |
49 | webRoot = (mantisbt_2.override { mantis_config = "/var/secrets/webapps/tools-mantisbt"; }).withPlugins (builtins.attrValues mantisbt_2-plugins); | 49 | webRoot = (mantisbt_2.override { mantis_config = "/var/secrets/webapps/tools-mantisbt"; }).withPlugins (p: [p.slack p.source-integration]); |
50 | apache = rec { | 50 | apache = rec { |
51 | user = "wwwrun"; | 51 | user = "wwwrun"; |
52 | group = "wwwrun"; | 52 | group = "wwwrun"; |
diff --git a/modules/private/websites/tools/mail/default.nix b/modules/private/websites/tools/mail/default.nix index 7d7904f..7c60ae4 100644 --- a/modules/private/websites/tools/mail/default.nix +++ b/modules/private/websites/tools/mail/default.nix | |||
@@ -1,7 +1,7 @@ | |||
1 | { lib, pkgs, config, ... }: | 1 | { lib, pkgs, config, ... }: |
2 | let | 2 | let |
3 | roundcubemail = pkgs.callPackage ./roundcubemail.nix { | 3 | roundcubemail = pkgs.callPackage ./roundcubemail.nix { |
4 | inherit (pkgs.webapps) roundcubemail roundcubemail-plugins roundcubemail-skins; | 4 | inherit (pkgs.webapps) roundcubemail; |
5 | env = config.myEnv.tools.roundcubemail; | 5 | env = config.myEnv.tools.roundcubemail; |
6 | }; | 6 | }; |
7 | rainloop = pkgs.callPackage ./rainloop.nix { | 7 | rainloop = pkgs.callPackage ./rainloop.nix { |
diff --git a/modules/private/websites/tools/mail/roundcubemail.nix b/modules/private/websites/tools/mail/roundcubemail.nix index 6875bae..bb7dee9 100644 --- a/modules/private/websites/tools/mail/roundcubemail.nix +++ b/modules/private/websites/tools/mail/roundcubemail.nix | |||
@@ -1,4 +1,4 @@ | |||
1 | { env, roundcubemail, roundcubemail-plugins, roundcubemail-skins, apacheHttpd }: | 1 | { env, roundcubemail, apacheHttpd }: |
2 | rec { | 2 | rec { |
3 | varDir = "/var/lib/roundcubemail"; | 3 | varDir = "/var/lib/roundcubemail"; |
4 | activationScript = { | 4 | activationScript = { |
@@ -75,8 +75,7 @@ rec { | |||
75 | $config['mime_types'] = '${apacheHttpd}/conf/mime.types'; | 75 | $config['mime_types'] = '${apacheHttpd}/conf/mime.types'; |
76 | ''; | 76 | ''; |
77 | }]; | 77 | }]; |
78 | webRoot = (roundcubemail.override { roundcube_config = "/var/secrets/webapps/tools-roundcube"; }).withPlugins | 78 | webRoot = (roundcubemail.override { roundcube_config = "/var/secrets/webapps/tools-roundcube"; }).withPlugins (p: [ p.automatic_addressbook p.carddav p.contextmenu p.contextmenu_folder p.html5_notifier p.ident_switch p.message_highlight p.thunderbird_labels ]); |
79 | (builtins.attrValues roundcubemail-plugins) (builtins.attrValues roundcubemail-skins); | ||
80 | apache = rec { | 79 | apache = rec { |
81 | user = "wwwrun"; | 80 | user = "wwwrun"; |
82 | group = "wwwrun"; | 81 | group = "wwwrun"; |
diff --git a/modules/private/websites/tools/mgoblin/default.nix b/modules/private/websites/tools/mgoblin/default.nix index 5224a0d..719d3d3 100644 --- a/modules/private/websites/tools/mgoblin/default.nix +++ b/modules/private/websites/tools/mgoblin/default.nix | |||
@@ -83,7 +83,7 @@ in { | |||
83 | 83 | ||
84 | services.mediagoblin = { | 84 | services.mediagoblin = { |
85 | enable = true; | 85 | enable = true; |
86 | plugins = builtins.attrValues pkgs.webapps.mediagoblin-plugins; | 86 | package = pkgs.webapps.mediagoblin.withPlugins (p: [p.basicsearch]); |
87 | configFile = "/var/secrets/webapps/tools-mediagoblin"; | 87 | configFile = "/var/secrets/webapps/tools-mediagoblin"; |
88 | }; | 88 | }; |
89 | services.filesWatcher.mediagoblin-web = { | 89 | services.filesWatcher.mediagoblin-web = { |
diff --git a/modules/private/websites/tools/tools/dokuwiki.nix b/modules/private/websites/tools/tools/dokuwiki.nix index 26c04b7..5290a96 100644 --- a/modules/private/websites/tools/tools/dokuwiki.nix +++ b/modules/private/websites/tools/tools/dokuwiki.nix | |||
@@ -19,7 +19,7 @@ rec { | |||
19 | install -m 0750 -o ${apache.user} -g ${apache.group} -d ${varDir}/phpSessions | 19 | install -m 0750 -o ${apache.user} -g ${apache.group} -d ${varDir}/phpSessions |
20 | ''; | 20 | ''; |
21 | }; | 21 | }; |
22 | webRoot = dokuwiki.withPlugins (builtins.attrValues dokuwiki-plugins); | 22 | webRoot = dokuwiki.withPlugins (p: [ p.farmer p.todo ]); |
23 | apache = rec { | 23 | apache = rec { |
24 | user = "wwwrun"; | 24 | user = "wwwrun"; |
25 | group = "wwwrun"; | 25 | group = "wwwrun"; |
diff --git a/modules/private/websites/tools/tools/ttrss.nix b/modules/private/websites/tools/tools/ttrss.nix index 48876d3..ce1ab8e 100644 --- a/modules/private/websites/tools/tools/ttrss.nix +++ b/modules/private/websites/tools/tools/ttrss.nix | |||
@@ -88,7 +88,11 @@ rec { | |||
88 | define('LDAP_AUTH_DEBUG', FALSE); | 88 | define('LDAP_AUTH_DEBUG', FALSE); |
89 | ''; | 89 | ''; |
90 | }]; | 90 | }]; |
91 | webRoot = (ttrss.override { ttrss_config = "/var/secrets/webapps/tools-ttrss"; }).withPlugins (builtins.attrValues ttrss-plugins); | 91 | webRoot = (ttrss.override { ttrss_config = "/var/secrets/webapps/tools-ttrss"; }).withPlugins (p: [ |
92 | p.auth_ldap p.ff_instagram p.tumblr_gdpr_ua | ||
93 | (p.af_feedmod.override { patched = true; }) | ||
94 | (p.feediron.override { patched = true; }) | ||
95 | ]); | ||
92 | apache = rec { | 96 | apache = rec { |
93 | user = "wwwrun"; | 97 | user = "wwwrun"; |
94 | group = "wwwrun"; | 98 | group = "wwwrun"; |
diff --git a/modules/private/websites/tools/tools/yourls.nix b/modules/private/websites/tools/tools/yourls.nix index cb03b6c..77ac0a3 100644 --- a/modules/private/websites/tools/tools/yourls.nix +++ b/modules/private/websites/tools/tools/yourls.nix | |||
@@ -40,8 +40,7 @@ rec { | |||
40 | define( 'LDAPAUTH_USERCACHE_TYPE', 0); | 40 | define( 'LDAPAUTH_USERCACHE_TYPE', 0); |
41 | ''; | 41 | ''; |
42 | }]; | 42 | }]; |
43 | webRoot = (yourls.override { yourls_config = "/var/secrets/webapps/tools-yourls"; }).withPlugins | 43 | webRoot = (yourls.override { yourls_config = "/var/secrets/webapps/tools-yourls"; }).withPlugins (p: [p.ldap]); |
44 | (builtins.attrValues yourls-plugins); | ||
45 | apache = rec { | 44 | apache = rec { |
46 | user = "wwwrun"; | 45 | user = "wwwrun"; |
47 | group = "wwwrun"; | 46 | group = "wwwrun"; |
diff --git a/modules/webapps/mediagoblin.nix b/modules/webapps/mediagoblin.nix index dbc4c2b..19bbc2e 100644 --- a/modules/webapps/mediagoblin.nix +++ b/modules/webapps/mediagoblin.nix | |||
@@ -15,8 +15,8 @@ let | |||
15 | 15 | ||
16 | [app:mediagoblin] | 16 | [app:mediagoblin] |
17 | use = egg:mediagoblin#app | 17 | use = egg:mediagoblin#app |
18 | config = ${cfg.configFile} ${cfg.workdir}/mediagoblin.ini | 18 | config = ${cfg.configFile} ${cfg.package}/mediagoblin.ini |
19 | /mgoblin_static = ${cfg.workdir}/mediagoblin/static | 19 | /mgoblin_static = ${cfg.package}/mediagoblin/static |
20 | 20 | ||
21 | [loggers] | 21 | [loggers] |
22 | keys = root | 22 | keys = root |
@@ -87,26 +87,13 @@ in | |||
87 | package = lib.mkOption { | 87 | package = lib.mkOption { |
88 | type = lib.types.package; | 88 | type = lib.types.package; |
89 | default = pkgs.webapps.mediagoblin; | 89 | default = pkgs.webapps.mediagoblin; |
90 | example = lib.literalExample '' | ||
91 | pkgs.webapps.mediagoblin.withPlugins (p: [p.basicsearch]) | ||
92 | ''; | ||
90 | description = '' | 93 | description = '' |
91 | Mediagoblin package to use. | 94 | Mediagoblin package to use. |
92 | ''; | 95 | ''; |
93 | }; | 96 | }; |
94 | plugins = lib.mkOption { | ||
95 | type = lib.types.listOf lib.types.package; | ||
96 | default = []; | ||
97 | description = '' | ||
98 | Mediagoblin plugins to use. | ||
99 | ''; | ||
100 | }; | ||
101 | # Output variables | ||
102 | workdir = lib.mkOption { | ||
103 | type = lib.types.package; | ||
104 | default = cfg.package.withPlugins cfg.plugins; | ||
105 | description = '' | ||
106 | Adjusted Mediagoblin package with plugins | ||
107 | ''; | ||
108 | readOnly = true; | ||
109 | }; | ||
110 | systemdStateDirectory = lib.mkOption { | 97 | systemdStateDirectory = lib.mkOption { |
111 | type = lib.types.str; | 98 | type = lib.types.str; |
112 | # Use ReadWritePaths= instead if varDir is outside of /var/lib | 99 | # Use ReadWritePaths= instead if varDir is outside of /var/lib |
@@ -187,7 +174,7 @@ in | |||
187 | preStart = '' | 174 | preStart = '' |
188 | if [ -d ${cfg.dataDir}/plugin_static/ ]; then | 175 | if [ -d ${cfg.dataDir}/plugin_static/ ]; then |
189 | rm ${cfg.dataDir}/plugin_static/coreplugin_basic_auth | 176 | rm ${cfg.dataDir}/plugin_static/coreplugin_basic_auth |
190 | ln -sf ${cfg.workdir}/mediagoblin/plugins/basic_auth/static ${cfg.dataDir}/plugin_static/coreplugin_basic_auth | 177 | ln -sf ${cfg.package}/mediagoblin/plugins/basic_auth/static ${cfg.dataDir}/plugin_static/coreplugin_basic_auth |
191 | fi | 178 | fi |
192 | ./bin/gmg -cf ${cfg.configFile} dbupdate | 179 | ./bin/gmg -cf ${cfg.configFile} dbupdate |
193 | ''; | 180 | ''; |
@@ -198,7 +185,7 @@ in | |||
198 | Restart = "always"; | 185 | Restart = "always"; |
199 | TimeoutSec = 15; | 186 | TimeoutSec = 15; |
200 | Type = "simple"; | 187 | Type = "simple"; |
201 | WorkingDirectory = cfg.workdir; | 188 | WorkingDirectory = cfg.package; |
202 | RuntimeDirectory = cfg.systemdRuntimeDirectory; | 189 | RuntimeDirectory = cfg.systemdRuntimeDirectory; |
203 | StateDirectory= cfg.systemdStateDirectory; | 190 | StateDirectory= cfg.systemdStateDirectory; |
204 | PIDFile = cfg.pids.paster; | 191 | PIDFile = cfg.pids.paster; |
@@ -227,7 +214,7 @@ in | |||
227 | Restart = "always"; | 214 | Restart = "always"; |
228 | TimeoutSec = 60; | 215 | TimeoutSec = 60; |
229 | Type = "simple"; | 216 | Type = "simple"; |
230 | WorkingDirectory = cfg.workdir; | 217 | WorkingDirectory = cfg.package; |
231 | RuntimeDirectory = cfg.systemdRuntimeDirectory; | 218 | RuntimeDirectory = cfg.systemdRuntimeDirectory; |
232 | StateDirectory= cfg.systemdStateDirectory; | 219 | StateDirectory= cfg.systemdStateDirectory; |
233 | PIDFile = cfg.pids.celery; | 220 | PIDFile = cfg.pids.celery; |