   `(let [x# ~body]
      (println "dbg:" '~body "=" x#)
 x#))
+
+(defn- mysummary [sq]
+  (with-out-str
+    (pprint/pprint
+     (map
+      (fn [arg-parts]
+        (select-keys arg-parts
+                     [:short-opt
+                      :long-opt
+                      :required
+                      :desc
+                      :default-desc]))
+      sq))))
 
 (defn- generate-repo-index!
   [options arguments]

(def cli-options
  [["-c" "--config-file FILE" "config file"
    :default (fs/file (fs/expand-home "~/.config/degasolv/config.edn"))
    :validate [#(and (fs/exists? %)
                     (fs/file? %))
               "Must be a regular file (which hopefully contains config info."]]])

  (let [{:keys [options arguments errors summary]}
        (parse-opts args (concat
                          cli-options
                          [["-h" "--help" "Print this help page"]])
                    :in-order true)]
    (cond
      (:help options) (exit 0 (str (usage summary)
