aboutsummaryrefslogtreecommitdiff
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