Why? How about if there are sensible defaults? Common Lisp (or more precisely ASDF) has CL_SOURCE_REGISTRY that almost no one defines and that works great.
Since 2015 you can combine the best & worst of the two options above with a cache file for a file hierarchy in your source registry. And since 2014 package-inferred-system can establish a correspondance between package names and hierarchical filenames within a repository.
Read my blog!