   [dir opts k]
   (let [config (->> (find-configs dir k)
                     (map read-config)
-                    (apply merge))
-        config (merge config (opts k))]
-    (assoc opts k config)))
+                    (apply merge))]
+    (assoc opts k (merge config (opts k)))))
 
 
 (defn initialize



(defn- read-config
  "Reads an EDN configuration file."
  [path]
  (try
    (edn/read-string
      {:readers config-readers}
      (slurp path))
    (catch Exception e
      (println "Error loading config file" (str path))
      (.printStackTrace e)

;{:default :local, :local #vault/file-store (:sha256 "/home/$USER/var/vault")}


(defn select-blob-store
  "Recursively selects a blob store in a config map."
  [stores selection]
  (->> (or selection :default)
