diff --git a/src/aphront/console/plugin/config/DarkConsoleConfigPlugin.php b/src/aphront/console/plugin/config/DarkConsoleConfigPlugin.php
index 853e0c4ef1..bd67c45f2b 100755
--- a/src/aphront/console/plugin/config/DarkConsoleConfigPlugin.php
+++ b/src/aphront/console/plugin/config/DarkConsoleConfigPlugin.php
@@ -1,69 +1,100 @@
 <?php
 
 /*
  * Copyright 2011 Facebook, Inc.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
  *
  *   http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
 class DarkConsoleConfigPlugin extends DarkConsolePlugin {
 
   public function getName() {
     return 'Config';
   }
 
   public function getDescription() {
     return 'Information about Phabricator configuration';
   }
 
   public function generateData() {
-    return PhabricatorEnv::getAllConfigKeys();
+    $lib_data = array();
+    foreach (PhutilBootloader::getInstance()->getAllLibraries() as $lib) {
+      $lib_data[$lib] = phutil_get_library_root($lib);
+    }
+    return array(
+      'config' => PhabricatorEnv::getAllConfigKeys(),
+      'libraries' => $lib_data,
+    );
   }
 
   public function render() {
 
     $data = $this->getData();
-    ksort($data);
-    
+
+    $lib_data = $data['libraries'];
+
+    $lib_rows = array();
+    foreach ($lib_data as $key => $value) {
+      $lib_rows[] = array(
+        phutil_escape_html($key),
+        phutil_escape_html($value),
+      );
+    }
+
+    $lib_table = new AphrontTableView($lib_rows);
+    $lib_table->setHeaders(
+      array(
+        'Library',
+        'Loaded From',
+      ));
+    $lib_table->setColumnClasses(
+      array(
+        'header',
+        'wide wrap',
+      ));
+
+    $config_data = $data['config'];
+    ksort($config_data);
+
     $mask = PhabricatorEnv::getEnvConfig('darkconsole.config-mask');
     $mask = array_fill_keys($mask, true);
-    
+
     $rows = array();
-    foreach ($data as $key => $value) {
+    foreach ($config_data as $key => $value) {
       if (empty($mask[$key])) {
         $display_value = is_array($value) ? json_encode($value) : $value;
         $display_value = phutil_escape_html($display_value);
       } else {
         $display_value = phutil_escape_html('<Masked>');
       }
       $rows[] = array(
         phutil_escape_html($key),
         $display_value,
       );
     }
 
     $table = new AphrontTableView($rows);
     $table->setHeaders(
       array(
         'Key',
         'Value',
       ));
     $table->setColumnClasses(
       array(
         'header',
         'wide wrap',
       ));
 
-    return $table->render();
+    return $lib_table->render().$table->render();
   }
 }
diff --git a/src/aphront/console/plugin/config/__init__.php b/src/aphront/console/plugin/config/__init__.php
index 3d244d156e..3a5d4625ac 100644
--- a/src/aphront/console/plugin/config/__init__.php
+++ b/src/aphront/console/plugin/config/__init__.php
@@ -1,16 +1,17 @@
 <?php
 /**
  * This file is automatically generated. Lint this module to rebuild it.
  * @generated
  */
 
 
 
 phutil_require_module('phabricator', 'aphront/console/plugin/base');
 phutil_require_module('phabricator', 'infrastructure/env');
 phutil_require_module('phabricator', 'view/control/table');
 
 phutil_require_module('phutil', 'markup');
+phutil_require_module('phutil', 'moduleutils');
 
 
 phutil_require_source('DarkConsoleConfigPlugin.php');