]> git.immae.eu Git - perso/Immae/Config/Nix.git/commitdiff
Merge common functions in websites
authorIsmaël Bouya <ismael.bouya@normalesup.org>
Tue, 22 Jan 2019 08:57:40 +0000 (09:57 +0100)
committerIsmaël Bouya <ismael.bouya@normalesup.org>
Tue, 22 Jan 2019 08:57:40 +0000 (09:57 +0100)
virtual/modules/websites/default.nix

index cfd1f867396ea48b9042656d288f769fd277aa37..f2f0be11c30e6791ef9cacf8578f76c0936f3c7d 100644 (file)
@@ -83,6 +83,8 @@ let
       });
     };
   };
+  makeModules = cfg: pkgs.lib.lists.flatten (pkgs.lib.attrsets.mapAttrsToList (n: v: v.modules or []) cfg.apacheConfig);
+  makeExtraConfig = cfg: (builtins.filter (x: x != null) (pkgs.lib.attrsets.mapAttrsToList (n: v: v.extraConfig or null) cfg.apacheConfig));
 in
 {
   imports = [
@@ -283,16 +285,16 @@ in
     };
 
     services.httpdProd = makeService "production" config.services.myWebsites.production;
-    services.myWebsites.production.modules = pkgs.lib.lists.flatten (pkgs.lib.attrsets.mapAttrsToList (n: v: v.modules or []) cfg.apacheConfig);
-    services.myWebsites.production.extraConfig = (builtins.filter (x: x != null) (pkgs.lib.attrsets.mapAttrsToList (n: v: v.extraConfig or null) cfg.apacheConfig));
+    services.myWebsites.production.modules = makeModules cfg;
+    services.myWebsites.production.extraConfig = makeExtraConfig cfg;
 
     services.httpdInte = makeService "integration" config.services.myWebsites.integration;
-    services.myWebsites.integration.modules = pkgs.lib.lists.flatten (pkgs.lib.attrsets.mapAttrsToList (n: v: v.modules or []) cfg.apacheConfig);
-    services.myWebsites.integration.extraConfig = (builtins.filter (x: x != null) (pkgs.lib.attrsets.mapAttrsToList (n: v: v.extraConfig or null) cfg.apacheConfig));
+    services.myWebsites.integration.modules = makeModules cfg;
+    services.myWebsites.integration.extraConfig = makeExtraConfig cfg;
 
     services.httpdTools = makeService "tools" config.services.myWebsites.tools;
-    services.myWebsites.tools.modules = pkgs.lib.lists.flatten (pkgs.lib.attrsets.mapAttrsToList (n: v: v.modules or []) cfg.apacheConfig);
-    services.myWebsites.tools.extraConfig = (builtins.filter (x: x != null) (pkgs.lib.attrsets.mapAttrsToList (n: v: v.extraConfig or null) cfg.apacheConfig)) ++
+    services.myWebsites.tools.modules = makeModules cfg;
+    services.myWebsites.tools.extraConfig = makeExtraConfig cfg ++
     [ ''
         RedirectMatch ^/licen[cs]es?_et_tip(ping)?$ https://www.immae.eu/licences_et_tip.html
         RedirectMatch ^/licen[cs]es?_and_tip(ping)?$ https://www.immae.eu/licenses_and_tipping.html