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.texi168
1 files changed, 123 insertions, 45 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index 884eb9198c..65b56f0618 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -165,10 +165,17 @@ System Installation
 * Hardware Considerations::     Supported hardware.
 * USB Stick and DVD Installation::  Preparing the installation medium.
 * Preparing for Installation::  Networking, partitioning, etc.
-* Proceeding with the Installation::  The real thing.
+* Guided Graphical Installation::  Easy graphical installation.
+* Manual Installation::         Manual installation for wizards.
+* After System Installation::   When installation succeeded.
 * Installing Guix in a VM::     Guix System playground.
 * Building the Installation Image::  How this comes to be.
 
+Manual Installation
+
+* Keyboard Layout and Networking and Partitioning:: Initial setup.
+* Proceeding with the Installation::  Installing.
+
 Package Management
 
 * Features::                    How Guix will make your life brighter.
@@ -1777,7 +1784,9 @@ available.
 * Hardware Considerations::     Supported hardware.
 * USB Stick and DVD Installation::  Preparing the installation medium.
 * Preparing for Installation::  Networking, partitioning, etc.
-* Proceeding with the Installation::  The real thing.
+* Guided Graphical Installation::  Easy graphical installation.
+* Manual Installation::         Manual installation for wizards.
+* After System Installation::   When installation succeeded.
 * Installing Guix in a VM::     Guix System playground.
 * Building the Installation Image::  How this comes to be.
 @end menu
@@ -1866,7 +1875,7 @@ about their support in GNU/Linux.
 
 An ISO-9660 installation image that can be written to a USB stick or
 burnt to a DVD can be downloaded from
-@indicateurl{https://alpha.gnu.org/gnu/guix/guixsd-install-@value{VERSION}.@var{system}.iso.xz},
+@indicateurl{https://alpha.gnu.org/gnu/guix/guix-system-install-@value{VERSION}.@var{system}.iso.xz},
 where @var{system} is one of:
 
 @table @code
@@ -1882,8 +1891,8 @@ Make sure to download the associated @file{.sig} file and to verify the
 authenticity of the image against it, along these lines:
 
 @example
-$ wget https://alpha.gnu.org/gnu/guix/guixsd-install-@value{VERSION}.@var{system}.iso.xz.sig
-$ gpg --verify guixsd-install-@value{VERSION}.@var{system}.iso.xz.sig
+$ wget https://alpha.gnu.org/gnu/guix/guix-system-install-@value{VERSION}.@var{system}.iso.xz.sig
+$ gpg --verify guix-system-install-@value{VERSION}.@var{system}.iso.xz.sig
 @end example
 
 If that command fails because you do not have the required public key,
@@ -1910,7 +1919,7 @@ To copy the image to a USB stick, follow these steps:
 Decompress the image using the @command{xz} command:
 
 @example
-xz -d guixsd-install-@value{VERSION}.@var{system}.iso.xz
+xz -d guix-system-install-@value{VERSION}.@var{system}.iso.xz
 @end example
 
 @item
@@ -1919,7 +1928,7 @@ its device name.  Assuming that the USB stick is known as @file{/dev/sdX},
 copy the image with:
 
 @example
-dd if=guixsd-install-@value{VERSION}.@var{system}.iso of=/dev/sdX
+dd if=guix-system-install-@value{VERSION}.@var{system}.iso of=/dev/sdX
 sync
 @end example
 
@@ -1935,7 +1944,7 @@ To copy the image to a DVD, follow these steps:
 Decompress the image using the @command{xz} command:
 
 @example
-xz -d guixsd-install-@value{VERSION}.@var{system}.iso.xz
+xz -d guix-system-install-@value{VERSION}.@var{system}.iso.xz
 @end example
 
 @item
@@ -1944,7 +1953,7 @@ its device name.  Assuming that the DVD drive is known as @file{/dev/srX},
 copy the image with:
 
 @example
-growisofs -dvd-compat -Z /dev/srX=guixsd-install-@value{VERSION}.@var{system}.iso
+growisofs -dvd-compat -Z /dev/srX=guix-system-install-@value{VERSION}.@var{system}.iso
 @end example
 
 Access to @file{/dev/srX} usually requires root privileges.
@@ -1963,21 +1972,19 @@ Guix System in a virtual machine (VM).
 @node Preparing for Installation
 @section Preparing for Installation
 
-Once you have successfully booted your computer using the installation medium,
-you should end up with the welcome page of the graphical installer.  The
-graphical installer is a text-based user interface built upon the newt
-library.  It shall guide you through all the different steps needed to install
-GNU@tie{}Guix System.  However, as the graphical installer is still under heavy
-development, you might want to fallback to the original, shell based install
-process, by switching to TTYs 3 to 6 with the shortcuts CTRL-ALT-F[3-6]. The
-following sections describe the installation procedure assuming you're using
-one of those TTYs. They are configured and can be used to run commands as
-root.
+Once you have booted, you can use the guided graphical installer, which makes
+it easy to get started (@pxref{Guided Graphical Installation}).  Alternately,
+if you are already familiar with GNU/Linux and if you want more control than
+what the graphical installer provides, you can choose the ``manual''
+installation process (@pxref{Manual Installation}).
 
-TTY2 shows this documentation, browsable using the Info reader commands
-(@pxref{Top,,, info-stnd, Stand-alone GNU Info}).  The installation system
-runs the GPM mouse daemon, which allows you to select text with the left mouse
-button and to paste it with the middle button.
+The graphical installer is available on TTY1.  You can obtain root shells on
+TTYs 3 to 6 by hitting @kbd{ctrl-alt-f3}, @kbd{ctrl-alt-f4}, etc.  TTY2 shows
+this documentation and you can reach it with @kbd{ctrl-alt-f2}.  Documentation
+is browsable using the Info reader commands (@pxref{Top,,, info-stnd,
+Stand-alone GNU Info}).  The installation system runs the GPM mouse daemon,
+which allows you to select text with the left mouse button and to paste it
+with the middle button.
 
 @quotation Note
 Installation requires access to the Internet so that any missing
@@ -1985,12 +1992,65 @@ dependencies of your system configuration can be downloaded.  See the
 ``Networking'' section below.
 @end quotation
 
-The installation system includes many common tools needed for this task.
-But it is also a full-blown Guix System, which means that you can
-install additional packages, should you need it, using @command{guix
-package} (@pxref{Invoking guix package}).
+@node Guided Graphical Installation
+@section Guided Graphical Installation
+
+The graphical installer is a text-based user interface.  It will guide you,
+with dialog boxes, through the steps needed to install GNU@tie{}Guix System.
+
+The first dialog boxes allow you to set up the system as you use it during the
+installation: you can choose the language, keyboard layout, and set up
+networking, which will be used during the installation.  The image below shows
+the networking dialog.
+
+@image{images/installer-network,5in,, networking setup with the graphical installer}
+
+Later steps allow you to partition your hard disk, as shown in the image
+below, to choose whether or not to use encrypted file systems, to enter the
+host name and root password, and to create an additional account, among other
+things.
+
+@image{images/installer-partitions,5in,, partitioning with the graphical installer}
 
-@subsection Keyboard Layout
+Note that, at any time, the installer allows you to exit the current
+installation step and resume at a previous step, as show in the image below.
+
+@image{images/installer-resume,5in,, resuming the installation process}
+
+Once you're done, the installer produces an operating system configuration and
+displays it (@pxref{Using the Configuration System}).  At that point you can
+hit ``OK'' and installation will proceed.  On success, you can reboot into the
+new system and enjoy.  @xref{After System Installation}, for what's next!
+
+
+@node Manual Installation
+@section Manual Installation
+
+This section describes how you would ``manually'' install GNU@tie{}Guix System
+on your machine.  This option requires familiarity with GNU/Linux, with the
+shell, and with common administration tools.  If you think this is not for
+you, consider using the guided graphical installer (@pxref{Guided Graphical
+Installation}).
+
+The installation system provides root shells on TTYs 3 to 6; press
+@kbd{ctrl-alt-f3}, @kbd{ctrl-alt-f4}, and so on to reach them.  It includes
+many common tools needed to install the system.  But it is also a full-blown
+Guix System, which means that you can install additional packages, should you
+need it, using @command{guix package} (@pxref{Invoking guix package}).
+
+@menu
+* Keyboard Layout and Networking and Partitioning:: Initial setup.
+* Proceeding with the Installation::  Installing.
+@end menu
+
+@node Keyboard Layout and Networking and Partitioning
+@subsection Keyboard Layout, Networking, and Partitioning
+
+Before you can install the system, you may want to adjust the keyboard layout,
+set up networking, and partition your target hard disk.  This section will
+guide you through this.
+
+@subsubsection Keyboard Layout
 
 @cindex keyboard layout
 The installation image uses the US qwerty keyboard layout.  If you want
@@ -2005,7 +2065,7 @@ See the files under @file{/run/current-system/profile/share/keymaps} for
 a list of available keyboard layouts.  Run @command{man loadkeys} for
 more information.
 
-@subsection Networking
+@subsubsection Networking
 
 Run the following command to see what your network interfaces are called:
 
@@ -2098,7 +2158,7 @@ herd start ssh-daemon
 Make sure to either set a password with @command{passwd}, or configure
 OpenSSH public key authentication before logging in.
 
-@subsection Disk Partitioning
+@subsubsection Disk Partitioning
 
 Unless this has already been done, the next step is to partition, and
 then format the target partition(s).
@@ -2219,7 +2279,7 @@ file in its file system as described above, then the encryption also
 protects the swap file, just like any other file in that file system.
 
 @node Proceeding with the Installation
-@section Proceeding with the Installation
+@subsection Proceeding with the Installation
 
 With the target partitions ready and the target root mounted on
 @file{/mnt}, we're ready to go.  First, run:
@@ -2303,9 +2363,14 @@ in the new system is initially empty; other users' passwords need to be
 initialized by running the @command{passwd} command as @code{root},
 unless your configuration specifies otherwise
 (@pxref{user-account-password, user account passwords}).
+@xref{After System Installation}, for what's next!
+
+
+@node After System Installation
+@section After System Installation
 
-@cindex upgrading Guix System
-From then on, you can update the system whenever you want by running, say:
+Success, you've now booted into Guix System!  From then on, you can update the
+system whenever you want by running, say:
 
 @example
 guix pull
@@ -2326,8 +2391,8 @@ explicitly run root's @command{guix}, type @command{sudo -i guix @dots{}}.
 @end quotation
 
 Join us on @code{#guix} on the Freenode IRC network or on
-@email{guix-devel@@gnu.org} to share your experience---good or not so
-good.
+@email{guix-devel@@gnu.org} to share your experience!
+
 
 @node Installing Guix in a VM
 @section Installing Guix in a Virtual Machine
@@ -2364,7 +2429,7 @@ Boot the USB installation image in an VM:
 @example
 qemu-system-x86_64 -m 1024 -smp 1 \
   -net user -net nic,model=virtio -boot menu=on \
-  -drive file=guixsd-install-@value{VERSION}.@var{system}.iso \
+  -drive file=guix-system-install-@value{VERSION}.@var{system}.iso \
   -drive file=guixsd.img
 @end example
 
@@ -14165,7 +14230,7 @@ field of an @code{operating-system} declaration (@pxref{operating-system
 Reference, @code{services}}).
 
 Additionally, the @code{gnome-desktop-service},
-@code{xfce-desktop-service}, @code{mate-desktop-service} and
+@code{xfce-desktop-service}, @code{mate-desktop-service-type} and
 @code{enlightenment-desktop-service-type} procedures can add GNOME, XFCE, MATE
 and/or Enlightenment to a system.  To ``add GNOME'' means that system-level
 services like the backlight adjustment helpers and the power management
@@ -14181,8 +14246,8 @@ administrator's password via the standard polkit graphical interface.
 To ``add MATE'' means that @code{polkit} and @code{dbus} are extended
 appropriately, allowing MATE to operate with elevated privileges on a
 limited number of special-purpose system interfaces.  Additionally,
-adding a service made by @code{mate-desktop-service} adds the MATE
-metapackage to the system profile.  ``Adding ENLIGHTENMENT'' means that
+adding a service of type @code{mate-desktop-service-type} adds the MATE
+metapackage to the system profile.  ``Adding Enlightenment'' means that
 @code{dbus} is extended appropriately, and several of Enlightenment's binaries
 are set as setuid, allowing Enlightenment's screen locker and other
 functionality to work as expetected.
@@ -14209,13 +14274,26 @@ file system as root from within a user session, after the user has
 authenticated with the administrator's password.
 @end deffn
 
-@deffn {Scheme Procedure} mate-desktop-service
-Return a service that adds the @code{mate} package to the system
+@deffn {Scheme Variable} mate-desktop-service-type
+This is the type of the service that runs the @uref{https://mate-desktop.org/,
+MATE desktop environment}.  Its value is a @code{mate-desktop-configuration}
+object (see below.)
+
+This service adds the @code{mate} package to the system
 profile, and extends polkit with the actions from
 @code{mate-settings-daemon}.
 @end deffn
 
-@deffn {Scheme Procedure} enlightenment-desktop-service-type
+@deftp {Data Type} mate-desktop-configuration
+Configuration record for the MATE desktop environment.
+
+@table @asis
+@item @code{mate} (default @code{mate})
+The MATE package to use.
+@end table
+@end deftp
+
+@deffn {Scheme Variable} enlightenment-desktop-service-type
 Return a service that adds the @code{enlightenment} package to the system
 profile, and extends dbus with actions from @code{efl}.
 @end deffn
@@ -16471,7 +16549,7 @@ Defaults to @samp{"internal_plain"}.
 
 @deftypevr {@code{prosody-configuration} parameter} maybe-string log
 Set logging options.  Advanced logging configuration is not yet supported
-by the Guix Prosody Service.  See @url{https://prosody.im/doc/logging}.
+by the Prosody service.  See @url{https://prosody.im/doc/logging}.
 Defaults to @samp{"*syslog"}.
 @end deftypevr
 
@@ -23347,7 +23425,7 @@ system configuration file.  You can then load the image and launch a
 Docker container using commands like the following:
 
 @example
-image_id="$(docker load < guixsd-docker-image.tar.gz)"
+image_id="$(docker load < guix-system-docker-image.tar.gz)"
 docker run -e GUIX_NEW_SYSTEM=/var/guix/profiles/system \\
     --entrypoint /var/guix/profiles/system/profile/bin/guile \\
     $image_id /var/guix/profiles/system/boot
@@ -23533,7 +23611,7 @@ example graph.
 @cindex virtual machine
 To run Guix in a virtual machine (VM), one can either use the
 pre-built Guix VM image distributed at
-@indicateurl{https://alpha.gnu.org/gnu/guix/guixsd-vm-image-@value{VERSION}.@var{system}.xz}
+@indicateurl{https://alpha.gnu.org/gnu/guix/guix-system-vm-image-@value{VERSION}.@var{system}.xz}
 , or build their own virtual machine image using @command{guix system
 vm-image} (@pxref{Invoking guix system}).  The returned image is in
 qcow2 format, which the @uref{http://qemu.org/, QEMU emulator} can