summary refs log tree commit diff
path: root/doc/guix.texi
diff options
context:
space:
mode:
Diffstat (limited to 'doc/guix.texi')
-rw-r--r--doc/guix.texi45
1 files changed, 21 insertions, 24 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index c10479ff12..10eb344c71 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -1737,7 +1737,7 @@ a derivation is the @code{derivation} procedure:
   @var{args} [#:outputs '("out")] [#:hash #f] [#:hash-algo #f] @
   [#:recursive? #f] [#:inputs '()] [#:env-vars '()] @
   [#:system (%current-system)] [#:references-graphs #f] @
-  [#:local-build? #f]
+  [#:allowed-references #f] [#:local-build? #f]
 Build a derivation with the given arguments, and return the resulting
 @code{<derivation>} object.
 
@@ -1753,6 +1753,9 @@ name/store path pairs.  In that case, the reference graph of each store
 path is exported in the build environment in the corresponding file, in
 a simple text format.
 
+When @var{allowed-references} is true, it must be a list of store items
+or outputs that the derivation's output may refer to.
+
 When @var{local-build?} is true, declare that the derivation is not a
 good candidate for offloading and should rather be built locally
 (@pxref{Daemon Offload Setup}).  This is the case for small derivations
@@ -1795,7 +1798,8 @@ is now deprecated in favor of the much nicer @code{gexp->derivation}.
        [#:system (%current-system)] [#:inputs '()] @
        [#:outputs '("out")] [#:hash #f] [#:hash-algo #f] @
        [#:recursive? #f] [#:env-vars '()] [#:modules '()] @
-       [#:references-graphs #f] [#:local-build? #f] [#:guile-for-build #f]
+       [#:references-graphs #f] [#:allowed-references #f] @
+       [#:local-build? #f] [#:guile-for-build #f]
 Return a derivation that executes Scheme expression @var{exp} as a
 builder for derivation @var{name}.  @var{inputs} must be a list of
 @code{(name drv-path sub-drv)} tuples; when @var{sub-drv} is omitted,
@@ -1817,8 +1821,8 @@ terminates by passing the result of @var{exp} to @code{exit}; thus, when
 @var{guile-for-build} is omitted or is @code{#f}, the value of the
 @code{%guile-for-build} fluid is used instead.
 
-See the @code{derivation} procedure for the meaning of @var{references-graphs}
-and @var{local-build?}.
+See the @code{derivation} procedure for the meaning of
+@var{references-graphs}, @var{allowed-references}, and @var{local-build?}.
 @end deffn
 
 @noindent
@@ -3113,14 +3117,8 @@ Linux-Libre kernel, initial RAM disk, and boot loader looks like this:
 @findex operating-system
 @lisp
 (use-modules (gnu)   ; for 'user-account', '%base-services', etc.
-             (gnu services ssh)    ; for 'lsh-service'
-             (gnu packages base)   ; Coreutils, grep, etc.
-             (gnu packages bash)   ; Bash
-             (gnu packages admin)  ; dmd, Inetutils
-             (gnu packages zile)   ; Zile
-             (gnu packages less)   ; less
-             (gnu packages guile)  ; Guile
-             (gnu packages linux)) ; procps, psmisc
+             (gnu packages emacs)  ; for 'emacs'
+             (gnu services ssh))   ; for 'lsh-service'
 
 (define komputilo
   (operating-system
@@ -3130,7 +3128,7 @@ Linux-Libre kernel, initial RAM disk, and boot loader looks like this:
    (bootloader (grub-configuration
                  (device "/dev/sda")))
    (file-systems (list (file-system
-                         (device "/dev/disk/by-label/root")
+                         (device "/dev/sda1") ; or partition label
                          (mount-point "/")
                          (type "ext3"))))
    (users (list (user-account
@@ -3139,22 +3137,21 @@ Linux-Libre kernel, initial RAM disk, and boot loader looks like this:
                  (uid 1000) (gid 100)
                  (comment "Bob's sister")
                  (home-directory "/home/alice"))))
-   (packages (list coreutils bash guile-2.0
-                   guix dmd
-                   inetutils
-                   findutils grep sed
-                   procps psmisc
-                   zile less))
+   (packages (cons emacs %base-packages))
    (services (cons (lsh-service #:port 2222 #:allow-root-login? #t)
                    %base-services))))
 @end lisp
 
 This example should be self-describing.  The @code{packages} field lists
-packages provided by the various @code{(gnu packages ...)} modules above
-(@pxref{Package Modules}).  These are the packages that will be globally
-visible on the system, for all user accounts---i.e., in every user's
-@code{PATH} environment variable---in addition to the per-user profiles
-(@pxref{Invoking guix package}).
+packages that will be globally visible on the system, for all user
+accounts---i.e., in every user's @code{PATH} environment variable---in
+addition to the per-user profiles (@pxref{Invoking guix package}).  The
+@var{%base-packages} variables provides all the tools one would expect
+for basic user and administrator tasks---including the GNU Core
+Utilities, the GNU Networking Utilities, the GNU Zile lightweight text
+editor, @command{find}, @command{grep}, etc.  The example above adds
+Emacs to those, taken from the @code{(gnu packages emacs)} module
+(@pxref{Package Modules}).
 
 @vindex %base-services
 The @code{services} field lists @dfn{system services} to be made