};
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";
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 ];
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" ];
evariste.enable = true;
denisejerome.enable = true;
oms.enable = true;
+ aventuriers.enable = true;
production.enable = true;
};
- emilia.moodle.enable = true;
+ emilia.moodle.enable = false;
florian = {
app.enable = true;
maison_bbc.enable = true;
};
+ patrick_fodella.production.enable = true;
+
piedsjaloux = {
integration.enable = true;
production.enable = true;
telio_tortay.production.enable = true;
+ tools.assets.enable = true;
tools.cloud.enable = true;
tools.commento.enable = true;
tools.dav.enable = true;