aboutsummaryrefslogtreecommitdiff
path: root/modules/private/websites/tools/mgoblin/default.nix
diff options
context:
space:
mode:
authorIsmaël Bouya <ismael.bouya@normalesup.org>2019-12-12 00:24:23 +0100
committerIsmaël Bouya <ismael.bouya@normalesup.org>2019-12-20 04:12:27 +0100
commitab8f306d7c2c49b8116e1af7b355ed2384617ed9 (patch)
treed1061ec0436fd096de2332a892eb984c63cb125e /modules/private/websites/tools/mgoblin/default.nix
parent4227853a03923e04daf3dd511a4b5a1ab5d527e7 (diff)
downloadNix-ab8f306d7c2c49b8116e1af7b355ed2384617ed9.tar.gz
Nix-ab8f306d7c2c49b8116e1af7b355ed2384617ed9.tar.zst
Nix-ab8f306d7c2c49b8116e1af7b355ed2384617ed9.zip
Add specification for the private config file as a module.
Diffstat (limited to 'modules/private/websites/tools/mgoblin/default.nix')
-rw-r--r--modules/private/websites/tools/mgoblin/default.nix25
1 files changed, 15 insertions, 10 deletions
diff --git a/modules/private/websites/tools/mgoblin/default.nix b/modules/private/websites/tools/mgoblin/default.nix
index aeae893..5224a0d 100644
--- a/modules/private/websites/tools/mgoblin/default.nix
+++ b/modules/private/websites/tools/mgoblin/default.nix
@@ -1,6 +1,6 @@
1{ lib, pkgs, config, myconfig, ... }: 1{ lib, pkgs, config, ... }:
2let 2let
3 env = myconfig.env.tools.mediagoblin; 3 env = config.myEnv.tools.mediagoblin;
4 cfg = config.myServices.websites.tools.mediagoblin; 4 cfg = config.myServices.websites.tools.mediagoblin;
5 mcfg = config.services.mediagoblin; 5 mcfg = config.services.mediagoblin;
6in { 6in {
@@ -17,7 +17,12 @@ in {
17 user = "mediagoblin"; 17 user = "mediagoblin";
18 group = "mediagoblin"; 18 group = "mediagoblin";
19 permissions = "0400"; 19 permissions = "0400";
20 text = '' 20 text =
21 let
22 psql_url = with env.postgresql; "postgresql://${user}:${password}@:${port}/${database}?host=${socket}";
23 redis_url = with env.redis; "redis+socket://${socket}?virtual_host=${db}";
24 in
25 ''
21 [DEFAULT] 26 [DEFAULT]
22 data_basedir = "${mcfg.dataDir}" 27 data_basedir = "${mcfg.dataDir}"
23 28
@@ -26,7 +31,7 @@ in {
26 email_sender_address = "mediagoblin@tools.immae.eu" 31 email_sender_address = "mediagoblin@tools.immae.eu"
27 32
28 #sql_engine = sqlite:///%(data_basedir)s/mediagoblin.db 33 #sql_engine = sqlite:///%(data_basedir)s/mediagoblin.db
29 sql_engine = ${env.psql_url} 34 sql_engine = ${psql_url}
30 35
31 email_debug_mode = false 36 email_debug_mode = false
32 allow_registration = false 37 allow_registration = false
@@ -52,19 +57,19 @@ in {
52 base_url = /mgoblin_media/ 57 base_url = /mgoblin_media/
53 58
54 [celery] 59 [celery]
55 CELERY_RESULT_DBURI = ${env.redis_url} 60 CELERY_RESULT_DBURI = ${redis_url}
56 BROKER_URL = ${env.redis_url} 61 BROKER_URL = ${redis_url}
57 CELERYD_CONCURRENCY = 1 62 CELERYD_CONCURRENCY = 1
58 63
59 [plugins] 64 [plugins]
60 [[mediagoblin.plugins.geolocation]] 65 [[mediagoblin.plugins.geolocation]]
61 [[mediagoblin.plugins.ldap]] 66 [[mediagoblin.plugins.ldap]]
62 [[[immae.eu]]] 67 [[[immae.eu]]]
63 LDAP_SERVER_URI = 'ldaps://ldap.immae.eu:636' 68 LDAP_SERVER_URI = 'ldaps://${env.ldap.host}:636'
64 LDAP_SEARCH_BASE = 'dc=immae,dc=eu' 69 LDAP_SEARCH_BASE = '${env.ldap.base}'
65 LDAP_BIND_DN = 'cn=mediagoblin,ou=services,dc=immae,dc=eu' 70 LDAP_BIND_DN = '${env.ldap.dn}'
66 LDAP_BIND_PW = '${env.ldap.password}' 71 LDAP_BIND_PW = '${env.ldap.password}'
67 LDAP_SEARCH_FILTER = '(&(memberOf=cn=users,cn=mediagoblin,ou=services,dc=immae,dc=eu)(uid={username}))' 72 LDAP_SEARCH_FILTER = '${env.ldap.filter}'
68 EMAIL_SEARCH_FIELD = 'mail' 73 EMAIL_SEARCH_FIELD = 'mail'
69 [[mediagoblin.plugins.basicsearch]] 74 [[mediagoblin.plugins.basicsearch]]
70 [[mediagoblin.plugins.piwigo]] 75 [[mediagoblin.plugins.piwigo]]