]> git.immae.eu Git - perso/Immae/Config/Nix.git/blobdiff - modules/private/websites/default.nix
Add Patrick Fodella’s website
[perso/Immae/Config/Nix.git] / modules / private / websites / default.nix
index 186a15517db5b28599d71b059d015c8d1e919c92..90a8c1a837da6b91d69a5f2d49828b0c8d4dc616 100644 (file)
@@ -89,6 +89,14 @@ let
   };
   makeModules = lib.lists.flatten (lib.attrsets.mapAttrsToList (n: v: v.modules or []) apacheConfig);
   makeExtraConfig = (builtins.filter (x: x != null) (lib.attrsets.mapAttrsToList (n: v: v.extraConfig or null) apacheConfig));
+  moomin = let
+    lines = lib.splitString "\n" (lib.fileContents ./moomin.txt);
+    pad = width: str: let
+        padWidth = width - lib.stringLength str;
+        padding = lib.concatStrings (lib.genList (lib.const "0") padWidth);
+      in lib.optionalString (padWidth > 0) padding + str;
+  in
+    lib.imap0 (i: e: ''Header always set "X-Moomin-${pad 2 (builtins.toString i)}" "${e}"'') lines;
 in
 {
   options.myServices.websites.enable = lib.mkEnableOption "enable websites";
@@ -96,28 +104,11 @@ in
   config = lib.mkIf config.myServices.websites.enable {
     services.duplyBackup.profiles.php = {
       rootDir = "/var/lib/php";
+      remotes = [ "eriomem" "ovh" ];
     };
     users.users.wwwrun.extraGroups = [ "keys" ];
     networking.firewall.allowedTCPPorts = [ 80 443 ];
 
-    nixpkgs.overlays = [ (self: super: rec {
-      php72 = (super.php72.override {
-        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 ++ [
-          "--with-mysqli=shared,mysqlnd"
-          ];
-        # preConfigure = (old.preConfigure or "") + ''
-        #   export CPPFLAGS="$CPPFLAGS -I${pkgs.mariadb}/include/mysql/server";
-        #   sed -i -e 's/#include "mysqli_priv.h"/#include "mysqli_priv.h"\n#include <mysql_version.h>/' \
-        #     ext/mysqli/mysqli.c ext/mysqli/mysqli_prop.c
-        #   '';
-      });
-    }) ];
-
     secrets.keys = [{
       dest = "apache-ldap";
       user = "wwwrun";
@@ -187,7 +178,7 @@ in
         let ips = config.myEnv.servers.eldiron.ips.integration;
         in [ips.ip4] ++ (ips.ip6 or []);
       modules = makeModules;
-      extraConfig = makeExtraConfig;
+      extraConfig = makeExtraConfig ++ moomin;
       fallbackVhost = {
         certName    = "eldiron";
         hosts       = ["eldiron.immae.eu" ];
@@ -238,6 +229,10 @@ in
         production.enable = true;
       };
 
+      cip-ca = {
+        sympa.enable = true;
+      };
+
       connexionswing = {
         integration.enable = true;
         production.enable = true;
@@ -246,6 +241,9 @@ in
       denise = {
         evariste.enable = true;
         denisejerome.enable = true;
+        oms.enable = true;
+        aventuriers.enable = true;
+        production.enable = true;
       };
 
       emilia.moodle.enable = true;
@@ -286,6 +284,8 @@ in
         maison_bbc.enable = true;
       };
 
+      patrick_fodella.production.enable = true;
+
       piedsjaloux = {
         integration.enable = true;
         production.enable = true;
@@ -297,7 +297,9 @@ in
 
       telio_tortay.production.enable = true;
 
+      tools.assets.enable = true;
       tools.cloud.enable = true;
+      tools.commento.enable = true;
       tools.dav.enable = true;
       tools.db.enable = true;
       tools.diaspora.enable = true;
@@ -306,6 +308,7 @@ in
       tools.mastodon.enable = true;
       tools.mediagoblin.enable = true;
       tools.peertube.enable = true;
+      tools.performance.enable = true;
       tools.tools.enable = true;
       tools.email.enable = true;