anchor.diff:        };
   
         user = mkOption {
  +        type = types.string;
           default = "openldap";
           description = "User account under which slapd runs.";
         };
   
         group = mkOption {
  +        type = types.string;
           default = "openldap";
           description = "Group account under which slapd runs.";
         };
   
  +      dataDir = mkOption {
  +        type = types.string;
  +        default = "/var/db/openldap";
  +        description = "The database directory.";
  +      };
  +
         extraConfig = mkOption {
  +        type = types.lines;
           default = "";
           description = "
             sldapd.conf configuration
  
positive.code:     services.openldap = {
  
        enable = mkOption {
          default = false;
          description = "
            Whether to enable the ldap server.
  
negative.code:       preStart = ''
          mkdir -p /var/run/slapd
          chown -R ${cfg.user}:${cfg.group} /var/run/slapd
          mkdir -p ${cfg.dataDir}
          chown -R ${cfg.user}:${cfg.group} ${cfg.dataDir}
        '';
        serviceConfig.ExecStart = "${openldap}/libexec/slapd -u ${cfg.user} -g ${cfg.group} -d 0 -f ${configFile}";
      };
  
      users.extraUsers.openldap =
        { name = cfg.user;
          group = cfg.group;
          uid = config.ids.uids.openldap;
        };
  
      users.extraGroups.openldap =
        { name = cfg.group;
          gid = config.ids.gids.openldap;
        };
  
    };
  }
  