diff --git a/doc/contributing.texi b/doc/contributing.texi index ff7065ad2a..18f3705a43 100644 --- a/doc/contributing.texi +++ b/doc/contributing.texi @@ -563,7 +563,9 @@ Source Tree Structure @table @file @item guix -This is the location of core Guix mechanisms. A few examples: +This is the location of core Guix mechanisms. To illustrate what is +meant by ``core'', here are a few examples, starting from low-level +tools and going towards higher-level tools: @table @code @item (guix store) @@ -638,10 +640,16 @@ Source Tree Structure @end table The directories we have seen so far all live under @file{guix/}. The -other important place is the @code{gnu/} directory, which contains +other important place is the @file{gnu/} directory, which contains primarily package definitions as well as libraries and tools for Guix System (@pxref{System Configuration}) and Guix Home (@pxref{Home -Configuration}). +Configuration}), all of which build upon functionality provided by +@code{(guix @dots{})} modules@footnote{For this reason, @code{(guix +@dots{})} modules must generally not depend on @code{(gnu @dots{})} +modules, with one notable exception: @code{(guix build-system @dots{})} +modules may look up packages at run time---e.g., @code{(guix +build-system cmake)} needs to access the @code{cmake} variable at run +time.}. @table @file @cindex package modules