~ruther/guix-local

cfa6fdc54c58280e49330438aecfb5046ee9e63a — Josselin Poiret 4 years ago 0055a80
doc: Clarify the Swap Space examples, and include an helper example.

* doc/guix.texi (Swap Space): The examples referred to variables
defined outside of the snippets, and so were not very informative for
people without much Guile knowledge.  Instead, refer to mapped-devices
for the first, and use the new helper
file-systme-mount-point-predicate for the second.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
1 files changed, 25 insertions(+), 8 deletions(-)

M doc/guix.texi
M doc/guix.texi => doc/guix.texi +25 -8
@@ 15742,22 15742,39 @@ Linux swap partition by running @command{swaplabel @var{device}}, where
@lisp
(swap-space
  (target (file-system-label "swap"))
  (dependencies (list lvm-device)))
  (dependencies mapped-devices))
@end lisp

Use the partition with label @code{swap}, which can be found after the
@var{lvm-device} mapped device has been opened.  Again, the
Use the partition with label @code{swap}, which can be found after all
the @var{mapped-devices} mapped devices have been opened.  Again, the
@command{swaplabel} command allows you to view and change the label of a
Linux swap partition.

Here's a more involved example with the corresponding @code{file-systems} part
of an @code{operating-system} declaration.

@lisp
(swap-space
  (target "/btrfs/swapfile")
  (dependencies (list btrfs-fs)))
(file-systems
  (list (file-system
          (device (file-system-label "root"))
          (mount-point "/")
          (type "ext4"))
        (file-system
          (device (file-system-label "btrfs"))
          (mount-point "/btrfs")
          (type "btrfs"))))

(swap-devices
  (list
    (swap-space
      (target "/btrfs/swapfile")
      (dependencies (filter (file-system-mount-point-predicate "/btrfs")
                            file-systems)))))
@end lisp

Use the file @file{/btrfs/swapfile} as swap space, which is present on the
@var{btrfs-fs} filesystem.
Use the file @file{/btrfs/swapfile} as swap space, which depends on the
file system mounted at @file{/btrfs}.  Note how we use Guile's filter to
select the file system in an elegant fashion!

@node User Accounts
@section User Accounts