diff --git a/core/modules/file/config/file.settings.yml b/core/modules/file/config/file.settings.yml
new file mode 100644
index 0000000..b4941d8
--- /dev/null
+++ b/core/modules/file/config/file.settings.yml
@@ -0,0 +1,2 @@
+description_length: 128
+description_type: 'textfield'
diff --git a/core/modules/file/file.field.inc b/core/modules/file/file.field.inc
index 28a32a9..a8c8e28 100644
--- a/core/modules/file/file.field.inc
+++ b/core/modules/file/file.field.inc
@@ -568,11 +568,12 @@ function file_field_widget_process($element, &$form_state, $form) {
 
   // Add the description field if enabled.
   if (!empty($instance['settings']['description_field']) && $item['fid']) {
+    $config = config('file.settings');
     $element['description'] = array(
-      '#type' => variable_get('file_description_type', 'textfield'),
+      '#type' => $config->get('description_type'),
       '#title' => t('Description'),
       '#value' => isset($item['description']) ? $item['description'] : '',
-      '#maxlength' => variable_get('file_description_length', 128),
+      '#maxlength' => $config->get('description_length'),
       '#description' => t('The description may be used as the label of the link to the file.'),
     );
   }
diff --git a/core/modules/file/file.module b/core/modules/file/file.module
index 4e6c8eb..893cc11 100644
--- a/core/modules/file/file.module
+++ b/core/modules/file/file.module
@@ -1285,7 +1285,8 @@ function file_managed_file_pre_render($element) {
  *   An associative array containing:
  *   - file: A file object to which the link will be created.
  *   - icon_directory: (optional) A path to a directory of icons to be used for
- *     files. Defaults to the value of the "file_icon_directory" variable.
+ *     files. Defaults to the value of the "file.settings.icon_directory"
+ *     variable.
  *
  * @ingroup themeable
  */
@@ -1324,7 +1325,8 @@ function theme_file_link($variables) {
  *   An associative array containing:
  *   - file: A file entity for which to make an icon.
  *   - icon_directory: (optional) A path to a directory of icons to be used for
- *     files. Defaults to the value of the "file_icon_directory" variable.
+ *     files. Defaults to the value of the "file.settings.icon_directory"
+ *     variable.
  *
  * @ingroup themeable
  */
@@ -1344,7 +1346,7 @@ function theme_file_icon($variables) {
  *   A file entity.
  * @param $icon_directory
  *   (optional) A path to a directory of icons to be used for files. Defaults to
- *   the value of the "file_icon_directory" variable.
+ *   the value of the "file.settings.icon_directory" variable.
  *
  * @return
  *   A URL string to the icon, or FALSE if an appropriate icon cannot be found.
@@ -1363,7 +1365,7 @@ function file_icon_url(File $file, $icon_directory = NULL) {
  *   A file entity.
  * @param $icon_directory
  *   (optional) A path to a directory of icons to be used for files. Defaults to
- *   the value of the "file_icon_directory" variable.
+ *   the value of the "file.settings.icon_directory" variable.
  *
  * @return
  *   A string to the icon as a local path, or FALSE if an appropriate icon could
@@ -1372,7 +1374,7 @@ function file_icon_url(File $file, $icon_directory = NULL) {
 function file_icon_path(File $file, $icon_directory = NULL) {
   // Use the default set of icons if none specified.
   if (!isset($icon_directory)) {
-    $icon_directory = variable_get('file_icon_directory', drupal_get_path('module', 'file') . '/icons');
+    $icon_directory = config('file.settings')->get('icon_directory') ?: drupal_get_path('module', 'file') . '/icons';
   }
 
   // If there's an icon matching the exact mimetype, go for it.
