~ruther/guix-local

dd51caac55f052cecc61c7b8ab16654e3ace569f — Ludovic Courtès 11 years ago e1fbc32
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.
3 files changed, 29 insertions(+), 40 deletions(-)

M .gitignore
M doc.am
M doc/guix.texi
M .gitignore => .gitignore +2 -0
@@ 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

M doc.am => doc.am +8 -4
@@ 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 "$<" "$@"


M doc/guix.texi => doc/guix.texi +19 -36
@@ 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