]> git.immae.eu Git - perso/Immae/Config/Nix.git/blobdiff - modules/private/websites/aten/integration.nix
Add specification for the private config file as a module.
[perso/Immae/Config/Nix.git] / modules / private / websites / aten / integration.nix
index 6768f80b592dd0b520f5f98f1a9984338c6a5add..7e12b389caa945a93b936ac4319d007a81e6756d 100644 (file)
@@ -1,6 +1,6 @@
-{ lib, pkgs, config, myconfig,  ... }:
+{ lib, pkgs, config,  ... }:
 let
-  secrets = myconfig.env.websites.aten.integration;
+  secrets = config.myEnv.websites.aten.integration;
   app = pkgs.webapps.aten.override { environment = secrets.environment; };
   cfg = config.myServices.websites.aten.integration;
   pcfg = config.services.phpApplication;
@@ -8,6 +8,7 @@ in {
   options.myServices.websites.aten.integration.enable = lib.mkEnableOption "enable Aten's website in integration";
 
   config = lib.mkIf cfg.enable {
+    services.duplyBackup.profiles.aten_dev.rootDir = app.varDir;
     services.phpApplication.apps.aten_dev = {
       websiteEnv = "integration";
       httpdUser = config.services.httpd.Inte.user;
@@ -38,10 +39,15 @@ in {
       user = config.services.httpd.Inte.user;
       group = config.services.httpd.Inte.group;
       permissions = "0400";
-      text = ''
+      text = let
+        # cf:
+        #   https://secure.php.net/manual/fr/function.parse-url.php
+        #   vendor/doctrine/dbal/lib/Doctrine/DBAL/DriverManager.php#parseDatabaseUrlQuery
+        psql_url = with secrets.postgresql; "pdo-pgsql://${user}:${password}@invalid:${port}/${database}?host=${socket}";
+      in ''
         SetEnv APP_ENV      "${app.environment}"
         SetEnv APP_SECRET   "${secrets.secret}"
-        SetEnv DATABASE_URL "${secrets.psql_url}"
+        SetEnv DATABASE_URL "${psql_url}"
         '';
     }];
     services.websites.env.integration.vhostConfs.aten_dev = {