anchor.diff:        };
   
         ensureUsers = mkOption {
  +        type = types.listOf (types.submodule {
  +          options = {
  +            name = mkOption {
  +              type = types.str;
  +              description = ''
  +                Name of the user to ensure.
  +              '';
  +            };
  +            ensurePermissions = mkOption {
  +              type = types.attrsOf types.str;
  +              default = {};
  +              description = ''
  +                Permissions to ensure for the user, specified as attribute set.
  +                The attribute names specify the database and tables to grant the permissions for,
  +                separated by a dot. You may use wildcards here.
  +                The attribute values specfiy the permissions to grant.
  +                You may specify one or multiple comma-separated SQL privileges here.
  +
  +                For more information on how to specify the target
  +                and on which privileges exist, see the
  +                <link xlink:href="https://mariadb.com/kb/en/library/grant/">GRANT syntax</link>.
  +                The attributes are used as <code>GRANT ''${attrName} ON ''${attrValue}</code>.
  +              '';
  +              example = literalExample ''
  +                {
  +                  "database.*" = "ALL PRIVILEGES";
  +                  "*.*" = "SELECT, LOCK TABLES";
  +                }
  +              '';
  +            };
  +          };
  +        });
           default = [];
           description = ''
             Ensures that the specified users exist and have at least the ensured permissions.
  
positive.code:       };
  
        initialScript = mkOption {
          default = null;
          description = "A file containing SQL statements to be executed on the first startup. Can be used for granting certain permissions on the database";
        };
  
        ensureDatabases = mkOption {
          default = [];
          description = ''
            Ensures that the specified databases exist.
  
negative.code:       };
  
        initialDatabases = mkOption {
          type = types.listOf (types.submodule {
            options = {
              name = mkOption {
                type = types.str;
                description = ''
                  The name of the database to create.
                '';
              };
              schema = mkOption {
                type = types.nullOr types.path;
                default = null;
                description = ''
                  The initial schema of the database; if null (the default),
                  an empty database is created.
                '';
              };
            };
          });
          default = [];
          description = ''
            List of database names and their initial schemas that should be used to create databases on the first startup
  