The https://github.com/yogthos/config approach let's you lay out per-profile env variables in separate files, like the below , in a project.clj .
Per the below, one can use lein with-profile prod uberjar or lein with-profile dev repl and the like.
But my issue is I have been unable to figure out how to place some common values into a shared area, accessible by dev, stage, prod profiles.
Basic example
(defproject edn-config-test "0.1.0-SNAPSHOT" ... :profiles {:shared {:resource-paths ["config/shared"]} :dev {:resource-paths ["config/dev"]} :stage {:resource-paths ["config/stage"]} :prod {:resource-paths ["config/prod"]}} ... (with files)
config/shared/config.edn config/dev/config.edn config/stage/config.edn config/prod/config.edn I tried this without luck
lein with-profile shared,prod lein , borrowing from the composite approach in https://github.com/technomancy/leiningen/blob/stable/doc/PROFILES.md#composite-profiles
When I do that, I only get variables in prod profile, for example.