--- a/src/Pure/Admin/other_isabelle.scala	Tue May 16 15:53:27 2017 +0200
+++ b/src/Pure/Admin/other_isabelle.scala	Tue May 16 16:04:50 2017 +0200
@@ -33,7 +33,7 @@
 
   /* init settings */
 
-  def init_settings(components_base: String, nonfree: Boolean)
+  def init_settings(components_base: String, nonfree: Boolean, more_settings: List[String])
   {
     if (etc_settings.is_file && !File.read(etc_settings).startsWith("# generated by Isabelle"))
       error("Cannot proceed with existing user settings file: " + etc_settings)
@@ -56,6 +56,11 @@
         "init_components " + File.bash_path(components_base_path) +
           " \"$ISABELLE_HOME/Admin/components/" + catalog + "\"")
     }
-    File.append(etc_settings, "\n" + terminate_lines(component_settings))
+
+    val settings =
+      List(component_settings) :::
+      (if (more_settings.isEmpty) Nil else List(more_settings))
+
+    File.append(etc_settings, "\n" + cat_lines(settings.map(terminate_lines(_))))
   }
 }