anchor.diff:          description = ''
             Whether a database should be automatically created on the
             local host. Set this to <literal>false</literal> if you plan
  -          on provisioning a local database yourself or use an external
  -          one.
  +          on provisioning a local database yourself. This has no effect
  +          if <option>services.gitlab.databaseHost</option> is customized.
           '';
         };
   
  
positive.code: 
      assertions = [
        {
          assertion = cfg.databaseCreateLocally -> (cfg.user == cfg.databaseUsername);
          message = "For local automatic database provisioning services.gitlab.user and services.gitlab.databaseUsername should be identical.";
        }
        {
          assertion = (cfg.databaseHost != "") -> (cfg.databasePasswordFile != null);
  
negative.code:     services.redis.enable = mkDefault true;
  
      # We use postgres as the main data store.
      services.postgresql = optionalAttrs databaseActuallyCreateLocally {
        enable = true;
        ensureUsers = singleton { name = cfg.databaseUsername; };
      };
      # The postgresql module doesn't currently support concepts like
      # objects owners and extensions; for now we tack on what's needed
      # here.
      systemd.services.postgresql.postStart = mkAfter (optionalString databaseActuallyCreateLocally ''
        $PSQL -tAc "SELECT 1 FROM pg_database WHERE datname = '${cfg.databaseName}'" | grep -q 1 || $PSQL -tAc 'CREATE DATABASE "${cfg.databaseName}" OWNER "${cfg.databaseUsername}"'
        current_owner=$($PSQL -tAc "SELECT pg_catalog.pg_get_userbyid(datdba) FROM pg_catalog.pg_database WHERE datname = '${cfg.databaseName}'")
        if [[ "$current_owner" != "${cfg.databaseUsername}" ]]; then
  