Yay for the bikeshedding.
1- I think we should proceed and add a default path anyway. ~/cl/ and/or ~/common-lisp/ sound fine to me, and I've seen no one complain about that. You could make it ~/local/common-lisp/ if you're into larger paths.
2- Yes, we can add a programmatic way to manually register a .asd file: put in front of *system-definition-search-functions* a new sysdef-system-registry-search (please bikeshed a better name than that) that takes entries from a hash-table, with associated API (register-system name pathname-or-system) and (unregister-system name) Note that registering a system object rather than a pathname is dangerous in case of latter ASDF upgrade that would somehow invalidate the system class definition.
I'd like to use this interface *instead* of thinking about which config file to extend, and extend a cross-platform data file instead.
There used to be a "preference file" mechanism. We could reintroduce a ~/config/common-lisp/asdf-init.lisp and/or ~/.asdf-init.lisp, to be loaded when ASDF is loaded and reloaded, or lazily at the first operation like initialize-source-registry, which gives users the opportunity to disable it and to reenable it, which is essential when preparing a "clean" image.
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org No man would listen to you talk if he didn't know it was his turn next. — Edgar Watson Howe