summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2015-05-09 23:51:46 +0200
committerLudovic Courtès <ludo@gnu.org>2015-05-09 23:53:36 +0200
commitdd51caac55f052cecc61c7b8ab16654e3ace569f (patch)
treeb800ae3a39682c12cc4b68ae6cf3e3f69e839329
parente1fbc32a0a1d027ec641ac0e249ad9aa1d5a8ffa (diff)
downloadguix-dd51caac55f052cecc61c7b8ab16654e3ace569f.tar.gz
doc: Show both the "bare-bones" and the "desktop" configurations.
* doc/guix.texi (System Installation): Add xref to "Using the
  Configuration System" instead of including one here.
  (Using the Configuration System): Remove first example, and include
  os-config-bare-bones.texi instead.  Include os-config-desktop.texi as
  a second example.
* doc.am (OS_CONFIG_EXAMPLES_TEXI): New variable.
  (BUILT_SOURCES, EXTRA_DIST, MAINTAINERCLEANFILES): Use it.
  (doc/os-config.texi): Remove.
  (doc/os-config-%.texi): New target.
-rw-r--r--.gitignore2
-rw-r--r--doc.am12
-rw-r--r--doc/guix.texi55
3 files changed, 29 insertions, 40 deletions
diff --git a/.gitignore b/.gitignore
index eaa7dbd51a..47cb39584e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -112,3 +112,5 @@ GTAGS
 /emacs/guix-helper.scm
 /emacs/guix-init.el
 /emacs/guix-profiles.el
+/doc/os-config-bare-bones.texi
+/doc/os-config-desktop.texi
diff --git a/doc.am b/doc.am
index c517e0f908..df85cfe2b0 100644
--- a/doc.am
+++ b/doc.am
@@ -25,12 +25,16 @@ EXTRA_DIST +=					\
   doc/images/bootstrap-graph.eps		\
   doc/images/bootstrap-graph.pdf
 
+OS_CONFIG_EXAMPLES_TEXI =			\
+  doc/os-config-bare-bones.texi			\
+  doc/os-config-desktop.texi
+
 # Bundle this file so that makeinfo finds it in out-of-source-tree builds.
-BUILT_SOURCES        += doc/os-config.texi
-EXTRA_DIST           += doc/os-config.texi
-MAINTAINERCLEANFILES  = doc/os-config.texi
+BUILT_SOURCES        += $(OS_CONFIG_EXAMPLES_TEXI)
+EXTRA_DIST           += $(OS_CONFIG_EXAMPLES_TEXI)
+MAINTAINERCLEANFILES  = $(OS_CONFIG_EXAMPLES_TEXI)
 
-doc/os-config.texi: gnu/system/examples/bare-bones.tmpl
+doc/os-config-%.texi: gnu/system/examples/%.tmpl
 	$(MKDIR_P) "`dirname "$@"`"
 	cp "$<" "$@"
 
diff --git a/doc/guix.texi b/doc/guix.texi
index ea4a5c7b7c..33b1c2ed01 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -3925,20 +3925,14 @@ that end, the installation system comes with two text editors: GNU nano
 It is better to store that file on the target root file system, say, as
 @file{/mnt/etc/config.scm}.
 
-A minimal operating system configuration, with just the bare minimum and
-only a root account would look like this (on the installation system,
-this example is available as @file{/etc/configuration/bare-bones.scm}):
+@xref{Using the Configuration System}, for examples of operating system
+configurations.  These examples are available under
+@file{/etc/configuration} in the installation image, so you can copy
+them and use them as a starting point for your own configuration.
 
-@example
-@include os-config.texi
-@end example
-
-@noindent
-For more information on @code{operating-system} declarations,
-@pxref{Using the Configuration System}.
-
-Once that is done, the new system must be initialized (remember that the
-target root file system is mounted under @file{/mnt}):
+Once you are done preparing the configuration file, the new system must
+be initialized (remember that the target root file system is mounted
+under @file{/mnt}):
 
 @example
 guix system init /mnt/etc/config.scm /mnt
@@ -4021,29 +4015,7 @@ kernel, initial RAM disk, and boot loader looks like this:
 
 @findex operating-system
 @lisp
-(use-modules (gnu)   ; for 'user-account', '%base-services', etc.
-             (gnu packages emacs)  ; for 'emacs'
-             (gnu services ssh))   ; for 'lsh-service'
-
-(operating-system
-  (host-name "komputilo")
-  (timezone "Europe/Paris")
-  (locale "fr_FR.utf8")
-  (bootloader (grub-configuration
-                (device "/dev/sda")))
-  (file-systems (cons (file-system
-                        (device "/dev/sda1") ; or partition label
-                        (mount-point "/")
-                        (type "ext3"))
-                      %base-file-systems))
-  (users (list (user-account
-                (name "alice")
-                (group "users")
-                (comment "Bob's sister")
-                (home-directory "/home/alice"))))
-  (packages (cons emacs %base-packages))
-  (services (cons (lsh-service #:port 2222 #:root-login? #t)
-                  %base-services)))
+@include os-config-bare-bones.texi
 @end lisp
 
 This example should be self-describing.  Some of the fields defined
@@ -4076,6 +4048,17 @@ generated as needed (@pxref{Defining Services}).  @xref{operating-system
 Reference}, for details about the available @code{operating-system}
 fields.
 
+The configuration for a typical ``desktop'' usage, with the X11 display
+server, a desktop environment, network management, an SSH server, and
+more, would look like this:
+
+@lisp
+@include os-config-desktop.texi
+@end lisp
+
+@xref{Desktop Services}, for the exact list of services provided by
+@var{%desktop-services}.
+
 Assuming the above snippet is stored in the @file{my-system-config.scm}
 file, the @command{guix system reconfigure my-system-config.scm} command
 instantiates that configuration, and makes it the default GRUB boot