I gave my answer to this question but maybe it got lost in the back and forth. Here's what I think folks are asking for -- and certainly what I would prefer at this point:
User - cross-project configuration (typically tools)
Locations used in this order:
If $CLJ_CONFIG is set, then use $CLJ_CONFIG (explicit override) -- no change
If $XDG_CONFIG_HOME is set, then use $XDG_CONFIG_HOME/clojure -- no change
If $HOME/.config/clojure exists, then use it (Freedesktop conventions) -- **new**
Else use $HOME/.clojure (most common) -- no change
That 3rd condition could also be:
If $HOME/.clojure does not exist but $HOME/.config/clojure exists, then use the latter (Freedesktop conventions)
If neither directory exists and no relevant env vars are set, use $HOME/.clojure as now.
If $HOME/.clojure exists and no relevant env vars are set, use $HOME/.clojure as now.
If $HOME/.clojure does not exist but $HOME/.config/clojure does (and no relevant env vars are set), use $HOME/.config/clojure (XDG style -- this is the requested change).
Hopefully that makes things clearer? (and hopefully the XDG advocates in this thread can confirm that's right/acceptable)
And to clarify the problem for XDG users right now:
If they move $HOME/.clojure to $HOME/.config/clojure but do not set the (optional) XDG_CONFIG_HOME env var, the CLI creates $HOME/.clojure afresh and ignores the XDG convention folder.