 
 
 (defn- read-config
-  "Reads an EDN configuration file."
+  "Reads a Clojure configuration file."
   [path]
   (try
-    (edn/read-string
-      {:readers config-readers}
-      (slurp path))
+    (binding [*ns* *ns*]
+      (in-ns 'vault.tool.config.blob-stores)
+      (refer-clojure)
+      (require
+        '(vault.blob.store
+           [file :refer [file-store]]
+           [memory :refer [memory-store]]))
+      (load-string (slurp path)))
     (catch Exception e
       (println "Error loading config file" (str path))
       (.printStackTrace e)

(ns vault.tool.config
  (:require
    [clojure.edn :as edn]
    [clojure.java.io :as io]
    [puget.printer :refer [cprint]]
    (vault.blob.store
      [file :refer [file-store]]
      [memory :refer [memory-store]])))


;; CONFIGURATION FILE LOADING

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


(defn initialize
