anchor.diff:        extraModules = mkOption {
           type = types.listOf types.unspecified;
           default = [];
  -        example = literalExample ''[ "proxy_connect" { name = "php5"; path = "''${pkgs.php}/modules/libphp5.so"; } ]'';
  +        example = literalExample ''
  +          [
  +            "proxy_connect"
  +            { name = "jk"; path = "''${pkgs.tomcat_connectors}/modules/mod_jk.so"; }
  +          ]
  +        '';
           description = ''
             Additional Apache modules to be used.  These can be
             specified as a string in the case of modules distributed
  
positive.code: 
    listenToString = l: "${l.ip}:${toString l.port}";
  
    extraModules = attrByPath ["extraModules"] [] mainCfg;
    extraForeignModules = filter isAttrs extraModules;
    extraApacheModules = filter isString extraModules;
  
    allHosts = [mainCfg] ++ mainCfg.virtualHosts;
  
    enableSSL = any (vhost: vhost.enableSSL) allHosts;
  
  
    # Names of modules from ${httpd}/modules that we want to load.
    apacheModules =
      [ # HTTP authentication mechanisms: basic and digest.
        "auth_basic" "auth_digest"
  
        # Authentication: is the user who he claims to be?
        "authn_file" "authn_dbm" "authn_anon" "authn_core"
  
        # Authorization: is the user allowed access?
        "authz_user" "authz_groupfile" "authz_host" "authz_core"
  
        # Other modules.
        "ext_filter" "include" "log_config" "env" "mime_magic"
        "cern_meta" "expires" "headers" "usertrack" /* "unique_id" */ "setenvif"
        "mime" "dav" "status" "autoindex" "asis" "info" "dav_fs"
        "vhost_alias" "negotiation" "dir" "imagemap" "actions" "speling"
        "userdir" "alias" "rewrite" "proxy" "proxy_http"
        "unixd" "cache" "cache_disk" "slotmem_shm" "socache_shmcb"
        "mpm_${mainCfg.multiProcessingModule}"
  
        # For compatibility with old configurations, the new module mod_access_compat is provided.
        "access_compat"
      ]
      ++ (if mainCfg.multiProcessingModule == "prefork" then [ "cgi" ] else [ "cgid" ])
      ++ optional enableSSL "ssl"
      ++ extraApacheModules;
  
  
    allDenied = "Require all denied";
  
negative.code:         date.timezone = "${config.time.timeZone}"
        '';
  
      services.httpd.extraModules = mkBefore [
        # HTTP authentication mechanisms: basic and digest.
        "auth_basic" "auth_digest"
  
        # Authentication: is the user who he claims to be?
        "authn_file" "authn_dbm" "authn_anon"
  
        # Authorization: is the user allowed access?
        "authz_user" "authz_groupfile" "authz_host"
  
        # Other modules.
        "ext_filter" "include" "env" "mime_magic"
        "cern_meta" "expires" "headers" "usertrack" "setenvif"
        "dav" "status" "asis" "info" "dav_fs"
        "vhost_alias" "imagemap" "actions" "speling"
        "proxy" "proxy_http"
        "cache" "cache_disk"
  
        # For compatibility with old configurations, the new module mod_access_compat is provided.
        "access_compat"
      ];
  
      systemd.services.httpd =
        { description = "Apache HTTPD";
  
  