aboutsummaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
authorIsmaël Bouya <ismael.bouya@normalesup.org>2020-05-08 23:59:21 +0200
committerIsmaël Bouya <ismael.bouya@normalesup.org>2020-05-09 00:30:49 +0200
commit34c7b88e16d1768b1b9a0cfa6dd21ea5d9b1b308 (patch)
treeb0ace6db106ee8ce19ee17c4cc798dcccf5c77f9 /modules
parentc4216ddb8bedd0b75149c039bd5dc86c3d6a9b7f (diff)
downloadNix-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.nix2
-rw-r--r--modules/private/websites/tools/mail/default.nix2
-rw-r--r--modules/private/websites/tools/mail/roundcubemail.nix5
-rw-r--r--modules/private/websites/tools/mgoblin/default.nix2
-rw-r--r--modules/private/websites/tools/tools/dokuwiki.nix2
-rw-r--r--modules/private/websites/tools/tools/ttrss.nix6
-rw-r--r--modules/private/websites/tools/tools/yourls.nix3
-rw-r--r--modules/webapps/mediagoblin.nix29
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, ... }:
2let 2let
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 }:
2rec { 2rec {
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;