config

my_module.schema.yml
views.filter.my_module_entity_options:
  type: views.filter.many_to_one
  label: 'Entity options'
EntityOptions.php
<?php

namespace Drupal\my_module\Plugin\views\filter;

use Drupal\views\Attribute\ViewsFilter;
use Drupal\views\Plugin\views\filter\ManyToOne;

/**
 * Filters a multi-value field by entities of a configurable entity type.
 */
#[ViewsFilter("my_module_entity_options")]
class EntityOptions extends ManyToOne {

  /**
   * {@inheritdoc}
   */
  public function getValueOptions() {
    if (!isset($this->valueOptions)) {
      $this->valueOptions = [];
      $entity_type_id = $this->definition['options entity type'] ?? NULL;
      if ($entity_type_id) {
        $entities = \Drupal::entityTypeManager()
          ->getStorage($entity_type_id)
          ->loadMultiple();
        foreach ($entities as $id => $entity) {
          $this->valueOptions[$id] = $entity->label();
        }
      }
    }
    return $this->valueOptions;
  }

}
MyModuleViewsHooks.php
<?php

namespace Drupal\my_module\Hook;

use Drupal\Core\Hook\Attribute\Hook;

/**
 * Views hook implementations for my_module.
 */
class MyModuleViewsHooks {

  /**
   * Implements hook_views_data_alter().
   */
  #[Hook('views_data_alter')]
  public function viewsDataAlter(array &$data): void {
    // Node field storing user role IDs.
    $data['node__field_roles']['field_roles_value']['filter']['id'] = 'my_module_entity_options';
    // Entity type whose entities are offered as filter options.
    // Change it to reuse the filter, e.g. 'profile_type' or 'group_type'.
    $data['node__field_roles']['field_roles_value']['filter']['options entity type'] = 'user_role';
  }

}

my_module.links.task.yml
my_module.my_form_configuration_tab:
  route_name: my_module.my_form_configuration
  title: Configuration
  base_route: my_module.my_form_configuration

redirect.install
/**
 * Save the bulk delete action to config.
 */
function redirect_update_8104() {
  if (!Action::load('redirect_delete_action')) {
    $entity_type_manager = \Drupal::entityTypeManager();
    $module_handler = \Drupal::moduleHandler();

    // Save the bulk delete action to config.
    $config_install_path = $module_handler->getModule('redirect')->getPath() . '/' . InstallStorage::CONFIG_INSTALL_DIRECTORY;
    $storage = new FileStorage($config_install_path);
    $entity_type_manager
      ->getStorage('action')
      ->create($storage->read('system.action.redirect_delete_action'))
      ->trustData()
      ->save();
  }
}

First, you could check if there are different states of your config between database and local file system.

drush_config_status.sh
drush config:status

There is an option `--diff` for the drush command that will print the changes first.

drush_config_import_diff.sh
drush config:import --diff

This also works for config export.

drush_config_export_diff.sh
drush config:export --diff

default_date_value.php
public static function getDefaultDate() {
  $end_date = new DrupalDateTime();
  $end_date->setTime(23, 59, 59);
  $timezone = new DateTimeZone('UTC');
  $end_date->setTimezone($timezone);
  return $end_date->format('Y-m-d\TH:i:s');
}

field.field.node.mycontenttype.field_date.yml
default_value_callback: '\Drupal\my_custom_module\Entity\DefaultDateValue::getDefaultDate'