]> git.immae.eu Git - perso/Immae/Config/Nix.git/blobdiff - modules/private/websites/default.nix
Add syden peertube website
[perso/Immae/Config/Nix.git] / modules / private / websites / default.nix
index e2bcef5269aac642ca39ecb4dff7ffe1134e4a8a..3d43b1108fab5f7ce4a7b91fbffb97ec811ee4f5 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";
@@ -64,16 +64,20 @@ 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 = {
-    services.backup.profiles.php = {
+  config = lib.mkIf config.myServices.websites.enable {
+    services.duplyBackup.profiles.php = {
       rootDir = "/var/lib/php";
     };
     users.users.wwwrun.extraGroups = [ "keys" ];
@@ -83,9 +87,9 @@ in
       #openssl = self.openssl_1_1;
       php = php72;
       php72 = (super.php72.override {
-        mysql.connector-c = self.mariadb;
-        config.php.mysqlnd = false;
+        config.php.mysqlnd = true;
         config.php.mysqli = false;
+        config.php.mhash = true; # Is it needed?
       }).overrideAttrs(old: rec {
         # Didn't manage to build with mysqli + mysql_config connector
         configureFlags = old.configureFlags ++ [
@@ -110,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
@@ -121,7 +125,7 @@ in
 
     system.activationScripts = {
       httpd = ''
-        install -d -m 0755 ${config.security.acme.directory}/acme-challenge
+        install -d -m 0755 /var/lib/acme/acme-challenges
         install -d -m 0750 -o wwwrun -g wwwrun /var/lib/php/sessions
         '';
     };
@@ -136,9 +140,9 @@ in
         ; 30 days (minutes)
         session.cache_expire = 43200
         '';
-      extraConfig = ''
-        log_level = notice
-        '';
+      settings = {
+        log_level = "notice";
+      };
     };
 
     services.filesWatcher.httpdProd.paths = [ "/var/secrets/apache-ldap" ];
@@ -150,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;
@@ -167,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;
@@ -184,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 ++
@@ -220,8 +224,9 @@ in
         _theme = pkgs.webapps.apache-theme.theme;
       };
 
-      aten.integration.enable = true;
-      aten.production.enable = true;
+      isabelle.aten_integration.enable = true;
+      isabelle.aten_production.enable = true;
+      isabelle.iridologie.enable = true;
 
       capitaines.production.enable = true;
 
@@ -234,6 +239,7 @@ in
       denisejerome.production.enable = true;
 
       emilia.production.enable = true;
+      emilia.richie_production.enable = true;
 
       florian.app.enable = true;
       florian.integration.enable = true;
@@ -250,14 +256,18 @@ in
 
       nassime.production.enable = true;
 
+      evariste.production.enable = true;
       naturaloutil.production.enable = true;
       telioTortay.production.enable = true;
 
       papa.surveillance.enable = true;
+      papa.maison_bbc.enable = true;
 
       piedsjaloux.integration.enable = true;
       piedsjaloux.production.enable = true;
 
+      syden.peertube.enable = true;
+
       tools.cloud.enable = true;
       tools.dav.enable = true;
       tools.db.enable = true;