anchor.diff:    config = mkIf cfg.enable {
   
       assertions = [
  -      { assertion = cfg.database.passwordFile != null || cfg.database.password != "" || cfg.database.socket != null;
  -        message = "one of services.redmine.database.socket, services.redmine.database.passwordFile, or services.redmine.database.password must be set";
  +      { assertion = cfg.database.passwordFile != null || cfg.database.socket != null;
  +        message = "one of services.redmine.database.socket or services.redmine.database.passwordFile must be set";
         }
         { assertion = cfg.database.createLocally -> cfg.database.user == cfg.user;
           message = "services.redmine.database.user must be set to ${cfg.user} if services.redmine.database.createLocally is set true";
  
positive.code:       redmine.gid = config.ids.gids.redmine;
      };
  
      warnings = optional (cfg.database.password != "")
        ''config.services.redmine.database.password will be stored as plaintext
        in the Nix store. Use database.passwordFile instead.'';
  
      # Create database passwordFile default when password is configured.
      services.redmine.database.passwordFile =
        (mkDefault (toString (pkgs.writeTextFile {
          name = "redmine-database-password";
          text = cfg.database.password;
        })));
  
    };
  
  }
  
negative.code:           description = "Database user.";
          };
  
          passwordFile = mkOption {
            type = types.nullOr types.path;
            default = null;
  