]> git.immae.eu Git - perso/Immae/Config/Nix.git/blobdiff - virtual/modules/databases/default.nix
Put some database variables to environment
[perso/Immae/Config/Nix.git] / virtual / modules / databases / default.nix
index e3a56129fa75940faa19fc99dfd5b5992a42293f..304ad8923484ad0c9c874ed52616485f10d00062 100644 (file)
@@ -1,4 +1,4 @@
-{ lib, pkgs, config, mylibs, ... }:
+{ lib, pkgs, config, myconfig, mylibs, ... }:
 let
     cfg = config.services.myDatabases;
 in {
@@ -73,7 +73,7 @@ in {
     };
 
     system.activationScripts.postgresql = ''
-      install -m 0755 -o postgres -g postgres -d /run/postgresql
+      install -m 0755 -o postgres -g postgres -d ${myconfig.env.databases.postgresql.socket}
       '';
 
     services.postgresql = rec {
@@ -112,20 +112,18 @@ in {
 
     security.pam.services = let
       pam_ldap = pkgs.pam_ldap;
-      pam_ldap_mysql = assert mylibs.checkEnv "NIXOPS_MYSQL_PAM_PASSWORD";
-              pkgs.writeText "mysql.conf" ''
+      pam_ldap_mysql = pkgs.writeText "mysql.conf" ''
         host ldap.immae.eu
         base dc=immae,dc=eu
         binddn cn=mysql,cn=pam,ou=services,dc=immae,dc=eu
-        bindpw ${builtins.getEnv "NIXOPS_MYSQL_PAM_PASSWORD"}
+        bindpw ${myconfig.env.databases.mysql.pam_password}
         pam_filter memberOf=cn=users,cn=mysql,cn=pam,ou=services,dc=immae,dc=eu
         '';
-      pam_ldap_postgresql_replication = assert mylibs.checkEnv "NIXOPS_ELDIRON_LDAP_PASSWORD";
-              pkgs.writeText "postgresql.conf" ''
+      pam_ldap_postgresql_replication = pkgs.writeText "postgresql.conf" ''
         host ldap.immae.eu
         base dc=immae,dc=eu
         binddn cn=eldiron,ou=hosts,dc=immae,dc=eu
-        bindpw ${builtins.getEnv "NIXOPS_ELDIRON_LDAP_PASSWORD"}
+        bindpw ${myconfig.env.ldap.password}
         pam_login_attribute cn
         '';
     in [
@@ -153,23 +151,18 @@ in {
       }
     ];
 
-    # Diaspora: 15
-    # Nextcloud: 14
-    # Mastodon: 13
-    # Mediagoblin: 12
-    # wallabag: 0 ?
     services.redis = rec {
       enable = config.services.myDatabases.redis.enable;
       bind = "127.0.0.1";
-      unixSocket = "/run/redis/redis.sock";
+      unixSocket = myconfig.env.databases.redis.socket;
       extraConfig = ''
         unixsocketperm 777
         maxclients 1024
         '';
     };
     system.activationScripts.redis = ''
-      mkdir -p /run/redis
-      chown redis /run/redis
+      mkdir -p $(dirname ${myconfig.env.databases.redis.socket})
+      chown redis $(dirname ${myconfig.env.databases.redis.socket})
     '';
   };
 }