doc: Move sections under "GNU Distribution" one level higher.
* doc/guix.texi (Introduction): Add note about Guix System. [Managing Software the Guix Way]: New section heading. [GNU Distribution]: New subsection of "Introduction". Mention "Guix System" rather than "GuixSD" and update the list of supported systems. (GNU Distribution): Remove as a chapter. (System Installation, System Configuration, Documentation) (Installing Debugging Files, Security Updates, Package Modules) (Packaging Guidelines, Bootstrapping, Porting): Turn these sections into chapters.
This commit is contained in:
parent
5f2daffe09
commit
b40de030d1
395
doc/guix.texi
395
doc/guix.texi
|
@ -120,7 +120,15 @@ Project}.
|
||||||
* Package Management:: Package installation, upgrade, etc.
|
* Package Management:: Package installation, upgrade, etc.
|
||||||
* Programming Interface:: Using Guix in Scheme.
|
* Programming Interface:: Using Guix in Scheme.
|
||||||
* Utilities:: Package management commands.
|
* Utilities:: Package management commands.
|
||||||
* GNU Distribution:: Software for your friendly GNU system.
|
* System Installation:: Installing the whole operating system.
|
||||||
|
* System Configuration:: Configuring the operating system.
|
||||||
|
* Documentation:: Browsing software user manuals.
|
||||||
|
* Installing Debugging Files:: Feeding the debugger.
|
||||||
|
* Security Updates:: Deploying security fixes quickly.
|
||||||
|
* Package Modules:: Packages from the programmer's viewpoint.
|
||||||
|
* Packaging Guidelines:: Growing the distribution.
|
||||||
|
* Bootstrapping:: GNU/Linux built from scratch.
|
||||||
|
* Porting:: Targeting another platform or kernel.
|
||||||
* Contributing:: Your help needed!
|
* Contributing:: Your help needed!
|
||||||
|
|
||||||
* Acknowledgments:: Thanks!
|
* Acknowledgments:: Thanks!
|
||||||
|
@ -210,18 +218,6 @@ Invoking @command{guix build}
|
||||||
* Additional Build Options:: Options specific to 'guix build'.
|
* Additional Build Options:: Options specific to 'guix build'.
|
||||||
* Debugging Build Failures:: Real life packaging experience.
|
* Debugging Build Failures:: Real life packaging experience.
|
||||||
|
|
||||||
GNU Distribution
|
|
||||||
|
|
||||||
* System Installation:: Installing the whole operating system.
|
|
||||||
* System Configuration:: Configuring the operating system.
|
|
||||||
* Documentation:: Browsing software user manuals.
|
|
||||||
* Installing Debugging Files:: Feeding the debugger.
|
|
||||||
* Security Updates:: Deploying security fixes quickly.
|
|
||||||
* Package Modules:: Packages from the programmer's viewpoint.
|
|
||||||
* Packaging Guidelines:: Growing the distribution.
|
|
||||||
* Bootstrapping:: GNU/Linux built from scratch.
|
|
||||||
* Porting:: Targeting another platform or kernel.
|
|
||||||
|
|
||||||
System Installation
|
System Installation
|
||||||
|
|
||||||
* Limitations:: What you can expect.
|
* Limitations:: What you can expect.
|
||||||
|
@ -297,21 +293,6 @@ Packaging Guidelines
|
||||||
* Java Packages:: Coffee break.
|
* Java Packages:: Coffee break.
|
||||||
* Fonts:: Fond of fonts.
|
* Fonts:: Fond of fonts.
|
||||||
|
|
||||||
Contributing
|
|
||||||
|
|
||||||
* Building from Git:: The latest and greatest.
|
|
||||||
* Running Guix Before It Is Installed:: Hacker tricks.
|
|
||||||
* The Perfect Setup:: The right tools.
|
|
||||||
* Coding Style:: Hygiene of the contributor.
|
|
||||||
* Submitting Patches:: Share your work.
|
|
||||||
|
|
||||||
Coding Style
|
|
||||||
|
|
||||||
* Programming Paradigm:: How to compose your elements.
|
|
||||||
* Modules:: Where to store your code?
|
|
||||||
* Data Types and Pattern Matching:: Implementing data structures.
|
|
||||||
* Formatting Code:: Writing conventions.
|
|
||||||
|
|
||||||
@end detailmenu
|
@end detailmenu
|
||||||
@end menu
|
@end menu
|
||||||
|
|
||||||
|
@ -322,11 +303,22 @@ Coding Style
|
||||||
@cindex purpose
|
@cindex purpose
|
||||||
GNU Guix@footnote{``Guix'' is pronounced like ``geeks'', or ``ɡiːks''
|
GNU Guix@footnote{``Guix'' is pronounced like ``geeks'', or ``ɡiːks''
|
||||||
using the international phonetic alphabet (IPA).} is a package
|
using the international phonetic alphabet (IPA).} is a package
|
||||||
management tool for the GNU system. Guix makes it easy for unprivileged
|
management tool for and distribution of the GNU system.
|
||||||
users to install, upgrade, or remove packages, to roll back to a
|
Guix makes it easy for unprivileged
|
||||||
|
users to install, upgrade, or remove software packages, to roll back to a
|
||||||
previous package set, to build packages from source, and generally
|
previous package set, to build packages from source, and generally
|
||||||
assists with the creation and maintenance of software environments.
|
assists with the creation and maintenance of software environments.
|
||||||
|
|
||||||
|
@cindex Guix System
|
||||||
|
@cindex GuixSD
|
||||||
|
You can install GNU@tie{}Guix on top of an existing GNU/Linux system where it
|
||||||
|
complements the available tools without interference (@pxref{Installation}),
|
||||||
|
or you can use it as a standalone operating system distribution,
|
||||||
|
@dfn{Guix@tie{}System} (@pxref{GNU Distribution}).
|
||||||
|
|
||||||
|
@node Managing Software the Guix Way
|
||||||
|
@section Managing Software the Guix Way
|
||||||
|
|
||||||
@cindex user interfaces
|
@cindex user interfaces
|
||||||
Guix provides a command-line package management interface
|
Guix provides a command-line package management interface
|
||||||
(@pxref{Invoking guix package}), a set of command-line utilities
|
(@pxref{Invoking guix package}), a set of command-line utilities
|
||||||
|
@ -348,17 +340,6 @@ is also @emph{customizable}: users can @emph{derive} specialized package
|
||||||
definitions from existing ones, including from the command line
|
definitions from existing ones, including from the command line
|
||||||
(@pxref{Package Transformation Options}).
|
(@pxref{Package Transformation Options}).
|
||||||
|
|
||||||
@cindex Guix System Distribution
|
|
||||||
@cindex GuixSD
|
|
||||||
You can install GNU@tie{}Guix on top of an existing GNU/Linux system
|
|
||||||
where it complements the available tools without interference
|
|
||||||
(@pxref{Installation}), or you can use it as part of the standalone
|
|
||||||
@dfn{Guix System Distribution} or GuixSD (@pxref{GNU Distribution}).
|
|
||||||
With GNU@tie{}GuixSD, you @emph{declare} all aspects of the operating
|
|
||||||
system configuration and Guix takes care of instantiating the
|
|
||||||
configuration in a transactional, reproducible, and stateless fashion
|
|
||||||
(@pxref{System Configuration}).
|
|
||||||
|
|
||||||
@cindex functional package management
|
@cindex functional package management
|
||||||
@cindex isolation
|
@cindex isolation
|
||||||
Under the hood, Guix implements the @dfn{functional package management}
|
Under the hood, Guix implements the @dfn{functional package management}
|
||||||
|
@ -389,6 +370,81 @@ for transactional package upgrade and rollback, per-user installation, and
|
||||||
garbage collection of packages (@pxref{Features}).
|
garbage collection of packages (@pxref{Features}).
|
||||||
|
|
||||||
|
|
||||||
|
@node GNU Distribution
|
||||||
|
@section GNU Distribution
|
||||||
|
|
||||||
|
@cindex Guix System
|
||||||
|
@cindex GuixSD
|
||||||
|
Guix comes with a distribution of the GNU system consisting entirely of
|
||||||
|
free software@footnote{The term ``free'' here refers to the
|
||||||
|
@url{http://www.gnu.org/philosophy/free-sw.html,freedom provided to
|
||||||
|
users of that software}.}. The
|
||||||
|
distribution can be installed on its own (@pxref{System Installation}),
|
||||||
|
but it is also possible to install Guix as a package manager on top of
|
||||||
|
an installed GNU/Linux system (@pxref{Installation}). When we need to
|
||||||
|
distinguish between the two, we refer to the standalone distribution as
|
||||||
|
Guix@tie{}System.
|
||||||
|
|
||||||
|
The distribution provides core GNU packages such as GNU libc, GCC, and
|
||||||
|
Binutils, as well as many GNU and non-GNU applications. The complete
|
||||||
|
list of available packages can be browsed
|
||||||
|
@url{http://www.gnu.org/software/guix/packages,on-line} or by
|
||||||
|
running @command{guix package} (@pxref{Invoking guix package}):
|
||||||
|
|
||||||
|
@example
|
||||||
|
guix package --list-available
|
||||||
|
@end example
|
||||||
|
|
||||||
|
Our goal is to provide a practical 100% free software distribution of
|
||||||
|
Linux-based and other variants of GNU, with a focus on the promotion and
|
||||||
|
tight integration of GNU components, and an emphasis on programs and
|
||||||
|
tools that help users exert that freedom.
|
||||||
|
|
||||||
|
Packages are currently available on the following platforms:
|
||||||
|
|
||||||
|
@table @code
|
||||||
|
|
||||||
|
@item x86_64-linux
|
||||||
|
Intel/AMD @code{x86_64} architecture, Linux-Libre kernel;
|
||||||
|
|
||||||
|
@item i686-linux
|
||||||
|
Intel 32-bit architecture (IA32), Linux-Libre kernel;
|
||||||
|
|
||||||
|
@item armhf-linux
|
||||||
|
ARMv7-A architecture with hard float, Thumb-2 and NEON,
|
||||||
|
using the EABI hard-float application binary interface (ABI),
|
||||||
|
and Linux-Libre kernel.
|
||||||
|
|
||||||
|
@item aarch64-linux
|
||||||
|
little-endian 64-bit ARMv8-A processors, Linux-Libre kernel. This is
|
||||||
|
currently in an experimental stage, with limited support.
|
||||||
|
@xref{Contributing}, for how to help!
|
||||||
|
|
||||||
|
@item mips64el-linux
|
||||||
|
little-endian 64-bit MIPS processors, specifically the Loongson series,
|
||||||
|
n32 ABI, and Linux-Libre kernel.
|
||||||
|
|
||||||
|
@end table
|
||||||
|
|
||||||
|
With Guix@tie{}System, you @emph{declare} all aspects of the operating system
|
||||||
|
configuration and Guix takes care of instantiating the configuration in a
|
||||||
|
transactional, reproducible, and stateless fashion (@pxref{System
|
||||||
|
Configuration}). Guix System uses the Linux-libre kernel, the Shepherd
|
||||||
|
initialization system (@pxref{Introduction,,, shepherd, The GNU Shepherd
|
||||||
|
Manual}), the well-known GNU utilities and tool chain, as well as the
|
||||||
|
graphical environment or system services of your choice.
|
||||||
|
|
||||||
|
Guix System is available on all the above platforms except
|
||||||
|
@code{mips64el-linux}.
|
||||||
|
|
||||||
|
@noindent
|
||||||
|
For information on porting to other architectures or kernels,
|
||||||
|
@pxref{Porting}.
|
||||||
|
|
||||||
|
Building this distribution is a cooperative effort, and you are invited
|
||||||
|
to join! @xref{Contributing}, for information about how you can help.
|
||||||
|
|
||||||
|
|
||||||
@c *********************************************************************
|
@c *********************************************************************
|
||||||
@node Installation
|
@node Installation
|
||||||
@chapter Installation
|
@chapter Installation
|
||||||
|
@ -9034,86 +9090,9 @@ ClientPID: 19419
|
||||||
ClientCommand: cuirass --cache-directory /var/cache/cuirass @dots{}
|
ClientCommand: cuirass --cache-directory /var/cache/cuirass @dots{}
|
||||||
@end example
|
@end example
|
||||||
|
|
||||||
@c *********************************************************************
|
|
||||||
@node GNU Distribution
|
|
||||||
@chapter GNU Distribution
|
|
||||||
|
|
||||||
@cindex Guix System Distribution
|
|
||||||
@cindex GuixSD
|
|
||||||
Guix comes with a distribution of the GNU system consisting entirely of
|
|
||||||
free software@footnote{The term ``free'' here refers to the
|
|
||||||
@url{http://www.gnu.org/philosophy/free-sw.html,freedom provided to
|
|
||||||
users of that software}.}. The
|
|
||||||
distribution can be installed on its own (@pxref{System Installation}),
|
|
||||||
but it is also possible to install Guix as a package manager on top of
|
|
||||||
an installed GNU/Linux system (@pxref{Installation}). To distinguish
|
|
||||||
between the two, we refer to the standalone distribution as the Guix
|
|
||||||
System Distribution, or GuixSD.
|
|
||||||
|
|
||||||
The distribution provides core GNU packages such as GNU libc, GCC, and
|
|
||||||
Binutils, as well as many GNU and non-GNU applications. The complete
|
|
||||||
list of available packages can be browsed
|
|
||||||
@url{http://www.gnu.org/software/guix/packages,on-line} or by
|
|
||||||
running @command{guix package} (@pxref{Invoking guix package}):
|
|
||||||
|
|
||||||
@example
|
|
||||||
guix package --list-available
|
|
||||||
@end example
|
|
||||||
|
|
||||||
Our goal is to provide a practical 100% free software distribution of
|
|
||||||
Linux-based and other variants of GNU, with a focus on the promotion and
|
|
||||||
tight integration of GNU components, and an emphasis on programs and
|
|
||||||
tools that help users exert that freedom.
|
|
||||||
|
|
||||||
Packages are currently available on the following platforms:
|
|
||||||
|
|
||||||
@table @code
|
|
||||||
|
|
||||||
@item x86_64-linux
|
|
||||||
Intel/AMD @code{x86_64} architecture, Linux-Libre kernel;
|
|
||||||
|
|
||||||
@item i686-linux
|
|
||||||
Intel 32-bit architecture (IA32), Linux-Libre kernel;
|
|
||||||
|
|
||||||
@item armhf-linux
|
|
||||||
ARMv7-A architecture with hard float, Thumb-2 and NEON,
|
|
||||||
using the EABI hard-float application binary interface (ABI),
|
|
||||||
and Linux-Libre kernel.
|
|
||||||
|
|
||||||
@item aarch64-linux
|
|
||||||
little-endian 64-bit ARMv8-A processors, Linux-Libre kernel. This is
|
|
||||||
currently in an experimental stage, with limited support.
|
|
||||||
@xref{Contributing}, for how to help!
|
|
||||||
|
|
||||||
@item mips64el-linux
|
|
||||||
little-endian 64-bit MIPS processors, specifically the Loongson series,
|
|
||||||
n32 ABI, and Linux-Libre kernel.
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
GuixSD itself is currently only available on @code{i686} and @code{x86_64}.
|
|
||||||
|
|
||||||
@noindent
|
|
||||||
For information on porting to other architectures or kernels,
|
|
||||||
@pxref{Porting}.
|
|
||||||
|
|
||||||
@menu
|
|
||||||
* System Installation:: Installing the whole operating system.
|
|
||||||
* System Configuration:: Configuring the operating system.
|
|
||||||
* Documentation:: Browsing software user manuals.
|
|
||||||
* Installing Debugging Files:: Feeding the debugger.
|
|
||||||
* Security Updates:: Deploying security fixes quickly.
|
|
||||||
* Package Modules:: Packages from the programmer's viewpoint.
|
|
||||||
* Packaging Guidelines:: Growing the distribution.
|
|
||||||
* Bootstrapping:: GNU/Linux built from scratch.
|
|
||||||
* Porting:: Targeting another platform or kernel.
|
|
||||||
@end menu
|
|
||||||
|
|
||||||
Building this distribution is a cooperative effort, and you are invited
|
|
||||||
to join! @xref{Contributing}, for information about how you can help.
|
|
||||||
|
|
||||||
@node System Installation
|
@node System Installation
|
||||||
@section System Installation
|
@chapter System Installation
|
||||||
|
|
||||||
@cindex installing GuixSD
|
@cindex installing GuixSD
|
||||||
@cindex Guix System Distribution
|
@cindex Guix System Distribution
|
||||||
|
@ -9147,7 +9126,7 @@ available.
|
||||||
@end menu
|
@end menu
|
||||||
|
|
||||||
@node Limitations
|
@node Limitations
|
||||||
@subsection Limitations
|
@section Limitations
|
||||||
|
|
||||||
As of version @value{VERSION}, the Guix System Distribution (GuixSD) is
|
As of version @value{VERSION}, the Guix System Distribution (GuixSD) is
|
||||||
not production-ready. It may contain bugs and lack important
|
not production-ready. It may contain bugs and lack important
|
||||||
|
@ -9191,7 +9170,7 @@ to report issues (and success stories!), and to join us in improving it.
|
||||||
|
|
||||||
|
|
||||||
@node Hardware Considerations
|
@node Hardware Considerations
|
||||||
@subsection Hardware Considerations
|
@section Hardware Considerations
|
||||||
|
|
||||||
@cindex hardware support on GuixSD
|
@cindex hardware support on GuixSD
|
||||||
GNU@tie{}GuixSD focuses on respecting the user's computing freedom. It
|
GNU@tie{}GuixSD focuses on respecting the user's computing freedom. It
|
||||||
|
@ -9226,7 +9205,7 @@ about their support in GNU/Linux.
|
||||||
|
|
||||||
|
|
||||||
@node USB Stick and DVD Installation
|
@node USB Stick and DVD Installation
|
||||||
@subsection USB Stick and DVD Installation
|
@section USB Stick and DVD Installation
|
||||||
|
|
||||||
An ISO-9660 installation image that can be written to a USB stick or
|
An ISO-9660 installation image that can be written to a USB stick or
|
||||||
burnt to a DVD can be downloaded from
|
burnt to a DVD can be downloaded from
|
||||||
|
@ -9265,7 +9244,7 @@ and rerun the @code{gpg --verify} command.
|
||||||
This image contains the tools necessary for an installation.
|
This image contains the tools necessary for an installation.
|
||||||
It is meant to be copied @emph{as is} to a large-enough USB stick or DVD.
|
It is meant to be copied @emph{as is} to a large-enough USB stick or DVD.
|
||||||
|
|
||||||
@unnumberedsubsubsec Copying to a USB Stick
|
@unnumberedsubsec Copying to a USB Stick
|
||||||
|
|
||||||
To copy the image to a USB stick, follow these steps:
|
To copy the image to a USB stick, follow these steps:
|
||||||
|
|
||||||
|
@ -9290,7 +9269,7 @@ sync
|
||||||
Access to @file{/dev/sdX} usually requires root privileges.
|
Access to @file{/dev/sdX} usually requires root privileges.
|
||||||
@end enumerate
|
@end enumerate
|
||||||
|
|
||||||
@unnumberedsubsubsec Burning on a DVD
|
@unnumberedsubsec Burning on a DVD
|
||||||
|
|
||||||
To copy the image to a DVD, follow these steps:
|
To copy the image to a DVD, follow these steps:
|
||||||
|
|
||||||
|
@ -9314,7 +9293,7 @@ growisofs -dvd-compat -Z /dev/srX=guixsd-install-@value{VERSION}.@var{system}.is
|
||||||
Access to @file{/dev/srX} usually requires root privileges.
|
Access to @file{/dev/srX} usually requires root privileges.
|
||||||
@end enumerate
|
@end enumerate
|
||||||
|
|
||||||
@unnumberedsubsubsec Booting
|
@unnumberedsubsec Booting
|
||||||
|
|
||||||
Once this is done, you should be able to reboot the system and boot from
|
Once this is done, you should be able to reboot the system and boot from
|
||||||
the USB stick or DVD. The latter usually requires you to get in the
|
the USB stick or DVD. The latter usually requires you to get in the
|
||||||
|
@ -9325,7 +9304,7 @@ GuixSD in a virtual machine (VM).
|
||||||
|
|
||||||
|
|
||||||
@node Preparing for Installation
|
@node Preparing for Installation
|
||||||
@subsection Preparing for Installation
|
@section Preparing for Installation
|
||||||
|
|
||||||
Once you have successfully booted your computer using the installation medium,
|
Once you have successfully booted your computer using the installation medium,
|
||||||
you should end up with the welcome page of the graphical installer. The
|
you should end up with the welcome page of the graphical installer. The
|
||||||
|
@ -9354,7 +9333,7 @@ But it is also a full-blown GuixSD system, which means that you can
|
||||||
install additional packages, should you need it, using @command{guix
|
install additional packages, should you need it, using @command{guix
|
||||||
package} (@pxref{Invoking guix package}).
|
package} (@pxref{Invoking guix package}).
|
||||||
|
|
||||||
@subsubsection Keyboard Layout
|
@subsection Keyboard Layout
|
||||||
|
|
||||||
@cindex keyboard layout
|
@cindex keyboard layout
|
||||||
The installation image uses the US qwerty keyboard layout. If you want
|
The installation image uses the US qwerty keyboard layout. If you want
|
||||||
|
@ -9369,7 +9348,7 @@ See the files under @file{/run/current-system/profile/share/keymaps} for
|
||||||
a list of available keyboard layouts. Run @command{man loadkeys} for
|
a list of available keyboard layouts. Run @command{man loadkeys} for
|
||||||
more information.
|
more information.
|
||||||
|
|
||||||
@subsubsection Networking
|
@subsection Networking
|
||||||
|
|
||||||
Run the following command to see what your network interfaces are called:
|
Run the following command to see what your network interfaces are called:
|
||||||
|
|
||||||
|
@ -9462,7 +9441,7 @@ herd start ssh-daemon
|
||||||
Make sure to either set a password with @command{passwd}, or configure
|
Make sure to either set a password with @command{passwd}, or configure
|
||||||
OpenSSH public key authentication before logging in.
|
OpenSSH public key authentication before logging in.
|
||||||
|
|
||||||
@subsubsection Disk Partitioning
|
@subsection Disk Partitioning
|
||||||
|
|
||||||
Unless this has already been done, the next step is to partition, and
|
Unless this has already been done, the next step is to partition, and
|
||||||
then format the target partition(s).
|
then format the target partition(s).
|
||||||
|
@ -9583,7 +9562,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.
|
protects the swap file, just like any other file in that file system.
|
||||||
|
|
||||||
@node Proceeding with the Installation
|
@node Proceeding with the Installation
|
||||||
@subsection Proceeding with the Installation
|
@section Proceeding with the Installation
|
||||||
|
|
||||||
With the target partitions ready and the target root mounted on
|
With the target partitions ready and the target root mounted on
|
||||||
@file{/mnt}, we're ready to go. First, run:
|
@file{/mnt}, we're ready to go. First, run:
|
||||||
|
@ -9680,7 +9659,7 @@ Join us on @code{#guix} on the Freenode IRC network or on
|
||||||
good.
|
good.
|
||||||
|
|
||||||
@node Installing GuixSD in a VM
|
@node Installing GuixSD in a VM
|
||||||
@subsection Installing GuixSD in a Virtual Machine
|
@section Installing GuixSD in a Virtual Machine
|
||||||
|
|
||||||
@cindex virtual machine, GuixSD installation
|
@cindex virtual machine, GuixSD installation
|
||||||
@cindex virtual private server (VPS)
|
@cindex virtual private server (VPS)
|
||||||
|
@ -9734,7 +9713,7 @@ Once installation is complete, you can boot the system that's on your
|
||||||
that.
|
that.
|
||||||
|
|
||||||
@node Building the Installation Image
|
@node Building the Installation Image
|
||||||
@subsection Building the Installation Image
|
@section Building the Installation Image
|
||||||
|
|
||||||
@cindex installation image
|
@cindex installation image
|
||||||
The installation image described above was built using the @command{guix
|
The installation image described above was built using the @command{guix
|
||||||
|
@ -9748,7 +9727,7 @@ Have a look at @file{gnu/system/install.scm} in the source tree,
|
||||||
and see also @ref{Invoking guix system} for more information
|
and see also @ref{Invoking guix system} for more information
|
||||||
about the installation image.
|
about the installation image.
|
||||||
|
|
||||||
@subsection Building the Installation Image for ARM Boards
|
@section Building the Installation Image for ARM Boards
|
||||||
|
|
||||||
Many ARM boards require a specific variant of the
|
Many ARM boards require a specific variant of the
|
||||||
@uref{http://www.denx.de/wiki/U-Boot/, U-Boot} bootloader.
|
@uref{http://www.denx.de/wiki/U-Boot/, U-Boot} bootloader.
|
||||||
|
@ -9765,7 +9744,7 @@ guix system disk-image --system=armhf-linux -e '((@@ (gnu system install) os-wit
|
||||||
board, a list of possible boards will be printed.
|
board, a list of possible boards will be printed.
|
||||||
|
|
||||||
@node System Configuration
|
@node System Configuration
|
||||||
@section System Configuration
|
@chapter System Configuration
|
||||||
|
|
||||||
@cindex system configuration
|
@cindex system configuration
|
||||||
The Guix System Distribution supports a consistent whole-system configuration
|
The Guix System Distribution supports a consistent whole-system configuration
|
||||||
|
@ -9808,7 +9787,7 @@ instance to support new system services.
|
||||||
@end menu
|
@end menu
|
||||||
|
|
||||||
@node Using the Configuration System
|
@node Using the Configuration System
|
||||||
@subsection Using the Configuration System
|
@section Using the Configuration System
|
||||||
|
|
||||||
The operating system is configured by providing an
|
The operating system is configured by providing an
|
||||||
@code{operating-system} declaration in a file that can then be passed to
|
@code{operating-system} declaration in a file that can then be passed to
|
||||||
|
@ -9831,7 +9810,7 @@ Below we discuss the effect of some of the most important fields
|
||||||
fields), and how to @dfn{instantiate} the operating system using
|
fields), and how to @dfn{instantiate} the operating system using
|
||||||
@command{guix system}.
|
@command{guix system}.
|
||||||
|
|
||||||
@unnumberedsubsubsec Bootloader
|
@unnumberedsubsec Bootloader
|
||||||
|
|
||||||
@cindex legacy boot, on Intel machines
|
@cindex legacy boot, on Intel machines
|
||||||
@cindex BIOS boot, on Intel machines
|
@cindex BIOS boot, on Intel machines
|
||||||
|
@ -9852,7 +9831,7 @@ the @code{bootloader} field should contain something along these lines:
|
||||||
@xref{Bootloader Configuration}, for more information on the available
|
@xref{Bootloader Configuration}, for more information on the available
|
||||||
configuration options.
|
configuration options.
|
||||||
|
|
||||||
@unnumberedsubsubsec Globally-Visible Packages
|
@unnumberedsubsec Globally-Visible Packages
|
||||||
|
|
||||||
@vindex %base-packages
|
@vindex %base-packages
|
||||||
The @code{packages} field lists packages that will be globally visible
|
The @code{packages} field lists packages that will be globally visible
|
||||||
|
@ -9898,7 +9877,7 @@ version:
|
||||||
%base-packages)))
|
%base-packages)))
|
||||||
@end lisp
|
@end lisp
|
||||||
|
|
||||||
@unnumberedsubsubsec System Services
|
@unnumberedsubsec System Services
|
||||||
|
|
||||||
@cindex services
|
@cindex services
|
||||||
@vindex %base-services
|
@vindex %base-services
|
||||||
|
@ -9990,7 +9969,7 @@ following expression returns a list that contains all the services in
|
||||||
%desktop-services)
|
%desktop-services)
|
||||||
@end example
|
@end example
|
||||||
|
|
||||||
@unnumberedsubsubsec Instantiating the System
|
@unnumberedsubsec Instantiating the System
|
||||||
|
|
||||||
Assuming the @code{operating-system} declaration
|
Assuming the @code{operating-system} declaration
|
||||||
is stored in the @file{my-system-config.scm}
|
is stored in the @file{my-system-config.scm}
|
||||||
|
@ -10023,7 +10002,7 @@ the latest (e.g., after invoking @command{guix system roll-back}), since
|
||||||
the operation might overwrite a later generation (@pxref{Invoking guix
|
the operation might overwrite a later generation (@pxref{Invoking guix
|
||||||
system}).
|
system}).
|
||||||
|
|
||||||
@unnumberedsubsubsec The Programming Interface
|
@unnumberedsubsec The Programming Interface
|
||||||
|
|
||||||
At the Scheme level, the bulk of an @code{operating-system} declaration
|
At the Scheme level, the bulk of an @code{operating-system} declaration
|
||||||
is instantiated with the following monadic procedure (@pxref{The Store
|
is instantiated with the following monadic procedure (@pxref{The Store
|
||||||
|
@ -10044,7 +10023,7 @@ guts of GuixSD. Make sure to visit it!
|
||||||
|
|
||||||
|
|
||||||
@node operating-system Reference
|
@node operating-system Reference
|
||||||
@subsection @code{operating-system} Reference
|
@section @code{operating-system} Reference
|
||||||
|
|
||||||
This section summarizes all the options available in
|
This section summarizes all the options available in
|
||||||
@code{operating-system} declarations (@pxref{Using the Configuration
|
@code{operating-system} declarations (@pxref{Using the Configuration
|
||||||
|
@ -10198,7 +10177,7 @@ is that only @code{root} and members of the @code{wheel} group may use
|
||||||
@end deftp
|
@end deftp
|
||||||
|
|
||||||
@node File Systems
|
@node File Systems
|
||||||
@subsection File Systems
|
@section File Systems
|
||||||
|
|
||||||
The list of file systems to be mounted is specified in the
|
The list of file systems to be mounted is specified in the
|
||||||
@code{file-systems} field of the operating system declaration
|
@code{file-systems} field of the operating system declaration
|
||||||
|
@ -10363,7 +10342,7 @@ and unmount user-space FUSE file systems. This requires the
|
||||||
@end defvr
|
@end defvr
|
||||||
|
|
||||||
@node Mapped Devices
|
@node Mapped Devices
|
||||||
@subsection Mapped Devices
|
@section Mapped Devices
|
||||||
|
|
||||||
@cindex device mapping
|
@cindex device mapping
|
||||||
@cindex mapped devices
|
@cindex mapped devices
|
||||||
|
@ -10484,7 +10463,7 @@ automatically later.
|
||||||
|
|
||||||
|
|
||||||
@node User Accounts
|
@node User Accounts
|
||||||
@subsection User Accounts
|
@section User Accounts
|
||||||
|
|
||||||
@cindex users
|
@cindex users
|
||||||
@cindex accounts
|
@cindex accounts
|
||||||
|
@ -10619,7 +10598,7 @@ special-case and is automatically added whether or not it is specified.
|
||||||
@end defvr
|
@end defvr
|
||||||
|
|
||||||
@node Locales
|
@node Locales
|
||||||
@subsection Locales
|
@section Locales
|
||||||
|
|
||||||
@cindex locale
|
@cindex locale
|
||||||
A @dfn{locale} defines cultural conventions for a particular language
|
A @dfn{locale} defines cultural conventions for a particular language
|
||||||
|
@ -10707,7 +10686,7 @@ instance it has @code{uk_UA.utf8} but @emph{not}, say,
|
||||||
@code{uk_UA.UTF-8}.
|
@code{uk_UA.UTF-8}.
|
||||||
@end defvr
|
@end defvr
|
||||||
|
|
||||||
@subsubsection Locale Data Compatibility Considerations
|
@subsection Locale Data Compatibility Considerations
|
||||||
|
|
||||||
@cindex incompatibility, of locale data
|
@cindex incompatibility, of locale data
|
||||||
@code{operating-system} declarations provide a @code{locale-libcs} field
|
@code{operating-system} declarations provide a @code{locale-libcs} field
|
||||||
|
@ -10759,7 +10738,7 @@ both libc 2.21 and the current version of libc in
|
||||||
|
|
||||||
|
|
||||||
@node Services
|
@node Services
|
||||||
@subsection Services
|
@section Services
|
||||||
|
|
||||||
@cindex system services
|
@cindex system services
|
||||||
An important part of preparing an @code{operating-system} declaration is
|
An important part of preparing an @code{operating-system} declaration is
|
||||||
|
@ -10837,7 +10816,7 @@ declaration.
|
||||||
@end menu
|
@end menu
|
||||||
|
|
||||||
@node Base Services
|
@node Base Services
|
||||||
@subsubsection Base Services
|
@subsection Base Services
|
||||||
|
|
||||||
The @code{(gnu services base)} module provides definitions for the basic
|
The @code{(gnu services base)} module provides definitions for the basic
|
||||||
services that one expects from the system. The services exported by
|
services that one expects from the system. The services exported by
|
||||||
|
@ -11652,7 +11631,7 @@ commonly used for real-time audio systems.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@node Scheduled Job Execution
|
@node Scheduled Job Execution
|
||||||
@subsubsection Scheduled Job Execution
|
@subsection Scheduled Job Execution
|
||||||
|
|
||||||
@cindex cron
|
@cindex cron
|
||||||
@cindex mcron
|
@cindex mcron
|
||||||
|
@ -11753,7 +11732,7 @@ specifications,, mcron, GNU@tie{}mcron}).
|
||||||
|
|
||||||
|
|
||||||
@node Log Rotation
|
@node Log Rotation
|
||||||
@subsubsection Log Rotation
|
@subsection Log Rotation
|
||||||
|
|
||||||
@cindex rottlog
|
@cindex rottlog
|
||||||
@cindex log rotation
|
@cindex log rotation
|
||||||
|
@ -11855,7 +11834,7 @@ The list of syslog-controlled files to be rotated. By default it is:
|
||||||
@end defvr
|
@end defvr
|
||||||
|
|
||||||
@node Networking Services
|
@node Networking Services
|
||||||
@subsubsection Networking Services
|
@subsection Networking Services
|
||||||
|
|
||||||
The @code{(gnu services networking)} module provides services to configure
|
The @code{(gnu services networking)} module provides services to configure
|
||||||
the network interface.
|
the network interface.
|
||||||
|
@ -12800,7 +12779,7 @@ Package object of the Open vSwitch.
|
||||||
@end deftp
|
@end deftp
|
||||||
|
|
||||||
@node X Window
|
@node X Window
|
||||||
@subsubsection X Window
|
@subsection X Window
|
||||||
|
|
||||||
@cindex X11
|
@cindex X11
|
||||||
@cindex X Window System
|
@cindex X Window System
|
||||||
|
@ -13084,7 +13063,7 @@ makes the good ol' XlockMore usable.
|
||||||
|
|
||||||
|
|
||||||
@node Printing Services
|
@node Printing Services
|
||||||
@subsubsection Printing Services
|
@subsection Printing Services
|
||||||
|
|
||||||
@cindex printer support with CUPS
|
@cindex printer support with CUPS
|
||||||
The @code{(gnu services cups)} module provides a Guix service definition
|
The @code{(gnu services cups)} module provides a Guix service definition
|
||||||
|
@ -13925,7 +13904,7 @@ this:
|
||||||
|
|
||||||
|
|
||||||
@node Desktop Services
|
@node Desktop Services
|
||||||
@subsubsection Desktop Services
|
@subsection Desktop Services
|
||||||
|
|
||||||
The @code{(gnu services desktop)} module provides services that are
|
The @code{(gnu services desktop)} module provides services that are
|
||||||
usually useful in the context of a ``desktop'' setup---that is, on a
|
usually useful in the context of a ``desktop'' setup---that is, on a
|
||||||
|
@ -14233,7 +14212,7 @@ Users need to be in the @code{lp} group to access the D-Bus service.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@node Sound Services
|
@node Sound Services
|
||||||
@subsubsection Sound Services
|
@subsection Sound Services
|
||||||
|
|
||||||
@cindex sound support
|
@cindex sound support
|
||||||
@cindex ALSA
|
@cindex ALSA
|
||||||
|
@ -14314,7 +14293,7 @@ details.
|
||||||
|
|
||||||
|
|
||||||
@node Database Services
|
@node Database Services
|
||||||
@subsubsection Database Services
|
@subsection Database Services
|
||||||
|
|
||||||
@cindex database
|
@cindex database
|
||||||
@cindex SQL
|
@cindex SQL
|
||||||
|
@ -14438,7 +14417,7 @@ Directory in which to store the database and related files.
|
||||||
@end deftp
|
@end deftp
|
||||||
|
|
||||||
@node Mail Services
|
@node Mail Services
|
||||||
@subsubsection Mail Services
|
@subsection Mail Services
|
||||||
|
|
||||||
@cindex mail
|
@cindex mail
|
||||||
@cindex email
|
@cindex email
|
||||||
|
@ -15909,7 +15888,7 @@ the @code{postmaster} mail to @code{bob} (which subsequently would
|
||||||
deliver mail to @code{bob@@example.com} and @code{bob@@example2.com}).
|
deliver mail to @code{bob@@example.com} and @code{bob@@example2.com}).
|
||||||
|
|
||||||
@node Messaging Services
|
@node Messaging Services
|
||||||
@subsubsection Messaging Services
|
@subsection Messaging Services
|
||||||
|
|
||||||
@cindex messaging
|
@cindex messaging
|
||||||
@cindex jabber
|
@cindex jabber
|
||||||
|
@ -16411,7 +16390,7 @@ and Error.
|
||||||
@end deftp
|
@end deftp
|
||||||
|
|
||||||
@node Telephony Services
|
@node Telephony Services
|
||||||
@subsubsection Telephony Services
|
@subsection Telephony Services
|
||||||
|
|
||||||
@cindex Murmur (VoIP server)
|
@cindex Murmur (VoIP server)
|
||||||
@cindex VoIP server
|
@cindex VoIP server
|
||||||
|
@ -16616,7 +16595,7 @@ If it is set your server will be linked by this host name instead.
|
||||||
|
|
||||||
|
|
||||||
@node Monitoring Services
|
@node Monitoring Services
|
||||||
@subsubsection Monitoring Services
|
@subsection Monitoring Services
|
||||||
|
|
||||||
@subsubheading Tailon Service
|
@subsubheading Tailon Service
|
||||||
|
|
||||||
|
@ -17121,7 +17100,7 @@ Defaults to @samp{10051}.
|
||||||
@c %end of fragment
|
@c %end of fragment
|
||||||
|
|
||||||
@node Kerberos Services
|
@node Kerberos Services
|
||||||
@subsubsection Kerberos Services
|
@subsection Kerberos Services
|
||||||
@cindex Kerberos
|
@cindex Kerberos
|
||||||
|
|
||||||
The @code{(gnu services kerberos)} module provides services relating to
|
The @code{(gnu services kerberos)} module provides services relating to
|
||||||
|
@ -17247,7 +17226,7 @@ Local accounts with lower values will silently fail to authenticate.
|
||||||
|
|
||||||
|
|
||||||
@node Web Services
|
@node Web Services
|
||||||
@subsubsection Web Services
|
@subsection Web Services
|
||||||
|
|
||||||
@cindex web
|
@cindex web
|
||||||
@cindex www
|
@cindex www
|
||||||
|
@ -18048,7 +18027,7 @@ more information on X.509 certificates.
|
||||||
@end quotation
|
@end quotation
|
||||||
|
|
||||||
@node Certificate Services
|
@node Certificate Services
|
||||||
@subsubsection Certificate Services
|
@subsection Certificate Services
|
||||||
|
|
||||||
@cindex Web
|
@cindex Web
|
||||||
@cindex HTTP, HTTPS
|
@cindex HTTP, HTTPS
|
||||||
|
@ -18194,7 +18173,7 @@ For each @code{certificate-configuration}, the certificate is saved to
|
||||||
@code{/etc/letsencrypt/live/@var{name}/fullchain.pem} and the key is
|
@code{/etc/letsencrypt/live/@var{name}/fullchain.pem} and the key is
|
||||||
saved to @code{/etc/letsencrypt/live/@var{name}/privkey.pem}.
|
saved to @code{/etc/letsencrypt/live/@var{name}/privkey.pem}.
|
||||||
@node DNS Services
|
@node DNS Services
|
||||||
@subsubsection DNS Services
|
@subsection DNS Services
|
||||||
@cindex DNS (domain name system)
|
@cindex DNS (domain name system)
|
||||||
@cindex domain name system (DNS)
|
@cindex domain name system (DNS)
|
||||||
|
|
||||||
|
@ -18763,7 +18742,7 @@ Defaults to @samp{()}.
|
||||||
|
|
||||||
|
|
||||||
@node VPN Services
|
@node VPN Services
|
||||||
@subsubsection VPN Services
|
@subsection VPN Services
|
||||||
@cindex VPN (virtual private network)
|
@cindex VPN (virtual private network)
|
||||||
@cindex virtual private network (VPN)
|
@cindex virtual private network (VPN)
|
||||||
|
|
||||||
|
@ -19121,7 +19100,7 @@ Defaults to @samp{#f}.
|
||||||
|
|
||||||
|
|
||||||
@node Network File System
|
@node Network File System
|
||||||
@subsubsection Network File System
|
@subsection Network File System
|
||||||
@cindex NFS
|
@cindex NFS
|
||||||
|
|
||||||
The @code{(gnu services nfs)} module provides the following services,
|
The @code{(gnu services nfs)} module provides the following services,
|
||||||
|
@ -19236,7 +19215,7 @@ If it is @code{#f} then the daemon will use the host's fully qualified domain na
|
||||||
@end deftp
|
@end deftp
|
||||||
|
|
||||||
@node Continuous Integration
|
@node Continuous Integration
|
||||||
@subsubsection Continuous Integration
|
@subsection Continuous Integration
|
||||||
|
|
||||||
@cindex continuous integration
|
@cindex continuous integration
|
||||||
@uref{https://git.savannah.gnu.org/cgit/guix/guix-cuirass.git, Cuirass} is a
|
@uref{https://git.savannah.gnu.org/cgit/guix/guix-cuirass.git, Cuirass} is a
|
||||||
|
@ -19353,7 +19332,7 @@ The Cuirass package to use.
|
||||||
@end deftp
|
@end deftp
|
||||||
|
|
||||||
@node Power Management Services
|
@node Power Management Services
|
||||||
@subsubsection Power Management Services
|
@subsection Power Management Services
|
||||||
|
|
||||||
@cindex tlp
|
@cindex tlp
|
||||||
@cindex power management with TLP
|
@cindex power management with TLP
|
||||||
|
@ -19887,7 +19866,7 @@ Package object of thermald.
|
||||||
@end deftp
|
@end deftp
|
||||||
|
|
||||||
@node Audio Services
|
@node Audio Services
|
||||||
@subsubsection Audio Services
|
@subsection Audio Services
|
||||||
|
|
||||||
The @code{(gnu services audio)} module provides a service to start MPD
|
The @code{(gnu services audio)} module provides a service to start MPD
|
||||||
(the Music Player Daemon).
|
(the Music Player Daemon).
|
||||||
|
@ -19937,7 +19916,7 @@ an absolute path can be specified here.
|
||||||
@end deftp
|
@end deftp
|
||||||
|
|
||||||
@node Virtualization Services
|
@node Virtualization Services
|
||||||
@subsubsection Virtualization services
|
@subsection Virtualization services
|
||||||
|
|
||||||
The @code{(gnu services virtualization)} module provides services for
|
The @code{(gnu services virtualization)} module provides services for
|
||||||
the libvirt and virtlog daemons, as well as other virtualization-related
|
the libvirt and virtlog daemons, as well as other virtualization-related
|
||||||
|
@ -20730,7 +20709,7 @@ Return the name of @var{platform}---a string such as @code{"arm"}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@node Version Control Services
|
@node Version Control Services
|
||||||
@subsubsection Version Control Services
|
@subsection Version Control Services
|
||||||
|
|
||||||
The @code{(gnu services version-control)} module provides a service to
|
The @code{(gnu services version-control)} module provides a service to
|
||||||
allow remote access to local Git repositories. There are three options:
|
allow remote access to local Git repositories. There are three options:
|
||||||
|
@ -21918,7 +21897,7 @@ This setting controls the commands and features to enable within Gitolite.
|
||||||
|
|
||||||
|
|
||||||
@node Game Services
|
@node Game Services
|
||||||
@subsubsection Game Services
|
@subsection Game Services
|
||||||
|
|
||||||
@subsubheading The Battle for Wesnoth Service
|
@subsubheading The Battle for Wesnoth Service
|
||||||
@cindex wesnothd
|
@cindex wesnothd
|
||||||
|
@ -21949,7 +21928,7 @@ The port to bind the server to.
|
||||||
@end deftp
|
@end deftp
|
||||||
|
|
||||||
@node Miscellaneous Services
|
@node Miscellaneous Services
|
||||||
@subsubsection Miscellaneous Services
|
@subsection Miscellaneous Services
|
||||||
|
|
||||||
@cindex fingerprint
|
@cindex fingerprint
|
||||||
@subsubheading Fingerprint Service
|
@subsubheading Fingerprint Service
|
||||||
|
@ -22057,7 +22036,7 @@ that enables sharing the clipboard with a vm and setting the guest display
|
||||||
resolution when the graphical console window resizes.
|
resolution when the graphical console window resizes.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@subsubsection Dictionary Services
|
@subsection Dictionary Services
|
||||||
@cindex dictionary
|
@cindex dictionary
|
||||||
The @code{(gnu services dict)} module provides the following service:
|
The @code{(gnu services dict)} module provides the following service:
|
||||||
|
|
||||||
|
@ -22183,7 +22162,7 @@ The Containerd package to use.
|
||||||
@end deftp
|
@end deftp
|
||||||
|
|
||||||
@node Setuid Programs
|
@node Setuid Programs
|
||||||
@subsection Setuid Programs
|
@section Setuid Programs
|
||||||
|
|
||||||
@cindex setuid programs
|
@cindex setuid programs
|
||||||
Some programs need to run with ``root'' privileges, even when they are
|
Some programs need to run with ``root'' privileges, even when they are
|
||||||
|
@ -22229,7 +22208,7 @@ files in this directory refer to the ``real'' binaries, which are in the
|
||||||
store.
|
store.
|
||||||
|
|
||||||
@node X.509 Certificates
|
@node X.509 Certificates
|
||||||
@subsection X.509 Certificates
|
@section X.509 Certificates
|
||||||
|
|
||||||
@cindex HTTPS, certificates
|
@cindex HTTPS, certificates
|
||||||
@cindex X.509 certificates
|
@cindex X.509 certificates
|
||||||
|
@ -22292,7 +22271,7 @@ variable in the relevant documentation.
|
||||||
|
|
||||||
|
|
||||||
@node Name Service Switch
|
@node Name Service Switch
|
||||||
@subsection Name Service Switch
|
@section Name Service Switch
|
||||||
|
|
||||||
@cindex name service switch
|
@cindex name service switch
|
||||||
@cindex NSS
|
@cindex NSS
|
||||||
|
@ -22430,7 +22409,7 @@ Reference Manual}). For example:
|
||||||
@end deftp
|
@end deftp
|
||||||
|
|
||||||
@node Initial RAM Disk
|
@node Initial RAM Disk
|
||||||
@subsection Initial RAM Disk
|
@section Initial RAM Disk
|
||||||
|
|
||||||
@cindex initrd
|
@cindex initrd
|
||||||
@cindex initial RAM disk
|
@cindex initial RAM disk
|
||||||
|
@ -22590,7 +22569,7 @@ automatically copied to the initrd.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@node Bootloader Configuration
|
@node Bootloader Configuration
|
||||||
@subsection Bootloader Configuration
|
@section Bootloader Configuration
|
||||||
|
|
||||||
@cindex bootloader
|
@cindex bootloader
|
||||||
@cindex boot loader
|
@cindex boot loader
|
||||||
|
@ -22774,7 +22753,7 @@ logos.
|
||||||
|
|
||||||
|
|
||||||
@node Invoking guix system
|
@node Invoking guix system
|
||||||
@subsection Invoking @code{guix system}
|
@section Invoking @code{guix system}
|
||||||
|
|
||||||
Once you have written an operating system declaration as seen in the
|
Once you have written an operating system declaration as seen in the
|
||||||
previous section, it can be @dfn{instantiated} using the @command{guix
|
previous section, it can be @dfn{instantiated} using the @command{guix
|
||||||
|
@ -23202,7 +23181,7 @@ example graph.
|
||||||
@end table
|
@end table
|
||||||
|
|
||||||
@node Running GuixSD in a VM
|
@node Running GuixSD in a VM
|
||||||
@subsection Running GuixSD in a Virtual Machine
|
@section Running GuixSD in a Virtual Machine
|
||||||
|
|
||||||
@cindex virtual machine
|
@cindex virtual machine
|
||||||
To run GuixSD in a virtual machine (VM), one can either use the
|
To run GuixSD in a virtual machine (VM), one can either use the
|
||||||
|
@ -23267,7 +23246,7 @@ to your system definition and start the VM using
|
||||||
it uses the ICMP protocol. You'll have to use a different command to check for
|
it uses the ICMP protocol. You'll have to use a different command to check for
|
||||||
network connectivity, for example @command{guix download}.
|
network connectivity, for example @command{guix download}.
|
||||||
|
|
||||||
@subsubsection Connecting Through SSH
|
@subsection Connecting Through SSH
|
||||||
|
|
||||||
@cindex SSH
|
@cindex SSH
|
||||||
@cindex SSH server
|
@cindex SSH server
|
||||||
|
@ -23293,7 +23272,7 @@ every time you modify your @command{config.scm} file and the
|
||||||
@command{-o StrictHostKeyChecking=no} prevents you from having to allow a
|
@command{-o StrictHostKeyChecking=no} prevents you from having to allow a
|
||||||
connection to an unknown host every time you connect.
|
connection to an unknown host every time you connect.
|
||||||
|
|
||||||
@subsubsection Using @command{virt-viewer} with Spice
|
@subsection Using @command{virt-viewer} with Spice
|
||||||
|
|
||||||
As an alternative to the default @command{qemu} graphical client you can
|
As an alternative to the default @command{qemu} graphical client you can
|
||||||
use the @command{remote-viewer} from the @command{virt-viewer} package. To
|
use the @command{remote-viewer} from the @command{virt-viewer} package. To
|
||||||
|
@ -23313,7 +23292,7 @@ name=com.redhat.spice.0
|
||||||
You'll also need to add the @pxref{Miscellaneous Services, Spice service}.
|
You'll also need to add the @pxref{Miscellaneous Services, Spice service}.
|
||||||
|
|
||||||
@node Defining Services
|
@node Defining Services
|
||||||
@subsection Defining Services
|
@section Defining Services
|
||||||
|
|
||||||
The previous sections show the available services and how one can combine
|
The previous sections show the available services and how one can combine
|
||||||
them in an @code{operating-system} declaration. But how do we define
|
them in an @code{operating-system} declaration. But how do we define
|
||||||
|
@ -23327,7 +23306,7 @@ them in the first place? And what is a service anyway?
|
||||||
@end menu
|
@end menu
|
||||||
|
|
||||||
@node Service Composition
|
@node Service Composition
|
||||||
@subsubsection Service Composition
|
@subsection Service Composition
|
||||||
|
|
||||||
@cindex services
|
@cindex services
|
||||||
@cindex daemons
|
@cindex daemons
|
||||||
|
@ -23383,7 +23362,7 @@ The following section describes the programming interface for service
|
||||||
types and services.
|
types and services.
|
||||||
|
|
||||||
@node Service Types and Services
|
@node Service Types and Services
|
||||||
@subsubsection Service Types and Services
|
@subsection Service Types and Services
|
||||||
|
|
||||||
A @dfn{service type} is a node in the DAG described above. Let us start
|
A @dfn{service type} is a node in the DAG described above. Let us start
|
||||||
with a simple example, the service type for the Guix build daemon
|
with a simple example, the service type for the Guix build daemon
|
||||||
|
@ -23520,7 +23499,7 @@ Still here? The next section provides a reference of the programming
|
||||||
interface for services.
|
interface for services.
|
||||||
|
|
||||||
@node Service Reference
|
@node Service Reference
|
||||||
@subsubsection Service Reference
|
@subsection Service Reference
|
||||||
|
|
||||||
We have seen an overview of service types (@pxref{Service Types and
|
We have seen an overview of service types (@pxref{Service Types and
|
||||||
Services}). This section provides a reference on how to manipulate
|
Services}). This section provides a reference on how to manipulate
|
||||||
|
@ -23745,7 +23724,7 @@ extend it by passing it lists of packages to add to the system profile.
|
||||||
|
|
||||||
|
|
||||||
@node Shepherd Services
|
@node Shepherd Services
|
||||||
@subsubsection Shepherd Services
|
@subsection Shepherd Services
|
||||||
|
|
||||||
@cindex shepherd services
|
@cindex shepherd services
|
||||||
@cindex PID 1
|
@cindex PID 1
|
||||||
|
@ -23889,7 +23868,7 @@ This service represents PID@tie{}1.
|
||||||
|
|
||||||
|
|
||||||
@node Documentation
|
@node Documentation
|
||||||
@section Documentation
|
@chapter Documentation
|
||||||
|
|
||||||
@cindex documentation, searching for
|
@cindex documentation, searching for
|
||||||
@cindex searching for documentation
|
@cindex searching for documentation
|
||||||
|
@ -23953,7 +23932,7 @@ bindings to navigate manuals. @xref{Getting Started,,, info, Info: An
|
||||||
Introduction}, for an introduction to Info navigation.
|
Introduction}, for an introduction to Info navigation.
|
||||||
|
|
||||||
@node Installing Debugging Files
|
@node Installing Debugging Files
|
||||||
@section Installing Debugging Files
|
@chapter Installing Debugging Files
|
||||||
|
|
||||||
@cindex debugging files
|
@cindex debugging files
|
||||||
Program binaries, as produced by the GCC compilers for instance, are
|
Program binaries, as produced by the GCC compilers for instance, are
|
||||||
|
@ -24019,7 +23998,7 @@ the load. To check whether a package has a @code{debug} output, use
|
||||||
|
|
||||||
|
|
||||||
@node Security Updates
|
@node Security Updates
|
||||||
@section Security Updates
|
@chapter Security Updates
|
||||||
|
|
||||||
@cindex security updates
|
@cindex security updates
|
||||||
@cindex security vulnerabilities
|
@cindex security vulnerabilities
|
||||||
|
@ -24139,7 +24118,7 @@ lsof | grep /gnu/store/.*bash
|
||||||
|
|
||||||
|
|
||||||
@node Package Modules
|
@node Package Modules
|
||||||
@section Package Modules
|
@chapter Package Modules
|
||||||
|
|
||||||
From a programming viewpoint, the package definitions of the
|
From a programming viewpoint, the package definitions of the
|
||||||
GNU distribution are provided by Guile modules in the @code{(gnu packages
|
GNU distribution are provided by Guile modules in the @code{(gnu packages
|
||||||
|
@ -24201,7 +24180,7 @@ bootstrap)} module. For more information on bootstrapping,
|
||||||
@pxref{Bootstrapping}.
|
@pxref{Bootstrapping}.
|
||||||
|
|
||||||
@node Packaging Guidelines
|
@node Packaging Guidelines
|
||||||
@section Packaging Guidelines
|
@chapter Packaging Guidelines
|
||||||
|
|
||||||
@cindex packages, creating
|
@cindex packages, creating
|
||||||
The GNU distribution is nascent and may well lack some of your favorite
|
The GNU distribution is nascent and may well lack some of your favorite
|
||||||
|
@ -24278,7 +24257,7 @@ needed is to review and apply the patch.
|
||||||
@end menu
|
@end menu
|
||||||
|
|
||||||
@node Software Freedom
|
@node Software Freedom
|
||||||
@subsection Software Freedom
|
@section Software Freedom
|
||||||
|
|
||||||
@c Adapted from http://www.gnu.org/philosophy/philosophy.html.
|
@c Adapted from http://www.gnu.org/philosophy/philosophy.html.
|
||||||
@cindex free software
|
@cindex free software
|
||||||
|
@ -24306,7 +24285,7 @@ upstream source.
|
||||||
|
|
||||||
|
|
||||||
@node Package Naming
|
@node Package Naming
|
||||||
@subsection Package Naming
|
@section Package Naming
|
||||||
|
|
||||||
@cindex package name
|
@cindex package name
|
||||||
A package has actually two names associated with it:
|
A package has actually two names associated with it:
|
||||||
|
@ -24331,7 +24310,7 @@ Font package names are handled differently, @pxref{Fonts}.
|
||||||
|
|
||||||
|
|
||||||
@node Version Numbers
|
@node Version Numbers
|
||||||
@subsection Version Numbers
|
@section Version Numbers
|
||||||
|
|
||||||
@cindex package version
|
@cindex package version
|
||||||
We usually package only the latest version of a given free software
|
We usually package only the latest version of a given free software
|
||||||
|
@ -24422,7 +24401,7 @@ definition may look like this:
|
||||||
@end example
|
@end example
|
||||||
|
|
||||||
@node Synopses and Descriptions
|
@node Synopses and Descriptions
|
||||||
@subsection Synopses and Descriptions
|
@section Synopses and Descriptions
|
||||||
|
|
||||||
@cindex package description
|
@cindex package description
|
||||||
@cindex package synopsis
|
@cindex package synopsis
|
||||||
|
@ -24502,7 +24481,7 @@ for the X11 resize-and-rotate (RandR) extension. @dots{}")
|
||||||
|
|
||||||
|
|
||||||
@node Python Modules
|
@node Python Modules
|
||||||
@subsection Python Modules
|
@section Python Modules
|
||||||
|
|
||||||
@cindex python
|
@cindex python
|
||||||
We currently package Python 2 and Python 3, under the Scheme variable names
|
We currently package Python 2 and Python 3, under the Scheme variable names
|
||||||
|
@ -24523,7 +24502,7 @@ for instance, the module python-dateutil is packaged under the names
|
||||||
starts with @code{py} (e.g.@: @code{pytz}), we keep it and prefix it as
|
starts with @code{py} (e.g.@: @code{pytz}), we keep it and prefix it as
|
||||||
described above.
|
described above.
|
||||||
|
|
||||||
@subsubsection Specifying Dependencies
|
@subsection Specifying Dependencies
|
||||||
@cindex inputs, for Python packages
|
@cindex inputs, for Python packages
|
||||||
|
|
||||||
Dependency information for Python packages is usually available in the
|
Dependency information for Python packages is usually available in the
|
||||||
|
@ -24577,7 +24556,7 @@ size}}).
|
||||||
|
|
||||||
|
|
||||||
@node Perl Modules
|
@node Perl Modules
|
||||||
@subsection Perl Modules
|
@section Perl Modules
|
||||||
|
|
||||||
@cindex perl
|
@cindex perl
|
||||||
Perl programs standing for themselves are named as any other package,
|
Perl programs standing for themselves are named as any other package,
|
||||||
|
@ -24593,7 +24572,7 @@ prefix. For instance, @code{libwww-perl} becomes @code{perl-libwww}.
|
||||||
|
|
||||||
|
|
||||||
@node Java Packages
|
@node Java Packages
|
||||||
@subsection Java Packages
|
@section Java Packages
|
||||||
|
|
||||||
@cindex java
|
@cindex java
|
||||||
Java programs standing for themselves are named as any other package,
|
Java programs standing for themselves are named as any other package,
|
||||||
|
@ -24613,7 +24592,7 @@ dashes and prepend the prefix @code{java-}. So the class
|
||||||
|
|
||||||
|
|
||||||
@node Fonts
|
@node Fonts
|
||||||
@subsection Fonts
|
@section Fonts
|
||||||
|
|
||||||
@cindex fonts
|
@cindex fonts
|
||||||
For fonts that are in general not installed by a user for typesetting
|
For fonts that are in general not installed by a user for typesetting
|
||||||
|
@ -24652,7 +24631,7 @@ fonts.
|
||||||
|
|
||||||
|
|
||||||
@node Bootstrapping
|
@node Bootstrapping
|
||||||
@section Bootstrapping
|
@chapter Bootstrapping
|
||||||
|
|
||||||
@c Adapted from the ELS 2013 paper.
|
@c Adapted from the ELS 2013 paper.
|
||||||
|
|
||||||
|
@ -24681,7 +24660,7 @@ Binutils, libc, and the other packages mentioned above---the
|
||||||
These bootstrap binaries are ``taken for granted'', though we can also
|
These bootstrap binaries are ``taken for granted'', though we can also
|
||||||
re-create them if needed (more on that later).
|
re-create them if needed (more on that later).
|
||||||
|
|
||||||
@unnumberedsubsec Preparing to Use the Bootstrap Binaries
|
@unnumberedsec Preparing to Use the Bootstrap Binaries
|
||||||
|
|
||||||
@c As of Emacs 24.3, Info-mode displays the image, but since it's a
|
@c As of Emacs 24.3, Info-mode displays the image, but since it's a
|
||||||
@c large image, it's hard to scroll. Oh well.
|
@c large image, it's hard to scroll. Oh well.
|
||||||
|
@ -24732,7 +24711,7 @@ derivations @code{gcc-bootstrap-0.drv}, @code{glibc-bootstrap-0.drv},
|
||||||
etc., at which point we have a working C tool chain.
|
etc., at which point we have a working C tool chain.
|
||||||
|
|
||||||
|
|
||||||
@unnumberedsubsec Building the Build Tools
|
@unnumberedsec Building the Build Tools
|
||||||
|
|
||||||
Bootstrapping is complete when we have a full tool chain that does not
|
Bootstrapping is complete when we have a full tool chain that does not
|
||||||
depend on the pre-built bootstrap tools discussed above. This
|
depend on the pre-built bootstrap tools discussed above. This
|
||||||
|
@ -24787,7 +24766,7 @@ implicitly used by any package that uses @code{gnu-build-system}
|
||||||
(@pxref{Build Systems, @code{gnu-build-system}}).
|
(@pxref{Build Systems, @code{gnu-build-system}}).
|
||||||
|
|
||||||
|
|
||||||
@unnumberedsubsec Building the Bootstrap Binaries
|
@unnumberedsec Building the Bootstrap Binaries
|
||||||
|
|
||||||
@cindex bootstrap binaries
|
@cindex bootstrap binaries
|
||||||
Because the final tool chain does not depend on the bootstrap binaries,
|
Because the final tool chain does not depend on the bootstrap binaries,
|
||||||
|
@ -24813,7 +24792,7 @@ unknown, but if you would like to investigate further (and have
|
||||||
significant computational and storage resources to do so), then let us
|
significant computational and storage resources to do so), then let us
|
||||||
know.
|
know.
|
||||||
|
|
||||||
@unnumberedsubsec Reducing the Set of Bootstrap Binaries
|
@unnumberedsec Reducing the Set of Bootstrap Binaries
|
||||||
|
|
||||||
Our bootstrap binaries currently include GCC, Guile, etc. That's a lot
|
Our bootstrap binaries currently include GCC, Guile, etc. That's a lot
|
||||||
of binary code! Why is that a problem? It's a problem because these
|
of binary code! Why is that a problem? It's a problem because these
|
||||||
|
@ -24836,7 +24815,7 @@ a simple and auditable assembler. Your help is welcome!
|
||||||
|
|
||||||
|
|
||||||
@node Porting
|
@node Porting
|
||||||
@section Porting to a New Platform
|
@chapter Porting to a New Platform
|
||||||
|
|
||||||
As discussed above, the GNU distribution is self-contained, and
|
As discussed above, the GNU distribution is self-contained, and
|
||||||
self-containment is achieved by relying on pre-built ``bootstrap
|
self-containment is achieved by relying on pre-built ``bootstrap
|
||||||
|
|
Loading…
Reference in New Issue