anchor.diff:          ${concatStringsSep "\n" (mapAttrsToList (name: theme: "linkTheme ${theme} ${escapeShellArg name}") cfg.themes)}
         '';
   
  -      keycloakConfig' = foldl' recursiveUpdate {
  -        "interface=public".inet-address = cfg.bindAddress;
  -        "socket-binding-group=standard-sockets"."socket-binding=http".port = cfg.httpPort;
  -        "subsystem=keycloak-server" = {
  -          "spi=hostname"."provider=default" = {
  -            enabled = true;
  -            properties = {
  -              inherit (cfg) frontendUrl forceBackendUrlToFrontendUrl;
  -            };
  -          };
  -          "theme=defaults".dir = toString themesBundle;
  -        };
  -        "subsystem=datasources"."data-source=KeycloakDS" = {
  -          max-pool-size = "20";
  -          user-name = if databaseActuallyCreateLocally then "keycloak" else cfg.database.username;
  -          password = "@db-password@";
  -        };
  -      } [
  +      keycloakConfig' = foldl' recursiveUpdate
  +        {
  +          "interface=public".inet-address = cfg.bindAddress;
  +          "socket-binding-group=standard-sockets"."socket-binding=http".port = cfg.httpPort;
  +          "subsystem=keycloak-server" = {
  +            "spi=hostname"."provider=default" = {
  +              enabled = true;
  +              properties = {
  +                inherit (cfg) frontendUrl forceBackendUrlToFrontendUrl;
  +              };
  +            };
  +            "theme=defaults".dir = toString themesBundle;
  +          };
  +          "subsystem=datasources"."data-source=KeycloakDS" = {
  +            max-pool-size = "20";
  +            user-name = if databaseActuallyCreateLocally then "keycloak" else cfg.database.username;
  +            password = "@db-password@";
  +          };
  +        } [
           (optionalAttrs (cfg.database.type == "postgresql") {
             "subsystem=datasources" = {
               "jdbc-driver=postgresql" = {
  
positive.code:                 let
                    type = typeOf value;
                  in
                    if type == "set" then
                      "${attribute} = { " + (makeArgList value) + " }"
                    else if elem type [ "string" "path" "bool" ] then
                      "${attribute} = ${if type == "bool" then boolToString value else ''"${value}"''}"
                    else if value == null then
                      ""
                    else
                      throw "Unsupported type '${type}' for attribute '${attribute}'!";
  
              in
                concatStringsSep ", " (mapAttrsToList makeArg set);
  
  
            /* Recurses into the `nodeValue` attrset. Only subattrsets that
  
negative.code:                 let
                    value = nodeContent.${name};
                  in
                  if (match ".*([=]).*" name) == [ "=" ] then
                    if isAttrs value || value == null then
                      true
                    else
                      throw "Parsing path '${concatStringsSep "." (nodePath ++ [ name ])}' failed: JBoss attributes cannot contain '='!"
                  else
                    false;
                jbossPath = "/" + concatStringsSep "/" nodePath;
                children = if !isAttrs nodeContent then { } else nodeContent;
                subPaths = filter isPath (attrNames children);
                getPriority = name:
                  let
                    value = children.${name};
                  in
                  if value._type or "" == "order" then value.priority else 1000;
                orderedSubPaths = sort (a: b: getPriority a < getPriority b) subPaths;
                jbossAttrs = filterAttrs (name: _: !(isPath name)) children;
                text =
  