});
};
};
+ 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 = [
./tools/cloud
./tools/git
./tools/mastodon
+ ./tools/mediagoblin
+ ./tools/diaspora
# built using:
# sed -e "s/services\.httpd/services\.httpdProd/g" .nix-defexpr/channels/nixpkgs/nixos/modules/services/web-servers/apache-httpd/default.nix
# Removed allGranted
services.myWebsites.tools.cloud.enable = true;
services.myWebsites.tools.git.enable = true;
services.myWebsites.tools.mastodon.enable = true;
+ services.myWebsites.tools.mediagoblin.enable = true;
+ services.myWebsites.tools.diaspora.enable = true;
services.myWebsites.Chloe.production.enable = cfg.production.enable;
services.myWebsites.Ludivine.production.enable = cfg.production.enable;
};
ldap = {
modules = [ "ldap" "authnz_ldap" ];
- # FIXME: starttls
extraConfig = assert mylibs.checkEnv "NIXOPS_HTTP_LDAP_PASSWORD"; ''
<IfModule ldap_module>
LDAPSharedCacheSize 500000
'';
};
- # FIXME: logrotate
- # FIXME: ipv6
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