diff options
Diffstat (limited to 'doc/guix.texi')
-rw-r--r-- | doc/guix.texi | 114 |
1 files changed, 111 insertions, 3 deletions
diff --git a/doc/guix.texi b/doc/guix.texi index d88cc256d7..b9bf986640 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -336,6 +336,13 @@ manager, which can be done on top of a running GNU/Linux system. If, instead, you want to install the complete GNU operating system, @pxref{System Installation}. +@cindex foreign distro +When installed on a running GNU/Linux system---thereafter called a +@dfn{foreign distro}---GNU@tie{}Guix complements the available tools +without interference. Its data lives exclusively in two directories, +usually @file{/gnu/store} and @file{/var/guix}; other files on your +system, such as @file{/etc}, are left untouched. + @menu * Binary Installation:: Getting Guix running in no time! * Requirements:: Software needed to build and run Guix. @@ -375,7 +382,7 @@ If that command fails because you do not have the required public key, then run this command to import it: @example -$ gpg --keyserver keys.gnupg.net --recv-keys 090B11993D9AEBB5 +$ gpg --keyserver pgp.mit.edu --recv-keys 090B11993D9AEBB5 @end example @noindent @@ -998,6 +1005,10 @@ consecutive build results are not bit-for-bit identical. Note that this setting can be overridden by clients such as @command{guix build} (@pxref{Invoking guix build}). +When used in conjunction with @option{--keep-failed}, the differing +output is kept in the store, under @file{/gnu/store/@dots{}-check}. +This makes it easy to look for differences between the two results. + @item --debug Produce debugging output. @@ -1092,6 +1103,7 @@ daemons on the same machine. @node Application Setup @section Application Setup +@cindex foreign distro When using Guix on top of GNU/Linux distribution other than GuixSD---a so-called @dfn{foreign distro}---a few additional steps are needed to get everything in place. Here are some of them. @@ -3082,7 +3094,7 @@ Store Monad}). @cindex derivations Low-level build actions and the environment in which they are performed -are represented by @dfn{derivations}. A derivation contain the +are represented by @dfn{derivations}. A derivation contains the following pieces of information: @itemize @@ -4332,6 +4344,10 @@ substitutes are genuine (@pxref{Substitutes}), or whether the build result of a package is deterministic. @xref{Invoking guix challenge}, for more background information and tools. +When used in conjunction with @option{--keep-failed}, the differing +output is kept in the store, under @file{/gnu/store/@dots{}-check}. +This makes it easy to look for differences between the two results. + @item --derivations @itemx -d Return the derivation paths, not the output paths, of the given @@ -5058,6 +5074,24 @@ reports information based on the available substitutes (@pxref{Substitutes}). This makes it possible it to profile disk usage of store items that are not even on disk, only available remotely. +You can also specify several package names: + +@example +$ guix size coreutils grep sed bash +store item total self +/gnu/store/@dots{}-coreutils-8.24 77.8 13.8 13.4% +/gnu/store/@dots{}-grep-2.22 73.1 0.8 0.8% +/gnu/store/@dots{}-bash-4.3.42 72.3 4.7 4.6% +/gnu/store/@dots{}-readline-6.3 67.6 1.2 1.2% +@dots{} +total: 102.3 MiB +@end example + +@noindent +In this example we see that the combination of the four packages takes +102.3@tie{}MiB in total, which is much less than the sum of each closure +since they have a lot of dependencies in common. + The available options are: @table @option @@ -5948,6 +5982,11 @@ 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 GuixSD system, which means that you can +install additional packages, should you need it, using @command{guix +package} (@pxref{Invoking guix package}). + @subsubsection Keyboard Layout @cindex keyboard layout @@ -5971,6 +6010,13 @@ Run the following command see what your network interfaces are called: ifconfig -a @end example +@noindent +@dots{} or, using the GNU/Linux-specific @command{ip} command: + +@example +ip a +@end example + @c http://cgit.freedesktop.org/systemd/systemd/tree/src/udev/udev-builtin-net_id.c#n20 Wired interfaces have a name starting with @samp{e}; for example, the interface corresponding to the first on-board Ethernet controller is @@ -7337,6 +7383,17 @@ Return a service that runs the Guix build daemon according to Run @var{udev}, which populates the @file{/dev} directory dynamically. @end deffn +@deffn {Scheme Procedure} urandom-seed-service @var{#f} +Save some entropy in @var{%random-seed-file} to seed @file{/dev/urandom} +when rebooting. +@end deffn + +@defvr {Scheme Variable} %random-seed-file +This is the name of the file where some random bytes are saved by +@var{urandom-seed-service} to seed @file{/dev/urandom} when rebooting. +It defaults to @file{/var/lib/random-seed}. +@end defvr + @deffn {Scheme Procedure} console-keymap-service @var{files} ... @cindex keyboard layout Return a service to load console keymaps from @var{files} using @@ -9338,6 +9395,55 @@ Finally, @var{extra-options} is a list of additional command-line options passed to @command{lircd}. @end deffn +@subsubsection Dictionary Services +The @code{(gnu services dict)} module provides the following service: + +@deffn {Scheme Procedure} dicod-service [#:config (dicod-configuration)] +Return a service that runs the @command{dicod} daemon, an implementation +of DICT server (@pxref{Dicod,,, dico, GNU Dico Manual}). + +The optional @var{config} argument specifies the configuration for +@command{dicod}, which should be a @code{<dicod-configuration>} object, by +default it serves the GNU Collaborative International Dictonary of English. + +You can add @command{open localhost} to your @file{~/.dico} file to make +@code{localhost} the default server for @command{dico} client +(@pxref{Initialization File,,, dico, GNU Dico Manual}). +@end deffn + +@deftp {Data Type} dicod-configuration +Data type representing the configuration of dicod. + +@table @asis +@item @code{dico} (default: @var{dico}) +Package object of the GNU Dico dictionary server. + +@item @code{databases} (default: @var{(list %dicod-database:gcide)}) +List of @code{<dicod-database>} objects denoting dictionaries to be served. +@end table +@end deftp + +@deftp {Data Type} dicod-database +Data type representing a dictionary database. + +@table @asis +@item @code{name} +Name of the database, will be used in DICT commands. + +@item @code{module} +Name of the dicod module used by this database +(@pxref{Modules,,, dico, GNU Dico Manual}). + +@item @code{options} +List of strings or gexps representing the arguments for the module handler +(@pxref{Handlers,,, dico, GNU Dico Manual}). +@end table +@end deftp + +@defvr {Scheme Variable} %dicod-database:gcide +A @code{<dicod-database>} object serving the GNU Collaborative International +Dictonary of English using the @code{gcide} package. +@end defvr @node Setuid Programs @subsection Setuid Programs @@ -11068,7 +11174,9 @@ packages with the corresponding names. If a project already contains the word @code{python}, we drop this; for instance, the module python-dateutil is packaged under the names -@code{python-dateutil} and @code{python2-dateutil}. +@code{python-dateutil} and @code{python2-dateutil}. If the project name +starts with @code{py} (e.g. @code{pytz}), we keep it and prefix it as +described above. @node Perl Modules |