summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2014-07-02 23:42:06 +0200
committerLudovic Courtès <ludo@gnu.org>2014-07-02 23:42:06 +0200
commit113daf62709fd3cd7ae1713ee3f5ef8782f88c59 (patch)
tree1dce0ba626898f84dfc6872fabae672de3f8fa1b
parentd266b79332ff0a4b22967a1db01c805b7c82e092 (diff)
downloadguix-113daf62709fd3cd7ae1713ee3f5ef8782f88c59.tar.gz
doc: Write about file system configuration.
* doc/guix.texi (Using the Configuration System): Change 'guix system
  boot' to 'guix system reconfigure'.
  (File Systems, User Accounts, Services): New nodes.
-rw-r--r--doc/guix.texi82
1 files changed, 81 insertions, 1 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index 6becc430f7..99edcf1c0c 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -3107,6 +3107,9 @@ instance to support new system services.
 
 @menu
 * Using the Configuration System::  Customizing your GNU system.
+* File Systems::                Configuring file system mounts.
+* User Accounts::               Specifying user accounts.
+* Services::                    Specifying system services.
 * Invoking guix system::        Instantiating a system configuration.
 * Defining Services::           Adding new service definitions.
 @end menu
@@ -3180,7 +3183,7 @@ right command-line options, possibly with supporting configuration files
 generated as needed (@pxref{Defining Services}).
 
 Assuming the above snippet is stored in the @file{my-system-config.scm}
-file, the @command{guix system boot my-system-config.scm} command
+file, the @command{guix system reconfigure my-system-config.scm} command
 instantiates that configuration, and makes it the default GRUB boot
 entry (@pxref{Invoking guix system}).  The normal way to change the
 system's configuration is by updating this file and re-running the
@@ -3199,6 +3202,83 @@ the packages, configuration files, and other supporting files needed to
 instantiate @var{os}.
 @end deffn
 
+@node File Systems
+@subsection File Systems
+
+The list of file systems to be mounted is specified in the
+@code{file-systems} field of the operating system's declaration
+(@pxref{Using the Configuration System}).  Each file system is declared
+using the @code{file-system} form, like this:
+
+@example
+(file-system
+  (mount-point "/home")
+  (device "/dev/sda3")
+  (type "ext4"))
+@end example
+
+As usual, some of the fields are mandatory---those shown in the example
+above---while others can be omitted.  These are described below.
+
+@deftp {Data Type} file-system
+Objects of these types represent file systems to be mounted.  They
+contain the following members:
+
+@table @asis
+@item @code{type}
+This is a string specifying the type of the file system---e.g.,
+@code{"ext4"}.
+
+@item @code{mount-point}
+This designates the place where the file system is to be mounted.
+
+@item @code{device}
+This names the ``source'' of the file system.  By default it is the name
+of a node under @file{/dev}, but its meaning depends on the @code{title}
+field described below.
+
+@item @code{title} (default: @code{'device})
+This is a symbol that specifies how the @code{device} field is to be
+interpreted.
+
+When it is the symbol @code{device}, then the @code{device} field is
+interpreted as a file name; when it is @code{label}, then @code{device}
+is interpreted as a partition label name; when it is @code{uuid},
+@code{device} is interpreted as a partition unique identifier (UUID).
+
+The @code{label} and @code{uuid} options offer a way to refer to disk
+partitions without having to hard-code their actual device name.
+
+@item @code{flags} (default: @code{'()})
+This is a list of symbols denoting mount flags.  Recognized flags
+include @code{read-only} and @code{bind-mount}.
+
+@item @code{options} (default: @code{#f})
+This is either @code{#f}, or a string denoting mount options.
+
+@item @code{needed-for-boot?} (default: @code{#f})
+This Boolean value indicates whether the file system is needed when
+booting.  If that is true, then the file system is mounted when the
+initial RAM disk (initrd) is loaded.  This is always the case, for
+instance, for the root file system.
+
+@item @code{check?} (default: @code{#t})
+This Boolean indicates whether the file system needs to be checked for
+errors before being mounted.
+
+@end table
+@end deftp
+
+@node User Accounts
+@subsection User Accounts
+
+TODO
+
+@node Services
+@subsection Services
+
+TODO
+
 @node Invoking guix system
 @subsection Invoking @code{guix system}