Good point. If the external configuration can affect the structure of the system, you'd want to read it in first. For us, configuration is a component and it reads env vars and files when you start it.
We also have an env var driven repl server component we use for debugging. Just add it to the system as a dependency and if an env var is set it starts either a socket repl or a full CIDER-enabled nrepl server.
(Available on Clojars - a World Singles open source project)