diff --git a/config/schema/plugin.field.schema.yml b/config/schema/plugin.field.schema.yml
new file mode 100644
index 0000000..b7153e3
--- /dev/null
+++ b/config/schema/plugin.field.schema.yml
@@ -0,0 +1,14 @@
+# The "plugin" field type schema.
+"field.value.plugin:*":
+  label: Plugin collection field value
+  mapping:
+    plugin_type_id:
+      label: Plugin type ID
+      type: string
+    plugin_id:
+      label: Plugin ID
+      type: string
+    plugin_configuration:
+      label: Plugin configuration
+      type: plugin.plugin_configuration.[%parent.plugin_type_id].[%parent.plugin_id]:
+  type: mapping
diff --git a/config/schema/plugin.plugin_configuration.schema.yml b/config/schema/plugin.plugin_configuration.schema.yml
new file mode 100644
index 0000000..96ade69
--- /dev/null
+++ b/config/schema/plugin.plugin_configuration.schema.yml
@@ -0,0 +1,39 @@
+# This file contains the configuration schemas for plugin configuration.
+
+# Fallback schema in case no more specific schemas are available.
+plugin.plugin_configuration.*:
+  type: ignore
+
+# The base schema for all plugins that extend
+# \Drupal\plugin\Plugin\Plugin\PluginSelector\PluginSelectorBase.
+plugin.plugin_configuration.plugin_selector.plugin_selector_base:
+  type: mapping
+  mapping:
+    collect_plugin_configuration:
+      label: Collect plugin configuration
+      type: boolean
+    keep_previously_selected_plugins:
+      label: Keep previously selected plugins
+      type: boolean
+    label:
+      label: Label
+      type: label
+    name:
+      label: Required
+      type: boolean
+
+# The schema for \Drupal\plugin\Plugin\Plugin\PluginSelector\Radios.
+plugin.plugin_configuration.plugin_selector.plugin_radios:
+  type: plugin.plugin_configuration.plugin_selector.plugin_selector_base
+
+# The schema for \Drupal\plugin\Plugin\Plugin\PluginSelector\SelectList.
+plugin.plugin_configuration.plugin_selector.plugin_select_list:
+  type: plugin.plugin_configuration.plugin_selector.plugin_selector_base
+
+# Drupal core's plugin types.
+plugin.plugin_configuration.condition.*:
+  type: condition.plugin.[%parent.id]
+
+# Block's plugin types.
+plugin.plugin_configuration.block.*:
+  type: block.settings.[%parent.id]
diff --git a/config/schema/plugin.schema.yml b/config/schema/plugin.schema.yml
deleted file mode 100644
index dbba5fe..0000000
--- a/config/schema/plugin.schema.yml
+++ /dev/null
@@ -1,40 +0,0 @@
-plugin.plugin_configuration.plugin_selector.plugin_selector_base:
-  type: mapping
-  mapping:
-    collect_plugin_configuration:
-      label: Collect plugin configuration
-      type: boolean
-    keep_previously_selected_plugins:
-      label: Keep previously selected plugins
-      type: boolean
-    label:
-      label: Label
-      type: label
-    name:
-      label: Required
-      type: boolean
-
-plugin.plugin_configuration.plugin_selector.plugin_radios:
-  type: plugin.plugin_configuration.plugin_selector.plugin_selector_base
-
-plugin.plugin_configuration.plugin_selector.plugin_select_list:
-  type: plugin.plugin_configuration.plugin_selector.plugin_selector_base
-
-# Fallback plugin configuration in case no more specific schemas are available.
-plugin.plugin_configuration.*:
-  type: ignore
-
-# The "plugin" field type schema.
-"field.value.plugin:*":
-  label: Plugin collection field value
-  mapping:
-    plugin_type_id:
-      label: Plugin type ID
-      type: string
-    plugin_id:
-      label: Plugin ID
-      type: string
-    plugin_configuration:
-      label: Plugin configuration
-      type: plugin.plugin_configuration.[%parent.plugin_type_id].[%parent.plugin_id]:
-  type: mapping
