X-Git-Url: https://git.immae.eu/?p=perso%2FImmae%2FConfig%2FNix.git;a=blobdiff_plain;f=modules%2Fprivate%2Fwebsites%2Fdefault.nix;h=90a8c1a837da6b91d69a5f2d49828b0c8d4dc616;hp=186a15517db5b28599d71b059d015c8d1e919c92;hb=982dc1fabf71cc91ef4409848dd1952c7e6f479f;hpb=dcac3ec730176549cd52a9a42db2001dc652c30d diff --git a/modules/private/websites/default.nix b/modules/private/websites/default.nix index 186a155..90a8c1a 100644 --- a/modules/private/websites/default.nix +++ b/modules/private/websites/default.nix @@ -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 /' \ - # 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;