]> git.immae.eu Git - perso/Immae/Config/Nix.git/commitdiff
Add Moomin in integration headers
authorIsmaël Bouya <ismael.bouya@normalesup.org>
Thu, 2 Jul 2020 11:05:22 +0000 (13:05 +0200)
committerIsmaël Bouya <ismael.bouya@normalesup.org>
Thu, 2 Jul 2020 11:05:22 +0000 (13:05 +0200)
modules/private/websites/default.nix

index f84567e8c8cf85c3b6519537e8f603daceb6a328..c366fd29bbb1c9adb4cb159339440a0fe956e5d3 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";
@@ -169,7 +177,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" ];