diff --git a/doerg/default.nix b/doerg/default.nix index e743654..e10fdb9 100644 --- a/doerg/default.nix +++ b/doerg/default.nix @@ -31,15 +31,13 @@ let doerg-temml-worker ]; - doerg-config = writeText "doerg-config.edn" '' - tee $out < (fs/which %) fs/file) + ;; I'd love to use `fs/which` here, but it's fairly problematic to + ;; check `fs/executable?` at… build time (which `fs/which` does)? + ;; Wait… what? Do I know how Clojure compilation works? + #(or #_(some-> % fs/expand-home fs/which fs/file) + (some-> % fs/expand-home fs/file) ::s/invalid))) (s/def ::d/ibm-plex-web ::d/directory) @@ -58,13 +62,12 @@ (def read-config (make-read-config ::d/config)) (def default - (let [r (-> "net/deertopia/doerg/config.edn" - io/resource - (read-config (System/getProperty "net.deertopia.doerg.config") - (System/getenv "DOERG_CONFIG")))] - (if (s/invalid? r) - (throw (IllegalArgumentException. - "default config is bad!")) - r))) + (read-config + ;; Default config. + (io/resource "net/deertopia/doerg/default-config.edn") + ;; Defaults set at build time, if any. + (io/resource "net/deertopia/doerg/extra-config.edn") + ;; Config set at runtime. + (System/getenv "DOERG_CONFIG"))) (def ^:dynamic *cfg* default) diff --git a/publisher/override_deps.bb b/publisher/override_deps.bb index d6ebe39..afcbc4f 100644 --- a/publisher/override_deps.bb +++ b/publisher/override_deps.bb @@ -20,8 +20,9 @@ (loop [os (seq overrides) loc zloc] (if-some [[[k v] & xs] os] - (do (printf "override dep %s with %s\n" - (pr-str k) (pr-str v)) + (do (binding [*out* *err*] + (printf "override dep %s with %s\n" + (pr-str k) (pr-str v))) (recur xs (z/assoc loc k v))) loc)))