Next: , Previous: Configuration DSL, Up: Controlling where ASDF searches for systems


8.6 Configuration Directories

Configuration directories consist in files each containing a list of directives without any enclosing (:source-registry ...) form. The files will be sorted by namestring as if by string< and the lists of directives of these files with be concatenated in order. An implicit :inherit-configuration will be included at the end of the list.

System-wide or per-user Common Lisp software distributions such as Debian packages or some future version of clbuild may then include files such as /etc/common-lisp/source-registry.conf.d/10-foo.conf or ~/.config/common-lisp/source-registry.conf.d/10-foo.conf to easily and modularly register configuration information about software being distributed.

The convention is that, for sorting purposes, the names of files in such a directory begin with two digits that determine the order in which these entries will be read. Also, the type of these files must be .conf, which not only simplifies the implementation by allowing for more portable techniques in finding those files, but also makes it trivial to disable a file, by renaming it to a different file type.

Directories may be included by specifying a directory pathname or namestring in an :include directive, e.g.:

     	(:include "/foo/bar/")

Hence, to achieve the same effect as my example ~/.config/common-lisp/source-registry.conf above, I could simply create a file ~/.config/common-lisp/source-registry.conf.d/33-home-fare-cl.conf alone in its directory with the following contents:

     (:tree "/home/fare/cl/")