]> git.immae.eu Git - perso/Immae/Config/Nix.git/blobdiff - modules/private/websites/default.nix
Add Richie website
[perso/Immae/Config/Nix.git] / modules / private / websites / default.nix
index 0d420ea0905cd7c225c89e404631ba9c91f67db1..3ac4cb548153f2af390c612d34572be381b728e4 100644 (file)
@@ -1,4 +1,4 @@
-{ lib, pkgs, config, myconfig, ... }:
+{ lib, pkgs, config, ... }:
 let
   www_root = "/run/current-system/webapps/_www";
   theme_root = "/run/current-system/webapps/_theme";
@@ -56,7 +56,7 @@ let
     };
     customLog = {
       extraConfig = ''
-        LogFormat "%v:%p %h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combinedVhost
+        LogFormat "%{Host}i:%p %h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combinedVhost
       '';
     };
   };
@@ -64,15 +64,22 @@ let
   makeExtraConfig = (builtins.filter (x: x != null) (lib.attrsets.mapAttrsToList (n: v: v.extraConfig or null) apacheConfig));
 in
 {
-  options.myServices.websites.webappDirs = lib.mkOption {
-    type = lib.types.attrsOf lib.types.path;
-    description = ''
-      Webapp paths to create in /run/current-system/webapps
-      '';
-    default = {};
+  options.myServices.websites = {
+    enable = lib.mkEnableOption "enable websites";
+
+    webappDirs = lib.mkOption {
+      type = lib.types.attrsOf lib.types.path;
+      description = ''
+        Webapp paths to create in /run/current-system/webapps
+        '';
+      default = {};
+    };
   };
 
-  config = {
+  config = lib.mkIf config.myServices.websites.enable {
+    services.duplyBackup.profiles.php = {
+      rootDir = "/var/lib/php";
+    };
     users.users.wwwrun.extraGroups = [ "keys" ];
     networking.firewall.allowedTCPPorts = [ 80 443 ];
 
@@ -107,7 +114,7 @@ in
           <IfModule authnz_ldap_module>
             AuthLDAPURL          ldap://ldap.immae.eu:389/dc=immae,dc=eu STARTTLS
             AuthLDAPBindDN       cn=httpd,ou=services,dc=immae,dc=eu
-            AuthLDAPBindPassword "${myconfig.env.httpd.ldap.password}"
+            AuthLDAPBindPassword "${config.myEnv.httpd.ldap.password}"
             AuthType             Basic
             AuthName             "Authentification requise (Acces LDAP)"
             AuthBasicProvider    ldap
@@ -147,7 +154,7 @@ in
       adminAddr = "httpd@immae.eu";
       httpdName = "Prod";
       ips =
-        let ips = myconfig.env.servers.eldiron.ips.production;
+        let ips = config.myEnv.servers.eldiron.ips.production;
         in [ips.ip4] ++ (ips.ip6 or []);
       modules = makeModules;
       extraConfig = makeExtraConfig;
@@ -164,7 +171,7 @@ in
       adminAddr = "httpd@immae.eu";
       httpdName = "Inte";
       ips =
-        let ips = myconfig.env.servers.eldiron.ips.integration;
+        let ips = config.myEnv.servers.eldiron.ips.integration;
         in [ips.ip4] ++ (ips.ip6 or []);
       modules = makeModules;
       extraConfig = makeExtraConfig;
@@ -181,7 +188,7 @@ in
       adminAddr = "httpd@immae.eu";
       httpdName = "Tools";
       ips =
-        let ips = myconfig.env.servers.eldiron.ips.main;
+        let ips = config.myEnv.servers.eldiron.ips.main;
         in [ips.ip4] ++ (ips.ip6 or []);
       modules = makeModules;
       extraConfig = makeExtraConfig ++
@@ -231,6 +238,7 @@ in
       denisejerome.production.enable = true;
 
       emilia.production.enable = true;
+      emilia.richie_production.enable = true;
 
       florian.app.enable = true;
       florian.integration.enable = true;
@@ -248,6 +256,7 @@ in
       nassime.production.enable = true;
 
       naturaloutil.production.enable = true;
+      telioTortay.production.enable = true;
 
       papa.surveillance.enable = true;
 
@@ -264,6 +273,7 @@ in
       tools.mediagoblin.enable = true;
       tools.peertube.enable = true;
       tools.tools.enable = true;
+      tools.email.enable = true;
     };
   };
 }