diff options
Diffstat (limited to 'po')
-rw-r--r-- | po/doc/contributing.fr.po | 1220 | ||||
-rw-r--r-- | po/doc/contributing.pot | 962 | ||||
-rw-r--r-- | po/doc/guix.fr.po | 42145 | ||||
-rw-r--r-- | po/doc/guix.pot | 46344 | ||||
-rw-r--r-- | po/doc/local.mk | 77 | ||||
-rw-r--r-- | po/guix/fr.po | 37 | ||||
-rw-r--r-- | po/packages/es.po | 1430 |
7 files changed, 91650 insertions, 565 deletions
diff --git a/po/doc/contributing.fr.po b/po/doc/contributing.fr.po new file mode 100644 index 0000000000..610013ed5c --- /dev/null +++ b/po/doc/contributing.fr.po @@ -0,0 +1,1220 @@ +# SOME DESCRIPTIVE TITLE +# Copyright (C) YEAR Free Software Foundation, Inc. +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"POT-Creation-Date: 2018-04-10 21:34+0200\n" +"PO-Revision-Date: 2018-04-19 18:50+0200\n" +"Last-Translator: Julien Lepiller <julien@lepiller.eu>\n" +"Language-Team: \n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 2.0.6\n" + +#. type: chapter +#: doc/contributing.texi:1 doc/contributing.texi:2 +#, no-wrap +msgid "Contributing" +msgstr "Contribuer" + +#. type: Plain text +#: doc/contributing.texi:9 +msgid "" +"This project is a cooperative effort, and we need your help to make it grow! " +"Please get in touch with us on @email{guix-devel@@gnu.org} and @code{#guix} on " +"the Freenode IRC network. We welcome ideas, bug reports, patches, and " +"anything that may be helpful to the project. We particularly welcome help on " +"packaging (@pxref{Packaging Guidelines})." +msgstr "" +"Ce projet est un effort coopératif et nous avons besoin de votre aide pour le " +"faire grandir ! Contactez-nous sur @email{guix-devel@@gnu.org} et @code{#guix} " +"sur le réseau IRC Freenode. Nous accueillons les idées, les rapports de " +"bogues, les correctifs et tout ce qui pourrait aider le projet. Nous " +"apprécions particulièrement toute aide sur la création de paquets " +"(@pxref{Consignes d'empaquetage})." + +#. type: cindex +#: doc/contributing.texi:10 +#, no-wrap +msgid "code of conduct, of contributors" +msgstr "code de conduite, des contributeurs" + +#. type: cindex +#: doc/contributing.texi:11 +#, no-wrap +msgid "contributor covenant" +msgstr "convention de contribution" + +#. type: Plain text +#: doc/contributing.texi:17 +msgid "" +"We want to provide a warm, friendly, and harassment-free environment, so that " +"anyone can contribute to the best of their abilities. To this end our project " +"uses a ``Contributor Covenant'', which was adapted from @url{http://" +"contributor-covenant.org/}. You can find a local version in the @file{CODE-OF-" +"CONDUCT} file in the source tree." +msgstr "" +"Nous souhaitons fournir un environnement chaleureux, amical et sans " +"harcèlement pour que tout le monde puisse contribuer au mieux de ses " +"capacités. Pour cela notre projet a une « Convention de contribution » adaptée " +"de @url{http://contributor-covenant.org/}. Vous pouvez trouver une version " +"locale dans le fichier @file{CODE-OF-CONDUCT} dans l'arborescence des sources." + +#. type: Plain text +#: doc/contributing.texi:21 +msgid "" +"Contributors are not required to use their legal name in patches and on-line " +"communication; they can use any name or pseudonym of their choice." +msgstr "" +"Les contributeurs n'ont pas besoin d'utiliser leur nom légal dans leurs " +"correctifs et leurs communications en ligne ; ils peuvent utiliser n'importe " +"quel nom ou pseudonyme de leur choix." + +#. type: section +#: doc/contributing.texi:28 doc/contributing.texi:30 doc/contributing.texi:31 +#, no-wrap +msgid "Building from Git" +msgstr "Construire depuis Git" + +#. type: menuentry +#: doc/contributing.texi:28 +msgid "The latest and greatest." +msgstr "" + +#. type: section +#: doc/contributing.texi:28 doc/contributing.texi:102 doc/contributing.texi:103 +#, no-wrap +msgid "Running Guix Before It Is Installed" +msgstr "Lancer Guix avant qu'il ne soit installé" + +#. type: menuentry +#: doc/contributing.texi:28 +msgid "Hacker tricks." +msgstr "Astuces pour les hackers." + +#. type: section +#: doc/contributing.texi:28 doc/contributing.texi:169 doc/contributing.texi:170 +#, no-wrap +msgid "The Perfect Setup" +msgstr "La configuration parfaite" + +#. type: menuentry +#: doc/contributing.texi:28 +msgid "The right tools." +msgstr "Les bons outils." + +#. type: section +#: doc/contributing.texi:28 doc/contributing.texi:228 doc/contributing.texi:229 +#, no-wrap +msgid "Coding Style" +msgstr "Style de code" + +#. type: menuentry +#: doc/contributing.texi:28 +msgid "Hygiene of the contributor." +msgstr "Hygiène du contributeur." + +#. type: section +#: doc/contributing.texi:28 doc/contributing.texi:319 doc/contributing.texi:320 +#, no-wrap +msgid "Submitting Patches" +msgstr "Envoyer des correctifs" + +#. type: menuentry +#: doc/contributing.texi:28 +msgid "Share your work." +msgstr "Partager votre travail." + +#. type: Plain text +#: doc/contributing.texi:35 +msgid "" +"If you want to hack Guix itself, it is recommended to use the latest version " +"from the Git repository:" +msgstr "" +"Si vous souhaitez travailler sur Guix lui-même, il est recommandé d'utiliser " +"la dernière version du dépôt Git :" + +#. type: example +#: doc/contributing.texi:38 +#, no-wrap +msgid "git clone https://git.savannah.gnu.org/git/guix.git\n" +msgstr "git clone https://git.savannah.gnu.org/git/guix.git\n" + +#. type: Plain text +#: doc/contributing.texi:43 +msgid "" +"When building Guix from a checkout, the following packages are required in " +"addition to those mentioned in the installation instructions " +"(@pxref{Requirements})." +msgstr "" +"Lors de la construction de Guix depuis un extrait, les paquets suivants sont " +"requis en plus de ceux mentionnés dans les instructions d'installation " +"(@pxref{Prérequis})." + +#. type: item +#: doc/contributing.texi:45 +#, no-wrap +msgid "@url{http://gnu.org/software/autoconf/, GNU Autoconf};" +msgstr "@url{http://gnu.org/software/autoconf/, GNU Autoconf};" + +#. type: item +#: doc/contributing.texi:46 +#, no-wrap +msgid "@url{http://gnu.org/software/automake/, GNU Automake};" +msgstr "@url{http://gnu.org/software/automake/, GNU Automake};" + +#. type: item +#: doc/contributing.texi:47 +#, no-wrap +msgid "@url{http://gnu.org/software/gettext/, GNU Gettext};" +msgstr "@url{http://gnu.org/software/gettext/, GNU Gettext};" + +#. type: item +#: doc/contributing.texi:48 +#, no-wrap +msgid "@url{http://gnu.org/software/texinfo/, GNU Texinfo};" +msgstr "@url{http://gnu.org/software/texinfo/, GNU Texinfo};" + +#. type: item +#: doc/contributing.texi:49 +#, no-wrap +msgid "@url{http://www.graphviz.org/, Graphviz};" +msgstr "@url{http://www.graphviz.org/, Graphviz};" + +#. type: item +#: doc/contributing.texi:50 +#, no-wrap +msgid "@url{http://www.gnu.org/software/help2man/, GNU Help2man (optional)}." +msgstr "@url{http://www.gnu.org/software/help2man/, GNU Help2man (facultatif)}." + +#. type: Plain text +#: doc/contributing.texi:57 +msgid "" +"The easiest way to set up a development environment for Guix is, of course, by " +"using Guix! The following command starts a new shell where all the " +"dependencies and appropriate environment variables are set up to hack on Guix:" +msgstr "" +"La manière la plus simple de configurer un environnement de développement pour " +"Guix est, bien sûr, d'utiliser Guix ! La commande suivante démarre un nouveau " +"shell où toutes les dépendances et les variables d'environnements appropriées " +"sont configurés pour travailler sur Guix :" + +#. type: example +#: doc/contributing.texi:60 +#, no-wrap +msgid "guix environment guix\n" +msgstr "guix environment guix\n" + +#. type: Plain text +#: doc/contributing.texi:64 +msgid "" +"@xref{Invoking guix environment}, for more information on that command. Extra " +"dependencies can be added with @option{--ad-hoc}:" +msgstr "" +"@xref{Invoquer guix environment}, pour plus d'information sur cette commande. " +"On peut ajouter des dépendances supplémentaires avec @option{--ad-hoc} :" + +#. type: example +#: doc/contributing.texi:67 +#, no-wrap +msgid "guix environment guix --ad-hoc help2man git strace\n" +msgstr "guix environment guix --ad-hoc help2man git strace\n" + +#. type: Plain text +#: doc/contributing.texi:71 +msgid "" +"Run @command{./bootstrap} to generate the build system infrastructure using " +"Autoconf and Automake. If you get an error like this one:" +msgstr "" +"Lancez @command{./bootstrap} pour générer l'infrastructure du système de " +"construction avec Autoconf et Automake. Si vous avez une erreur comme :" + +#. type: example +#: doc/contributing.texi:74 +#, no-wrap +msgid "configure.ac:46: error: possibly undefined macro: PKG_CHECK_MODULES\n" +msgstr "configure.ac:46: error: possibly undefined macro: PKG_CHECK_MODULES\n" + +#. type: Plain text +#: doc/contributing.texi:83 +msgid "" +"it probably means that Autoconf couldn’t find @file{pkg.m4}, which is provided " +"by pkg-config. Make sure that @file{pkg.m4} is available. The same holds for " +"the @file{guile.m4} set of macros provided by Guile. For instance, if you " +"installed Automake in @file{/usr/local}, it wouldn’t look for @file{.m4} files " +"in @file{/usr/share}. In that case, you have to invoke the following command:" +msgstr "" +"cela signifie probablement qu'Autoconf n'a pas pu trouver @file{pkg.m4} qui " +"est fournit par pkg-config. Assurez-vous que @file{pkg.m4} est disponible. " +"C'est aussi vrai pour l'ensemble de macros de @file{guile.m4} fournies par " +"Guile. Par exemple, si vous avez installé Automake dans @file{/usr/local}, il " +"ne cherchera pas les fichiers @file{.m4} dans @file{/usr/share}. Dans ce case " +"vous devez invoquer la commande suivante :" + +#. type: example +#: doc/contributing.texi:86 +#, no-wrap +msgid "export ACLOCAL_PATH=/usr/share/aclocal\n" +msgstr "export ACLOCAL_PATH=/usr/share/aclocal\n" + +#. type: Plain text +#: doc/contributing.texi:90 +msgid "" +"@xref{Macro Search Path,,, automake, The GNU Automake Manual}, for more " +"information." +msgstr "" +"@xref{Macro Search Path,,, automake, The GNU Automake Manual}, pour plus " +"d'information." + +#. type: Plain text +#: doc/contributing.texi:95 +msgid "" +"Then, run @command{./configure} as usual. Make sure to pass @code{--" +"localstatedir=@var{directory}} where @var{directory} is the " +"@code{localstatedir} value used by your current installation (@pxref{The " +"Store}, for information about this)." +msgstr "" +"Ensuite, lancez @command{./configure} comme d'habitude. Assurez-vous de passer " +"@code{--localstatedir=@var{directory}} où @var{directory} est la valeur " +"@code{localstatedir} utilisée par votre installation actuelle (@pxref{Le " +"dépôt} pour plus d'informations à ce propos)." + +#. type: Plain text +#: doc/contributing.texi:100 +msgid "" +"Finally, you have to invoke @code{make check} to run tests (@pxref{Running the " +"Test Suite}). If anything fails, take a look at installation instructions " +"(@pxref{Installation}) or send a message to the @email{guix-devel@@gnu.org, " +"mailing list}." +msgstr "" +"Finalement, vous devez invoquer @code{make check} pour lancer les tests " +"(@pxref{Lancer la suite de tests}). Si quelque chose échoue, jetez un œil aux " +"instructions d'installation (@pxref{Installation}) ou envoyez un message à la " +"list @email{guix-devel@@gnu.org}." + +#. type: Plain text +#: doc/contributing.texi:109 +msgid "" +"In order to keep a sane working environment, you will find it useful to test " +"the changes made in your local source tree checkout without actually " +"installing them. So that you can distinguish between your ``end-user'' hat " +"and your ``motley'' costume." +msgstr "" +"Pour garder un environnement de travail sain, il est utile de tester les " +"changement localement sans les installer pour de vrai. Pour pouvoir distinguer " +"votre rôle « d'utilisateur final » de celui parfois haut en couleur de « " +"développeur »." + +#. type: Plain text +#: doc/contributing.texi:117 +msgid "" +"To that end, all the command-line tools can be used even if you have not run " +"@code{make install}. To do that, prefix each command with @command{./pre-inst-" +"env} (the @file{pre-inst-env} script lives in the top build tree of Guix), as " +"in@footnote{The @option{-E} flag to @command{sudo} guarantees that " +"@code{GUILE_LOAD_PATH} is correctly set such that @command{guix-daemon} and " +"the tools it uses can find the Guile modules they need.}:" +msgstr "" +"Pour cela, tous les outils en ligne de commande sont utilisables même sans " +"avoir lancé @code{make install}. Vous devez pour cela préfixer chaque commande " +"par @command{./pre-inst-env} (le script @file{pre-inst-env} se trouve dans le " +"répertoire de plus haut niveau de l'arborescence des sources de Guix) comme " +"cela@footnote{L'option @option{-E} de @command{sudo} garantie que " +"@code{GUILE_LOAD_PATH} est bien paramétré pour @command{guix-daemon} et les " +"outils qu'il utilise puissent trouver les modules Guile dont ils ont besoin.} :" + +#. type: example +#: doc/contributing.texi:121 +#, no-wrap +msgid "" +"$ sudo -E ./pre-inst-env guix-daemon --build-users-group=guixbuild\n" +"$ ./pre-inst-env guix build hello\n" +msgstr "" +"$ sudo -E ./pre-inst-env guix-daemon --build-users-group=guixbuild\n" +"$ ./pre-inst-env guix build hello\n" + +#. type: Plain text +#: doc/contributing.texi:125 +msgid "Similarly, for a Guile session using the Guix modules:" +msgstr "De même, pour une session Guile qui utilise les modules Guix :" + +#. type: example +#: doc/contributing.texi:128 +#, no-wrap +msgid "" +"$ ./pre-inst-env guile -c '(use-modules (guix utils)) (pk (%current-system))'\n" +"\n" +msgstr "" +"$ ./pre-inst-env guile -c '(use-modules (guix utils)) (pk (%current-system))'\n" +"\n" + +#. type: example +#: doc/contributing.texi:130 +#, no-wrap +msgid ";;; (\"x86_64-linux\")\n" +msgstr ";;; (\"x86_64-linux\")\n" + +#. type: cindex +#: doc/contributing.texi:133 +#, no-wrap +msgid "REPL" +msgstr "REPL" + +#. type: cindex +#: doc/contributing.texi:134 +#, no-wrap +msgid "read-eval-print loop" +msgstr "read-eval-print loop" + +#. type: Plain text +#: doc/contributing.texi:137 +msgid "" +"@dots{} and for a REPL (@pxref{Using Guile Interactively,,, guile, Guile " +"Reference Manual}):" +msgstr "" +"@dots{} et pour un REPL (@pxref{Using Guile Interactively,,, guile, Guile " +"Reference Manual})" + +#. type: example +#: doc/contributing.texi:152 +#, no-wrap +msgid "" +"$ ./pre-inst-env guile\n" +"scheme@@(guile-user)> ,use(guix)\n" +"scheme@@(guile-user)> ,use(gnu)\n" +"scheme@@(guile-user)> (define snakes\n" +" (fold-packages\n" +" (lambda (package lst)\n" +" (if (string-prefix? \"python\"\n" +" (package-name package))\n" +" (cons package lst)\n" +" lst))\n" +" '()))\n" +"scheme@@(guile-user)> (length snakes)\n" +"$1 = 361\n" +msgstr "" +"$ ./pre-inst-env guile\n" +"scheme@@(guile-user)> ,use(guix)\n" +"scheme@@(guile-user)> ,use(gnu)\n" +"scheme@@(guile-user)> (define snakes\n" +" (fold-packages\n" +" (lambda (package lst)\n" +" (if (string-prefix? \"python\"\n" +" (package-name package))\n" +" (cons package lst)\n" +" lst))\n" +" '()))\n" +"scheme@@(guile-user)> (length snakes)\n" +"$1 = 361\n" + +#. type: Plain text +#: doc/contributing.texi:156 +msgid "" +"The @command{pre-inst-env} script sets up all the environment variables " +"necessary to support this, including @env{PATH} and @env{GUILE_LOAD_PATH}." +msgstr "" +"Le script @command{pre-inst-env} paramètre toutes les variables " +"d'environnement nécessaires, dont @env{PATH} et @env{GUILE_LOAD_PATH}." + +#. type: Plain text +#: doc/contributing.texi:167 +msgid "" +"Note that @command{./pre-inst-env guix pull} does @emph{not} upgrade the local " +"source tree; it simply updates the @file{~/.config/guix/latest} symlink " +"(@pxref{Invoking guix pull}). Run @command{git pull} instead if you want to " +"upgrade your local source tree.@footnote{If you would like to set up " +"@command{guix} to use your Git checkout, you can point the @file{~/.config/" +"guix/latest} symlink to your Git checkout directory. If you are the sole user " +"of your system, you may also consider pointing the @file{/root/.config/guix/" +"latest} symlink to point to @file{~/.config/guix/latest}; this way it will " +"always use the same @command{guix} as your user does.}" +msgstr "" +"Remarquez que @command{./pre-inst-env guix pull} ne met @emph{pas} à jour " +"l'arborescence des sources locale ; il met seulement à jour le lien symbolique " +"@file{~/.config/guix/latest} (@pxref{Invoquer guix pull}). Lancez @command{git " +"pull} à la place si vous voulez mettre à jour votre arborescence des sources " +"locale@footnote{Si vous voulez paramétrer @command{guix} pour qu'il utilise " +"votre dépôt Git, vous pouvez faire pointer le lien symbolique @file{~/.config/" +"guix/latest} vers le répertoire contenant ce dépôt. Si vous le seul " +"utilisateur du système, vous pouvez aussi considérer faire pointer le lien " +"symbolique @file{/root/.config/guix/latest} vers @file{~/.config/guix/" +"latest} ; comme ça root aura toujours la même commande @command{guix} que " +"votre utilisateur}." + +#. type: Plain text +#: doc/contributing.texi:177 +msgid "" +"The Perfect Setup to hack on Guix is basically the perfect setup used for " +"Guile hacking (@pxref{Using Guile in Emacs,,, guile, Guile Reference " +"Manual}). First, you need more than an editor, you need @url{http://www.gnu." +"org/software/emacs, Emacs}, empowered by the wonderful @url{http://nongnu.org/" +"geiser/, Geiser}." +msgstr "" +"La configuration parfaite pour travailler sur Guix est simplement la " +"configuration parfaite pour travailler en Guile (@pxref{Using Guile in " +"Emacs,,, guile, Guile Reference Manual}). Tout d'abord, vous avez besoin de " +"mieux qu'un éditeur de texte, vous avez besoin de @url{http://www.gnu.org/" +"software/emacs, Emacs}, amélioré par le superbe @url{http://nongnu.org/" +"geiser/, Geiser}." + +#. type: Plain text +#: doc/contributing.texi:185 +msgid "" +"Geiser allows for interactive and incremental development from within Emacs: " +"code compilation and evaluation from within buffers, access to on-line " +"documentation (docstrings), context-sensitive completion, @kbd{M-.} to jump to " +"an object definition, a REPL to try out your code, and more " +"(@pxref{Introduction,,, geiser, Geiser User Manual}). For convenient Guix " +"development, make sure to augment Guile’s load path so that it finds source " +"files from your checkout:" +msgstr "" +"Geiser permet le développement interactif et incrémental depuis Emacs : la " +"compilation du code et son évaluation depuis les buffers, l'accès à la " +"documentation en ligne (docstrings), la complétion sensible au contexte, " +"@kbd{M-.} pour sauter à la définition d'un objet, un REPL pour tester votre " +"code, et bien plus (@pxref{Introduction,,, geiser, Geiser User Manual}). Pour " +"travailler confortablement sur Guix, assurez-vous de modifier le chemin de " +"chargement de Guile pour qu'il trouve les fichiers source de votre dépôt :" + +#. type: lisp +#: doc/contributing.texi:190 +#, no-wrap +msgid "" +";; @r{Assuming the Guix checkout is in ~/src/guix.}\n" +"(with-eval-after-load 'geiser-guile\n" +" (add-to-list 'geiser-guile-load-path \"~/src/guix\"))\n" +msgstr "" +";; @r{Si l'extrait est dans ~/src/guix.}\n" +"(with-eval-after-load 'geiser-guile\n" +" (add-to-list 'geiser-guile-load-path \"~/src/guix\"))\n" + +#. type: Plain text +#: doc/contributing.texi:198 +msgid "" +"To actually edit the code, Emacs already has a neat Scheme mode. But in " +"addition to that, you must not miss @url{http://www.emacswiki.org/emacs/" +"ParEdit, Paredit}. It provides facilities to directly operate on the syntax " +"tree, such as raising an s-expression or wrapping it, swallowing or rejecting " +"the following s-expression, etc." +msgstr "" + +#. type: cindex +#: doc/contributing.texi:199 +#, no-wrap +msgid "code snippets" +msgstr "extraits de code" + +#. type: cindex +#: doc/contributing.texi:200 +#, no-wrap +msgid "templates" +msgstr "modèles" + +#. type: cindex +#: doc/contributing.texi:201 +#, no-wrap +msgid "reducing boilerplate" +msgstr "réduire la quantité de code commun" + +#. type: Plain text +#: doc/contributing.texi:208 +msgid "" +"We also provide templates for common git commit messages and package " +"definitions in the @file{etc/snippets} directory. These templates can be used " +"with @url{http://joaotavora.github.io/yasnippet/, YASnippet} to expand short " +"trigger strings to interactive text snippets. You may want to add the " +"snippets directory to the @var{yas-snippet-dirs} variable in Emacs." +msgstr "" +"Nous fournissons aussi des modèles pour les messages de commit git communs et " +"les définitions de paquets dans le répertoire @file{etc/snippets}. Ces modèles " +"s'utilisent avec @url{http://joaotavora.github.io/yasnippet/, YASnippet} pour " +"développer des chaînes courtes de déclenchement en extraits de texte " +"interactifs. Vous pouvez ajouter le répertoire des modèles dans la variables " +"@var{yas-snippet-dirs} d'Emacs." + +#. type: lisp +#: doc/contributing.texi:213 +#, no-wrap +msgid "" +";; @r{Assuming the Guix checkout is in ~/src/guix.}\n" +"(with-eval-after-load 'yasnippet\n" +" (add-to-list 'yas-snippet-dirs \"~/src/guix/etc/snippets\"))\n" +msgstr "" +";; @r{Si l'extrait est dans ~/src/guix.}\n" +"(with-eval-after-load 'yasnippet\n" +" (add-to-list 'yas-snippet-dirs \"~/src/guix/etc/snippets\"))\n" + +#. type: Plain text +#: doc/contributing.texi:220 +msgid "" +"The commit message snippets depend on @url{https://magit.vc/, Magit} to " +"display staged files. When editing a commit message type @code{add} followed " +"by @kbd{TAB} to insert a commit message template for adding a package; type " +"@code{update} followed by @kbd{TAB} to insert a template for updating a " +"package." +msgstr "" +"Les extraits de messages de commit dépendent de @url{https://magit.vc/, Magit} " +"pour afficher les fichiers sélectionnés. Lors de la modification d'un message " +"de commit, tapez @code{add} suivi de @kbd{TAB} pour insérer un modèle de " +"message de commit pour ajouter un paquet ; tapez @code{update} suivi de " +"@kbd{TAB} pour insérer un modèle pour la mise à jour d'un paquet." + +#. type: Plain text +#: doc/contributing.texi:226 +msgid "" +"The main snippet for @code{scheme-mode} is triggered by typing " +"@code{package...} followed by @kbd{TAB}. This snippet also inserts the " +"trigger string @code{origin...}, which can be expanded further. The " +"@code{origin} snippet in turn may insert other trigger strings ending on " +"@code{...}, which also can be expanded further." +msgstr "" +"L'extrait principal pour @code{scheme-mode} est lancé en tapant " +"@code{package…} suivi par @kbd{TAB}. Cet extrait insère aussi la chaîne de " +"déclenchement @code{origin…}, qui peut aussi être étendue. L'extrait " +"@code{origin} lui-même peut aussi insérer des chaînes de déclenchement qui " +"finissent sur @code{…}, qui peuvent aussi être étendues." + +#. type: Plain text +#: doc/contributing.texi:234 +msgid "" +"In general our code follows the GNU Coding Standards (@pxref{Top,,, standards, " +"GNU Coding Standards}). However, they do not say much about Scheme, so here " +"are some additional rules." +msgstr "" +"En général notre code suit le Standard de Code GNU (@pxref{Top,,, standards, " +"GNU Coding Standards}). Cependant, il ne parle pas beaucoup de Scheme, donc " +"voici quelques règles supplémentaires." + +#. type: subsection +#: doc/contributing.texi:240 doc/contributing.texi:242 doc/contributing.texi:243 +#, no-wrap +msgid "Programming Paradigm" +msgstr "Paradigme de programmation" + +#. type: menuentry +#: doc/contributing.texi:240 +msgid "How to compose your elements." +msgstr "Comment composer vos éléments." + +#. type: subsection +#: doc/contributing.texi:240 doc/contributing.texi:249 doc/contributing.texi:250 +#, no-wrap +msgid "Modules" +msgstr "Modules" + +#. type: menuentry +#: doc/contributing.texi:240 +msgid "Where to store your code?" +msgstr "Où stocker votre code ?" + +#. type: subsection +#: doc/contributing.texi:240 doc/contributing.texi:260 doc/contributing.texi:261 +#, no-wrap +msgid "Data Types and Pattern Matching" +msgstr "Types de données et reconnaissance de motif" + +#. type: menuentry +#: doc/contributing.texi:240 +msgid "Implementing data structures." +msgstr "Implémenter des structures de données." + +#. type: subsection +#: doc/contributing.texi:240 doc/contributing.texi:274 doc/contributing.texi:275 +#, no-wrap +msgid "Formatting Code" +msgstr "Formatage du code" + +#. type: menuentry +#: doc/contributing.texi:240 +msgid "Writing conventions." +msgstr "Conventions d'écriture." + +#. type: Plain text +#: doc/contributing.texi:248 +msgid "" +"Scheme code in Guix is written in a purely functional style. One exception is " +"code that involves input/output, and procedures that implement low-level " +"concepts, such as the @code{memoize} procedure." +msgstr "" +"Le code Scheme dans Guix est écrit dans un style purement fonctionnel. Le code " +"qui s'occupe des entrées-sorties est une exception ainsi que les procédures " +"qui implémentent des concepts bas-niveau comme la procédure @code{memoize}." + +#. type: Plain text +#: doc/contributing.texi:256 +msgid "" +"Guile modules that are meant to be used on the builder side must live in the " +"@code{(guix build @dots{})} name space. They must not refer to other Guix or " +"GNU modules. However, it is OK for a ``host-side'' module to use a build-side " +"module." +msgstr "" +"Les modules Guile qui sont sensés être utilisés du côté de la construction " +"doivent se trouver dans l'espace de nom @code{(guix build @dots{})}. Ils ne " +"doivent pas se référer à d'autres modules Guix ou GNU. Cependant il est " +"correct pour un module « côté hôte » de dépendre d'un module coté construction." + +#. type: Plain text +#: doc/contributing.texi:259 +msgid "" +"Modules that deal with the broader GNU system should be in the @code{(gnu " +"@dots{})} name space rather than @code{(guix @dots{})}." +msgstr "" +"Les modules qui s'occupent du système GNU général devraient se trouver dans " +"l'espace de nom @code{(gnu @dots{})} plutôt que @code{(guix @dots{})}." + +#. type: Plain text +#: doc/contributing.texi:268 +msgid "" +"The tendency in classical Lisp is to use lists to represent everything, and " +"then to browse them ``by hand'' using @code{car}, @code{cdr}, @code{cadr}, and " +"co. There are several problems with that style, notably the fact that it is " +"hard to read, error-prone, and a hindrance to proper type error reports." +msgstr "" +"La tendance en Lisp classique est d'utiliser des listes pour tout représenter " +"et de naviguer dedans « à la main ( avec @code{car}, @code{cdr}, @code{cadr} " +"et compagnie. Il y a plusieurs problèmes avec ce style, notamment le fait " +"qu'il soit dur à lire, source d'erreur et un obstacle aux rapports d'erreur " +"bien typés." + +#. type: Plain text +#: doc/contributing.texi:273 +msgid "" +"Guix code should define appropriate data types (for instance, using " +"@code{define-record-type*}) rather than abuse lists. In addition, it should " +"use pattern matching, via Guile’s @code{(ice-9 match)} module, especially when " +"matching lists." +msgstr "" +"Le code de Guix devrait définir des types de données appropriées (par exemple, " +"avec @code{define-record-type*}) plutôt que d'abuser des listes. En plus, il " +"devrait utiliser la recherche de motifs, via le module Guile @code{(ice-9 " +"match)}, surtout pour rechercher dans des listes." + +#. type: cindex +#: doc/contributing.texi:277 +#, no-wrap +msgid "formatting code" +msgstr "formater le code" + +#. type: cindex +#: doc/contributing.texi:278 +#, no-wrap +msgid "coding style" +msgstr "style de code" + +#. type: Plain text +#: doc/contributing.texi:285 +msgid "" +"When writing Scheme code, we follow common wisdom among Scheme programmers. " +"In general, we follow the @url{http://mumble.net/~campbell/scheme/style.txt, " +"Riastradh's Lisp Style Rules}. This document happens to describe the " +"conventions mostly used in Guile’s code too. It is very thoughtful and well " +"written, so please do read it." +msgstr "" +"Lorsque nous écrivons du code Scheme, nous suivons la sagesse commune aux " +"programmeurs Scheme. En général, nous suivons les @url{http://mumble.net/" +"~campbell/scheme/style.txt, règles de style de Riastradh}. Ce document décrit " +"aussi les conventions utilisées dans le code de Guile. Il est bien pensé et " +"bien écrit, alors n'hésitez pas à le lire." + +#. type: Plain text +#: doc/contributing.texi:292 +msgid "" +"Some special forms introduced in Guix, such as the @code{substitute*} macro, " +"have special indentation rules. These are defined in the @file{.dir-locals." +"el} file, which Emacs automatically uses. Also note that Emacs-Guix provides " +"@code{guix-devel-mode} mode that indents and highlights Guix code properly " +"(@pxref{Development,,, emacs-guix, The Emacs-Guix Reference Manual})." +msgstr "" +"Certaines formes spéciales introduites dans Guix comme la macro " +"@code{substitute*} ont des règles d'indentation spécifiques. Elles sont " +"définies dans le fichier @file{.dir-locals.el} qu'Emacs utilise " +"automatiquement. Remarquez aussi qu'Emacs-Guix fournit le mode @code{guix-" +"devel-mode} qui indente et colore le code Guix correctement " +"(@pxref{Development,,, emacs-guix, The Emacs-Guix Reference Manual})." + +#. type: cindex +#: doc/contributing.texi:293 +#, no-wrap +msgid "indentation, of code" +msgstr "indentation, du code" + +#. type: cindex +#: doc/contributing.texi:294 +#, no-wrap +msgid "formatting, of code" +msgstr "formatage, du code" + +#. type: Plain text +#: doc/contributing.texi:297 +msgid "" +"If you do not use Emacs, please make sure to let your editor knows these " +"rules. To automatically indent a package definition, you can also run:" +msgstr "" +"Si vous n'utilisez pas Emacs, assurez-vous que votre éditeur connaisse ces " +"règles. Pour indenter automatiquement une définition de paquet, vous pouvez " +"aussi lancer :" + +#. type: example +#: doc/contributing.texi:300 +#, no-wrap +msgid "./etc/indent-code.el gnu/packages/@var{file}.scm @var{package}\n" +msgstr "./etc/indent-code.el gnu/packages/@var{file}.scm @var{package}\n" + +#. type: Plain text +#: doc/contributing.texi:306 +msgid "" +"This automatically indents the definition of @var{package} in @file{gnu/" +"packages/@var{file}.scm} by running Emacs in batch mode. To indent a whole " +"file, omit the second argument:" +msgstr "" +"Cela indente automatiquement la définition de @var{package} dans @file{gnu/" +"packages/@var{file}.scm} en lançant Emacs en mode commande. Pour indenter un " +"fichier complet, n'indiquez pas de second argument :" + +#. type: example +#: doc/contributing.texi:309 +#, no-wrap +msgid "./etc/indent-code.el gnu/services/@var{file}.scm\n" +msgstr "./etc/indent-code.el gnu/services/@var{file}.scm\n" + +#. type: Plain text +#: doc/contributing.texi:314 +msgid "" +"We require all top-level procedures to carry a docstring. This requirement " +"can be relaxed for simple private procedures in the @code{(guix build " +"@dots{})} name space, though." +msgstr "" +"Nous demandons que toutes les procédure de premier niveau contiennent une " +"chaîne de documentation. Ce pré-requis peut être relâché pour les procédures " +"privées simples dans l'espace de nom @code{(guix build @dots{})} cependant." + +#. type: Plain text +#: doc/contributing.texi:317 +msgid "" +"Procedures should not have more than four positional parameters. Use keyword " +"parameters for procedures that take more than four parameters." +msgstr "" +"Les procédures ne devraient pas avoir plus de quatre paramètres positionnés. " +"Utilisez des paramètres par mot-clefs pour les procédures qui prennent plus de " +"quatre paramètres." + +#. type: Plain text +#: doc/contributing.texi:326 +msgid "" +"Development is done using the Git distributed version control system. Thus, " +"access to the repository is not strictly necessary. We welcome contributions " +"in the form of patches as produced by @code{git format-patch} sent to the " +"@email{guix-patches@@gnu.org} mailing list." +msgstr "" +"Le développement se fait avec le système de contrôle de version Git. Ainsi, " +"l'accès au dépôt n'est pas strictement nécessaire. Nous accueillons les " +"contributions sous forme de correctifs produits par @code{git format-patch} " +"envoyés sur la liste de diffusion @email{guix-patches@@gnu.org}." + +#. type: Plain text +#: doc/contributing.texi:333 +msgid "" +"This mailing list is backed by a Debbugs instance accessible at @uref{https://" +"bugs.gnu.org/guix-patches}, which allows us to keep track of submissions. " +"Each message sent to that mailing list gets a new tracking number assigned; " +"people can then follow up on the submission by sending email to @code{@var{NNN}" +"@@debbugs.gnu.org}, where @var{NNN} is the tracking number (@pxref{Sending a " +"Patch Series})." +msgstr "" +"Cette liste de diffusion est gérée par une instance Debbugs accessible à " +"l'adresse @uref{https://bugs.gnu.org/guix-patches}, qui nous permet de suivre " +"les soumissions. Chaque message envoyé à cette liste se voit attribuer un " +"numéro de suivi ; les gens peuvent ensuite répondre à cette soumission en " +"envoyant un courriel à @code{@var{NNN}@@debbugs.gnu.org}, où @var{NNN} est le " +"numéro de suivi (@pxref{Envoyer une série de correctifs})." + +#. type: Plain text +#: doc/contributing.texi:337 +msgid "" +"Please write commit logs in the ChangeLog format (@pxref{Change Logs,,, " +"standards, GNU Coding Standards}); you can check the commit history for " +"examples." +msgstr "" +"Veuillez écrire les messages de commit dans le format ChangeLog (@pxref{Change " +"Logs,,, standards, GNU Coding Standards}) ; vous pouvez regarder l'historique " +"des commits pour trouver des exemples." + +#. type: Plain text +#: doc/contributing.texi:340 +msgid "" +"Before submitting a patch that adds or modifies a package definition, please " +"run through this check list:" +msgstr "" +"Avant de soumettre un correctif qui ajoute ou modifie la définition d'un " +"paquet, veuillez vérifier cette check-list :" + +#. type: enumerate +#: doc/contributing.texi:347 +msgid "" +"If the authors of the packaged software provide a cryptographic signature for " +"the release tarball, make an effort to verify the authenticity of the " +"archive. For a detached GPG signature file this would be done with the " +"@code{gpg --verify} command." +msgstr "" +"Si les auteurs du paquet logiciel fournissent une signature cryptographique " +"pour l'archive, faîtes un effort pour vérifier l'authenticité de l'archive. " +"Pour un fichier de signature GPG détaché, cela se fait avec la commande " +"@code{gpg --verify}." + +#. type: enumerate +#: doc/contributing.texi:351 +msgid "" +"Take some time to provide an adequate synopsis and description for the " +"package. @xref{Synopses and Descriptions}, for some guidelines." +msgstr "" +"Prenez un peu de temps pour fournir un synopsis et une description adéquats " +"pour le paquet. Voir @xref{Synopsis et descriptions} pour quelques lignes " +"directrices." + +#. type: enumerate +#: doc/contributing.texi:356 +msgid "" +"Run @code{guix lint @var{package}}, where @var{package} is the name of the new " +"or modified package, and fix any errors it reports (@pxref{Invoking guix " +"lint})." +msgstr "" +"Lancez @code{guix lint @var{paquet}}, où @var{paquet} est le nom du nouveau " +"paquet ou du paquet modifié, et corrigez les erreurs qu'il rapporte " +"(@pxref{Invoquer guix lint})." + +#. type: enumerate +#: doc/contributing.texi:360 +msgid "" +"Make sure the package builds on your platform, using @code{guix build " +"@var{package}}." +msgstr "" +"Assurez-vous que le paquet se construise sur votre plate-forme avec @code{guix " +"build @var{paquet}}." + +#. type: cindex +#: doc/contributing.texi:362 +#, no-wrap +msgid "bundling" +msgstr "construction groupée" + +#. type: enumerate +#: doc/contributing.texi:365 +msgid "" +"Make sure the package does not use bundled copies of software already " +"available as separate packages." +msgstr "" +"Assurez-vous que le paquet n'utilise pas de copie groupée d'un logiciel déjà " +"disponible dans un paquet séparé." + +#. type: enumerate +#: doc/contributing.texi:374 +msgid "" +"Sometimes, packages include copies of the source code of their dependencies as " +"a convenience for users. However, as a distribution, we want to make sure " +"that such packages end up using the copy we already have in the distribution, " +"if there is one. This improves resource usage (the dependency is built and " +"stored only once), and allows the distribution to make transverse changes such " +"as applying security updates for a given software package in a single place " +"and have them affect the whole system---something that bundled copies prevent." +msgstr "" +"Parfois, les paquets incluent des copie du code source de leurs dépendances " +"pour le confort de leurs utilisateurs. Cependant, en tant que distribution, " +"nous voulons nous assurer que ces paquets utilisent bien les copient que nous " +"avons déjà dans la distribution si elles existent. Cela améliore l'utilisation " +"des ressources (la dépendance n'est construite et stockée qu'une seule fois) " +"et permet à la distribution de faire des changements transversaux comme " +"appliquer des correctifs de sécurité pour un paquet donné depuis un unique " +"emplacement et qu'ils affectent tout le système, ce qu'empêchent les copies " +"groupées." + +#. type: enumerate +#: doc/contributing.texi:381 +msgid "" +"Take a look at the profile reported by @command{guix size} (@pxref{Invoking " +"guix size}). This will allow you to notice references to other packages " +"unwillingly retained. It may also help determine whether to split the package " +"(@pxref{Packages with Multiple Outputs}), and which optional dependencies " +"should be used." +msgstr "" +"Regardez le profile rapporté par @command{guix size} (@pxref{Invoking guix " +"size}). Cela vous permettra de remarquer des références à d'autres paquets qui " +"ont été retenus. Il peut aussi aider à déterminer s'il faut découper le paquet " +"(@pxref{Des paquets avec plusieurs résultats}) et quelle dépendance facultative " +"utiliser." + +#. type: enumerate +#: doc/contributing.texi:386 +msgid "" +"For important changes, check that dependent package (if applicable) are not " +"affected by the change; @code{guix refresh --list-dependent @var{package}} " +"will help you do that (@pxref{Invoking guix refresh})." +msgstr "" +"Pour les changements important, vérifiez que les paquets qui en dépendent " +"(s'ils existent) ne sont pas affectés par le changement ; @code{guix refresh --" +"list-dependant @var{paquet}} vous aidera (@pxref{Invoquer guix refresh})." + +#. type: cindex +#: doc/contributing.texi:388 +#, no-wrap +msgid "branching strategy" +msgstr "stratégie de branche" + +#. type: cindex +#: doc/contributing.texi:389 +#, no-wrap +msgid "rebuild scheduling strategy" +msgstr "stratégie de planification des reconstructions" + +#. type: enumerate +#: doc/contributing.texi:392 +msgid "" +"Depending on the number of dependent packages and thus the amount of " +"rebuilding induced, commits go to different branches, along these lines:" +msgstr "" +"Suivant le nombre de paquets dépendants et donc le nombre de reconstruction " +"induites, les commits vont vers des branches différentes, suivant ces " +"principes :" + +#. type: item +#: doc/contributing.texi:394 +#, no-wrap +msgid "300 dependent packages or less" +msgstr "300 paquets dépendants ou moins" + +#. type: table +#: doc/contributing.texi:396 +msgid "@code{master} branch (non-disruptive changes)." +msgstr "branche @code{master} (changements non-disruptifs)." + +#. type: item +#: doc/contributing.texi:397 +#, no-wrap +msgid "between 300 and 1,200 dependent packages" +msgstr "entre 300 et 1 200 paquets dépendants" + +#. type: table +#: doc/contributing.texi:402 +msgid "" +"@code{staging} branch (non-disruptive changes). This branch is intended to be " +"merged in @code{master} every 3 weeks or so. Topical changes (e.g., an update " +"of the GNOME stack) can instead go to a specific branch (say, @code{gnome-" +"updates})." +msgstr "" +"branche @code{staging} (changemets non-disruptifs). Cette branche devrait être " +"fusionnées dans @code{master} tous les 3 semaines. Les changements par thèmes " +"(par exemple une mise à jour de la pile GNOME) peuvent aller dans une branche " +"spécifique (disons, @code{gnome-updates})." + +#. type: item +#: doc/contributing.texi:403 +#, no-wrap +msgid "more than 1,200 dependent packages" +msgstr "plus de 1 200 paquets dépendants" + +#. type: table +#: doc/contributing.texi:407 +msgid "" +"@code{core-updates} branch (may include major and potentially disruptive " +"changes). This branch is intended to be merged in @code{master} every 2.5 " +"months or so." +msgstr "" +"branche @code{core-updates} (peut inclure des changements majeurs et " +"potentiellement disruptifs). Cette branche devrait être fusionnée dans " +"@code{master} tous les 2,5 mois environ." + +#. type: enumerate +#: doc/contributing.texi:414 +msgid "" +"All these branches are tracked by our build farm and merged into @code{master} " +"once everything has been successfully built. This allows us to fix issues " +"before they hit users, and to reduce the window during which pre-built " +"binaries are not available." +msgstr "" +"Toutes ces branches sont gérées par notre ferme de construction et fusionnées " +"dans @code{master} une fois que tout a été construit correctement. Cela nous " +"permet de corriger des problèmes avant qu'ils n'atteignent les utilisateurs et " +"réduit la fenêtre pendant laquelle les binaires pré-construits ne sont pas " +"disponibles." + +#. type: cindex +#: doc/contributing.texi:416 +#, no-wrap +msgid "determinism, of build processes" +msgstr "déterminisme, du processus de construction" + +#. type: cindex +#: doc/contributing.texi:417 +#, no-wrap +msgid "reproducible builds, checking" +msgstr "construction reproductibles, vérification" + +#. type: enumerate +#: doc/contributing.texi:421 +msgid "" +"Check whether the package's build process is deterministic. This typically " +"means checking whether an independent build of the package yields the exact " +"same result that you obtained, bit for bit." +msgstr "" +"Vérifiez si le processus de construction du paquet est déterministe. Cela " +"signifie typiquement vérifier qu'une construction indépendante du paquet " +"renvoie exactement le même résultat que vous avez obtenu, bit à bit." + +#. type: enumerate +#: doc/contributing.texi:424 +msgid "" +"A simple way to do that is by building the same package several times in a row " +"on your machine (@pxref{Invoking guix build}):" +msgstr "" +"Une manière simple de le faire est de reconstruire le paquet plusieurs fois à " +"la suite sur votre machine (@pxref{Invoquer guix build}) :" + +#. type: example +#: doc/contributing.texi:427 +#, no-wrap +msgid "guix build --rounds=2 my-package\n" +msgstr "guix build --rounds=2 mon-paquet\n" + +#. type: enumerate +#: doc/contributing.texi:431 +msgid "" +"This is enough to catch a class of common non-determinism issues, such as " +"timestamps or randomly-generated output in the build result." +msgstr "" +"Cela est suffisant pour trouver une classe de non-déterminisme commune, comme " +"l'horodatage ou des sorties générées aléatoirement dans le résultat de la " +"construction." + +#. type: enumerate +#: doc/contributing.texi:441 +msgid "" +"Another option is to use @command{guix challenge} (@pxref{Invoking guix " +"challenge}). You may run it once the package has been committed and built by " +"@code{hydra.gnu.org} to check whether it obtains the same result as you did. " +"Better yet: Find another machine that can build it and run @command{guix " +"publish}. Since the remote build machine is likely different from yours, this " +"can catch non-determinism issues related to the hardware---e.g., use of " +"different instruction set extensions---or to the operating system kernel---e." +"g., reliance on @code{uname} or @file{/proc} files." +msgstr "" +"Une autre option consiste à utiliser @command{guix challenge} (@pxref{Invoquer " +"guix challenge}). Vous pouvez lancer la commande une fois que les paquets ont " +"été commités et construits par @code{hydra.gnu.org} pour vérifier s'il obtient " +"le même résultat que vous. Mieux encore : trouvez une autre machine qui peut " +"le construire et lancez @command{guix publish}. Puis la machine distante est " +"sûrement différente de la vôtre, cela peut trouver des problèmes de non-" +"déterminisme liés au matériel — par exemple utiliser une extension du jeu " +"d'instruction — ou du noyau du système d'exploitation — par exemple se reposer " +"sur @code{uname} ou les fichiers de @file{/proc}." + +#. type: enumerate +#: doc/contributing.texi:447 +msgid "" +"When writing documentation, please use gender-neutral wording when referring " +"to people, such as @uref{https://en.wikipedia.org/wiki/Singular_they, singular " +"``they''@comma{} ``their''@comma{} ``them''}, and so forth." +msgstr "" +"Lorsque vous écrivez de la documentation, utilisez une formulation au genre " +"neutre lorsque vous vous référez à des personnes, comme le @uref{https://fr." +"wikipedia.org/wiki/They_singulier, ``they''@comma{} ``their''@comma{} ``them'' " +"singulier} (en anglais)." + +#. type: enumerate +#: doc/contributing.texi:451 +msgid "" +"Verify that your patch contains only one set of related changes. Bundling " +"unrelated changes together makes reviewing harder and slower." +msgstr "" +"Vérifiez que votre correctif contienne seulement un ensemble de changements " +"liés. Grouper des changements non liés ensemble rend la revue plus difficile " +"et plus lente." + +#. type: enumerate +#: doc/contributing.texi:454 +msgid "" +"Examples of unrelated changes include the addition of several packages, or a " +"package update along with fixes to that package." +msgstr "" +"Ajouter plusieurs paquet ou une mise à jour d'un paquet avec des corrections " +"dans ce paquet sont des exemples de changements sans rapport." + +#. type: enumerate +#: doc/contributing.texi:459 +msgid "" +"Please follow our code formatting rules, possibly running the @command{etc/" +"indent-code.el} script to do that automatically for you (@pxref{Formatting " +"Code})." +msgstr "" +"Suivez nos règles de formatage de code, éventuellement en lançant le script " +"@command{et/indent-code.el} pour le faire automatiquement (@pxref{Formatage du " +"code})." + +#. type: Plain text +#: doc/contributing.texi:469 +msgid "" +"When posting a patch to the mailing list, use @samp{[PATCH] @dots{}} as a " +"subject. You may use your email client or the @command{git send-email} " +"command (@pxref{Sending a Patch Series}). We prefer to get patches in plain " +"text messages, either inline or as MIME attachments. You are advised to pay " +"attention if your email client changes anything like line breaks or " +"indentation which could potentially break the patches." +msgstr "" +"Lorsque vous envoyez un correctif à la liste de diffusion, utilisez " +"@samp{[PATCH] @dots{}} comme sujet. Vous pouvez utiliser votre client de " +"courriel ou la commande @command{git send-email} (@pxref{Envoyer une série de " +"correctifs}). Nous préférons recevoir des correctifs en texte brut, soit en " +"ligne, soit en pièce-jointe MIME. Nous vous conseillons de faire attention si " +"votre client de courriel change par exemple les retours à la ligne ou " +"l'indentation, ce qui peut casser les correctifs." + +#. type: Plain text +#: doc/contributing.texi:472 +msgid "" +"When a bug is resolved, please close the thread by sending an email to " +"@email{@var{NNN}-done@@debbugs.gnu.org}." +msgstr "" +"Lorsqu'un bogue est résolu, veuillez fermer le fil en envoyant un courriel à " +"@email{@var{NNN}-done@@debbugs.gnu.org}." + +#. type: anchor{#1} +#: doc/contributing.texi:473 doc/contributing.texi:475 +#, no-wrap +msgid "Sending a Patch Series" +msgstr "Envoyer une série de correctifs" + +#. type: cindex +#: doc/contributing.texi:475 +#, no-wrap +msgid "patch series" +msgstr "série de correctifs" + +#. type: code{#1} +#: doc/contributing.texi:476 +#, no-wrap +msgid "git send-email" +msgstr "git send-email" + +#. type: code{#1} +#: doc/contributing.texi:477 +#, no-wrap +msgid "git-send-email" +msgstr "git-send-email" + +#. type: Plain text +#: doc/contributing.texi:485 +msgid "" +"When sending a patch series (e.g., using @code{git send-email}), please first " +"send one message to @email{guix-patches@@gnu.org}, and then send subsequent " +"patches to @email{@var{NNN}@@debbugs.gnu.org} to make sure they are kept " +"together. See @uref{https://debbugs.gnu.org/Advanced.html, the Debbugs " +"documentation} for more information." +msgstr "" +"Lorsque vous envoyez une série de correctifs (p.e. avec @code{git send-" +"email}), envoyez d'abord une premier message à @email{guix-patches@@gnu.org} " +"puis envoyez le reste des correctifs à @email{@var{NNN}@@debbugs.gnu.org} pour " +"vous assurer qu'ils seront groupés ensemble. Voyez @uref{https://debbugs.gnu." +"org/Advanced.html, la documentation de Debbugs} pour plus d'informations." diff --git a/po/doc/contributing.pot b/po/doc/contributing.pot new file mode 100644 index 0000000000..856adf42d4 --- /dev/null +++ b/po/doc/contributing.pot @@ -0,0 +1,962 @@ +# SOME DESCRIPTIVE TITLE +# Copyright (C) YEAR Ludovic Courtès +# This file is distributed under the same license as the guix package. +# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: guix 0.14.0.4279-63c2a\n" +"Report-Msgid-Bugs-To: ludo@gnu.org\n" +"POT-Creation-Date: 2018-04-19 21:17+0200\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" +"Language-Team: LANGUAGE <LL@li.org>\n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. type: chapter +#: doc/contributing.texi:1 doc/contributing.texi:2 +#, no-wrap +msgid "Contributing" +msgstr "" + +#. type: Plain text +#: doc/contributing.texi:9 +msgid "" +"This project is a cooperative effort, and we need your help to make it grow! " +"Please get in touch with us on @email{guix-devel@@gnu.org} and @code{#guix} " +"on the Freenode IRC network. We welcome ideas, bug reports, patches, and " +"anything that may be helpful to the project. We particularly welcome help " +"on packaging (@pxref{Packaging Guidelines})." +msgstr "" + +#. type: cindex +#: doc/contributing.texi:10 +#, no-wrap +msgid "code of conduct, of contributors" +msgstr "" + +#. type: cindex +#: doc/contributing.texi:11 +#, no-wrap +msgid "contributor covenant" +msgstr "" + +#. type: Plain text +#: doc/contributing.texi:17 +msgid "" +"We want to provide a warm, friendly, and harassment-free environment, so " +"that anyone can contribute to the best of their abilities. To this end our " +"project uses a ``Contributor Covenant'', which was adapted from " +"@url{http://contributor-covenant.org/}. You can find a local version in the " +"@file{CODE-OF-CONDUCT} file in the source tree." +msgstr "" + +#. type: Plain text +#: doc/contributing.texi:21 +msgid "" +"Contributors are not required to use their legal name in patches and on-line " +"communication; they can use any name or pseudonym of their choice." +msgstr "" + +#. type: section +#: doc/contributing.texi:28 doc/contributing.texi:30 doc/contributing.texi:31 +#, no-wrap +msgid "Building from Git" +msgstr "" + +#. type: menuentry +#: doc/contributing.texi:28 +msgid "The latest and greatest." +msgstr "" + +#. type: section +#: doc/contributing.texi:28 doc/contributing.texi:102 doc/contributing.texi:103 +#, no-wrap +msgid "Running Guix Before It Is Installed" +msgstr "" + +#. type: menuentry +#: doc/contributing.texi:28 +msgid "Hacker tricks." +msgstr "" + +#. type: section +#: doc/contributing.texi:28 doc/contributing.texi:169 doc/contributing.texi:170 +#, no-wrap +msgid "The Perfect Setup" +msgstr "" + +#. type: menuentry +#: doc/contributing.texi:28 +msgid "The right tools." +msgstr "" + +#. type: section +#: doc/contributing.texi:28 doc/contributing.texi:228 doc/contributing.texi:229 +#, no-wrap +msgid "Coding Style" +msgstr "" + +#. type: menuentry +#: doc/contributing.texi:28 +msgid "Hygiene of the contributor." +msgstr "" + +#. type: section +#: doc/contributing.texi:28 doc/contributing.texi:319 doc/contributing.texi:320 +#, no-wrap +msgid "Submitting Patches" +msgstr "" + +#. type: menuentry +#: doc/contributing.texi:28 +msgid "Share your work." +msgstr "" + +#. type: Plain text +#: doc/contributing.texi:35 +msgid "" +"If you want to hack Guix itself, it is recommended to use the latest version " +"from the Git repository:" +msgstr "" + +#. type: example +#: doc/contributing.texi:38 +#, no-wrap +msgid "git clone https://git.savannah.gnu.org/git/guix.git\n" +msgstr "" + +#. type: Plain text +#: doc/contributing.texi:43 +msgid "" +"When building Guix from a checkout, the following packages are required in " +"addition to those mentioned in the installation instructions " +"(@pxref{Requirements})." +msgstr "" + +#. type: item +#: doc/contributing.texi:45 +#, no-wrap +msgid "@url{http://gnu.org/software/autoconf/, GNU Autoconf};" +msgstr "" + +#. type: item +#: doc/contributing.texi:46 +#, no-wrap +msgid "@url{http://gnu.org/software/automake/, GNU Automake};" +msgstr "" + +#. type: item +#: doc/contributing.texi:47 +#, no-wrap +msgid "@url{http://gnu.org/software/gettext/, GNU Gettext};" +msgstr "" + +#. type: item +#: doc/contributing.texi:48 +#, no-wrap +msgid "@url{http://gnu.org/software/texinfo/, GNU Texinfo};" +msgstr "" + +#. type: item +#: doc/contributing.texi:49 +#, no-wrap +msgid "@url{http://www.graphviz.org/, Graphviz};" +msgstr "" + +#. type: item +#: doc/contributing.texi:50 +#, no-wrap +msgid "@url{http://www.gnu.org/software/help2man/, GNU Help2man (optional)}." +msgstr "" + +#. type: Plain text +#: doc/contributing.texi:57 +msgid "" +"The easiest way to set up a development environment for Guix is, of course, " +"by using Guix! The following command starts a new shell where all the " +"dependencies and appropriate environment variables are set up to hack on " +"Guix:" +msgstr "" + +#. type: example +#: doc/contributing.texi:60 +#, no-wrap +msgid "guix environment guix\n" +msgstr "" + +#. type: Plain text +#: doc/contributing.texi:64 +msgid "" +"@xref{Invoking guix environment}, for more information on that command. " +"Extra dependencies can be added with @option{--ad-hoc}:" +msgstr "" + +#. type: example +#: doc/contributing.texi:67 +#, no-wrap +msgid "guix environment guix --ad-hoc help2man git strace\n" +msgstr "" + +#. type: Plain text +#: doc/contributing.texi:71 +msgid "" +"Run @command{./bootstrap} to generate the build system infrastructure using " +"Autoconf and Automake. If you get an error like this one:" +msgstr "" + +#. type: example +#: doc/contributing.texi:74 +#, no-wrap +msgid "configure.ac:46: error: possibly undefined macro: PKG_CHECK_MODULES\n" +msgstr "" + +#. type: Plain text +#: doc/contributing.texi:83 +msgid "" +"it probably means that Autoconf couldn’t find @file{pkg.m4}, which is " +"provided by pkg-config. Make sure that @file{pkg.m4} is available. The " +"same holds for the @file{guile.m4} set of macros provided by Guile. For " +"instance, if you installed Automake in @file{/usr/local}, it wouldn’t look " +"for @file{.m4} files in @file{/usr/share}. In that case, you have to invoke " +"the following command:" +msgstr "" + +#. type: example +#: doc/contributing.texi:86 +#, no-wrap +msgid "export ACLOCAL_PATH=/usr/share/aclocal\n" +msgstr "" + +#. type: Plain text +#: doc/contributing.texi:90 +msgid "" +"@xref{Macro Search Path,,, automake, The GNU Automake Manual}, for more " +"information." +msgstr "" + +#. type: Plain text +#: doc/contributing.texi:95 +msgid "" +"Then, run @command{./configure} as usual. Make sure to pass " +"@code{--localstatedir=@var{directory}} where @var{directory} is the " +"@code{localstatedir} value used by your current installation (@pxref{The " +"Store}, for information about this)." +msgstr "" + +#. type: Plain text +#: doc/contributing.texi:100 +msgid "" +"Finally, you have to invoke @code{make check} to run tests (@pxref{Running " +"the Test Suite}). If anything fails, take a look at installation " +"instructions (@pxref{Installation}) or send a message to the " +"@email{guix-devel@@gnu.org, mailing list}." +msgstr "" + +#. type: Plain text +#: doc/contributing.texi:109 +msgid "" +"In order to keep a sane working environment, you will find it useful to test " +"the changes made in your local source tree checkout without actually " +"installing them. So that you can distinguish between your ``end-user'' hat " +"and your ``motley'' costume." +msgstr "" + +#. type: Plain text +#: doc/contributing.texi:117 +msgid "" +"To that end, all the command-line tools can be used even if you have not run " +"@code{make install}. To do that, prefix each command with " +"@command{./pre-inst-env} (the @file{pre-inst-env} script lives in the top " +"build tree of Guix), as in@footnote{The @option{-E} flag to @command{sudo} " +"guarantees that @code{GUILE_LOAD_PATH} is correctly set such that " +"@command{guix-daemon} and the tools it uses can find the Guile modules they " +"need.}:" +msgstr "" + +#. type: example +#: doc/contributing.texi:121 +#, no-wrap +msgid "" +"$ sudo -E ./pre-inst-env guix-daemon --build-users-group=guixbuild\n" +"$ ./pre-inst-env guix build hello\n" +msgstr "" + +#. type: Plain text +#: doc/contributing.texi:125 +msgid "Similarly, for a Guile session using the Guix modules:" +msgstr "" + +#. type: example +#: doc/contributing.texi:128 +#, no-wrap +msgid "" +"$ ./pre-inst-env guile -c '(use-modules (guix utils)) (pk " +"(%current-system))'\n" +"\n" +msgstr "" + +#. type: example +#: doc/contributing.texi:130 +#, no-wrap +msgid ";;; (\"x86_64-linux\")\n" +msgstr "" + +#. type: cindex +#: doc/contributing.texi:133 +#, no-wrap +msgid "REPL" +msgstr "" + +#. type: cindex +#: doc/contributing.texi:134 +#, no-wrap +msgid "read-eval-print loop" +msgstr "" + +#. type: Plain text +#: doc/contributing.texi:137 +msgid "" +"@dots{} and for a REPL (@pxref{Using Guile Interactively,,, guile, Guile " +"Reference Manual}):" +msgstr "" + +#. type: example +#: doc/contributing.texi:152 +#, no-wrap +msgid "" +"$ ./pre-inst-env guile\n" +"scheme@@(guile-user)> ,use(guix)\n" +"scheme@@(guile-user)> ,use(gnu)\n" +"scheme@@(guile-user)> (define snakes\n" +" (fold-packages\n" +" (lambda (package lst)\n" +" (if (string-prefix? \"python\"\n" +" (package-name package))\n" +" (cons package lst)\n" +" lst))\n" +" '()))\n" +"scheme@@(guile-user)> (length snakes)\n" +"$1 = 361\n" +msgstr "" + +#. type: Plain text +#: doc/contributing.texi:156 +msgid "" +"The @command{pre-inst-env} script sets up all the environment variables " +"necessary to support this, including @env{PATH} and @env{GUILE_LOAD_PATH}." +msgstr "" + +#. type: Plain text +#: doc/contributing.texi:167 +msgid "" +"Note that @command{./pre-inst-env guix pull} does @emph{not} upgrade the " +"local source tree; it simply updates the @file{~/.config/guix/latest} " +"symlink (@pxref{Invoking guix pull}). Run @command{git pull} instead if you " +"want to upgrade your local source tree.@footnote{If you would like to set up " +"@command{guix} to use your Git checkout, you can point the " +"@file{~/.config/guix/latest} symlink to your Git checkout directory. If you " +"are the sole user of your system, you may also consider pointing the " +"@file{/root/.config/guix/latest} symlink to point to " +"@file{~/.config/guix/latest}; this way it will always use the same " +"@command{guix} as your user does.}" +msgstr "" + +#. type: Plain text +#: doc/contributing.texi:177 +msgid "" +"The Perfect Setup to hack on Guix is basically the perfect setup used for " +"Guile hacking (@pxref{Using Guile in Emacs,,, guile, Guile Reference " +"Manual}). First, you need more than an editor, you need " +"@url{http://www.gnu.org/software/emacs, Emacs}, empowered by the wonderful " +"@url{http://nongnu.org/geiser/, Geiser}." +msgstr "" + +#. type: Plain text +#: doc/contributing.texi:185 +msgid "" +"Geiser allows for interactive and incremental development from within Emacs: " +"code compilation and evaluation from within buffers, access to on-line " +"documentation (docstrings), context-sensitive completion, @kbd{M-.} to jump " +"to an object definition, a REPL to try out your code, and more " +"(@pxref{Introduction,,, geiser, Geiser User Manual}). For convenient Guix " +"development, make sure to augment Guile’s load path so that it finds source " +"files from your checkout:" +msgstr "" + +#. type: lisp +#: doc/contributing.texi:190 +#, no-wrap +msgid "" +";; @r{Assuming the Guix checkout is in ~/src/guix.}\n" +"(with-eval-after-load 'geiser-guile\n" +" (add-to-list 'geiser-guile-load-path \"~/src/guix\"))\n" +msgstr "" + +#. type: Plain text +#: doc/contributing.texi:198 +msgid "" +"To actually edit the code, Emacs already has a neat Scheme mode. But in " +"addition to that, you must not miss " +"@url{http://www.emacswiki.org/emacs/ParEdit, Paredit}. It provides " +"facilities to directly operate on the syntax tree, such as raising an " +"s-expression or wrapping it, swallowing or rejecting the following " +"s-expression, etc." +msgstr "" + +#. type: cindex +#: doc/contributing.texi:199 +#, no-wrap +msgid "code snippets" +msgstr "" + +#. type: cindex +#: doc/contributing.texi:200 +#, no-wrap +msgid "templates" +msgstr "" + +#. type: cindex +#: doc/contributing.texi:201 +#, no-wrap +msgid "reducing boilerplate" +msgstr "" + +#. type: Plain text +#: doc/contributing.texi:208 +msgid "" +"We also provide templates for common git commit messages and package " +"definitions in the @file{etc/snippets} directory. These templates can be " +"used with @url{http://joaotavora.github.io/yasnippet/, YASnippet} to expand " +"short trigger strings to interactive text snippets. You may want to add the " +"snippets directory to the @var{yas-snippet-dirs} variable in Emacs." +msgstr "" + +#. type: lisp +#: doc/contributing.texi:213 +#, no-wrap +msgid "" +";; @r{Assuming the Guix checkout is in ~/src/guix.}\n" +"(with-eval-after-load 'yasnippet\n" +" (add-to-list 'yas-snippet-dirs \"~/src/guix/etc/snippets\"))\n" +msgstr "" + +#. type: Plain text +#: doc/contributing.texi:220 +msgid "" +"The commit message snippets depend on @url{https://magit.vc/, Magit} to " +"display staged files. When editing a commit message type @code{add} " +"followed by @kbd{TAB} to insert a commit message template for adding a " +"package; type @code{update} followed by @kbd{TAB} to insert a template for " +"updating a package." +msgstr "" + +#. type: Plain text +#: doc/contributing.texi:226 +msgid "" +"The main snippet for @code{scheme-mode} is triggered by typing " +"@code{package...} followed by @kbd{TAB}. This snippet also inserts the " +"trigger string @code{origin...}, which can be expanded further. The " +"@code{origin} snippet in turn may insert other trigger strings ending on " +"@code{...}, which also can be expanded further." +msgstr "" + +#. type: Plain text +#: doc/contributing.texi:234 +msgid "" +"In general our code follows the GNU Coding Standards (@pxref{Top,,, " +"standards, GNU Coding Standards}). However, they do not say much about " +"Scheme, so here are some additional rules." +msgstr "" + +#. type: subsection +#: doc/contributing.texi:240 doc/contributing.texi:242 doc/contributing.texi:243 +#, no-wrap +msgid "Programming Paradigm" +msgstr "" + +#. type: menuentry +#: doc/contributing.texi:240 +msgid "How to compose your elements." +msgstr "" + +#. type: subsection +#: doc/contributing.texi:240 doc/contributing.texi:249 doc/contributing.texi:250 +#, no-wrap +msgid "Modules" +msgstr "" + +#. type: menuentry +#: doc/contributing.texi:240 +msgid "Where to store your code?" +msgstr "" + +#. type: subsection +#: doc/contributing.texi:240 doc/contributing.texi:260 doc/contributing.texi:261 +#, no-wrap +msgid "Data Types and Pattern Matching" +msgstr "" + +#. type: menuentry +#: doc/contributing.texi:240 +msgid "Implementing data structures." +msgstr "" + +#. type: subsection +#: doc/contributing.texi:240 doc/contributing.texi:274 doc/contributing.texi:275 +#, no-wrap +msgid "Formatting Code" +msgstr "" + +#. type: menuentry +#: doc/contributing.texi:240 +msgid "Writing conventions." +msgstr "" + +#. type: Plain text +#: doc/contributing.texi:248 +msgid "" +"Scheme code in Guix is written in a purely functional style. One exception " +"is code that involves input/output, and procedures that implement low-level " +"concepts, such as the @code{memoize} procedure." +msgstr "" + +#. type: Plain text +#: doc/contributing.texi:256 +msgid "" +"Guile modules that are meant to be used on the builder side must live in the " +"@code{(guix build @dots{})} name space. They must not refer to other Guix " +"or GNU modules. However, it is OK for a ``host-side'' module to use a " +"build-side module." +msgstr "" + +#. type: Plain text +#: doc/contributing.texi:259 +msgid "" +"Modules that deal with the broader GNU system should be in the @code{(gnu " +"@dots{})} name space rather than @code{(guix @dots{})}." +msgstr "" + +#. type: Plain text +#: doc/contributing.texi:268 +msgid "" +"The tendency in classical Lisp is to use lists to represent everything, and " +"then to browse them ``by hand'' using @code{car}, @code{cdr}, @code{cadr}, " +"and co. There are several problems with that style, notably the fact that " +"it is hard to read, error-prone, and a hindrance to proper type error " +"reports." +msgstr "" + +#. type: Plain text +#: doc/contributing.texi:273 +msgid "" +"Guix code should define appropriate data types (for instance, using " +"@code{define-record-type*}) rather than abuse lists. In addition, it should " +"use pattern matching, via Guile’s @code{(ice-9 match)} module, especially " +"when matching lists." +msgstr "" + +#. type: cindex +#: doc/contributing.texi:277 +#, no-wrap +msgid "formatting code" +msgstr "" + +#. type: cindex +#: doc/contributing.texi:278 +#, no-wrap +msgid "coding style" +msgstr "" + +#. type: Plain text +#: doc/contributing.texi:285 +msgid "" +"When writing Scheme code, we follow common wisdom among Scheme programmers. " +"In general, we follow the @url{http://mumble.net/~campbell/scheme/style.txt, " +"Riastradh's Lisp Style Rules}. This document happens to describe the " +"conventions mostly used in Guile’s code too. It is very thoughtful and well " +"written, so please do read it." +msgstr "" + +#. type: Plain text +#: doc/contributing.texi:292 +msgid "" +"Some special forms introduced in Guix, such as the @code{substitute*} macro, " +"have special indentation rules. These are defined in the " +"@file{.dir-locals.el} file, which Emacs automatically uses. Also note that " +"Emacs-Guix provides @code{guix-devel-mode} mode that indents and highlights " +"Guix code properly (@pxref{Development,,, emacs-guix, The Emacs-Guix " +"Reference Manual})." +msgstr "" + +#. type: cindex +#: doc/contributing.texi:293 +#, no-wrap +msgid "indentation, of code" +msgstr "" + +#. type: cindex +#: doc/contributing.texi:294 +#, no-wrap +msgid "formatting, of code" +msgstr "" + +#. type: Plain text +#: doc/contributing.texi:297 +msgid "" +"If you do not use Emacs, please make sure to let your editor knows these " +"rules. To automatically indent a package definition, you can also run:" +msgstr "" + +#. type: example +#: doc/contributing.texi:300 +#, no-wrap +msgid "./etc/indent-code.el gnu/packages/@var{file}.scm @var{package}\n" +msgstr "" + +#. type: Plain text +#: doc/contributing.texi:306 +msgid "" +"This automatically indents the definition of @var{package} in " +"@file{gnu/packages/@var{file}.scm} by running Emacs in batch mode. To " +"indent a whole file, omit the second argument:" +msgstr "" + +#. type: example +#: doc/contributing.texi:309 +#, no-wrap +msgid "./etc/indent-code.el gnu/services/@var{file}.scm\n" +msgstr "" + +#. type: Plain text +#: doc/contributing.texi:314 +msgid "" +"We require all top-level procedures to carry a docstring. This requirement " +"can be relaxed for simple private procedures in the @code{(guix build " +"@dots{})} name space, though." +msgstr "" + +#. type: Plain text +#: doc/contributing.texi:317 +msgid "" +"Procedures should not have more than four positional parameters. Use " +"keyword parameters for procedures that take more than four parameters." +msgstr "" + +#. type: Plain text +#: doc/contributing.texi:326 +msgid "" +"Development is done using the Git distributed version control system. Thus, " +"access to the repository is not strictly necessary. We welcome " +"contributions in the form of patches as produced by @code{git format-patch} " +"sent to the @email{guix-patches@@gnu.org} mailing list." +msgstr "" + +#. type: Plain text +#: doc/contributing.texi:333 +msgid "" +"This mailing list is backed by a Debbugs instance accessible at " +"@uref{https://bugs.gnu.org/guix-patches}, which allows us to keep track of " +"submissions. Each message sent to that mailing list gets a new tracking " +"number assigned; people can then follow up on the submission by sending " +"email to @code{@var{NNN}@@debbugs.gnu.org}, where @var{NNN} is the tracking " +"number (@pxref{Sending a Patch Series})." +msgstr "" + +#. type: Plain text +#: doc/contributing.texi:337 +msgid "" +"Please write commit logs in the ChangeLog format (@pxref{Change Logs,,, " +"standards, GNU Coding Standards}); you can check the commit history for " +"examples." +msgstr "" + +#. type: Plain text +#: doc/contributing.texi:340 +msgid "" +"Before submitting a patch that adds or modifies a package definition, please " +"run through this check list:" +msgstr "" + +#. type: enumerate +#: doc/contributing.texi:347 +msgid "" +"If the authors of the packaged software provide a cryptographic signature " +"for the release tarball, make an effort to verify the authenticity of the " +"archive. For a detached GPG signature file this would be done with the " +"@code{gpg --verify} command." +msgstr "" + +#. type: enumerate +#: doc/contributing.texi:351 +msgid "" +"Take some time to provide an adequate synopsis and description for the " +"package. @xref{Synopses and Descriptions}, for some guidelines." +msgstr "" + +#. type: enumerate +#: doc/contributing.texi:356 +msgid "" +"Run @code{guix lint @var{package}}, where @var{package} is the name of the " +"new or modified package, and fix any errors it reports (@pxref{Invoking guix " +"lint})." +msgstr "" + +#. type: enumerate +#: doc/contributing.texi:360 +msgid "" +"Make sure the package builds on your platform, using @code{guix build " +"@var{package}}." +msgstr "" + +#. type: cindex +#: doc/contributing.texi:362 +#, no-wrap +msgid "bundling" +msgstr "" + +#. type: enumerate +#: doc/contributing.texi:365 +msgid "" +"Make sure the package does not use bundled copies of software already " +"available as separate packages." +msgstr "" + +#. type: enumerate +#: doc/contributing.texi:374 +msgid "" +"Sometimes, packages include copies of the source code of their dependencies " +"as a convenience for users. However, as a distribution, we want to make " +"sure that such packages end up using the copy we already have in the " +"distribution, if there is one. This improves resource usage (the dependency " +"is built and stored only once), and allows the distribution to make " +"transverse changes such as applying security updates for a given software " +"package in a single place and have them affect the whole system---something " +"that bundled copies prevent." +msgstr "" + +#. type: enumerate +#: doc/contributing.texi:381 +msgid "" +"Take a look at the profile reported by @command{guix size} (@pxref{Invoking " +"guix size}). This will allow you to notice references to other packages " +"unwillingly retained. It may also help determine whether to split the " +"package (@pxref{Packages with Multiple Outputs}), and which optional " +"dependencies should be used." +msgstr "" + +#. type: enumerate +#: doc/contributing.texi:386 +msgid "" +"For important changes, check that dependent package (if applicable) are not " +"affected by the change; @code{guix refresh --list-dependent @var{package}} " +"will help you do that (@pxref{Invoking guix refresh})." +msgstr "" + +#. type: cindex +#: doc/contributing.texi:388 +#, no-wrap +msgid "branching strategy" +msgstr "" + +#. type: cindex +#: doc/contributing.texi:389 +#, no-wrap +msgid "rebuild scheduling strategy" +msgstr "" + +#. type: enumerate +#: doc/contributing.texi:392 +msgid "" +"Depending on the number of dependent packages and thus the amount of " +"rebuilding induced, commits go to different branches, along these lines:" +msgstr "" + +#. type: item +#: doc/contributing.texi:394 +#, no-wrap +msgid "300 dependent packages or less" +msgstr "" + +#. type: table +#: doc/contributing.texi:396 +msgid "@code{master} branch (non-disruptive changes)." +msgstr "" + +#. type: item +#: doc/contributing.texi:397 +#, no-wrap +msgid "between 300 and 1,200 dependent packages" +msgstr "" + +#. type: table +#: doc/contributing.texi:402 +msgid "" +"@code{staging} branch (non-disruptive changes). This branch is intended to " +"be merged in @code{master} every 3 weeks or so. Topical changes (e.g., an " +"update of the GNOME stack) can instead go to a specific branch (say, " +"@code{gnome-updates})." +msgstr "" + +#. type: item +#: doc/contributing.texi:403 +#, no-wrap +msgid "more than 1,200 dependent packages" +msgstr "" + +#. type: table +#: doc/contributing.texi:407 +msgid "" +"@code{core-updates} branch (may include major and potentially disruptive " +"changes). This branch is intended to be merged in @code{master} every 2.5 " +"months or so." +msgstr "" + +#. type: enumerate +#: doc/contributing.texi:414 +msgid "" +"All these branches are tracked by our build farm and merged into " +"@code{master} once everything has been successfully built. This allows us " +"to fix issues before they hit users, and to reduce the window during which " +"pre-built binaries are not available." +msgstr "" + +#. type: cindex +#: doc/contributing.texi:416 +#, no-wrap +msgid "determinism, of build processes" +msgstr "" + +#. type: cindex +#: doc/contributing.texi:417 +#, no-wrap +msgid "reproducible builds, checking" +msgstr "" + +#. type: enumerate +#: doc/contributing.texi:421 +msgid "" +"Check whether the package's build process is deterministic. This typically " +"means checking whether an independent build of the package yields the exact " +"same result that you obtained, bit for bit." +msgstr "" + +#. type: enumerate +#: doc/contributing.texi:424 +msgid "" +"A simple way to do that is by building the same package several times in a " +"row on your machine (@pxref{Invoking guix build}):" +msgstr "" + +#. type: example +#: doc/contributing.texi:427 +#, no-wrap +msgid "guix build --rounds=2 my-package\n" +msgstr "" + +#. type: enumerate +#: doc/contributing.texi:431 +msgid "" +"This is enough to catch a class of common non-determinism issues, such as " +"timestamps or randomly-generated output in the build result." +msgstr "" + +#. type: enumerate +#: doc/contributing.texi:441 +msgid "" +"Another option is to use @command{guix challenge} (@pxref{Invoking guix " +"challenge}). You may run it once the package has been committed and built " +"by @code{hydra.gnu.org} to check whether it obtains the same result as you " +"did. Better yet: Find another machine that can build it and run " +"@command{guix publish}. Since the remote build machine is likely different " +"from yours, this can catch non-determinism issues related to the " +"hardware---e.g., use of different instruction set extensions---or to the " +"operating system kernel---e.g., reliance on @code{uname} or @file{/proc} " +"files." +msgstr "" + +#. type: enumerate +#: doc/contributing.texi:447 +msgid "" +"When writing documentation, please use gender-neutral wording when referring " +"to people, such as @uref{https://en.wikipedia.org/wiki/Singular_they, " +"singular ``they''@comma{} ``their''@comma{} ``them''}, and so forth." +msgstr "" + +#. type: enumerate +#: doc/contributing.texi:451 +msgid "" +"Verify that your patch contains only one set of related changes. Bundling " +"unrelated changes together makes reviewing harder and slower." +msgstr "" + +#. type: enumerate +#: doc/contributing.texi:454 +msgid "" +"Examples of unrelated changes include the addition of several packages, or a " +"package update along with fixes to that package." +msgstr "" + +#. type: enumerate +#: doc/contributing.texi:459 +msgid "" +"Please follow our code formatting rules, possibly running the " +"@command{etc/indent-code.el} script to do that automatically for you " +"(@pxref{Formatting Code})." +msgstr "" + +#. type: Plain text +#: doc/contributing.texi:469 +msgid "" +"When posting a patch to the mailing list, use @samp{[PATCH] @dots{}} as a " +"subject. You may use your email client or the @command{git send-email} " +"command (@pxref{Sending a Patch Series}). We prefer to get patches in plain " +"text messages, either inline or as MIME attachments. You are advised to pay " +"attention if your email client changes anything like line breaks or " +"indentation which could potentially break the patches." +msgstr "" + +#. type: Plain text +#: doc/contributing.texi:472 +msgid "" +"When a bug is resolved, please close the thread by sending an email to " +"@email{@var{NNN}-done@@debbugs.gnu.org}." +msgstr "" + +#. type: anchor{#1} +#: doc/contributing.texi:473 doc/contributing.texi:475 +#, no-wrap +msgid "Sending a Patch Series" +msgstr "" + +#. type: cindex +#: doc/contributing.texi:475 +#, no-wrap +msgid "patch series" +msgstr "" + +#. type: code{#1} +#: doc/contributing.texi:476 +#, no-wrap +msgid "git send-email" +msgstr "" + +#. type: code{#1} +#: doc/contributing.texi:477 +#, no-wrap +msgid "git-send-email" +msgstr "" + +#. type: Plain text +#: doc/contributing.texi:485 +msgid "" +"When sending a patch series (e.g., using @code{git send-email}), please " +"first send one message to @email{guix-patches@@gnu.org}, and then send " +"subsequent patches to @email{@var{NNN}@@debbugs.gnu.org} to make sure they " +"are kept together. See @uref{https://debbugs.gnu.org/Advanced.html, the " +"Debbugs documentation} for more information." +msgstr "" diff --git a/po/doc/guix.fr.po b/po/doc/guix.fr.po new file mode 100644 index 0000000000..c6795833c2 --- /dev/null +++ b/po/doc/guix.fr.po @@ -0,0 +1,42145 @@ +# SOME DESCRIPTIVE TITLE +# Copyright (C) YEAR Free Software Foundation, Inc. +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"POT-Creation-Date: 2018-04-10 21:34+0200\n" +"PO-Revision-Date: 2018-04-13 22:46+0200\n" +"Last-Translator: Julien Lepiller <julien@lepiller.eu>\n" +"Language-Team: \n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 2.0.6\n" + +#. type: Plain text +#: doc/guix.texi:7 +msgid "@documentencoding UTF-8" +msgstr "" +"@documentencoding UTF-8\n" +"@documentlanguage fr" + +#. type: title +#: doc/guix.texi:7 doc/guix.texi:77 +#, no-wrap +msgid "GNU Guix Reference Manual" +msgstr "Manuel de référence de GNU Guix" + +#. type: include +#: doc/guix.texi:10 +#, no-wrap +msgid "version.texi" +msgstr "version-fr.texi" + +#. type: copying +#: doc/guix.texi:51 +msgid "" +"Copyright @copyright{} 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès@* Copyright @copyright{} 2013, 2014, 2016 Andreas " +"Enge@* Copyright @copyright{} 2013 Nikita Karetnikov@* Copyright @copyright{} 2014, 2015, 2016 Alex Kost@* Copyright @copyright{} " +"2015, 2016 Mathieu Lirzin@* Copyright @copyright{} 2014 Pierre-Antoine Rault@* Copyright @copyright{} 2015 Taylan Ulrich Bayırlı/" +"Kammer@* Copyright @copyright{} 2015, 2016, 2017 Leo Famulari@* Copyright @copyright{} 2015, 2016, 2017, 2018 Ricardo Wurmus@* " +"Copyright @copyright{} 2016 Ben Woodcroft@* Copyright @copyright{} 2016, 2017, 2018 Chris Marusich@* Copyright @copyright{} 2016, " +"2017, 2018 Efraim Flashner@* Copyright @copyright{} 2016 John Darrington@* Copyright @copyright{} 2016, 2017 Nils Gillmann@* " +"Copyright @copyright{} 2016, 2017 Jan Nieuwenhuizen@* Copyright @copyright{} 2016 Julien Lepiller@* Copyright @copyright{} 2016 Alex " +"ter Weele@* Copyright @copyright{} 2017, 2018 Clément Lassieur@* Copyright @copyright{} 2017 Mathieu Othacehe@* Copyright " +"@copyright{} 2017 Federico Beffa@* Copyright @copyright{} 2017 Carlo Zancanaro@* Copyright @copyright{} 2017 Thomas Danckaert@* " +"Copyright @copyright{} 2017 humanitiesNerd@* Copyright @copyright{} 2017 Christopher Allan Webber@* Copyright @copyright{} 2017 " +"Marius Bakke@* Copyright @copyright{} 2017 Hartmut Goebel@* Copyright @copyright{} 2017 Maxim Cournoyer@* Copyright @copyright{} " +"2017, 2018 Tobias Geerinckx-Rice@* Copyright @copyright{} 2017 George Clemmer@* Copyright @copyright{} 2017 Andy Wingo@* Copyright " +"@copyright{} 2017, 2018 Arun Isaac@* Copyright @copyright{} 2017 nee@* Copyright @copyright{} 2018 Rutger Helling@* Copyright " +"@copyright{} 2018 Oleg Pykhalov@* Copyright @copyright{} 2018 Mike Gerwitz" +msgstr "" +"Copyright @copyright{} 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès@* Copyright @copyright{} 2013, 2014, 2016 Andreas " +"Enge@* Copyright @copyright{} 2013 Nikita Karetnikov@* Copyright @copyright{} 2014, 2015, 2016 Alex Kost@* Copyright @copyright{} " +"2015, 2016 Mathieu Lirzin@* Copyright @copyright{} 2014 Pierre-Antoine Rault@* Copyright @copyright{} 2015 Taylan Ulrich Bayırlı/" +"Kammer@* Copyright @copyright{} 2015, 2016, 2017 Leo Famulari@* Copyright @copyright{} 2015, 2016, 2017, 2018 Ricardo Wurmus@* " +"Copyright @copyright{} 2016 Ben Woodcroft@* Copyright @copyright{} 2016, 2017, 2018 Chris Marusich@* Copyright @copyright{} 2016, " +"2017, 2018 Efraim Flashner@* Copyright @copyright{} 2016 John Darrington@* Copyright @copyright{} 2016, 2017 Nils Gillmann@* " +"Copyright @copyright{} 2016, 2017 Jan Nieuwenhuizen@* Copyright @copyright{} 2016 Julien Lepiller@* Copyright @copyright{} 2016 Alex " +"ter Weele@* Copyright @copyright{} 2017, 2018 Clément Lassieur@* Copyright @copyright{} 2017 Mathieu Othacehe@* Copyright " +"@copyright{} 2017 Federico Beffa@* Copyright @copyright{} 2017 Carlo Zancanaro@* Copyright @copyright{} 2017 Thomas Danckaert@* " +"Copyright @copyright{} 2017 humanitiesNerd@* Copyright @copyright{} 2017 Christopher Allan Webber@* Copyright @copyright{} 2017 " +"Marius Bakke@* Copyright @copyright{} 2017 Hartmut Goebel@* Copyright @copyright{} 2017 Maxim Cournoyer@* Copyright @copyright{} " +"2017, 2018 Tobias Geerinckx-Rice@* Copyright @copyright{} 2017 George Clemmer@* Copyright @copyright{} 2017 Andy Wingo@* Copyright " +"@copyright{} 2017, 2018 Arun Isaac@* Copyright @copyright{} 2017 nee@* Copyright @copyright{} 2018 Rutger Helling@* Copyright " +"@copyright{} 2018 Oleg Pykhalov@* Copyright @copyright{} 2018 Mike Gerwitz" + +#. type: copying +#: doc/guix.texi:58 +msgid "" +"Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version " +"1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-" +"Cover Texts. A copy of the license is included in the section entitled ``GNU Free Documentation License''." +msgstr "" +"Vous avez la permission de copier, distribuer ou modifier ce document sous les termes de la Licence GNU Free Documentation, version " +"1.3 ou toute version ultérieure publiée par la Free Software Foundation ; sans section invariante, texte de couverture et sans texte " +"de quatrième de couverture. Une copie de la licence est incluse dans la section intitulée « GNU Free Documentation License »." + +#. type: dircategory +#: doc/guix.texi:60 +#, no-wrap +msgid "System administration" +msgstr "Administration système" + +#. type: menuentry +#: doc/guix.texi:67 +msgid "Guix: (guix)" +msgstr "Guix: (guix)" + +#. type: menuentry +#: doc/guix.texi:67 +msgid "Manage installed software and system configuration." +msgstr "Gérer les logiciels installés et la configuration du système." + +#. type: menuentry +#: doc/guix.texi:67 +msgid "guix package: (guix)Invoking guix package" +msgstr "guix package : (guix)Invoquer guix package" + +#. type: menuentry +#: doc/guix.texi:67 +msgid "Installing, removing, and upgrading packages." +msgstr "Intaller, supprimer et mettre à jour des paquets." + +#. type: menuentry +#: doc/guix.texi:67 +msgid "guix gc: (guix)Invoking guix gc" +msgstr "guix gc : (guix)Invoquer guix gc" + +#. type: menuentry +#: doc/guix.texi:67 +msgid "Reclaiming unused disk space." +msgstr "Récupérer de l'espace disque inutilisé." + +#. type: menuentry +#: doc/guix.texi:67 +msgid "guix pull: (guix)Invoking guix pull" +msgstr "guix pull : (guix)Invoquer guix pull" + +#. type: menuentry +#: doc/guix.texi:67 +msgid "Update the list of available packages." +msgstr "Mettre à jour la liste des paquets disponibles." + +#. type: menuentry +#: doc/guix.texi:67 +msgid "guix system: (guix)Invoking guix system" +msgstr "guix system : (guix)Invoquer guix system" + +#. type: menuentry +#: doc/guix.texi:67 +msgid "Manage the operating system configuration." +msgstr "Gérer la configuration du système d'exploitation." + +#. type: dircategory +#: doc/guix.texi:69 +#, no-wrap +msgid "Software development" +msgstr "Développement logiciel" + +#. type: menuentry +#: doc/guix.texi:74 +msgid "guix environment: (guix)Invoking guix environment" +msgstr "guix environment : (guix)Invoquer guix environment" + +#. type: menuentry +#: doc/guix.texi:74 +msgid "Building development environments with Guix." +msgstr "Construire des environnements de construction avec Guix." + +#. type: menuentry +#: doc/guix.texi:74 +msgid "guix build: (guix)Invoking guix build" +msgstr "guix build : (guix)Invoquer guix build" + +#. type: menuentry +#: doc/guix.texi:74 +msgid "Building packages." +msgstr "Construire des paquets." + +#. type: menuentry +#: doc/guix.texi:74 +msgid "guix pack: (guix)Invoking guix pack" +msgstr "guix pack : (guix) Invoquer guix pack" + +#. type: menuentry +#: doc/guix.texi:74 +msgid "Creating binary bundles." +msgstr "Créer des lots binaires." + +#. type: subtitle +#: doc/guix.texi:78 +#, no-wrap +msgid "Using the GNU Guix Functional Package Manager" +msgstr "Utiliser le gestionnaire de paquet fonctionnel GNU Guix" + +#. type: author +#: doc/guix.texi:79 +#, no-wrap +msgid "The GNU Guix Developers" +msgstr "Les développeurs de GNU Guix" + +#. type: titlepage +#: doc/guix.texi:85 +msgid "Edition @value{EDITION} @* @value{UPDATED} @*" +msgstr "Édition @value{EDITION} @* @value{UPDATED} @*" + +#. type: node +#: doc/guix.texi:92 +#, no-wrap +msgid "Top" +msgstr "Top" + +#. type: top +#: doc/guix.texi:93 +#, no-wrap +msgid "GNU Guix" +msgstr "GNU Guix" + +#. type: Plain text +#: doc/guix.texi:97 +msgid "This document describes GNU Guix version @value{VERSION}, a functional package management tool written for the GNU system." +msgstr "" +"Cette documentation décrit GNU Guix version @value{VERSION}, un outils de gestion de paquets fonctionnel écrit pour le système GNU." + +#. type: chapter +#: doc/guix.texi:106 doc/guix.texi:294 doc/guix.texi:295 +#, no-wrap +msgid "Introduction" +msgstr "Introduction" + +#. type: menuentry +#: doc/guix.texi:106 +msgid "What is Guix about?" +msgstr "Qu'est-ce que Guix ?" + +#. type: chapter +#: doc/guix.texi:106 doc/guix.texi:116 doc/guix.texi:367 doc/guix.texi:368 +#, no-wrap +msgid "Installation" +msgstr "Installation" + +#. type: menuentry +#: doc/guix.texi:106 +msgid "Installing Guix." +msgstr "Installer Guix." + +#. type: chapter +#: doc/guix.texi:106 doc/guix.texi:131 doc/guix.texi:1652 doc/guix.texi:1653 +#, no-wrap +msgid "Package Management" +msgstr "Gestion de paquets" + +#. type: menuentry +#: doc/guix.texi:106 +msgid "Package installation, upgrade, etc." +msgstr "Installation des paquets, mises à jour, etc." + +#. type: chapter +#: doc/guix.texi:106 doc/guix.texi:151 doc/guix.texi:3106 doc/guix.texi:3107 +#, no-wrap +msgid "Programming Interface" +msgstr "Interface de programmation" + +#. type: menuentry +#: doc/guix.texi:106 +msgid "Using Guix in Scheme." +msgstr "Utiliser Guix en Scheme." + +#. type: chapter +#: doc/guix.texi:106 doc/guix.texi:165 doc/guix.texi:5358 doc/guix.texi:5359 +#, no-wrap +msgid "Utilities" +msgstr "Utilitaires" + +#. type: menuentry +#: doc/guix.texi:106 +msgid "Package management commands." +msgstr "Commandes de gestion de paquets." + +#. type: chapter +#: doc/guix.texi:106 doc/guix.texi:190 doc/guix.texi:7977 doc/guix.texi:7978 +#, no-wrap +msgid "GNU Distribution" +msgstr "Distribution GNU" + +#. type: menuentry +#: doc/guix.texi:106 +msgid "Software for your friendly GNU system." +msgstr "Des logiciels pour un système GNU convivial." + +#. type: menuentry +#: doc/guix.texi:106 doc/guix.texi:276 +msgid "Contributing" +msgstr "Contribuer" + +#. type: menuentry +#: doc/guix.texi:106 +msgid "Your help needed!" +msgstr "Nous avons besoin de votre aide !" + +#. type: chapter +#: doc/guix.texi:111 doc/guix.texi:22276 doc/guix.texi:22277 +#, no-wrap +msgid "Acknowledgments" +msgstr "Remerciements" + +#. type: menuentry +#: doc/guix.texi:111 +msgid "Thanks!" +msgstr "Merci !" + +#. type: appendix +#: doc/guix.texi:111 doc/guix.texi:22298 doc/guix.texi:22299 +#, no-wrap +msgid "GNU Free Documentation License" +msgstr "La licence GNU Free Documentation" + +#. type: menuentry +#: doc/guix.texi:111 +msgid "The license of this manual." +msgstr "La licence de ce manuel." + +#. type: unnumbered +#: doc/guix.texi:111 doc/guix.texi:22304 doc/guix.texi:22305 +#, no-wrap +msgid "Concept Index" +msgstr "Index des concepts" + +#. type: menuentry +#: doc/guix.texi:111 +msgid "Concepts." +msgstr "Les concepts." + +#. type: unnumbered +#: doc/guix.texi:111 doc/guix.texi:22308 doc/guix.texi:22309 +#, no-wrap +msgid "Programming Index" +msgstr "Index de programmation" + +#. type: menuentry +#: doc/guix.texi:111 +msgid "Data types, functions, and variables." +msgstr "Types de données, fonctions et variables." + +#. type: menuentry +#: doc/guix.texi:114 +msgid "--- The Detailed Node Listing ---" +msgstr "--- Liste détaillée des nœuds ---" + +#. type: section +#: doc/guix.texi:123 doc/guix.texi:398 doc/guix.texi:400 doc/guix.texi:401 +#, no-wrap +msgid "Binary Installation" +msgstr "Installation binaire" + +#. type: menuentry +#: doc/guix.texi:123 doc/guix.texi:398 +msgid "Getting Guix running in no time!" +msgstr "Commencer à utiliser Guix en un rien de temps !" + +#. type: section +#: doc/guix.texi:123 doc/guix.texi:398 doc/guix.texi:596 doc/guix.texi:597 +#, no-wrap +msgid "Requirements" +msgstr "Prérequis" + +#. type: menuentry +#: doc/guix.texi:123 doc/guix.texi:398 +msgid "Software needed to build and run Guix." +msgstr "Logiciels requis pour construire et lancer Guix." + +#. type: section +#: doc/guix.texi:123 doc/guix.texi:398 doc/guix.texi:678 doc/guix.texi:679 +#, no-wrap +msgid "Running the Test Suite" +msgstr "Lancer la suite de tests" + +#. type: menuentry +#: doc/guix.texi:123 doc/guix.texi:398 +msgid "Testing Guix." +msgstr "Tester Guix." + +#. type: section +#: doc/guix.texi:123 doc/guix.texi:125 doc/guix.texi:398 doc/guix.texi:743 doc/guix.texi:744 +#, no-wrap +msgid "Setting Up the Daemon" +msgstr "Paramétrer le démon" + +#. type: menuentry +#: doc/guix.texi:123 doc/guix.texi:398 +msgid "Preparing the build daemon's environment." +msgstr "Préparer l'environnement du démon de construction." + +#. type: node +#: doc/guix.texi:123 doc/guix.texi:398 doc/guix.texi:1176 +#, no-wrap +msgid "Invoking guix-daemon" +msgstr "Invoquer guix-daemon" + +#. type: menuentry +#: doc/guix.texi:123 doc/guix.texi:398 +msgid "Running the build daemon." +msgstr "Lancer le démon de construction." + +#. type: section +#: doc/guix.texi:123 doc/guix.texi:398 doc/guix.texi:1441 doc/guix.texi:1442 +#, no-wrap +msgid "Application Setup" +msgstr "Réglages applicatifs" + +#. type: menuentry +#: doc/guix.texi:123 doc/guix.texi:398 +msgid "Application-specific setup." +msgstr "Réglages spécifiques pour les application." + +#. type: subsection +#: doc/guix.texi:129 doc/guix.texi:763 doc/guix.texi:765 doc/guix.texi:766 +#, no-wrap +msgid "Build Environment Setup" +msgstr "Réglages de l'environnement de construction" + +#. type: menuentry +#: doc/guix.texi:129 doc/guix.texi:763 +msgid "Preparing the isolated build environment." +msgstr "Préparer l'environnement de construction isolé." + +#. type: node +#: doc/guix.texi:129 doc/guix.texi:763 doc/guix.texi:882 +#, no-wrap +msgid "Daemon Offload Setup" +msgstr "Réglages du délestage du démon" + +#. type: menuentry +#: doc/guix.texi:129 doc/guix.texi:763 +msgid "Offloading builds to remote machines." +msgstr "Envoyer des constructions à des machines distantes." + +#. type: subsection +#: doc/guix.texi:129 doc/guix.texi:763 doc/guix.texi:1090 doc/guix.texi:1091 +#, no-wrap +msgid "SELinux Support" +msgstr "Support de SELinux" + +#. type: menuentry +#: doc/guix.texi:129 doc/guix.texi:763 +msgid "Using an SELinux policy for the daemon." +msgstr "Utiliser une politique SELinux pour le démon." + +#. type: section +#: doc/guix.texi:140 doc/guix.texi:1682 doc/guix.texi:1684 doc/guix.texi:1685 +#, no-wrap +msgid "Features" +msgstr "Fonctionnalités" + +#. type: menuentry +#: doc/guix.texi:140 doc/guix.texi:1682 +msgid "How Guix will make your life brighter." +msgstr "Comment Guix va rendre votre vie plus heureuse." + +#. type: node +#: doc/guix.texi:140 doc/guix.texi:1682 doc/guix.texi:1761 +#, no-wrap +msgid "Invoking guix package" +msgstr "Invoquer guix package" + +#. type: menuentry +#: doc/guix.texi:140 doc/guix.texi:1682 +msgid "Package installation, removal, etc." +msgstr "Installation, suppression, etc. de paquets." + +#. type: section +#: doc/guix.texi:140 doc/guix.texi:142 doc/guix.texi:1682 doc/guix.texi:2245 doc/guix.texi:2246 +#, no-wrap +msgid "Substitutes" +msgstr "Substituts" + +#. type: menuentry +#: doc/guix.texi:140 doc/guix.texi:1682 +msgid "Downloading pre-built binaries." +msgstr "Télécharger des binaire déjà construits." + +#. type: section +#: doc/guix.texi:140 doc/guix.texi:1682 doc/guix.texi:2478 doc/guix.texi:2479 +#, no-wrap +msgid "Packages with Multiple Outputs" +msgstr "Des paquets avec plusieurs résultats" + +#. type: menuentry +#: doc/guix.texi:140 doc/guix.texi:1682 +msgid "Single source package, multiple outputs." +msgstr "Un seul paquet source, plusieurs résultats." + +#. type: node +#: doc/guix.texi:140 doc/guix.texi:1682 doc/guix.texi:2532 +#, no-wrap +msgid "Invoking guix gc" +msgstr "Invoquer guix gc" + +#. type: menuentry +#: doc/guix.texi:140 doc/guix.texi:1682 +msgid "Running the garbage collector." +msgstr "Lancer le ramasse-miettes." + +#. type: node +#: doc/guix.texi:140 doc/guix.texi:1682 doc/guix.texi:2720 +#, no-wrap +msgid "Invoking guix pull" +msgstr "Invoquer guix pull" + +#. type: menuentry +#: doc/guix.texi:140 doc/guix.texi:1682 +msgid "Fetching the latest Guix and distribution." +msgstr "Récupérer la dernière version de Guix et de la distribution." + +#. type: node +#: doc/guix.texi:140 doc/guix.texi:1682 doc/guix.texi:2781 +#, no-wrap +msgid "Invoking guix pack" +msgstr "Invoquer guix pack" + +#. type: menuentry +#: doc/guix.texi:140 doc/guix.texi:1682 +msgid "Creating software bundles." +msgstr "Créer des lots de logiciels." + +#. type: node +#: doc/guix.texi:140 doc/guix.texi:1682 doc/guix.texi:2941 +#, no-wrap +msgid "Invoking guix archive" +msgstr "Invoquer guix archive" + +#. type: menuentry +#: doc/guix.texi:140 doc/guix.texi:1682 +msgid "Exporting and importing store files." +msgstr "Exporter et importer des fichiers du dépôt." + +#. type: subsection +#: doc/guix.texi:149 doc/guix.texi:2268 doc/guix.texi:2270 doc/guix.texi:2271 +#, no-wrap +msgid "Official Substitute Server" +msgstr "Serveur de substituts officiel" + +#. type: menuentry +#: doc/guix.texi:149 doc/guix.texi:2268 +msgid "One particular source of substitutes." +msgstr "Une source particulière de substituts." + +#. type: subsection +#: doc/guix.texi:149 doc/guix.texi:2268 doc/guix.texi:2300 doc/guix.texi:2301 +#, no-wrap +msgid "Substitute Server Authorization" +msgstr "Autoriser un serveur de substituts" + +#. type: menuentry +#: doc/guix.texi:149 doc/guix.texi:2268 +msgid "How to enable or disable substitutes." +msgstr "Comment activer ou désactiver les substituts." + +#. type: subsection +#: doc/guix.texi:149 doc/guix.texi:2268 doc/guix.texi:2373 doc/guix.texi:2374 +#, no-wrap +msgid "Substitute Authentication" +msgstr "Authentification des substituts" + +#. type: menuentry +#: doc/guix.texi:149 doc/guix.texi:2268 +msgid "How Guix verifies substitutes." +msgstr "Coment Guix vérifie les substituts." + +#. type: subsection +#: doc/guix.texi:149 doc/guix.texi:2268 doc/guix.texi:2408 doc/guix.texi:2409 +#, no-wrap +msgid "Proxy Settings" +msgstr "Paramètres de serveur mandataire" + +#. type: menuentry +#: doc/guix.texi:149 doc/guix.texi:2268 +msgid "How to get substitutes via proxy." +msgstr "Comment récupérer des substituts à travers un serveur mandataire." + +#. type: subsection +#: doc/guix.texi:149 doc/guix.texi:2268 doc/guix.texi:2420 doc/guix.texi:2421 +#, no-wrap +msgid "Substitution Failure" +msgstr "Échec de substitution" + +#. type: menuentry +#: doc/guix.texi:149 doc/guix.texi:2268 +msgid "What happens when substitution fails." +msgstr "Qu'arrive-t-il quand la substitution échoue." + +#. type: subsection +#: doc/guix.texi:149 doc/guix.texi:2268 doc/guix.texi:2448 doc/guix.texi:2449 +#, no-wrap +msgid "On Trusting Binaries" +msgstr "De la confiance en des binaires" + +#. type: menuentry +#: doc/guix.texi:149 doc/guix.texi:2268 +msgid "How can you trust that binary blob?" +msgstr "Comment pouvez-vous avoir confiance en un paquet binaire ?" + +#. type: section +#: doc/guix.texi:158 doc/guix.texi:160 doc/guix.texi:3141 doc/guix.texi:3143 doc/guix.texi:3144 +#, no-wrap +msgid "Defining Packages" +msgstr "Définition des paquets" + +#. type: menuentry +#: doc/guix.texi:158 doc/guix.texi:3141 +msgid "Defining new packages." +msgstr "Définir de nouveaux paquets." + +#. type: section +#: doc/guix.texi:158 doc/guix.texi:3141 doc/guix.texi:3607 doc/guix.texi:3608 +#, no-wrap +msgid "Build Systems" +msgstr "Systèmes de construction" + +#. type: menuentry +#: doc/guix.texi:158 doc/guix.texi:3141 +msgid "Specifying how packages are built." +msgstr "Spécifier comment construire les paquets." + +#. type: section +#: doc/guix.texi:158 doc/guix.texi:3141 doc/guix.texi:4183 doc/guix.texi:4184 +#, no-wrap +msgid "The Store" +msgstr "Le dépôt" + +#. type: menuentry +#: doc/guix.texi:158 doc/guix.texi:3141 +msgid "Manipulating the package store." +msgstr "Manipuler le dépôt de paquets." + +#. type: section +#: doc/guix.texi:158 doc/guix.texi:3141 doc/guix.texi:4333 doc/guix.texi:4334 +#, no-wrap +msgid "Derivations" +msgstr "Dérivations" + +#. type: menuentry +#: doc/guix.texi:158 doc/guix.texi:3141 +msgid "Low-level interface to package derivations." +msgstr "Interface de bas-niveau avec les dérivations de paquets." + +#. type: section +#: doc/guix.texi:158 doc/guix.texi:3141 doc/guix.texi:4511 doc/guix.texi:4512 +#, no-wrap +msgid "The Store Monad" +msgstr "La monad du dépôt" + +#. type: menuentry +#: doc/guix.texi:158 doc/guix.texi:3141 +msgid "Purely functional interface to the store." +msgstr "Interface purement fonctionnelle avec le dépôt." + +#. type: section +#: doc/guix.texi:158 doc/guix.texi:3141 doc/guix.texi:4820 doc/guix.texi:4821 +#, no-wrap +msgid "G-Expressions" +msgstr "G-Expressions" + +#. type: menuentry +#: doc/guix.texi:158 doc/guix.texi:3141 +msgid "Manipulating build expressions." +msgstr "Manipuler les expressions de construction." + +#. type: node +#: doc/guix.texi:163 doc/guix.texi:3389 doc/guix.texi:3392 +#, no-wrap +msgid "package Reference" +msgstr "Référence de paquet" + +#. type: menuentry +#: doc/guix.texi:163 doc/guix.texi:3389 +msgid "The package data type." +msgstr "Le type de donnée des paquets." + +#. type: node +#: doc/guix.texi:163 doc/guix.texi:3389 doc/guix.texi:3519 +#, no-wrap +msgid "origin Reference" +msgstr "Référence d'origine" + +#. type: menuentry +#: doc/guix.texi:163 doc/guix.texi:3389 +msgid "The origin data type." +msgstr "Le type de données d'origine." + +#. type: node +#: doc/guix.texi:181 doc/guix.texi:5382 doc/guix.texi:5384 +#, no-wrap +msgid "Invoking guix build" +msgstr "Invoquer guix build" + +#. type: menuentry +#: doc/guix.texi:181 doc/guix.texi:5382 +msgid "Building packages from the command line." +msgstr "Construire des paquets depuis la ligne de commande." + +#. type: node +#: doc/guix.texi:181 doc/guix.texi:5382 doc/guix.texi:5964 +#, no-wrap +msgid "Invoking guix edit" +msgstr "Invoquer guix edit" + +#. type: menuentry +#: doc/guix.texi:181 doc/guix.texi:5382 +msgid "Editing package definitions." +msgstr "Modifier les définitions de paquets." + +#. type: node +#: doc/guix.texi:181 doc/guix.texi:5382 doc/guix.texi:5990 +#, no-wrap +msgid "Invoking guix download" +msgstr "Invoquer guix download" + +#. type: menuentry +#: doc/guix.texi:181 doc/guix.texi:5382 +msgid "Downloading a file and printing its hash." +msgstr "Télécharger un fichier et afficher son hash." + +#. type: node +#: doc/guix.texi:181 doc/guix.texi:5382 doc/guix.texi:6043 +#, no-wrap +msgid "Invoking guix hash" +msgstr "Invoquer guix hash" + +#. type: menuentry +#: doc/guix.texi:181 doc/guix.texi:5382 +msgid "Computing the cryptographic hash of a file." +msgstr "Calculer le hash cryptographique d'un fichier." + +#. type: node +#: doc/guix.texi:181 doc/guix.texi:5382 doc/guix.texi:6105 +#, no-wrap +msgid "Invoking guix import" +msgstr "Invoquer guix import" + +#. type: menuentry +#: doc/guix.texi:181 doc/guix.texi:5382 +msgid "Importing package definitions." +msgstr "Importer des définitions de paquets." + +#. type: node +#: doc/guix.texi:181 doc/guix.texi:5382 doc/guix.texi:6472 +#, no-wrap +msgid "Invoking guix refresh" +msgstr "Invoquer guix refresh" + +#. type: menuentry +#: doc/guix.texi:181 doc/guix.texi:5382 +msgid "Updating package definitions." +msgstr "Mettre à jour les définitions de paquets." + +#. type: node +#: doc/guix.texi:181 doc/guix.texi:5382 doc/guix.texi:6719 +#, no-wrap +msgid "Invoking guix lint" +msgstr "Invoquer guix lint" + +#. type: menuentry +#: doc/guix.texi:181 doc/guix.texi:5382 +msgid "Finding errors in package definitions." +msgstr "Trouver des erreurs dans les définitions de paquets." + +#. type: node +#: doc/guix.texi:181 doc/guix.texi:5382 doc/guix.texi:6810 +#, no-wrap +msgid "Invoking guix size" +msgstr "Invoquer guix size" + +#. type: menuentry +#: doc/guix.texi:181 doc/guix.texi:5382 +msgid "Profiling disk usage." +msgstr "Profiler l'utilisation du disque." + +#. type: node +#: doc/guix.texi:181 doc/guix.texi:5382 doc/guix.texi:6926 +#, no-wrap +msgid "Invoking guix graph" +msgstr "Invoquer guix graph" + +#. type: menuentry +#: doc/guix.texi:181 doc/guix.texi:5382 +msgid "Visualizing the graph of packages." +msgstr "Visualiser le graphe des paquets." + +#. type: node +#: doc/guix.texi:181 doc/guix.texi:5382 doc/guix.texi:7105 +#, no-wrap +msgid "Invoking guix environment" +msgstr "Invoquer guix environment" + +#. type: menuentry +#: doc/guix.texi:181 doc/guix.texi:5382 +msgid "Setting up development environments." +msgstr "Mettre en place des environnements de développement." + +#. type: node +#: doc/guix.texi:181 doc/guix.texi:5382 doc/guix.texi:7424 +#, no-wrap +msgid "Invoking guix publish" +msgstr "Invoquer guix publish" + +#. type: menuentry +#: doc/guix.texi:181 doc/guix.texi:5382 +msgid "Sharing substitutes." +msgstr "Partager des substituts." + +#. type: node +#: doc/guix.texi:181 doc/guix.texi:5382 doc/guix.texi:7641 +#, no-wrap +msgid "Invoking guix challenge" +msgstr "Invoquer guix challenge" + +#. type: menuentry +#: doc/guix.texi:181 doc/guix.texi:5382 +msgid "Challenging substitute servers." +msgstr "Défier les serveurs de substituts." + +#. type: node +#: doc/guix.texi:181 doc/guix.texi:5382 doc/guix.texi:7780 +#, no-wrap +msgid "Invoking guix copy" +msgstr "Invoquer guix copy" + +#. type: menuentry +#: doc/guix.texi:181 doc/guix.texi:5382 +msgid "Copying to and from a remote store." +msgstr "Copier vers et depuis un dépôt distant." + +#. type: node +#: doc/guix.texi:181 doc/guix.texi:5382 doc/guix.texi:7843 +#, no-wrap +msgid "Invoking guix container" +msgstr "Invoquer guix container" + +#. type: menuentry +#: doc/guix.texi:181 doc/guix.texi:5382 +msgid "Process isolation." +msgstr "Isolation de processus." + +#. type: node +#: doc/guix.texi:181 doc/guix.texi:5382 doc/guix.texi:7897 +#, no-wrap +msgid "Invoking guix weather" +msgstr "Invoquer guix weather" + +#. type: menuentry +#: doc/guix.texi:181 doc/guix.texi:5382 +msgid "Assessing substitute availability." +msgstr "Mesurer la disponibilité des substituts." + +#. type: section +#: doc/guix.texi:183 doc/guix.texi:5385 +#, no-wrap +msgid "Invoking @command{guix build}" +msgstr "Invoquer @command{guix build}" + +#. type: subsection +#: doc/guix.texi:188 doc/guix.texi:5436 doc/guix.texi:5438 doc/guix.texi:5439 +#, no-wrap +msgid "Common Build Options" +msgstr "Options de construction communes" + +#. type: menuentry +#: doc/guix.texi:188 doc/guix.texi:5436 +msgid "Build options for most commands." +msgstr "Options de construction pour la plupart des commandes." + +#. type: subsection +#: doc/guix.texi:188 doc/guix.texi:5436 doc/guix.texi:5580 doc/guix.texi:5581 +#, no-wrap +msgid "Package Transformation Options" +msgstr "Options de transformation de paquets" + +#. type: menuentry +#: doc/guix.texi:188 doc/guix.texi:5436 +msgid "Creating variants of packages." +msgstr "Créer des variantes de paquets." + +#. type: subsection +#: doc/guix.texi:188 doc/guix.texi:5436 doc/guix.texi:5680 doc/guix.texi:5681 +#, no-wrap +msgid "Additional Build Options" +msgstr "Options de construction supplémentaires" + +#. type: menuentry +#: doc/guix.texi:188 doc/guix.texi:5436 +msgid "Options specific to 'guix build'." +msgstr "Options spécifiques à « guix build »." + +#. type: subsection +#: doc/guix.texi:188 doc/guix.texi:5436 doc/guix.texi:5884 doc/guix.texi:5885 +#, no-wrap +msgid "Debugging Build Failures" +msgstr "Débogage des échecs de construction" + +#. type: menuentry +#: doc/guix.texi:188 doc/guix.texi:5436 +msgid "Real life packaging experience." +msgstr "La vie d'un empaqueteur." + +#. type: section +#: doc/guix.texi:200 doc/guix.texi:202 doc/guix.texi:8049 doc/guix.texi:8054 doc/guix.texi:8055 +#, no-wrap +msgid "System Installation" +msgstr "Installation du système" + +#. type: menuentry +#: doc/guix.texi:200 doc/guix.texi:8049 +msgid "Installing the whole operating system." +msgstr "Installer le système d'exploitation complet." + +#. type: section +#: doc/guix.texi:200 doc/guix.texi:212 doc/guix.texi:8049 doc/guix.texi:8670 doc/guix.texi:8671 +#, no-wrap +msgid "System Configuration" +msgstr "Configuration système" + +#. type: menuentry +#: doc/guix.texi:200 doc/guix.texi:8049 +msgid "Configuring the operating system." +msgstr "Configurer le système d'exploitation." + +#. type: section +#: doc/guix.texi:200 doc/guix.texi:8049 doc/guix.texi:21289 doc/guix.texi:21290 +#, no-wrap +msgid "Documentation" +msgstr "Documentation" + +#. type: menuentry +#: doc/guix.texi:200 doc/guix.texi:8049 +msgid "Browsing software user manuals." +msgstr "Visualiser les manuels d'utilisateur des logiciels." + +#. type: section +#: doc/guix.texi:200 doc/guix.texi:8049 doc/guix.texi:21353 doc/guix.texi:21354 +#, no-wrap +msgid "Installing Debugging Files" +msgstr "Installer les fichiers de débogage" + +#. type: menuentry +#: doc/guix.texi:200 doc/guix.texi:8049 +msgid "Feeding the debugger." +msgstr "Nourrir le débogueur." + +#. type: section +#: doc/guix.texi:200 doc/guix.texi:8049 doc/guix.texi:21419 doc/guix.texi:21420 +#, no-wrap +msgid "Security Updates" +msgstr "Mises à jour de sécurité" + +#. type: menuentry +#: doc/guix.texi:200 doc/guix.texi:8049 +msgid "Deploying security fixes quickly." +msgstr "Déployer des correctifs de sécurité rapidement." + +#. type: section +#: doc/guix.texi:200 doc/guix.texi:8049 doc/guix.texi:21539 doc/guix.texi:21540 +#, no-wrap +msgid "Package Modules" +msgstr "Modules de paquets" + +#. type: menuentry +#: doc/guix.texi:200 doc/guix.texi:8049 +msgid "Packages from the programmer's viewpoint." +msgstr "Les paquets du point de vu du programmeur." + +#. type: section +#: doc/guix.texi:200 doc/guix.texi:265 doc/guix.texi:8049 doc/guix.texi:21593 doc/guix.texi:21594 +#, no-wrap +msgid "Packaging Guidelines" +msgstr "Consignes d'empaquetage" + +#. type: menuentry +#: doc/guix.texi:200 doc/guix.texi:8049 +msgid "Growing the distribution." +msgstr "Faire grandir la distribution." + +#. type: section +#: doc/guix.texi:200 doc/guix.texi:8049 doc/guix.texi:22044 doc/guix.texi:22045 +#, no-wrap +msgid "Bootstrapping" +msgstr "Bootstrapping" + +#. type: menuentry +#: doc/guix.texi:200 doc/guix.texi:8049 +msgid "GNU/Linux built from scratch." +msgstr "GNU/Linux depuis zéro." + +#. type: node +#: doc/guix.texi:200 doc/guix.texi:8049 doc/guix.texi:22228 +#, no-wrap +msgid "Porting" +msgstr "Porter" + +#. type: menuentry +#: doc/guix.texi:200 doc/guix.texi:8049 +msgid "Targeting another platform or kernel." +msgstr "Cibler une autre plateforme ou un autre noyau." + +#. type: subsection +#: doc/guix.texi:210 doc/guix.texi:1126 doc/guix.texi:8086 doc/guix.texi:8088 doc/guix.texi:8089 +#, no-wrap +msgid "Limitations" +msgstr "Limitations" + +#. type: menuentry +#: doc/guix.texi:210 doc/guix.texi:8086 +msgid "What you can expect." +msgstr "Ce à quoi vous attendre." + +#. type: subsection +#: doc/guix.texi:210 doc/guix.texi:8086 doc/guix.texi:8132 doc/guix.texi:8133 +#, no-wrap +msgid "Hardware Considerations" +msgstr "Considérations matérielles" + +#. type: menuentry +#: doc/guix.texi:210 doc/guix.texi:8086 +msgid "Supported hardware." +msgstr "Matériel supporté." + +#. type: subsection +#: doc/guix.texi:210 doc/guix.texi:8086 doc/guix.texi:8167 doc/guix.texi:8168 +#, no-wrap +msgid "USB Stick and DVD Installation" +msgstr "Installation depuis une clef USB ou un DVD" + +#. type: menuentry +#: doc/guix.texi:210 doc/guix.texi:8086 +msgid "Preparing the installation medium." +msgstr "Préparer le média d'installation." + +#. type: subsection +#: doc/guix.texi:210 doc/guix.texi:8086 doc/guix.texi:8265 doc/guix.texi:8266 +#, no-wrap +msgid "Preparing for Installation" +msgstr "Préparer l'installation" + +#. type: menuentry +#: doc/guix.texi:210 doc/guix.texi:8086 +msgid "Networking, partitioning, etc." +msgstr "Réseau, partitionnement, etc." + +#. type: subsection +#: doc/guix.texi:210 doc/guix.texi:8086 doc/guix.texi:8504 doc/guix.texi:8505 +#, no-wrap +msgid "Proceeding with the Installation" +msgstr "Effectuer l'installation" + +#. type: menuentry +#: doc/guix.texi:210 doc/guix.texi:8086 +msgid "The real thing." +msgstr "Pour de vrai." + +#. type: node +#: doc/guix.texi:210 doc/guix.texi:8086 doc/guix.texi:8601 +#, no-wrap +msgid "Installing GuixSD in a VM" +msgstr "Installer GuixSD dans une VM" + +#. type: menuentry +#: doc/guix.texi:210 doc/guix.texi:8086 +msgid "GuixSD playground." +msgstr "Jouer avec GuixSD." + +#. type: subsection +#: doc/guix.texi:210 doc/guix.texi:8086 doc/guix.texi:8655 doc/guix.texi:8656 +#, no-wrap +msgid "Building the Installation Image" +msgstr "Construire l'image d'installation" + +#. type: menuentry +#: doc/guix.texi:210 doc/guix.texi:8086 +msgid "How this comes to be." +msgstr "D'où vient tout cela." + +#. type: subsection +#: doc/guix.texi:228 doc/guix.texi:8711 doc/guix.texi:8713 doc/guix.texi:8714 +#, no-wrap +msgid "Using the Configuration System" +msgstr "Utiliser le système de configuration" + +#. type: menuentry +#: doc/guix.texi:228 doc/guix.texi:8711 +msgid "Customizing your GNU system." +msgstr "Personnaliser votre système GNU." + +#. type: node +#: doc/guix.texi:228 doc/guix.texi:8711 doc/guix.texi:8929 +#, no-wrap +msgid "operating-system Reference" +msgstr "Référence de système d'exploitation" + +#. type: menuentry +#: doc/guix.texi:228 doc/guix.texi:8711 +msgid "Detail of operating-system declarations." +msgstr "Détail sur la déclaration de système d'exploitation." + +#. type: subsection +#: doc/guix.texi:228 doc/guix.texi:8711 doc/guix.texi:9083 doc/guix.texi:9084 +#, no-wrap +msgid "File Systems" +msgstr "Systèmes de fichiers" + +#. type: menuentry +#: doc/guix.texi:228 doc/guix.texi:8711 +msgid "Configuring file system mounts." +msgstr "Configurer les montages de systèmes de fichiers." + +#. type: subsection +#: doc/guix.texi:228 doc/guix.texi:8711 doc/guix.texi:9246 doc/guix.texi:9247 +#, no-wrap +msgid "Mapped Devices" +msgstr "Périphériques mappés" + +#. type: menuentry +#: doc/guix.texi:228 doc/guix.texi:8711 +msgid "Block device extra processing." +msgstr "Gestion des périphériques de bloc." + +#. type: subsection +#: doc/guix.texi:228 doc/guix.texi:8711 doc/guix.texi:9367 doc/guix.texi:9368 +#, no-wrap +msgid "User Accounts" +msgstr "Comptes utilisateurs" + +#. type: menuentry +#: doc/guix.texi:228 doc/guix.texi:8711 +msgid "Specifying user accounts." +msgstr "Spécifier des comptes utilisateurs." + +#. type: subsection +#: doc/guix.texi:228 doc/guix.texi:1449 doc/guix.texi:8711 doc/guix.texi:9502 doc/guix.texi:9503 +#, no-wrap +msgid "Locales" +msgstr "Régionalisation" + +#. type: menuentry +#: doc/guix.texi:228 doc/guix.texi:8711 +msgid "Language and cultural convention settings." +msgstr "Paramétrer la langue et les conventions culturelles." + +#. type: subsection +#: doc/guix.texi:228 doc/guix.texi:230 doc/guix.texi:8711 doc/guix.texi:9642 doc/guix.texi:9643 +#, no-wrap +msgid "Services" +msgstr "Services" + +#. type: menuentry +#: doc/guix.texi:228 doc/guix.texi:8711 +msgid "Specifying system services." +msgstr "Spécifier les services du système." + +#. type: subsection +#: doc/guix.texi:228 doc/guix.texi:8711 doc/guix.texi:19658 doc/guix.texi:19659 +#, no-wrap +msgid "Setuid Programs" +msgstr "Programmes setuid" + +#. type: menuentry +#: doc/guix.texi:228 doc/guix.texi:8711 +msgid "Programs running with root privileges." +msgstr "Programmes tournant avec les privilèges root." + +#. type: subsection +#: doc/guix.texi:228 doc/guix.texi:1594 doc/guix.texi:8711 doc/guix.texi:19704 doc/guix.texi:19705 +#, no-wrap +msgid "X.509 Certificates" +msgstr "Certificats X.509" + +#. type: menuentry +#: doc/guix.texi:228 doc/guix.texi:8711 +msgid "Authenticating HTTPS servers." +msgstr "Authentifier les serveurs HTTPS." + +#. type: subsection +#: doc/guix.texi:228 doc/guix.texi:1492 doc/guix.texi:8711 doc/guix.texi:19767 doc/guix.texi:19768 +#, no-wrap +msgid "Name Service Switch" +msgstr "Name Service Switch" + +#. type: menuentry +#: doc/guix.texi:228 doc/guix.texi:8711 +msgid "Configuring libc's name service switch." +msgstr "Configurer le « name service switch » de la libc." + +#. type: subsection +#: doc/guix.texi:228 doc/guix.texi:8711 doc/guix.texi:19905 doc/guix.texi:19906 +#, no-wrap +msgid "Initial RAM Disk" +msgstr "Disque de RAM initial" + +#. type: menuentry +#: doc/guix.texi:228 doc/guix.texi:8711 +msgid "Linux-Libre bootstrapping." +msgstr "Démarrage de Linux-Libre." + +#. type: subsection +#: doc/guix.texi:228 doc/guix.texi:8711 doc/guix.texi:20065 doc/guix.texi:20066 +#, no-wrap +msgid "Bootloader Configuration" +msgstr "Configuration du chargeur d'amorçage" + +#. type: menuentry +#: doc/guix.texi:228 doc/guix.texi:8711 +msgid "Configuring the boot loader." +msgstr "Configurer le chargeur d'amorçage." + +#. type: node +#: doc/guix.texi:228 doc/guix.texi:8711 doc/guix.texi:20236 +#, no-wrap +msgid "Invoking guix system" +msgstr "Invoquer guix system" + +#. type: menuentry +#: doc/guix.texi:228 doc/guix.texi:8711 +msgid "Instantiating a system configuration." +msgstr "Instantier une configuration du système." + +#. type: node +#: doc/guix.texi:228 doc/guix.texi:8711 doc/guix.texi:20661 +#, no-wrap +msgid "Running GuixSD in a VM" +msgstr "Lancer GuixSD dans une VM" + +#. type: menuentry +#: doc/guix.texi:228 doc/guix.texi:8711 +msgid "How to run GuixSD in a virtual machine." +msgstr "Comment lancer GuixSD dans une machine virtuelle." + +#. type: subsection +#: doc/guix.texi:228 doc/guix.texi:258 doc/guix.texi:8711 doc/guix.texi:20772 doc/guix.texi:20773 +#, no-wrap +msgid "Defining Services" +msgstr "Définir des services" + +#. type: menuentry +#: doc/guix.texi:228 doc/guix.texi:8711 +msgid "Adding new service definitions." +msgstr "Ajouter de nouvelles définitions de services." + +#. type: subsubsection +#: doc/guix.texi:256 doc/guix.texi:9714 doc/guix.texi:9716 doc/guix.texi:9717 +#, no-wrap +msgid "Base Services" +msgstr "Services de base" + +#. type: menuentry +#: doc/guix.texi:256 doc/guix.texi:9714 +msgid "Essential system services." +msgstr "Services systèmes essentiels." + +#. type: subsubsection +#: doc/guix.texi:256 doc/guix.texi:9714 doc/guix.texi:10484 doc/guix.texi:10485 +#, no-wrap +msgid "Scheduled Job Execution" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:256 doc/guix.texi:9714 +msgid "The mcron service." +msgstr "" + +#. type: subsubsection +#: doc/guix.texi:256 doc/guix.texi:9714 doc/guix.texi:10579 doc/guix.texi:10580 +#, no-wrap +msgid "Log Rotation" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:256 doc/guix.texi:9714 +msgid "The rottlog service." +msgstr "" + +#. type: subsubsection +#: doc/guix.texi:256 doc/guix.texi:9714 doc/guix.texi:10681 doc/guix.texi:10682 +#, no-wrap +msgid "Networking Services" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:256 doc/guix.texi:9714 +msgid "Network setup, SSH daemon, etc." +msgstr "" + +#. type: subsubsection +#: doc/guix.texi:256 doc/guix.texi:9714 doc/guix.texi:11382 doc/guix.texi:11383 +#, no-wrap +msgid "X Window" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:256 doc/guix.texi:9714 +msgid "Graphical display." +msgstr "" + +#. type: subsubsection +#: doc/guix.texi:256 doc/guix.texi:9714 doc/guix.texi:11628 doc/guix.texi:11629 +#, no-wrap +msgid "Printing Services" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:256 doc/guix.texi:9714 +msgid "Local and remote printer support." +msgstr "" + +#. type: subsubsection +#: doc/guix.texi:256 doc/guix.texi:9714 doc/guix.texi:12465 doc/guix.texi:12466 +#, no-wrap +msgid "Desktop Services" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:256 doc/guix.texi:9714 +msgid "D-Bus and desktop services." +msgstr "" + +#. type: subsubsection +#: doc/guix.texi:256 doc/guix.texi:9714 doc/guix.texi:12758 doc/guix.texi:12759 +#, no-wrap +msgid "Database Services" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:256 doc/guix.texi:9714 +msgid "SQL databases, key-value stores, etc." +msgstr "" + +#. type: subsubsection +#: doc/guix.texi:256 doc/guix.texi:9714 doc/guix.texi:12882 doc/guix.texi:12883 +#, no-wrap +msgid "Mail Services" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:256 doc/guix.texi:9714 +msgid "IMAP, POP3, SMTP, and all that." +msgstr "" + +#. type: subsubsection +#: doc/guix.texi:256 doc/guix.texi:9714 doc/guix.texi:14334 doc/guix.texi:14335 +#, no-wrap +msgid "Messaging Services" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:256 doc/guix.texi:9714 +msgid "Messaging services." +msgstr "" + +#. type: subsubsection +#: doc/guix.texi:256 doc/guix.texi:9714 doc/guix.texi:14802 doc/guix.texi:14803 +#, no-wrap +msgid "Telephony Services" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:256 doc/guix.texi:9714 +msgid "Telephony services." +msgstr "" + +#. type: subsubsection +#: doc/guix.texi:256 doc/guix.texi:9714 doc/guix.texi:15007 doc/guix.texi:15008 +#, no-wrap +msgid "Monitoring Services" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:256 doc/guix.texi:9714 +msgid "Monitoring services." +msgstr "" + +#. type: subsubsection +#: doc/guix.texi:256 doc/guix.texi:9714 doc/guix.texi:15160 doc/guix.texi:15161 +#, no-wrap +msgid "Kerberos Services" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:256 doc/guix.texi:9714 +msgid "Kerberos services." +msgstr "" + +#. type: subsubsection +#: doc/guix.texi:256 doc/guix.texi:9714 doc/guix.texi:15286 doc/guix.texi:15287 +#, no-wrap +msgid "Web Services" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:256 doc/guix.texi:9714 +msgid "Web servers." +msgstr "" + +#. type: subsubsection +#: doc/guix.texi:256 doc/guix.texi:9714 doc/guix.texi:15895 doc/guix.texi:15896 +#, no-wrap +msgid "Certificate Services" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:256 doc/guix.texi:9714 +msgid "TLS certificates via Let's Encrypt." +msgstr "" + +#. type: subsubsection +#: doc/guix.texi:256 doc/guix.texi:9714 doc/guix.texi:16041 doc/guix.texi:16042 +#, no-wrap +msgid "DNS Services" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:256 doc/guix.texi:9714 +msgid "DNS daemons." +msgstr "" + +#. type: subsubsection +#: doc/guix.texi:256 doc/guix.texi:9714 doc/guix.texi:16445 doc/guix.texi:16446 +#, no-wrap +msgid "VPN Services" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:256 doc/guix.texi:9714 +msgid "VPN daemons." +msgstr "" + +#. type: subsubsection +#: doc/guix.texi:256 doc/guix.texi:9714 doc/guix.texi:16803 doc/guix.texi:16804 +#, no-wrap +msgid "Network File System" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:256 doc/guix.texi:9714 +msgid "NFS related services." +msgstr "" + +#. type: subsubsection +#: doc/guix.texi:256 doc/guix.texi:9714 doc/guix.texi:16918 doc/guix.texi:16919 +#, no-wrap +msgid "Continuous Integration" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:256 doc/guix.texi:9714 +msgid "The Cuirass service." +msgstr "" + +#. type: subsubsection +#: doc/guix.texi:256 doc/guix.texi:9714 doc/guix.texi:17014 doc/guix.texi:17015 +#, no-wrap +msgid "Power management Services" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:256 doc/guix.texi:9714 +msgid "The TLP tool." +msgstr "" + +#. type: subsubsection +#: doc/guix.texi:256 doc/guix.texi:9714 doc/guix.texi:17542 doc/guix.texi:17543 +#, no-wrap +msgid "Audio Services" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:256 doc/guix.texi:9714 +msgid "The MPD." +msgstr "" + +#. type: node +#: doc/guix.texi:256 doc/guix.texi:9714 doc/guix.texi:17592 +#, no-wrap +msgid "Virtualization Services" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:256 doc/guix.texi:9714 +msgid "Virtualization services." +msgstr "" + +#. type: subsubsection +#: doc/guix.texi:256 doc/guix.texi:9714 doc/guix.texi:18385 doc/guix.texi:18386 +#, no-wrap +msgid "Version Control Services" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:256 doc/guix.texi:9714 +msgid "Providing remote access to Git repositories." +msgstr "" + +#. type: subsubsection +#: doc/guix.texi:256 doc/guix.texi:9714 doc/guix.texi:19466 doc/guix.texi:19467 +#, no-wrap +msgid "Game Services" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:256 doc/guix.texi:9714 +msgid "Game servers." +msgstr "" + +#. type: subsubsection +#: doc/guix.texi:256 doc/guix.texi:9714 doc/guix.texi:19497 doc/guix.texi:19498 +#, no-wrap +msgid "Miscellaneous Services" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:256 doc/guix.texi:9714 +msgid "Other services." +msgstr "" + +#. type: subsubsection +#: doc/guix.texi:263 doc/guix.texi:20784 doc/guix.texi:20786 doc/guix.texi:20787 +#, no-wrap +msgid "Service Composition" +msgstr "Composition de services" + +#. type: menuentry +#: doc/guix.texi:263 doc/guix.texi:20784 +msgid "The model for composing services." +msgstr "Le modèle de composition des services." + +#. type: subsubsection +#: doc/guix.texi:263 doc/guix.texi:20784 doc/guix.texi:20842 doc/guix.texi:20843 +#, no-wrap +msgid "Service Types and Services" +msgstr "Types service et services" + +#. type: menuentry +#: doc/guix.texi:263 doc/guix.texi:20784 +msgid "Types and services." +msgstr "Types et services." + +#. type: subsubsection +#: doc/guix.texi:263 doc/guix.texi:20784 doc/guix.texi:20979 doc/guix.texi:20980 +#, no-wrap +msgid "Service Reference" +msgstr "Référence de service" + +#. type: menuentry +#: doc/guix.texi:263 doc/guix.texi:20784 +msgid "API reference." +msgstr "Référence de l'API." + +#. type: subsubsection +#: doc/guix.texi:263 doc/guix.texi:20784 doc/guix.texi:21204 doc/guix.texi:21205 +#, no-wrap +msgid "Shepherd Services" +msgstr "Services Shepherd" + +#. type: menuentry +#: doc/guix.texi:263 doc/guix.texi:20784 +msgid "A particular type of service." +msgstr "Un type de service particulier." + +#. type: subsection +#: doc/guix.texi:274 doc/guix.texi:21668 doc/guix.texi:21670 doc/guix.texi:21671 +#, no-wrap +msgid "Software Freedom" +msgstr "Liberté logiciel" + +#. type: menuentry +#: doc/guix.texi:274 doc/guix.texi:21668 +msgid "What may go into the distribution." +msgstr "Ce que la distribution peut contenir." + +#. type: subsection +#: doc/guix.texi:274 doc/guix.texi:21668 doc/guix.texi:21698 doc/guix.texi:21699 +#, no-wrap +msgid "Package Naming" +msgstr "Conventions de nommage" + +#. type: menuentry +#: doc/guix.texi:274 doc/guix.texi:21668 +msgid "What's in a name?" +msgstr "Qu'est-ce qu'un bon nom ?" + +#. type: subsection +#: doc/guix.texi:274 doc/guix.texi:21668 doc/guix.texi:21723 doc/guix.texi:21724 +#, no-wrap +msgid "Version Numbers" +msgstr "Numéros de version" + +#. type: menuentry +#: doc/guix.texi:274 doc/guix.texi:21668 +msgid "When the name is not enough." +msgstr "Lorsque le nom n'est pas suffisant." + +#. type: subsection +#: doc/guix.texi:274 doc/guix.texi:21668 doc/guix.texi:21814 doc/guix.texi:21815 +#, no-wrap +msgid "Synopses and Descriptions" +msgstr "Synopsis et descriptions" + +#. type: menuentry +#: doc/guix.texi:274 doc/guix.texi:21668 +msgid "Helping users find the right package." +msgstr "Aider les utilisateurs à trouver le bon paquet." + +#. type: subsection +#: doc/guix.texi:274 doc/guix.texi:21668 doc/guix.texi:21894 doc/guix.texi:21895 +#, no-wrap +msgid "Python Modules" +msgstr "Modules python" + +#. type: menuentry +#: doc/guix.texi:274 doc/guix.texi:21668 +msgid "A touch of British comedy." +msgstr "Un peu de comédie anglaise." + +#. type: subsection +#: doc/guix.texi:274 doc/guix.texi:21668 doc/guix.texi:21969 doc/guix.texi:21970 +#, no-wrap +msgid "Perl Modules" +msgstr "Modules perl" + +#. type: menuentry +#: doc/guix.texi:274 doc/guix.texi:21668 +msgid "Little pearls." +msgstr "Petites perles." + +#. type: subsection +#: doc/guix.texi:274 doc/guix.texi:21668 doc/guix.texi:21985 doc/guix.texi:21986 +#, no-wrap +msgid "Java Packages" +msgstr "Paquets java" + +#. type: menuentry +#: doc/guix.texi:274 doc/guix.texi:21668 +msgid "Coffee break." +msgstr "Pause café." + +#. type: subsection +#: doc/guix.texi:274 doc/guix.texi:21668 doc/guix.texi:22005 doc/guix.texi:22006 +#, no-wrap +msgid "Fonts" +msgstr "Polices de caractères" + +#. type: menuentry +#: doc/guix.texi:274 doc/guix.texi:21668 +msgid "Fond of fonts." +msgstr "" + +#. type: menuentry +#: doc/guix.texi:282 +msgid "Building from Git" +msgstr "Construire depuis Git" + +#. type: menuentry +#: doc/guix.texi:282 +msgid "The latest and greatest." +msgstr "" + +#. type: menuentry +#: doc/guix.texi:282 +msgid "Running Guix Before It Is Installed" +msgstr "Lancer Guix avant qu'il ne soit installé" + +#. type: menuentry +#: doc/guix.texi:282 +msgid "Hacker tricks." +msgstr "Astuces pour les hackers." + +#. type: menuentry +#: doc/guix.texi:282 +msgid "The Perfect Setup" +msgstr "La configuration parfaite" + +#. type: menuentry +#: doc/guix.texi:282 +msgid "The right tools." +msgstr "Les bons outils." + +#. type: menuentry +#: doc/guix.texi:282 doc/guix.texi:284 +msgid "Coding Style" +msgstr "Style de code" + +#. type: menuentry +#: doc/guix.texi:282 +msgid "Hygiene of the contributor." +msgstr "Hygiène du contributeur." + +#. type: menuentry +#: doc/guix.texi:282 +msgid "Submitting Patches" +msgstr "Envoyer des correctifs" + +#. type: menuentry +#: doc/guix.texi:282 +msgid "Share your work." +msgstr "Partager votre travail." + +#. type: menuentry +#: doc/guix.texi:289 +msgid "Programming Paradigm" +msgstr "Paradigme de programmation" + +#. type: menuentry +#: doc/guix.texi:289 +msgid "How to compose your elements." +msgstr "Comment composer vos éléments." + +#. type: menuentry +#: doc/guix.texi:289 +msgid "Modules" +msgstr "Modules" + +#. type: menuentry +#: doc/guix.texi:289 +msgid "Where to store your code?" +msgstr "Où stocker votre code ?" + +#. type: menuentry +#: doc/guix.texi:289 +msgid "Data Types and Pattern Matching" +msgstr "Types de données et reconnaissance de motif" + +#. type: menuentry +#: doc/guix.texi:289 +msgid "Implementing data structures." +msgstr "Implémenter des structures de données." + +#. type: menuentry +#: doc/guix.texi:289 +msgid "Formatting Code" +msgstr "Formatage du code" + +#. type: menuentry +#: doc/guix.texi:289 +msgid "Writing conventions." +msgstr "Conventions d'écriture." + +#. type: cindex +#: doc/guix.texi:297 +#, no-wrap +msgid "purpose" +msgstr "but" + +#. type: Plain text +#: doc/guix.texi:304 +msgid "" +"GNU Guix@footnote{``Guix'' is pronounced like ``geeks'', or ``ɡiːks'' using the international phonetic alphabet (IPA).} is a package " +"management tool for the GNU system. Guix makes it easy for unprivileged users to install, upgrade, or remove packages, to roll back " +"to a previous package set, to build packages from source, and generally assists with the creation and maintenance of software " +"environments." +msgstr "" +"GNU Guix@footnote{« Guix » se prononce comme « geeks » (en prononçant le « s »), ou « ɡiːks » dans l'alphabet phonétique " +"international (API).} est un outil de gestion de paquets pour le système GNU. Guix facilite pour les utilisateurs non privilégiés " +"l'installation, la mise à jour et la suppression de paquets, la restauration à un ensemble de paquets précédent, la construction de " +"paquets depuis les sources et plus généralement aide à la création et à la maintenance d'environnements logiciels." + +#. type: cindex +#: doc/guix.texi:305 +#, no-wrap +msgid "user interfaces" +msgstr "interfaces utilisateurs" + +#. type: Plain text +#: doc/guix.texi:310 +msgid "" +"Guix provides a command-line package management interface (@pxref{Invoking guix package}), a set of command-line utilities " +"(@pxref{Utilities}), as well as Scheme programming interfaces (@pxref{Programming Interface})." +msgstr "" +"Guix fournit une interface de gestion des paquets par la ligne de commande (@pxref{Invoquer guix package}), un ensemble " +"d'utilitaires en ligne de commande (@pxref{Utilitaires}) ainsi que des interfaces de programmation Scheme (@pxref{Interface de " +"programmation})." + +#. type: cindex +#: doc/guix.texi:310 +#, no-wrap +msgid "build daemon" +msgstr "démon de construction" + +#. type: Plain text +#: doc/guix.texi:314 +msgid "" +"Its @dfn{build daemon} is responsible for building packages on behalf of users (@pxref{Setting Up the Daemon}) and for downloading " +"pre-built binaries from authorized sources (@pxref{Substitutes})." +msgstr "" +"Son @dfn{démon de construction} est responsable de la construction des paquets pour les utilisateurs (@pxref{Paramétrer le démon}) " +"et du téléchargement des binaires pré-construits depuis les sources autorisées (@pxref{Substituts})." + +#. type: cindex +#: doc/guix.texi:315 +#, no-wrap +msgid "extensibility of the distribution" +msgstr "extensibilité de la distribution" + +#. type: cindex +#: doc/guix.texi:316 doc/guix.texi:21561 +#, no-wrap +msgid "customization, of packages" +msgstr "personnalisation, des paquets" + +#. type: Plain text +#: doc/guix.texi:325 +msgid "" +"Guix includes package definitions for many GNU and non-GNU packages, all of which @uref{https://www.gnu.org/philosophy/free-sw.html, " +"respect the user's computing freedom}. It is @emph{extensible}: users can write their own package definitions (@pxref{Defining " +"Packages}) and make them available as independent package modules (@pxref{Package Modules}). It is also @emph{customizable}: users " +"can @emph{derive} specialized package definitions from existing ones, including from the command line (@pxref{Package Transformation " +"Options})." +msgstr "" +"Guix contient de nombreuses définitions de paquet GNU et non-GNU qui respectent tous les @uref{https://www.gnu.org/philosophy/free-" +"sw.fr.html, libertés de l'utilisateur}. Il est @emph{extensible} : les utilisateurs peuvent écrire leurs propres définitions de " +"paquets (@pxref{Defining Packages}) et les rendre disponibles dans des modules de paquets indépendants (@pxref{Package Modules}). Il " +"est aussi @emph{personnalisable} : les utilisateurs peuvent @emph{dériver} des définitions de paquets spécialisées à partir de " +"définitions existantes, même depuis la ligne de commande (@pxref{Package Transformation Options})." + +#. type: cindex +#: doc/guix.texi:326 doc/guix.texi:7980 doc/guix.texi:8058 +#, no-wrap +msgid "Guix System Distribution" +msgstr "Distribution Système Guix" + +#. type: cindex +#: doc/guix.texi:327 doc/guix.texi:7981 +#, no-wrap +msgid "GuixSD" +msgstr "GuixSD" + +#. type: Plain text +#: doc/guix.texi:336 +msgid "" +"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})." +msgstr "" +"Vous pouvez installer GNU@tie{}Guix sur un système GNU/Linux existant pour compléter les outils disponibles sans interférence " +"(@pxref{Installation}) ou vous pouvez l'utiliser à travers la @dfn{Distribution Système Guix} ou GuixSD (@pxref{Distribution GNU}) " +"distincte. Avec GNU@tie{}GuixSD, vous @emph{déclarez} tous les aspects de la configuration du système d'exploitation et Guix " +"s'occupe de créer la configuration d'une manière transactionnelle, reproductible et sans état (@pxref{Configuration système})." + +#. type: cindex +#: doc/guix.texi:337 +#, no-wrap +msgid "functional package management" +msgstr "gestion de paquet fonctionnelle" + +#. type: Plain text +#: doc/guix.texi:352 +msgid "" +"Under the hood, Guix implements the @dfn{functional package management} discipline pioneered by Nix (@pxref{Acknowledgments}). In " +"Guix, the package build and installation process is seen as a @emph{function}, in the mathematical sense. That function takes " +"inputs, such as build scripts, a compiler, and libraries, and returns an installed package. As a pure function, its result depends " +"solely on its inputs---for instance, it cannot refer to software or scripts that were not explicitly passed as inputs. A build " +"function always produces the same result when passed a given set of inputs. It cannot alter the environment of the running system " +"in any way; for instance, it cannot create, modify, or delete files outside of its build and installation directories. This is " +"achieved by running build processes in isolated environments (or @dfn{containers}), where only their explicit inputs are visible." +msgstr "" +"Sous le capot, Guix implémente la discipline de @dfn{gestion de paquet fonctionnel} inventé par Nix (@pxref{Remerciements}). Dans " +"Guix le processus de construction et d'installation des paquets est vu comme une @emph{fonction} dans le sens mathématique du terme. " +"Cette fonction a des entrées (comme des scripts de construction, un compilateur et des bibliothèques) et renvoie un paquet installé. " +"En tant que fonction pure, son résultat ne dépend que de ses entrées. Par exemple, il ne peut pas faire référence à des logiciels ou " +"des scripts qui n'ont pas été explicitement passés en entrée. Une fonction de construction produit toujours le même résultat quand " +"on lui donne le même ensemble d'entrée. Elle ne peut pas modifier l'environnement du système en cours d'exécution d'aucune manière ; " +"par exemple elle ne peut pas créer, modifier ou supprimer des fichiers en dehors de ses répertoires de construction et " +"d'installation. Ce résultat s'obtient en lançant les processus de construction dans des environnements isolés (ou des " +"@dfn{conteneurs}) où seules les entrées explicites sont visibles." + +#. type: cindex +#: doc/guix.texi:353 doc/guix.texi:4186 +#, no-wrap +msgid "store" +msgstr "dépôt" + +#. type: Plain text +#: doc/guix.texi:360 +msgid "" +"The result of package build functions is @dfn{cached} in the file system, in a special directory called @dfn{the store} (@pxref{The " +"Store}). Each package is installed in a directory of its own in the store---by default under @file{/gnu/store}. The directory name " +"contains a hash of all the inputs used to build that package; thus, changing an input yields a different directory name." +msgstr "" +"Le résultat des fonctions de construction de paquets est mis en @dfn{cache} dans le système de fichier, dans répertoire spécial " +"appelé le @dfn{dépôt} (@pxref{The Store}). Chaque paquet est installé dans son répertoire propre dans le dépôt — par défaut dans " +"@file{/gnu/store}. Le nom du répertoire contient un hash de toutes les entrées utilisées pour construire le paquet ; ainsi, changer " +"une entrée donnera un nom de répertoire différent." + +#. type: Plain text +#: doc/guix.texi:364 +msgid "" +"This approach is the foundation for the salient features of Guix: support for transactional package upgrade and rollback, per-user " +"installation, and garbage collection of packages (@pxref{Features})." +msgstr "" +"Cette approche est le fondement des fonctionnalités les plus importante de Guix : le support des mises à jour des paquets et des " +"retours en arrière transactionnels, l'installation différenciée par utilisateur et le ramassage de miettes pour les paquets " +"(@pxref{Fonctionnalités})." + +#. type: cindex +#: doc/guix.texi:370 +#, no-wrap +msgid "installing Guix" +msgstr "installer Guix" + +#. type: Plain text +#: doc/guix.texi:375 +msgid "" +"GNU Guix is available for download from its website at @url{http://www.gnu.org/software/guix/}. This section describes the software " +"requirements of Guix, as well as how to install it and get ready to use it." +msgstr "" +"GNU Guix est disponible au téléchargement depuis son site web sur @url{http://www.gnu.org/software/guix/}. Cette section décrit les " +"pré-requis logiciels de Guix ainsi que la manière de l'installer et de se préparer à l'utiliser." + +#. type: Plain text +#: doc/guix.texi:380 +msgid "" +"Note that this section is concerned with the installation of the package 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}." +msgstr "" +"Remarquez que cette section concerne l'installation du gestionnaire de paquet, ce qui se fait sur un système GNU/Linux en cours " +"d'exécution. Si vous souhaitez plutôt installer le système d'exploitation GNU complet, @pxref{System Installation}." + +#. type: cindex +#: doc/guix.texi:381 doc/guix.texi:1444 +#, no-wrap +msgid "foreign distro" +msgstr "distro extérieure" + +#. type: Plain text +#: doc/guix.texi:387 +msgid "" +"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." +msgstr "" +"Lorsqu'il est installé sur an système GNU/Linux existant — ci-après nommé @dfn{distro extérieure} — GNU@tie{}Guix complète les " +"outils disponibles sans interférence. Ses données se trouvent exclusivement dans deux répertoires, typiquement @file{/gnu/store} et " +"@file{/var/guix} ; les autres fichiers de votre système comme @file{/etc} sont laissés intacts." + +#. type: Plain text +#: doc/guix.texi:390 +msgid "Once installed, Guix can be updated by running @command{guix pull} (@pxref{Invoking guix pull})." +msgstr "Une fois installé, Guix peut être mis à jour en lançant @command{guix pull} (@pxref{Invoking guix pull})." + +#. type: cindex +#: doc/guix.texi:403 +#, no-wrap +msgid "installing Guix from binaries" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:409 +msgid "" +"This section describes how to install Guix on an arbitrary system from a self-contained tarball providing binaries for Guix and for " +"all its dependencies. This is often quicker than installing from source, which is described in the next sections. The only " +"requirement is to have GNU@tie{}tar and Xz." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:414 +msgid "" +"We provide a @uref{https://git.savannah.gnu.org/cgit/guix.git/plain/etc/guix-install.sh, shell installer script}, which automates " +"the download, installation, and initial configuration of Guix. It should be run as the root user." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:416 +msgid "Installing goes along these lines:" +msgstr "" + +#. type: cindex +#: doc/guix.texi:419 +#, no-wrap +msgid "downloading Guix binary" +msgstr "" + +#. type: enumerate +#: doc/guix.texi:424 +msgid "" +"Download the binary tarball from @indicateurl{ftp://alpha.gnu.org/gnu/guix/guix-binary-@value{VERSION}.@var{system}.tar.xz}, where " +"@var{system} is @code{x86_64-linux} for an @code{x86_64} machine already running the kernel Linux, and so on." +msgstr "" + +#. type: enumerate +#: doc/guix.texi:428 +msgid "" +"Make sure to download the associated @file{.sig} file and to verify the authenticity of the tarball against it, along these lines:" +msgstr "" + +#. type: example +#: doc/guix.texi:432 +#, no-wrap +msgid "" +"$ wget ftp://alpha.gnu.org/gnu/guix/guix-binary-@value{VERSION}.@var{system}.tar.xz.sig\n" +"$ gpg --verify guix-binary-@value{VERSION}.@var{system}.tar.xz.sig\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:436 doc/guix.texi:8194 +msgid "If that command fails because you do not have the required public key, then run this command to import it:" +msgstr "" + +#. type: example +#: doc/guix.texi:439 doc/guix.texi:8197 +#, no-wrap +msgid "$ gpg --keyserver pgp.mit.edu --recv-keys @value{OPENPGP-SIGNING-KEY-ID}\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:444 doc/guix.texi:8202 +msgid "and rerun the @code{gpg --verify} command." +msgstr "" + +#. type: enumerate +#: doc/guix.texi:448 +msgid "" +"Now, you need to become the @code{root} user. Depending on your distribution, you may have to run @code{su -} or @code{sudo -i}. " +"As @code{root}, run:" +msgstr "" + +#. type: example +#: doc/guix.texi:454 +#, no-wrap +msgid "" +"# cd /tmp\n" +"# tar --warning=no-timestamp -xf \\\n" +" guix-binary-@value{VERSION}.@var{system}.tar.xz\n" +"# mv var/guix /var/ && mv gnu /\n" +msgstr "" + +#. type: enumerate +#: doc/guix.texi:459 +msgid "" +"This creates @file{/gnu/store} (@pxref{The Store}) and @file{/var/guix}. The latter contains a ready-to-use profile for @code{root} " +"(see next step.)" +msgstr "" + +#. type: enumerate +#: doc/guix.texi:462 +msgid "Do @emph{not} unpack the tarball on a working Guix system since that would overwrite its own essential files." +msgstr "" + +#. type: enumerate +#: doc/guix.texi:472 +msgid "" +"The @code{--warning=no-timestamp} option makes sure GNU@tie{}tar does not emit warnings about ``implausibly old time stamps'' (such " +"warnings were triggered by GNU@tie{}tar 1.26 and older; recent versions are fine.) They stem from the fact that all the files in " +"the archive have their modification time set to zero (which means January 1st, 1970.) This is done on purpose to make sure the " +"archive content is independent of its creation time, thus making it reproducible." +msgstr "" + +#. type: enumerate +#: doc/guix.texi:475 +msgid "Make @code{root}'s profile available under @file{~root/.guix-profile}:" +msgstr "" + +#. type: example +#: doc/guix.texi:479 +#, no-wrap +msgid "" +"# ln -sf /var/guix/profiles/per-user/root/guix-profile \\\n" +" ~root/.guix-profile\n" +msgstr "" + +#. type: enumerate +#: doc/guix.texi:483 +msgid "Source @file{etc/profile} to augment @code{PATH} and other relevant environment variables:" +msgstr "" + +#. type: example +#: doc/guix.texi:487 +#, no-wrap +msgid "" +"# GUIX_PROFILE=\"`echo ~root`/.guix-profile\" ; \\\n" +" source $GUIX_PROFILE/etc/profile\n" +msgstr "" + +#. type: enumerate +#: doc/guix.texi:492 +msgid "Create the group and user accounts for build users as explained below (@pxref{Build Environment Setup})." +msgstr "" + +#. type: enumerate +#: doc/guix.texi:495 +msgid "Run the daemon, and set it to automatically start on boot." +msgstr "" + +#. type: enumerate +#: doc/guix.texi:498 +msgid "If your host distro uses the systemd init system, this can be achieved with these commands:" +msgstr "" + +#. type: example +#: doc/guix.texi:510 +#, no-wrap +msgid "" +"# cp ~root/.guix-profile/lib/systemd/system/guix-daemon.service \\\n" +" /etc/systemd/system/\n" +"# systemctl start guix-daemon && systemctl enable guix-daemon\n" +msgstr "" + +#. type: itemize +#: doc/guix.texi:513 doc/guix.texi:7631 +msgid "If your host distro uses the Upstart init system:" +msgstr "" + +#. type: example +#: doc/guix.texi:518 +#, no-wrap +msgid "" +"# initctl reload-configuration\n" +"# cp ~root/.guix-profile/lib/upstart/system/guix-daemon.conf /etc/init/\n" +"# start guix-daemon\n" +msgstr "" + +#. type: enumerate +#: doc/guix.texi:521 +msgid "Otherwise, you can still start the daemon manually with:" +msgstr "" + +#. type: example +#: doc/guix.texi:524 +#, no-wrap +msgid "# ~root/.guix-profile/bin/guix-daemon --build-users-group=guixbuild\n" +msgstr "" + +#. type: enumerate +#: doc/guix.texi:529 +msgid "Make the @command{guix} command available to other users on the machine, for instance with:" +msgstr "" + +#. type: example +#: doc/guix.texi:534 +#, no-wrap +msgid "" +"# mkdir -p /usr/local/bin\n" +"# cd /usr/local/bin\n" +"# ln -s /var/guix/profiles/per-user/root/guix-profile/bin/guix\n" +msgstr "" + +#. type: enumerate +#: doc/guix.texi:538 +msgid "It is also a good idea to make the Info version of this manual available there:" +msgstr "" + +#. type: example +#: doc/guix.texi:544 +#, no-wrap +msgid "" +"# mkdir -p /usr/local/share/info\n" +"# cd /usr/local/share/info\n" +"# for i in /var/guix/profiles/per-user/root/guix-profile/share/info/* ;\n" +" do ln -s $i ; done\n" +msgstr "" + +#. type: enumerate +#: doc/guix.texi:550 +msgid "" +"That way, assuming @file{/usr/local/share/info} is in the search path, running @command{info guix} will open this manual " +"(@pxref{Other Info Directories,,, texinfo, GNU Texinfo}, for more details on changing the Info search path.)" +msgstr "" + +#. type: cindex +#: doc/guix.texi:552 doc/guix.texi:2304 doc/guix.texi:10190 +#, no-wrap +msgid "substitutes, authorization thereof" +msgstr "" + +#. type: enumerate +#: doc/guix.texi:555 +msgid "To use substitutes from @code{hydra.gnu.org} or one of its mirrors (@pxref{Substitutes}), authorize them:" +msgstr "Pour utiliser les substituts de @code{hydra.gnu.org} ou l'un de ses mirroirs (@pxref{Substituts}), autorisez-les :" + +#. type: example +#: doc/guix.texi:558 +#, no-wrap +msgid "# guix archive --authorize < ~root/.guix-profile/share/guix/hydra.gnu.org.pub\n" +msgstr "" + +#. type: enumerate +#: doc/guix.texi:563 +msgid "Each user may need to perform a few additional steps to make their Guix environment ready for use, @pxref{Application Setup}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:566 +msgid "Voilà, the installation is complete!" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:569 +msgid "You can confirm that Guix is working by installing a sample package into the root profile:" +msgstr "" + +#. type: example +#: doc/guix.texi:572 +#, no-wrap +msgid "# guix package -i hello\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:579 +msgid "" +"The @code{guix} package must remain available in @code{root}'s profile, or it would become subject to garbage collection---in which " +"case you would find yourself badly handicapped by the lack of the @command{guix} command. In other words, do not remove @code{guix} " +"by running @code{guix package -r guix}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:582 +msgid "" +"The binary installation tarball can be (re)produced and verified simply by running the following command in the Guix source tree:" +msgstr "" + +#. type: example +#: doc/guix.texi:585 +#, no-wrap +msgid "make guix-binary.@var{system}.tar.xz\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:589 +msgid "... which, in turn, runs:" +msgstr "" + +#. type: example +#: doc/guix.texi:592 +#, no-wrap +msgid "guix pack -s @var{system} --localstatedir guix\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:595 +msgid "@xref{Invoking guix pack}, for more info on this handy tool." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:603 +msgid "" +"This section lists requirements when building Guix from source. The build procedure for Guix is the same as for other GNU software, " +"and is not covered here. Please see the files @file{README} and @file{INSTALL} in the Guix source tree for additional details." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:605 +msgid "GNU Guix depends on the following packages:" +msgstr "" + +#. type: item +#: doc/guix.texi:607 +#, no-wrap +msgid "@url{http://gnu.org/software/guile/, GNU Guile}, version 2.0.13 or" +msgstr "" + +#. type: itemize +#: doc/guix.texi:609 +msgid "later, including 2.2.x;" +msgstr "" + +#. type: item +#: doc/guix.texi:609 +#, no-wrap +msgid "@url{http://gnupg.org/, GNU libgcrypt};" +msgstr "" + +#. type: itemize +#: doc/guix.texi:614 +msgid "" +"@uref{http://gnutls.org/, GnuTLS}, specifically its Guile bindings (@pxref{Guile Preparations, how to install the GnuTLS bindings " +"for Guile,, gnutls-guile, GnuTLS-Guile});" +msgstr "" + +#. type: itemize +#: doc/guix.texi:618 +msgid "@uref{https://gitlab.com/guile-git/guile-git, Guile-Git}, from August 2017 or later;" +msgstr "" + +#. type: item +#: doc/guix.texi:618 +#, no-wrap +msgid "@url{http://zlib.net, zlib};" +msgstr "" + +#. type: item +#: doc/guix.texi:619 +#, no-wrap +msgid "@url{http://www.gnu.org/software/make/, GNU Make}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:623 +msgid "The following dependencies are optional:" +msgstr "" + +#. type: itemize +#: doc/guix.texi:631 +msgid "" +"Installing @url{http://savannah.nongnu.org/projects/guile-json/, Guile-JSON} will allow you to use the @command{guix import pypi} " +"command (@pxref{Invoking guix import}). It is of interest primarily for developers and not for casual users." +msgstr "" + +#. type: itemize +#: doc/guix.texi:638 +msgid "" +"Support for build offloading (@pxref{Daemon Offload Setup}) and @command{guix copy} (@pxref{Invoking guix copy}) depends on " +"@uref{https://github.com/artyom-poptsov/guile-ssh, Guile-SSH}, version 0.10.2 or later." +msgstr "" + +#. type: itemize +#: doc/guix.texi:642 +msgid "When @url{http://www.bzip.org, libbz2} is available, @command{guix-daemon} can use it to compress build logs." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:646 +msgid "Unless @code{--disable-daemon} was passed to @command{configure}, the following packages are also needed:" +msgstr "" + +#. type: item +#: doc/guix.texi:648 +#, no-wrap +msgid "@url{http://sqlite.org, SQLite 3};" +msgstr "" + +#. type: item +#: doc/guix.texi:649 +#, no-wrap +msgid "@url{http://gcc.gnu.org, GCC's g++}, with support for the" +msgstr "" + +#. type: itemize +#: doc/guix.texi:651 +msgid "C++11 standard." +msgstr "" + +#. type: cindex +#: doc/guix.texi:653 +#, no-wrap +msgid "state directory" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:661 +msgid "" +"When configuring Guix on a system that already has a Guix installation, be sure to specify the same state directory as the existing " +"installation using the @code{--localstatedir} option of the @command{configure} script (@pxref{Directory Variables, " +"@code{localstatedir},, standards, GNU Coding Standards}). The @command{configure} script protects against unintended " +"misconfiguration of @var{localstatedir} so you do not inadvertently corrupt your store (@pxref{The Store})." +msgstr "" + +#. type: cindex +#: doc/guix.texi:662 +#, no-wrap +msgid "Nix, compatibility" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:667 +msgid "" +"When a working installation of @url{http://nixos.org/nix/, the Nix package manager} is available, you can instead configure Guix " +"with @code{--disable-daemon}. In that case, Nix replaces the three dependencies above." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:677 +msgid "" +"Guix is compatible with Nix, so it is possible to share the same store between both. To do so, you must pass @command{configure} " +"not only the same @code{--with-store-dir} value, but also the same @code{--localstatedir} value. The latter is essential because it " +"specifies where the database that stores metadata about the store is located, among other things. The default values for Nix are " +"@code{--with-store-dir=/nix/store} and @code{--localstatedir=/nix/var}. Note that @code{--disable-daemon} is not required if your " +"goal is to share the store with Nix." +msgstr "" + +#. type: cindex +#: doc/guix.texi:681 +#, no-wrap +msgid "test suite" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:687 +msgid "" +"After a successful @command{configure} and @code{make} run, it is a good idea to run the test suite. It can help catch issues with " +"the setup or environment, or bugs in Guix itself---and really, reporting test failures is a good way to help improve the software. " +"To run the test suite, type:" +msgstr "" + +#. type: example +#: doc/guix.texi:690 +#, no-wrap +msgid "make check\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:697 +msgid "" +"Test cases can run in parallel: you can use the @code{-j} option of GNU@tie{}make to speed things up. The first run may take a few " +"minutes on a recent machine; subsequent runs will be faster because the store that is created for test purposes will already have " +"various things in cache." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:700 +msgid "It is also possible to run a subset of the tests by defining the @code{TESTS} makefile variable as in this example:" +msgstr "" + +#. type: example +#: doc/guix.texi:703 +#, no-wrap +msgid "make check TESTS=\"tests/store.scm tests/cpio.scm\"\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:708 +msgid "" +"By default, tests results are displayed at a file level. In order to see the details of every individual test cases, it is possible " +"to define the @code{SCM_LOG_DRIVER_FLAGS} makefile variable as in this example:" +msgstr "" + +#. type: example +#: doc/guix.texi:711 +#, no-wrap +msgid "make check TESTS=\"tests/base64.scm\" SCM_LOG_DRIVER_FLAGS=\"--brief=no\"\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:717 +msgid "" +"Upon failure, please email @email{bug-guix@@gnu.org} and attach the @file{test-suite.log} file. Please specify the Guix version " +"being used as well as version numbers of the dependencies (@pxref{Requirements}) in your message." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:721 +msgid "" +"Guix also comes with a whole-system test suite that tests complete GuixSD operating system instances. It can only run on systems " +"where Guix is already installed, using:" +msgstr "" + +#. type: example +#: doc/guix.texi:724 +#, no-wrap +msgid "make check-system\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:728 +msgid "or, again, by defining @code{TESTS} to select a subset of tests to run:" +msgstr "" + +#. type: example +#: doc/guix.texi:731 +#, no-wrap +msgid "make check-system TESTS=\"basic mcron\"\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:739 +msgid "" +"These system tests are defined in the @code{(gnu tests @dots{})} modules. They work by running the operating systems under test " +"with lightweight instrumentation in a virtual machine (VM). They can be computationally intensive or rather cheap, depending on " +"whether substitutes are available for their dependencies (@pxref{Substitutes}). Some of them require a lot of storage space to hold " +"VM images." +msgstr "" +"Ces tests systèmes sont définis dans les modules @code{(gnu tests @dots{})}. Ils fonctionnent en lançant les systèmes d'exploitation " +"sous test avec une instrumentation légère dans une machine virtuelle (VM). Ils peuvent être intenses en terme de calculs ou plutôt " +"rapides en fonction de la disponibilité des substituts de leurs dépendances (@pxref{Substituts}). Certains requièrent beaucoup " +"d'espace disque pour contenir les images des VM." + +#. type: Plain text +#: doc/guix.texi:742 +msgid "Again in case of test failures, please send @email{bug-guix@@gnu.org} all the details." +msgstr "" + +#. type: cindex +#: doc/guix.texi:746 +#, no-wrap +msgid "daemon" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:754 +msgid "" +"Operations such as building a package or running the garbage collector are all performed by a specialized process, the @dfn{build " +"daemon}, on behalf of clients. Only the daemon may access the store and its associated database. Thus, any operation that " +"manipulates the store goes through the daemon. For instance, command-line tools such as @command{guix package} and @command{guix " +"build} communicate with the daemon (@i{via} remote procedure calls) to instruct it what to do." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:758 +msgid "" +"The following sections explain how to prepare the build daemon's environment. See also @ref{Substitutes}, for information on how to " +"allow the daemon to download pre-built binaries." +msgstr "" +"Les sections suivantes expliquent comment préparer l'environnement du démon de construction. Voir aussi @ref{Substituts} pour " +"apprendre comment permettre le téléchargement de binaires pré-construits." + +#. type: cindex +#: doc/guix.texi:768 doc/guix.texi:1193 +#, no-wrap +msgid "build environment" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:776 +msgid "" +"In a standard multi-user setup, Guix and its daemon---the @command{guix-daemon} program---are installed by the system administrator; " +"@file{/gnu/store} is owned by @code{root} and @command{guix-daemon} runs as @code{root}. Unprivileged users may use Guix tools to " +"build packages or otherwise access the store, and the daemon will do it on their behalf, ensuring that the store is kept in a " +"consistent state, and allowing built packages to be shared among users." +msgstr "" + +#. type: cindex +#: doc/guix.texi:777 +#, no-wrap +msgid "build users" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:788 +msgid "" +"When @command{guix-daemon} runs as @code{root}, you may not want package build processes themselves to run as @code{root} too, for " +"obvious security reasons. To avoid that, a special pool of @dfn{build users} should be created for use by build processes started " +"by the daemon. These build users need not have a shell and a home directory: they will just be used when the daemon drops " +"@code{root} privileges in build processes. Having several such users allows the daemon to launch distinct build processes under " +"separate UIDs, which guarantees that they do not interfere with each other---an essential feature since builds are regarded as pure " +"functions (@pxref{Introduction})." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:791 +msgid "On a GNU/Linux system, a build user pool may be created like this (using Bash syntax and the @code{shadow} commands):" +msgstr "" + +#. type: example +#: doc/guix.texi:803 +#, no-wrap +msgid "" +"# groupadd --system guixbuild\n" +"# for i in `seq -w 1 10`;\n" +" do\n" +" useradd -g guixbuild -G guixbuild \\\n" +" -d /var/empty -s `which nologin` \\\n" +" -c \"Guix build user $i\" --system \\\n" +" guixbuilder$i;\n" +" done\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:813 +msgid "" +"The number of build users determines how many build jobs may run in parallel, as specified by the @option{--max-jobs} option " +"(@pxref{Invoking guix-daemon, @option{--max-jobs}}). To use @command{guix system vm} and related commands, you may need to add the " +"build users to the @code{kvm} group so they can access @file{/dev/kvm}, using @code{-G guixbuild,kvm} instead of @code{-G guixbuild} " +"(@pxref{Invoking guix system})." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:822 +msgid "" +"The @code{guix-daemon} program may then be run as @code{root} with the following command@footnote{If your machine uses the systemd " +"init system, dropping the @file{@var{prefix}/lib/systemd/system/guix-daemon.service} file in @file{/etc/systemd/system} will ensure " +"that @command{guix-daemon} is automatically started. Similarly, if your machine uses the Upstart init system, drop the " +"@file{@var{prefix}/lib/upstart/system/guix-daemon.conf} file in @file{/etc/init}.}:" +msgstr "" + +#. type: example +#: doc/guix.texi:825 doc/guix.texi:1186 +#, no-wrap +msgid "# guix-daemon --build-users-group=guixbuild\n" +msgstr "" + +#. type: cindex +#: doc/guix.texi:827 doc/guix.texi:1191 +#, no-wrap +msgid "chroot" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:832 +msgid "" +"This way, the daemon starts build processes in a chroot, under one of the @code{guixbuilder} users. On GNU/Linux, by default, the " +"chroot environment contains nothing but:" +msgstr "" + +#. type: itemize +#: doc/guix.texi:840 +msgid "" +"a minimal @code{/dev} directory, created mostly independently from the host @code{/dev}@footnote{``Mostly'', because while the set " +"of files that appear in the chroot's @code{/dev} is fixed, most of these files can only be created if the host has them.};" +msgstr "" + +#. type: itemize +#: doc/guix.texi:844 +msgid "the @code{/proc} directory; it only shows the processes of the container since a separate PID name space is used;" +msgstr "" + +#. type: itemize +#: doc/guix.texi:848 +msgid "@file{/etc/passwd} with an entry for the current user and an entry for user @file{nobody};" +msgstr "" + +#. type: itemize +#: doc/guix.texi:851 +msgid "@file{/etc/group} with an entry for the user's group;" +msgstr "" + +#. type: itemize +#: doc/guix.texi:855 +msgid "@file{/etc/hosts} with an entry that maps @code{localhost} to @code{127.0.0.1};" +msgstr "" + +#. type: itemize +#: doc/guix.texi:858 +msgid "a writable @file{/tmp} directory." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:867 +msgid "" +"You can influence the directory where the daemon stores build trees @i{via} the @code{TMPDIR} environment variable. However, the " +"build tree within the chroot is always called @file{/tmp/guix-build-@var{name}.drv-0}, where @var{name} is the derivation name---e." +"g., @code{coreutils-8.24}. This way, the value of @code{TMPDIR} does not leak inside build environments, which avoids discrepancies " +"in cases where build processes capture the name of their build tree." +msgstr "" + +#. type: vindex +#: doc/guix.texi:868 doc/guix.texi:2411 +#, no-wrap +msgid "http_proxy" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:872 +msgid "" +"The daemon also honors the @code{http_proxy} environment variable for HTTP downloads it performs, be it for fixed-output derivations " +"(@pxref{Derivations}) or for substitutes (@pxref{Substitutes})." +msgstr "" +"Le démon tient aussi compte de la variable d'environnement @code{http_proxy} pour ses téléchargements HTTP, que ce soit pour les " +"dérivations à sortie fixes (@pxref{Derivations}) ou pour les substituts (@pxref{Substituts})." + +#. type: Plain text +#: doc/guix.texi:880 +msgid "" +"If you are installing Guix as an unprivileged user, it is still possible to run @command{guix-daemon} provided you pass @code{--" +"disable-chroot}. However, build processes will not be isolated from one another, and not from the rest of the system. Thus, build " +"processes may interfere with each other, and may access programs, libraries, and other files available on the system---making it " +"much harder to view them as @emph{pure} functions." +msgstr "" + +#. type: subsection +#: doc/guix.texi:883 +#, no-wrap +msgid "Using the Offload Facility" +msgstr "" + +#. type: cindex +#: doc/guix.texi:885 +#, no-wrap +msgid "offloading" +msgstr "" + +#. type: cindex +#: doc/guix.texi:886 doc/guix.texi:1247 +#, no-wrap +msgid "build hook" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:900 +msgid "" +"When desired, the build daemon can @dfn{offload} derivation builds to other machines running Guix, using the @code{offload} " +"@dfn{build hook}@footnote{This feature is available only when @uref{https://github.com/artyom-poptsov/guile-ssh, Guile-SSH} is " +"present.}. When that feature is enabled, a list of user-specified build machines is read from @file{/etc/guix/machines.scm}; every " +"time a build is requested, for instance via @code{guix build}, the daemon attempts to offload it to one of the machines that satisfy " +"the constraints of the derivation, in particular its system type---e.g., @file{x86_64-linux}. Missing prerequisites for the build " +"are copied over SSH to the target machine, which then proceeds with the build; upon success the output(s) of the build are copied " +"back to the initial machine." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:902 +msgid "The @file{/etc/guix/machines.scm} file typically looks like this:" +msgstr "" + +#. type: example +#: doc/guix.texi:910 +#, no-wrap +msgid "" +"(list (build-machine\n" +" (name \"eightysix.example.org\")\n" +" (system \"x86_64-linux\")\n" +" (host-key \"ssh-ed25519 AAAAC3Nza@dots{}\")\n" +" (user \"bob\")\n" +" (speed 2.)) ;incredibly fast!\n" +"\n" +msgstr "" + +#. type: example +#: doc/guix.texi:919 +#, no-wrap +msgid "" +" (build-machine\n" +" (name \"meeps.example.org\")\n" +" (system \"mips64el-linux\")\n" +" (host-key \"ssh-rsa AAAAB3Nza@dots{}\")\n" +" (user \"alice\")\n" +" (private-key\n" +" (string-append (getenv \"HOME\")\n" +" \"/.ssh/identity-for-guix\"))))\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:925 +msgid "" +"In the example above we specify a list of two build machines, one for the @code{x86_64} architecture and one for the @code{mips64el} " +"architecture." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:934 +msgid "" +"In fact, this file is---not surprisingly!---a Scheme file that is evaluated when the @code{offload} hook is started. Its return " +"value must be a list of @code{build-machine} objects. While this example shows a fixed list of build machines, one could imagine, " +"say, using DNS-SD to return a list of potential build machines discovered in the local network (@pxref{Introduction, Guile-Avahi,, " +"guile-avahi, Using Avahi in Guile Scheme Programs}). The @code{build-machine} data type is detailed below." +msgstr "" + +#. type: deftp +#: doc/guix.texi:935 +#, no-wrap +msgid "{Data Type} build-machine" +msgstr "" + +#. type: deftp +#: doc/guix.texi:938 +msgid "This data type represents build machines to which the daemon may offload builds. The important fields are:" +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:941 doc/guix.texi:3402 doc/guix.texi:9402 doc/guix.texi:9466 doc/guix.texi:9561 doc/guix.texi:10951 +#: doc/guix.texi:14988 doc/guix.texi:15221 doc/guix.texi:15354 doc/guix.texi:15628 doc/guix.texi:15669 doc/guix.texi:19601 +#: doc/guix.texi:19618 doc/guix.texi:19884 doc/guix.texi:21092 +#, no-wrap +msgid "name" +msgstr "" + +#. type: table +#: doc/guix.texi:943 +msgid "The host name of the remote machine." +msgstr "" + +#. type: item +#: doc/guix.texi:944 +#, no-wrap +msgid "system" +msgstr "" + +#. type: table +#: doc/guix.texi:946 +msgid "The system type of the remote machine---e.g., @code{\"x86_64-linux\"}." +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:947 doc/guix.texi:10961 +#, no-wrap +msgid "user" +msgstr "" + +#. type: table +#: doc/guix.texi:951 +msgid "" +"The user account to use when connecting to the remote machine over SSH. Note that the SSH key pair must @emph{not} be passphrase-" +"protected, to allow non-interactive logins." +msgstr "" + +#. type: item +#: doc/guix.texi:952 +#, no-wrap +msgid "host-key" +msgstr "" + +#. type: table +#: doc/guix.texi:956 +msgid "" +"This must be the machine's SSH @dfn{public host key} in OpenSSH format. This is used to authenticate the machine when we connect to " +"it. It is a long string that looks like this:" +msgstr "" + +#. type: example +#: doc/guix.texi:959 +#, no-wrap +msgid "ssh-ed25519 AAAAC3NzaC@dots{}mde+UhL hint@@example.org\n" +msgstr "" + +#. type: table +#: doc/guix.texi:964 +msgid "" +"If the machine is running the OpenSSH daemon, @command{sshd}, the host key can be found in a file such as @file{/etc/ssh/" +"ssh_host_ed25519_key.pub}." +msgstr "" + +#. type: table +#: doc/guix.texi:969 +msgid "" +"If the machine is running the SSH daemon of GNU@tie{}lsh, @command{lshd}, the host key is in @file{/etc/lsh/host-key.pub} or a " +"similar file. It can be converted to the OpenSSH format using @command{lsh-export-key} (@pxref{Converting keys,,, lsh, LSH Manual}):" +msgstr "" + +#. type: example +#: doc/guix.texi:973 +#, no-wrap +msgid "" +"$ lsh-export-key --openssh < /etc/lsh/host-key.pub \n" +"ssh-rsa AAAAB3NzaC1yc2EAAAAEOp8FoQAAAQEAs1eB46LV@dots{}\n" +msgstr "" + +#. type: deftp +#: doc/guix.texi:978 +msgid "A number of optional fields may be specified:" +msgstr "" + +#. type: item +#: doc/guix.texi:981 +#, no-wrap +msgid "@code{port} (default: @code{22})" +msgstr "" + +#. type: table +#: doc/guix.texi:983 +msgid "Port number of SSH server on the machine." +msgstr "" + +#. type: item +#: doc/guix.texi:984 +#, no-wrap +msgid "@code{private-key} (default: @file{~root/.ssh/id_rsa})" +msgstr "" + +#. type: table +#: doc/guix.texi:987 +msgid "The SSH private key file to use when connecting to the machine, in OpenSSH format." +msgstr "" + +#. type: table +#: doc/guix.texi:990 +msgid "Note that the default value is the private key @emph{of the root account}. Make sure it exists if you use the default." +msgstr "" + +#. type: item +#: doc/guix.texi:991 +#, no-wrap +msgid "@code{compression} (default: @code{\"zlib@@openssh.com,zlib\"})" +msgstr "" + +#. type: item +#: doc/guix.texi:992 doc/guix.texi:10418 +#, no-wrap +msgid "@code{compression-level} (default: @code{3})" +msgstr "" + +#. type: table +#: doc/guix.texi:994 +msgid "The SSH-level compression methods and compression level requested." +msgstr "" + +#. type: table +#: doc/guix.texi:997 +msgid "Note that offloading relies on SSH compression to reduce bandwidth usage when transferring files to and from build machines." +msgstr "" + +#. type: item +#: doc/guix.texi:998 +#, no-wrap +msgid "@code{daemon-socket} (default: @code{\"/var/guix/daemon-socket/socket\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:1001 +msgid "File name of the Unix-domain socket @command{guix-daemon} is listening to on that machine." +msgstr "" + +#. type: item +#: doc/guix.texi:1002 +#, no-wrap +msgid "@code{parallel-builds} (default: @code{1})" +msgstr "" + +#. type: table +#: doc/guix.texi:1004 +msgid "The number of builds that may run in parallel on the machine." +msgstr "" + +#. type: item +#: doc/guix.texi:1005 +#, no-wrap +msgid "@code{speed} (default: @code{1.0})" +msgstr "" + +#. type: table +#: doc/guix.texi:1008 +msgid "A ``relative speed factor''. The offload scheduler will tend to prefer machines with a higher speed factor." +msgstr "" + +#. type: item +#: doc/guix.texi:1009 +#, no-wrap +msgid "@code{features} (default: @code{'()})" +msgstr "" + +#. type: table +#: doc/guix.texi:1014 +msgid "" +"A list of strings denoting specific features supported by the machine. An example is @code{\"kvm\"} for machines that have the KVM " +"Linux modules and corresponding hardware support. Derivations can request features by name, and they will be scheduled on matching " +"build machines." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1022 +msgid "" +"The @code{guile} command must be in the search path on the build machines. In addition, the Guix modules must be in " +"@code{$GUILE_LOAD_PATH} on the build machine---you can check whether this is the case by running:" +msgstr "" + +#. type: example +#: doc/guix.texi:1025 +#, no-wrap +msgid "ssh build-machine guile -c \"'(use-modules (guix config))'\"\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1032 +msgid "" +"There is one last thing to do once @file{machines.scm} is in place. As explained above, when offloading, files are transferred back " +"and forth between the machine stores. For this to work, you first need to generate a key pair on each machine to allow the daemon " +"to export signed archives of files from the store (@pxref{Invoking guix archive}):" +msgstr "" + +#. type: example +#: doc/guix.texi:1035 +#, no-wrap +msgid "# guix archive --generate-key\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1040 +msgid "Each build machine must authorize the key of the master machine so that it accepts store items it receives from the master:" +msgstr "" + +#. type: example +#: doc/guix.texi:1043 +#, no-wrap +msgid "# guix archive --authorize < master-public-key.txt\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1047 +msgid "Likewise, the master machine must authorize the key of each build machine." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1053 +msgid "" +"All the fuss with keys is here to express pairwise mutual trust relations between the master and the build machines. Concretely, " +"when the master receives files from a build machine (and @i{vice versa}), its build daemon can make sure they are genuine, have not " +"been tampered with, and that they are signed by an authorized key." +msgstr "" + +#. type: cindex +#: doc/guix.texi:1054 +#, no-wrap +msgid "offload test" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1057 +msgid "To test whether your setup is operational, run this command on the master node:" +msgstr "" + +#. type: example +#: doc/guix.texi:1060 +#, no-wrap +msgid "# guix offload test\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1066 +msgid "" +"This will attempt to connect to each of the build machines specified in @file{/etc/guix/machines.scm}, make sure Guile and the Guix " +"modules are available on each machine, attempt to export to the machine and import from it, and report any error in the process." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1069 +msgid "If you want to test a different machine file, just specify it on the command line:" +msgstr "" + +#. type: example +#: doc/guix.texi:1072 +#, no-wrap +msgid "# guix offload test machines-qualif.scm\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1076 +msgid "Last, you can test the subset of the machines whose name matches a regular expression like this:" +msgstr "" + +#. type: example +#: doc/guix.texi:1079 +#, no-wrap +msgid "# guix offload test machines.scm '\\.gnu\\.org$'\n" +msgstr "" + +#. type: cindex +#: doc/guix.texi:1081 +#, no-wrap +msgid "offload status" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1084 +msgid "To display the current load of all build hosts, run this command on the main node:" +msgstr "" + +#. type: example +#: doc/guix.texi:1087 +#, no-wrap +msgid "# guix offload status\n" +msgstr "" + +#. type: cindex +#: doc/guix.texi:1093 +#, no-wrap +msgid "SELinux, daemon policy" +msgstr "" + +#. type: cindex +#: doc/guix.texi:1094 +#, no-wrap +msgid "mandatory access control, SELinux" +msgstr "" + +#. type: cindex +#: doc/guix.texi:1095 +#, no-wrap +msgid "security, guix-daemon" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1101 +msgid "" +"Guix includes an SELinux policy file at @file{etc/guix-daemon.cil} that can be installed on a system where SELinux is enabled, in " +"order to label Guix files and to specify the expected behavior of the daemon. Since GuixSD does not provide an SELinux base policy, " +"the daemon policy cannot be used on GuixSD." +msgstr "" + +#. type: subsubsection +#: doc/guix.texi:1102 +#, no-wrap +msgid "Installing the SELinux policy" +msgstr "" + +#. type: cindex +#: doc/guix.texi:1103 +#, no-wrap +msgid "SELinux, policy installation" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1105 +msgid "To install the policy run this command as root:" +msgstr "" + +#. type: example +#: doc/guix.texi:1108 +#, no-wrap +msgid "semodule -i etc/guix-daemon.cil\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1112 +msgid "Then relabel the file system with @code{restorecon} or by a different mechanism provided by your system." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1117 +msgid "" +"Once the policy is installed, the file system has been relabeled, and the daemon has been restarted, it should be running in the " +"@code{guix_daemon_t} context. You can confirm this with the following command:" +msgstr "" + +#. type: example +#: doc/guix.texi:1120 +#, no-wrap +msgid "ps -Zax | grep guix-daemon\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1125 +msgid "" +"Monitor the SELinux log files as you run a command like @code{guix build hello} to convince yourself that SELinux permits all " +"necessary operations." +msgstr "" + +#. type: cindex +#: doc/guix.texi:1127 +#, no-wrap +msgid "SELinux, limitations" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1132 +msgid "" +"This policy is not perfect. Here is a list of limitations or quirks that should be considered when deploying the provided SELinux " +"policy for the Guix daemon." +msgstr "" + +#. type: enumerate +#: doc/guix.texi:1139 +msgid "" +"@code{guix_daemon_socket_t} isn’t actually used. None of the socket operations involve contexts that have anything to do with " +"@code{guix_daemon_socket_t}. It doesn’t hurt to have this unused label, but it would be preferrable to define socket rules for only " +"this label." +msgstr "" + +#. type: enumerate +#: doc/guix.texi:1150 +msgid "" +"@code{guix gc} cannot access arbitrary links to profiles. By design, the file label of the destination of a symlink is independent " +"of the file label of the link itself. Although all profiles under $localstatedir are labelled, the links to these profiles inherit " +"the label of the directory they are in. For links in the user’s home directory this will be @code{user_home_t}. But for links from " +"the root user’s home directory, or @file{/tmp}, or the HTTP server’s working directory, etc, this won’t work. @code{guix gc} would " +"be prevented from reading and following these links." +msgstr "" + +#. type: enumerate +#: doc/guix.texi:1155 +msgid "" +"The daemon’s feature to listen for TCP connections might no longer work. This might require extra rules, because SELinux treats " +"network sockets differently from files." +msgstr "" + +#. type: enumerate +#: doc/guix.texi:1166 +msgid "" +"Currently all files with a name matching the regular expression @code{/gnu/store/.+-(guix-.+|profile)/bin/guix-daemon} are assigned " +"the label @code{guix_daemon_exec_t}; this means that @emph{any} file with that name in any profile would be permitted to run in the " +"@code{guix_daemon_t} domain. This is not ideal. An attacker could build a package that provides this executable and convince a " +"user to install and run it, which lifts it into the @code{guix_daemon_t} domain. At that point SELinux could not prevent it from " +"accessing files that are allowed for processes in that domain." +msgstr "" + +#. type: enumerate +#: doc/guix.texi:1174 +msgid "" +"We could generate a much more restrictive policy at installation time, so that only the @emph{exact} file name of the currently " +"installed @code{guix-daemon} executable would be labelled with @code{guix_daemon_exec_t}, instead of using a broad regular " +"expression. The downside is that root would have to install or upgrade the policy at installation time whenever the Guix package " +"that provides the effectively running @code{guix-daemon} executable is upgraded." +msgstr "" + +#. type: section +#: doc/guix.texi:1177 +#, no-wrap +msgid "Invoking @command{guix-daemon}" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1183 +msgid "" +"The @command{guix-daemon} program implements all the functionality to access the store. This includes launching build processes, " +"running the garbage collector, querying the availability of a build result, etc. It is normally run as @code{root} like this:" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1190 +msgid "For details on how to set it up, @pxref{Setting Up the Daemon}." +msgstr "Pour des détails sur son paramétrage, @pxref{Paramétrer le démon}." + +#. type: cindex +#: doc/guix.texi:1192 +#, no-wrap +msgid "container, build environment" +msgstr "" + +#. type: cindex +#: doc/guix.texi:1194 doc/guix.texi:1732 doc/guix.texi:2392 doc/guix.texi:7644 +#, no-wrap +msgid "reproducible builds" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1206 +msgid "" +"By default, @command{guix-daemon} launches build processes under different UIDs, taken from the build group specified with @code{--" +"build-users-group}. In addition, each build process is run in a chroot environment that only contains the subset of the store that " +"the build process depends on, as specified by its derivation (@pxref{Programming Interface, derivation}), plus a set of specific " +"system directories. By default, the latter contains @file{/dev} and @file{/dev/pts}. Furthermore, on GNU/Linux, the build " +"environment is a @dfn{container}: in addition to having its own file system tree, it has a separate mount name space, its own PID " +"name space, network name space, etc. This helps achieve reproducible builds (@pxref{Features})." +msgstr "" +"Par défaut, @command{guix-daemon} lance les processus de construction sous différents UID récupérés depuis le groupe de construction " +"spécifié avec @code{--build-users-group}. En plus, chaque processus de construction est lancé dans un environnement chroot qui ne " +"contient que le sous-ensemble du dépôt dont le processus de construction dépend, tel que spécifié par sa dérivation " +"(@pxref{Interface de programmation, dérivation}), plus un ensemble de répertoires systèmes spécifiques. Par défaut ce dernier " +"contient @file{/dev} et @file{/dev/pts}. De plus, sous GNU/Linux, l'environnement de construction est un @dfn{conteneur} : en plus " +"d'avoir sa propre arborescence du système de fichier, elle a un espace de montage séparé, son propre espace de PID, son espace de " +"réseau, etc. Cela aide à obtenir des constructions reproductibles (@pxref{Fonctionnalités})." + +#. type: Plain text +#: doc/guix.texi:1215 +msgid "" +"When the daemon performs a build on behalf of the user, it creates a build directory under @file{/tmp} or under the directory " +"specified by its @code{TMPDIR} environment variable; this directory is shared with the container for the duration of the build. Be " +"aware that using a directory other than @file{/tmp} can affect build results---for example, with a longer directory name, a build " +"process that uses Unix-domain sockets might hit the name length limitation for @code{sun_path}, which it would otherwise not hit." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1219 +msgid "" +"The build directory is automatically deleted upon completion, unless the build failed and the client specified @option{--keep-" +"failed} (@pxref{Invoking guix build, @option{--keep-failed}})." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1221 +msgid "The following command-line options are supported:" +msgstr "" + +#. type: item +#: doc/guix.texi:1223 +#, no-wrap +msgid "--build-users-group=@var{group}" +msgstr "" + +#. type: table +#: doc/guix.texi:1226 +msgid "Take users from @var{group} to run build processes (@pxref{Setting Up the Daemon, build users})." +msgstr "" +"Prend les utilisateurs de @var{group} pour lancer les processus de construction (@pxref{Paramétrer le démon, utilisateurs de " +"construction})." + +#. type: item +#: doc/guix.texi:1227 doc/guix.texi:5494 +#, no-wrap +msgid "--no-substitutes" +msgstr "" + +#. type: cindex +#: doc/guix.texi:1228 doc/guix.texi:1744 doc/guix.texi:2248 +#, no-wrap +msgid "substitutes" +msgstr "" + +#. type: table +#: doc/guix.texi:1232 doc/guix.texi:5498 +msgid "" +"Do not use substitutes for build products. That is, always build things locally instead of allowing downloads of pre-built binaries " +"(@pxref{Substitutes})." +msgstr "" +"Ne pas utiliser de substitut pour les résultats de la construction. C'est-à-dire, toujours construire localement plutôt que de " +"permettre le téléchargement de binaires pré-construits (@pxref{Substituts})." + +#. type: table +#: doc/guix.texi:1236 +msgid "" +"When the daemon runs with @code{--no-substitutes}, clients can still explicitly enable substitution @i{via} the @code{set-build-" +"options} remote procedure call (@pxref{The Store})." +msgstr "" + +#. type: item +#: doc/guix.texi:1237 doc/guix.texi:5481 doc/guix.texi:6893 doc/guix.texi:7769 doc/guix.texi:7957 +#, no-wrap +msgid "--substitute-urls=@var{urls}" +msgstr "" + +#. type: anchor{#1} +#: doc/guix.texi:1243 +msgid "daemon-substitute-urls" +msgstr "" + +#. type: table +#: doc/guix.texi:1243 +msgid "" +"Consider @var{urls} the default whitespace-separated list of substitute source URLs. When this option is omitted, " +"@indicateurl{https://mirror.hydra.gnu.org https://hydra.gnu.org} is used (@code{mirror.hydra.gnu.org} is a mirror of @code{hydra.gnu." +"org})." +msgstr "" + +#. type: table +#: doc/guix.texi:1246 +msgid "" +"This means that substitutes may be downloaded from @var{urls}, as long as they are signed by a trusted signature " +"(@pxref{Substitutes})." +msgstr "" +"Cela signifie que les substituts sont téléchargés depuis les @var{urls}, tant qu'ils sont signés par une signature de confiance " +"(@pxref{Substituts})." + +#. type: item +#: doc/guix.texi:1248 doc/guix.texi:5519 +#, no-wrap +msgid "--no-build-hook" +msgstr "" + +#. type: table +#: doc/guix.texi:1250 +msgid "Do not use the @dfn{build hook}." +msgstr "" + +#. type: table +#: doc/guix.texi:1254 +msgid "" +"The build hook is a helper program that the daemon can start and to which it submits build requests. This mechanism is used to " +"offload builds to other machines (@pxref{Daemon Offload Setup})." +msgstr "" + +#. type: item +#: doc/guix.texi:1255 +#, no-wrap +msgid "--cache-failures" +msgstr "" + +#. type: table +#: doc/guix.texi:1257 +msgid "Cache build failures. By default, only successful builds are cached." +msgstr "" + +#. type: table +#: doc/guix.texi:1262 +msgid "" +"When this option is used, @command{guix gc --list-failures} can be used to query the set of store items marked as failed; " +"@command{guix gc --clear-failures} removes store items from the set of cached failures. @xref{Invoking guix gc}." +msgstr "" + +#. type: item +#: doc/guix.texi:1263 doc/guix.texi:5543 +#, no-wrap +msgid "--cores=@var{n}" +msgstr "" + +#. type: itemx +#: doc/guix.texi:1264 doc/guix.texi:5544 +#, no-wrap +msgid "-c @var{n}" +msgstr "" + +#. type: table +#: doc/guix.texi:1267 +msgid "Use @var{n} CPU cores to build each derivation; @code{0} means as many as available." +msgstr "" + +#. type: table +#: doc/guix.texi:1271 +msgid "" +"The default value is @code{0}, but it may be overridden by clients, such as the @code{--cores} option of @command{guix build} " +"(@pxref{Invoking guix build})." +msgstr "" + +#. type: table +#: doc/guix.texi:1275 +msgid "" +"The effect is to define the @code{NIX_BUILD_CORES} environment variable in the build process, which can then use it to exploit " +"internal parallelism---for instance, by running @code{make -j$NIX_BUILD_CORES}." +msgstr "" + +#. type: item +#: doc/guix.texi:1276 doc/guix.texi:5548 +#, no-wrap +msgid "--max-jobs=@var{n}" +msgstr "" + +#. type: itemx +#: doc/guix.texi:1277 doc/guix.texi:5549 +#, no-wrap +msgid "-M @var{n}" +msgstr "" + +#. type: table +#: doc/guix.texi:1282 +msgid "" +"Allow at most @var{n} build jobs in parallel. The default value is @code{1}. Setting it to @code{0} means that no builds will be " +"performed locally; instead, the daemon will offload builds (@pxref{Daemon Offload Setup}), or simply fail." +msgstr "" + +#. type: item +#: doc/guix.texi:1283 doc/guix.texi:5524 +#, no-wrap +msgid "--max-silent-time=@var{seconds}" +msgstr "" + +#. type: table +#: doc/guix.texi:1286 doc/guix.texi:5527 +msgid "When the build or substitution process remains silent for more than @var{seconds}, terminate it and report a build failure." +msgstr "" + +#. type: table +#: doc/guix.texi:1288 doc/guix.texi:1297 +msgid "The default value is @code{0}, which disables the timeout." +msgstr "" + +#. type: table +#: doc/guix.texi:1291 +msgid "The value specified here can be overridden by clients (@pxref{Common Build Options, @code{--max-silent-time}})." +msgstr "" + +#. type: item +#: doc/guix.texi:1292 doc/guix.texi:5531 +#, no-wrap +msgid "--timeout=@var{seconds}" +msgstr "" + +#. type: table +#: doc/guix.texi:1295 doc/guix.texi:5534 +msgid "Likewise, when the build or substitution process lasts for more than @var{seconds}, terminate it and report a build failure." +msgstr "" + +#. type: table +#: doc/guix.texi:1300 +msgid "The value specified here can be overridden by clients (@pxref{Common Build Options, @code{--timeout}})." +msgstr "" + +#. type: item +#: doc/guix.texi:1301 +#, no-wrap +msgid "--rounds=@var{N}" +msgstr "" + +#. type: table +#: doc/guix.texi:1306 +msgid "" +"Build each derivation @var{n} times in a row, and raise an error if 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})." +msgstr "" + +#. type: table +#: doc/guix.texi:1310 doc/guix.texi:5826 +msgid "" +"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." +msgstr "" + +#. type: item +#: doc/guix.texi:1311 +#, no-wrap +msgid "--debug" +msgstr "" + +#. type: table +#: doc/guix.texi:1313 +msgid "Produce debugging output." +msgstr "" + +#. type: table +#: doc/guix.texi:1317 +msgid "" +"This is useful to debug daemon start-up issues, but then it may be overridden by clients, for example the @code{--verbosity} option " +"of @command{guix build} (@pxref{Invoking guix build})." +msgstr "" + +#. type: item +#: doc/guix.texi:1318 +#, no-wrap +msgid "--chroot-directory=@var{dir}" +msgstr "" + +#. type: table +#: doc/guix.texi:1320 +msgid "Add @var{dir} to the build chroot." +msgstr "" + +#. type: table +#: doc/guix.texi:1326 +msgid "" +"Doing this may change the result of build processes---for instance if they use optional dependencies found in @var{dir} when it is " +"available, and not otherwise. For that reason, it is not recommended to do so. Instead, make sure that each derivation declares " +"all the inputs that it needs." +msgstr "" + +#. type: item +#: doc/guix.texi:1327 +#, no-wrap +msgid "--disable-chroot" +msgstr "" + +#. type: table +#: doc/guix.texi:1329 +msgid "Disable chroot builds." +msgstr "" + +#. type: table +#: doc/guix.texi:1334 +msgid "" +"Using this option is not recommended since, again, it would allow build processes to gain access to undeclared dependencies. It is " +"necessary, though, when @command{guix-daemon} is running under an unprivileged user account." +msgstr "" + +#. type: item +#: doc/guix.texi:1335 +#, no-wrap +msgid "--log-compression=@var{type}" +msgstr "" + +#. type: table +#: doc/guix.texi:1338 +msgid "Compress build logs according to @var{type}, one of @code{gzip}, @code{bzip2}, or @code{none}." +msgstr "" + +#. type: table +#: doc/guix.texi:1342 +msgid "" +"Unless @code{--lose-logs} is used, all the build logs are kept in the @var{localstatedir}. To save space, the daemon automatically " +"compresses them with bzip2 by default." +msgstr "" + +#. type: item +#: doc/guix.texi:1343 +#, no-wrap +msgid "--disable-deduplication" +msgstr "" + +#. type: cindex +#: doc/guix.texi:1344 doc/guix.texi:2708 +#, no-wrap +msgid "deduplication" +msgstr "" + +#. type: table +#: doc/guix.texi:1346 +msgid "Disable automatic file ``deduplication'' in the store." +msgstr "" + +#. type: table +#: doc/guix.texi:1353 +msgid "" +"By default, files added to the store are automatically ``deduplicated'': if a newly added file is identical to another one found in " +"the store, the daemon makes the new file a hard link to the other file. This can noticeably reduce disk usage, at the expense of " +"slightly increased input/output load at the end of a build process. This option disables this optimization." +msgstr "" + +#. type: item +#: doc/guix.texi:1354 +#, no-wrap +msgid "--gc-keep-outputs[=yes|no]" +msgstr "" + +#. type: table +#: doc/guix.texi:1357 +msgid "Tell whether the garbage collector (GC) must keep outputs of live derivations." +msgstr "" + +#. type: cindex +#: doc/guix.texi:1358 doc/guix.texi:2543 +#, no-wrap +msgid "GC roots" +msgstr "" + +#. type: cindex +#: doc/guix.texi:1359 doc/guix.texi:2544 +#, no-wrap +msgid "garbage collector roots" +msgstr "" + +#. type: table +#: doc/guix.texi:1364 +msgid "" +"When set to ``yes'', the GC will keep the outputs of any live derivation available in the store---the @code{.drv} files. The " +"default is ``no'', meaning that derivation outputs are kept only if they are GC roots. @xref{Invoking guix gc}, for more on GC " +"roots." +msgstr "" + +#. type: item +#: doc/guix.texi:1365 +#, no-wrap +msgid "--gc-keep-derivations[=yes|no]" +msgstr "" + +#. type: table +#: doc/guix.texi:1368 +msgid "Tell whether the garbage collector (GC) must keep derivations corresponding to live outputs." +msgstr "" + +#. type: table +#: doc/guix.texi:1373 +msgid "" +"When set to ``yes'', as is the case by default, the GC keeps derivations---i.e., @code{.drv} files---as long as at least one of " +"their outputs is live. This allows users to keep track of the origins of items in their store. Setting it to ``no'' saves a bit of " +"disk space." +msgstr "" + +#. type: table +#: doc/guix.texi:1380 +msgid "" +"Note that when both @code{--gc-keep-derivations} and @code{--gc-keep-outputs} are used, the effect is to keep all the build " +"prerequisites (the sources, compiler, libraries, and other build-time tools) of live objects in the store, regardless of whether " +"these prerequisites are live. This is convenient for developers since it saves rebuilds or downloads." +msgstr "" + +#. type: item +#: doc/guix.texi:1381 +#, no-wrap +msgid "--impersonate-linux-2.6" +msgstr "" + +#. type: table +#: doc/guix.texi:1384 +msgid "" +"On Linux-based systems, impersonate Linux 2.6. This means that the kernel's @code{uname} system call will report 2.6 as the release " +"number." +msgstr "" + +#. type: table +#: doc/guix.texi:1387 +msgid "This might be helpful to build programs that (usually wrongfully) depend on the kernel version number." +msgstr "" + +#. type: item +#: doc/guix.texi:1388 +#, no-wrap +msgid "--lose-logs" +msgstr "" + +#. type: table +#: doc/guix.texi:1391 +msgid "Do not keep build logs. By default they are kept under @code{@var{localstatedir}/guix/log}." +msgstr "" + +#. type: item +#: doc/guix.texi:1392 doc/guix.texi:2890 doc/guix.texi:5779 doc/guix.texi:6920 doc/guix.texi:7328 doc/guix.texi:7962 +#: doc/guix.texi:19986 doc/guix.texi:20530 +#, no-wrap +msgid "--system=@var{system}" +msgstr "" + +#. type: table +#: doc/guix.texi:1396 +msgid "" +"Assume @var{system} as the current system type. By default it is the architecture/kernel pair found at configure time, such as " +"@code{x86_64-linux}." +msgstr "" + +#. type: item +#: doc/guix.texi:1397 +#, no-wrap +msgid "--listen=@var{endpoint}" +msgstr "" + +#. type: table +#: doc/guix.texi:1402 +msgid "" +"Listen for connections on @var{endpoint}. @var{endpoint} is interpreted as the file name of a Unix-domain socket if it starts with " +"@code{/} (slash sign). Otherwise, @var{endpoint} is interpreted as a host name or host name and port to listen to. Here are a few " +"examples:" +msgstr "" + +#. type: item +#: doc/guix.texi:1404 +#, no-wrap +msgid "--listen=/gnu/var/daemon" +msgstr "" + +#. type: table +#: doc/guix.texi:1407 +msgid "Listen for connections on the @file{/gnu/var/daemon} Unix-domain socket, creating it if needed." +msgstr "" + +#. type: item +#: doc/guix.texi:1408 +#, no-wrap +msgid "--listen=localhost" +msgstr "" + +#. type: cindex +#: doc/guix.texi:1409 doc/guix.texi:4235 +#, no-wrap +msgid "daemon, remote access" +msgstr "" + +#. type: cindex +#: doc/guix.texi:1410 doc/guix.texi:4236 +#, no-wrap +msgid "remote access to the daemon" +msgstr "" + +#. type: cindex +#: doc/guix.texi:1411 doc/guix.texi:4237 +#, no-wrap +msgid "daemon, cluster setup" +msgstr "" + +#. type: cindex +#: doc/guix.texi:1412 doc/guix.texi:4238 +#, no-wrap +msgid "clusters, daemon setup" +msgstr "" + +#. type: table +#: doc/guix.texi:1415 +msgid "Listen for TCP connections on the network interface corresponding to @code{localhost}, on port 44146." +msgstr "" + +#. type: item +#: doc/guix.texi:1416 +#, no-wrap +msgid "--listen=128.0.0.42:1234" +msgstr "" + +#. type: table +#: doc/guix.texi:1419 +msgid "Listen for TCP connections on the network interface corresponding to @code{128.0.0.42}, on port 1234." +msgstr "" + +#. type: table +#: doc/guix.texi:1426 +msgid "" +"This option can be repeated multiple times, in which case @command{guix-daemon} accepts connections on all the specified endpoints. " +"Users can tell client commands what endpoint to connect to by setting the @code{GUIX_DAEMON_SOCKET} environment variable (@pxref{The " +"Store, @code{GUIX_DAEMON_SOCKET}})." +msgstr "" + +#. type: quotation +#: doc/guix.texi:1427 doc/guix.texi:2325 doc/guix.texi:2789 doc/guix.texi:2952 doc/guix.texi:4205 doc/guix.texi:4273 doc/guix.texi:5784 +#: doc/guix.texi:7220 doc/guix.texi:7847 doc/guix.texi:8065 doc/guix.texi:8276 doc/guix.texi:11442 doc/guix.texi:20313 +#: doc/guix.texi:20511 doc/guix.texi:20598 doc/guix.texi:21442 +#, no-wrap +msgid "Note" +msgstr "" + +#. type: quotation +#: doc/guix.texi:1433 +msgid "" +"The daemon protocol is @emph{unauthenticated and unencrypted}. Using @code{--listen=@var{host}} is suitable on local networks, such " +"as clusters, where only trusted nodes may connect to the build daemon. In other cases where remote access to the daemon is needed, " +"we recommend using Unix-domain sockets along with SSH." +msgstr "" + +#. type: table +#: doc/guix.texi:1438 +msgid "" +"When @code{--listen} is omitted, @command{guix-daemon} listens for connections on the Unix-domain socket located at " +"@file{@var{localstatedir}/guix/daemon-socket/socket}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1448 +msgid "" +"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." +msgstr "" + +#. type: anchor{#1} +#: doc/guix.texi:1452 +msgid "locales-and-locpath" +msgstr "" + +#. type: cindex +#: doc/guix.texi:1452 +#, no-wrap +msgid "locales, when not on GuixSD" +msgstr "" + +#. type: vindex +#: doc/guix.texi:1453 doc/guix.texi:9545 +#, no-wrap +msgid "LOCPATH" +msgstr "" + +#. type: vindex +#: doc/guix.texi:1454 +#, no-wrap +msgid "GUIX_LOCPATH" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1459 +msgid "" +"Packages installed @i{via} Guix will not use the locale data of the host system. Instead, you must first install one of the locale " +"packages available with Guix and then define the @code{GUIX_LOCPATH} environment variable:" +msgstr "" + +#. type: example +#: doc/guix.texi:1463 +#, no-wrap +msgid "" +"$ guix package -i glibc-locales\n" +"$ export GUIX_LOCPATH=$HOME/.guix-profile/lib/locale\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1469 +msgid "" +"Note that the @code{glibc-locales} package contains data for all the locales supported by the GNU@tie{}libc and weighs in at around " +"110@tie{}MiB. Alternatively, the @code{glibc-utf8-locales} is smaller but limited to a few UTF-8 locales." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1473 +msgid "" +"The @code{GUIX_LOCPATH} variable plays a role similar to @code{LOCPATH} (@pxref{Locale Names, @code{LOCPATH},, libc, The GNU C " +"Library Reference Manual}). There are two important differences though:" +msgstr "" + +#. type: enumerate +#: doc/guix.texi:1480 +msgid "" +"@code{GUIX_LOCPATH} is honored only by the libc in Guix, and not by the libc provided by foreign distros. Thus, using " +"@code{GUIX_LOCPATH} allows you to make sure the programs of the foreign distro will not end up loading incompatible locale data." +msgstr "" + +#. type: enumerate +#: doc/guix.texi:1487 +msgid "" +"libc suffixes each entry of @code{GUIX_LOCPATH} with @code{/X.Y}, where @code{X.Y} is the libc version---e.g., @code{2.22}. This " +"means that, should your Guix profile contain a mixture of programs linked against different libc version, each libc version will " +"only try to load locale data in the right format." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1491 +msgid "This is important because the locale data format used by different libc versions may be incompatible." +msgstr "" + +#. type: cindex +#: doc/guix.texi:1494 +#, no-wrap +msgid "name service switch, glibc" +msgstr "" + +#. type: cindex +#: doc/guix.texi:1495 +#, no-wrap +msgid "NSS (name service switch), glibc" +msgstr "" + +#. type: cindex +#: doc/guix.texi:1496 +#, no-wrap +msgid "nscd (name service caching daemon)" +msgstr "" + +#. type: cindex +#: doc/guix.texi:1497 +#, no-wrap +msgid "name service caching daemon (nscd)" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1504 +msgid "" +"When using Guix on a foreign distro, we @emph{strongly recommend} that the system run the GNU C library's @dfn{name service cache " +"daemon}, @command{nscd}, which should be listening on the @file{/var/run/nscd/socket} socket. Failing to do that, applications " +"installed with Guix may fail to look up host names or user accounts, or may even crash. The next paragraphs explain why." +msgstr "" + +#. type: file{#1} +#: doc/guix.texi:1505 +#, no-wrap +msgid "nsswitch.conf" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1510 +msgid "" +"The GNU C library implements a @dfn{name service switch} (NSS), which is an extensible mechanism for ``name lookups'' in general: " +"host name resolution, user accounts, and more (@pxref{Name Service Switch,,, libc, The GNU C Library Reference Manual})." +msgstr "" + +#. type: cindex +#: doc/guix.texi:1511 +#, no-wrap +msgid "Network information service (NIS)" +msgstr "" + +#. type: cindex +#: doc/guix.texi:1512 +#, no-wrap +msgid "NIS (Network information service)" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1521 +msgid "" +"Being extensible, the NSS supports @dfn{plugins}, which provide new name lookup implementations: for example, the @code{nss-mdns} " +"plugin allow resolution of @code{.local} host names, the @code{nis} plugin allows user account lookup using the Network information " +"service (NIS), and so on. These extra ``lookup services'' are configured system-wide in @file{/etc/nsswitch.conf}, and all the " +"programs running on the system honor those settings (@pxref{NSS Configuration File,,, libc, The GNU C Reference Manual})." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1531 +msgid "" +"When they perform a name lookup---for instance by calling the @code{getaddrinfo} function in C---applications first try to connect " +"to the nscd; on success, nscd performs name lookups on their behalf. If the nscd is not running, then they perform the name lookup " +"by themselves, by loading the name lookup services into their own address space and running it. These name lookup services---the " +"@file{libnss_*.so} files---are @code{dlopen}'d, but they may come from the host system's C library, rather than from the C library " +"the application is linked against (the C library coming from Guix)." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1536 +msgid "" +"And this is where the problem is: if your application is linked against Guix's C library (say, glibc 2.24) and tries to load NSS " +"plugins from another C library (say, @code{libnss_mdns.so} for glibc 2.22), it will likely crash or have its name lookups fail " +"unexpectedly." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1541 +msgid "" +"Running @command{nscd} on the system, among other advantages, eliminates this binary incompatibility problem because those " +"@code{libnss_*.so} files are loaded in the @command{nscd} process, not in applications themselves." +msgstr "" + +#. type: subsection +#: doc/guix.texi:1542 +#, no-wrap +msgid "X11 Fonts" +msgstr "" + +#. type: cindex +#: doc/guix.texi:1544 doc/guix.texi:22008 +#, no-wrap +msgid "fonts" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1552 +msgid "" +"The majority of graphical applications use Fontconfig to locate and load fonts and perform X11-client-side rendering. The " +"@code{fontconfig} package in Guix looks for fonts in @file{$HOME/.guix-profile} by default. Thus, to allow graphical applications " +"installed with Guix to display fonts, you have to install fonts with Guix as well. Essential font packages include @code{gs-fonts}, " +"@code{font-dejavu}, and @code{font-gnu-freefont-ttf}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1559 +msgid "" +"To display text written in Chinese languages, Japanese, or Korean in graphical applications, consider installing @code{font-adobe-" +"source-han-sans} or @code{font-wqy-zenhei}. The former has multiple outputs, one per language family (@pxref{Packages with Multiple " +"Outputs}). For instance, the following command installs fonts for Chinese languages:" +msgstr "" + +#. type: example +#: doc/guix.texi:1562 +#, no-wrap +msgid "guix package -i font-adobe-source-han-sans:cn\n" +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:1564 +#, no-wrap +msgid "xterm" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1568 +msgid "" +"Older programs such as @command{xterm} do not use Fontconfig and instead rely on server-side font rendering. Such programs require " +"to specify a full name of a font using XLFD (X Logical Font Description), like this:" +msgstr "" + +#. type: example +#: doc/guix.texi:1571 +#, no-wrap +msgid "-*-dejavu sans-medium-r-normal-*-*-100-*-*-*-*-*-1\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1575 +msgid "" +"To be able to use such full names for the TrueType fonts installed in your Guix profile, you need to extend the font path of the X " +"server:" +msgstr "" + +#. type: example +#: doc/guix.texi:1580 +#, no-wrap +msgid "xset +fp $(dirname $(readlink -f ~/.guix-profile/share/fonts/truetype/fonts.dir))\n" +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:1582 +#, no-wrap +msgid "xlsfonts" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1585 +msgid "After that, you can run @code{xlsfonts} (from @code{xlsfonts} package) to make sure your TrueType fonts are listed there." +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:1586 +#, no-wrap +msgid "fc-cache" +msgstr "" + +#. type: cindex +#: doc/guix.texi:1587 +#, no-wrap +msgid "font cache" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1593 +msgid "" +"After installing fonts you may have to refresh the font cache to use them in applications. The same applies when applications " +"installed via Guix do not seem to find fonts. To force rebuilding of the font cache run @code{fc-cache -f}. The @code{fc-cache} " +"command is provided by the @code{fontconfig} package." +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:1596 doc/guix.texi:19725 +#, no-wrap +msgid "nss-certs" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1599 +msgid "The @code{nss-certs} package provides X.509 certificates, which allow programs to authenticate Web servers accessed over HTTPS." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1604 +msgid "" +"When using Guix on a foreign distro, you can install this package and define the relevant environment variables so that packages " +"know where to look for certificates. @xref{X.509 Certificates}, for detailed information." +msgstr "" + +#. type: subsection +#: doc/guix.texi:1605 +#, no-wrap +msgid "Emacs Packages" +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:1607 +#, no-wrap +msgid "emacs" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1618 +msgid "" +"When you install Emacs packages with Guix, the elisp files may be placed either in @file{$HOME/.guix-profile/share/emacs/site-lisp/} " +"or in sub-directories of @file{$HOME/.guix-profile/share/emacs/site-lisp/guix.d/}. The latter directory exists because potentially " +"there may exist thousands of Emacs packages and storing all their files in a single directory may not be reliable (because of name " +"conflicts). So we think using a separate directory for each package is a good idea. It is very similar to how the Emacs package " +"system organizes the file structure (@pxref{Package Files,,, emacs, The GNU Emacs Manual})." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1624 +msgid "" +"By default, Emacs (installed with Guix) ``knows'' where these packages are placed, so you do not need to perform any configuration. " +"If, for some reason, you want to avoid auto-loading Emacs packages installed with Guix, you can do so by running Emacs with @code{--" +"no-site-file} option (@pxref{Init File,,, emacs, The GNU Emacs Manual})." +msgstr "" + +#. type: subsection +#: doc/guix.texi:1625 +#, no-wrap +msgid "The GCC toolchain" +msgstr "" + +#. type: cindex +#: doc/guix.texi:1627 +#, no-wrap +msgid "GCC" +msgstr "" + +#. type: cindex +#: doc/guix.texi:1628 +#, no-wrap +msgid "ld-wrapper" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1637 +msgid "" +"Guix offers individual compiler packages such as @code{gcc} but if you are in need of a complete toolchain for compiling and linking " +"source code what you really want is the @code{gcc-toolchain} package. This package provides a complete GCC toolchain for C/C++ " +"development, including GCC itself, the GNU C Library (headers and binaries, plus debugging symbols in the @code{debug} output), " +"Binutils, and a linker wrapper." +msgstr "" + +#. type: cindex +#: doc/guix.texi:1638 +#, no-wrap +msgid "attempt to use impure library, error message" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1648 +msgid "" +"The wrapper's purpose is to inspect the @code{-L} and @code{-l} switches passed to the linker, add corresponding @code{-rpath} " +"arguments, and invoke the actual linker with this new set of arguments. By default, the linker wrapper refuses to link to libraries " +"outside the store to ensure ``purity''. This can be annoying when using the toolchain to link with local libraries. To allow " +"references to libraries outside the store you need to define the environment variable @code{GUIX_LD_WRAPPER_ALLOW_IMPURITIES}." +msgstr "" + +#. type: cindex +#: doc/guix.texi:1655 +#, no-wrap +msgid "packages" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1660 +msgid "" +"The purpose of GNU Guix is to allow users to easily install, upgrade, and remove software packages, without having to know about " +"their build procedures or dependencies. Guix also goes beyond this obvious set of features." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1668 +msgid "" +"This chapter describes the main features of Guix, as well as the package management tools it provides. Along with the command-line " +"interface described below (@pxref{Invoking guix package, @code{guix package}}), you may also use the Emacs-Guix interface " +"(@pxref{Top,,, emacs-guix, The Emacs-Guix Reference Manual}), after installing @code{emacs-guix} package (run @kbd{M-x guix-help} " +"command to start with it):" +msgstr "" +"Ce chapitre décrit les principales fonctionnalités de Guix, ainsi que des outils de gestion des paquets qu'il fournit. En plus de " +"l'interface en ligne de commande décrite en dessous de (@pxref{Invoquer guix package, @code{guix package}}), vous pouvez aussi " +"utiliser l'interface Emacs-Guix (@pxref{Top,,, emacs-guix, Le manuel de référence de emacs-guix}), après avoir installé le paquet " +"@code{emacs-guix} (lancez la commande @kbd{M-x guix-help} pour le démarrer) :" + +#. type: example +#: doc/guix.texi:1671 +#, no-wrap +msgid "guix package -i emacs-guix\n" +msgstr "guix package -i emacs-guix\n" + +#. type: Plain text +#: doc/guix.texi:1690 +msgid "" +"When using Guix, each package ends up in the @dfn{package store}, in its own directory---something that resembles @file{/gnu/store/" +"xxx-package-1.2}, where @code{xxx} is a base32 string." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1695 +msgid "" +"Instead of referring to these directories, users have their own @dfn{profile}, which points to the packages that they actually want " +"to use. These profiles are stored within each user's home directory, at @code{$HOME/.guix-profile}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1703 +msgid "" +"For example, @code{alice} installs GCC 4.7.2. As a result, @file{/home/alice/.guix-profile/bin/gcc} points to @file{/gnu/store/" +"@dots{}-gcc-4.7.2/bin/gcc}. Now, on the same machine, @code{bob} had already installed GCC 4.8.0. The profile of @code{bob} simply " +"continues to point to @file{/gnu/store/@dots{}-gcc-4.8.0/bin/gcc}---i.e., both versions of GCC coexist on the same system without " +"any interference." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1707 +msgid "" +"The @command{guix package} command is the central tool to manage packages (@pxref{Invoking guix package}). It operates on the per-" +"user profiles, and can be used @emph{with normal user privileges}." +msgstr "" + +#. type: cindex +#: doc/guix.texi:1708 doc/guix.texi:1777 +#, no-wrap +msgid "transactions" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1715 +msgid "" +"The command provides the obvious install, remove, and upgrade operations. Each invocation is actually a @emph{transaction}: either " +"the specified operation succeeds, or nothing happens. Thus, if the @command{guix package} process is terminated during the " +"transaction, or if a power outage occurs during the transaction, then the user's profile remains in its previous state, and remains " +"usable." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1723 +msgid "" +"In addition, any package transaction may be @emph{rolled back}. So, if, for example, an upgrade installs a new version of a package " +"that turns out to have a serious bug, users may roll back to the previous instance of their profile, which was known to work well. " +"Similarly, the global system configuration on GuixSD is subject to transactional upgrades and roll-back (@pxref{Using the " +"Configuration System})." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1730 +msgid "" +"All packages in the package store may be @emph{garbage-collected}. Guix can determine which packages are still referenced by user " +"profiles, and remove those that are provably no longer referenced (@pxref{Invoking guix gc}). Users may also explicitly remove old " +"generations of their profile so that the packages they refer to can be collected." +msgstr "" + +#. type: cindex +#: doc/guix.texi:1731 +#, no-wrap +msgid "reproducibility" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1743 +msgid "" +"Finally, Guix takes a @dfn{purely functional} approach to package management, as described in the introduction " +"(@pxref{Introduction}). Each @file{/gnu/store} package directory name contains a hash of all the inputs that were used to build " +"that package---compiler, libraries, build scripts, etc. This direct correspondence allows users to make sure a given package " +"installation matches the current state of their distribution. It also helps maximize @dfn{build reproducibility}: thanks to the " +"isolated build environments that are used, a given build is likely to yield bit-identical files when performed on different machines " +"(@pxref{Invoking guix-daemon, container})." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1754 +msgid "" +"This foundation allows Guix to support @dfn{transparent binary/source deployment}. When a pre-built binary for a @file{/gnu/store} " +"item is available from an external source---a @dfn{substitute}, Guix just downloads it and unpacks it; otherwise, it builds the " +"package from source, locally (@pxref{Substitutes}). Because build results are usually bit-for-bit reproducible, users do not have " +"to trust servers that provide substitutes: they can force a local build and @emph{challenge} providers (@pxref{Invoking guix " +"challenge})." +msgstr "" +"Ce fondement permet à Guix de supporter le @dfn{déploiement transparent de binaire ou source}. Lorsqu'une binaire pré-construit pour " +"une entrée de @file{/gnu/store} est disponible depuis une source externe (un @dfn{substitut}), Guix le télécharge simplement et le " +"décompresse ; sinon, il construit le paquet depuis les sources localement (@pxref{Substituts}). Comme les résultats des " +"constructions sont généralement reproductibles au bit près, si vous n'avez pas besoin de faire confiance aux serveurs qui " +"fournissent les substituts : vous pouvez forcer une construction locale et @emph{défier} les fournisseurs (@pxref{Invoking guix " +"challenge})." + +#. type: Plain text +#: doc/guix.texi:1760 +msgid "" +"Control over the build environment is a feature that is also useful for developers. The @command{guix environment} command allows " +"developers of a package to quickly set up the right development environment for their package, without having to manually install " +"the dependencies of the package into their profile (@pxref{Invoking guix environment})." +msgstr "" + +#. type: section +#: doc/guix.texi:1762 +#, no-wrap +msgid "Invoking @command{guix package}" +msgstr "" + +#. type: cindex +#: doc/guix.texi:1764 +#, no-wrap +msgid "installing packages" +msgstr "" + +#. type: cindex +#: doc/guix.texi:1765 +#, no-wrap +msgid "removing packages" +msgstr "" + +#. type: cindex +#: doc/guix.texi:1766 +#, no-wrap +msgid "package installation" +msgstr "" + +#. type: cindex +#: doc/guix.texi:1767 +#, no-wrap +msgid "package removal" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1773 +msgid "" +"The @command{guix package} command is the tool that allows users to install, upgrade, and remove packages, as well as rolling back " +"to previous configurations. It operates only on the user's own profile, and works with normal user privileges (@pxref{Features}). " +"Its syntax is:" +msgstr "" +"La commande @command{guix package} est l'outil qui permet d'installer, mettre à jour et supprimer les paquets ainsi que de revenir à " +"une configuration précédente. Elle n'opère que dans le profil de l'utilisateur et fonctionne avec les privilèges utilisateurs " +"normaux (@pxref{Fonctionnalités}). Sa syntaxe est :" + +#. type: example +#: doc/guix.texi:1776 +#, no-wrap +msgid "guix package @var{options}\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1782 +msgid "" +"Primarily, @var{options} specifies the operations to be performed during the transaction. Upon completion, a new profile is " +"created, but previous @dfn{generations} of the profile remain available, should the user want to roll back." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1785 +msgid "For example, to remove @code{lua} and install @code{guile} and @code{guile-cairo} in a single transaction:" +msgstr "" + +#. type: example +#: doc/guix.texi:1788 +#, no-wrap +msgid "guix package -r lua -i guile guile-cairo\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1794 +msgid "" +"@command{guix package} also supports a @dfn{declarative approach} whereby the user specifies the exact set of packages to be " +"available and passes it @i{via} the @option{--manifest} option (@pxref{profile-manifest, @option{--manifest}})." +msgstr "" + +#. type: cindex +#: doc/guix.texi:1795 +#, no-wrap +msgid "profile" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1801 +msgid "" +"For each user, a symlink to the user's default profile is automatically created in @file{$HOME/.guix-profile}. This symlink always " +"points to the current generation of the user's default profile. Thus, users can add @file{$HOME/.guix-profile/bin} to their " +"@code{PATH} environment variable, and so on." +msgstr "" + +#. type: cindex +#: doc/guix.texi:1801 doc/guix.texi:1998 +#, no-wrap +msgid "search paths" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1806 +msgid "" +"If you are not using the Guix System Distribution, consider adding the following lines to your @file{~/.bash_profile} (@pxref{Bash " +"Startup Files,,, bash, The GNU Bash Reference Manual}) so that newly-spawned shells get all the right environment variable " +"definitions:" +msgstr "" + +#. type: example +#: doc/guix.texi:1810 +#, no-wrap +msgid "" +"GUIX_PROFILE=\"$HOME/.guix-profile\" ; \\\n" +"source \"$HOME/.guix-profile/etc/profile\"\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1821 +msgid "" +"In a multi-user setup, user profiles are stored in a place registered as a @dfn{garbage-collector root}, which @file{$HOME/.guix-" +"profile} points to (@pxref{Invoking guix gc}). That directory is normally @code{@var{localstatedir}/guix/profiles/per-user/" +"@var{user}}, where @var{localstatedir} is the value passed to @code{configure} as @code{--localstatedir}, and @var{user} is the user " +"name. The @file{per-user} directory is created when @command{guix-daemon} is started, and the @var{user} sub-directory is created " +"by @command{guix package}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1823 +msgid "The @var{options} can be among the following:" +msgstr "" + +#. type: item +#: doc/guix.texi:1826 +#, no-wrap +msgid "--install=@var{package} @dots{}" +msgstr "" + +#. type: itemx +#: doc/guix.texi:1827 +#, no-wrap +msgid "-i @var{package} @dots{}" +msgstr "" + +#. type: table +#: doc/guix.texi:1829 +msgid "Install the specified @var{package}s." +msgstr "" + +#. type: table +#: doc/guix.texi:1834 +msgid "" +"Each @var{package} may specify either a simple package name, such as @code{guile}, or a package name followed by an at-sign and " +"version number, such as @code{guile@@1.8.8} or simply @code{guile@@1.8} (in the latter case, the newest version prefixed by " +"@code{1.8} is selected.)" +msgstr "" + +#. type: table +#: doc/guix.texi:1842 +msgid "" +"If no version number is specified, the newest available version will be selected. In addition, @var{package} may contain a colon, " +"followed by the name of one of the outputs of the package, as in @code{gcc:doc} or @code{binutils@@2.22:lib} (@pxref{Packages with " +"Multiple Outputs}). Packages with a corresponding name (and optionally version) are searched for among the GNU distribution modules " +"(@pxref{Package Modules})." +msgstr "" + +#. type: cindex +#: doc/guix.texi:1843 +#, no-wrap +msgid "propagated inputs" +msgstr "" + +#. type: table +#: doc/guix.texi:1849 +msgid "" +"Sometimes packages have @dfn{propagated inputs}: these are dependencies that automatically get installed along with the required " +"package (@pxref{package-propagated-inputs, @code{propagated-inputs} in @code{package} objects}, for information about propagated " +"inputs in package definitions)." +msgstr "" + +#. type: anchor{#1} +#: doc/guix.texi:1856 +msgid "package-cmd-propagated-inputs" +msgstr "" + +#. type: table +#: doc/guix.texi:1856 +msgid "" +"An example is the GNU MPC library: its C header files refer to those of the GNU MPFR library, which in turn refer to those of the " +"GMP library. Thus, when installing MPC, the MPFR and GMP libraries also get installed in the profile; removing MPC also removes " +"MPFR and GMP---unless they had also been explicitly installed by the user." +msgstr "" + +#. type: table +#: doc/guix.texi:1861 +msgid "" +"Besides, packages sometimes rely on the definition of environment variables for their search paths (see explanation of @code{--" +"search-paths} below). Any missing or possibly incorrect environment variable definitions are reported here." +msgstr "" + +#. type: item +#: doc/guix.texi:1862 +#, no-wrap +msgid "--install-from-expression=@var{exp}" +msgstr "" + +#. type: itemx +#: doc/guix.texi:1863 +#, no-wrap +msgid "-e @var{exp}" +msgstr "" + +#. type: table +#: doc/guix.texi:1865 +msgid "Install the package @var{exp} evaluates to." +msgstr "" + +#. type: table +#: doc/guix.texi:1870 +msgid "" +"@var{exp} must be a Scheme expression that evaluates to a @code{<package>} object. This option is notably useful to disambiguate " +"between same-named variants of a package, with expressions such as @code{(@@ (gnu packages base) guile-final)}." +msgstr "" + +#. type: table +#: doc/guix.texi:1874 +msgid "" +"Note that this option installs the first output of the specified package, which may be insufficient when needing a specific output " +"of a multiple-output package." +msgstr "" + +#. type: item +#: doc/guix.texi:1875 +#, no-wrap +msgid "--install-from-file=@var{file}" +msgstr "" + +#. type: itemx +#: doc/guix.texi:1876 doc/guix.texi:5695 +#, no-wrap +msgid "-f @var{file}" +msgstr "" + +#. type: table +#: doc/guix.texi:1878 +msgid "Install the package that the code within @var{file} evaluates to." +msgstr "" + +#. type: table +#: doc/guix.texi:1881 doc/guix.texi:7279 +msgid "As an example, @var{file} might contain a definition like this (@pxref{Defining Packages}):" +msgstr "" + +#. type: example +#: doc/guix.texi:1884 doc/guix.texi:5705 +#, no-wrap +msgid "@verbatiminclude package-hello.scm\n" +msgstr "" + +#. type: table +#: doc/guix.texi:1890 +msgid "" +"Developers may find it useful to include such a @file{guix.scm} file in the root of their project source tree that can be used to " +"test development snapshots and create reproducible development environments (@pxref{Invoking guix environment})." +msgstr "" + +#. type: item +#: doc/guix.texi:1891 +#, no-wrap +msgid "--remove=@var{package} @dots{}" +msgstr "" + +#. type: itemx +#: doc/guix.texi:1892 +#, no-wrap +msgid "-r @var{package} @dots{}" +msgstr "" + +#. type: table +#: doc/guix.texi:1894 +msgid "Remove the specified @var{package}s." +msgstr "" + +#. type: table +#: doc/guix.texi:1899 +msgid "" +"As for @code{--install}, each @var{package} may specify a version number and/or output name in addition to the package name. For " +"instance, @code{-r glibc:debug} would remove the @code{debug} output of @code{glibc}." +msgstr "" + +#. type: item +#: doc/guix.texi:1900 +#, no-wrap +msgid "--upgrade[=@var{regexp} @dots{}]" +msgstr "" + +#. type: itemx +#: doc/guix.texi:1901 +#, no-wrap +msgid "-u [@var{regexp} @dots{}]" +msgstr "" + +#. type: cindex +#: doc/guix.texi:1902 +#, no-wrap +msgid "upgrading packages" +msgstr "" + +#. type: table +#: doc/guix.texi:1906 +msgid "" +"Upgrade all the installed packages. If one or more @var{regexp}s are specified, upgrade only installed packages whose name matches " +"a @var{regexp}. Also see the @code{--do-not-upgrade} option below." +msgstr "" + +#. type: table +#: doc/guix.texi:1911 +msgid "" +"Note that this upgrades package to the latest version of packages found in the distribution currently installed. To update your " +"distribution, you should regularly run @command{guix pull} (@pxref{Invoking guix pull})." +msgstr "" + +#. type: item +#: doc/guix.texi:1912 +#, no-wrap +msgid "--do-not-upgrade[=@var{regexp} @dots{}]" +msgstr "" + +#. type: table +#: doc/guix.texi:1917 +msgid "" +"When used together with the @code{--upgrade} option, do @emph{not} upgrade any packages whose name matches a @var{regexp}. For " +"example, to upgrade all packages in the current profile except those containing the substring ``emacs'':" +msgstr "" + +#. type: example +#: doc/guix.texi:1920 +#, no-wrap +msgid "$ guix package --upgrade . --do-not-upgrade emacs\n" +msgstr "" + +#. type: anchor{#1} +#: doc/guix.texi:1922 +#, no-wrap +msgid "profile-manifest" +msgstr "" + +#. type: item +#: doc/guix.texi:1922 doc/guix.texi:2877 doc/guix.texi:6573 doc/guix.texi:7284 doc/guix.texi:7968 +#, no-wrap +msgid "--manifest=@var{file}" +msgstr "" + +#. type: itemx +#: doc/guix.texi:1923 doc/guix.texi:2878 doc/guix.texi:6574 doc/guix.texi:7285 +#, no-wrap +msgid "-m @var{file}" +msgstr "" + +#. type: cindex +#: doc/guix.texi:1924 +#, no-wrap +msgid "profile declaration" +msgstr "" + +#. type: cindex +#: doc/guix.texi:1925 +#, no-wrap +msgid "profile manifest" +msgstr "" + +#. type: table +#: doc/guix.texi:1928 +msgid "Create a new generation of the profile from the manifest object returned by the Scheme code in @var{file}." +msgstr "" + +#. type: table +#: doc/guix.texi:1934 +msgid "" +"This allows you to @emph{declare} the profile's contents rather than constructing it through a sequence of @code{--install} and " +"similar commands. The advantage is that @var{file} can be put under version control, copied to different machines to reproduce the " +"same profile, and so on." +msgstr "" + +#. type: table +#: doc/guix.texi:1938 +msgid "@var{file} must return a @dfn{manifest} object, which is roughly a list of packages:" +msgstr "" + +#. type: findex +#: doc/guix.texi:1939 +#, no-wrap +msgid "packages->manifest" +msgstr "" + +#. type: example +#: doc/guix.texi:1942 +#, no-wrap +msgid "" +"(use-package-modules guile emacs)\n" +"\n" +msgstr "" + +#. type: example +#: doc/guix.texi:1948 +#, no-wrap +msgid "" +"(packages->manifest\n" +" (list emacs\n" +" guile-2.0\n" +" ;; Use a specific package output.\n" +" (list guile-2.0 \"debug\")))\n" +msgstr "" + +#. type: findex +#: doc/guix.texi:1950 +#, no-wrap +msgid "specifications->manifest" +msgstr "" + +#. type: table +#: doc/guix.texi:1957 +msgid "" +"In this example we have to know which modules define the @code{emacs} and @code{guile-2.0} variables to provide the right @code{use-" +"package-modules} line, which can be cumbersome. We can instead provide regular package specifications and let @code{specifications-" +">manifest} look up the corresponding package objects, like this:" +msgstr "" + +#. type: example +#: doc/guix.texi:1961 +#, no-wrap +msgid "" +"(specifications->manifest\n" +" '(\"emacs\" \"guile@@2.2\" \"guile@@2.2:debug\"))\n" +msgstr "" + +#. type: item +#: doc/guix.texi:1963 +#, no-wrap +msgid "--roll-back" +msgstr "" + +#. type: cindex +#: doc/guix.texi:1964 doc/guix.texi:20365 +#, no-wrap +msgid "rolling back" +msgstr "" + +#. type: cindex +#: doc/guix.texi:1965 +#, no-wrap +msgid "undoing transactions" +msgstr "" + +#. type: cindex +#: doc/guix.texi:1966 +#, no-wrap +msgid "transactions, undoing" +msgstr "" + +#. type: table +#: doc/guix.texi:1969 +msgid "Roll back to the previous @dfn{generation} of the profile---i.e., undo the last transaction." +msgstr "" + +#. type: table +#: doc/guix.texi:1972 +msgid "When combined with options such as @code{--install}, roll back occurs before any other actions." +msgstr "" + +#. type: table +#: doc/guix.texi:1976 +msgid "" +"When rolling back from the first generation that actually contains installed packages, the profile is made to point to the " +"@dfn{zeroth generation}, which contains no files apart from its own metadata." +msgstr "" + +#. type: table +#: doc/guix.texi:1980 +msgid "" +"After having rolled back, installing, removing, or upgrading packages overwrites previous future generations. Thus, the history of " +"the generations in a profile is always linear." +msgstr "" + +#. type: item +#: doc/guix.texi:1981 +#, no-wrap +msgid "--switch-generation=@var{pattern}" +msgstr "" + +#. type: itemx +#: doc/guix.texi:1982 +#, no-wrap +msgid "-S @var{pattern}" +msgstr "" + +#. type: cindex +#: doc/guix.texi:1983 doc/guix.texi:2181 doc/guix.texi:20323 +#, no-wrap +msgid "generations" +msgstr "" + +#. type: table +#: doc/guix.texi:1985 +msgid "Switch to a particular generation defined by @var{pattern}." +msgstr "" + +#. type: table +#: doc/guix.texi:1991 +msgid "" +"@var{pattern} may be either a generation number or a number prefixed with ``+'' or ``-''. The latter means: move forward/backward " +"by a specified number of generations. For example, if you want to return to the latest generation after @code{--roll-back}, use " +"@code{--switch-generation=+1}." +msgstr "" + +#. type: table +#: doc/guix.texi:1996 +msgid "" +"The difference between @code{--roll-back} and @code{--switch-generation=-1} is that @code{--switch-generation} will not make a " +"zeroth generation, so if a specified generation does not exist, the current generation will not be changed." +msgstr "" + +#. type: item +#: doc/guix.texi:1997 +#, no-wrap +msgid "--search-paths[=@var{kind}]" +msgstr "" + +#. type: table +#: doc/guix.texi:2003 +msgid "" +"Report environment variable definitions, in Bash syntax, that may be needed in order to use the set of installed packages. These " +"environment variables are used to specify @dfn{search paths} for files used by some of the installed packages." +msgstr "" + +#. type: table +#: doc/guix.texi:2011 +msgid "" +"For example, GCC needs the @code{CPATH} and @code{LIBRARY_PATH} environment variables to be defined so it can look for headers and " +"libraries in the user's profile (@pxref{Environment Variables,,, gcc, Using the GNU Compiler Collection (GCC)}). If GCC and, say, " +"the C library are installed in the profile, then @code{--search-paths} will suggest setting these variables to @code{@var{profile}/" +"include} and @code{@var{profile}/lib}, respectively." +msgstr "" + +#. type: table +#: doc/guix.texi:2014 +msgid "The typical use case is to define these environment variables in the shell:" +msgstr "" + +#. type: example +#: doc/guix.texi:2017 +#, no-wrap +msgid "$ eval `guix package --search-paths`\n" +msgstr "" + +#. type: table +#: doc/guix.texi:2023 +msgid "" +"@var{kind} may be one of @code{exact}, @code{prefix}, or @code{suffix}, meaning that the returned environment variable definitions " +"will either be exact settings, or prefixes or suffixes of the current value of these variables. When omitted, @var{kind} defaults " +"to @code{exact}." +msgstr "" + +#. type: table +#: doc/guix.texi:2026 +msgid "This option can also be used to compute the @emph{combined} search paths of several profiles. Consider this example:" +msgstr "" + +#. type: example +#: doc/guix.texi:2031 +#, no-wrap +msgid "" +"$ guix package -p foo -i guile\n" +"$ guix package -p bar -i guile-json\n" +"$ guix package -p foo -p bar --search-paths\n" +msgstr "" + +#. type: table +#: doc/guix.texi:2036 +msgid "" +"The last command above reports about the @code{GUILE_LOAD_PATH} variable, even though, taken individually, neither @file{foo} nor " +"@file{bar} would lead to that recommendation." +msgstr "" + +#. type: item +#: doc/guix.texi:2038 +#, no-wrap +msgid "--profile=@var{profile}" +msgstr "" + +#. type: itemx +#: doc/guix.texi:2039 +#, no-wrap +msgid "-p @var{profile}" +msgstr "" + +#. type: table +#: doc/guix.texi:2041 +msgid "Use @var{profile} instead of the user's default profile." +msgstr "" + +#. type: cindex +#: doc/guix.texi:2042 +#, no-wrap +msgid "collisions, in a profile" +msgstr "" + +#. type: cindex +#: doc/guix.texi:2043 +#, no-wrap +msgid "colliding packages in profiles" +msgstr "" + +#. type: cindex +#: doc/guix.texi:2044 +#, no-wrap +msgid "profile collisions" +msgstr "" + +#. type: item +#: doc/guix.texi:2045 +#, no-wrap +msgid "--allow-collisions" +msgstr "" + +#. type: table +#: doc/guix.texi:2047 +msgid "Allow colliding packages in the new profile. Use at your own risk!" +msgstr "" + +#. type: table +#: doc/guix.texi:2051 +msgid "" +"By default, @command{guix package} reports as an error @dfn{collisions} in the profile. Collisions happen when two or more " +"different versions or variants of a given package end up in the profile." +msgstr "" + +#. type: item +#: doc/guix.texi:2052 doc/guix.texi:2754 doc/guix.texi:7773 +#, no-wrap +msgid "--verbose" +msgstr "" + +#. type: table +#: doc/guix.texi:2055 +msgid "Produce verbose output. In particular, emit the build log of the environment on the standard error port." +msgstr "" + +#. type: item +#: doc/guix.texi:2056 doc/guix.texi:2773 doc/guix.texi:2931 +#, no-wrap +msgid "--bootstrap" +msgstr "" + +#. type: table +#: doc/guix.texi:2059 +msgid "Use the bootstrap Guile to build the profile. This option is only useful to distribution developers." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2065 +msgid "" +"In addition to these actions, @command{guix package} supports the following options to query the current state of a profile, or the " +"availability of packages:" +msgstr "" + +#. type: item +#: doc/guix.texi:2068 +#, no-wrap +msgid "--search=@var{regexp}" +msgstr "" + +#. type: itemx +#: doc/guix.texi:2069 +#, no-wrap +msgid "-s @var{regexp}" +msgstr "" + +#. type: cindex +#: doc/guix.texi:2070 +#, no-wrap +msgid "searching for packages" +msgstr "" + +#. type: table +#: doc/guix.texi:2075 +msgid "" +"List the available packages whose name, synopsis, or description matches @var{regexp}, sorted by relevance. Print all the metadata " +"of matching packages in @code{recutils} format (@pxref{Top, GNU recutils databases,, recutils, GNU recutils manual})." +msgstr "" + +#. type: table +#: doc/guix.texi:2078 +msgid "This allows specific fields to be extracted using the @command{recsel} command, for instance:" +msgstr "" + +#. type: example +#: doc/guix.texi:2084 +#, no-wrap +msgid "" +"$ guix package -s malloc | recsel -p name,version,relevance\n" +"name: jemalloc\n" +"version: 4.5.0\n" +"relevance: 6\n" +"\n" +msgstr "" + +#. type: example +#: doc/guix.texi:2088 +#, no-wrap +msgid "" +"name: glibc\n" +"version: 2.25\n" +"relevance: 1\n" +"\n" +msgstr "" + +#. type: example +#: doc/guix.texi:2092 +#, no-wrap +msgid "" +"name: libgc\n" +"version: 7.6.0\n" +"relevance: 1\n" +msgstr "" + +#. type: table +#: doc/guix.texi:2096 +msgid "Similarly, to show the name of all the packages available under the terms of the GNU@tie{}LGPL version 3:" +msgstr "" + +#. type: example +#: doc/guix.texi:2100 +#, no-wrap +msgid "" +"$ guix package -s \"\" | recsel -p name -e 'license ~ \"LGPL 3\"'\n" +"name: elfutils\n" +"\n" +msgstr "" + +#. type: example +#: doc/guix.texi:2103 +#, no-wrap +msgid "" +"name: gmp\n" +"@dots{}\n" +msgstr "" + +#. type: table +#: doc/guix.texi:2108 +msgid "" +"It is also possible to refine search results using several @code{-s} flags. For example, the following command returns a list of " +"board games:" +msgstr "" + +#. type: example +#: doc/guix.texi:2113 +#, no-wrap +msgid "" +"$ guix package -s '\\<board\\>' -s game | recsel -p name\n" +"name: gnubg\n" +"@dots{}\n" +msgstr "" + +#. type: table +#: doc/guix.texi:2119 +msgid "" +"If we were to omit @code{-s game}, we would also get software packages that deal with printed circuit boards; removing the angle " +"brackets around @code{board} would further add packages that have to do with keyboards." +msgstr "" + +#. type: table +#: doc/guix.texi:2123 +msgid "" +"And now for a more elaborate example. The following command searches for cryptographic libraries, filters out Haskell, Perl, " +"Python, and Ruby libraries, and prints the name and synopsis of the matching packages:" +msgstr "" + +#. type: example +#: doc/guix.texi:2127 +#, no-wrap +msgid "" +"$ guix package -s crypto -s library | \\\n" +" recsel -e '! (name ~ \"^(ghc|perl|python|ruby)\")' -p name,synopsis\n" +msgstr "" + +#. type: table +#: doc/guix.texi:2132 +msgid "" +"@xref{Selection Expressions,,, recutils, GNU recutils manual}, for more information on @dfn{selection expressions} for @code{recsel -" +"e}." +msgstr "" + +#. type: item +#: doc/guix.texi:2133 +#, no-wrap +msgid "--show=@var{package}" +msgstr "" + +#. type: table +#: doc/guix.texi:2137 +msgid "" +"Show details about @var{package}, taken from the list of available packages, in @code{recutils} format (@pxref{Top, GNU recutils " +"databases,, recutils, GNU recutils manual})." +msgstr "" + +#. type: example +#: doc/guix.texi:2142 +#, no-wrap +msgid "" +"$ guix package --show=python | recsel -p name,version\n" +"name: python\n" +"version: 2.7.6\n" +"\n" +msgstr "" + +#. type: example +#: doc/guix.texi:2145 +#, no-wrap +msgid "" +"name: python\n" +"version: 3.3.5\n" +msgstr "" + +#. type: table +#: doc/guix.texi:2149 +msgid "You may also specify the full name of a package to only get details about a specific version of it:" +msgstr "" + +#. type: example +#: doc/guix.texi:2153 +#, no-wrap +msgid "" +"$ guix package --show=python@@3.4 | recsel -p name,version\n" +"name: python\n" +"version: 3.4.3\n" +msgstr "" + +#. type: item +#: doc/guix.texi:2157 +#, no-wrap +msgid "--list-installed[=@var{regexp}]" +msgstr "" + +#. type: itemx +#: doc/guix.texi:2158 +#, no-wrap +msgid "-I [@var{regexp}]" +msgstr "" + +#. type: table +#: doc/guix.texi:2162 +msgid "" +"List the currently installed packages in the specified profile, with the most recently installed packages shown last. When " +"@var{regexp} is specified, list only installed packages whose name matches @var{regexp}." +msgstr "" + +#. type: table +#: doc/guix.texi:2168 +msgid "" +"For each installed package, print the following items, separated by tabs: the package name, its version string, the part of the " +"package that is installed (for instance, @code{out} for the default output, @code{include} for its headers, etc.), and the path of " +"this package in the store." +msgstr "" + +#. type: item +#: doc/guix.texi:2169 +#, no-wrap +msgid "--list-available[=@var{regexp}]" +msgstr "" + +#. type: itemx +#: doc/guix.texi:2170 +#, no-wrap +msgid "-A [@var{regexp}]" +msgstr "" + +#. type: table +#: doc/guix.texi:2174 +msgid "" +"List packages currently available in the distribution for this system (@pxref{GNU Distribution}). When @var{regexp} is specified, " +"list only installed packages whose name matches @var{regexp}." +msgstr "" +"Liste les paquets actuellement disponibles dans la distribution pour ce système (@pxref{Distribution GNU}). Lorsque @var{regexp} est " +"spécifié, liste uniquement les paquets dont le nom correspond à @var{regexp}." + +#. type: table +#: doc/guix.texi:2178 +msgid "" +"For each package, print the following items separated by tabs: its name, its version string, the parts of the package " +"(@pxref{Packages with Multiple Outputs}), and the source location of its definition." +msgstr "" + +#. type: item +#: doc/guix.texi:2179 +#, no-wrap +msgid "--list-generations[=@var{pattern}]" +msgstr "" + +#. type: itemx +#: doc/guix.texi:2180 +#, no-wrap +msgid "-l [@var{pattern}]" +msgstr "" + +#. type: table +#: doc/guix.texi:2186 +msgid "" +"Return a list of generations along with their creation dates; for each generation, show the installed packages, with the most " +"recently installed packages shown last. Note that the zeroth generation is never shown." +msgstr "" + +#. type: table +#: doc/guix.texi:2191 +msgid "" +"For each installed package, print the following items, separated by tabs: the name of a package, its version string, the part of the " +"package that is installed (@pxref{Packages with Multiple Outputs}), and the location of this package in the store." +msgstr "" + +#. type: table +#: doc/guix.texi:2194 +msgid "When @var{pattern} is used, the command returns only matching generations. Valid patterns include:" +msgstr "" + +#. type: item +#: doc/guix.texi:2196 +#, no-wrap +msgid "@emph{Integers and comma-separated integers}. Both patterns denote" +msgstr "" + +#. type: itemize +#: doc/guix.texi:2199 +msgid "generation numbers. For instance, @code{--list-generations=1} returns the first one." +msgstr "" + +#. type: itemize +#: doc/guix.texi:2202 +msgid "" +"And @code{--list-generations=1,8,2} outputs three generations in the specified order. Neither spaces nor trailing commas are " +"allowed." +msgstr "" + +#. type: item +#: doc/guix.texi:2203 +#, no-wrap +msgid "@emph{Ranges}. @code{--list-generations=2..9} prints the" +msgstr "" + +#. type: itemize +#: doc/guix.texi:2206 +msgid "specified generations and everything in between. Note that the start of a range must be smaller than its end." +msgstr "" + +#. type: itemize +#: doc/guix.texi:2210 +msgid "" +"It is also possible to omit the endpoint. For example, @code{--list-generations=2..}, returns all generations starting from the " +"second one." +msgstr "" + +#. type: item +#: doc/guix.texi:2211 +#, no-wrap +msgid "@emph{Durations}. You can also get the last @emph{N}@tie{}days, weeks," +msgstr "" + +#. type: itemize +#: doc/guix.texi:2215 +msgid "" +"or months by passing an integer along with the first letter of the duration. For example, @code{--list-generations=20d} lists " +"generations that are up to 20 days old." +msgstr "" + +#. type: item +#: doc/guix.texi:2217 +#, no-wrap +msgid "--delete-generations[=@var{pattern}]" +msgstr "" + +#. type: itemx +#: doc/guix.texi:2218 +#, no-wrap +msgid "-d [@var{pattern}]" +msgstr "" + +#. type: table +#: doc/guix.texi:2221 +msgid "When @var{pattern} is omitted, delete all generations except the current one." +msgstr "" + +#. type: table +#: doc/guix.texi:2227 +msgid "" +"This command accepts the same patterns as @option{--list-generations}. When @var{pattern} is specified, delete the matching " +"generations. When @var{pattern} specifies a duration, generations @emph{older} than the specified duration match. For instance, " +"@code{--delete-generations=1m} deletes generations that are more than one month old." +msgstr "" + +#. type: table +#: doc/guix.texi:2230 +msgid "If the current generation matches, it is @emph{not} deleted. Also, the zeroth generation is never deleted." +msgstr "" + +#. type: table +#: doc/guix.texi:2233 +msgid "Note that deleting generations prevents rolling back to them. Consequently, this command must be used with care." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2244 +msgid "" +"Finally, since @command{guix package} may actually start build processes, it supports all the common build options (@pxref{Common " +"Build Options}). It also supports package transformation options, such as @option{--with-source} (@pxref{Package Transformation " +"Options}). However, note that package transformations are lost when upgrading; to preserve transformations across upgrades, you " +"should define your own package variant in a Guile module and add it to @code{GUIX_PACKAGE_PATH} (@pxref{Defining Packages})." +msgstr "" + +#. type: cindex +#: doc/guix.texi:2249 +#, no-wrap +msgid "pre-built binaries" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2255 +msgid "" +"Guix supports transparent source/binary deployment, which means that it can either build things locally, or download pre-built items " +"from a server, or both. We call these pre-built items @dfn{substitutes}---they are substitutes for local build results. In many " +"cases, downloading a substitute is much faster than building things locally." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2260 +msgid "" +"Substitutes can be anything resulting from a derivation build (@pxref{Derivations}). Of course, in the common case, they are pre-" +"built package binaries, but source tarballs, for instance, which also result from derivation builds, can be available as substitutes." +msgstr "" + +#. type: cindex +#: doc/guix.texi:2273 +#, no-wrap +msgid "hydra" +msgstr "" + +#. type: cindex +#: doc/guix.texi:2274 +#, no-wrap +msgid "build farm" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2284 +msgid "" +"The @code{mirror.hydra.gnu.org} server is a front-end to an official build farm that builds packages from Guix continuously for some " +"architectures, and makes them available as substitutes. This is the default source of substitutes; it can be overridden by passing " +"the @option{--substitute-urls} option either to @command{guix-daemon} (@pxref{daemon-substitute-urls,, @code{guix-daemon --" +"substitute-urls}}) or to client tools such as @command{guix package} (@pxref{client-substitute-urls,, client @option{--substitute-" +"urls} option})." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2290 +msgid "" +"Substitute URLs can be either HTTP or HTTPS. HTTPS is recommended because communications are encrypted; conversely, using HTTP " +"makes all communications visible to an eavesdropper, who could use the information gathered to determine, for instance, whether your " +"system has unpatched security vulnerabilities." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2299 +msgid "" +"Substitutes from the official build farm are enabled by default when using the Guix System Distribution (@pxref{GNU Distribution}). " +"However, they are disabled by default when using Guix on a foreign distribution, unless you have explicitly enabled them via one of " +"the recommended installation steps (@pxref{Installation}). The following paragraphs describe how to enable or disable substitutes " +"for the official build farm; the same procedure can also be used to enable substitutes for any other substitute server." +msgstr "" + +#. type: cindex +#: doc/guix.texi:2303 +#, no-wrap +msgid "security" +msgstr "" + +#. type: cindex +#: doc/guix.texi:2305 +#, no-wrap +msgid "access control list (ACL), for substitutes" +msgstr "" + +#. type: cindex +#: doc/guix.texi:2306 +#, no-wrap +msgid "ACL (access control list), for substitutes" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2313 +msgid "" +"To allow Guix to download substitutes from @code{hydra.gnu.org} or a mirror thereof, you must add its public key to the access " +"control list (ACL) of archive imports, using the @command{guix archive} command (@pxref{Invoking guix archive}). Doing so implies " +"that you trust @code{hydra.gnu.org} to not be compromised and to serve genuine substitutes." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2320 +msgid "" +"The public key for @code{hydra.gnu.org} is installed along with Guix, in @code{@var{prefix}/share/guix/hydra.gnu.org.pub}, where " +"@var{prefix} is the installation prefix of Guix. If you installed Guix from source, make sure you checked the GPG signature of " +"@file{guix-@value{VERSION}.tar.gz}, which contains this public key file. Then, you can run something like this:" +msgstr "" + +#. type: example +#: doc/guix.texi:2323 +#, no-wrap +msgid "# guix archive --authorize < @var{prefix}/share/guix/hydra.gnu.org.pub\n" +msgstr "" + +#. type: quotation +#: doc/guix.texi:2329 +msgid "" +"Similarly, the @file{berlin.guixsd.org.pub} file contains the public key for the project's new build farm, reachable at " +"@indicateurl{https://berlin.guixsd.org}." +msgstr "" + +#. type: quotation +#: doc/guix.texi:2334 +msgid "" +"As of this writing @code{berlin.guixsd.org} is being upgraded so it can better scale up, but you might want to give it a try. It is " +"backed by 20 x86_64/i686 build nodes and may be able to provide substitutes more quickly than @code{mirror.hydra.gnu.org}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2338 +msgid "Once this is in place, the output of a command like @code{guix build} should change from something like:" +msgstr "" + +#. type: example +#: doc/guix.texi:2347 +#, no-wrap +msgid "" +"$ guix build emacs --dry-run\n" +"The following derivations would be built:\n" +" /gnu/store/yr7bnx8xwcayd6j95r2clmkdl1qh688w-emacs-24.3.drv\n" +" /gnu/store/x8qsh1hlhgjx6cwsjyvybnfv2i37z23w-dbus-1.6.4.tar.gz.drv\n" +" /gnu/store/1ixwp12fl950d15h2cj11c73733jay0z-alsa-lib-1.0.27.1.tar.bz2.drv\n" +" /gnu/store/nlma1pw0p603fpfiqy7kn4zm105r5dmw-util-linux-2.21.drv\n" +"@dots{}\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2351 +msgid "to something like:" +msgstr "" + +#. type: example +#: doc/guix.texi:2360 +#, no-wrap +msgid "" +"$ guix build emacs --dry-run\n" +"112.3 MB would be downloaded:\n" +" /gnu/store/pk3n22lbq6ydamyymqkkz7i69wiwjiwi-emacs-24.3\n" +" /gnu/store/2ygn4ncnhrpr61rssa6z0d9x22si0va3-libjpeg-8d\n" +" /gnu/store/71yz6lgx4dazma9dwn2mcjxaah9w77jq-cairo-1.12.16\n" +" /gnu/store/7zdhgp0n1518lvfn8mb96sxqfmvqrl7v-libxrender-0.9.7\n" +"@dots{}\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2365 +msgid "This indicates that substitutes from @code{hydra.gnu.org} are usable and will be downloaded, when possible, for future builds." +msgstr "" + +#. type: cindex +#: doc/guix.texi:2366 +#, no-wrap +msgid "substitutes, how to disable" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2372 +msgid "" +"The substitute mechanism can be disabled globally by running @code{guix-daemon} with @code{--no-substitutes} (@pxref{Invoking guix-" +"daemon}). It can also be disabled temporarily by passing the @code{--no-substitutes} option to @command{guix package}, " +"@command{guix build}, and other command-line tools." +msgstr "" + +#. type: cindex +#: doc/guix.texi:2376 +#, no-wrap +msgid "digital signatures" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2380 +msgid "" +"Guix detects and raises an error when attempting to use a substitute that has been tampered with. Likewise, it ignores substitutes " +"that are not signed, or that are not signed by one of the keys listed in the ACL." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2386 +msgid "" +"There is one exception though: if an unauthorized server provides substitutes that are @emph{bit-for-bit identical} to those " +"provided by an authorized server, then the unauthorized server becomes eligible for downloads. For example, assume we have chosen " +"two substitute servers with this option:" +msgstr "" + +#. type: example +#: doc/guix.texi:2389 +#, no-wrap +msgid "--substitute-urls=\"https://a.example.org https://b.example.org\"\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2400 +msgid "" +"If the ACL contains only the key for @code{b.example.org}, and if @code{a.example.org} happens to serve the @emph{exact same} " +"substitutes, then Guix will download substitutes from @code{a.example.org} because it comes first in the list and can be considered " +"a mirror of @code{b.example.org}. In practice, independent build machines usually produce the same binaries, thanks to bit-" +"reproducible builds (see below)." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2407 +msgid "" +"When using HTTPS, the server's X.509 certificate is @emph{not} validated (in other words, the server is not authenticated), contrary " +"to what HTTPS clients such as Web browsers usually do. This is because Guix authenticates substitute information itself, as " +"explained above, which is what we care about (whereas X.509 certificates are about authenticating bindings between domain names and " +"public keys.)" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2419 +msgid "" +"Substitutes are downloaded over HTTP or HTTPS. The @code{http_proxy} environment variable can be set in the environment of " +"@command{guix-daemon} and is honored for downloads of substitutes. Note that the value of @code{http_proxy} in the environment " +"where @command{guix build}, @command{guix package}, and other client commands are run has @emph{absolutely no effect}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2428 +msgid "" +"Even when a substitute for a derivation is available, sometimes the substitution attempt will fail. This can happen for a variety " +"of reasons: the substitute server might be offline, the substitute may recently have been deleted, the connection might have been " +"interrupted, etc." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2442 +msgid "" +"When substitutes are enabled and a substitute for a derivation is available, but the substitution attempt fails, Guix will attempt " +"to build the derivation locally depending on whether or not @code{--fallback} was given (@pxref{fallback-option,, common build " +"option @code{--fallback}}). Specifically, if @code{--fallback} was omitted, then no local build will be performed, and the " +"derivation is considered to have failed. However, if @code{--fallback} was given, then Guix will attempt to build the derivation " +"locally, and the success or failure of the derivation depends on the success or failure of the local build. Note that when " +"substitutes are disabled or no substitute is available for the derivation in question, a local build will @emph{always} be " +"performed, regardless of whether or not @code{--fallback} was given." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2447 +msgid "" +"To get an idea of how many substitutes are available right now, you can try running the @command{guix weather} command " +"(@pxref{Invoking guix weather}). This command provides statistics on the substitutes provided by a server." +msgstr "" + +#. type: cindex +#: doc/guix.texi:2451 +#, no-wrap +msgid "trust, of pre-built binaries" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2461 +msgid "" +"Today, each individual's control over their own computing is at the mercy of institutions, corporations, and groups with enough " +"power and determination to subvert the computing infrastructure and exploit its weaknesses. While using @code{hydra.gnu.org} " +"substitutes can be convenient, we encourage users to also build on their own, or even run their own build farm, such that " +"@code{hydra.gnu.org} is less of an interesting target. One way to help is by publishing the software you build using @command{guix " +"publish} so that others have one more choice of server to download substitutes from (@pxref{Invoking guix publish})." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2473 +msgid "" +"Guix has the foundations to maximize build reproducibility (@pxref{Features}). In most cases, independent builds of a given package " +"or derivation should yield bit-identical results. Thus, through a diverse set of independent package builds, we can strengthen the " +"integrity of our systems. The @command{guix challenge} command aims to help users assess substitute servers, and to assist " +"developers in finding out about non-deterministic package builds (@pxref{Invoking guix challenge}). Similarly, the @option{--check} " +"option of @command{guix build} allows users to check whether previously-installed substitutes are genuine by rebuilding them locally " +"(@pxref{build-check, @command{guix build --check}})." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2477 +msgid "" +"In the future, we want Guix to have support to publish and retrieve binaries to/from other users, in a peer-to-peer fashion. If you " +"would like to discuss this project, join us on @email{guix-devel@@gnu.org}." +msgstr "" + +#. type: cindex +#: doc/guix.texi:2481 +#, no-wrap +msgid "multiple-output packages" +msgstr "" + +#. type: cindex +#: doc/guix.texi:2482 +#, no-wrap +msgid "package outputs" +msgstr "" + +#. type: cindex +#: doc/guix.texi:2483 +#, no-wrap +msgid "outputs" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2493 +msgid "" +"Often, packages defined in Guix have a single @dfn{output}---i.e., the source package leads to exactly one directory in the store. " +"When running @command{guix package -i glibc}, one installs the default output of the GNU libc package; the default output is called " +"@code{out}, but its name can be omitted as shown in this command. In this particular case, the default output of @code{glibc} " +"contains all the C header files, shared libraries, static libraries, Info documentation, and other supporting files." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2501 +msgid "" +"Sometimes it is more appropriate to separate the various types of files produced from a single source package into separate " +"outputs. For instance, the GLib C library (used by GTK+ and related packages) installs more than 20 MiB of reference documentation " +"as HTML pages. To save space for users who do not need it, the documentation goes to a separate output, called @code{doc}. To " +"install the main GLib output, which contains everything but the documentation, one would run:" +msgstr "" + +#. type: example +#: doc/guix.texi:2504 +#, no-wrap +msgid "guix package -i glib\n" +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:2506 doc/guix.texi:21259 +#, no-wrap +msgid "documentation" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2508 +msgid "The command to install its documentation is:" +msgstr "" + +#. type: example +#: doc/guix.texi:2511 +#, no-wrap +msgid "guix package -i glib:doc\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2522 +msgid "" +"Some packages install programs with different ``dependency footprints''. For instance, the WordNet package installs both command-" +"line tools and graphical user interfaces (GUIs). The former depend solely on the C library, whereas the latter depend on Tcl/Tk and " +"the underlying X libraries. In this case, we leave the command-line tools in the default output, whereas the GUIs are in a separate " +"output. This allows users who do not need the GUIs to save space. The @command{guix size} command can help find out about such " +"situations (@pxref{Invoking guix size}). @command{guix graph} can also be helpful (@pxref{Invoking guix graph})." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2530 +msgid "" +"There are several such multiple-output packages in the GNU distribution. Other conventional output names include @code{lib} for " +"libraries and possibly header files, @code{bin} for stand-alone programs, and @code{debug} for debugging information " +"(@pxref{Installing Debugging Files}). The outputs of a packages are listed in the third column of the output of @command{guix " +"package --list-available} (@pxref{Invoking guix package})." +msgstr "" + +#. type: section +#: doc/guix.texi:2533 +#, no-wrap +msgid "Invoking @command{guix gc}" +msgstr "" + +#. type: cindex +#: doc/guix.texi:2535 +#, no-wrap +msgid "garbage collector" +msgstr "" + +#. type: cindex +#: doc/guix.texi:2536 +#, no-wrap +msgid "disk space" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2542 +msgid "" +"Packages that are installed, but not used, may be @dfn{garbage-collected}. The @command{guix gc} command allows users to explicitly " +"run the garbage collector to reclaim space from the @file{/gnu/store} directory. It is the @emph{only} way to remove files from " +"@file{/gnu/store}---removing files or directories manually may break it beyond repair!" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2553 +msgid "" +"The garbage collector has a set of known @dfn{roots}: any file under @file{/gnu/store} reachable from a root is considered " +"@dfn{live} and cannot be deleted; any other file is considered @dfn{dead} and may be deleted. The set of garbage collector roots " +"(``GC roots'' for short) includes default user profiles; by default, the symlinks under @file{/var/guix/gcroots} represent these GC " +"roots. New GC roots can be added with @command{guix build --root}, for example (@pxref{Invoking guix build})." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2559 +msgid "" +"Prior to running @code{guix gc --collect-garbage} to make space, it is often useful to remove old generations from user profiles; " +"that way, old package builds referenced by those generations can be reclaimed. This is achieved by running @code{guix package --" +"delete-generations} (@pxref{Invoking guix package})." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2563 +msgid "" +"Our recommendation is to run a garbage collection periodically, or when you are short on disk space. For instance, to guarantee " +"that at least 5@tie{}GB are available on your disk, simply run:" +msgstr "" + +#. type: example +#: doc/guix.texi:2566 +#, no-wrap +msgid "guix gc -F 5G\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2575 +msgid "" +"It is perfectly safe to run as a non-interactive periodic job (@pxref{Scheduled Job Execution}, for how to set up such a job on " +"GuixSD). Running @command{guix gc} with no arguments will collect as much garbage as it can, but that is often inconvenient: you " +"may find yourself having to rebuild or re-download software that is ``dead'' from the GC viewpoint but that is necessary to build " +"other pieces of software---e.g., the compiler tool chain." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2581 +msgid "" +"The @command{guix gc} command has three modes of operation: it can be used to garbage-collect any dead files (the default), to " +"delete specific files (the @code{--delete} option), to print garbage-collector information, or for more advanced queries. The " +"garbage collection options are as follows:" +msgstr "" + +#. type: item +#: doc/guix.texi:2583 +#, no-wrap +msgid "--collect-garbage[=@var{min}]" +msgstr "" + +#. type: itemx +#: doc/guix.texi:2584 +#, no-wrap +msgid "-C [@var{min}]" +msgstr "" + +#. type: table +#: doc/guix.texi:2588 +msgid "" +"Collect garbage---i.e., unreachable @file{/gnu/store} files and sub-directories. This is the default operation when no option is " +"specified." +msgstr "" + +#. type: table +#: doc/guix.texi:2593 +msgid "" +"When @var{min} is given, stop once @var{min} bytes have been collected. @var{min} may be a number of bytes, or it may include a " +"unit as a suffix, such as @code{MiB} for mebibytes and @code{GB} for gigabytes (@pxref{Block size, size specifications,, coreutils, " +"GNU Coreutils})." +msgstr "" + +#. type: table +#: doc/guix.texi:2595 +msgid "When @var{min} is omitted, collect all the garbage." +msgstr "" + +#. type: item +#: doc/guix.texi:2596 +#, no-wrap +msgid "--free-space=@var{free}" +msgstr "" + +#. type: itemx +#: doc/guix.texi:2597 +#, no-wrap +msgid "-F @var{free}" +msgstr "" + +#. type: table +#: doc/guix.texi:2601 +msgid "" +"Collect garbage until @var{free} space is available under @file{/gnu/store}, if possible; @var{free} denotes storage space, such as " +"@code{500MiB}, as described above." +msgstr "" + +#. type: table +#: doc/guix.texi:2604 +msgid "When @var{free} or more is already available in @file{/gnu/store}, do nothing and exit immediately." +msgstr "" + +#. type: item +#: doc/guix.texi:2605 +#, no-wrap +msgid "--delete" +msgstr "" + +#. type: itemx +#: doc/guix.texi:2606 doc/guix.texi:5836 doc/guix.texi:20536 +#, no-wrap +msgid "-d" +msgstr "" + +#. type: table +#: doc/guix.texi:2610 +msgid "" +"Attempt to delete all the store files and directories specified as arguments. This fails if some of the files are not in the store, " +"or if they are still live." +msgstr "" + +#. type: item +#: doc/guix.texi:2611 +#, no-wrap +msgid "--list-failures" +msgstr "" + +#. type: table +#: doc/guix.texi:2613 +msgid "List store items corresponding to cached build failures." +msgstr "" + +#. type: table +#: doc/guix.texi:2617 +msgid "" +"This prints nothing unless the daemon was started with @option{--cache-failures} (@pxref{Invoking guix-daemon, @option{--cache-" +"failures}})." +msgstr "" + +#. type: item +#: doc/guix.texi:2618 +#, no-wrap +msgid "--clear-failures" +msgstr "" + +#. type: table +#: doc/guix.texi:2620 +msgid "Remove the specified store items from the failed-build cache." +msgstr "" + +#. type: table +#: doc/guix.texi:2623 +msgid "Again, this option only makes sense when the daemon is started with @option{--cache-failures}. Otherwise, it does nothing." +msgstr "" + +#. type: item +#: doc/guix.texi:2624 +#, no-wrap +msgid "--list-dead" +msgstr "" + +#. type: table +#: doc/guix.texi:2627 +msgid "" +"Show the list of dead files and directories still present in the store---i.e., files and directories no longer reachable from any " +"root." +msgstr "" + +#. type: item +#: doc/guix.texi:2628 +#, no-wrap +msgid "--list-live" +msgstr "" + +#. type: table +#: doc/guix.texi:2630 +msgid "Show the list of live store files and directories." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2634 +msgid "In addition, the references among existing store files can be queried:" +msgstr "" + +#. type: item +#: doc/guix.texi:2637 +#, no-wrap +msgid "--references" +msgstr "" + +#. type: itemx +#: doc/guix.texi:2638 +#, no-wrap +msgid "--referrers" +msgstr "" + +#. type: cindex +#: doc/guix.texi:2639 doc/guix.texi:6931 +#, no-wrap +msgid "package dependencies" +msgstr "" + +#. type: table +#: doc/guix.texi:2642 +msgid "List the references (respectively, the referrers) of store files given as arguments." +msgstr "" + +#. type: item +#: doc/guix.texi:2643 +#, no-wrap +msgid "--requisites" +msgstr "" + +#. type: itemx +#: doc/guix.texi:2644 +#, no-wrap +msgid "-R" +msgstr "" + +#. type: item +#: doc/guix.texi:2645 doc/guix.texi:6815 doc/guix.texi:6839 doc/guix.texi:6903 +#, no-wrap +msgid "closure" +msgstr "" + +#. type: table +#: doc/guix.texi:2650 +msgid "" +"List the requisites of the store files passed as arguments. Requisites include the store files themselves, their references, and " +"the references of these, recursively. In other words, the returned list is the @dfn{transitive closure} of the store files." +msgstr "" + +#. type: table +#: doc/guix.texi:2654 +msgid "" +"@xref{Invoking guix size}, for a tool to profile the size of the closure of an element. @xref{Invoking guix graph}, for a tool to " +"visualize the graph of references." +msgstr "" + +#. type: item +#: doc/guix.texi:2655 +#, no-wrap +msgid "--derivers" +msgstr "" + +#. type: item +#: doc/guix.texi:2656 doc/guix.texi:3122 doc/guix.texi:7016 +#, no-wrap +msgid "derivation" +msgstr "" + +#. type: table +#: doc/guix.texi:2659 +msgid "Return the derivation(s) leading to the given store items (@pxref{Derivations})." +msgstr "" + +#. type: table +#: doc/guix.texi:2661 +msgid "For example, this command:" +msgstr "" + +#. type: example +#: doc/guix.texi:2664 +#, no-wrap +msgid "guix gc --derivers `guix package -I ^emacs$ | cut -f4`\n" +msgstr "" + +#. type: table +#: doc/guix.texi:2669 +msgid "returns the @file{.drv} file(s) leading to the @code{emacs} package installed in your profile." +msgstr "" + +#. type: table +#: doc/guix.texi:2673 +msgid "" +"Note that there may be zero matching @file{.drv} files, for instance because these files have been garbage-collected. There can " +"also be more than one matching @file{.drv} due to fixed-output derivations." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2677 +msgid "Lastly, the following options allow you to check the integrity of the store and to control disk usage." +msgstr "" + +#. type: item +#: doc/guix.texi:2680 +#, no-wrap +msgid "--verify[=@var{options}]" +msgstr "" + +#. type: cindex +#: doc/guix.texi:2681 +#, no-wrap +msgid "integrity, of the store" +msgstr "" + +#. type: cindex +#: doc/guix.texi:2682 +#, no-wrap +msgid "integrity checking" +msgstr "" + +#. type: table +#: doc/guix.texi:2684 +msgid "Verify the integrity of the store." +msgstr "" + +#. type: table +#: doc/guix.texi:2687 +msgid "" +"By default, make sure that all the store items marked as valid in the database of the daemon actually exist in @file{/gnu/store}." +msgstr "" + +#. type: table +#: doc/guix.texi:2690 +msgid "When provided, @var{options} must be a comma-separated list containing one or more of @code{contents} and @code{repair}." +msgstr "" + +#. type: table +#: doc/guix.texi:2696 +msgid "" +"When passing @option{--verify=contents}, the daemon computes the content hash of each store item and compares it against its hash in " +"the database. Hash mismatches are reported as data corruptions. Because it traverses @emph{all the files in the store}, this " +"command can take a long time, especially on systems with a slow disk drive." +msgstr "" + +#. type: cindex +#: doc/guix.texi:2697 +#, no-wrap +msgid "repairing the store" +msgstr "" + +#. type: cindex +#: doc/guix.texi:2698 doc/guix.texi:5829 +#, no-wrap +msgid "corruption, recovering from" +msgstr "" + +#. type: table +#: doc/guix.texi:2706 +msgid "" +"Using @option{--verify=repair} or @option{--verify=contents,repair} causes the daemon to try to repair corrupt store items by " +"fetching substitutes for them (@pxref{Substitutes}). Because repairing is not atomic, and thus potentially dangerous, it is " +"available only to the system administrator. A lightweight alternative, when you know exactly which items in the store are corrupt, " +"is @command{guix build --repair} (@pxref{Invoking guix build})." +msgstr "" +"Utiliser @option{--verify=repair} ou @option{--verify=contents,repair} fait que le démon essaie de réparer les objets du dépôt " +"corrompus en récupérant leurs substituts (@pxref{Substituts}). Comme la réparation n'est pas atomique et donc potentiellement " +"dangereuse, elle n'est disponible que pour l'administrateur système. Une alternative plus légère lorsque vous connaissez exactement " +"quelle entrée est corrompue consiste à lancer @command{guix build --repair} (@pxref{Invoking guix build})." + +#. type: item +#: doc/guix.texi:2707 +#, no-wrap +msgid "--optimize" +msgstr "" + +#. type: table +#: doc/guix.texi:2711 +msgid "Optimize the store by hard-linking identical files---this is @dfn{deduplication}." +msgstr "" + +#. type: table +#: doc/guix.texi:2717 +msgid "" +"The daemon performs deduplication after each successful build or archive import, unless it was started with @code{--disable-" +"deduplication} (@pxref{Invoking guix-daemon, @code{--disable-deduplication}}). Thus, this option is primarily useful when the " +"daemon was running with @code{--disable-deduplication}." +msgstr "" + +#. type: section +#: doc/guix.texi:2721 +#, no-wrap +msgid "Invoking @command{guix pull}" +msgstr "" + +#. type: cindex +#: doc/guix.texi:2723 +#, no-wrap +msgid "upgrading Guix" +msgstr "" + +#. type: cindex +#: doc/guix.texi:2724 +#, no-wrap +msgid "updating Guix" +msgstr "" + +#. type: command{#1} +#: doc/guix.texi:2725 +#, no-wrap +msgid "guix pull" +msgstr "" + +#. type: cindex +#: doc/guix.texi:2726 +#, no-wrap +msgid "pull" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2733 +msgid "" +"Packages are installed or upgraded to the latest version available in the distribution currently available on your local machine. " +"To update that distribution, along with the Guix tools, you must run @command{guix pull}: the command downloads the latest Guix " +"source code and package descriptions, and deploys it. Source code is downloaded from a @uref{https://git-scm.com, Git} repository." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2739 +msgid "" +"On completion, @command{guix package} will use packages and package versions from this just-retrieved copy of Guix. Not only that, " +"but all the Guix commands and Scheme modules will also be taken from that latest version. New @command{guix} sub-commands added by " +"the update also become available." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2749 +msgid "" +"Any user can update their Guix copy using @command{guix pull}, and the effect is limited to the user who run @command{guix pull}. " +"For instance, when user @code{root} runs @command{guix pull}, this has no effect on the version of Guix that user @code{alice} sees, " +"and vice versa@footnote{Under the hood, @command{guix pull} updates the @file{~/.config/guix/latest} symbolic link to point to the " +"latest Guix, and the @command{guix} command loads code from there. Currently, the only way to roll back an invocation of " +"@command{guix pull} is to manually update this symlink to point to the previous Guix.}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2752 +msgid "The @command{guix pull} command is usually invoked with no arguments, but it supports the following options:" +msgstr "" + +#. type: table +#: doc/guix.texi:2756 +msgid "Produce verbose output, writing build logs to the standard error output." +msgstr "" + +#. type: item +#: doc/guix.texi:2757 +#, no-wrap +msgid "--url=@var{url}" +msgstr "" + +#. type: table +#: doc/guix.texi:2759 +msgid "Download Guix from the Git repository at @var{url}." +msgstr "" + +#. type: vindex +#: doc/guix.texi:2760 +#, no-wrap +msgid "GUIX_PULL_URL" +msgstr "" + +#. type: table +#: doc/guix.texi:2764 +msgid "" +"By default, the source is taken from its canonical Git repository at @code{gnu.org}, for the stable branch of Guix. To use a " +"different source, set the @code{GUIX_PULL_URL} environment variable." +msgstr "" + +#. type: item +#: doc/guix.texi:2765 +#, no-wrap +msgid "--commit=@var{commit}" +msgstr "" + +#. type: table +#: doc/guix.texi:2768 +msgid "Deploy @var{commit}, a valid Git commit ID represented as a hexadecimal string." +msgstr "" + +#. type: item +#: doc/guix.texi:2769 +#, no-wrap +msgid "--branch=@var{branch}" +msgstr "" + +#. type: table +#: doc/guix.texi:2772 +msgid "Deploy the tip of @var{branch}, the name of a Git branch available on the repository at @var{url}." +msgstr "" + +#. type: table +#: doc/guix.texi:2776 +msgid "Use the bootstrap Guile to build the latest Guix. This option is only useful to Guix developers." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2780 +msgid "In addition, @command{guix pull} supports all the common build options (@pxref{Common Build Options})." +msgstr "" + +#. type: section +#: doc/guix.texi:2782 +#, no-wrap +msgid "Invoking @command{guix pack}" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2788 +msgid "" +"Occasionally you want to pass software to people who are not (yet!) lucky enough to be using Guix. You'd tell them to run " +"@command{guix package -i @var{something}}, but that's not possible in this case. This is where @command{guix pack} comes in." +msgstr "" + +#. type: quotation +#: doc/guix.texi:2793 +msgid "" +"If you are looking for ways to exchange binaries among machines that already run Guix, @pxref{Invoking guix copy}, @ref{Invoking " +"guix publish}, and @ref{Invoking guix archive}." +msgstr "" + +#. type: cindex +#: doc/guix.texi:2795 +#, no-wrap +msgid "pack" +msgstr "" + +#. type: cindex +#: doc/guix.texi:2796 +#, no-wrap +msgid "bundle" +msgstr "" + +#. type: cindex +#: doc/guix.texi:2797 +#, no-wrap +msgid "application bundle" +msgstr "" + +#. type: cindex +#: doc/guix.texi:2798 +#, no-wrap +msgid "software bundle" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2807 +msgid "" +"The @command{guix pack} command creates a shrink-wrapped @dfn{pack} or @dfn{software bundle}: it creates a tarball or some other " +"archive containing the binaries of the software you're interested in, and all its dependencies. The resulting archive can be used " +"on any machine that does not have Guix, and people can run the exact same binaries as those you have with Guix. The pack itself is " +"created in a bit-reproducible fashion, so anyone can verify that it really contains the build results that you pretend to be " +"shipping." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2810 +msgid "For example, to create a bundle containing Guile, Emacs, Geiser, and all their dependencies, you can run:" +msgstr "" + +#. type: example +#: doc/guix.texi:2815 +#, no-wrap +msgid "" +"$ guix pack guile emacs geiser\n" +"@dots{}\n" +"/gnu/store/@dots{}-pack.tar.gz\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2823 +msgid "" +"The result here is a tarball containing a @file{/gnu/store} directory with all the relevant packages. The resulting tarball " +"contains a @dfn{profile} with the three packages of interest; the profile is the same as would be created by @command{guix package -" +"i}. It is this mechanism that is used to create Guix's own standalone binary tarball (@pxref{Binary Installation})." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2828 +msgid "" +"Users of this pack would have to run @file{/gnu/store/@dots{}-profile/bin/guile} to run Guile, which you may find inconvenient. To " +"work around it, you can create, say, a @file{/opt/gnu/bin} symlink to the profile:" +msgstr "" + +#. type: example +#: doc/guix.texi:2831 +#, no-wrap +msgid "guix pack -S /opt/gnu/bin=bin guile emacs geiser\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2835 +msgid "That way, users can happily type @file{/opt/gnu/bin/guile} and enjoy." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2838 +msgid "Alternatively, you can produce a pack in the Docker image format using the following command:" +msgstr "" + +#. type: example +#: doc/guix.texi:2841 +#, no-wrap +msgid "guix pack -f docker guile emacs geiser\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2848 +msgid "" +"The result is a tarball that can be passed to the @command{docker load} command. See the @uref{https://docs.docker.com/engine/" +"reference/commandline/load/, Docker documentation} for more information." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2850 +msgid "Several command-line options allow you to customize your pack:" +msgstr "" + +#. type: item +#: doc/guix.texi:2852 +#, no-wrap +msgid "--format=@var{format}" +msgstr "" + +#. type: itemx +#: doc/guix.texi:2853 +#, no-wrap +msgid "-f @var{format}" +msgstr "" + +#. type: table +#: doc/guix.texi:2855 +msgid "Produce a pack in the given @var{format}." +msgstr "" + +#. type: table +#: doc/guix.texi:2857 +msgid "The available formats are:" +msgstr "" + +#. type: item +#: doc/guix.texi:2859 +#, no-wrap +msgid "tarball" +msgstr "" + +#. type: table +#: doc/guix.texi:2862 +msgid "This is the default format. It produces a tarball containing all the specified binaries and symlinks." +msgstr "" + +#. type: item +#: doc/guix.texi:2863 +#, no-wrap +msgid "docker" +msgstr "" + +#. type: table +#: doc/guix.texi:2867 +msgid "" +"This produces a tarball that follows the @uref{https://github.com/docker/docker/blob/master/image/spec/v1.2.md, Docker Image " +"Specification}." +msgstr "" + +#. type: item +#: doc/guix.texi:2869 doc/guix.texi:5707 doc/guix.texi:6532 doc/guix.texi:7093 doc/guix.texi:7243 doc/guix.texi:20522 +#, no-wrap +msgid "--expression=@var{expr}" +msgstr "" + +#. type: itemx +#: doc/guix.texi:2870 doc/guix.texi:5708 doc/guix.texi:6533 doc/guix.texi:7094 doc/guix.texi:7244 doc/guix.texi:20523 +#, no-wrap +msgid "-e @var{expr}" +msgstr "" + +#. type: table +#: doc/guix.texi:2872 doc/guix.texi:6535 doc/guix.texi:7096 +msgid "Consider the package @var{expr} evaluates to." +msgstr "" + +#. type: table +#: doc/guix.texi:2876 +msgid "" +"This has the same purpose as the same-named option in @command{guix build} (@pxref{Additional Build Options, @code{--expression} in " +"@command{guix build}})." +msgstr "" + +#. type: table +#: doc/guix.texi:2881 +msgid "Use the packages contained in the manifest object returned by the Scheme code in @var{file}." +msgstr "" + +#. type: table +#: doc/guix.texi:2889 +msgid "" +"This has a similar purpose as the same-named option in @command{guix package} (@pxref{profile-manifest, @option{--manifest}}) and " +"uses the same manifest files. It allows you to define a collection of packages once and use it both for creating profiles and for " +"creating archives for use on machines that do not have Guix installed. Note that you can specify @emph{either} a manifest file " +"@emph{or} a list of packages, but not both." +msgstr "" + +#. type: itemx +#: doc/guix.texi:2891 doc/guix.texi:5780 doc/guix.texi:6921 doc/guix.texi:7329 doc/guix.texi:7963 doc/guix.texi:20531 +#, no-wrap +msgid "-s @var{system}" +msgstr "" + +#. type: table +#: doc/guix.texi:2894 doc/guix.texi:5783 +msgid "Attempt to build for @var{system}---e.g., @code{i686-linux}---instead of the system type of the build host." +msgstr "" + +#. type: item +#: doc/guix.texi:2895 doc/guix.texi:5804 +#, no-wrap +msgid "--target=@var{triplet}" +msgstr "" + +#. type: cindex +#: doc/guix.texi:2896 doc/guix.texi:3322 doc/guix.texi:5805 +#, no-wrap +msgid "cross-compilation" +msgstr "" + +#. type: table +#: doc/guix.texi:2900 doc/guix.texi:5809 +msgid "" +"Cross-build for @var{triplet}, which must be a valid GNU triplet, such as @code{\"mips64el-linux-gnu\"} (@pxref{Specifying target " +"triplets, GNU configuration triplets,, autoconf, Autoconf})." +msgstr "" + +#. type: item +#: doc/guix.texi:2901 +#, no-wrap +msgid "--compression=@var{tool}" +msgstr "" + +#. type: itemx +#: doc/guix.texi:2902 +#, no-wrap +msgid "-C @var{tool}" +msgstr "" + +#. type: table +#: doc/guix.texi:2905 +msgid "" +"Compress the resulting tarball using @var{tool}---one of @code{gzip}, @code{bzip2}, @code{xz}, @code{lzip}, or @code{none} for no " +"compression." +msgstr "" + +#. type: item +#: doc/guix.texi:2906 +#, no-wrap +msgid "--symlink=@var{spec}" +msgstr "" + +#. type: itemx +#: doc/guix.texi:2907 +#, no-wrap +msgid "-S @var{spec}" +msgstr "" + +#. type: table +#: doc/guix.texi:2910 +msgid "Add the symlinks specified by @var{spec} to the pack. This option can appear several times." +msgstr "" + +#. type: table +#: doc/guix.texi:2914 +msgid "" +"@var{spec} has the form @code{@var{source}=@var{target}}, where @var{source} is the symlink that will be created and @var{target} is " +"the symlink target." +msgstr "" + +#. type: table +#: doc/guix.texi:2917 +msgid "" +"For instance, @code{-S /opt/gnu/bin=bin} creates a @file{/opt/gnu/bin} symlink pointing to the @file{bin} sub-directory of the " +"profile." +msgstr "" + +#. type: item +#: doc/guix.texi:2918 +#, no-wrap +msgid "--localstatedir" +msgstr "" + +#. type: table +#: doc/guix.texi:2921 +msgid "Include the ``local state directory'', @file{/var/guix}, in the resulting pack." +msgstr "" + +#. type: table +#: doc/guix.texi:2927 +msgid "" +"@file{/var/guix} contains the store database (@pxref{The Store}) as well as garbage-collector roots (@pxref{Invoking guix gc}). " +"Providing it in the pack means that the store is ``complete'' and manageable by Guix; not providing it pack means that the store is " +"``dead'': items cannot be added to it or removed from it after extraction of the pack." +msgstr "" + +#. type: table +#: doc/guix.texi:2930 +msgid "One use case for this is the Guix self-contained binary tarball (@pxref{Binary Installation})." +msgstr "" + +#. type: table +#: doc/guix.texi:2934 +msgid "Use the bootstrap binaries to build the pack. This option is only useful to Guix developers." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2939 +msgid "" +"In addition, @command{guix pack} supports all the common build options (@pxref{Common Build Options}) and all the package " +"transformation options (@pxref{Package Transformation Options})." +msgstr "" + +#. type: section +#: doc/guix.texi:2942 +#, no-wrap +msgid "Invoking @command{guix archive}" +msgstr "" + +#. type: command{#1} +#: doc/guix.texi:2944 +#, no-wrap +msgid "guix archive" +msgstr "" + +#. type: cindex +#: doc/guix.texi:2945 +#, no-wrap +msgid "archive" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2951 +msgid "" +"The @command{guix archive} command allows users to @dfn{export} files from the store into a single archive, and to later " +"@dfn{import} them on a machine that runs Guix. In particular, it allows store files to be transferred from one machine to the store " +"on another machine." +msgstr "" + +#. type: quotation +#: doc/guix.texi:2955 +msgid "If you're looking for a way to produce archives in a format suitable for tools other than Guix, @pxref{Invoking guix pack}." +msgstr "" + +#. type: cindex +#: doc/guix.texi:2957 +#, no-wrap +msgid "exporting store items" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2959 +msgid "To export store files as an archive to standard output, run:" +msgstr "" + +#. type: example +#: doc/guix.texi:2962 +#, no-wrap +msgid "guix archive --export @var{options} @var{specifications}...\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2969 +msgid "" +"@var{specifications} may be either store file names or package specifications, as for @command{guix package} (@pxref{Invoking guix " +"package}). For instance, the following command creates an archive containing the @code{gui} output of the @code{git} package and " +"the main output of @code{emacs}:" +msgstr "" + +#. type: example +#: doc/guix.texi:2972 +#, no-wrap +msgid "guix archive --export git:gui /gnu/store/...-emacs-24.3 > great.nar\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2977 +msgid "" +"If the specified packages are not built yet, @command{guix archive} automatically builds them. The build process may be controlled " +"with the common build options (@pxref{Common Build Options})." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2980 +msgid "To transfer the @code{emacs} package to a machine connected over SSH, one would run:" +msgstr "" + +#. type: example +#: doc/guix.texi:2983 +#, no-wrap +msgid "guix archive --export -r emacs | ssh the-machine guix archive --import\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2988 +msgid "Similarly, a complete user profile may be transferred from one machine to another like this:" +msgstr "" + +#. type: example +#: doc/guix.texi:2992 +#, no-wrap +msgid "" +"guix archive --export -r $(readlink -f ~/.guix-profile) | \\\n" +" ssh the-machine guix-archive --import\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:3002 +msgid "" +"However, note that, in both examples, all of @code{emacs} and the profile as well as all of their dependencies are transferred (due " +"to @code{-r}), regardless of what is already available in the store on the target machine. The @code{--missing} option can help " +"figure out which items are missing from the target store. The @command{guix copy} command simplifies and optimizes this whole " +"process, so this is probably what you should use in this case (@pxref{Invoking guix copy})." +msgstr "" + +#. type: cindex +#: doc/guix.texi:3003 +#, no-wrap +msgid "nar, archive format" +msgstr "" + +#. type: cindex +#: doc/guix.texi:3004 +#, no-wrap +msgid "normalized archive (nar)" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:3014 +msgid "" +"Archives are stored in the ``normalized archive'' or ``nar'' format, which is comparable in spirit to `tar', but with differences " +"that make it more appropriate for our purposes. First, rather than recording all Unix metadata for each file, the nar format only " +"mentions the file type (regular, directory, or symbolic link); Unix permissions and owner/group are dismissed. Second, the order in " +"which directory entries are stored always follows the order of file names according to the C locale collation order. This makes " +"archive production fully deterministic." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:3020 +msgid "" +"When exporting, the daemon digitally signs the contents of the archive, and that digital signature is appended. When importing, the " +"daemon verifies the signature and rejects the import in case of an invalid signature or if the signing key is not authorized." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:3022 +msgid "The main options are:" +msgstr "" + +#. type: item +#: doc/guix.texi:3024 +#, no-wrap +msgid "--export" +msgstr "" + +#. type: table +#: doc/guix.texi:3027 +msgid "Export the specified store files or packages (see below.) Write the resulting archive to the standard output." +msgstr "" + +#. type: table +#: doc/guix.texi:3030 +msgid "Dependencies are @emph{not} included in the output, unless @code{--recursive} is passed." +msgstr "" + +#. type: itemx +#: doc/guix.texi:3031 doc/guix.texi:6076 +#, no-wrap +msgid "-r" +msgstr "" + +#. type: item +#: doc/guix.texi:3032 doc/guix.texi:6075 +#, no-wrap +msgid "--recursive" +msgstr "" + +#. type: table +#: doc/guix.texi:3037 +msgid "" +"When combined with @code{--export}, this instructs @command{guix archive} to include dependencies of the given items in the " +"archive. Thus, the resulting archive is self-contained: it contains the closure of the exported store items." +msgstr "" + +#. type: item +#: doc/guix.texi:3038 +#, no-wrap +msgid "--import" +msgstr "" + +#. type: table +#: doc/guix.texi:3043 +msgid "" +"Read an archive from the standard input, and import the files listed therein into the store. Abort if the archive has an invalid " +"digital signature, or if it is signed by a public key not among the authorized keys (see @code{--authorize} below.)" +msgstr "" + +#. type: item +#: doc/guix.texi:3044 +#, no-wrap +msgid "--missing" +msgstr "" + +#. type: table +#: doc/guix.texi:3048 +msgid "" +"Read a list of store file names from the standard input, one per line, and write on the standard output the subset of these files " +"missing from the store." +msgstr "" + +#. type: item +#: doc/guix.texi:3049 +#, no-wrap +msgid "--generate-key[=@var{parameters}]" +msgstr "" + +#. type: cindex +#: doc/guix.texi:3050 +#, no-wrap +msgid "signing, archives" +msgstr "" + +#. type: table +#: doc/guix.texi:3055 +msgid "" +"Generate a new key pair for the daemon. This is a prerequisite before archives can be exported with @code{--export}. Note that " +"this operation usually takes time, because it needs to gather enough entropy to generate the key pair." +msgstr "" + +#. type: table +#: doc/guix.texi:3065 +msgid "" +"The generated key pair is typically stored under @file{/etc/guix}, in @file{signing-key.pub} (public key) and @file{signing-key.sec} " +"(private key, which must be kept secret.) When @var{parameters} is omitted, an ECDSA key using the Ed25519 curve is generated, or, " +"for Libgcrypt versions before 1.6.0, it is a 4096-bit RSA key. Alternatively, @var{parameters} can specify @code{genkey} parameters " +"suitable for Libgcrypt (@pxref{General public-key related Functions, @code{gcry_pk_genkey},, gcrypt, The Libgcrypt Reference " +"Manual})." +msgstr "" + +#. type: item +#: doc/guix.texi:3066 +#, no-wrap +msgid "--authorize" +msgstr "" + +#. type: cindex +#: doc/guix.texi:3067 +#, no-wrap +msgid "authorizing, archives" +msgstr "" + +#. type: table +#: doc/guix.texi:3071 +msgid "" +"Authorize imports signed by the public key passed on standard input. The public key must be in ``s-expression advanced format''---i." +"e., the same format as the @file{signing-key.pub} file." +msgstr "" + +#. type: table +#: doc/guix.texi:3078 +msgid "" +"The list of authorized keys is kept in the human-editable file @file{/etc/guix/acl}. The file contains @url{http://people.csail.mit." +"edu/rivest/Sexp.txt, ``advanced-format s-expressions''} and is structured as an access-control list in the @url{http://theworld.com/" +"~cme/spki.txt, Simple Public-Key Infrastructure (SPKI)}." +msgstr "" + +#. type: item +#: doc/guix.texi:3079 +#, no-wrap +msgid "--extract=@var{directory}" +msgstr "" + +#. type: itemx +#: doc/guix.texi:3080 +#, no-wrap +msgid "-x @var{directory}" +msgstr "" + +#. type: table +#: doc/guix.texi:3084 +msgid "" +"Read a single-item archive as served by substitute servers (@pxref{Substitutes}) and extract it to @var{directory}. This is a low-" +"level operation needed in only very narrow use cases; see below." +msgstr "" +"Lit une archive à un seul élément telle que servie par un serveur de substituts (@pxref{Substituts}) et l'extrait dans " +"@var{directory}. C'est une opération de bas niveau requise seulement dans de rares cas d'usage ; voir plus loin." + +#. type: table +#: doc/guix.texi:3087 +msgid "For example, the following command extracts the substitute for Emacs served by @code{hydra.gnu.org} to @file{/tmp/emacs}:" +msgstr "" + +#. type: example +#: doc/guix.texi:3092 +#, no-wrap +msgid "" +"$ wget -O - \\\n" +" https://hydra.gnu.org/nar/@dots{}-emacs-24.5 \\\n" +" | bunzip2 | guix archive -x /tmp/emacs\n" +msgstr "" + +#. type: table +#: doc/guix.texi:3099 +msgid "" +"Single-item archives are different from multiple-item archives produced by @command{guix archive --export}; they contain a single " +"store item, and they do @emph{not} embed a signature. Thus this operation does @emph{no} signature verification and its output " +"should be considered unsafe." +msgstr "" + +#. type: table +#: doc/guix.texi:3102 +msgid "" +"The primary purpose of this operation is to facilitate inspection of archive contents coming from possibly untrusted substitute " +"servers." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:3115 +msgid "" +"GNU Guix provides several Scheme programming interfaces (APIs) to define, build, and query packages. The first interface allows " +"users to write high-level package definitions. These definitions refer to familiar packaging concepts, such as the name and version " +"of a package, its build system, and its dependencies. These definitions can then be turned into concrete build actions." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:3121 +msgid "" +"Build actions are performed by the Guix daemon, on behalf of users. In a standard setup, the daemon has write access to the store---" +"the @file{/gnu/store} directory---whereas users do not. The recommended setup also has the daemon perform builds in chroots, under " +"a specific build users, to minimize interference with the rest of the system." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:3130 +msgid "" +"Lower-level APIs are available to interact with the daemon and the store. To instruct the daemon to perform a build action, users " +"actually provide it with a @dfn{derivation}. A derivation is a low-level representation of the build actions to be taken, and the " +"environment in which they should occur---derivations are to package definitions what assembly is to C programs. The term " +"``derivation'' comes from the fact that build results @emph{derive} from them." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:3133 +msgid "This chapter describes all these APIs in turn, starting from high-level package definitions." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:3150 +msgid "" +"The high-level interface to package definitions is implemented in the @code{(guix packages)} and @code{(guix build-system)} " +"modules. As an example, the package definition, or @dfn{recipe}, for the GNU Hello package looks like this:" +msgstr "" + +#. type: example +#: doc/guix.texi:3158 +#, no-wrap +msgid "" +"(define-module (gnu packages hello)\n" +" #:use-module (guix packages)\n" +" #:use-module (guix download)\n" +" #:use-module (guix build-system gnu)\n" +" #:use-module (guix licenses)\n" +" #:use-module (gnu packages gawk))\n" +"\n" +msgstr "" + +#. type: example +#: doc/guix.texi:3177 +#, no-wrap +msgid "" +"(define-public hello\n" +" (package\n" +" (name \"hello\")\n" +" (version \"2.10\")\n" +" (source (origin\n" +" (method url-fetch)\n" +" (uri (string-append \"mirror://gnu/hello/hello-\" version\n" +" \".tar.gz\"))\n" +" (sha256\n" +" (base32\n" +" \"0ssi1wpaf7plaswqqjwigppsg5fyh99vdlb9kzl7c9lng89ndq1i\"))))\n" +" (build-system gnu-build-system)\n" +" (arguments '(#:configure-flags '(\"--enable-silent-rules\")))\n" +" (inputs `((\"gawk\" ,gawk)))\n" +" (synopsis \"Hello, GNU world: An example GNU package\")\n" +" (description \"Guess what GNU Hello prints!\")\n" +" (home-page \"http://www.gnu.org/software/hello/\")\n" +" (license gpl3+)))\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:3187 +msgid "" +"Without being a Scheme expert, the reader may have guessed the meaning of the various fields here. This expression binds the " +"variable @code{hello} to a @code{<package>} object, which is essentially a record (@pxref{SRFI-9, Scheme records,, guile, GNU Guile " +"Reference Manual}). This package object can be inspected using procedures found in the @code{(guix packages)} module; for instance, " +"@code{(package-name hello)} returns---surprise!---@code{\"hello\"}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:3191 +msgid "" +"With luck, you may be able to import part or all of the definition of the package you are interested in from another repository, " +"using the @code{guix import} command (@pxref{Invoking guix import})." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:3197 +msgid "" +"In the example above, @var{hello} is defined in a module of its own, @code{(gnu packages hello)}. Technically, this is not strictly " +"necessary, but it is convenient to do so: all the packages defined in modules under @code{(gnu packages @dots{})} are automatically " +"known to the command-line tools (@pxref{Package Modules})." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:3199 +msgid "There are a few points worth noting in the above package definition:" +msgstr "" + +#. type: itemize +#: doc/guix.texi:3206 +msgid "" +"The @code{source} field of the package is an @code{<origin>} object (@pxref{origin Reference}, for the complete reference). Here, " +"the @code{url-fetch} method from @code{(guix download)} is used, meaning that the source is a file to be downloaded over FTP or HTTP." +msgstr "" + +#. type: itemize +#: doc/guix.texi:3209 +msgid "The @code{mirror://gnu} prefix instructs @code{url-fetch} to use one of the GNU mirrors defined in @code{(guix download)}." +msgstr "" + +#. type: itemize +#: doc/guix.texi:3216 +msgid "" +"The @code{sha256} field specifies the expected SHA256 hash of the file being downloaded. It is mandatory, and allows Guix to check " +"the integrity of the file. The @code{(base32 @dots{})} form introduces the base32 representation of the hash. You can obtain this " +"information with @code{guix download} (@pxref{Invoking guix download}) and @code{guix hash} (@pxref{Invoking guix hash})." +msgstr "" + +#. type: cindex +#: doc/guix.texi:3217 +#, no-wrap +msgid "patches" +msgstr "" + +#. type: itemize +#: doc/guix.texi:3221 +msgid "" +"When needed, the @code{origin} form can also have a @code{patches} field listing patches to be applied, and a @code{snippet} field " +"giving a Scheme expression to modify the source code." +msgstr "" + +#. type: cindex +#: doc/guix.texi:3223 +#, no-wrap +msgid "GNU Build System" +msgstr "" + +#. type: itemize +#: doc/guix.texi:3229 +msgid "" +"The @code{build-system} field specifies the procedure to build the package (@pxref{Build Systems}). Here, @var{gnu-build-system} " +"represents the familiar GNU Build System, where packages may be configured, built, and installed with the usual @code{./configure && " +"make && make check && make install} command sequence." +msgstr "" + +#. type: itemize +#: doc/guix.texi:3235 +msgid "" +"The @code{arguments} field specifies options for the build system (@pxref{Build Systems}). Here it is interpreted by @var{gnu-build-" +"system} as a request run @file{configure} with the @code{--enable-silent-rules} flag." +msgstr "" + +#. type: findex +#: doc/guix.texi:3236 doc/guix.texi:3239 +#, no-wrap +msgid "quote" +msgstr "" + +#. type: cindex +#: doc/guix.texi:3237 +#, no-wrap +msgid "quoting" +msgstr "" + +#. type: findex +#: doc/guix.texi:3238 +#, no-wrap +msgid "'" +msgstr "" + +#. type: itemize +#: doc/guix.texi:3247 +msgid "" +"What about these quote (@code{'}) characters? They are Scheme syntax to introduce a literal list; @code{'} is synonymous with " +"@code{quote}. @xref{Expression Syntax, quoting,, guile, GNU Guile Reference Manual}, for details. Here the value of the " +"@code{arguments} field is a list of arguments passed to the build system down the road, as with @code{apply} (@pxref{Fly Evaluation, " +"@code{apply},, guile, GNU Guile Reference Manual})." +msgstr "" + +#. type: itemize +#: doc/guix.texi:3253 +msgid "" +"The hash-colon (@code{#:}) sequence defines a Scheme @dfn{keyword} (@pxref{Keywords,,, guile, GNU Guile Reference Manual}), and " +"@code{#:configure-flags} is a keyword used to pass a keyword argument to the build system (@pxref{Coding With Keywords,,, guile, GNU " +"Guile Reference Manual})." +msgstr "" + +#. type: itemize +#: doc/guix.texi:3259 +msgid "" +"The @code{inputs} field specifies inputs to the build process---i.e., build-time or run-time dependencies of the package. Here, we " +"define an input called @code{\"gawk\"} whose value is that of the @var{gawk} variable; @var{gawk} is itself bound to a " +"@code{<package>} object." +msgstr "" + +#. type: cindex +#: doc/guix.texi:3260 +#, no-wrap +msgid "backquote (quasiquote)" +msgstr "" + +#. type: findex +#: doc/guix.texi:3261 +#, no-wrap +msgid "`" +msgstr "" + +#. type: findex +#: doc/guix.texi:3262 +#, no-wrap +msgid "quasiquote" +msgstr "" + +#. type: cindex +#: doc/guix.texi:3263 +#, no-wrap +msgid "comma (unquote)" +msgstr "" + +#. type: findex +#: doc/guix.texi:3264 +#, no-wrap +msgid "," +msgstr "" + +#. type: findex +#: doc/guix.texi:3265 +#, no-wrap +msgid "unquote" +msgstr "" + +#. type: findex +#: doc/guix.texi:3266 +#, no-wrap +msgid ",@@" +msgstr "" + +#. type: findex +#: doc/guix.texi:3267 +#, no-wrap +msgid "unquote-splicing" +msgstr "" + +#. type: itemize +#: doc/guix.texi:3273 +msgid "" +"Again, @code{`} (a backquote, synonymous with @code{quasiquote}) allows us to introduce a literal list in the @code{inputs} field, " +"while @code{,} (a comma, synonymous with @code{unquote}) allows us to insert a value in that list (@pxref{Expression Syntax, " +"unquote,, guile, GNU Guile Reference Manual})." +msgstr "" + +#. type: itemize +#: doc/guix.texi:3277 +msgid "" +"Note that GCC, Coreutils, Bash, and other essential tools do not need to be specified as inputs here. Instead, @var{gnu-build-" +"system} takes care of ensuring that they are present (@pxref{Build Systems})." +msgstr "" + +#. type: itemize +#: doc/guix.texi:3281 +msgid "" +"However, any other dependencies need to be specified in the @code{inputs} field. Any dependency not specified here will simply be " +"unavailable to the build process, possibly leading to a build failure." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:3284 +msgid "@xref{package Reference}, for a full description of possible fields." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:3295 +msgid "" +"Once a package definition is in place, the package may actually be built using the @code{guix build} command-line tool " +"(@pxref{Invoking guix build}), troubleshooting any build failures you encounter (@pxref{Debugging Build Failures}). You can easily " +"jump back to the package definition using the @command{guix edit} command (@pxref{Invoking guix edit}). @xref{Packaging " +"Guidelines}, for more information on how to test package definitions, and @ref{Invoking guix lint}, for information on how to check " +"a definition for style conformance." +msgstr "" + +#. type: vindex +#: doc/guix.texi:3295 +#, no-wrap +msgid "GUIX_PACKAGE_PATH" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:3299 +msgid "" +"Lastly, @pxref{Package Modules}, for information on how to extend the distribution by adding your own package definitions to " +"@code{GUIX_PACKAGE_PATH}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:3303 +msgid "" +"Finally, updating the package definition to a new upstream version can be partly automated by the @command{guix refresh} command " +"(@pxref{Invoking guix refresh})." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:3309 +msgid "" +"Behind the scenes, a derivation corresponding to the @code{<package>} object is first computed by the @code{package-derivation} " +"procedure. That derivation is stored in a @code{.drv} file under @file{/gnu/store}. The build actions it prescribes may then be " +"realized by using the @code{build-derivations} procedure (@pxref{The Store})." +msgstr "" + +#. type: deffn +#: doc/guix.texi:3310 +#, no-wrap +msgid "{Scheme Procedure} package-derivation @var{store} @var{package} [@var{system}]" +msgstr "" + +#. type: deffn +#: doc/guix.texi:3313 +msgid "Return the @code{<derivation>} object of @var{package} for @var{system} (@pxref{Derivations})." +msgstr "" + +#. type: deffn +#: doc/guix.texi:3319 +msgid "" +"@var{package} must be a valid @code{<package>} object, and @var{system} must be a string denoting the target system type---e.g., " +"@code{\"x86_64-linux\"} for an x86_64 Linux-based GNU system. @var{store} must be a connection to the daemon, which operates on the " +"store (@pxref{The Store})." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:3325 +msgid "Similarly, it is possible to compute a derivation that cross-builds a package for some other system:" +msgstr "" + +#. type: deffn +#: doc/guix.texi:3326 +#, no-wrap +msgid "{Scheme Procedure} package-cross-derivation @var{store} @" +msgstr "" + +#. type: deffn +#: doc/guix.texi:3330 +msgid "" +"@var{package} @var{target} [@var{system}] Return the @code{<derivation>} object of @var{package} cross-built from @var{system} to " +"@var{target}." +msgstr "" + +#. type: deffn +#: doc/guix.texi:3335 +msgid "" +"@var{target} must be a valid GNU triplet denoting the target hardware and operating system, such as @code{\"mips64el-linux-gnu\"} " +"(@pxref{Configuration Names, GNU configuration triplets,, configure, GNU Configure and Build System})." +msgstr "" + +#. type: cindex +#: doc/guix.texi:3337 +#, no-wrap +msgid "package transformations" +msgstr "" + +#. type: cindex +#: doc/guix.texi:3338 +#, no-wrap +msgid "input rewriting" +msgstr "" + +#. type: cindex +#: doc/guix.texi:3339 +#, no-wrap +msgid "dependency tree rewriting" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:3343 +msgid "" +"Packages can be manipulated in arbitrary ways. An example of a useful transformation is @dfn{input rewriting}, whereby the " +"dependency tree of a package is rewritten by replacing specific inputs by others:" +msgstr "" + +#. type: deffn +#: doc/guix.texi:3344 +#, no-wrap +msgid "{Scheme Procedure} package-input-rewriting @var{replacements} @" +msgstr "" + +#. type: deffn +#: doc/guix.texi:3351 +msgid "" +"[@var{rewrite-name}] Return a procedure that, when passed a package, replaces its direct and indirect dependencies (but not its " +"implicit inputs) according to @var{replacements}. @var{replacements} is a list of package pairs; the first element of each pair is " +"the package to replace, and the second one is the replacement." +msgstr "" + +#. type: deffn +#: doc/guix.texi:3354 +msgid "" +"Optionally, @var{rewrite-name} is a one-argument procedure that takes the name of a package and returns its new name after rewrite." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:3358 +msgid "Consider this example:" +msgstr "" + +#. type: example +#: doc/guix.texi:3364 +#, no-wrap +msgid "" +"(define libressl-instead-of-openssl\n" +" ;; This is a procedure to replace OPENSSL by LIBRESSL,\n" +" ;; recursively.\n" +" (package-input-rewriting `((,openssl . ,libressl))))\n" +"\n" +msgstr "" + +#. type: example +#: doc/guix.texi:3367 +#, no-wrap +msgid "" +"(define git-with-libressl\n" +" (libressl-instead-of-openssl git))\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:3375 +msgid "" +"Here we first define a rewriting procedure that replaces @var{openssl} with @var{libressl}. Then we use it to define a " +"@dfn{variant} of the @var{git} package that uses @var{libressl} instead of @var{openssl}. This is exactly what the @option{--with-" +"input} command-line option does (@pxref{Package Transformation Options, @option{--with-input}})." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:3379 +msgid "" +"A more generic procedure to rewrite a package dependency graph is @code{package-mapping}: it supports arbitrary changes to nodes in " +"the graph." +msgstr "" + +#. type: deffn +#: doc/guix.texi:3380 +#, no-wrap +msgid "{Scheme Procedure} package-mapping @var{proc} [@var{cut?}]" +msgstr "" + +#. type: deffn +#: doc/guix.texi:3384 +msgid "" +"Return a procedure that, given a package, applies @var{proc} to all the packages depended on and returns the resulting package. The " +"procedure stops recursion when @var{cut?} returns true for a given package." +msgstr "" + +#. type: subsection +#: doc/guix.texi:3393 +#, no-wrap +msgid "@code{package} Reference" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:3397 +msgid "This section summarizes all the options available in @code{package} declarations (@pxref{Defining Packages})." +msgstr "" + +#. type: deftp +#: doc/guix.texi:3398 +#, no-wrap +msgid "{Data Type} package" +msgstr "" + +#. type: deftp +#: doc/guix.texi:3400 +msgid "This is the data type representing a package recipe." +msgstr "" + +#. type: table +#: doc/guix.texi:3404 +msgid "The name of the package, as a string." +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:3405 +#, no-wrap +msgid "version" +msgstr "" + +#. type: table +#: doc/guix.texi:3407 +msgid "The version of the package, as a string." +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:3408 doc/guix.texi:6739 doc/guix.texi:9277 doc/guix.texi:9565 +#, no-wrap +msgid "source" +msgstr "" + +#. type: table +#: doc/guix.texi:3415 +msgid "" +"An object telling how the source code for the package should be acquired. Most of the time, this is an @code{origin} object, which " +"denotes a file fetched from the Internet (@pxref{origin Reference}). It can also be any other ``file-like'' object such as a " +"@code{local-file}, which denotes a file from the local file system (@pxref{G-Expressions, @code{local-file}})." +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:3416 +#, no-wrap +msgid "build-system" +msgstr "" + +#. type: table +#: doc/guix.texi:3419 +msgid "The build system that should be used to build the package (@pxref{Build Systems})." +msgstr "" + +#. type: item +#: doc/guix.texi:3420 doc/guix.texi:10969 +#, no-wrap +msgid "@code{arguments} (default: @code{'()})" +msgstr "" + +#. type: table +#: doc/guix.texi:3423 +msgid "The arguments that should be passed to the build system. This is a list, typically containing sequential keyword-value pairs." +msgstr "" + +#. type: item +#: doc/guix.texi:3424 +#, no-wrap +msgid "@code{inputs} (default: @code{'()})" +msgstr "" + +#. type: itemx +#: doc/guix.texi:3425 +#, no-wrap +msgid "@code{native-inputs} (default: @code{'()})" +msgstr "" + +#. type: itemx +#: doc/guix.texi:3426 +#, no-wrap +msgid "@code{propagated-inputs} (default: @code{'()})" +msgstr "" + +#. type: cindex +#: doc/guix.texi:3427 +#, no-wrap +msgid "inputs, of packages" +msgstr "" + +#. type: table +#: doc/guix.texi:3435 +msgid "" +"These fields list dependencies of the package. Each one is a list of tuples, where each tuple has a label for the input (a string) " +"as its first element, a package, origin, or derivation as its second element, and optionally the name of the output thereof that " +"should be used, which defaults to @code{\"out\"} (@pxref{Packages with Multiple Outputs}, for more on package outputs). For " +"example, the list below specifies three inputs:" +msgstr "" + +#. type: example +#: doc/guix.texi:3440 +#, no-wrap +msgid "" +"`((\"libffi\" ,libffi)\n" +" (\"libunistring\" ,libunistring)\n" +" (\"glib:bin\" ,glib \"bin\")) ;the \"bin\" output of Glib\n" +msgstr "" + +#. type: cindex +#: doc/guix.texi:3442 +#, no-wrap +msgid "cross compilation, package dependencies" +msgstr "" + +#. type: table +#: doc/guix.texi:3448 +msgid "" +"The distinction between @code{native-inputs} and @code{inputs} is necessary when considering cross-compilation. When cross-" +"compiling, dependencies listed in @code{inputs} are built for the @emph{target} architecture; conversely, dependencies listed in " +"@code{native-inputs} are built for the architecture of the @emph{build} machine." +msgstr "" + +#. type: table +#: doc/guix.texi:3453 +msgid "" +"@code{native-inputs} is typically used to list tools needed at build time, but not at run time, such as Autoconf, Automake, pkg-" +"config, Gettext, or Bison. @command{guix lint} can report likely mistakes in this area (@pxref{Invoking guix lint})." +msgstr "" + +#. type: anchor{#1} +#: doc/guix.texi:3460 +msgid "package-propagated-inputs" +msgstr "" + +#. type: table +#: doc/guix.texi:3460 +msgid "" +"Lastly, @code{propagated-inputs} is similar to @code{inputs}, but the specified packages will be automatically installed alongside " +"the package they belong to (@pxref{package-cmd-propagated-inputs, @command{guix package}}, for information on how @command{guix " +"package} deals with propagated inputs.)" +msgstr "" + +#. type: table +#: doc/guix.texi:3464 +msgid "" +"For example this is necessary when a C/C++ library needs headers of another library to compile, or when a pkg-config file refers to " +"another one @i{via} its @code{Requires} field." +msgstr "" + +#. type: table +#: doc/guix.texi:3471 +msgid "" +"Another example where @code{propagated-inputs} is useful is for languages that lack a facility to record the run-time search path " +"akin to the @code{RUNPATH} of ELF files; this includes Guile, Python, Perl, and more. To ensure that libraries written in those " +"languages can find library code they depend on at run time, run-time dependencies must be listed in @code{propagated-inputs} rather " +"than @code{inputs}." +msgstr "" + +#. type: item +#: doc/guix.texi:3472 +#, no-wrap +msgid "@code{self-native-input?} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:3475 +msgid "This is a Boolean field telling whether the package should use itself as a native input when cross-compiling." +msgstr "" + +#. type: item +#: doc/guix.texi:3476 +#, no-wrap +msgid "@code{outputs} (default: @code{'(\"out\")})" +msgstr "" + +#. type: table +#: doc/guix.texi:3479 +msgid "The list of output names of the package. @xref{Packages with Multiple Outputs}, for typical uses of additional outputs." +msgstr "" + +#. type: item +#: doc/guix.texi:3480 +#, no-wrap +msgid "@code{native-search-paths} (default: @code{'()})" +msgstr "" + +#. type: itemx +#: doc/guix.texi:3481 +#, no-wrap +msgid "@code{search-paths} (default: @code{'()})" +msgstr "" + +#. type: table +#: doc/guix.texi:3484 +msgid "A list of @code{search-path-specification} objects describing search-path environment variables honored by the package." +msgstr "" + +#. type: item +#: doc/guix.texi:3485 +#, no-wrap +msgid "@code{replacement} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:3489 +msgid "" +"This must be either @code{#f} or a package object that will be used as a @dfn{replacement} for this package. @xref{Security " +"Updates, grafts}, for details." +msgstr "" + +#. type: item +#: doc/guix.texi:3490 doc/guix.texi:6731 +#, no-wrap +msgid "synopsis" +msgstr "" + +#. type: table +#: doc/guix.texi:3492 +msgid "A one-line description of the package." +msgstr "" + +#. type: item +#: doc/guix.texi:3493 doc/guix.texi:6732 doc/guix.texi:20965 +#, no-wrap +msgid "description" +msgstr "" + +#. type: table +#: doc/guix.texi:3495 +msgid "A more elaborate description of the package." +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:3496 +#, no-wrap +msgid "license" +msgstr "" + +#. type: cindex +#: doc/guix.texi:3497 +#, no-wrap +msgid "license, of packages" +msgstr "" + +#. type: table +#: doc/guix.texi:3500 +msgid "The license of the package; a value from @code{(guix licenses)}, or a list of such values." +msgstr "" + +#. type: itemx +#: doc/guix.texi:3501 doc/guix.texi:6740 +#, no-wrap +msgid "home-page" +msgstr "" + +#. type: table +#: doc/guix.texi:3503 +msgid "The URL to the home-page of the package, as a string." +msgstr "" + +#. type: item +#: doc/guix.texi:3504 +#, no-wrap +msgid "@code{supported-systems} (default: @var{%supported-systems})" +msgstr "" + +#. type: table +#: doc/guix.texi:3507 +msgid "" +"The list of systems supported by the package, as strings of the form @code{architecture-kernel}, for example @code{\"x86_64-linux\"}." +msgstr "" + +#. type: item +#: doc/guix.texi:3508 +#, no-wrap +msgid "@code{maintainers} (default: @code{'()})" +msgstr "" + +#. type: table +#: doc/guix.texi:3510 +msgid "The list of maintainers of the package, as @code{maintainer} objects." +msgstr "" + +#. type: item +#: doc/guix.texi:3511 +#, no-wrap +msgid "@code{location} (default: source location of the @code{package} form)" +msgstr "" + +#. type: table +#: doc/guix.texi:3515 +msgid "" +"The source location of the package. It is useful to override this when inheriting from another package, in which case this field is " +"not automatically corrected." +msgstr "" + +#. type: subsection +#: doc/guix.texi:3520 +#, no-wrap +msgid "@code{origin} Reference" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:3524 +msgid "This section summarizes all the options available in @code{origin} declarations (@pxref{Defining Packages})." +msgstr "" + +#. type: deftp +#: doc/guix.texi:3525 +#, no-wrap +msgid "{Data Type} origin" +msgstr "" + +#. type: deftp +#: doc/guix.texi:3527 +msgid "This is the data type representing a source code origin." +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:3529 doc/guix.texi:15647 +#, no-wrap +msgid "uri" +msgstr "" + +#. type: table +#: doc/guix.texi:3534 +msgid "" +"An object containing the URI of the source. The object type depends on the @code{method} (see below). For example, when using the " +"@var{url-fetch} method of @code{(guix download)}, the valid @code{uri} values are: a URL represented as a string, or a list thereof." +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:3535 +#, no-wrap +msgid "method" +msgstr "" + +#. type: table +#: doc/guix.texi:3537 +msgid "A procedure that handles the URI." +msgstr "" + +#. type: table +#: doc/guix.texi:3539 +msgid "Examples include:" +msgstr "" + +#. type: item +#: doc/guix.texi:3541 +#, no-wrap +msgid "@var{url-fetch} from @code{(guix download)}" +msgstr "" + +#. type: table +#: doc/guix.texi:3544 +msgid "download a file from the HTTP, HTTPS, or FTP URL specified in the @code{uri} field;" +msgstr "" + +#. type: vindex +#: doc/guix.texi:3545 doc/guix.texi:6093 +#, no-wrap +msgid "git-fetch" +msgstr "" + +#. type: item +#: doc/guix.texi:3546 +#, no-wrap +msgid "@var{git-fetch} from @code{(guix git-download)}" +msgstr "" + +#. type: table +#: doc/guix.texi:3550 +msgid "" +"clone the Git version control repository, and check out the revision specified in the @code{uri} field as a @code{git-reference} " +"object; a @code{git-reference} looks like this:" +msgstr "" + +#. type: example +#: doc/guix.texi:3555 +#, no-wrap +msgid "" +"(git-reference\n" +" (url \"git://git.debian.org/git/pkg-shadow/shadow\")\n" +" (commit \"v4.1.5.1\"))\n" +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:3558 +#, no-wrap +msgid "sha256" +msgstr "" + +#. type: table +#: doc/guix.texi:3562 +msgid "" +"A bytevector containing the SHA-256 hash of the source. Typically the @code{base32} form is used here to generate the bytevector " +"from a base-32 string." +msgstr "" + +#. type: table +#: doc/guix.texi:3566 +msgid "" +"You can obtain this information using @code{guix download} (@pxref{Invoking guix download}) or @code{guix hash} (@pxref{Invoking " +"guix hash})." +msgstr "" + +#. type: item +#: doc/guix.texi:3567 +#, no-wrap +msgid "@code{file-name} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:3573 +msgid "" +"The file name under which the source code should be saved. When this is @code{#f}, a sensible default value will be used in most " +"cases. In case the source is fetched from a URL, the file name from the URL will be used. For version control checkouts, it is " +"recommended to provide the file name explicitly because the default is not very descriptive." +msgstr "" + +#. type: item +#: doc/guix.texi:3574 +#, no-wrap +msgid "@code{patches} (default: @code{'()})" +msgstr "" + +#. type: table +#: doc/guix.texi:3577 +msgid "" +"A list of file names, origins, or file-like objects (@pxref{G-Expressions, file-like objects}) pointing to patches to be applied to " +"the source." +msgstr "" + +#. type: table +#: doc/guix.texi:3581 +msgid "" +"This list of patches must be unconditional. In particular, it cannot depend on the value of @code{%current-system} or " +"@code{%current-target-system}." +msgstr "" + +#. type: item +#: doc/guix.texi:3582 +#, no-wrap +msgid "@code{snippet} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:3586 +msgid "" +"A G-expression (@pxref{G-Expressions}) or S-expression that will be run in the source directory. This is a convenient way to modify " +"the source, sometimes more convenient than a patch." +msgstr "" + +#. type: item +#: doc/guix.texi:3587 +#, no-wrap +msgid "@code{patch-flags} (default: @code{'(\"-p1\")})" +msgstr "" + +#. type: table +#: doc/guix.texi:3590 +msgid "A list of command-line flags that should be passed to the @code{patch} command." +msgstr "" + +#. type: item +#: doc/guix.texi:3591 +#, no-wrap +msgid "@code{patch-inputs} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:3595 +msgid "" +"Input packages or derivations to the patching process. When this is @code{#f}, the usual set of inputs necessary for patching are " +"provided, such as GNU@tie{}Patch." +msgstr "" + +#. type: item +#: doc/guix.texi:3596 +#, no-wrap +msgid "@code{modules} (default: @code{'()})" +msgstr "" + +#. type: table +#: doc/guix.texi:3599 +msgid "" +"A list of Guile modules that should be loaded during the patching process and while running the code in the @code{snippet} field." +msgstr "" + +#. type: item +#: doc/guix.texi:3600 +#, no-wrap +msgid "@code{patch-guile} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:3603 +msgid "The Guile package that should be used in the patching process. When this is @code{#f}, a sensible default is used." +msgstr "" + +#. type: cindex +#: doc/guix.texi:3610 +#, no-wrap +msgid "build system" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:3615 +msgid "" +"Each package definition specifies a @dfn{build system} and arguments for that build system (@pxref{Defining Packages}). This " +"@code{build-system} field represents the build procedure of the package, as well as implicit dependencies of that build procedure." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:3619 +msgid "" +"Build systems are @code{<build-system>} objects. The interface to create and manipulate them is provided by the @code{(guix build-" +"system)} module, and actual build systems are exported by specific modules." +msgstr "" + +#. type: cindex +#: doc/guix.texi:3620 +#, no-wrap +msgid "bag (low-level package representation)" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:3627 +msgid "" +"Under the hood, build systems first compile package objects to @dfn{bags}. A @dfn{bag} is like a package, but with less " +"ornamentation---in other words, a bag is a lower-level representation of a package, which includes all the inputs of that package, " +"including some that were implicitly added by the build system. This intermediate representation is then compiled to a derivation " +"(@pxref{Derivations})." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:3635 +msgid "" +"Build systems accept an optional list of @dfn{arguments}. In package definitions, these are passed @i{via} the @code{arguments} " +"field (@pxref{Defining Packages}). They are typically keyword arguments (@pxref{Optional Arguments, keyword arguments in Guile,, " +"guile, GNU Guile Reference Manual}). The value of these arguments is usually evaluated in the @dfn{build stratum}---i.e., by a " +"Guile process launched by the daemon (@pxref{Derivations})." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:3639 +msgid "" +"The main build system is @var{gnu-build-system}, which implements the standard build procedure for GNU and many other packages. It " +"is provided by the @code{(guix build-system gnu)} module." +msgstr "" + +#. type: defvr +#: doc/guix.texi:3640 +#, no-wrap +msgid "{Scheme Variable} gnu-build-system" +msgstr "" + +#. type: defvr +#: doc/guix.texi:3644 +msgid "" +"@var{gnu-build-system} represents the GNU Build System, and variants thereof (@pxref{Configuration, configuration and makefile " +"conventions,, standards, GNU Coding Standards})." +msgstr "" + +#. type: cindex +#: doc/guix.texi:3645 +#, no-wrap +msgid "build phases" +msgstr "" + +#. type: defvr +#: doc/guix.texi:3652 +msgid "" +"In a nutshell, packages using it are configured, built, and installed with the usual @code{./configure && make && make check && make " +"install} command sequence. In practice, a few additional steps are often needed. All these steps are split up in separate " +"@dfn{phases}, notably@footnote{Please see the @code{(guix build gnu-build-system)} modules for more details about the build phases.}:" +msgstr "" + +#. type: item +#: doc/guix.texi:3654 +#, no-wrap +msgid "unpack" +msgstr "" + +#. type: table +#: doc/guix.texi:3658 +msgid "" +"Unpack the source tarball, and change the current directory to the extracted source tree. If the source is actually a directory, " +"copy it to the build tree, and enter that directory." +msgstr "" + +#. type: item +#: doc/guix.texi:3659 +#, no-wrap +msgid "patch-source-shebangs" +msgstr "" + +#. type: table +#: doc/guix.texi:3663 +msgid "" +"Patch shebangs encountered in source files so they refer to the right store file names. For instance, this changes @code{#!/bin/sh} " +"to @code{#!/gnu/store/@dots{}-bash-4.3/bin/sh}." +msgstr "" + +#. type: item +#: doc/guix.texi:3664 doc/guix.texi:4130 +#, no-wrap +msgid "configure" +msgstr "" + +#. type: table +#: doc/guix.texi:3668 +msgid "" +"Run the @file{configure} script with a number of default options, such as @code{--prefix=/gnu/store/@dots{}}, as well as the options " +"specified by the @code{#:configure-flags} argument." +msgstr "" + +#. type: item +#: doc/guix.texi:3669 doc/guix.texi:4135 doc/guix.texi:20375 +#, no-wrap +msgid "build" +msgstr "" + +#. type: table +#: doc/guix.texi:3673 +msgid "" +"Run @code{make} with the list of flags specified with @code{#:make-flags}. If the @code{#:parallel-build?} argument is true (the " +"default), build with @code{make -j}." +msgstr "" + +#. type: item +#: doc/guix.texi:3674 doc/guix.texi:4139 +#, no-wrap +msgid "check" +msgstr "" + +#. type: table +#: doc/guix.texi:3679 +msgid "" +"Run @code{make check}, or some other target specified with @code{#:test-target}, unless @code{#:tests? #f} is passed. If the " +"@code{#:parallel-tests?} argument is true (the default), run @code{make check -j}." +msgstr "" + +#. type: item +#: doc/guix.texi:3680 doc/guix.texi:4143 +#, no-wrap +msgid "install" +msgstr "" + +#. type: table +#: doc/guix.texi:3682 +msgid "Run @code{make install} with the flags listed in @code{#:make-flags}." +msgstr "" + +#. type: item +#: doc/guix.texi:3683 +#, no-wrap +msgid "patch-shebangs" +msgstr "" + +#. type: table +#: doc/guix.texi:3685 +msgid "Patch shebangs on the installed executable files." +msgstr "" + +#. type: item +#: doc/guix.texi:3686 +#, no-wrap +msgid "strip" +msgstr "" + +#. type: table +#: doc/guix.texi:3690 +msgid "" +"Strip debugging symbols from ELF files (unless @code{#:strip-binaries?} is false), copying them to the @code{debug} output when " +"available (@pxref{Installing Debugging Files})." +msgstr "" + +#. type: vindex +#: doc/guix.texi:3692 +#, no-wrap +msgid "%standard-phases" +msgstr "" + +#. type: defvr +#: doc/guix.texi:3697 +msgid "" +"The build-side module @code{(guix build gnu-build-system)} defines @var{%standard-phases} as the default list of build phases. " +"@var{%standard-phases} is a list of symbol/procedure pairs, where the procedure implements the actual phase." +msgstr "" + +#. type: defvr +#: doc/guix.texi:3700 +msgid "The list of phases used for a particular package can be changed with the @code{#:phases} parameter. For instance, passing:" +msgstr "" + +#. type: example +#: doc/guix.texi:3703 +#, no-wrap +msgid "#:phases (modify-phases %standard-phases (delete 'configure))\n" +msgstr "" + +#. type: defvr +#: doc/guix.texi:3707 +msgid "means that all the phases described above will be used, except the @code{configure} phase." +msgstr "" + +#. type: defvr +#: doc/guix.texi:3714 +msgid "" +"In addition, this build system ensures that the ``standard'' environment for GNU packages is available. This includes tools such as " +"GCC, libc, Coreutils, Bash, Make, Diffutils, grep, and sed (see the @code{(guix build-system gnu)} module for a complete list). We " +"call these the @dfn{implicit inputs} of a package, because package definitions do not have to mention them." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:3721 +msgid "" +"Other @code{<build-system>} objects are defined to support other conventions and tools used by free software packages. They inherit " +"most of @var{gnu-build-system}, and differ mainly in the set of inputs implicitly added to the build process, and in the list of " +"phases executed. Some of these build systems are listed below." +msgstr "" + +#. type: defvr +#: doc/guix.texi:3722 +#, no-wrap +msgid "{Scheme Variable} ant-build-system" +msgstr "" + +#. type: defvr +#: doc/guix.texi:3726 +msgid "" +"This variable is exported by @code{(guix build-system ant)}. It implements the build procedure for Java packages that can be built " +"with @url{http://ant.apache.org/, Ant build tool}." +msgstr "" + +#. type: defvr +#: doc/guix.texi:3731 +msgid "" +"It adds both @code{ant} and the @dfn{Java Development Kit} (JDK) as provided by the @code{icedtea} package to the set of inputs. " +"Different packages can be specified with the @code{#:ant} and @code{#:jdk} parameters, respectively." +msgstr "" + +#. type: defvr +#: doc/guix.texi:3737 +msgid "" +"When the original package does not provide a suitable Ant build file, the parameter @code{#:jar-name} can be used to generate a " +"minimal Ant build file @file{build.xml} with tasks to build the specified jar archive. In this case the parameter @code{#:source-" +"dir} can be used to specify the source sub-directory, defaulting to ``src''." +msgstr "" + +#. type: defvr +#: doc/guix.texi:3745 +msgid "" +"The @code{#:main-class} parameter can be used with the minimal ant buildfile to specify the main class of the resulting jar. This " +"makes the jar file executable. The @code{#:test-include} parameter can be used to specify the list of junit tests to run. It " +"defaults to @code{(list \"**/*Test.java\")}. The @code{#:test-exclude} can be used to disable some tests. It defaults to " +"@code{(list \"**/Abstract*.java\")}, because abstract classes cannot be run as tests." +msgstr "" + +#. type: defvr +#: doc/guix.texi:3749 +msgid "" +"The parameter @code{#:build-target} can be used to specify the Ant task that should be run during the @code{build} phase. By " +"default the ``jar'' task will be run." +msgstr "" + +#. type: defvr +#: doc/guix.texi:3752 +#, no-wrap +msgid "{Scheme Variable} asdf-build-system/source" +msgstr "" + +#. type: defvrx +#: doc/guix.texi:3753 +#, no-wrap +msgid "{Scheme Variable} asdf-build-system/sbcl" +msgstr "" + +#. type: defvrx +#: doc/guix.texi:3754 +#, no-wrap +msgid "{Scheme Variable} asdf-build-system/ecl" +msgstr "" + +#. type: defvr +#: doc/guix.texi:3760 +msgid "" +"These variables, exported by @code{(guix build-system asdf)}, implement build procedures for Common Lisp packages using @url{https://" +"common-lisp.net/project/asdf/, ``ASDF''}. ASDF is a system definition facility for Common Lisp programs and libraries." +msgstr "" + +#. type: defvr +#: doc/guix.texi:3767 +msgid "" +"The @code{asdf-build-system/source} system installs the packages in source form, and can be loaded using any common lisp " +"implementation, via ASDF. The others, such as @code{asdf-build-system/sbcl}, install binary systems in the format which a " +"particular implementation understands. These build systems can also be used to produce executable programs, or lisp images which " +"contain a set of packages pre-loaded." +msgstr "" + +#. type: defvr +#: doc/guix.texi:3771 +msgid "" +"The build system uses naming conventions. For binary packages, the package name should be prefixed with the lisp implementation, " +"such as @code{sbcl-} for @code{asdf-build-system/sbcl}." +msgstr "" + +#. type: defvr +#: doc/guix.texi:3775 +msgid "" +"Additionally, the corresponding source package should be labeled using the same convention as python packages (see @ref{Python " +"Modules}), using the @code{cl-} prefix." +msgstr "" + +#. type: defvr +#: doc/guix.texi:3780 +msgid "" +"For binary packages, each system should be defined as a Guix package. If one package @code{origin} contains several systems, " +"package variants can be created in order to build all the systems. Source packages, which use @code{asdf-build-system/source}, may " +"contain several systems." +msgstr "" + +#. type: defvr +#: doc/guix.texi:3787 +msgid "" +"In order to create executable programs and images, the build-side procedures @code{build-program} and @code{build-image} can be " +"used. They should be called in a build phase after the @code{create-symlinks} phase, so that the system which was just built can be " +"used within the resulting image. @code{build-program} requires a list of Common Lisp expressions to be passed as the @code{#:entry-" +"program} argument." +msgstr "" + +#. type: defvr +#: doc/guix.texi:3796 +msgid "" +"If the system is not defined within its own @code{.asd} file of the same name, then the @code{#:asd-file} parameter should be used " +"to specify which file the system is defined in. Furthermore, if the package defines a system for its tests in a separate file, it " +"will be loaded before the tests are run if it is specified by the @code{#:test-asd-file} parameter. If it is not set, the files " +"@code{<system>-tests.asd}, @code{<system>-test.asd}, @code{tests.asd}, and @code{test.asd} will be tried if they exist." +msgstr "" + +#. type: defvr +#: doc/guix.texi:3800 +msgid "" +"If for some reason the package must be named in a different way than the naming conventions suggest, the @code{#:asd-system-name} " +"parameter can be used to specify the name of the system." +msgstr "" + +#. type: defvr +#: doc/guix.texi:3803 +#, no-wrap +msgid "{Scheme Variable} cargo-build-system" +msgstr "" + +#. type: cindex +#: doc/guix.texi:3804 +#, no-wrap +msgid "Rust programming language" +msgstr "" + +#. type: cindex +#: doc/guix.texi:3805 +#, no-wrap +msgid "Cargo (Rust build system)" +msgstr "" + +#. type: defvr +#: doc/guix.texi:3809 +msgid "" +"This variable is exported by @code{(guix build-system cargo)}. It supports builds of packages using Cargo, the build tool of the " +"@uref{https://www.rust-lang.org, Rust programming language}." +msgstr "" + +#. type: defvr +#: doc/guix.texi:3814 +msgid "" +"In its @code{configure} phase, this build system replaces dependencies specified in the @file{Carto.toml} file with inputs to the " +"Guix package. The @code{install} phase installs the binaries, and it also installs the source code and @file{Cargo.toml} file." +msgstr "" + +#. type: defvr +#: doc/guix.texi:3816 +#, no-wrap +msgid "{Scheme Variable} cmake-build-system" +msgstr "" + +#. type: defvr +#: doc/guix.texi:3820 +msgid "" +"This variable is exported by @code{(guix build-system cmake)}. It implements the build procedure for packages using the @url{http://" +"www.cmake.org, CMake build tool}." +msgstr "" + +#. type: defvr +#: doc/guix.texi:3824 +msgid "" +"It automatically adds the @code{cmake} package to the set of inputs. Which package is used can be specified with the @code{#:cmake} " +"parameter." +msgstr "" + +#. type: defvr +#: doc/guix.texi:3831 +msgid "" +"The @code{#:configure-flags} parameter is taken as a list of flags passed to the @command{cmake} command. The @code{#:build-type} " +"parameter specifies in abstract terms the flags passed to the compiler; it defaults to @code{\"RelWithDebInfo\"} (short for " +"``release mode with debugging information''), which roughly means that code is compiled with @code{-O2 -g}, as is the case for " +"Autoconf-based packages by default." +msgstr "" + +#. type: defvr +#: doc/guix.texi:3833 +#, no-wrap +msgid "{Scheme Variable} go-build-system" +msgstr "" + +#. type: defvr +#: doc/guix.texi:3838 +msgid "" +"This variable is exported by @code{(guix build-system go)}. It implements a build procedure for Go packages using the standard " +"@url{https://golang.org/cmd/go/#hdr-Compile_packages_and_dependencies, Go build mechanisms}." +msgstr "" + +#. type: defvr +#: doc/guix.texi:3849 +msgid "" +"The user is expected to provide a value for the key @code{#:import-path} and, in some cases, @code{#:unpack-path}. The @url{https://" +"golang.org/doc/code.html#ImportPaths, import path} corresponds to the file system path expected by the package's build scripts and " +"any referring packages, and provides a unique way to refer to a Go package. It is typically based on a combination of the package " +"source code's remote URI and file system hierarchy structure. In some cases, you will need to unpack the package's source code to a " +"different directory structure than the one indicated by the import path, and @code{#:unpack-path} should be used in such cases." +msgstr "" + +#. type: defvr +#: doc/guix.texi:3854 +msgid "" +"Packages that provide Go libraries should be installed along with their source code. The key @code{#:install-source?}, which " +"defaults to @code{#t}, controls whether or not the source code is installed. It can be set to @code{#f} for packages that only " +"provide executable files." +msgstr "" + +#. type: defvr +#: doc/guix.texi:3856 +#, no-wrap +msgid "{Scheme Variable} glib-or-gtk-build-system" +msgstr "" + +#. type: defvr +#: doc/guix.texi:3859 +msgid "" +"This variable is exported by @code{(guix build-system glib-or-gtk)}. It is intended for use with packages making use of GLib or GTK" +"+." +msgstr "" + +#. type: defvr +#: doc/guix.texi:3862 +msgid "This build system adds the following two phases to the ones defined by @var{gnu-build-system}:" +msgstr "" + +#. type: item +#: doc/guix.texi:3864 doc/guix.texi:4159 +#, no-wrap +msgid "glib-or-gtk-wrap" +msgstr "" + +#. type: table +#: doc/guix.texi:3871 +msgid "" +"The phase @code{glib-or-gtk-wrap} ensures that programs in @file{bin/} are able to find GLib ``schemas'' and @uref{https://developer." +"gnome.org/gtk3/stable/gtk-running.html, GTK+ modules}. This is achieved by wrapping the programs in launch scripts that " +"appropriately set the @code{XDG_DATA_DIRS} and @code{GTK_PATH} environment variables." +msgstr "" + +#. type: table +#: doc/guix.texi:3878 +msgid "" +"It is possible to exclude specific package outputs from that wrapping process by listing their names in the @code{#:glib-or-gtk-wrap-" +"excluded-outputs} parameter. This is useful when an output is known not to contain any GLib or GTK+ binaries, and where wrapping " +"would gratuitously add a dependency of that output on GLib and GTK+." +msgstr "" + +#. type: item +#: doc/guix.texi:3879 doc/guix.texi:4163 +#, no-wrap +msgid "glib-or-gtk-compile-schemas" +msgstr "" + +#. type: table +#: doc/guix.texi:3887 +msgid "" +"The phase @code{glib-or-gtk-compile-schemas} makes sure that all @uref{https://developer.gnome.org/gio/stable/glib-compile-schemas." +"html, GSettings schemas} of GLib are compiled. Compilation is performed by the @command{glib-compile-schemas} program. It is " +"provided by the package @code{glib:bin} which is automatically imported by the build system. The @code{glib} package providing " +"@command{glib-compile-schemas} can be specified with the @code{#:glib} parameter." +msgstr "" + +#. type: defvr +#: doc/guix.texi:3890 +msgid "Both phases are executed after the @code{install} phase." +msgstr "" + +#. type: defvr +#: doc/guix.texi:3892 +#, no-wrap +msgid "{Scheme Variable} minify-build-system" +msgstr "" + +#. type: defvr +#: doc/guix.texi:3895 +msgid "" +"This variable is exported by @code{(guix build-system minify)}. It implements a minification procedure for simple JavaScript " +"packages." +msgstr "" + +#. type: defvr +#: doc/guix.texi:3901 +msgid "" +"It adds @code{uglify-js} to the set of inputs and uses it to compress all JavaScript files in the @file{src} directory. A different " +"minifier package can be specified with the @code{#:uglify-js} parameter, but it is expected that the package writes the minified " +"code to the standard output." +msgstr "" + +#. type: defvr +#: doc/guix.texi:3905 +msgid "" +"When the input JavaScript files are not all located in the @file{src} directory, the parameter @code{#:javascript-files} can be used " +"to specify a list of file names to feed to the minifier." +msgstr "" + +#. type: defvr +#: doc/guix.texi:3907 +#, no-wrap +msgid "{Scheme Variable} ocaml-build-system" +msgstr "" + +#. type: defvr +#: doc/guix.texi:3913 +msgid "" +"This variable is exported by @code{(guix build-system ocaml)}. It implements a build procedure for @uref{https://ocaml.org, OCaml} " +"packages, which consists of choosing the correct set of commands to run for each package. OCaml packages can expect many different " +"commands to be run. This build system will try some of them." +msgstr "" + +#. type: defvr +#: doc/guix.texi:3923 +msgid "" +"When the package has a @file{setup.ml} file present at the top-level, it will run @code{ocaml setup.ml -configure}, @code{ocaml " +"setup.ml -build} and @code{ocaml setup.ml -install}. The build system will assume that this file was generated by @uref{http://" +"oasis.forge.ocamlcore.org/, OASIS} and will take care of setting the prefix and enabling tests if they are not disabled. You can " +"pass configure and build flags with the @code{#:configure-flags} and @code{#:build-flags}. The @code{#:test-flags} key can be " +"passed to change the set of flags used to enable tests. The @code{#:use-make?} key can be used to bypass this system in the build " +"and install phases." +msgstr "" + +#. type: defvr +#: doc/guix.texi:3928 +msgid "" +"When the package has a @file{configure} file, it is assumed that it is a hand-made configure script that requires a different " +"argument format than in the @code{gnu-build-system}. You can add more flags with the @code{#:configure-flags} key." +msgstr "" + +#. type: defvr +#: doc/guix.texi:3932 +msgid "" +"When the package has a @file{Makefile} file (or @code{#:use-make?} is @code{#t}), it will be used and more flags can be passed to " +"the build and install phases with the @code{#:make-flags} key." +msgstr "" + +#. type: defvr +#: doc/guix.texi:3940 +msgid "" +"Finally, some packages do not have these files and use a somewhat standard location for its build system. In that case, the build " +"system will run @code{ocaml pkg/pkg.ml} or @code{ocaml pkg/build.ml} and take care of providing the path to the required findlib " +"module. Additional flags can be passed via the @code{#:build-flags} key. Install is taken care of by @command{opam-installer}. In " +"this case, the @code{opam} package must be added to the @code{native-inputs} field of the package definition." +msgstr "" + +#. type: defvr +#: doc/guix.texi:3948 +msgid "" +"Note that most OCaml packages assume they will be installed in the same directory as OCaml, which is not what we want in guix. In " +"particular, they will install @file{.so} files in their module's directory, which is usually fine because it is in the OCaml " +"compiler directory. In guix though, these libraries cannot be found and we use @code{CAML_LD_LIBRARY_PATH}. This variable points " +"to @file{lib/ocaml/site-lib/stubslibs} and this is where @file{.so} libraries should be installed." +msgstr "" + +#. type: defvr +#: doc/guix.texi:3950 +#, no-wrap +msgid "{Scheme Variable} python-build-system" +msgstr "" + +#. type: defvr +#: doc/guix.texi:3955 +msgid "" +"This variable is exported by @code{(guix build-system python)}. It implements the more or less standard build procedure used by " +"Python packages, which consists in running @code{python setup.py build} and then @code{python setup.py install --prefix=/gnu/store/" +"@dots{}}." +msgstr "" + +#. type: defvr +#: doc/guix.texi:3959 +msgid "" +"For packages that install stand-alone Python programs under @code{bin/}, it takes care of wrapping these programs so that their " +"@code{PYTHONPATH} environment variable points to all the Python libraries they depend on." +msgstr "" + +#. type: defvr +#: doc/guix.texi:3965 +msgid "" +"Which Python package is used to perform the build can be specified with the @code{#:python} parameter. This is a useful way to " +"force a package to be built for a specific version of the Python interpreter, which might be necessary if the package is only " +"compatible with a single interpreter version." +msgstr "" + +#. type: defvr +#: doc/guix.texi:3970 +msgid "" +"By default guix calls @code{setup.py} under control of @code{setuptools}, much like @command{pip} does. Some packages are not " +"compatible with setuptools (and pip), thus you can disable this by setting the @code{#:use-setuptools} parameter to @code{#f}." +msgstr "" + +#. type: defvr +#: doc/guix.texi:3972 +#, no-wrap +msgid "{Scheme Variable} perl-build-system" +msgstr "" + +#. type: defvr +#: doc/guix.texi:3984 +msgid "" +"This variable is exported by @code{(guix build-system perl)}. It implements the standard build procedure for Perl packages, which " +"either consists in running @code{perl Build.PL --prefix=/gnu/store/@dots{}}, followed by @code{Build} and @code{Build install}; or " +"in running @code{perl Makefile.PL PREFIX=/gnu/store/@dots{}}, followed by @code{make} and @code{make install}, depending on which of " +"@code{Build.PL} or @code{Makefile.PL} is present in the package distribution. Preference is given to the former if both @code{Build." +"PL} and @code{Makefile.PL} exist in the package distribution. This preference can be reversed by specifying @code{#t} for the " +"@code{#:make-maker?} parameter." +msgstr "" + +#. type: defvr +#: doc/guix.texi:3988 +msgid "" +"The initial @code{perl Makefile.PL} or @code{perl Build.PL} invocation passes flags specified by the @code{#:make-maker-flags} or " +"@code{#:module-build-flags} parameter, respectively." +msgstr "" + +#. type: defvr +#: doc/guix.texi:3990 +msgid "Which Perl package is used can be specified with @code{#:perl}." +msgstr "" + +#. type: defvr +#: doc/guix.texi:3992 +#, no-wrap +msgid "{Scheme Variable} r-build-system" +msgstr "" + +#. type: defvr +#: doc/guix.texi:4000 +msgid "" +"This variable is exported by @code{(guix build-system r)}. It implements the build procedure used by @uref{http://r-project.org, R} " +"packages, which essentially is little more than running @code{R CMD INSTALL --library=/gnu/store/@dots{}} in an environment where " +"@code{R_LIBS_SITE} contains the paths to all R package inputs. Tests are run after installation using the R function @code{tools::" +"testInstalledPackage}." +msgstr "" + +#. type: defvr +#: doc/guix.texi:4002 +#, no-wrap +msgid "{Scheme Variable} texlive-build-system" +msgstr "" + +#. type: defvr +#: doc/guix.texi:4007 +msgid "" +"This variable is exported by @code{(guix build-system texlive)}. It is used to build TeX packages in batch mode with a specified " +"engine. The build system sets the @code{TEXINPUTS} variable to find all TeX source files in the inputs." +msgstr "" + +#. type: defvr +#: doc/guix.texi:4016 +msgid "" +"By default it runs @code{luatex} on all files ending on @code{ins}. A different engine and format can be specified with the @code{#:" +"tex-format} argument. Different build targets can be specified with the @code{#:build-targets} argument, which expects a list of " +"file names. The build system adds only @code{texlive-bin} and @code{texlive-latex-base} (both from @code{(gnu packages tex}) to the " +"inputs. Both can be overridden with the arguments @code{#:texlive-bin} and @code{#:texlive-latex-base}, respectively." +msgstr "" + +#. type: defvr +#: doc/guix.texi:4019 +msgid "The @code{#:tex-directory} parameter tells the build system where to install the built files under the texmf tree." +msgstr "" + +#. type: defvr +#: doc/guix.texi:4021 +#, no-wrap +msgid "{Scheme Variable} ruby-build-system" +msgstr "" + +#. type: defvr +#: doc/guix.texi:4025 +msgid "" +"This variable is exported by @code{(guix build-system ruby)}. It implements the RubyGems build procedure used by Ruby packages, " +"which involves running @code{gem build} followed by @code{gem install}." +msgstr "" + +#. type: defvr +#: doc/guix.texi:4033 +msgid "" +"The @code{source} field of a package that uses this build system typically references a gem archive, since this is the format that " +"Ruby developers use when releasing their software. The build system unpacks the gem archive, potentially patches the source, runs " +"the test suite, repackages the gem, and installs it. Additionally, directories and tarballs may be referenced to allow building " +"unreleased gems from Git or a traditional source release tarball." +msgstr "" + +#. type: defvr +#: doc/guix.texi:4037 +msgid "" +"Which Ruby package is used can be specified with the @code{#:ruby} parameter. A list of additional flags to be passed to the " +"@command{gem} command can be specified with the @code{#:gem-flags} parameter." +msgstr "" + +#. type: defvr +#: doc/guix.texi:4039 +#, no-wrap +msgid "{Scheme Variable} waf-build-system" +msgstr "" + +#. type: defvr +#: doc/guix.texi:4045 +msgid "" +"This variable is exported by @code{(guix build-system waf)}. It implements a build procedure around the @code{waf} script. The " +"common phases---@code{configure}, @code{build}, and @code{install}---are implemented by passing their names as arguments to the " +"@code{waf} script." +msgstr "" + +#. type: defvr +#: doc/guix.texi:4049 +msgid "" +"The @code{waf} script is executed by the Python interpreter. Which Python package is used to run the script can be specified with " +"the @code{#:python} parameter." +msgstr "" + +#. type: defvr +#: doc/guix.texi:4051 +#, no-wrap +msgid "{Scheme Variable} scons-build-system" +msgstr "" + +#. type: defvr +#: doc/guix.texi:4057 +msgid "" +"This variable is exported by @code{(guix build-system scons)}. It implements the build procedure used by the SCons software " +"construction tool. This build system runs @code{scons} to build the package, @code{scons test} to run tests, and then @code{scons " +"install} to install the package." +msgstr "" + +#. type: defvr +#: doc/guix.texi:4062 +msgid "" +"Additional flags to be passed to @code{scons} can be specified with the @code{#:scons-flags} parameter. The version of Python used " +"to run SCons can be specified by selecting the appropriate SCons package with the @code{#:scons} parameter." +msgstr "" + +#. type: defvr +#: doc/guix.texi:4064 +#, no-wrap +msgid "{Scheme Variable} haskell-build-system" +msgstr "" + +#. type: defvr +#: doc/guix.texi:4078 +msgid "" +"This variable is exported by @code{(guix build-system haskell)}. It implements the Cabal build procedure used by Haskell packages, " +"which involves running @code{runhaskell Setup.hs configure --prefix=/gnu/store/@dots{}} and @code{runhaskell Setup.hs build}. " +"Instead of installing the package by running @code{runhaskell Setup.hs install}, to avoid trying to register libraries in the read-" +"only compiler store directory, the build system uses @code{runhaskell Setup.hs copy}, followed by @code{runhaskell Setup.hs " +"register}. In addition, the build system generates the package documentation by running @code{runhaskell Setup.hs haddock}, unless " +"@code{#:haddock? #f} is passed. Optional Haddock parameters can be passed with the help of the @code{#:haddock-flags} parameter. " +"If the file @code{Setup.hs} is not found, the build system looks for @code{Setup.lhs} instead." +msgstr "" + +#. type: defvr +#: doc/guix.texi:4081 +msgid "Which Haskell compiler is used can be specified with the @code{#:haskell} parameter which defaults to @code{ghc}." +msgstr "" + +#. type: defvr +#: doc/guix.texi:4083 +#, no-wrap +msgid "{Scheme Variable} dub-build-system" +msgstr "" + +#. type: defvr +#: doc/guix.texi:4088 +msgid "" +"This variable is exported by @code{(guix build-system dub)}. It implements the Dub build procedure used by D packages, which " +"involves running @code{dub build} and @code{dub run}. Installation is done by copying the files manually." +msgstr "" + +#. type: defvr +#: doc/guix.texi:4091 +msgid "Which D compiler is used can be specified with the @code{#:ldc} parameter which defaults to @code{ldc}." +msgstr "" + +#. type: defvr +#: doc/guix.texi:4093 +#, no-wrap +msgid "{Scheme Variable} emacs-build-system" +msgstr "" + +#. type: defvr +#: doc/guix.texi:4097 +msgid "" +"This variable is exported by @code{(guix build-system emacs)}. It implements an installation procedure similar to the packaging " +"system of Emacs itself (@pxref{Packages,,, emacs, The GNU Emacs Manual})." +msgstr "" + +#. type: defvr +#: doc/guix.texi:4104 +msgid "" +"It first creates the @code{@var{package}-autoloads.el} file, then it byte compiles all Emacs Lisp files. Differently from the Emacs " +"packaging system, the Info documentation files are moved to the standard documentation directory and the @file{dir} file is " +"deleted. Each package is installed in its own directory under @file{share/emacs/site-lisp/guix.d}." +msgstr "" + +#. type: defvr +#: doc/guix.texi:4106 +#, no-wrap +msgid "{Scheme Variable} font-build-system" +msgstr "" + +#. type: defvr +#: doc/guix.texi:4112 +msgid "" +"This variable is exported by @code{(guix build-system font)}. It implements an installation procedure for font packages where " +"upstream provides pre-compiled TrueType, OpenType, etc. font files that merely need to be copied into place. It copies font files " +"to standard locations in the output directory." +msgstr "" + +#. type: defvr +#: doc/guix.texi:4114 +#, no-wrap +msgid "{Scheme Variable} meson-build-system" +msgstr "" + +#. type: defvr +#: doc/guix.texi:4118 +msgid "" +"This variable is exported by @code{(guix build-system meson)}. It implements the build procedure for packages that use @url{http://" +"mesonbuild.com, Meson} as their build system." +msgstr "" + +#. type: defvr +#: doc/guix.texi:4124 +msgid "" +"It adds both Meson and @uref{https://ninja-build.org/, Ninja} to the set of inputs, and they can be changed with the parameters " +"@code{#:meson} and @code{#:ninja} if needed. The default Meson is @code{meson-for-build}, which is special because it doesn't clear " +"the @code{RUNPATH} of binaries and libraries when they are installed." +msgstr "" + +#. type: defvr +#: doc/guix.texi:4127 +msgid "This build system is an extension of @var{gnu-build-system}, but with the following phases changed to some specific for Meson:" +msgstr "" + +#. type: table +#: doc/guix.texi:4134 +msgid "" +"The phase runs @code{meson} with the flags specified in @code{#:configure-flags}. The flag @code{--build-type} is always set to " +"@code{plain} unless something else is specified in @code{#:build-type}." +msgstr "" + +#. type: table +#: doc/guix.texi:4138 +msgid "The phase runs @code{ninja} to build the package in parallel by default, but this can be changed with @code{#:parallel-build?}." +msgstr "" + +#. type: table +#: doc/guix.texi:4142 +msgid "The phase runs @code{ninja} with the target specified in @code{#:test-target}, which is @code{\"test\"} by default." +msgstr "" + +#. type: table +#: doc/guix.texi:4145 +msgid "The phase runs @code{ninja install} and can not be changed." +msgstr "" + +#. type: defvr +#: doc/guix.texi:4148 +msgid "Apart from that, the build system also adds the following phases:" +msgstr "" + +#. type: item +#: doc/guix.texi:4151 +#, no-wrap +msgid "fix-runpath" +msgstr "" + +#. type: table +#: doc/guix.texi:4158 +msgid "" +"This phase ensures that all binaries can find the libraries they need. It searches for required libraries in subdirectories of the " +"package being built, and adds those to @code{RUNPATH} where needed. It also removes references to libraries left over from the " +"build phase by @code{meson-for-build}, such as test dependencies, that aren't actually required for the program to run." +msgstr "" + +#. type: table +#: doc/guix.texi:4162 doc/guix.texi:4166 +msgid "" +"This phase is the phase provided by @code{glib-or-gtk-build-system}, and it is not enabled by default. It can be enabled with " +"@code{#:glib-or-gtk?}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:4173 +msgid "" +"Lastly, for packages that do not need anything as sophisticated, a ``trivial'' build system is provided. It is trivial in the sense " +"that it provides basically no support: it does not pull any implicit inputs, and does not have a notion of build phases." +msgstr "" + +#. type: defvr +#: doc/guix.texi:4174 +#, no-wrap +msgid "{Scheme Variable} trivial-build-system" +msgstr "" + +#. type: defvr +#: doc/guix.texi:4176 +msgid "This variable is exported by @code{(guix build-system trivial)}." +msgstr "" + +#. type: defvr +#: doc/guix.texi:4181 +msgid "" +"This build system requires a @code{#:builder} argument. This argument must be a Scheme expression that builds the package " +"output(s)---as with @code{build-expression->derivation} (@pxref{Derivations, @code{build-expression->derivation}})." +msgstr "" + +#. type: cindex +#: doc/guix.texi:4187 +#, no-wrap +msgid "store items" +msgstr "" + +#. type: cindex +#: doc/guix.texi:4188 +#, no-wrap +msgid "store paths" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:4199 +msgid "" +"Conceptually, the @dfn{store} is the place where derivations that have been built successfully are stored---by default, @file{/gnu/" +"store}. Sub-directories in the store are referred to as @dfn{store items} or sometimes @dfn{store paths}. The store has an " +"associated database that contains information such as the store paths referred to by each store path, and the list of @emph{valid} " +"store items---results of successful builds. This database resides in @file{@var{localstatedir}/guix/db}, where @var{localstatedir} " +"is the state directory specified @i{via} @option{--localstatedir} at configure time, usually @file{/var}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:4204 +msgid "" +"The store is @emph{always} accessed by the daemon on behalf of its clients (@pxref{Invoking guix-daemon}). To manipulate the store, " +"clients connect to the daemon over a Unix-domain socket, send requests to it, and read the result---these are remote procedure " +"calls, or RPCs." +msgstr "" + +#. type: quotation +#: doc/guix.texi:4209 +msgid "" +"Users must @emph{never} modify files under @file{/gnu/store} directly. This would lead to inconsistencies and break the " +"immutability assumptions of Guix's functional model (@pxref{Introduction})." +msgstr "" + +#. type: quotation +#: doc/guix.texi:4213 +msgid "" +"@xref{Invoking guix gc, @command{guix gc --verify}}, for information on how to check the integrity of the store and attempt recovery " +"from accidental modifications." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:4220 +msgid "" +"The @code{(guix store)} module provides procedures to connect to the daemon, and to perform RPCs. These are described below. By " +"default, @code{open-connection}, and thus all the @command{guix} commands, connect to the local daemon or to the URI specified by " +"the @code{GUIX_DAEMON_SOCKET} environment variable." +msgstr "" + +#. type: defvr +#: doc/guix.texi:4221 +#, no-wrap +msgid "{Environment Variable} GUIX_DAEMON_SOCKET" +msgstr "" + +#. type: defvr +#: doc/guix.texi:4226 +msgid "" +"When set, the value of this variable should be a file name or a URI designating the daemon endpoint. When it is a file name, it " +"denotes a Unix-domain socket to connect to. In addition to file names, the supported URI schemes are:" +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:4228 doc/guix.texi:15357 +#, no-wrap +msgid "file" +msgstr "" + +#. type: itemx +#: doc/guix.texi:4229 +#, no-wrap +msgid "unix" +msgstr "" + +#. type: table +#: doc/guix.texi:4233 +msgid "" +"These are for Unix-domain sockets. @code{file:///var/guix/daemon-socket/socket} is equivalent to @file{/var/guix/daemon-socket/" +"socket}." +msgstr "" + +#. type: item +#: doc/guix.texi:4234 +#, no-wrap +msgid "guix" +msgstr "" + +#. type: table +#: doc/guix.texi:4242 +msgid "" +"These URIs denote connections over TCP/IP, without encryption nor authentication of the remote host. The URI must specify the host " +"name and optionally a port number (by default port 44146 is used):" +msgstr "" + +#. type: example +#: doc/guix.texi:4245 +#, no-wrap +msgid "guix://master.guix.example.org:1234\n" +msgstr "" + +#. type: table +#: doc/guix.texi:4250 +msgid "" +"This setup is suitable on local networks, such as clusters, where only trusted nodes may connect to the build daemon at @code{master." +"guix.example.org}." +msgstr "" + +#. type: table +#: doc/guix.texi:4254 +msgid "" +"The @code{--listen} option of @command{guix-daemon} can be used to instruct it to listen for TCP connections (@pxref{Invoking guix-" +"daemon, @code{--listen}})." +msgstr "" + +#. type: item +#: doc/guix.texi:4255 +#, no-wrap +msgid "ssh" +msgstr "" + +#. type: cindex +#: doc/guix.texi:4256 +#, no-wrap +msgid "SSH access to build daemons" +msgstr "" + +#. type: table +#: doc/guix.texi:4260 +msgid "" +"These URIs allow you to connect to a remote daemon over SSH@footnote{This feature requires Guile-SSH (@pxref{Requirements}).}. A " +"typical URL might look like this:" +msgstr "" + +#. type: example +#: doc/guix.texi:4263 +#, no-wrap +msgid "ssh://charlie@@guix.example.org:22\n" +msgstr "" + +#. type: table +#: doc/guix.texi:4267 +msgid "As for @command{guix copy}, the usual OpenSSH client configuration files are honored (@pxref{Invoking guix copy})." +msgstr "" + +#. type: defvr +#: doc/guix.texi:4270 +msgid "Additional URI schemes may be supported in the future." +msgstr "" + +#. type: quotation +#: doc/guix.texi:4277 +msgid "" +"The ability to connect to remote build daemons is considered experimental as of @value{VERSION}. Please get in touch with us to " +"share any problems or suggestions you may have (@pxref{Contributing})." +msgstr "" + +#. type: deffn +#: doc/guix.texi:4280 +#, no-wrap +msgid "{Scheme Procedure} open-connection [@var{uri}] [#:reserve-space? #t]" +msgstr "" + +#. type: deffn +#: doc/guix.texi:4285 +msgid "" +"Connect to the daemon over the Unix-domain socket at @var{uri} (a string). When @var{reserve-space?} is true, instruct it to " +"reserve a little bit of extra space on the file system so that the garbage collector can still operate should the disk become full. " +"Return a server object." +msgstr "" + +#. type: deffn +#: doc/guix.texi:4288 +msgid "" +"@var{file} defaults to @var{%default-socket-path}, which is the normal location given the options that were passed to " +"@command{configure}." +msgstr "" + +#. type: deffn +#: doc/guix.texi:4290 +#, no-wrap +msgid "{Scheme Procedure} close-connection @var{server}" +msgstr "" + +#. type: deffn +#: doc/guix.texi:4292 +msgid "Close the connection to @var{server}." +msgstr "" + +#. type: defvr +#: doc/guix.texi:4294 +#, no-wrap +msgid "{Scheme Variable} current-build-output-port" +msgstr "" + +#. type: defvr +#: doc/guix.texi:4297 +msgid "" +"This variable is bound to a SRFI-39 parameter, which refers to the port where build and error logs sent by the daemon should be " +"written." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:4301 +msgid "Procedures that make RPCs all take a server object as their first argument." +msgstr "" + +#. type: deffn +#: doc/guix.texi:4302 +#, no-wrap +msgid "{Scheme Procedure} valid-path? @var{server} @var{path}" +msgstr "" + +#. type: cindex +#: doc/guix.texi:4303 +#, no-wrap +msgid "invalid store items" +msgstr "" + +#. type: deffn +#: doc/guix.texi:4308 +msgid "" +"Return @code{#t} when @var{path} designates a valid store item and @code{#f} otherwise (an invalid item may exist on disk but still " +"be invalid, for instance because it is the result of an aborted or failed build.)" +msgstr "" + +#. type: deffn +#: doc/guix.texi:4311 +msgid "A @code{&nix-protocol-error} condition is raised if @var{path} is not prefixed by the store directory (@file{/gnu/store})." +msgstr "" + +#. type: deffn +#: doc/guix.texi:4313 +#, no-wrap +msgid "{Scheme Procedure} add-text-to-store @var{server} @var{name} @var{text} [@var{references}]" +msgstr "" + +#. type: deffn +#: doc/guix.texi:4317 +msgid "" +"Add @var{text} under file @var{name} in the store, and return its store path. @var{references} is the list of store paths referred " +"to by the resulting store path." +msgstr "" + +#. type: deffn +#: doc/guix.texi:4319 +#, no-wrap +msgid "{Scheme Procedure} build-derivations @var{server} @var{derivations}" +msgstr "" + +#. type: deffn +#: doc/guix.texi:4323 +msgid "" +"Build @var{derivations} (a list of @code{<derivation>} objects or derivation paths), and return when the worker is done building " +"them. Return @code{#t} on success." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:4329 +msgid "" +"Note that the @code{(guix monads)} module provides a monad as well as monadic versions of the above procedures, with the goal of " +"making it more convenient to work with code that accesses the store (@pxref{The Store Monad})." +msgstr "" + +#. type: i{#1} +#: doc/guix.texi:4332 +msgid "This section is currently incomplete." +msgstr "" + +#. type: cindex +#: doc/guix.texi:4336 +#, no-wrap +msgid "derivations" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:4340 +msgid "" +"Low-level build actions and the environment in which they are performed are represented by @dfn{derivations}. A derivation contains " +"the following pieces of information:" +msgstr "" + +#. type: itemize +#: doc/guix.texi:4345 +msgid "The outputs of the derivation---derivations produce at least one file or directory in the store, but may produce more." +msgstr "" + +#. type: itemize +#: doc/guix.texi:4349 +msgid "The inputs of the derivations, which may be other derivations or plain files in the store (patches, build scripts, etc.)" +msgstr "" + +#. type: itemize +#: doc/guix.texi:4352 +msgid "The system type targeted by the derivation---e.g., @code{x86_64-linux}." +msgstr "" + +#. type: itemize +#: doc/guix.texi:4356 +msgid "The file name of a build script in the store, along with the arguments to be passed." +msgstr "" + +#. type: itemize +#: doc/guix.texi:4359 +msgid "A list of environment variables to be defined." +msgstr "" + +#. type: cindex +#: doc/guix.texi:4362 +#, no-wrap +msgid "derivation path" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:4370 +msgid "" +"Derivations allow clients of the daemon to communicate build actions to the store. They exist in two forms: as an in-memory " +"representation, both on the client- and daemon-side, and as files in the store whose name end in @code{.drv}---these files are " +"referred to as @dfn{derivation paths}. Derivations paths can be passed to the @code{build-derivations} procedure to perform the " +"build actions they prescribe (@pxref{The Store})." +msgstr "" + +#. type: cindex +#: doc/guix.texi:4371 +#, no-wrap +msgid "fixed-output derivations" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:4378 +msgid "" +"Operations such as file downloads and version-control checkouts for which the expected content hash is known in advance are modeled " +"as @dfn{fixed-output derivations}. Unlike regular derivations, the outputs of a fixed-output derivation are independent of its " +"inputs---e.g., a source code download produces the same result regardless of the download method and tools being used." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:4383 +msgid "" +"The @code{(guix derivations)} module provides a representation of derivations as Scheme objects, along with procedures to create and " +"otherwise manipulate derivations. The lowest-level primitive to create a derivation is the @code{derivation} procedure:" +msgstr "" + +#. type: deffn +#: doc/guix.texi:4384 +#, no-wrap +msgid "{Scheme Procedure} derivation @var{store} @var{name} @var{builder} @" +msgstr "{Scheme Procedure} derivation @var{store} @var{name} @var{builder} @" + +#. type: deffn +#: doc/guix.texi:4393 +msgid "" +"@var{args} [#:outputs '(\"out\")] [#:hash #f] [#:hash-algo #f] @ [#:recursive? #f] [#:inputs '()] [#:env-vars '()] @ [#:system " +"(%current-system)] [#:references-graphs #f] @ [#:allowed-references #f] [#:disallowed-references #f] @ [#:leaked-env-vars #f] [#:" +"local-build? #f] @ [#:substitutable? #t] Build a derivation with the given arguments, and return the resulting @code{<derivation>} " +"object." +msgstr "" +"@var{args} [#:outputs '(\"out\")] [#:hash #f] [#:hash-algo #f] @ [#:recursive? #f] [#:inputs '()] [#:env-vars '()] @ [#:system " +"(%current-system)] [#:references-graphs #f] @ [#:allowed-references #f] [#:disallowed-references #f] @ [#:leaked-env-vars #f] [#:" +"local-build? #f] @ [#:substitutable? #t] Construit une dérivation avec les arguments donnés et renvie l'objet @code{<derivation>} " +"obtenu." + +#. type: deffn +#: doc/guix.texi:4400 +msgid "" +"When @var{hash} and @var{hash-algo} are given, a @dfn{fixed-output derivation} is created---i.e., one whose result is known in " +"advance, such as a file download. If, in addition, @var{recursive?} is true, then that fixed output may be an executable file or a " +"directory and @var{hash} must be the hash of an archive containing this output." +msgstr "" + +#. type: deffn +#: doc/guix.texi:4405 +msgid "" +"When @var{references-graphs} is true, it must be a list of file name/store path pairs. In that case, the reference graph of each " +"store path is exported in the build environment in the corresponding file, in a simple text format." +msgstr "" + +#. type: deffn +#: doc/guix.texi:4410 +msgid "" +"When @var{allowed-references} is true, it must be a list of store items or outputs that the derivation's output may refer to. " +"Likewise, @var{disallowed-references}, if true, must be a list of things the outputs may @emph{not} refer to." +msgstr "" + +#. type: deffn +#: doc/guix.texi:4417 +msgid "" +"When @var{leaked-env-vars} is true, it must be a list of strings denoting environment variables that are allowed to ``leak'' from " +"the daemon's environment to the build environment. This is only applicable to fixed-output derivations---i.e., when @var{hash} is " +"true. The main use is to allow variables such as @code{http_proxy} to be passed to derivations that download files." +msgstr "" + +#. type: deffn +#: doc/guix.texi:4422 +msgid "" +"When @var{local-build?} is true, declare that the derivation is not a good candidate for offloading and should rather be built " +"locally (@pxref{Daemon Offload Setup}). This is the case for small derivations where the costs of data transfers would outweigh the " +"benefits." +msgstr "" + +#. type: deffn +#: doc/guix.texi:4427 +msgid "" +"When @var{substitutable?} is false, declare that substitutes of the derivation's output should not be used (@pxref{Substitutes}). " +"This is useful, for instance, when building packages that capture details of the host CPU instruction set." +msgstr "" +"Lorsque que @var{substitutable?} est faux, déclare que les substituts de la sortie de la dérivation ne devraient pas être utilisés " +"(@pxref{Substituts}). Cela est utile par exemple pour construire des paquets qui utilisent des détails du jeu d'instruction du CPU " +"hôte." + +#. type: Plain text +#: doc/guix.texi:4433 +msgid "" +"Here's an example with a shell script as its builder, assuming @var{store} is an open connection to the daemon, and @var{bash} " +"points to a Bash executable in the store:" +msgstr "" + +#. type: lisp +#: doc/guix.texi:4438 +#, no-wrap +msgid "" +"(use-modules (guix utils)\n" +" (guix store)\n" +" (guix derivations))\n" +"\n" +msgstr "" + +#. type: lisp +#: doc/guix.texi:4447 +#, no-wrap +msgid "" +"(let ((builder ; add the Bash script to the store\n" +" (add-text-to-store store \"my-builder.sh\"\n" +" \"echo hello world > $out\\n\" '())))\n" +" (derivation store \"foo\"\n" +" bash `(\"-e\" ,builder)\n" +" #:inputs `((,bash) (,builder))\n" +" #:env-vars '((\"HOME\" . \"/homeless\"))))\n" +"@result{} #<derivation /gnu/store/@dots{}-foo.drv => /gnu/store/@dots{}-foo>\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:4454 +msgid "" +"As can be guessed, this primitive is cumbersome to use directly. A better approach is to write build scripts in Scheme, of course! " +"The best course of action for that is to write the build code as a ``G-expression'', and to pass it to @code{gexp->derivation}. For " +"more information, @pxref{G-Expressions}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:4459 +msgid "" +"Once upon a time, @code{gexp->derivation} did not exist and constructing derivations with build code written in Scheme was achieved " +"with @code{build-expression->derivation}, documented below. This procedure is now deprecated in favor of the much nicer @code{gexp-" +">derivation}." +msgstr "" + +#. type: deffn +#: doc/guix.texi:4460 +#, no-wrap +msgid "{Scheme Procedure} build-expression->derivation @var{store} @" +msgstr "" + +#. type: deffn +#: doc/guix.texi:4476 +msgid "" +"@var{name} @var{exp} @ [#:system (%current-system)] [#:inputs '()] @ [#:outputs '(\"out\")] [#:hash #f] [#:hash-algo #f] @ [#:" +"recursive? #f] [#:env-vars '()] [#:modules '()] @ [#:references-graphs #f] [#:allowed-references #f] @ [#:disallowed-references #f] " +"@ [#:local-build? #f] [#:substitutable? #t] [#:guile-for-build #f] Return a derivation that executes Scheme expression @var{exp} as " +"a builder for derivation @var{name}. @var{inputs} must be a list of @code{(name drv-path sub-drv)} tuples; when @var{sub-drv} is " +"omitted, @code{\"out\"} is assumed. @var{modules} is a list of names of Guile modules from the current search path to be copied in " +"the store, compiled, and made available in the load path during the execution of @var{exp}---e.g., @code{((guix build utils) (guix " +"build gnu-build-system))}." +msgstr "" + +#. type: deffn +#: doc/guix.texi:4484 +msgid "" +"@var{exp} is evaluated in an environment where @code{%outputs} is bound to a list of output/path pairs, and where @code{%build-" +"inputs} is bound to a list of string/output-path pairs made from @var{inputs}. Optionally, @var{env-vars} is a list of string pairs " +"specifying the name and value of environment variables visible to the builder. The builder terminates by passing the result of " +"@var{exp} to @code{exit}; thus, when @var{exp} returns @code{#f}, the build is considered to have failed." +msgstr "" + +#. type: deffn +#: doc/guix.texi:4488 +msgid "" +"@var{exp} is built using @var{guile-for-build} (a derivation). When @var{guile-for-build} is omitted or is @code{#f}, the value of " +"the @code{%guile-for-build} fluid is used instead." +msgstr "" + +#. type: deffn +#: doc/guix.texi:4493 +msgid "" +"See the @code{derivation} procedure for the meaning of @var{references-graphs}, @var{allowed-references}, @var{disallowed-" +"references}, @var{local-build?}, and @var{substitutable?}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:4498 +msgid "Here's an example of a single-output derivation that creates a directory containing one file:" +msgstr "" + +#. type: lisp +#: doc/guix.texi:4506 +#, no-wrap +msgid "" +"(let ((builder '(let ((out (assoc-ref %outputs \"out\")))\n" +" (mkdir out) ; create /gnu/store/@dots{}-goo\n" +" (call-with-output-file (string-append out \"/test\")\n" +" (lambda (p)\n" +" (display '(hello guix) p))))))\n" +" (build-expression->derivation store \"goo\" builder))\n" +"\n" +msgstr "" + +#. type: lisp +#: doc/guix.texi:4508 +#, no-wrap +msgid "@result{} #<derivation /gnu/store/@dots{}-goo.drv => @dots{}>\n" +msgstr "" + +#. type: cindex +#: doc/guix.texi:4514 +#, no-wrap +msgid "monad" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:4520 +msgid "" +"The procedures that operate on the store described in the previous sections all take an open connection to the build daemon as their " +"first argument. Although the underlying model is functional, they either have side effects or depend on the current state of the " +"store." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:4526 +msgid "" +"The former is inconvenient: the connection to the build daemon has to be carried around in all those functions, making it impossible " +"to compose functions that do not take that parameter with functions that do. The latter can be problematic: since store operations " +"have side effects and/or depend on external state, they have to be properly sequenced." +msgstr "" + +#. type: cindex +#: doc/guix.texi:4527 +#, no-wrap +msgid "monadic values" +msgstr "" + +#. type: cindex +#: doc/guix.texi:4528 +#, no-wrap +msgid "monadic functions" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:4538 +msgid "" +"This is where the @code{(guix monads)} module comes in. This module provides a framework for working with @dfn{monads}, and a " +"particularly useful monad for our uses, the @dfn{store monad}. Monads are a construct that allows two things: associating " +"``context'' with values (in our case, the context is the store), and building sequences of computations (here computations include " +"accesses to the store). Values in a monad---values that carry this additional context---are called @dfn{monadic values}; procedures " +"that return such values are called @dfn{monadic procedures}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:4540 +msgid "Consider this ``normal'' procedure:" +msgstr "" + +#. type: example +#: doc/guix.texi:4549 +#, no-wrap +msgid "" +"(define (sh-symlink store)\n" +" ;; Return a derivation that symlinks the 'bash' executable.\n" +" (let* ((drv (package-derivation store bash))\n" +" (out (derivation->output-path drv))\n" +" (sh (string-append out \"/bin/bash\")))\n" +" (build-expression->derivation store \"sh\"\n" +" `(symlink ,sh %output))))\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:4553 +msgid "Using @code{(guix monads)} and @code{(guix gexp)}, it may be rewritten as a monadic function:" +msgstr "" + +#. type: example +#: doc/guix.texi:4561 +#, no-wrap +msgid "" +"(define (sh-symlink)\n" +" ;; Same, but return a monadic value.\n" +" (mlet %store-monad ((drv (package->derivation bash)))\n" +" (gexp->derivation \"sh\"\n" +" #~(symlink (string-append #$drv \"/bin/bash\")\n" +" #$output))))\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:4568 +msgid "" +"There are several things to note in the second version: the @code{store} parameter is now implicit and is ``threaded'' in the calls " +"to the @code{package->derivation} and @code{gexp->derivation} monadic procedures, and the monadic value returned by @code{package-" +">derivation} is @dfn{bound} using @code{mlet} instead of plain @code{let}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:4572 +msgid "" +"As it turns out, the call to @code{package->derivation} can even be omitted since it will take place implicitly, as we will see " +"later (@pxref{G-Expressions}):" +msgstr "" + +#. type: example +#: doc/guix.texi:4578 +#, no-wrap +msgid "" +"(define (sh-symlink)\n" +" (gexp->derivation \"sh\"\n" +" #~(symlink (string-append #$bash \"/bin/bash\")\n" +" #$output)))\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:4587 +msgid "" +"Calling the monadic @code{sh-symlink} has no effect. As someone once said, ``you exit a monad like you exit a building on fire: by " +"running''. So, to exit the monad and get the desired effect, one must use @code{run-with-store}:" +msgstr "" + +#. type: example +#: doc/guix.texi:4591 +#, no-wrap +msgid "" +"(run-with-store (open-connection) (sh-symlink))\n" +"@result{} /gnu/store/...-sh-symlink\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:4597 +msgid "" +"Note that the @code{(guix monad-repl)} module extends the Guile REPL with new ``meta-commands'' to make it easier to deal with " +"monadic procedures: @code{run-in-store}, and @code{enter-store-monad}. The former is used to ``run'' a single monadic value through " +"the store:" +msgstr "" + +#. type: example +#: doc/guix.texi:4601 +#, no-wrap +msgid "" +"scheme@@(guile-user)> ,run-in-store (package->derivation hello)\n" +"$1 = #<derivation /gnu/store/@dots{}-hello-2.9.drv => @dots{}>\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:4605 +msgid "The latter enters a recursive REPL, where all the return values are automatically run through the store:" +msgstr "" + +#. type: example +#: doc/guix.texi:4614 +#, no-wrap +msgid "" +"scheme@@(guile-user)> ,enter-store-monad\n" +"store-monad@@(guile-user) [1]> (package->derivation hello)\n" +"$2 = #<derivation /gnu/store/@dots{}-hello-2.9.drv => @dots{}>\n" +"store-monad@@(guile-user) [1]> (text-file \"foo\" \"Hello!\")\n" +"$3 = \"/gnu/store/@dots{}-foo\"\n" +"store-monad@@(guile-user) [1]> ,q\n" +"scheme@@(guile-user)>\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:4619 +msgid "Note that non-monadic values cannot be returned in the @code{store-monad} REPL." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:4622 +msgid "" +"The main syntactic forms to deal with monads in general are provided by the @code{(guix monads)} module and are described below." +msgstr "" + +#. type: deffn +#: doc/guix.texi:4623 +#, no-wrap +msgid "{Scheme Syntax} with-monad @var{monad} @var{body} ..." +msgstr "" + +#. type: deffn +#: doc/guix.texi:4626 +msgid "Evaluate any @code{>>=} or @code{return} forms in @var{body} as being in @var{monad}." +msgstr "" + +#. type: deffn +#: doc/guix.texi:4628 +#, no-wrap +msgid "{Scheme Syntax} return @var{val}" +msgstr "" + +#. type: deffn +#: doc/guix.texi:4630 +msgid "Return a monadic value that encapsulates @var{val}." +msgstr "" + +#. type: deffn +#: doc/guix.texi:4632 +#, no-wrap +msgid "{Scheme Syntax} >>= @var{mval} @var{mproc} ..." +msgstr "" + +#. type: deffn +#: doc/guix.texi:4639 +msgid "" +"@dfn{Bind} monadic value @var{mval}, passing its ``contents'' to monadic procedures @var{mproc}@dots{}@footnote{This operation is " +"commonly referred to as ``bind'', but that name denotes an unrelated procedure in Guile. Thus we use this somewhat cryptic symbol " +"inherited from the Haskell language.}. There can be one @var{mproc} or several of them, as in this example:" +msgstr "" + +#. type: example +#: doc/guix.texi:4647 +#, no-wrap +msgid "" +"(run-with-state\n" +" (with-monad %state-monad\n" +" (>>= (return 1)\n" +" (lambda (x) (return (+ 1 x)))\n" +" (lambda (x) (return (* 2 x)))))\n" +" 'some-state)\n" +"\n" +msgstr "" + +#. type: example +#: doc/guix.texi:4650 +#, no-wrap +msgid "" +"@result{} 4\n" +"@result{} some-state\n" +msgstr "" + +#. type: deffn +#: doc/guix.texi:4653 +#, no-wrap +msgid "{Scheme Syntax} mlet @var{monad} ((@var{var} @var{mval}) ...) @" +msgstr "" + +#. type: deffn +#: doc/guix.texi:4655 +msgid "@var{body} ..." +msgstr "" + +#. type: deffnx +#: doc/guix.texi:4655 +#, no-wrap +msgid "{Scheme Syntax} mlet* @var{monad} ((@var{var} @var{mval}) ...) @" +msgstr "" + +#. type: deffn +#: doc/guix.texi:4667 +msgid "" +"@var{body} ... Bind the variables @var{var} to the monadic values @var{mval} in @var{body}, which is a sequence of expressions. As " +"with the bind operator, this can be thought of as ``unpacking'' the raw, non-monadic value ``contained'' in @var{mval} and making " +"@var{var} refer to that raw, non-monadic value within the scope of the @var{body}. The form (@var{var} -> @var{val}) binds " +"@var{var} to the ``normal'' value @var{val}, as per @code{let}. The binding operations occur in sequence from left to right. The " +"last expression of @var{body} must be a monadic expression, and its result will become the result of the @code{mlet} or @code{mlet*} " +"when run in the @var{monad}." +msgstr "" + +#. type: deffn +#: doc/guix.texi:4670 +msgid "@code{mlet*} is to @code{mlet} what @code{let*} is to @code{let} (@pxref{Local Bindings,,, guile, GNU Guile Reference Manual})." +msgstr "" + +#. type: deffn +#: doc/guix.texi:4672 +#, no-wrap +msgid "{Scheme System} mbegin @var{monad} @var{mexp} ..." +msgstr "" + +#. type: deffn +#: doc/guix.texi:4676 +msgid "" +"Bind @var{mexp} and the following monadic expressions in sequence, returning the result of the last expression. Every expression in " +"the sequence must be a monadic expression." +msgstr "" + +#. type: deffn +#: doc/guix.texi:4680 +msgid "" +"This is akin to @code{mlet}, except that the return values of the monadic expressions are ignored. In that sense, it is analogous " +"to @code{begin}, but applied to monadic expressions." +msgstr "" + +#. type: deffn +#: doc/guix.texi:4682 +#, no-wrap +msgid "{Scheme System} mwhen @var{condition} @var{mexp0} @var{mexp*} ..." +msgstr "" + +#. type: deffn +#: doc/guix.texi:4687 +msgid "" +"When @var{condition} is true, evaluate the sequence of monadic expressions @var{mexp0}..@var{mexp*} as in an @code{mbegin}. When " +"@var{condition} is false, return @code{*unspecified*} in the current monad. Every expression in the sequence must be a monadic " +"expression." +msgstr "" + +#. type: deffn +#: doc/guix.texi:4689 +#, no-wrap +msgid "{Scheme System} munless @var{condition} @var{mexp0} @var{mexp*} ..." +msgstr "" + +#. type: deffn +#: doc/guix.texi:4694 +msgid "" +"When @var{condition} is false, evaluate the sequence of monadic expressions @var{mexp0}..@var{mexp*} as in an @code{mbegin}. When " +"@var{condition} is true, return @code{*unspecified*} in the current monad. Every expression in the sequence must be a monadic " +"expression." +msgstr "" + +#. type: cindex +#: doc/guix.texi:4696 +#, no-wrap +msgid "state monad" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:4700 +msgid "" +"The @code{(guix monads)} module provides the @dfn{state monad}, which allows an additional value---the state---to be @emph{threaded} " +"through monadic procedure calls." +msgstr "" + +#. type: defvr +#: doc/guix.texi:4701 +#, no-wrap +msgid "{Scheme Variable} %state-monad" +msgstr "" + +#. type: defvr +#: doc/guix.texi:4704 +msgid "The state monad. Procedures in the state monad can access and change the state that is threaded." +msgstr "" + +#. type: defvr +#: doc/guix.texi:4708 +msgid "" +"Consider the example below. The @code{square} procedure returns a value in the state monad. It returns the square of its argument, " +"but also increments the current state value:" +msgstr "" + +#. type: example +#: doc/guix.texi:4715 +#, no-wrap +msgid "" +"(define (square x)\n" +" (mlet %state-monad ((count (current-state)))\n" +" (mbegin %state-monad\n" +" (set-current-state (+ 1 count))\n" +" (return (* x x)))))\n" +"\n" +msgstr "" + +#. type: example +#: doc/guix.texi:4719 +#, no-wrap +msgid "" +"(run-with-state (sequence %state-monad (map square (iota 3))) 0)\n" +"@result{} (0 1 4)\n" +"@result{} 3\n" +msgstr "" + +#. type: defvr +#: doc/guix.texi:4723 +msgid "When ``run'' through @var{%state-monad}, we obtain that additional state value, which is the number of @code{square} calls." +msgstr "" + +#. type: deffn +#: doc/guix.texi:4725 +#, no-wrap +msgid "{Monadic Procedure} current-state" +msgstr "" + +#. type: deffn +#: doc/guix.texi:4727 +msgid "Return the current state as a monadic value." +msgstr "" + +#. type: deffn +#: doc/guix.texi:4729 +#, no-wrap +msgid "{Monadic Procedure} set-current-state @var{value}" +msgstr "" + +#. type: deffn +#: doc/guix.texi:4732 +msgid "Set the current state to @var{value} and return the previous state as a monadic value." +msgstr "" + +#. type: deffn +#: doc/guix.texi:4734 +#, no-wrap +msgid "{Monadic Procedure} state-push @var{value}" +msgstr "" + +#. type: deffn +#: doc/guix.texi:4737 +msgid "Push @var{value} to the current state, which is assumed to be a list, and return the previous state as a monadic value." +msgstr "" + +#. type: deffn +#: doc/guix.texi:4739 +#, no-wrap +msgid "{Monadic Procedure} state-pop" +msgstr "" + +#. type: deffn +#: doc/guix.texi:4742 +msgid "Pop a value from the current state and return it as a monadic value. The state is assumed to be a list." +msgstr "" + +#. type: deffn +#: doc/guix.texi:4744 +#, no-wrap +msgid "{Scheme Procedure} run-with-state @var{mval} [@var{state}]" +msgstr "" + +#. type: deffn +#: doc/guix.texi:4747 +msgid "" +"Run monadic value @var{mval} starting with @var{state} as the initial state. Return two values: the resulting value, and the " +"resulting state." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:4751 +msgid "The main interface to the store monad, provided by the @code{(guix store)} module, is as follows." +msgstr "" + +#. type: defvr +#: doc/guix.texi:4752 +#, no-wrap +msgid "{Scheme Variable} %store-monad" +msgstr "" + +#. type: defvr +#: doc/guix.texi:4754 +msgid "The store monad---an alias for @var{%state-monad}." +msgstr "" + +#. type: defvr +#: doc/guix.texi:4758 +msgid "" +"Values in the store monad encapsulate accesses to the store. When its effect is needed, a value of the store monad must be " +"``evaluated'' by passing it to the @code{run-with-store} procedure (see below.)" +msgstr "" + +#. type: deffn +#: doc/guix.texi:4760 +#, no-wrap +msgid "{Scheme Procedure} run-with-store @var{store} @var{mval} [#:guile-for-build] [#:system (%current-system)]" +msgstr "" + +#. type: deffn +#: doc/guix.texi:4763 +msgid "Run @var{mval}, a monadic value in the store monad, in @var{store}, an open store connection." +msgstr "" + +#. type: deffn +#: doc/guix.texi:4765 +#, no-wrap +msgid "{Monadic Procedure} text-file @var{name} @var{text} [@var{references}]" +msgstr "" + +#. type: deffn +#: doc/guix.texi:4769 +msgid "" +"Return as a monadic value the absolute file name in the store of the file containing @var{text}, a string. @var{references} is a " +"list of store items that the resulting text file refers to; it defaults to the empty list." +msgstr "" + +#. type: deffn +#: doc/guix.texi:4771 +#, no-wrap +msgid "{Monadic Procedure} interned-file @var{file} [@var{name}] @" +msgstr "" + +#. type: deffn +#: doc/guix.texi:4776 +msgid "" +"[#:recursive? #t] [#:select? (const #t)] Return the name of @var{file} once interned in the store. Use @var{name} as its store " +"name, or the basename of @var{file} if @var{name} is omitted." +msgstr "" + +#. type: deffn +#: doc/guix.texi:4780 doc/guix.texi:5159 +msgid "" +"When @var{recursive?} is true, the contents of @var{file} are added recursively; if @var{file} designates a flat file and " +"@var{recursive?} is true, its contents are added, and its permission bits are kept." +msgstr "" + +#. type: deffn +#: doc/guix.texi:4785 doc/guix.texi:5164 +msgid "" +"When @var{recursive?} is true, call @code{(@var{select?} @var{file} @var{stat})} for each directory entry, where @var{file} is the " +"entry's absolute file name and @var{stat} is the result of @code{lstat}; exclude entries for which @var{select?} does not return " +"true." +msgstr "" + +#. type: deffn +#: doc/guix.texi:4787 +msgid "The example below adds a file to the store, under two different names:" +msgstr "" + +#. type: example +#: doc/guix.texi:4793 +#, no-wrap +msgid "" +"(run-with-store (open-connection)\n" +" (mlet %store-monad ((a (interned-file \"README\"))\n" +" (b (interned-file \"README\" \"LEGU-MIN\")))\n" +" (return (list a b))))\n" +"\n" +msgstr "" + +#. type: example +#: doc/guix.texi:4795 +#, no-wrap +msgid "@result{} (\"/gnu/store/rwm@dots{}-README\" \"/gnu/store/44i@dots{}-LEGU-MIN\")\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:4801 +msgid "The @code{(guix packages)} module exports the following package-related monadic procedures:" +msgstr "" + +#. type: deffn +#: doc/guix.texi:4802 +#, no-wrap +msgid "{Monadic Procedure} package-file @var{package} [@var{file}] @" +msgstr "" + +#. type: deffn +#: doc/guix.texi:4810 +msgid "" +"[#:system (%current-system)] [#:target #f] @ [#:output \"out\"] Return as a monadic value in the absolute file name of @var{file} " +"within the @var{output} directory of @var{package}. When @var{file} is omitted, return the name of the @var{output} directory of " +"@var{package}. When @var{target} is true, use it as a cross-compilation target triplet." +msgstr "" + +#. type: deffn +#: doc/guix.texi:4812 +#, no-wrap +msgid "{Monadic Procedure} package->derivation @var{package} [@var{system}]" +msgstr "" + +#. type: deffnx +#: doc/guix.texi:4813 +#, no-wrap +msgid "{Monadic Procedure} package->cross-derivation @var{package} @" +msgstr "" + +#. type: deffn +#: doc/guix.texi:4817 +msgid "" +"@var{target} [@var{system}] Monadic version of @code{package-derivation} and @code{package-cross-derivation} (@pxref{Defining " +"Packages})." +msgstr "" + +#. type: cindex +#: doc/guix.texi:4823 +#, no-wrap +msgid "G-expression" +msgstr "" + +#. type: cindex +#: doc/guix.texi:4824 +#, no-wrap +msgid "build code quoting" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:4830 +msgid "" +"So we have ``derivations'', which represent a sequence of build actions to be performed to produce an item in the store " +"(@pxref{Derivations}). These build actions are performed when asking the daemon to actually build the derivations; they are run by " +"the daemon in a container (@pxref{Invoking guix-daemon})." +msgstr "" + +#. type: cindex +#: doc/guix.texi:4831 +#, no-wrap +msgid "strata of code" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:4843 +msgid "" +"It should come as no surprise that we like to write these build actions in Scheme. When we do that, we end up with two @dfn{strata} " +"of Scheme code@footnote{The term @dfn{stratum} in this context was coined by Manuel Serrano et al.@: in the context of their work on " +"Hop. Oleg Kiselyov, who has written insightful @url{http://okmij.org/ftp/meta-programming/#meta-scheme, essays and code on this " +"topic}, refers to this kind of code generation as @dfn{staging}.}: the ``host code''---code that defines packages, talks to the " +"daemon, etc.---and the ``build code''---code that actually performs build actions, such as making directories, invoking " +"@command{make}, etc." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:4850 +msgid "" +"To describe a derivation and its build actions, one typically needs to embed build code inside host code. It boils down to " +"manipulating build code as data, and the homoiconicity of Scheme---code has a direct representation as data---comes in handy for " +"that. But we need more than the normal @code{quasiquote} mechanism in Scheme to construct build expressions." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:4859 +msgid "" +"The @code{(guix gexp)} module implements @dfn{G-expressions}, a form of S-expressions adapted to build expressions. G-expressions, " +"or @dfn{gexps}, consist essentially of three syntactic forms: @code{gexp}, @code{ungexp}, and @code{ungexp-splicing} (or simply: " +"@code{#~}, @code{#$}, and @code{#$@@}), which are comparable to @code{quasiquote}, @code{unquote}, and @code{unquote-splicing}, " +"respectively (@pxref{Expression Syntax, @code{quasiquote},, guile, GNU Guile Reference Manual}). However, there are major " +"differences:" +msgstr "" + +#. type: itemize +#: doc/guix.texi:4864 +msgid "Gexps are meant to be written to a file and run or manipulated by other processes." +msgstr "" + +#. type: itemize +#: doc/guix.texi:4869 +msgid "" +"When a high-level object such as a package or derivation is unquoted inside a gexp, the result is as if its output file name had " +"been introduced." +msgstr "" + +#. type: itemize +#: doc/guix.texi:4874 +msgid "" +"Gexps carry information about the packages or derivations they refer to, and these dependencies are automatically added as inputs to " +"the build processes that use them." +msgstr "" + +#. type: cindex +#: doc/guix.texi:4876 doc/guix.texi:5342 +#, no-wrap +msgid "lowering, of high-level objects in gexps" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:4886 +msgid "" +"This mechanism is not limited to package and derivation objects: @dfn{compilers} able to ``lower'' other high-level objects to " +"derivations or files in the store can be defined, such that these objects can also be inserted into gexps. For example, a useful " +"type of high-level objects that can be inserted in a gexp is ``file-like objects'', which make it easy to add files to the store and " +"to refer to them in derivations and such (see @code{local-file} and @code{plain-file} below.)" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:4888 +msgid "To illustrate the idea, here is an example of a gexp:" +msgstr "" + +#. type: example +#: doc/guix.texi:4896 +#, no-wrap +msgid "" +"(define build-exp\n" +" #~(begin\n" +" (mkdir #$output)\n" +" (chdir #$output)\n" +" (symlink (string-append #$coreutils \"/bin/ls\")\n" +" \"list-files\")))\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:4901 +msgid "" +"This gexp can be passed to @code{gexp->derivation}; we obtain a derivation that builds a directory containing exactly one symlink to " +"@file{/gnu/store/@dots{}-coreutils-8.22/bin/ls}:" +msgstr "" + +#. type: example +#: doc/guix.texi:4904 +#, no-wrap +msgid "(gexp->derivation \"the-thing\" build-exp)\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:4912 +msgid "" +"As one would expect, the @code{\"/gnu/store/@dots{}-coreutils-8.22\"} string is substituted to the reference to the @var{coreutils} " +"package in the actual build code, and @var{coreutils} is automatically made an input to the derivation. Likewise, @code{#$output} " +"(equivalent to @code{(ungexp output)}) is replaced by a string containing the directory name of the output of the derivation." +msgstr "" + +#. type: cindex +#: doc/guix.texi:4913 +#, no-wrap +msgid "cross compilation" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:4919 +msgid "" +"In a cross-compilation context, it is useful to distinguish between references to the @emph{native} build of a package---that can " +"run on the host---versus references to cross builds of a package. To that end, the @code{#+} plays the same role as @code{#$}, but " +"is a reference to a native package build:" +msgstr "" + +#. type: example +#: doc/guix.texi:4929 +#, no-wrap +msgid "" +"(gexp->derivation \"vi\"\n" +" #~(begin\n" +" (mkdir #$output)\n" +" (system* (string-append #+coreutils \"/bin/ln\")\n" +" \"-s\"\n" +" (string-append #$emacs \"/bin/emacs\")\n" +" (string-append #$output \"/bin/vi\")))\n" +" #:target \"mips64el-linux-gnu\")\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:4935 +msgid "" +"In the example above, the native build of @var{coreutils} is used, so that @command{ln} can actually run on the host; but then the " +"cross-compiled build of @var{emacs} is referenced." +msgstr "" + +#. type: cindex +#: doc/guix.texi:4936 +#, no-wrap +msgid "imported modules, for gexps" +msgstr "" + +#. type: findex +#: doc/guix.texi:4937 +#, no-wrap +msgid "with-imported-modules" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:4942 +msgid "" +"Another gexp feature is @dfn{imported modules}: sometimes you want to be able to use certain Guile modules from the ``host " +"environment'' in the gexp, so those modules should be imported in the ``build environment''. The @code{with-imported-modules} form " +"allows you to express that:" +msgstr "" + +#. type: example +#: doc/guix.texi:4953 +#, no-wrap +msgid "" +"(let ((build (with-imported-modules '((guix build utils))\n" +" #~(begin\n" +" (use-modules (guix build utils))\n" +" (mkdir-p (string-append #$output \"/bin\"))))))\n" +" (gexp->derivation \"empty-dir\"\n" +" #~(begin\n" +" #$build\n" +" (display \"success!\\n\")\n" +" #t)))\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:4959 +msgid "" +"In this example, the @code{(guix build utils)} module is automatically pulled into the isolated build environment of our gexp, such " +"that @code{(use-modules (guix build utils))} works as expected." +msgstr "" + +#. type: cindex +#: doc/guix.texi:4960 +#, no-wrap +msgid "module closure" +msgstr "" + +#. type: findex +#: doc/guix.texi:4961 +#, no-wrap +msgid "source-module-closure" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:4968 +msgid "" +"Usually you want the @emph{closure} of the module to be imported---i.e., the module itself and all the modules it depends on---" +"rather than just the module; failing to do that, attempts to use the module will fail because of missing dependent modules. The " +"@code{source-module-closure} procedure computes the closure of a module by looking at its source file headers, which comes in handy " +"in this case:" +msgstr "" + +#. type: example +#: doc/guix.texi:4971 +#, no-wrap +msgid "" +"(use-modules (guix modules)) ;for 'source-module-closure'\n" +"\n" +msgstr "" + +#. type: example +#: doc/guix.texi:4980 +#, no-wrap +msgid "" +"(with-imported-modules (source-module-closure\n" +" '((guix build utils)\n" +" (gnu build vm)))\n" +" (gexp->derivation \"something-with-vms\"\n" +" #~(begin\n" +" (use-modules (guix build utils)\n" +" (gnu build vm))\n" +" @dots{})))\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:4983 +msgid "The syntactic form to construct gexps is summarized below." +msgstr "" + +#. type: deffn +#: doc/guix.texi:4984 +#, no-wrap +msgid "{Scheme Syntax} #~@var{exp}" +msgstr "" + +#. type: deffnx +#: doc/guix.texi:4985 +#, no-wrap +msgid "{Scheme Syntax} (gexp @var{exp})" +msgstr "" + +#. type: deffn +#: doc/guix.texi:4988 +msgid "Return a G-expression containing @var{exp}. @var{exp} may contain one or more of the following forms:" +msgstr "" + +#. type: item +#: doc/guix.texi:4990 +#, no-wrap +msgid "#$@var{obj}" +msgstr "" + +#. type: itemx +#: doc/guix.texi:4991 +#, no-wrap +msgid "(ungexp @var{obj})" +msgstr "" + +#. type: table +#: doc/guix.texi:4996 +msgid "" +"Introduce a reference to @var{obj}. @var{obj} may have one of the supported types, for example a package or a derivation, in which " +"case the @code{ungexp} form is replaced by its output file name---e.g., @code{\"/gnu/store/@dots{}-coreutils-8.22}." +msgstr "" + +#. type: table +#: doc/guix.texi:4999 +msgid "If @var{obj} is a list, it is traversed and references to supported objects are substituted similarly." +msgstr "" + +#. type: table +#: doc/guix.texi:5002 +msgid "If @var{obj} is another gexp, its contents are inserted and its dependencies are added to those of the containing gexp." +msgstr "" + +#. type: table +#: doc/guix.texi:5004 +msgid "If @var{obj} is another kind of object, it is inserted as is." +msgstr "" + +#. type: item +#: doc/guix.texi:5005 +#, no-wrap +msgid "#$@var{obj}:@var{output}" +msgstr "" + +#. type: itemx +#: doc/guix.texi:5006 +#, no-wrap +msgid "(ungexp @var{obj} @var{output})" +msgstr "" + +#. type: table +#: doc/guix.texi:5010 +msgid "" +"This is like the form above, but referring explicitly to the @var{output} of @var{obj}---this is useful when @var{obj} produces " +"multiple outputs (@pxref{Packages with Multiple Outputs})." +msgstr "" + +#. type: item +#: doc/guix.texi:5011 +#, no-wrap +msgid "#+@var{obj}" +msgstr "" + +#. type: itemx +#: doc/guix.texi:5012 +#, no-wrap +msgid "#+@var{obj}:output" +msgstr "" + +#. type: itemx +#: doc/guix.texi:5013 +#, no-wrap +msgid "(ungexp-native @var{obj})" +msgstr "" + +#. type: itemx +#: doc/guix.texi:5014 +#, no-wrap +msgid "(ungexp-native @var{obj} @var{output})" +msgstr "" + +#. type: table +#: doc/guix.texi:5017 +msgid "" +"Same as @code{ungexp}, but produces a reference to the @emph{native} build of @var{obj} when used in a cross compilation context." +msgstr "" + +#. type: item +#: doc/guix.texi:5018 +#, no-wrap +msgid "#$output[:@var{output}]" +msgstr "" + +#. type: itemx +#: doc/guix.texi:5019 +#, no-wrap +msgid "(ungexp output [@var{output}])" +msgstr "" + +#. type: table +#: doc/guix.texi:5022 +msgid "Insert a reference to derivation output @var{output}, or to the main output when @var{output} is omitted." +msgstr "" + +#. type: table +#: doc/guix.texi:5024 +msgid "This only makes sense for gexps passed to @code{gexp->derivation}." +msgstr "" + +#. type: item +#: doc/guix.texi:5025 +#, no-wrap +msgid "#$@@@var{lst}" +msgstr "" + +#. type: itemx +#: doc/guix.texi:5026 +#, no-wrap +msgid "(ungexp-splicing @var{lst})" +msgstr "" + +#. type: table +#: doc/guix.texi:5029 +msgid "Like the above, but splices the contents of @var{lst} inside the containing list." +msgstr "" + +#. type: item +#: doc/guix.texi:5030 +#, no-wrap +msgid "#+@@@var{lst}" +msgstr "" + +#. type: itemx +#: doc/guix.texi:5031 +#, no-wrap +msgid "(ungexp-native-splicing @var{lst})" +msgstr "" + +#. type: table +#: doc/guix.texi:5034 +msgid "Like the above, but refers to native builds of the objects listed in @var{lst}." +msgstr "" + +#. type: deffn +#: doc/guix.texi:5039 +msgid "G-expressions created by @code{gexp} or @code{#~} are run-time objects of the @code{gexp?} type (see below.)" +msgstr "" + +#. type: deffn +#: doc/guix.texi:5041 +#, no-wrap +msgid "{Scheme Syntax} with-imported-modules @var{modules} @var{body}@dots{}" +msgstr "" + +#. type: deffn +#: doc/guix.texi:5044 +msgid "Mark the gexps defined in @var{body}@dots{} as requiring @var{modules} in their execution environment." +msgstr "" + +#. type: deffn +#: doc/guix.texi:5048 +msgid "" +"Each item in @var{modules} can be the name of a module, such as @code{(guix build utils)}, or it can be a module name, followed by " +"an arrow, followed by a file-like object:" +msgstr "" + +#. type: example +#: doc/guix.texi:5054 +#, no-wrap +msgid "" +"`((guix build utils)\n" +" (guix gcrypt)\n" +" ((guix config) => ,(scheme-file \"config.scm\"\n" +" #~(define-module @dots{}))))\n" +msgstr "" + +#. type: deffn +#: doc/guix.texi:5059 +msgid "" +"In the example above, the first two modules are taken from the search path, and the last one is created from the given file-like " +"object." +msgstr "" + +#. type: deffn +#: doc/guix.texi:5063 +msgid "" +"This form has @emph{lexical} scope: it has an effect on the gexps directly defined in @var{body}@dots{}, but not on those defined, " +"say, in procedures called from @var{body}@dots{}." +msgstr "" + +#. type: deffn +#: doc/guix.texi:5065 +#, no-wrap +msgid "{Scheme Procedure} gexp? @var{obj}" +msgstr "" + +#. type: deffn +#: doc/guix.texi:5067 +msgid "Return @code{#t} if @var{obj} is a G-expression." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:5073 +msgid "" +"G-expressions are meant to be written to disk, either as code building some derivation, or as plain files in the store. The monadic " +"procedures below allow you to do that (@pxref{The Store Monad}, for more information about monads.)" +msgstr "" + +#. type: deffn +#: doc/guix.texi:5074 +#, no-wrap +msgid "{Monadic Procedure} gexp->derivation @var{name} @var{exp} @" +msgstr "" + +#. type: deffn +#: doc/guix.texi:5090 +msgid "" +"[#:system (%current-system)] [#:target #f] [#:graft? #t] @ [#:hash #f] [#:hash-algo #f] @ [#:recursive? #f] [#:env-vars '()] [#:" +"modules '()] @ [#:module-path @var{%load-path}] @ [#:references-graphs #f] [#:allowed-references #f] @ [#:disallowed-references #f] " +"@ [#:leaked-env-vars #f] @ [#:script-name (string-append @var{name} \"-builder\")] @ [#:deprecation-warnings #f] @ [#:local-build? " +"#f] [#:substitutable? #t] [#:guile-for-build #f] Return a derivation @var{name} that runs @var{exp} (a gexp) with @var{guile-for-" +"build} (a derivation) on @var{system}; @var{exp} is stored in a file called @var{script-name}. When @var{target} is true, it is " +"used as the cross-compilation target triplet for packages referred to by @var{exp}." +msgstr "" + +#. type: deffn +#: doc/guix.texi:5098 +msgid "" +"@var{modules} is deprecated in favor of @code{with-imported-modules}. Its meaning is to make @var{modules} available in the " +"evaluation context of @var{exp}; @var{modules} is a list of names of Guile modules searched in @var{module-path} to be copied in the " +"store, compiled, and made available in the load path during the execution of @var{exp}---e.g., @code{((guix build utils) (guix build " +"gnu-build-system))}." +msgstr "" + +#. type: deffn +#: doc/guix.texi:5101 +msgid "@var{graft?} determines whether packages referred to by @var{exp} should be grafted when applicable." +msgstr "" + +#. type: deffn +#: doc/guix.texi:5104 +msgid "When @var{references-graphs} is true, it must be a list of tuples of one of the following forms:" +msgstr "" + +#. type: example +#: doc/guix.texi:5111 +#, no-wrap +msgid "" +"(@var{file-name} @var{package})\n" +"(@var{file-name} @var{package} @var{output})\n" +"(@var{file-name} @var{derivation})\n" +"(@var{file-name} @var{derivation} @var{output})\n" +"(@var{file-name} @var{store-item})\n" +msgstr "" + +#. type: deffn +#: doc/guix.texi:5117 +msgid "" +"The right-hand-side of each element of @var{references-graphs} is automatically made an input of the build process of @var{exp}. In " +"the build environment, each @var{file-name} contains the reference graph of the corresponding item, in a simple text format." +msgstr "" + +#. type: deffn +#: doc/guix.texi:5123 +msgid "" +"@var{allowed-references} must be either @code{#f} or a list of output names and packages. In the latter case, the list denotes " +"store items that the result is allowed to refer to. Any reference to another store item will lead to a build error. Similarly for " +"@var{disallowed-references}, which can list items that must not be referenced by the outputs." +msgstr "" + +#. type: deffn +#: doc/guix.texi:5126 +msgid "" +"@var{deprecation-warnings} determines whether to show deprecation warnings while compiling modules. It can be @code{#f}, @code{#t}, " +"or @code{'detailed}." +msgstr "" + +#. type: deffn +#: doc/guix.texi:5128 +msgid "The other arguments are as for @code{derivation} (@pxref{Derivations})." +msgstr "" + +#. type: cindex +#: doc/guix.texi:5130 +#, no-wrap +msgid "file-like objects" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:5135 +msgid "" +"The @code{local-file}, @code{plain-file}, @code{computed-file}, @code{program-file}, and @code{scheme-file} procedures below return " +"@dfn{file-like objects}. That is, when unquoted in a G-expression, these objects lead to a file in the store. Consider this G-" +"expression:" +msgstr "" + +#. type: example +#: doc/guix.texi:5139 +#, no-wrap +msgid "" +"#~(system* #$(file-append glibc \"/sbin/nscd\") \"-f\"\n" +" #$(local-file \"/tmp/my-nscd.conf\"))\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:5148 +msgid "" +"The effect here is to ``intern'' @file{/tmp/my-nscd.conf} by copying it to the store. Once expanded, for instance @i{via} " +"@code{gexp->derivation}, the G-expression refers to that copy under @file{/gnu/store}; thus, modifying or removing the file in " +"@file{/tmp} does not have any effect on what the G-expression does. @code{plain-file} can be used similarly; it differs in that the " +"file content is directly passed as a string." +msgstr "" + +#. type: deffn +#: doc/guix.texi:5149 +#, no-wrap +msgid "{Scheme Procedure} local-file @var{file} [@var{name}] @" +msgstr "" + +#. type: deffn +#: doc/guix.texi:5155 +msgid "" +"[#:recursive? #f] [#:select? (const #t)] Return an object representing local file @var{file} to add to the store; this object can be " +"used in a gexp. If @var{file} is a relative file name, it is looked up relative to the source file where this form appears. " +"@var{file} will be added to the store under @var{name}--by default the base name of @var{file}." +msgstr "" + +#. type: deffn +#: doc/guix.texi:5167 +msgid "" +"This is the declarative counterpart of the @code{interned-file} monadic procedure (@pxref{The Store Monad, @code{interned-file}})." +msgstr "" + +#. type: deffn +#: doc/guix.texi:5169 +#, no-wrap +msgid "{Scheme Procedure} plain-file @var{name} @var{content}" +msgstr "" + +#. type: deffn +#: doc/guix.texi:5172 +msgid "Return an object representing a text file called @var{name} with the given @var{content} (a string) to be added to the store." +msgstr "" + +#. type: deffn +#: doc/guix.texi:5174 +msgid "This is the declarative counterpart of @code{text-file}." +msgstr "" + +#. type: deffn +#: doc/guix.texi:5176 +#, no-wrap +msgid "{Scheme Procedure} computed-file @var{name} @var{gexp} @" +msgstr "" + +#. type: deffn +#: doc/guix.texi:5181 +msgid "" +"[#:options '(#:local-build? #t)] Return an object representing the store item @var{name}, a file or directory computed by " +"@var{gexp}. @var{options} is a list of additional arguments to pass to @code{gexp->derivation}." +msgstr "" + +#. type: deffn +#: doc/guix.texi:5183 +msgid "This is the declarative counterpart of @code{gexp->derivation}." +msgstr "" + +#. type: deffn +#: doc/guix.texi:5185 +#, no-wrap +msgid "{Monadic Procedure} gexp->script @var{name} @var{exp} @" +msgstr "" + +#. type: deffn +#: doc/guix.texi:5190 +msgid "" +"[#:guile (default-guile)] [#:module-path %load-path] Return an executable script @var{name} that runs @var{exp} using @var{guile}, " +"with @var{exp}'s imported modules in its search path. Look up @var{exp}'s modules in @var{module-path}." +msgstr "" + +#. type: deffn +#: doc/guix.texi:5193 +msgid "The example below builds a script that simply invokes the @command{ls} command:" +msgstr "" + +#. type: example +#: doc/guix.texi:5196 +#, no-wrap +msgid "" +"(use-modules (guix gexp) (gnu packages base))\n" +"\n" +msgstr "" + +#. type: example +#: doc/guix.texi:5200 +#, no-wrap +msgid "" +"(gexp->script \"list-files\"\n" +" #~(execl #$(file-append coreutils \"/bin/ls\")\n" +" \"ls\"))\n" +msgstr "" + +#. type: deffn +#: doc/guix.texi:5205 +msgid "" +"When ``running'' it through the store (@pxref{The Store Monad, @code{run-with-store}}), we obtain a derivation that produces an " +"executable file @file{/gnu/store/@dots{}-list-files} along these lines:" +msgstr "" + +#. type: example +#: doc/guix.texi:5210 +#, no-wrap +msgid "" +"#!/gnu/store/@dots{}-guile-2.0.11/bin/guile -ds\n" +"!#\n" +"(execl \"/gnu/store/@dots{}-coreutils-8.22\"/bin/ls\" \"ls\")\n" +msgstr "" + +#. type: deffn +#: doc/guix.texi:5213 +#, no-wrap +msgid "{Scheme Procedure} program-file @var{name} @var{exp} @" +msgstr "" + +#. type: deffn +#: doc/guix.texi:5218 +msgid "" +"[#:guile #f] [#:module-path %load-path] Return an object representing the executable store item @var{name} that runs @var{gexp}. " +"@var{guile} is the Guile package used to execute that script. Imported modules of @var{gexp} are looked up in @var{module-path}." +msgstr "" + +#. type: deffn +#: doc/guix.texi:5220 +msgid "This is the declarative counterpart of @code{gexp->script}." +msgstr "" + +#. type: deffn +#: doc/guix.texi:5222 +#, no-wrap +msgid "{Monadic Procedure} gexp->file @var{name} @var{exp} @" +msgstr "" + +#. type: deffn +#: doc/guix.texi:5230 +msgid "" +"[#:set-load-path? #t] [#:module-path %load-path] @ [#:guile (default-guile)] Return a derivation that builds a file @var{name} " +"containing @var{exp}. When @var{set-load-path?} is true, emit code in the resulting file to set @code{%load-path} and @code{%load-" +"compiled-path} to honor @var{exp}'s imported modules. Look up @var{exp}'s modules in @var{module-path}." +msgstr "" + +#. type: deffn +#: doc/guix.texi:5233 +msgid "The resulting file holds references to all the dependencies of @var{exp} or a subset thereof." +msgstr "" + +#. type: deffn +#: doc/guix.texi:5235 +#, no-wrap +msgid "{Scheme Procedure} scheme-file @var{name} @var{exp}" +msgstr "" + +#. type: deffn +#: doc/guix.texi:5238 +msgid "Return an object representing the Scheme file @var{name} that contains @var{exp}." +msgstr "" + +#. type: deffn +#: doc/guix.texi:5240 +msgid "This is the declarative counterpart of @code{gexp->file}." +msgstr "" + +#. type: deffn +#: doc/guix.texi:5242 +#, no-wrap +msgid "{Monadic Procedure} text-file* @var{name} @var{text} @dots{}" +msgstr "" + +#. type: deffn +#: doc/guix.texi:5248 +msgid "" +"Return as a monadic value a derivation that builds a text file containing all of @var{text}. @var{text} may list, in addition to " +"strings, objects of any type that can be used in a gexp: packages, derivations, local file objects, etc. The resulting store file " +"holds references to all these." +msgstr "" + +#. type: deffn +#: doc/guix.texi:5253 +msgid "" +"This variant should be preferred over @code{text-file} anytime the file to create will reference items from the store. This is " +"typically the case when building a configuration file that embeds store file names, like this:" +msgstr "" + +#. type: example +#: doc/guix.texi:5261 +#, no-wrap +msgid "" +"(define (profile.sh)\n" +" ;; Return the name of a shell script in the store that\n" +" ;; initializes the 'PATH' environment variable.\n" +" (text-file* \"profile.sh\"\n" +" \"export PATH=\" coreutils \"/bin:\"\n" +" grep \"/bin:\" sed \"/bin\\n\"))\n" +msgstr "" + +#. type: deffn +#: doc/guix.texi:5266 +msgid "" +"In this example, the resulting @file{/gnu/store/@dots{}-profile.sh} file will reference @var{coreutils}, @var{grep}, and @var{sed}, " +"thereby preventing them from being garbage-collected during its lifetime." +msgstr "" + +#. type: deffn +#: doc/guix.texi:5268 +#, no-wrap +msgid "{Scheme Procedure} mixed-text-file @var{name} @var{text} @dots{}" +msgstr "" + +#. type: deffn +#: doc/guix.texi:5272 +msgid "" +"Return an object representing store file @var{name} containing @var{text}. @var{text} is a sequence of strings and file-like " +"objects, as in:" +msgstr "" + +#. type: example +#: doc/guix.texi:5276 +#, no-wrap +msgid "" +"(mixed-text-file \"profile\"\n" +" \"export PATH=\" coreutils \"/bin:\" grep \"/bin\")\n" +msgstr "" + +#. type: deffn +#: doc/guix.texi:5279 +msgid "This is the declarative counterpart of @code{text-file*}." +msgstr "" + +#. type: deffn +#: doc/guix.texi:5281 +#, no-wrap +msgid "{Scheme Procedure} file-union @var{name} @var{files}" +msgstr "" + +#. type: deffn +#: doc/guix.texi:5286 +msgid "" +"Return a @code{<computed-file>} that builds a directory containing all of @var{files}. Each item in @var{files} must be a two-" +"element list where the first element is the file name to use in the new directory, and the second element is a gexp denoting the " +"target file. Here's an example:" +msgstr "" + +#. type: example +#: doc/guix.texi:5293 +#, no-wrap +msgid "" +"(file-union \"etc\"\n" +" `((\"hosts\" ,(plain-file \"hosts\"\n" +" \"127.0.0.1 localhost\"))\n" +" (\"bashrc\" ,(plain-file \"bashrc\"\n" +" \"alias ls='ls --color'\"))))\n" +msgstr "" + +#. type: deffn +#: doc/guix.texi:5296 +msgid "This yields an @code{etc} directory containing these two files." +msgstr "" + +#. type: deffn +#: doc/guix.texi:5298 +#, no-wrap +msgid "{Scheme Procedure} directory-union @var{name} @var{things}" +msgstr "" + +#. type: deffn +#: doc/guix.texi:5301 +msgid "" +"Return a directory that is the union of @var{things}, where @var{things} is a list of file-like objects denoting directories. For " +"example:" +msgstr "" + +#. type: example +#: doc/guix.texi:5304 +#, no-wrap +msgid "(directory-union \"guile+emacs\" (list guile emacs))\n" +msgstr "" + +#. type: deffn +#: doc/guix.texi:5307 +msgid "yields a directory that is the union of the @code{guile} and @code{emacs} packages." +msgstr "" + +#. type: deffn +#: doc/guix.texi:5309 +#, no-wrap +msgid "{Scheme Procedure} file-append @var{obj} @var{suffix} @dots{}" +msgstr "" + +#. type: deffn +#: doc/guix.texi:5313 +msgid "" +"Return a file-like object that expands to the concatenation of @var{obj} and @var{suffix}, where @var{obj} is a lowerable object and " +"each @var{suffix} is a string." +msgstr "" + +#. type: deffn +#: doc/guix.texi:5315 +msgid "As an example, consider this gexp:" +msgstr "" + +#. type: example +#: doc/guix.texi:5320 +#, no-wrap +msgid "" +"(gexp->script \"run-uname\"\n" +" #~(system* #$(file-append coreutils\n" +" \"/bin/uname\")))\n" +msgstr "" + +#. type: deffn +#: doc/guix.texi:5323 +msgid "The same effect could be achieved with:" +msgstr "" + +#. type: example +#: doc/guix.texi:5328 +#, no-wrap +msgid "" +"(gexp->script \"run-uname\"\n" +" #~(system* (string-append #$coreutils\n" +" \"/bin/uname\")))\n" +msgstr "" + +#. type: deffn +#: doc/guix.texi:5334 +msgid "" +"There is one difference though: in the @code{file-append} case, the resulting script contains the absolute file name as a string, " +"whereas in the second case, the resulting script contains a @code{(string-append @dots{})} expression to construct the file name " +"@emph{at run time}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:5341 +msgid "" +"Of course, in addition to gexps embedded in ``host'' code, there are also modules containing build tools. To make it clear that " +"they are meant to be used in the build stratum, these modules are kept in the @code{(guix build @dots{})} name space." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:5347 +msgid "" +"Internally, high-level objects are @dfn{lowered}, using their compiler, to either derivations or store items. For instance, " +"lowering a package yields a derivation, and lowering a @code{plain-file} yields a store item. This is achieved using the " +"@code{lower-object} monadic procedure." +msgstr "" + +#. type: deffn +#: doc/guix.texi:5348 +#, no-wrap +msgid "{Monadic Procedure} lower-object @var{obj} [@var{system}] @" +msgstr "" + +#. type: deffn +#: doc/guix.texi:5354 +msgid "" +"[#:target #f] Return as a value in @var{%store-monad} the derivation or store item corresponding to @var{obj} for @var{system}, " +"cross-compiling for @var{target} if @var{target} is true. @var{obj} must be an object that has an associated gexp compiler, such as " +"a @code{<package>}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:5365 +msgid "" +"This section describes Guix command-line utilities. Some of them are primarily targeted at developers and users who write new " +"package definitions, while others are more generally useful. They complement the Scheme programming interface of Guix in a " +"convenient way." +msgstr "" + +#. type: cindex +#: doc/guix.texi:5387 +#, no-wrap +msgid "package building" +msgstr "" + +#. type: command{#1} +#: doc/guix.texi:5388 +#, no-wrap +msgid "guix build" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:5394 +msgid "" +"The @command{guix build} command builds packages or derivations and their dependencies, and prints the resulting store paths. Note " +"that it does not modify the user's profile---this is the job of the @command{guix package} command (@pxref{Invoking guix package}). " +"Thus, it is mainly useful for distribution developers." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:5396 doc/guix.texi:6053 doc/guix.texi:6120 doc/guix.texi:6789 doc/guix.texi:7119 doc/guix.texi:7449 doc/guix.texi:7754 +#: doc/guix.texi:7820 doc/guix.texi:7859 +msgid "The general syntax is:" +msgstr "" + +#. type: example +#: doc/guix.texi:5399 +#, no-wrap +msgid "guix build @var{options} @var{package-or-derivation}@dots{}\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:5404 +msgid "" +"As an example, the following command builds the latest versions of Emacs and of Guile, displays their build logs, and finally " +"displays the resulting directories:" +msgstr "" + +#. type: example +#: doc/guix.texi:5407 +#, no-wrap +msgid "guix build emacs guile\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:5410 +msgid "Similarly, the following command builds all the available packages:" +msgstr "" + +#. type: example +#: doc/guix.texi:5414 +#, no-wrap +msgid "" +"guix build --quiet --keep-going \\\n" +" `guix package -A | cut -f1,2 --output-delimiter=@@`\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:5422 +msgid "" +"@var{package-or-derivation} may be either the name of a package found in the software distribution such as @code{coreutils} or " +"@code{coreutils@@8.20}, or a derivation such as @file{/gnu/store/@dots{}-coreutils-8.19.drv}. In the former case, a package with " +"the corresponding name (and optionally version) is searched for among the GNU distribution modules (@pxref{Package Modules})." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:5427 +msgid "" +"Alternatively, the @code{--expression} option may be used to specify a Scheme expression that evaluates to a package; this is useful " +"when disambiguating among several same-named packages or package variants is needed." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:5430 +msgid "There may be zero or more @var{options}. The available options are described in the subsections below." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:5445 +msgid "" +"A number of options that control the build process are common to @command{guix build} and other commands that can spawn builds, such " +"as @command{guix package} or @command{guix archive}. These are the following:" +msgstr "" + +#. type: item +#: doc/guix.texi:5448 +#, no-wrap +msgid "--load-path=@var{directory}" +msgstr "" + +#. type: itemx +#: doc/guix.texi:5449 +#, no-wrap +msgid "-L @var{directory}" +msgstr "" + +#. type: table +#: doc/guix.texi:5452 +msgid "Add @var{directory} to the front of the package module search path (@pxref{Package Modules})." +msgstr "" + +#. type: table +#: doc/guix.texi:5455 +msgid "This allows users to define their own packages and make them visible to the command-line tools." +msgstr "" + +#. type: item +#: doc/guix.texi:5456 +#, no-wrap +msgid "--keep-failed" +msgstr "" + +#. type: itemx +#: doc/guix.texi:5457 +#, no-wrap +msgid "-K" +msgstr "" + +#. type: table +#: doc/guix.texi:5463 +msgid "" +"Keep the build tree of failed builds. Thus, if a build fails, its build tree is kept under @file{/tmp}, in a directory whose name " +"is shown at the end of the build log. This is useful when debugging build issues. @xref{Debugging Build Failures}, for tips and " +"tricks on how to debug build issues." +msgstr "" + +#. type: item +#: doc/guix.texi:5464 +#, no-wrap +msgid "--keep-going" +msgstr "" + +#. type: itemx +#: doc/guix.texi:5465 +#, no-wrap +msgid "-k" +msgstr "" + +#. type: table +#: doc/guix.texi:5468 +msgid "Keep going when some of the derivations fail to build; return only once all the builds have either completed or failed." +msgstr "" + +#. type: table +#: doc/guix.texi:5471 +msgid "The default behavior is to stop as soon as one of the specified derivations has failed." +msgstr "" + +#. type: item +#: doc/guix.texi:5472 +#, no-wrap +msgid "--dry-run" +msgstr "" + +#. type: itemx +#: doc/guix.texi:5473 +#, no-wrap +msgid "-n" +msgstr "" + +#. type: table +#: doc/guix.texi:5475 +msgid "Do not build the derivations." +msgstr "" + +#. type: anchor{#1} +#: doc/guix.texi:5477 +msgid "fallback-option" +msgstr "" + +#. type: item +#: doc/guix.texi:5477 +#, no-wrap +msgid "--fallback" +msgstr "" + +#. type: table +#: doc/guix.texi:5480 +msgid "When substituting a pre-built binary fails, fall back to building packages locally (@pxref{Substitution Failure})." +msgstr "" + +#. type: anchor{#1} +#: doc/guix.texi:5486 +msgid "client-substitute-urls" +msgstr "" + +#. type: table +#: doc/guix.texi:5486 +msgid "" +"Consider @var{urls} the whitespace-separated list of substitute source URLs, overriding the default list of URLs of @command{guix-" +"daemon} (@pxref{daemon-substitute-urls,, @command{guix-daemon} URLs})." +msgstr "" + +#. type: table +#: doc/guix.texi:5490 +msgid "" +"This means that substitutes may be downloaded from @var{urls}, provided they are signed by a key authorized by the system " +"administrator (@pxref{Substitutes})." +msgstr "" +"Cela signifie que les substituts peuvent être téléchargés depuis @var{urls}, tant qu'ils sont signés par une clef autorisée par " +"l'administrateur système (@pxref{Substituts})." + +#. type: table +#: doc/guix.texi:5493 +msgid "When @var{urls} is the empty string, substitutes are effectively disabled." +msgstr "" + +#. type: item +#: doc/guix.texi:5499 +#, no-wrap +msgid "--no-grafts" +msgstr "" + +#. type: table +#: doc/guix.texi:5503 +msgid "" +"Do not ``graft'' packages. In practice, this means that package updates available as grafts are not applied. @xref{Security " +"Updates}, for more information on grafts." +msgstr "" + +#. type: item +#: doc/guix.texi:5504 +#, no-wrap +msgid "--rounds=@var{n}" +msgstr "" + +#. type: table +#: doc/guix.texi:5507 +msgid "Build each derivation @var{n} times in a row, and raise an error if consecutive build results are not bit-for-bit identical." +msgstr "" + +#. type: table +#: doc/guix.texi:5512 +msgid "" +"This is a useful way to detect non-deterministic builds processes. Non-deterministic build processes are a problem because they " +"make it practically impossible for users to @emph{verify} whether third-party binaries are genuine. @xref{Invoking guix challenge}, " +"for more." +msgstr "" + +#. type: table +#: doc/guix.texi:5518 +msgid "" +"Note that, currently, the differing build results are not kept around, so you will have to manually investigate in case of an " +"error---e.g., by stashing one of the build results with @code{guix archive --export} (@pxref{Invoking guix archive}), then " +"rebuilding, and finally comparing the two results." +msgstr "" + +#. type: table +#: doc/guix.texi:5523 +msgid "" +"Do not attempt to offload builds @i{via} the ``build hook'' of the daemon (@pxref{Daemon Offload Setup}). That is, always build " +"things locally instead of offloading builds to remote machines." +msgstr "" + +#. type: table +#: doc/guix.texi:5530 +msgid "By default, the daemon's setting is honored (@pxref{Invoking guix-daemon, @code{--max-silent-time}})." +msgstr "" + +#. type: table +#: doc/guix.texi:5537 +msgid "By default, the daemon's setting is honored (@pxref{Invoking guix-daemon, @code{--timeout}})." +msgstr "" + +#. type: item +#: doc/guix.texi:5538 +#, no-wrap +msgid "--verbosity=@var{level}" +msgstr "" + +#. type: table +#: doc/guix.texi:5542 +msgid "" +"Use the given verbosity level. @var{level} must be an integer between 0 and 5; higher means more verbose output. Setting a level " +"of 4 or more may be helpful when debugging setup issues with the build daemon." +msgstr "" + +#. type: table +#: doc/guix.texi:5547 +msgid "" +"Allow the use of up to @var{n} CPU cores for the build. The special value @code{0} means to use as many CPU cores as available." +msgstr "" + +#. type: table +#: doc/guix.texi:5553 +msgid "" +"Allow at most @var{n} build jobs in parallel. @xref{Invoking guix-daemon, @code{--max-jobs}}, for details about this option and the " +"equivalent @command{guix-daemon} option." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:5560 +msgid "" +"Behind the scenes, @command{guix build} is essentially an interface to the @code{package-derivation} procedure of the @code{(guix " +"packages)} module, and to the @code{build-derivations} procedure of the @code{(guix derivations)} module." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:5564 +msgid "" +"In addition to options explicitly passed on the command line, @command{guix build} and other @command{guix} commands that support " +"building honor the @code{GUIX_BUILD_OPTIONS} environment variable." +msgstr "" + +#. type: defvr +#: doc/guix.texi:5565 +#, no-wrap +msgid "{Environment Variable} GUIX_BUILD_OPTIONS" +msgstr "" + +#. type: defvr +#: doc/guix.texi:5570 +msgid "" +"Users can define this variable to a list of command line options that will automatically be used by @command{guix build} and other " +"@command{guix} commands that can perform builds, as in the example below:" +msgstr "" + +#. type: example +#: doc/guix.texi:5573 +#, no-wrap +msgid "$ export GUIX_BUILD_OPTIONS=\"--no-substitutes -c 2 -L /foo/bar\"\n" +msgstr "" + +#. type: defvr +#: doc/guix.texi:5577 +msgid "These options are parsed independently, and the result is appended to the parsed command-line options." +msgstr "" + +#. type: cindex +#: doc/guix.texi:5583 +#, no-wrap +msgid "package variants" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:5591 +msgid "" +"Another set of command-line options supported by @command{guix build} and also @command{guix package} are @dfn{package " +"transformation options}. These are options that make it possible to define @dfn{package variants}---for instance, packages built " +"from different source code. This is a convenient way to create customized packages on the fly without having to type in the " +"definitions of package variants (@pxref{Defining Packages})." +msgstr "" + +#. type: item +#: doc/guix.texi:5594 +#, no-wrap +msgid "--with-source=@var{source}" +msgstr "" + +#. type: itemx +#: doc/guix.texi:5595 +#, no-wrap +msgid "--with-source=@var{package}=@var{source}" +msgstr "" + +#. type: itemx +#: doc/guix.texi:5596 +#, no-wrap +msgid "--with-source=@var{package}@@@var{version}=@var{source}" +msgstr "" + +#. type: table +#: doc/guix.texi:5601 +msgid "" +"Use @var{source} as the source of @var{package}, and @var{version} as its version number. @var{source} must be a file name or a " +"URL, as for @command{guix download} (@pxref{Invoking guix download})." +msgstr "" + +#. type: table +#: doc/guix.texi:5607 +msgid "" +"When @var{package} is omitted, it is taken to be the package name specified on the command line that matches the base of " +"@var{source}---e.g., if @var{source} is @code{/src/guile-2.0.10.tar.gz}, the corresponding package is @code{guile}." +msgstr "" + +#. type: table +#: doc/guix.texi:5610 +msgid "" +"Likewise, when @var{version} is omitted, the version string is inferred from @var{source}; in the previous example, it is " +"@code{2.0.10}." +msgstr "" + +#. type: table +#: doc/guix.texi:5615 +msgid "" +"This option allows users to try out versions of packages other than the one provided by the distribution. The example below " +"downloads @file{ed-1.7.tar.gz} from a GNU mirror and uses that as the source for the @code{ed} package:" +msgstr "" + +#. type: example +#: doc/guix.texi:5618 +#, no-wrap +msgid "guix build ed --with-source=mirror://gnu/ed/ed-1.7.tar.gz\n" +msgstr "" + +#. type: table +#: doc/guix.texi:5622 +msgid "As a developer, @code{--with-source} makes it easy to test release candidates:" +msgstr "" + +#. type: example +#: doc/guix.texi:5625 +#, no-wrap +msgid "guix build guile --with-source=../guile-2.0.9.219-e1bb7.tar.xz\n" +msgstr "" + +#. type: table +#: doc/guix.texi:5628 +msgid "@dots{} or to build from a checkout in a pristine environment:" +msgstr "" + +#. type: example +#: doc/guix.texi:5632 +#, no-wrap +msgid "" +"$ git clone git://git.sv.gnu.org/guix.git\n" +"$ guix build guix --with-source=guix@@1.0=./guix\n" +msgstr "" + +#. type: item +#: doc/guix.texi:5634 +#, no-wrap +msgid "--with-input=@var{package}=@var{replacement}" +msgstr "" + +#. type: table +#: doc/guix.texi:5639 +msgid "" +"Replace dependency on @var{package} by a dependency on @var{replacement}. @var{package} must be a package name, and " +"@var{replacement} must be a package specification such as @code{guile} or @code{guile@@1.8}." +msgstr "" + +#. type: table +#: doc/guix.texi:5643 +msgid "" +"For instance, the following command builds Guix, but replaces its dependency on the current stable version of Guile with a " +"dependency on the legacy version of Guile, @code{guile@@2.0}:" +msgstr "" + +#. type: example +#: doc/guix.texi:5646 +#, no-wrap +msgid "guix build --with-input=guile=guile@@2.0 guix\n" +msgstr "" + +#. type: table +#: doc/guix.texi:5651 +msgid "" +"This is a recursive, deep replacement. So in this example, both @code{guix} and its dependency @code{guile-json} (which also " +"depends on @code{guile}) get rebuilt against @code{guile@@2.0}." +msgstr "" + +#. type: table +#: doc/guix.texi:5654 +msgid "" +"This is implemented using the @code{package-input-rewriting} Scheme procedure (@pxref{Defining Packages, @code{package-input-" +"rewriting}})." +msgstr "" + +#. type: item +#: doc/guix.texi:5655 +#, no-wrap +msgid "--with-graft=@var{package}=@var{replacement}" +msgstr "" + +#. type: table +#: doc/guix.texi:5661 +msgid "" +"This is similar to @code{--with-input} but with an important difference: instead of rebuilding the whole dependency chain, " +"@var{replacement} is built and then @dfn{grafted} onto the binaries that were initially referring to @var{package}. @xref{Security " +"Updates}, for more information on grafts." +msgstr "" + +#. type: table +#: doc/guix.texi:5665 +msgid "" +"For example, the command below grafts version 3.5.4 of GnuTLS onto Wget and all its dependencies, replacing references to the " +"version of GnuTLS they currently refer to:" +msgstr "" + +#. type: example +#: doc/guix.texi:5668 +#, no-wrap +msgid "guix build --with-graft=gnutls=gnutls@@3.5.4 wget\n" +msgstr "" + +#. type: table +#: doc/guix.texi:5677 +msgid "" +"This has the advantage of being much faster than rebuilding everything. But there is a caveat: it works if and only if " +"@var{package} and @var{replacement} are strictly compatible---for example, if they provide a library, the application binary " +"interface (ABI) of those libraries must be compatible. If @var{replacement} is somehow incompatible with @var{package}, then the " +"resulting package may be unusable. Use with care!" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:5685 +msgid "The command-line options presented below are specific to @command{guix build}." +msgstr "" + +#. type: item +#: doc/guix.texi:5688 +#, no-wrap +msgid "--quiet" +msgstr "" + +#. type: itemx +#: doc/guix.texi:5689 +#, no-wrap +msgid "-q" +msgstr "" + +#. type: table +#: doc/guix.texi:5693 +msgid "" +"Build quietly, without displaying the build log. Upon completion, the build log is kept in @file{/var} (or similar) and can always " +"be retrieved using the @option{--log-file} option." +msgstr "" + +#. type: item +#: doc/guix.texi:5694 +#, no-wrap +msgid "--file=@var{file}" +msgstr "" + +#. type: table +#: doc/guix.texi:5699 +msgid "Build the package or derivation that the code within @var{file} evaluates to." +msgstr "" + +#. type: table +#: doc/guix.texi:5702 +msgid "As an example, @var{file} might contain a package definition like this (@pxref{Defining Packages}):" +msgstr "" + +#. type: table +#: doc/guix.texi:5710 +msgid "Build the package or derivation @var{expr} evaluates to." +msgstr "" + +#. type: table +#: doc/guix.texi:5714 +msgid "" +"For example, @var{expr} may be @code{(@@ (gnu packages guile) guile-1.8)}, which unambiguously designates this specific variant of " +"version 1.8 of Guile." +msgstr "" + +#. type: table +#: doc/guix.texi:5718 +msgid "" +"Alternatively, @var{expr} may be a G-expression, in which case it is used as a build program passed to @code{gexp->derivation} " +"(@pxref{G-Expressions})." +msgstr "" + +#. type: table +#: doc/guix.texi:5722 +msgid "" +"Lastly, @var{expr} may refer to a zero-argument monadic procedure (@pxref{The Store Monad}). The procedure must return a derivation " +"as a monadic value, which is then passed through @code{run-with-store}." +msgstr "" + +#. type: item +#: doc/guix.texi:5723 +#, no-wrap +msgid "--source" +msgstr "" + +#. type: itemx +#: doc/guix.texi:5724 +#, no-wrap +msgid "-S" +msgstr "" + +#. type: table +#: doc/guix.texi:5727 +msgid "Build the source derivations of the packages, rather than the packages themselves." +msgstr "" + +#. type: table +#: doc/guix.texi:5731 +msgid "" +"For instance, @code{guix build -S gcc} returns something like @file{/gnu/store/@dots{}-gcc-4.7.2.tar.bz2}, which is the GCC source " +"tarball." +msgstr "" + +#. type: table +#: doc/guix.texi:5735 +msgid "" +"The returned source tarball is the result of applying any patches and code snippets specified in the package @code{origin} " +"(@pxref{Defining Packages})." +msgstr "" + +#. type: item +#: doc/guix.texi:5736 +#, no-wrap +msgid "--sources" +msgstr "" + +#. type: table +#: doc/guix.texi:5743 +msgid "" +"Fetch and return the source of @var{package-or-derivation} and all their dependencies, recursively. This is a handy way to obtain a " +"local copy of all the source code needed to build @var{packages}, allowing you to eventually build them even without network " +"access. It is an extension of the @code{--source} option and can accept one of the following optional argument values:" +msgstr "" + +#. type: item +#: doc/guix.texi:5745 doc/guix.texi:6970 +#, no-wrap +msgid "package" +msgstr "" + +#. type: table +#: doc/guix.texi:5748 +msgid "This value causes the @code{--sources} option to behave in the same way as the @code{--source} option." +msgstr "" + +#. type: item +#: doc/guix.texi:5749 doc/guix.texi:11749 +#, no-wrap +msgid "all" +msgstr "" + +#. type: table +#: doc/guix.texi:5752 +msgid "" +"Build the source derivations of all packages, including any source that might be listed as @code{inputs}. This is the default value." +msgstr "" + +#. type: example +#: doc/guix.texi:5758 +#, no-wrap +msgid "" +"$ guix build --sources tzdata\n" +"The following derivations will be built:\n" +" /gnu/store/@dots{}-tzdata2015b.tar.gz.drv\n" +" /gnu/store/@dots{}-tzcode2015b.tar.gz.drv\n" +msgstr "" + +#. type: item +#: doc/guix.texi:5760 +#, no-wrap +msgid "transitive" +msgstr "" + +#. type: table +#: doc/guix.texi:5764 +msgid "" +"Build the source derivations of all packages, as well of all transitive inputs to the packages. This can be used e.g. to prefetch " +"package source for later offline building." +msgstr "" + +#. type: example +#: doc/guix.texi:5775 +#, no-wrap +msgid "" +"$ guix build --sources=transitive tzdata\n" +"The following derivations will be built:\n" +" /gnu/store/@dots{}-tzcode2015b.tar.gz.drv\n" +" /gnu/store/@dots{}-findutils-4.4.2.tar.xz.drv\n" +" /gnu/store/@dots{}-grep-2.21.tar.xz.drv\n" +" /gnu/store/@dots{}-coreutils-8.23.tar.xz.drv\n" +" /gnu/store/@dots{}-make-4.1.tar.xz.drv\n" +" /gnu/store/@dots{}-bash-4.3.tar.xz.drv\n" +"@dots{}\n" +msgstr "" + +#. type: quotation +#: doc/guix.texi:5788 +msgid "" +"The @code{--system} flag is for @emph{native} compilation and must not be confused with cross-compilation. See @code{--target} " +"below for information on cross-compilation." +msgstr "" + +#. type: table +#: doc/guix.texi:5794 +msgid "" +"An example use of this is on Linux-based systems, which can emulate different personalities. For instance, passing @code{--" +"system=i686-linux} on an @code{x86_64-linux} system allows you to build packages in a complete 32-bit environment." +msgstr "" + +#. type: table +#: doc/guix.texi:5799 +msgid "" +"Similarly, when transparent emulation with QEMU and @code{binfmt_misc} is enabled (@pxref{Virtualization Services, @code{qemu-binfmt-" +"service-type}}), you can build for any system for which a QEMU @code{binfmt_misc} handler is installed." +msgstr "" + +#. type: table +#: doc/guix.texi:5803 +msgid "" +"Builds for a system other than that of the machine you are using can also be offloaded to a remote machine of the right " +"architecture. @xref{Daemon Offload Setup}, for more information on offloading." +msgstr "" + +#. type: anchor{#1} +#: doc/guix.texi:5811 +msgid "build-check" +msgstr "" + +#. type: item +#: doc/guix.texi:5811 +#, no-wrap +msgid "--check" +msgstr "--check" + +#. type: cindex +#: doc/guix.texi:5812 +#, no-wrap +msgid "determinism, checking" +msgstr "déterminisme, vérification" + +#. type: cindex +#: doc/guix.texi:5813 +#, no-wrap +msgid "reproducibility, checking" +msgstr "reproductibilité, vérification" + +#. type: table +#: doc/guix.texi:5817 +msgid "" +"Rebuild @var{package-or-derivation}, which are already available in the store, and raise an error if the build results are not bit-" +"for-bit identical." +msgstr "" + +#. type: table +#: doc/guix.texi:5822 +msgid "" +"This mechanism allows you to check whether previously installed 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." +msgstr "" +"Ce mécanisme vous permet de vérifier si les substituts précédemment installés sont authentiques (@pxref{Substituts}) ou si le " +"résultat de la construction d'un paquet est déterministe. @xref{Invoking guix challenge} pour plus d'informations et pour les outils." + +#. type: item +#: doc/guix.texi:5827 +#, no-wrap +msgid "--repair" +msgstr "--repair" + +#. type: cindex +#: doc/guix.texi:5828 +#, no-wrap +msgid "repairing store items" +msgstr "" + +#. type: table +#: doc/guix.texi:5832 +msgid "Attempt to repair the specified store items, if they are corrupt, by re-downloading or rebuilding them." +msgstr "" + +#. type: table +#: doc/guix.texi:5834 +msgid "This operation is not atomic and thus restricted to @code{root}." +msgstr "" + +#. type: item +#: doc/guix.texi:5835 +#, no-wrap +msgid "--derivations" +msgstr "" + +#. type: table +#: doc/guix.texi:5839 +msgid "Return the derivation paths, not the output paths, of the given packages." +msgstr "" + +#. type: item +#: doc/guix.texi:5840 doc/guix.texi:7227 doc/guix.texi:20563 +#, no-wrap +msgid "--root=@var{file}" +msgstr "" + +#. type: itemx +#: doc/guix.texi:5841 doc/guix.texi:7228 doc/guix.texi:20564 +#, no-wrap +msgid "-r @var{file}" +msgstr "" + +#. type: cindex +#: doc/guix.texi:5842 +#, no-wrap +msgid "GC roots, adding" +msgstr "" + +#. type: cindex +#: doc/guix.texi:5843 +#, no-wrap +msgid "garbage collector roots, adding" +msgstr "" + +#. type: table +#: doc/guix.texi:5846 doc/guix.texi:20567 +msgid "Make @var{file} a symlink to the result, and register it as a garbage collector root." +msgstr "" + +#. type: table +#: doc/guix.texi:5852 +msgid "" +"Consequently, the results of this @command{guix build} invocation are protected from garbage collection until @var{file} is " +"removed. When that option is omitted, build results are eligible for garbage collection as soon as the build completes. " +"@xref{Invoking guix gc}, for more on GC roots." +msgstr "" + +#. type: item +#: doc/guix.texi:5853 +#, no-wrap +msgid "--log-file" +msgstr "" + +#. type: cindex +#: doc/guix.texi:5854 +#, no-wrap +msgid "build logs, access" +msgstr "" + +#. type: table +#: doc/guix.texi:5858 +msgid "Return the build log file names or URLs for the given @var{package-or-derivation}, or raise an error if build logs are missing." +msgstr "" + +#. type: table +#: doc/guix.texi:5861 +msgid "This works regardless of how packages or derivations are specified. For instance, the following invocations are equivalent:" +msgstr "" + +#. type: example +#: doc/guix.texi:5867 +#, no-wrap +msgid "" +"guix build --log-file `guix build -d guile`\n" +"guix build --log-file `guix build guile`\n" +"guix build --log-file guile\n" +"guix build --log-file -e '(@@ (gnu packages guile) guile-2.0)'\n" +msgstr "" + +#. type: table +#: doc/guix.texi:5872 +msgid "" +"If a log is unavailable locally, and unless @code{--no-substitutes} is passed, the command looks for a corresponding log on one of " +"the substitute servers (as specified with @code{--substitute-urls}.)" +msgstr "" + +#. type: table +#: doc/guix.texi:5875 +msgid "So for instance, imagine you want to see the build log of GDB on MIPS, but you are actually on an @code{x86_64} machine:" +msgstr "" + +#. type: example +#: doc/guix.texi:5879 +#, no-wrap +msgid "" +"$ guix build --log-file gdb -s mips64el-linux\n" +"https://hydra.gnu.org/log/@dots{}-gdb-7.10\n" +msgstr "" + +#. type: table +#: doc/guix.texi:5882 +msgid "You can freely access a huge library of build logs!" +msgstr "" + +#. type: cindex +#: doc/guix.texi:5887 +#, no-wrap +msgid "build failures, debugging" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:5893 +msgid "" +"When defining a new package (@pxref{Defining Packages}), you will probably find yourself spending some time debugging and tweaking " +"the build until it succeeds. To do that, you need to operate the build commands yourself in an environment as close as possible to " +"the one the build daemon uses." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:5898 +msgid "" +"To that end, the first thing to do is to use the @option{--keep-failed} or @option{-K} option of @command{guix build}, which will " +"keep the failed build tree in @file{/tmp} or whatever directory you specified as @code{TMPDIR} (@pxref{Invoking guix build, @code{--" +"keep-failed}})." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:5904 +msgid "" +"From there on, you can @command{cd} to the failed build tree and source the @file{environment-variables} file, which contains all " +"the environment variable definitions that were in place when the build failed. So let's say you're debugging a build failure in " +"package @code{foo}; a typical session would look like this:" +msgstr "" + +#. type: example +#: doc/guix.texi:5911 +#, no-wrap +msgid "" +"$ guix build foo -K\n" +"@dots{} @i{build fails}\n" +"$ cd /tmp/guix-build-foo.drv-0\n" +"$ source ./environment-variables\n" +"$ cd foo-1.2\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:5915 +msgid "Now, you can invoke commands as if you were the daemon (almost) and troubleshoot your build process." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:5921 +msgid "" +"Sometimes it happens that, for example, a package's tests pass when you run them manually but they fail when the daemon runs them. " +"This can happen because the daemon runs builds in containers where, unlike in our environment above, network access is missing, " +"@file{/bin/sh} does not exist, etc. (@pxref{Build Environment Setup})." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:5924 +msgid "" +"In such cases, you may need to run inspect the build process from within a container similar to the one the build daemon creates:" +msgstr "" + +#. type: example +#: doc/guix.texi:5932 +#, no-wrap +msgid "" +"$ guix build -K foo\n" +"@dots{}\n" +"$ cd /tmp/guix-build-foo.drv-0\n" +"$ guix environment --no-grafts -C foo --ad-hoc strace gdb\n" +"[env]# source ./environment-variables\n" +"[env]# cd foo-1.2\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:5941 +msgid "" +"Here, @command{guix environment -C} creates a container and spawns a new shell in it (@pxref{Invoking guix environment}). The " +"@command{--ad-hoc strace gdb} part adds the @command{strace} and @command{gdb} commands to the container, which would may find handy " +"while debugging. The @option{--no-grafts} option makes sure we get the exact same environment, with ungrafted packages " +"(@pxref{Security Updates}, for more info on grafts)." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:5944 +msgid "To get closer to a container like that used by the build daemon, we can remove @file{/bin/sh}:" +msgstr "" + +#. type: example +#: doc/guix.texi:5947 +#, no-wrap +msgid "[env]# rm /bin/sh\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:5951 +msgid "(Don't worry, this is harmless: this is all happening in the throw-away container created by @command{guix environment}.)" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:5954 +msgid "The @command{strace} command is probably not in the search path, but we can run:" +msgstr "" + +#. type: example +#: doc/guix.texi:5957 +#, no-wrap +msgid "[env]# $GUIX_ENVIRONMENT/bin/strace -f -o log make check\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:5962 +msgid "" +"In this way, not only you will have reproduced the environment variables the daemon uses, you will also be running the build process " +"in a container similar to the one the daemon uses." +msgstr "" + +#. type: section +#: doc/guix.texi:5965 +#, no-wrap +msgid "Invoking @command{guix edit}" +msgstr "" + +#. type: command{#1} +#: doc/guix.texi:5967 +#, no-wrap +msgid "guix edit" +msgstr "" + +#. type: cindex +#: doc/guix.texi:5968 +#, no-wrap +msgid "package definition, editing" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:5973 +msgid "" +"So many packages, so many source files! The @command{guix edit} command facilitates the life of users and packagers by pointing " +"their editor at the source file containing the definition of the specified packages. For instance:" +msgstr "" + +#. type: example +#: doc/guix.texi:5976 +#, no-wrap +msgid "guix edit gcc@@4.9 vim\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:5982 +msgid "" +"launches the program specified in the @code{VISUAL} or in the @code{EDITOR} environment variable to view the recipe of GCC@tie{}" +"4.9.3 and that of Vim." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:5988 +msgid "" +"If you are using a Guix Git checkout (@pxref{Building from Git}), or have created your own packages on @code{GUIX_PACKAGE_PATH} " +"(@pxref{Defining Packages}), you will be able to edit the package recipes. Otherwise, you will be able to examine the read-only " +"recipes for packages currently in the store." +msgstr "" + +#. type: section +#: doc/guix.texi:5991 +#, no-wrap +msgid "Invoking @command{guix download}" +msgstr "" + +#. type: command{#1} +#: doc/guix.texi:5993 +#, no-wrap +msgid "guix download" +msgstr "" + +#. type: cindex +#: doc/guix.texi:5994 +#, no-wrap +msgid "downloading package sources" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:6001 +msgid "" +"When writing a package definition, developers typically need to download a source tarball, compute its SHA256 hash, and write that " +"hash in the package definition (@pxref{Defining Packages}). The @command{guix download} tool helps with this task: it downloads a " +"file from the given URI, adds it to the store, and prints both its file name in the store and its SHA256 hash." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:6008 +msgid "" +"The fact that the downloaded file is added to the store saves bandwidth: when the developer eventually tries to build the newly " +"defined package with @command{guix build}, the source tarball will not have to be downloaded again because it is already in the " +"store. It is also a convenient way to temporarily stash files, which may be deleted eventually (@pxref{Invoking guix gc})." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:6016 +msgid "" +"The @command{guix download} command supports the same URIs as used in package definitions. In particular, it supports " +"@code{mirror://} URIs. @code{https} URIs (HTTP over TLS) are supported @emph{provided} the Guile bindings for GnuTLS are available " +"in the user's environment; when they are not available, an error is raised. @xref{Guile Preparations, how to install the GnuTLS " +"bindings for Guile,, gnutls-guile, GnuTLS-Guile}, for more information." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:6021 +msgid "" +"@command{guix download} verifies HTTPS server certificates by loading the certificates of X.509 authorities from the directory " +"pointed to by the @code{SSL_CERT_DIR} environment variable (@pxref{X.509 Certificates}), unless @option{--no-check-certificate} is " +"used." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:6023 doc/guix.texi:7507 +msgid "The following options are available:" +msgstr "" + +#. type: item +#: doc/guix.texi:6025 doc/guix.texi:6064 +#, no-wrap +msgid "--format=@var{fmt}" +msgstr "" + +#. type: itemx +#: doc/guix.texi:6026 doc/guix.texi:6065 +#, no-wrap +msgid "-f @var{fmt}" +msgstr "" + +#. type: table +#: doc/guix.texi:6029 +msgid "" +"Write the hash in the format specified by @var{fmt}. For more information on the valid values for @var{fmt}, @pxref{Invoking guix " +"hash}." +msgstr "" + +#. type: item +#: doc/guix.texi:6030 +#, no-wrap +msgid "--no-check-certificate" +msgstr "" + +#. type: table +#: doc/guix.texi:6032 +msgid "Do not validate the X.509 certificates of HTTPS servers." +msgstr "" + +#. type: table +#: doc/guix.texi:6036 +msgid "" +"When using this option, you have @emph{absolutely no guarantee} that you are communicating with the authentic server responsible for " +"the given URL, which makes you vulnerable to ``man-in-the-middle'' attacks." +msgstr "" + +#. type: item +#: doc/guix.texi:6037 +#, no-wrap +msgid "--output=@var{file}" +msgstr "" + +#. type: itemx +#: doc/guix.texi:6038 +#, no-wrap +msgid "-o @var{file}" +msgstr "" + +#. type: table +#: doc/guix.texi:6041 +msgid "Save the downloaded file to @var{file} instead of adding it to the store." +msgstr "" + +#. type: section +#: doc/guix.texi:6044 +#, no-wrap +msgid "Invoking @command{guix hash}" +msgstr "" + +#. type: command{#1} +#: doc/guix.texi:6046 +#, no-wrap +msgid "guix hash" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:6051 +msgid "" +"The @command{guix hash} command computes the SHA256 hash of a file. It is primarily a convenience tool for anyone contributing to " +"the distribution: it computes the cryptographic hash of a file, which can be used in the definition of a package (@pxref{Defining " +"Packages})." +msgstr "" + +#. type: example +#: doc/guix.texi:6056 +#, no-wrap +msgid "guix hash @var{option} @var{file}\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:6061 +msgid "" +"When @var{file} is @code{-} (a hyphen), @command{guix hash} computes the hash of data read from standard input. @command{guix hash} " +"has the following options:" +msgstr "" + +#. type: table +#: doc/guix.texi:6067 +msgid "Write the hash in the format specified by @var{fmt}." +msgstr "" + +#. type: table +#: doc/guix.texi:6070 +msgid "Supported formats: @code{nix-base32}, @code{base32}, @code{base16} (@code{hex} and @code{hexadecimal} can be used as well)." +msgstr "" + +#. type: table +#: doc/guix.texi:6074 +msgid "" +"If the @option{--format} option is not specified, @command{guix hash} will output the hash in @code{nix-base32}. This " +"representation is used in the definitions of packages." +msgstr "" + +#. type: table +#: doc/guix.texi:6078 +msgid "Compute the hash on @var{file} recursively." +msgstr "" + +#. type: table +#: doc/guix.texi:6087 +msgid "" +"In this case, the hash is computed on an archive containing @var{file}, including its children if it is a directory. Some of the " +"metadata of @var{file} is part of the archive; for instance, when @var{file} is a regular file, the hash is different depending on " +"whether @var{file} is executable or not. Metadata such as time stamps has no impact on the hash (@pxref{Invoking guix archive})." +msgstr "" + +#. type: item +#: doc/guix.texi:6088 +#, no-wrap +msgid "--exclude-vcs" +msgstr "" + +#. type: itemx +#: doc/guix.texi:6089 +#, no-wrap +msgid "-x" +msgstr "" + +#. type: table +#: doc/guix.texi:6092 +msgid "" +"When combined with @option{--recursive}, exclude version control system directories (@file{.bzr}, @file{.git}, @file{.hg}, etc.)" +msgstr "" + +#. type: table +#: doc/guix.texi:6097 +msgid "" +"As an example, here is how you would compute the hash of a Git checkout, which is useful when using the @code{git-fetch} method " +"(@pxref{origin Reference}):" +msgstr "" + +#. type: example +#: doc/guix.texi:6102 +#, no-wrap +msgid "" +"$ git clone http://example.org/foo.git\n" +"$ cd foo\n" +"$ guix hash -rx .\n" +msgstr "" + +#. type: cindex +#: doc/guix.texi:6106 doc/guix.texi:6111 +#, no-wrap +msgid "Invoking @command{guix import}" +msgstr "" + +#. type: cindex +#: doc/guix.texi:6108 +#, no-wrap +msgid "importing packages" +msgstr "" + +#. type: cindex +#: doc/guix.texi:6109 +#, no-wrap +msgid "package import" +msgstr "" + +#. type: cindex +#: doc/guix.texi:6110 +#, no-wrap +msgid "package conversion" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:6118 +msgid "" +"The @command{guix import} command is useful for people who would like to add a package to the distribution with as little work as " +"possible---a legitimate demand. The command knows of a few repositories from which it can ``import'' package metadata. The result " +"is a package definition, or a template thereof, in the format we know (@pxref{Defining Packages})." +msgstr "" + +#. type: example +#: doc/guix.texi:6123 +#, no-wrap +msgid "guix import @var{importer} @var{options}@dots{}\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:6129 +msgid "" +"@var{importer} specifies the source from which to import package metadata, and @var{options} specifies a package identifier and " +"other options specific to @var{importer}. Currently, the available ``importers'' are:" +msgstr "" + +#. type: item +#: doc/guix.texi:6131 doc/guix.texi:6584 +#, no-wrap +msgid "gnu" +msgstr "" + +#. type: table +#: doc/guix.texi:6135 +msgid "" +"Import metadata for the given GNU package. This provides a template for the latest version of that GNU package, including the hash " +"of its source tarball, and its canonical synopsis and description." +msgstr "" + +#. type: table +#: doc/guix.texi:6138 +msgid "Additional information such as the package dependencies and its license needs to be figured out manually." +msgstr "" + +#. type: table +#: doc/guix.texi:6141 +msgid "For example, the following command returns a package definition for GNU@tie{}Hello:" +msgstr "" + +#. type: example +#: doc/guix.texi:6144 +#, no-wrap +msgid "guix import gnu hello\n" +msgstr "" + +#. type: table +#: doc/guix.texi:6147 doc/guix.texi:6365 doc/guix.texi:6410 doc/guix.texi:6434 +msgid "Specific command-line options are:" +msgstr "" + +#. type: item +#: doc/guix.texi:6149 doc/guix.texi:6685 +#, no-wrap +msgid "--key-download=@var{policy}" +msgstr "" + +#. type: table +#: doc/guix.texi:6153 +msgid "" +"As for @code{guix refresh}, specify the policy to handle missing OpenPGP keys when verifying the package signature. @xref{Invoking " +"guix refresh, @code{--key-download}}." +msgstr "" + +#. type: item +#: doc/guix.texi:6155 doc/guix.texi:6156 doc/guix.texi:6602 +#, no-wrap +msgid "pypi" +msgstr "" + +#. type: table +#: doc/guix.texi:6164 +msgid "" +"Import metadata from the @uref{https://pypi.python.org/, Python Package Index}@footnote{This functionality requires Guile-JSON to be " +"installed. @xref{Requirements}.}. Information is taken from the JSON-formatted description available at @code{pypi.python.org} and " +"usually includes all the relevant information, including package dependencies. For maximum efficiency, it is recommended to install " +"the @command{unzip} utility, so that the importer can unzip Python wheels and gather data from them." +msgstr "" + +#. type: table +#: doc/guix.texi:6167 +msgid "The command below imports metadata for the @code{itsdangerous} Python package:" +msgstr "" + +#. type: example +#: doc/guix.texi:6170 +#, no-wrap +msgid "guix import pypi itsdangerous\n" +msgstr "" + +#. type: item +#: doc/guix.texi:6172 doc/guix.texi:6173 doc/guix.texi:6604 +#, no-wrap +msgid "gem" +msgstr "" + +#. type: table +#: doc/guix.texi:6184 +msgid "" +"Import metadata from @uref{https://rubygems.org/, RubyGems}@footnote{This functionality requires Guile-JSON to be installed. " +"@xref{Requirements}.}. Information is taken from the JSON-formatted description available at @code{rubygems.org} and includes most " +"relevant information, including runtime dependencies. There are some caveats, however. The metadata doesn't distinguish between " +"synopses and descriptions, so the same string is used for both fields. Additionally, the details of non-Ruby dependencies required " +"to build native extensions is unavailable and left as an exercise to the packager." +msgstr "" + +#. type: table +#: doc/guix.texi:6186 +msgid "The command below imports metadata for the @code{rails} Ruby package:" +msgstr "" + +#. type: example +#: doc/guix.texi:6189 +#, no-wrap +msgid "guix import gem rails\n" +msgstr "" + +#. type: item +#: doc/guix.texi:6191 doc/guix.texi:6600 +#, no-wrap +msgid "cpan" +msgstr "" + +#. type: cindex +#: doc/guix.texi:6192 +#, no-wrap +msgid "CPAN" +msgstr "" + +#. type: table +#: doc/guix.texi:6202 +msgid "" +"Import metadata from @uref{https://www.metacpan.org/, MetaCPAN}@footnote{This functionality requires Guile-JSON to be installed. " +"@xref{Requirements}.}. Information is taken from the JSON-formatted metadata provided through @uref{https://fastapi.metacpan.org/, " +"MetaCPAN's API} and includes most relevant information, such as module dependencies. License information should be checked " +"closely. If Perl is available in the store, then the @code{corelist} utility will be used to filter core modules out of the list of " +"dependencies." +msgstr "" + +#. type: table +#: doc/guix.texi:6205 +msgid "The command command below imports metadata for the @code{Acme::Boolean} Perl module:" +msgstr "" + +#. type: example +#: doc/guix.texi:6208 +#, no-wrap +msgid "guix import cpan Acme::Boolean\n" +msgstr "" + +#. type: item +#: doc/guix.texi:6210 doc/guix.texi:6596 +#, no-wrap +msgid "cran" +msgstr "" + +#. type: cindex +#: doc/guix.texi:6211 +#, no-wrap +msgid "CRAN" +msgstr "" + +#. type: cindex +#: doc/guix.texi:6212 +#, no-wrap +msgid "Bioconductor" +msgstr "" + +#. type: table +#: doc/guix.texi:6216 +msgid "" +"Import metadata from @uref{https://cran.r-project.org/, CRAN}, the central repository for the @uref{http://r-project.org, GNU@tie{}R " +"statistical and graphical environment}." +msgstr "" + +#. type: table +#: doc/guix.texi:6218 +msgid "Information is extracted from the @code{DESCRIPTION} file of the package." +msgstr "" + +#. type: table +#: doc/guix.texi:6221 +msgid "The command command below imports metadata for the @code{Cairo} R package:" +msgstr "" + +#. type: example +#: doc/guix.texi:6224 +#, no-wrap +msgid "guix import cran Cairo\n" +msgstr "" + +#. type: table +#: doc/guix.texi:6229 +msgid "" +"When @code{--recursive} is added, the importer will traverse the dependency graph of the given upstream package recursively and " +"generate package expressions for all those packages that are not yet in Guix." +msgstr "" + +#. type: table +#: doc/guix.texi:6234 +msgid "" +"When @code{--archive=bioconductor} is added, metadata is imported from @uref{https://www.bioconductor.org/, Bioconductor}, a " +"repository of R packages for for the analysis and comprehension of high-throughput genomic data in bioinformatics." +msgstr "" + +#. type: table +#: doc/guix.texi:6237 +msgid "" +"Information is extracted from the @code{DESCRIPTION} file of a package published on the web interface of the Bioconductor SVN " +"repository." +msgstr "" + +#. type: table +#: doc/guix.texi:6240 +msgid "The command below imports metadata for the @code{GenomicRanges} R package:" +msgstr "" + +#. type: example +#: doc/guix.texi:6243 +#, no-wrap +msgid "guix import cran --archive=bioconductor GenomicRanges\n" +msgstr "" + +#. type: item +#: doc/guix.texi:6245 +#, no-wrap +msgid "texlive" +msgstr "" + +#. type: cindex +#: doc/guix.texi:6246 +#, no-wrap +msgid "TeX Live" +msgstr "" + +#. type: cindex +#: doc/guix.texi:6247 +#, no-wrap +msgid "CTAN" +msgstr "" + +#. type: table +#: doc/guix.texi:6251 +msgid "" +"Import metadata from @uref{http://www.ctan.org/, CTAN}, the comprehensive TeX archive network for TeX packages that are part of the " +"@uref{https://www.tug.org/texlive/, TeX Live distribution}." +msgstr "" + +#. type: table +#: doc/guix.texi:6256 +msgid "" +"Information about the package is obtained through the XML API provided by CTAN, while the source code is downloaded from the SVN " +"repository of the Tex Live project. This is done because the CTAN does not keep versioned archives." +msgstr "" + +#. type: table +#: doc/guix.texi:6259 +msgid "The command command below imports metadata for the @code{fontspec} TeX package:" +msgstr "" + +#. type: example +#: doc/guix.texi:6262 +#, no-wrap +msgid "guix import texlive fontspec\n" +msgstr "" + +#. type: table +#: doc/guix.texi:6268 +msgid "" +"When @code{--archive=DIRECTORY} is added, the source code is downloaded not from the @file{latex} sub-directory of the @file{texmf-" +"dist/source} tree in the TeX Live SVN repository, but from the specified sibling directory under the same root." +msgstr "" + +#. type: table +#: doc/guix.texi:6272 +msgid "" +"The command below imports metadata for the @code{ifxetex} package from CTAN while fetching the sources from the directory " +"@file{texmf/source/generic}:" +msgstr "" + +#. type: example +#: doc/guix.texi:6275 +#, no-wrap +msgid "guix import texlive --archive=generic ifxetex\n" +msgstr "" + +#. type: item +#: doc/guix.texi:6277 +#, no-wrap +msgid "json" +msgstr "" + +#. type: cindex +#: doc/guix.texi:6278 +#, no-wrap +msgid "JSON, import" +msgstr "" + +#. type: table +#: doc/guix.texi:6283 +msgid "" +"Import package metadata from a local JSON file@footnote{This functionality requires Guile-JSON to be installed. " +"@xref{Requirements}.}. Consider the following example package definition in JSON format:" +msgstr "" + +#. type: example +#: doc/guix.texi:6296 +#, no-wrap +msgid "" +"@{\n" +" \"name\": \"hello\",\n" +" \"version\": \"2.10\",\n" +" \"source\": \"mirror://gnu/hello/hello-2.10.tar.gz\",\n" +" \"build-system\": \"gnu\",\n" +" \"home-page\": \"https://www.gnu.org/software/hello/\",\n" +" \"synopsis\": \"Hello, GNU world: An example GNU package\",\n" +" \"description\": \"GNU Hello prints a greeting.\",\n" +" \"license\": \"GPL-3.0+\",\n" +" \"native-inputs\": [\"gcc@@6\"]\n" +"@}\n" +msgstr "" + +#. type: table +#: doc/guix.texi:6302 +msgid "" +"The field names are the same as for the @code{<package>} record (@xref{Defining Packages}). References to other packages are " +"provided as JSON lists of quoted package specification strings such as @code{guile} or @code{guile@@2.0}." +msgstr "" + +#. type: table +#: doc/guix.texi:6305 +msgid "The importer also supports a more explicit source definition using the common fields for @code{<origin>} records:" +msgstr "" + +#. type: example +#: doc/guix.texi:6318 +#, no-wrap +msgid "" +"@{\n" +" @dots{}\n" +" \"source\": @{\n" +" \"method\": \"url-fetch\",\n" +" \"uri\": \"mirror://gnu/hello/hello-2.10.tar.gz\",\n" +" \"sha256\": @{\n" +" \"base32\": \"0ssi1wpaf7plaswqqjwigppsg5fyh99vdlb9kzl7c9lng89ndq1i\"\n" +" @}\n" +" @}\n" +" @dots{}\n" +"@}\n" +msgstr "" + +#. type: table +#: doc/guix.texi:6322 +msgid "The command below reads metadata from the JSON file @code{hello.json} and outputs a package expression:" +msgstr "" + +#. type: example +#: doc/guix.texi:6325 +#, no-wrap +msgid "guix import json hello.json\n" +msgstr "" + +#. type: item +#: doc/guix.texi:6327 +#, no-wrap +msgid "nix" +msgstr "" + +#. type: table +#: doc/guix.texi:6336 +msgid "" +"Import metadata from a local copy of the source of the @uref{http://nixos.org/nixpkgs/, Nixpkgs distribution}@footnote{This relies " +"on the @command{nix-instantiate} command of @uref{http://nixos.org/nix/, Nix}.}. Package definitions in Nixpkgs are typically " +"written in a mixture of Nix-language and Bash code. This command only imports the high-level package structure that is written in " +"the Nix language. It normally includes all the basic fields of a package definition." +msgstr "" + +#. type: table +#: doc/guix.texi:6339 +msgid "When importing a GNU package, the synopsis and descriptions are replaced by their canonical upstream variant." +msgstr "" + +#. type: table +#: doc/guix.texi:6341 +msgid "Usually, you will first need to do:" +msgstr "" + +#. type: example +#: doc/guix.texi:6344 +#, no-wrap +msgid "export NIX_REMOTE=daemon\n" +msgstr "" + +#. type: table +#: doc/guix.texi:6348 +msgid "so that @command{nix-instantiate} does not try to open the Nix database." +msgstr "" + +#. type: table +#: doc/guix.texi:6352 +msgid "" +"As an example, the command below imports the package definition of LibreOffice (more precisely, it imports the definition of the " +"package bound to the @code{libreoffice} top-level attribute):" +msgstr "" + +#. type: example +#: doc/guix.texi:6355 +#, no-wrap +msgid "guix import nix ~/path/to/nixpkgs libreoffice\n" +msgstr "" + +#. type: item +#: doc/guix.texi:6357 doc/guix.texi:6358 doc/guix.texi:6608 +#, no-wrap +msgid "hackage" +msgstr "" + +#. type: table +#: doc/guix.texi:6363 +msgid "" +"Import metadata from the Haskell community's central package archive @uref{https://hackage.haskell.org/, Hackage}. Information is " +"taken from Cabal files and includes all the relevant information, including package dependencies." +msgstr "" + +#. type: item +#: doc/guix.texi:6367 +#, no-wrap +msgid "--stdin" +msgstr "" + +#. type: itemx +#: doc/guix.texi:6368 +#, no-wrap +msgid "-s" +msgstr "" + +#. type: table +#: doc/guix.texi:6370 +msgid "Read a Cabal file from standard input." +msgstr "" + +#. type: item +#: doc/guix.texi:6370 doc/guix.texi:6412 +#, no-wrap +msgid "--no-test-dependencies" +msgstr "" + +#. type: itemx +#: doc/guix.texi:6371 doc/guix.texi:6413 +#, no-wrap +msgid "-t" +msgstr "" + +#. type: table +#: doc/guix.texi:6373 doc/guix.texi:6415 +msgid "Do not include dependencies required only by the test suites." +msgstr "" + +#. type: item +#: doc/guix.texi:6373 +#, no-wrap +msgid "--cabal-environment=@var{alist}" +msgstr "" + +#. type: itemx +#: doc/guix.texi:6374 +#, no-wrap +msgid "-e @var{alist}" +msgstr "" + +#. type: table +#: doc/guix.texi:6383 +msgid "" +"@var{alist} is a Scheme alist defining the environment in which the Cabal conditionals are evaluated. The accepted keys are: " +"@code{os}, @code{arch}, @code{impl} and a string representing the name of a flag. The value associated with a flag has to be either " +"the symbol @code{true} or @code{false}. The value associated with other keys has to conform to the Cabal file format definition. " +"The default value associated with the keys @code{os}, @code{arch} and @code{impl} is @samp{linux}, @samp{x86_64} and @samp{ghc}, " +"respectively." +msgstr "" + +#. type: table +#: doc/guix.texi:6388 +msgid "" +"The command below imports metadata for the latest version of the @code{HTTP} Haskell package without including test dependencies and " +"specifying the value of the flag @samp{network-uri} as @code{false}:" +msgstr "" + +#. type: example +#: doc/guix.texi:6391 +#, no-wrap +msgid "guix import hackage -t -e \"'((\\\"network-uri\\\" . false))\" HTTP\n" +msgstr "" + +#. type: table +#: doc/guix.texi:6395 +msgid "" +"A specific package version may optionally be specified by following the package name by an at-sign and a version number as in the " +"following example:" +msgstr "" + +#. type: example +#: doc/guix.texi:6398 +#, no-wrap +msgid "guix import hackage mtl@@2.1.3.1\n" +msgstr "" + +#. type: item +#: doc/guix.texi:6400 doc/guix.texi:6401 doc/guix.texi:6610 +#, no-wrap +msgid "stackage" +msgstr "" + +#. type: table +#: doc/guix.texi:6408 +msgid "" +"The @code{stackage} importer is a wrapper around the @code{hackage} one. It takes a package name, looks up the package version " +"included in a long-term support (LTS) @uref{https://www.stackage.org, Stackage} release and uses the @code{hackage} importer to " +"retrieve its metadata. Note that it is up to you to select an LTS release compatible with the GHC compiler used by Guix." +msgstr "" + +#. type: item +#: doc/guix.texi:6415 +#, no-wrap +msgid "--lts-version=@var{version}" +msgstr "" + +#. type: itemx +#: doc/guix.texi:6416 +#, no-wrap +msgid "-r @var{version}" +msgstr "" + +#. type: table +#: doc/guix.texi:6419 +msgid "@var{version} is the desired LTS release version. If omitted the latest release is used." +msgstr "" + +#. type: table +#: doc/guix.texi:6423 +msgid "The command below imports metadata for the @code{HTTP} Haskell package included in the LTS Stackage release version 7.18:" +msgstr "" + +#. type: example +#: doc/guix.texi:6426 +#, no-wrap +msgid "guix import stackage --lts-version=7.18 HTTP\n" +msgstr "" + +#. type: item +#: doc/guix.texi:6428 doc/guix.texi:6429 doc/guix.texi:6594 +#, no-wrap +msgid "elpa" +msgstr "" + +#. type: table +#: doc/guix.texi:6432 +msgid "Import metadata from an Emacs Lisp Package Archive (ELPA) package repository (@pxref{Packages,,, emacs, The GNU Emacs Manual})." +msgstr "" + +#. type: item +#: doc/guix.texi:6436 +#, no-wrap +msgid "--archive=@var{repo}" +msgstr "" + +#. type: itemx +#: doc/guix.texi:6437 +#, no-wrap +msgid "-a @var{repo}" +msgstr "" + +#. type: table +#: doc/guix.texi:6441 +msgid "" +"@var{repo} identifies the archive repository from which to retrieve the information. Currently the supported repositories and their " +"identifiers are:" +msgstr "" + +#. type: itemize +#: doc/guix.texi:6445 +msgid "@uref{http://elpa.gnu.org/packages, GNU}, selected by the @code{gnu} identifier. This is the default." +msgstr "" + +#. type: itemize +#: doc/guix.texi:6451 +msgid "" +"Packages from @code{elpa.gnu.org} are signed with one of the keys contained in the GnuPG keyring at @file{share/emacs/25.1/etc/" +"package-keyring.gpg} (or similar) in the @code{emacs} package (@pxref{Package Installation, ELPA package signatures,, emacs, The GNU " +"Emacs Manual})." +msgstr "" + +#. type: itemize +#: doc/guix.texi:6455 +msgid "@uref{http://stable.melpa.org/packages, MELPA-Stable}, selected by the @code{melpa-stable} identifier." +msgstr "" + +#. type: itemize +#: doc/guix.texi:6459 +msgid "@uref{http://melpa.org/packages, MELPA}, selected by the @code{melpa} identifier." +msgstr "" + +#. type: item +#: doc/guix.texi:6462 doc/guix.texi:6463 doc/guix.texi:6612 +#, no-wrap +msgid "crate" +msgstr "" + +#. type: table +#: doc/guix.texi:6466 +msgid "Import metadata from the crates.io Rust package repository @uref{https://crates.io, crates.io}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:6471 +msgid "" +"The structure of the @command{guix import} code is modular. It would be useful to have more importers for other package formats, " +"and your help is welcome here (@pxref{Contributing})." +msgstr "" + +#. type: section +#: doc/guix.texi:6473 +#, no-wrap +msgid "Invoking @command{guix refresh}" +msgstr "" + +#. type: command{#1} +#: doc/guix.texi:6475 +#, no-wrap +msgid "guix refresh" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:6480 +msgid "" +"The primary audience of the @command{guix refresh} command is developers of the GNU software distribution. By default, it reports " +"any packages provided by the distribution that are outdated compared to the latest upstream version, like this:" +msgstr "" + +#. type: example +#: doc/guix.texi:6485 +#, no-wrap +msgid "" +"$ guix refresh\n" +"gnu/packages/gettext.scm:29:13: gettext would be upgraded from 0.18.1.1 to 0.18.2.1\n" +"gnu/packages/glib.scm:77:12: glib would be upgraded from 2.34.3 to 2.37.0\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:6489 +msgid "Alternately, one can specify packages to consider, in which case a warning is emitted for packages that lack an updater:" +msgstr "" + +#. type: example +#: doc/guix.texi:6494 +#, no-wrap +msgid "" +"$ guix refresh coreutils guile guile-ssh\n" +"gnu/packages/ssh.scm:205:2: warning: no updater for guile-ssh\n" +"gnu/packages/guile.scm:136:12: guile would be upgraded from 2.0.12 to 2.0.13\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:6503 +msgid "" +"@command{guix refresh} browses the upstream repository of each package and determines the highest version number of the releases " +"therein. The command knows how to update specific types of packages: GNU packages, ELPA packages, etc.---see the documentation for " +"@option{--type} below. There are many packages, though, for which it lacks a method to determine whether a new upstream release is " +"available. However, the mechanism is extensible, so feel free to get in touch with us to add a new method!" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:6508 +msgid "" +"Sometimes the upstream name differs from the package name used in Guix, and @command{guix refresh} needs a little help. Most " +"updaters honor the @code{upstream-name} property in package definitions, which can be used to that effect:" +msgstr "" + +#. type: example +#: doc/guix.texi:6515 +#, no-wrap +msgid "" +"(define-public network-manager\n" +" (package\n" +" (name \"network-manager\")\n" +" ;; @dots{}\n" +" (properties '((upstream-name . \"NetworkManager\")))))\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:6527 +msgid "" +"When passed @code{--update}, it modifies distribution source files to update the version numbers and source tarball hashes of those " +"package recipes (@pxref{Defining Packages}). This is achieved by downloading each package's latest source tarball and its " +"associated OpenPGP signature, authenticating the downloaded tarball against its signature using @command{gpg}, and finally computing " +"its hash. When the public key used to sign the tarball is missing from the user's keyring, an attempt is made to automatically " +"retrieve it from a public key server; when this is successful, the key is added to the user's keyring; otherwise, @command{guix " +"refresh} reports an error." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:6529 +msgid "The following options are supported:" +msgstr "" + +#. type: table +#: doc/guix.texi:6537 doc/guix.texi:7098 +msgid "This is useful to precisely refer to a package, as in this example:" +msgstr "" + +#. type: example +#: doc/guix.texi:6540 +#, no-wrap +msgid "guix refresh -l -e '(@@@@ (gnu packages commencement) glibc-final)'\n" +msgstr "" + +#. type: table +#: doc/guix.texi:6544 +msgid "This command lists the dependents of the ``final'' libc (essentially all the packages.)" +msgstr "" + +#. type: item +#: doc/guix.texi:6545 +#, no-wrap +msgid "--update" +msgstr "" + +#. type: itemx +#: doc/guix.texi:6546 +#, no-wrap +msgid "-u" +msgstr "" + +#. type: table +#: doc/guix.texi:6550 +msgid "" +"Update distribution source files (package recipes) in place. This is usually run from a checkout of the Guix source tree " +"(@pxref{Running Guix Before It Is Installed}):" +msgstr "" + +#. type: example +#: doc/guix.texi:6553 +#, no-wrap +msgid "$ ./pre-inst-env guix refresh -s non-core -u\n" +msgstr "" + +#. type: table +#: doc/guix.texi:6556 +msgid "@xref{Defining Packages}, for more information on package definitions." +msgstr "" + +#. type: item +#: doc/guix.texi:6557 +#, no-wrap +msgid "--select=[@var{subset}]" +msgstr "" + +#. type: itemx +#: doc/guix.texi:6558 +#, no-wrap +msgid "-s @var{subset}" +msgstr "" + +#. type: table +#: doc/guix.texi:6561 +msgid "Select all the packages in @var{subset}, one of @code{core} or @code{non-core}." +msgstr "" + +#. type: table +#: doc/guix.texi:6568 +msgid "" +"The @code{core} subset refers to all the packages at the core of the distribution---i.e., packages that are used to build " +"``everything else''. This includes GCC, libc, Binutils, Bash, etc. Usually, changing one of these packages in the distribution " +"entails a rebuild of all the others. Thus, such updates are an inconvenience to users in terms of build time or bandwidth used to " +"achieve the upgrade." +msgstr "" + +#. type: table +#: doc/guix.texi:6572 +msgid "" +"The @code{non-core} subset refers to the remaining packages. It is typically useful in cases where an update of the core packages " +"would be inconvenient." +msgstr "" + +#. type: table +#: doc/guix.texi:6577 +msgid "" +"Select all the packages from the manifest in @var{file}. This is useful to check if any packages of the user manifest can be updated." +msgstr "" + +#. type: item +#: doc/guix.texi:6578 +#, no-wrap +msgid "--type=@var{updater}" +msgstr "" + +#. type: itemx +#: doc/guix.texi:6579 +#, no-wrap +msgid "-t @var{updater}" +msgstr "" + +#. type: table +#: doc/guix.texi:6582 +msgid "" +"Select only packages handled by @var{updater} (may be a comma-separated list of updaters). Currently, @var{updater} may be one of:" +msgstr "" + +#. type: table +#: doc/guix.texi:6586 +msgid "the updater for GNU packages;" +msgstr "" + +#. type: item +#: doc/guix.texi:6586 +#, no-wrap +msgid "gnome" +msgstr "" + +#. type: table +#: doc/guix.texi:6588 +msgid "the updater for GNOME packages;" +msgstr "" + +#. type: item +#: doc/guix.texi:6588 +#, no-wrap +msgid "kde" +msgstr "" + +#. type: table +#: doc/guix.texi:6590 +msgid "the updater for KDE packages;" +msgstr "" + +#. type: item +#: doc/guix.texi:6590 +#, no-wrap +msgid "xorg" +msgstr "" + +#. type: table +#: doc/guix.texi:6592 +msgid "the updater for X.org packages;" +msgstr "" + +#. type: item +#: doc/guix.texi:6592 +#, no-wrap +msgid "kernel.org" +msgstr "" + +#. type: table +#: doc/guix.texi:6594 +msgid "the updater for packages hosted on kernel.org;" +msgstr "" + +#. type: table +#: doc/guix.texi:6596 +msgid "the updater for @uref{http://elpa.gnu.org/, ELPA} packages;" +msgstr "" + +#. type: table +#: doc/guix.texi:6598 +msgid "the updater for @uref{https://cran.r-project.org/, CRAN} packages;" +msgstr "" + +#. type: item +#: doc/guix.texi:6598 +#, no-wrap +msgid "bioconductor" +msgstr "" + +#. type: table +#: doc/guix.texi:6600 +msgid "the updater for @uref{https://www.bioconductor.org/, Bioconductor} R packages;" +msgstr "" + +#. type: table +#: doc/guix.texi:6602 +msgid "the updater for @uref{http://www.cpan.org/, CPAN} packages;" +msgstr "" + +#. type: table +#: doc/guix.texi:6604 +msgid "the updater for @uref{https://pypi.python.org, PyPI} packages." +msgstr "" + +#. type: table +#: doc/guix.texi:6606 +msgid "the updater for @uref{https://rubygems.org, RubyGems} packages." +msgstr "" + +#. type: item +#: doc/guix.texi:6606 +#, no-wrap +msgid "github" +msgstr "" + +#. type: table +#: doc/guix.texi:6608 +msgid "the updater for @uref{https://github.com, GitHub} packages." +msgstr "" + +#. type: table +#: doc/guix.texi:6610 +msgid "the updater for @uref{https://hackage.haskell.org, Hackage} packages." +msgstr "" + +#. type: table +#: doc/guix.texi:6612 +msgid "the updater for @uref{https://www.stackage.org, Stackage} packages." +msgstr "" + +#. type: table +#: doc/guix.texi:6614 +msgid "the updater for @uref{https://crates.io, Crates} packages." +msgstr "" + +#. type: table +#: doc/guix.texi:6618 +msgid "" +"For instance, the following command only checks for updates of Emacs packages hosted at @code{elpa.gnu.org} and for updates of CRAN " +"packages:" +msgstr "" + +#. type: example +#: doc/guix.texi:6623 +#, no-wrap +msgid "" +"$ guix refresh --type=elpa,cran\n" +"gnu/packages/statistics.scm:819:13: r-testthat would be upgraded from 0.10.0 to 0.11.0\n" +"gnu/packages/emacs.scm:856:13: emacs-auctex would be upgraded from 11.88.6 to 11.88.9\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:6629 +msgid "In addition, @command{guix refresh} can be passed one or more package names, as in this example:" +msgstr "" + +#. type: example +#: doc/guix.texi:6632 +#, no-wrap +msgid "$ ./pre-inst-env guix refresh -u emacs idutils gcc@@4.8\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:6638 +msgid "" +"The command above specifically updates the @code{emacs} and @code{idutils} packages. The @code{--select} option would have no " +"effect in this case." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:6643 +msgid "" +"When considering whether to upgrade a package, it is sometimes convenient to know which packages would be affected by the upgrade " +"and should be checked for compatibility. For this the following option may be used when passing @command{guix refresh} one or more " +"package names:" +msgstr "" + +#. type: item +#: doc/guix.texi:6646 +#, no-wrap +msgid "--list-updaters" +msgstr "" + +#. type: itemx +#: doc/guix.texi:6647 +#, no-wrap +msgid "-L" +msgstr "" + +#. type: table +#: doc/guix.texi:6649 +msgid "List available updaters and exit (see @option{--type} above.)" +msgstr "" + +#. type: table +#: doc/guix.texi:6652 +msgid "" +"For each updater, display the fraction of packages it covers; at the end, display the fraction of packages covered by all these " +"updaters." +msgstr "" + +#. type: item +#: doc/guix.texi:6653 +#, no-wrap +msgid "--list-dependent" +msgstr "" + +#. type: itemx +#: doc/guix.texi:6654 doc/guix.texi:6799 +#, no-wrap +msgid "-l" +msgstr "" + +#. type: table +#: doc/guix.texi:6657 +msgid "List top-level dependent packages that would need to be rebuilt as a result of upgrading one or more packages." +msgstr "" + +#. type: table +#: doc/guix.texi:6661 +msgid "" +"@xref{Invoking guix graph, the @code{reverse-package} type of @command{guix graph}}, for information on how to visualize the list of " +"dependents of a package." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:6667 +msgid "" +"Be aware that the @code{--list-dependent} option only @emph{approximates} the rebuilds that would be required as a result of an " +"upgrade. More rebuilds might be required under some circumstances." +msgstr "" + +#. type: example +#: doc/guix.texi:6672 +#, no-wrap +msgid "" +"$ guix refresh --list-dependent flex\n" +"Building the following 120 packages would ensure 213 dependent packages are rebuilt:\n" +"hop@@2.4.0 geiser@@0.4 notmuch@@0.18 mu@@0.9.9.5 cflow@@1.4 idutils@@4.6 @dots{}\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:6676 +msgid "The command above lists a set of packages that could be built to check for compatibility with an upgraded @code{flex} package." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:6678 +msgid "The following options can be used to customize GnuPG operation:" +msgstr "" + +#. type: item +#: doc/guix.texi:6681 +#, no-wrap +msgid "--gpg=@var{command}" +msgstr "" + +#. type: table +#: doc/guix.texi:6684 +msgid "Use @var{command} as the GnuPG 2.x command. @var{command} is searched for in @code{$PATH}." +msgstr "" + +#. type: table +#: doc/guix.texi:6688 +msgid "Handle missing OpenPGP keys according to @var{policy}, which may be one of:" +msgstr "" + +#. type: item +#: doc/guix.texi:6690 doc/guix.texi:13666 +#, no-wrap +msgid "always" +msgstr "" + +#. type: table +#: doc/guix.texi:6693 +msgid "Always download missing OpenPGP keys from the key server, and add them to the user's GnuPG keyring." +msgstr "" + +#. type: item +#: doc/guix.texi:6694 doc/guix.texi:13668 +#, no-wrap +msgid "never" +msgstr "" + +#. type: table +#: doc/guix.texi:6696 +msgid "Never try to download missing OpenPGP keys. Instead just bail out." +msgstr "" + +#. type: item +#: doc/guix.texi:6697 +#, no-wrap +msgid "interactive" +msgstr "" + +#. type: table +#: doc/guix.texi:6700 +msgid "" +"When a package signed with an unknown OpenPGP key is encountered, ask the user whether to download it or not. This is the default " +"behavior." +msgstr "" + +#. type: item +#: doc/guix.texi:6702 +#, no-wrap +msgid "--key-server=@var{host}" +msgstr "" + +#. type: table +#: doc/guix.texi:6704 +msgid "Use @var{host} as the OpenPGP key server when importing a public key." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:6717 +msgid "" +"The @code{github} updater uses the @uref{https://developer.github.com/v3/, GitHub API} to query for new releases. When used " +"repeatedly e.g. when refreshing all packages, GitHub will eventually refuse to answer any further API requests. By default 60 API " +"requests per hour are allowed, and a full refresh on all GitHub packages in Guix requires more than this. Authentication with " +"GitHub through the use of an API token alleviates these limits. To use an API token, set the environment variable " +"@code{GUIX_GITHUB_TOKEN} to a token procured from @uref{https://github.com/settings/tokens} or otherwise." +msgstr "" + +#. type: section +#: doc/guix.texi:6720 +#, no-wrap +msgid "Invoking @command{guix lint}" +msgstr "" + +#. type: command{#1} +#: doc/guix.texi:6722 +#, no-wrap +msgid "guix lint" +msgstr "" + +#. type: cindex +#: doc/guix.texi:6723 +#, no-wrap +msgid "package, checking for errors" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:6729 +msgid "" +"The @command{guix lint} command is meant to help package developers avoid common errors and use a consistent style. It runs a " +"number of checks on a given set of packages in order to find common mistakes in their definitions. Available @dfn{checkers} include " +"(see @code{--list-checkers} for a complete list):" +msgstr "" + +#. type: table +#: doc/guix.texi:6735 +msgid "Validate certain typographical and stylistic rules about package descriptions and synopses." +msgstr "" + +#. type: item +#: doc/guix.texi:6736 +#, no-wrap +msgid "inputs-should-be-native" +msgstr "" + +#. type: table +#: doc/guix.texi:6738 +msgid "Identify inputs that should most likely be native inputs." +msgstr "" + +#. type: itemx +#: doc/guix.texi:6741 +#, no-wrap +msgid "mirror-url" +msgstr "" + +#. type: itemx +#: doc/guix.texi:6742 +#, no-wrap +msgid "source-file-name" +msgstr "" + +#. type: table +#: doc/guix.texi:6748 +msgid "" +"Probe @code{home-page} and @code{source} URLs and report those that are invalid. Suggest a @code{mirror://} URL when applicable. " +"Check that the source file name is meaningful, e.g. is not just a version number or ``git-checkout'', without a declared @code{file-" +"name} (@pxref{origin Reference})." +msgstr "" + +#. type: item +#: doc/guix.texi:6749 +#, no-wrap +msgid "cve" +msgstr "" + +#. type: cindex +#: doc/guix.texi:6750 doc/guix.texi:21423 +#, no-wrap +msgid "security vulnerabilities" +msgstr "" + +#. type: cindex +#: doc/guix.texi:6751 +#, no-wrap +msgid "CVE, Common Vulnerabilities and Exposures" +msgstr "" + +#. type: table +#: doc/guix.texi:6756 +msgid "" +"Report known vulnerabilities found in the Common Vulnerabilities and Exposures (CVE) databases of the current and past year " +"@uref{https://nvd.nist.gov/download.cfm#CVE_FEED, published by the US NIST}." +msgstr "" + +#. type: table +#: doc/guix.texi:6758 +msgid "To view information about a particular vulnerability, visit pages such as:" +msgstr "" + +#. type: indicateurl{#1} +#: doc/guix.texi:6762 +msgid "https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-YYYY-ABCD" +msgstr "" + +#. type: indicateurl{#1} +#: doc/guix.texi:6764 +msgid "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-YYYY-ABCD" +msgstr "" + +#. type: table +#: doc/guix.texi:6769 +msgid "where @code{CVE-YYYY-ABCD} is the CVE identifier---e.g., @code{CVE-2015-7554}." +msgstr "" + +#. type: table +#: doc/guix.texi:6774 +msgid "" +"Package developers can specify in package recipes the @uref{https://nvd.nist.gov/cpe.cfm,Common Platform Enumeration (CPE)} name and " +"version of the package when they differ from the name that Guix uses, as in this example:" +msgstr "" + +#. type: example +#: doc/guix.texi:6781 +#, no-wrap +msgid "" +"(package\n" +" (name \"grub\")\n" +" ;; @dots{}\n" +" ;; CPE calls this package \"grub2\".\n" +" (properties '((cpe-name . \"grub2\"))))\n" +msgstr "" + +#. type: item +#: doc/guix.texi:6783 +#, no-wrap +msgid "formatting" +msgstr "" + +#. type: table +#: doc/guix.texi:6786 +msgid "Warn about obvious source code formatting issues: trailing white space, use of tabulations, etc." +msgstr "" + +#. type: example +#: doc/guix.texi:6792 +#, no-wrap +msgid "guix lint @var{options} @var{package}@dots{}\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:6796 +msgid "" +"If no package is given on the command line, then all packages are checked. The @var{options} may be zero or more of the following:" +msgstr "" + +#. type: item +#: doc/guix.texi:6798 +#, no-wrap +msgid "--list-checkers" +msgstr "" + +#. type: table +#: doc/guix.texi:6802 +msgid "List and describe all the available checkers that will be run on packages and exit." +msgstr "" + +#. type: item +#: doc/guix.texi:6803 +#, no-wrap +msgid "--checkers" +msgstr "" + +#. type: itemx +#: doc/guix.texi:6804 +#, no-wrap +msgid "-c" +msgstr "" + +#. type: table +#: doc/guix.texi:6807 +msgid "Only enable the checkers specified in a comma-separated list using the names returned by @code{--list-checkers}." +msgstr "" + +#. type: section +#: doc/guix.texi:6811 +#, no-wrap +msgid "Invoking @command{guix size}" +msgstr "" + +#. type: cindex +#: doc/guix.texi:6813 +#, no-wrap +msgid "size" +msgstr "" + +#. type: cindex +#: doc/guix.texi:6814 +#, no-wrap +msgid "package size" +msgstr "" + +#. type: command{#1} +#: doc/guix.texi:6816 +#, no-wrap +msgid "guix size" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:6823 +msgid "" +"The @command{guix size} command helps package developers profile the disk usage of packages. It is easy to overlook the impact of " +"an additional dependency added to a package, or the impact of using a single output for a package that could easily be split " +"(@pxref{Packages with Multiple Outputs}). Such are the typical issues that @command{guix size} can highlight." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:6827 +msgid "" +"The command can be passed a package specification such as @code{gcc@@4.8} or @code{guile:debug}, or a file name in the store. " +"Consider this example:" +msgstr "" + +#. type: example +#: doc/guix.texi:6837 +#, no-wrap +msgid "" +"$ guix size coreutils\n" +"store item total self\n" +"/gnu/store/@dots{}-coreutils-8.23 70.0 13.9 19.8%\n" +"/gnu/store/@dots{}-gmp-6.0.0a 55.3 2.5 3.6%\n" +"/gnu/store/@dots{}-acl-2.2.52 53.7 0.5 0.7%\n" +"/gnu/store/@dots{}-attr-2.4.46 53.2 0.3 0.5%\n" +"/gnu/store/@dots{}-gcc-4.8.4-lib 52.9 15.7 22.4%\n" +"/gnu/store/@dots{}-glibc-2.21 37.2 37.2 53.1%\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:6843 +msgid "" +"The store items listed here constitute the @dfn{transitive closure} of Coreutils---i.e., Coreutils and all its dependencies, " +"recursively---as would be returned by:" +msgstr "" + +#. type: example +#: doc/guix.texi:6846 +#, no-wrap +msgid "$ guix gc -R /gnu/store/@dots{}-coreutils-8.23\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:6854 +msgid "" +"Here the output shows three columns next to store items. The first column, labeled ``total'', shows the size in mebibytes (MiB) of " +"the closure of the store item---that is, its own size plus the size of all its dependencies. The next column, labeled ``self'', " +"shows the size of the item itself. The last column shows the ratio of the size of the item itself to the space occupied by all the " +"items listed here." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:6859 +msgid "" +"In this example, we see that the closure of Coreutils weighs in at 70@tie{}MiB, half of which is taken by libc. (That libc " +"represents a large fraction of the closure is not a problem @i{per se} because it is always available on the system anyway.)" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:6865 +msgid "" +"When the package passed to @command{guix size} is available in the store, @command{guix size} queries the daemon to determine its " +"dependencies, and measures its size in the store, similar to @command{du -ms --apparent-size} (@pxref{du invocation,,, coreutils, " +"GNU Coreutils})." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:6870 +msgid "" +"When the given package is @emph{not} in the store, @command{guix size} 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." +msgstr "" +"Lorsque le paquet donné n'est @emph{pas} dans le dépôt, @command{guix size} rapporte les informations en se basant sur les " +"substituts disponibles (@pxref{Substituts}). Cela permet de profiler l'utilisation du disque des éléments du dépôt qui ne sont pas " +"sur le disque, mais seulement disponibles à distance." + +#. type: Plain text +#: doc/guix.texi:6872 +msgid "You can also specify several package names:" +msgstr "" + +#. type: example +#: doc/guix.texi:6882 +#, no-wrap +msgid "" +"$ guix size coreutils grep sed bash\n" +"store item total self\n" +"/gnu/store/@dots{}-coreutils-8.24 77.8 13.8 13.4%\n" +"/gnu/store/@dots{}-grep-2.22 73.1 0.8 0.8%\n" +"/gnu/store/@dots{}-bash-4.3.42 72.3 4.7 4.6%\n" +"/gnu/store/@dots{}-readline-6.3 67.6 1.2 1.2%\n" +"@dots{}\n" +"total: 102.3 MiB\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:6888 +msgid "" +"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." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:6890 +msgid "The available options are:" +msgstr "" + +#. type: table +#: doc/guix.texi:6896 +msgid "Use substitute information from @var{urls}. @xref{client-substitute-urls, the same option for @code{guix build}}." +msgstr "" + +#. type: item +#: doc/guix.texi:6897 +#, no-wrap +msgid "--sort=@var{key}" +msgstr "" + +#. type: table +#: doc/guix.texi:6899 +msgid "Sort lines according to @var{key}, one of the following options:" +msgstr "" + +#. type: item +#: doc/guix.texi:6901 +#, no-wrap +msgid "self" +msgstr "" + +#. type: table +#: doc/guix.texi:6903 +msgid "the size of each item (the default);" +msgstr "" + +#. type: table +#: doc/guix.texi:6905 +msgid "the total size of the item's closure." +msgstr "" + +#. type: item +#: doc/guix.texi:6907 +#, no-wrap +msgid "--map-file=@var{file}" +msgstr "" + +#. type: table +#: doc/guix.texi:6909 +msgid "Write a graphical map of disk usage in PNG format to @var{file}." +msgstr "" + +#. type: table +#: doc/guix.texi:6911 +msgid "For the example above, the map looks like this:" +msgstr "" + +#. type: table +#: doc/guix.texi:6914 +msgid "@image{images/coreutils-size-map,5in,, map of Coreutils disk usage produced by @command{guix size}}" +msgstr "" + +#. type: table +#: doc/guix.texi:6919 +msgid "" +"This option requires that @uref{http://wingolog.org/software/guile-charting/, Guile-Charting} be installed and visible in Guile's " +"module search path. When that is not the case, @command{guix size} fails as it tries to load it." +msgstr "" + +#. type: table +#: doc/guix.texi:6923 +msgid "Consider packages for @var{system}---e.g., @code{x86_64-linux}." +msgstr "" + +#. type: section +#: doc/guix.texi:6927 +#, no-wrap +msgid "Invoking @command{guix graph}" +msgstr "" + +#. type: cindex +#: doc/guix.texi:6929 +#, no-wrap +msgid "DAG" +msgstr "" + +#. type: command{#1} +#: doc/guix.texi:6930 +#, no-wrap +msgid "guix graph" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:6944 +msgid "" +"Packages and their dependencies form a @dfn{graph}, specifically a directed acyclic graph (DAG). It can quickly become difficult to " +"have a mental model of the package DAG, so the @command{guix graph} command provides a visual representation of the DAG. By " +"default, @command{guix graph} emits a DAG representation in the input format of @uref{http://www.graphviz.org/, Graphviz}, so its " +"output can be passed directly to the @command{dot} command of Graphviz. It can also emit an HTML page with embedded JavaScript code " +"to display a ``chord diagram'' in a Web browser, using the @uref{https://d3js.org/, d3.js} library, or emit Cypher queries to " +"construct a graph in a graph database supporting the @uref{http://www.opencypher.org/, openCypher} query language. The general " +"syntax is:" +msgstr "" + +#. type: example +#: doc/guix.texi:6947 +#, no-wrap +msgid "guix graph @var{options} @var{package}@dots{}\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:6952 +msgid "" +"For example, the following command generates a PDF file representing the package DAG for the GNU@tie{}Core Utilities, showing its " +"build-time dependencies:" +msgstr "" + +#. type: example +#: doc/guix.texi:6955 +#, no-wrap +msgid "guix graph coreutils | dot -Tpdf > dag.pdf\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:6958 +msgid "The output looks like this:" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:6960 +msgid "@image{images/coreutils-graph,2in,,Dependency graph of the GNU Coreutils}" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:6962 +msgid "Nice little graph, no?" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:6968 +msgid "" +"But there is more than one graph! The one above is concise: it is the graph of package objects, omitting implicit inputs such as " +"GCC, libc, grep, etc. It is often useful to have such a concise graph, but sometimes one may want to see more details. " +"@command{guix graph} supports several types of graphs, allowing you to choose the level of detail:" +msgstr "" + +#. type: table +#: doc/guix.texi:6974 +msgid "" +"This is the default type used in the example above. It shows the DAG of package objects, excluding implicit dependencies. It is " +"concise, but filters out many details." +msgstr "" + +#. type: item +#: doc/guix.texi:6975 +#, no-wrap +msgid "reverse-package" +msgstr "" + +#. type: table +#: doc/guix.texi:6977 +msgid "This shows the @emph{reverse} DAG of packages. For example:" +msgstr "" + +#. type: example +#: doc/guix.texi:6980 +#, no-wrap +msgid "guix graph --type=reverse-package ocaml\n" +msgstr "" + +#. type: table +#: doc/guix.texi:6983 +msgid "... yields the graph of packages that depend on OCaml." +msgstr "" + +#. type: table +#: doc/guix.texi:6988 +msgid "" +"Note that for core packages this can yield huge graphs. If all you want is to know the number of packages that depend on a given " +"package, use @command{guix refresh --list-dependent} (@pxref{Invoking guix refresh, @option{--list-dependent}})." +msgstr "" + +#. type: item +#: doc/guix.texi:6989 +#, no-wrap +msgid "bag-emerged" +msgstr "" + +#. type: table +#: doc/guix.texi:6991 +msgid "This is the package DAG, @emph{including} implicit inputs." +msgstr "" + +#. type: table +#: doc/guix.texi:6993 +msgid "For instance, the following command:" +msgstr "" + +#. type: example +#: doc/guix.texi:6996 +#, no-wrap +msgid "guix graph --type=bag-emerged coreutils | dot -Tpdf > dag.pdf\n" +msgstr "" + +#. type: table +#: doc/guix.texi:6999 +msgid "... yields this bigger graph:" +msgstr "" + +#. type: table +#: doc/guix.texi:7001 +msgid "@image{images/coreutils-bag-graph,,5in,Detailed dependency graph of the GNU Coreutils}" +msgstr "" + +#. type: table +#: doc/guix.texi:7004 +msgid "" +"At the bottom of the graph, we see all the implicit inputs of @var{gnu-build-system} (@pxref{Build Systems, @code{gnu-build-" +"system}})." +msgstr "" + +#. type: table +#: doc/guix.texi:7008 +msgid "" +"Now, note that the dependencies of these implicit inputs---that is, the @dfn{bootstrap dependencies} (@pxref{Bootstrapping})---are " +"not shown here, for conciseness." +msgstr "" + +#. type: item +#: doc/guix.texi:7009 +#, no-wrap +msgid "bag" +msgstr "" + +#. type: table +#: doc/guix.texi:7012 +msgid "Similar to @code{bag-emerged}, but this time including all the bootstrap dependencies." +msgstr "" + +#. type: item +#: doc/guix.texi:7013 +#, no-wrap +msgid "bag-with-origins" +msgstr "" + +#. type: table +#: doc/guix.texi:7015 +msgid "Similar to @code{bag}, but also showing origins and their dependencies." +msgstr "" + +#. type: table +#: doc/guix.texi:7021 +msgid "" +"This is the most detailed representation: It shows the DAG of derivations (@pxref{Derivations}) and plain store items. Compared to " +"the above representation, many additional nodes are visible, including build scripts, patches, Guile modules, etc." +msgstr "" + +#. type: table +#: doc/guix.texi:7024 +msgid "For this type of graph, it is also possible to pass a @file{.drv} file name instead of a package name, as in:" +msgstr "" + +#. type: example +#: doc/guix.texi:7027 +#, no-wrap +msgid "guix graph -t derivation `guix system build -d my-config.scm`\n" +msgstr "" + +#. type: item +#: doc/guix.texi:7029 +#, no-wrap +msgid "module" +msgstr "module" + +#. type: table +#: doc/guix.texi:7033 +msgid "" +"This is the graph of @dfn{package modules} (@pxref{Package Modules}). For example, the following command shows the graph for the " +"package module that defines the @code{guile} package:" +msgstr "" + +#. type: example +#: doc/guix.texi:7036 +#, no-wrap +msgid "guix graph -t module guile | dot -Tpdf > module-graph.pdf\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:7041 +msgid "" +"All the types above correspond to @emph{build-time dependencies}. The following graph type represents the @emph{run-time " +"dependencies}:" +msgstr "" + +#. type: item +#: doc/guix.texi:7043 +#, no-wrap +msgid "references" +msgstr "" + +#. type: table +#: doc/guix.texi:7046 +msgid "" +"This is the graph of @dfn{references} of a package output, as returned by @command{guix gc --references} (@pxref{Invoking guix gc})." +msgstr "" + +#. type: table +#: doc/guix.texi:7049 +msgid "" +"If the given package output is not available in the store, @command{guix graph} attempts to obtain dependency information from " +"substitutes." +msgstr "" + +#. type: table +#: doc/guix.texi:7053 +msgid "" +"Here you can also pass a store file name instead of a package name. For example, the command below produces the reference graph of " +"your profile (which can be big!):" +msgstr "" + +#. type: example +#: doc/guix.texi:7056 +#, no-wrap +msgid "guix graph -t references `readlink -f ~/.guix-profile`\n" +msgstr "" + +#. type: item +#: doc/guix.texi:7058 +#, no-wrap +msgid "referrers" +msgstr "" + +#. type: table +#: doc/guix.texi:7061 +msgid "" +"This is the graph of the @dfn{referrers} of a store item, as returned by @command{guix gc --referrers} (@pxref{Invoking guix gc})." +msgstr "" + +#. type: table +#: doc/guix.texi:7067 +msgid "" +"This relies exclusively on local information from your store. For instance, let us suppose that the current Inkscape is available " +"in 10 profiles on your machine; @command{guix graph -t referrers inkscape} will show a graph rooted at Inkscape and with those 10 " +"profiles linked to it." +msgstr "" + +#. type: table +#: doc/guix.texi:7070 +msgid "It can help determine what is preventing a store item from being garbage collected." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:7074 +msgid "The available options are the following:" +msgstr "" + +#. type: item +#: doc/guix.texi:7076 +#, no-wrap +msgid "--type=@var{type}" +msgstr "" + +#. type: itemx +#: doc/guix.texi:7077 doc/guix.texi:20541 +#, no-wrap +msgid "-t @var{type}" +msgstr "" + +#. type: table +#: doc/guix.texi:7080 +msgid "Produce a graph output of @var{type}, where @var{type} must be one of the values listed above." +msgstr "" + +#. type: item +#: doc/guix.texi:7081 +#, no-wrap +msgid "--list-types" +msgstr "" + +#. type: table +#: doc/guix.texi:7083 +msgid "List the supported graph types." +msgstr "" + +#. type: item +#: doc/guix.texi:7084 +#, no-wrap +msgid "--backend=@var{backend}" +msgstr "" + +#. type: itemx +#: doc/guix.texi:7085 +#, no-wrap +msgid "-b @var{backend}" +msgstr "" + +#. type: table +#: doc/guix.texi:7087 +msgid "Produce a graph using the selected @var{backend}." +msgstr "" + +#. type: item +#: doc/guix.texi:7088 +#, no-wrap +msgid "--list-backends" +msgstr "" + +#. type: table +#: doc/guix.texi:7090 +msgid "List the supported graph backends." +msgstr "" + +#. type: table +#: doc/guix.texi:7092 +msgid "Currently, the available backends are Graphviz and d3.js." +msgstr "" + +#. type: example +#: doc/guix.texi:7101 +#, no-wrap +msgid "guix graph -e '(@@@@ (gnu packages commencement) gnu-make-final)'\n" +msgstr "" + +#. type: section +#: doc/guix.texi:7106 +#, no-wrap +msgid "Invoking @command{guix environment}" +msgstr "" + +#. type: cindex +#: doc/guix.texi:7108 +#, no-wrap +msgid "reproducible build environments" +msgstr "" + +#. type: cindex +#: doc/guix.texi:7109 +#, no-wrap +msgid "development environments" +msgstr "" + +#. type: command{#1} +#: doc/guix.texi:7110 +#, no-wrap +msgid "guix environment" +msgstr "" + +#. type: cindex +#: doc/guix.texi:7111 +#, no-wrap +msgid "environment, package build environment" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:7117 +msgid "" +"The purpose of @command{guix environment} is to assist hackers in creating reproducible development environments without polluting " +"their package profile. The @command{guix environment} tool takes one or more packages, builds all of their inputs, and creates a " +"shell environment to use them." +msgstr "" + +#. type: example +#: doc/guix.texi:7122 +#, no-wrap +msgid "guix environment @var{options} @var{package}@dots{}\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:7126 +msgid "The following example spawns a new shell set up for the development of GNU@tie{}Guile:" +msgstr "" + +#. type: example +#: doc/guix.texi:7129 +#, no-wrap +msgid "guix environment guile\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:7146 +msgid "" +"If the needed dependencies are not built yet, @command{guix environment} automatically builds them. The environment of the new " +"shell is an augmented version of the environment that @command{guix environment} was run in. It contains the necessary search paths " +"for building the given package added to the existing environment variables. To create a ``pure'' environment, in which the original " +"environment variables have been unset, use the @code{--pure} option@footnote{Users sometimes wrongfully augment environment " +"variables such as @code{PATH} in their @file{~/.bashrc} file. As a consequence, when @code{guix environment} launches it, Bash may " +"read @file{~/.bashrc}, thereby introducing ``impurities'' in these environment variables. It is an error to define such environment " +"variables in @file{.bashrc}; instead, they should be defined in @file{.bash_profile}, which is sourced only by log-in shells. " +"@xref{Bash Startup Files,,, bash, The GNU Bash Reference Manual}, for details on Bash start-up files.}." +msgstr "" + +#. type: vindex +#: doc/guix.texi:7147 +#, no-wrap +msgid "GUIX_ENVIRONMENT" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:7153 +msgid "" +"@command{guix environment} defines the @code{GUIX_ENVIRONMENT} variable in the shell it spawns; its value is the file name of the " +"profile of this environment. This allows users to, say, define a specific prompt for development environments in their @file{." +"bashrc} (@pxref{Bash Startup Files,,, bash, The GNU Bash Reference Manual}):" +msgstr "" + +#. type: example +#: doc/guix.texi:7159 +#, no-wrap +msgid "" +"if [ -n \"$GUIX_ENVIRONMENT\" ]\n" +"then\n" +" export PS1=\"\\u@@\\h \\w [dev]\\$ \"\n" +"fi\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:7163 +msgid "... or to browse the profile:" +msgstr "" + +#. type: example +#: doc/guix.texi:7166 +#, no-wrap +msgid "$ ls \"$GUIX_ENVIRONMENT/bin\"\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:7172 +msgid "" +"Additionally, more than one package may be specified, in which case the union of the inputs for the given packages are used. For " +"example, the command below spawns a shell where all of the dependencies of both Guile and Emacs are available:" +msgstr "" + +#. type: example +#: doc/guix.texi:7175 +#, no-wrap +msgid "guix environment guile emacs\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:7180 +msgid "" +"Sometimes an interactive shell session is not desired. An arbitrary command may be invoked by placing the @code{--} token to " +"separate the command from the rest of the arguments:" +msgstr "" + +#. type: example +#: doc/guix.texi:7183 +#, no-wrap +msgid "guix environment guile -- make -j4\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:7189 +msgid "" +"In other situations, it is more convenient to specify the list of packages needed in the environment. For example, the following " +"command runs @command{python} from an environment containing Python@tie{}2.7 and NumPy:" +msgstr "" + +#. type: example +#: doc/guix.texi:7192 +#, no-wrap +msgid "guix environment --ad-hoc python2-numpy python-2.7 -- python\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:7203 +msgid "" +"Furthermore, one might want the dependencies of a package and also some additional packages that are not build-time or runtime " +"dependencies, but are useful when developing nonetheless. Because of this, the @code{--ad-hoc} flag is positional. Packages " +"appearing before @code{--ad-hoc} are interpreted as packages whose dependencies will be added to the environment. Packages " +"appearing after are interpreted as packages that will be added to the environment directly. For example, the following command " +"creates a Guix development environment that additionally includes Git and strace:" +msgstr "" + +#. type: example +#: doc/guix.texi:7206 +#, no-wrap +msgid "guix environment guix --ad-hoc git strace\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:7215 +msgid "" +"Sometimes it is desirable to isolate the environment as much as possible, for maximal purity and reproducibility. In particular, " +"when using Guix on a host distro that is not GuixSD, it is desirable to prevent access to @file{/usr/bin} and other system-wide " +"resources from the development environment. For example, the following command spawns a Guile REPL in a ``container'' where only " +"the store and the current working directory are mounted:" +msgstr "" + +#. type: example +#: doc/guix.texi:7218 +#, no-wrap +msgid "guix environment --ad-hoc --container guile -- guile\n" +msgstr "" + +#. type: quotation +#: doc/guix.texi:7222 +msgid "The @code{--container} option requires Linux-libre 3.19 or newer." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:7225 +msgid "The available options are summarized below." +msgstr "" + +#. type: cindex +#: doc/guix.texi:7229 +#, no-wrap +msgid "persistent environment" +msgstr "" + +#. type: cindex +#: doc/guix.texi:7230 +#, no-wrap +msgid "garbage collector root, for environments" +msgstr "" + +#. type: table +#: doc/guix.texi:7233 +msgid "Make @var{file} a symlink to the profile for this environment, and register it as a garbage collector root." +msgstr "" + +#. type: table +#: doc/guix.texi:7236 +msgid "This is useful if you want to protect your environment from garbage collection, to make it ``persistent''." +msgstr "" + +#. type: table +#: doc/guix.texi:7242 +msgid "" +"When this option is omitted, the environment is protected from garbage collection only for the duration of the @command{guix " +"environment} session. This means that next time you recreate the same environment, you could have to rebuild or re-download " +"packages. @xref{Invoking guix gc}, for more on GC roots." +msgstr "" + +#. type: table +#: doc/guix.texi:7247 +msgid "Create an environment for the package or list of packages that @var{expr} evaluates to." +msgstr "" + +#. type: table +#: doc/guix.texi:7249 +msgid "For example, running:" +msgstr "" + +#. type: example +#: doc/guix.texi:7252 +#, no-wrap +msgid "guix environment -e '(@@ (gnu packages maths) petsc-openmpi)'\n" +msgstr "" + +#. type: table +#: doc/guix.texi:7256 +msgid "starts a shell with the environment for this specific variant of the PETSc package." +msgstr "" + +#. type: table +#: doc/guix.texi:7258 +msgid "Running:" +msgstr "" + +#. type: example +#: doc/guix.texi:7261 +#, no-wrap +msgid "guix environment --ad-hoc -e '(@@ (gnu) %base-packages)'\n" +msgstr "" + +#. type: table +#: doc/guix.texi:7264 +msgid "starts a shell with all the GuixSD base packages available." +msgstr "" + +#. type: table +#: doc/guix.texi:7267 +msgid "" +"The above commands only use the default output of the given packages. To select other outputs, two element tuples can be specified:" +msgstr "" + +#. type: example +#: doc/guix.texi:7270 +#, no-wrap +msgid "guix environment --ad-hoc -e '(list (@@ (gnu packages bash) bash) \"include\")'\n" +msgstr "" + +#. type: item +#: doc/guix.texi:7272 +#, no-wrap +msgid "--load=@var{file}" +msgstr "" + +#. type: itemx +#: doc/guix.texi:7273 +#, no-wrap +msgid "-l @var{file}" +msgstr "" + +#. type: table +#: doc/guix.texi:7276 +msgid "Create an environment for the package or list of packages that the code within @var{file} evaluates to." +msgstr "" + +#. type: example +#: doc/guix.texi:7282 +#, no-wrap +msgid "@verbatiminclude environment-gdb.scm\n" +msgstr "" + +#. type: table +#: doc/guix.texi:7288 +msgid "Create an environment for the packages contained in the manifest object returned by the Scheme code in @var{file}." +msgstr "" + +#. type: table +#: doc/guix.texi:7292 +msgid "" +"This is similar to the same-named option in @command{guix package} (@pxref{profile-manifest, @option{--manifest}}) and uses the same " +"manifest files." +msgstr "" + +#. type: item +#: doc/guix.texi:7293 +#, no-wrap +msgid "--ad-hoc" +msgstr "" + +#. type: table +#: doc/guix.texi:7298 +msgid "" +"Include all specified packages in the resulting environment, as if an @i{ad hoc} package were defined with them as inputs. This " +"option is useful for quickly creating an environment without having to write a package expression to contain the desired inputs." +msgstr "" + +#. type: table +#: doc/guix.texi:7300 +msgid "For instance, the command:" +msgstr "" + +#. type: example +#: doc/guix.texi:7303 +#, no-wrap +msgid "guix environment --ad-hoc guile guile-sdl -- guile\n" +msgstr "" + +#. type: table +#: doc/guix.texi:7307 +msgid "runs @command{guile} in an environment where Guile and Guile-SDL are available." +msgstr "" + +#. type: table +#: doc/guix.texi:7312 +msgid "" +"Note that this example implicitly asks for the default output of @code{guile} and @code{guile-sdl}, but it is possible to ask for a " +"specific output---e.g., @code{glib:bin} asks for the @code{bin} output of @code{glib} (@pxref{Packages with Multiple Outputs})." +msgstr "" + +#. type: table +#: doc/guix.texi:7318 +msgid "" +"This option may be composed with the default behavior of @command{guix environment}. Packages appearing before @code{--ad-hoc} are " +"interpreted as packages whose dependencies will be added to the environment, the default behavior. Packages appearing after are " +"interpreted as packages that will be added to the environment directly." +msgstr "" + +#. type: item +#: doc/guix.texi:7319 +#, no-wrap +msgid "--pure" +msgstr "" + +#. type: table +#: doc/guix.texi:7323 +msgid "" +"Unset existing environment variables when building the new environment. This has the effect of creating an environment in which " +"search paths only contain package inputs." +msgstr "" + +#. type: item +#: doc/guix.texi:7324 +#, no-wrap +msgid "--search-paths" +msgstr "" + +#. type: table +#: doc/guix.texi:7327 +msgid "Display the environment variable definitions that make up the environment." +msgstr "" + +#. type: table +#: doc/guix.texi:7331 +msgid "Attempt to build for @var{system}---e.g., @code{i686-linux}." +msgstr "" + +#. type: item +#: doc/guix.texi:7332 +#, no-wrap +msgid "--container" +msgstr "" + +#. type: itemx +#: doc/guix.texi:7333 +#, no-wrap +msgid "-C" +msgstr "" + +#. type: item +#: doc/guix.texi:7334 doc/guix.texi:7845 doc/guix.texi:20490 +#, no-wrap +msgid "container" +msgstr "" + +#. type: table +#: doc/guix.texi:7342 +msgid "" +"Run @var{command} within an isolated container. The current working directory outside the container is mapped inside the " +"container. Additionally, unless overridden with @code{--user}, a dummy home directory is created that matches the current user's " +"home directory, and @file{/etc/passwd} is configured accordingly. The spawned process runs as the current user outside the " +"container, but has root privileges in the context of the container." +msgstr "" + +#. type: item +#: doc/guix.texi:7343 +#, no-wrap +msgid "--network" +msgstr "" + +#. type: itemx +#: doc/guix.texi:7344 +#, no-wrap +msgid "-N" +msgstr "" + +#. type: table +#: doc/guix.texi:7348 +msgid "" +"For containers, share the network namespace with the host system. Containers created without this flag only have access to the " +"loopback device." +msgstr "" + +#. type: item +#: doc/guix.texi:7349 +#, no-wrap +msgid "--link-profile" +msgstr "" + +#. type: itemx +#: doc/guix.texi:7350 +#, no-wrap +msgid "-P" +msgstr "" + +#. type: table +#: doc/guix.texi:7357 +msgid "" +"For containers, link the environment profile to @file{~/.guix-profile} within the container. This is equivalent to running the " +"command @command{ln -s $GUIX_ENVIRONMENT ~/.guix-profile} within the container. Linking will fail and abort the environment if the " +"directory already exists, which will certainly be the case if @command{guix environment} was invoked in the user's home directory." +msgstr "" + +#. type: table +#: doc/guix.texi:7364 +msgid "" +"Certain packages are configured to look in @code{~/.guix-profile} for configuration files and data;@footnote{For example, the " +"@code{fontconfig} package inspects @file{~/.guix-profile/share/fonts} for additional fonts.} @code{--link-profile} allows these " +"programs to behave as expected within the environment." +msgstr "" + +#. type: item +#: doc/guix.texi:7365 doc/guix.texi:7517 +#, no-wrap +msgid "--user=@var{user}" +msgstr "" + +#. type: itemx +#: doc/guix.texi:7366 doc/guix.texi:7518 +#, no-wrap +msgid "-u @var{user}" +msgstr "" + +#. type: table +#: doc/guix.texi:7372 +msgid "" +"For containers, use the username @var{user} in place of the current user. The generated @file{/etc/passwd} entry within the " +"container will contain the name @var{user}; the home directory will be @file{/home/USER}; and no user GECOS data will be copied. " +"@var{user} need not exist on the system." +msgstr "" + +#. type: table +#: doc/guix.texi:7377 +msgid "" +"Additionally, any shared or exposed path (see @code{--share} and @code{--expose} respectively) whose target is within the current " +"user's home directory will be remapped relative to @file{/home/USER}; this includes the automatic mapping of the current working " +"directory." +msgstr "" + +#. type: example +#: doc/guix.texi:7384 +#, no-wrap +msgid "" +"# will expose paths as /home/foo/wd, /home/foo/test, and /home/foo/target\n" +"cd $HOME/wd\n" +"guix environment --container --user=foo \\\n" +" --expose=$HOME/test \\\n" +" --expose=/tmp/target=$HOME/target\n" +msgstr "" + +#. type: table +#: doc/guix.texi:7389 +msgid "" +"While this will limit the leaking of user identity through home paths and each of the user fields, this is only one useful component " +"of a broader privacy/anonymity solution---not one in and of itself." +msgstr "" + +#. type: item +#: doc/guix.texi:7390 +#, no-wrap +msgid "--expose=@var{source}[=@var{target}]" +msgstr "" + +#. type: table +#: doc/guix.texi:7395 +msgid "" +"For containers, expose the file system @var{source} from the host system as the read-only file system @var{target} within the " +"container. If @var{target} is not specified, @var{source} is used as the target mount point in the container." +msgstr "" + +#. type: table +#: doc/guix.texi:7399 +msgid "" +"The example below spawns a Guile REPL in a container in which the user's home directory is accessible read-only via the @file{/" +"exchange} directory:" +msgstr "" + +#. type: example +#: doc/guix.texi:7402 +#, no-wrap +msgid "guix environment --container --expose=$HOME=/exchange --ad-hoc guile -- guile\n" +msgstr "" + +#. type: item +#: doc/guix.texi:7404 +#, no-wrap +msgid "--share=@var{source}[=@var{target}]" +msgstr "" + +#. type: table +#: doc/guix.texi:7409 +msgid "" +"For containers, share the file system @var{source} from the host system as the writable file system @var{target} within the " +"container. If @var{target} is not specified, @var{source} is used as the target mount point in the container." +msgstr "" + +#. type: table +#: doc/guix.texi:7413 +msgid "" +"The example below spawns a Guile REPL in a container in which the user's home directory is accessible for both reading and writing " +"via the @file{/exchange} directory:" +msgstr "" + +#. type: example +#: doc/guix.texi:7416 +#, no-wrap +msgid "guix environment --container --share=$HOME=/exchange --ad-hoc guile -- guile\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:7422 +msgid "" +"@command{guix environment} also supports all of the common build options that @command{guix build} supports (@pxref{Common Build " +"Options})." +msgstr "" + +#. type: section +#: doc/guix.texi:7425 +#, no-wrap +msgid "Invoking @command{guix publish}" +msgstr "" + +#. type: command{#1} +#: doc/guix.texi:7427 +#, no-wrap +msgid "guix publish" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:7431 +msgid "" +"The purpose of @command{guix publish} is to enable users to easily share their store with others, who can then use it as a " +"substitute server (@pxref{Substitutes})." +msgstr "" +"Le but de @command{guix publish} est de vous permettre de partager facilement votre dépôt avec d'autres personnes qui peuvent " +"ensuite l'utiliser comme serveur de substituts (@pxref{Substituts})." + +#. type: Plain text +#: doc/guix.texi:7437 +msgid "" +"When @command{guix publish} runs, it spawns an HTTP server which allows anyone with network access to obtain substitutes from it. " +"This means that any machine running Guix can also act as if it were a build farm, since the HTTP interface is compatible with Hydra, " +"the software behind the @code{hydra.gnu.org} build farm." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:7443 +msgid "" +"For security, each substitute is signed, allowing recipients to check their authenticity and integrity (@pxref{Substitutes}). " +"Because @command{guix publish} uses the signing key of the system, which is only readable by the system administrator, it must be " +"started as root; the @code{--user} option makes it drop root privileges early on." +msgstr "" +"Pour des raisons de sécurité, chaque substitut est signé, ce qui permet aux destinataires de vérifier leur authenticité et leur " +"intégrité (@pxref{Substituts}). Comme @command{guix publish} utilise la clef de signature du système, qui n'est lisible que par " +"l'administrateur système, il doit être lancé en root ; l'option @code{--user} lui fait baisser ses privilèges le plus tôt possible." + +#. type: Plain text +#: doc/guix.texi:7447 +msgid "" +"The signing key pair must be generated before @command{guix publish} is launched, using @command{guix archive --generate-key} " +"(@pxref{Invoking guix archive})." +msgstr "" + +#. type: example +#: doc/guix.texi:7452 +#, no-wrap +msgid "guix publish @var{options}@dots{}\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:7456 +msgid "Running @command{guix publish} without any additional arguments will spawn an HTTP server on port 8080:" +msgstr "" + +#. type: example +#: doc/guix.texi:7459 +#, no-wrap +msgid "guix publish\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:7463 +msgid "Once a publishing server has been authorized (@pxref{Invoking guix archive}), the daemon may download substitutes from it:" +msgstr "" + +#. type: example +#: doc/guix.texi:7466 +#, no-wrap +msgid "guix-daemon --substitute-urls=http://example.org:8080\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:7475 +msgid "" +"By default, @command{guix publish} compresses archives on the fly as it serves them. This ``on-the-fly'' mode is convenient in that " +"it requires no setup and is immediately available. However, when serving lots of clients, we recommend using the @option{--cache} " +"option, which enables caching of the archives before they are sent to clients---see below for details. The @command{guix weather} " +"command provides a handy way to check what a server provides (@pxref{Invoking guix weather})." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:7482 +msgid "" +"As a bonus, @command{guix publish} also serves as a content-addressed mirror for source files referenced in @code{origin} records " +"(@pxref{origin Reference}). For instance, assuming @command{guix publish} is running on @code{example.org}, the following URL " +"returns the raw @file{hello-2.10.tar.gz} file with the given SHA256 hash (represented in @code{nix-base32} format, @pxref{Invoking " +"guix hash}):" +msgstr "" + +#. type: example +#: doc/guix.texi:7485 +#, no-wrap +msgid "http://example.org/file/hello-2.10.tar.gz/sha256/0ssi1@dots{}ndq1i\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:7489 +msgid "Obviously, these URLs only work for files that are in the store; in other cases, they return 404 (``Not Found'')." +msgstr "" + +#. type: cindex +#: doc/guix.texi:7490 +#, no-wrap +msgid "build logs, publication" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:7492 +msgid "Build logs are available from @code{/log} URLs like:" +msgstr "" + +#. type: example +#: doc/guix.texi:7495 +#, no-wrap +msgid "http://example.org/log/gwspk@dots{}-guile-2.2.3\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:7505 +msgid "" +"When @command{guix-daemon} is configured to save compressed build logs, as is the case by default (@pxref{Invoking guix-daemon}), " +"@code{/log} URLs return the compressed log as-is, with an appropriate @code{Content-Type} and/or @code{Content-Encoding} header. We " +"recommend running @command{guix-daemon} with @code{--log-compression=gzip} since Web browsers can automatically decompress it, which " +"is not the case with bzip2 compression." +msgstr "" + +#. type: item +#: doc/guix.texi:7509 +#, no-wrap +msgid "--port=@var{port}" +msgstr "" + +#. type: itemx +#: doc/guix.texi:7510 +#, no-wrap +msgid "-p @var{port}" +msgstr "" + +#. type: table +#: doc/guix.texi:7512 +msgid "Listen for HTTP requests on @var{port}." +msgstr "" + +#. type: item +#: doc/guix.texi:7513 doc/guix.texi:16983 +#, no-wrap +msgid "--listen=@var{host}" +msgstr "" + +#. type: table +#: doc/guix.texi:7516 +msgid "Listen on the network interface for @var{host}. The default is to accept connections from any interface." +msgstr "" + +#. type: table +#: doc/guix.texi:7521 +msgid "Change privileges to @var{user} as soon as possible---i.e., once the server socket is open and the signing key has been read." +msgstr "" + +#. type: item +#: doc/guix.texi:7522 +#, no-wrap +msgid "--compression[=@var{level}]" +msgstr "" + +#. type: itemx +#: doc/guix.texi:7523 +#, no-wrap +msgid "-C [@var{level}]" +msgstr "" + +#. type: table +#: doc/guix.texi:7528 +msgid "" +"Compress data using the given @var{level}. When @var{level} is zero, disable compression. The range 1 to 9 corresponds to " +"different gzip compression levels: 1 is the fastest, and 9 is the best (CPU-intensive). The default is 3." +msgstr "" + +#. type: table +#: doc/guix.texi:7537 +msgid "" +"Unless @option{--cache} is used, compression occurs on the fly and the compressed streams are not cached. Thus, to reduce load on " +"the machine that runs @command{guix publish}, it may be a good idea to choose a low compression level, to run @command{guix publish} " +"behind a caching proxy, or to use @option{--cache}. Using @option{--cache} has the advantage that it allows @command{guix publish} " +"to add @code{Content-Length} HTTP header to its responses." +msgstr "" + +#. type: item +#: doc/guix.texi:7538 +#, no-wrap +msgid "--cache=@var{directory}" +msgstr "" + +#. type: itemx +#: doc/guix.texi:7539 +#, no-wrap +msgid "-c @var{directory}" +msgstr "" + +#. type: table +#: doc/guix.texi:7542 +msgid "Cache archives and meta-data (@code{.narinfo} URLs) to @var{directory} and only serve archives that are in cache." +msgstr "" + +#. type: table +#: doc/guix.texi:7550 +msgid "" +"When this option is omitted, archives and meta-data are created on-the-fly. This can reduce the available bandwidth, especially " +"when compression is enabled, since this may become CPU-bound. Another drawback of the default mode is that the length of archives " +"is not known in advance, so @command{guix publish} does not add a @code{Content-Length} HTTP header to its responses, which in turn " +"prevents clients from knowing the amount of data being downloaded." +msgstr "" + +#. type: table +#: doc/guix.texi:7558 +msgid "" +"Conversely, when @option{--cache} is used, the first request for a store item (@i{via} a @code{.narinfo} URL) returns 404 and " +"triggers a background process to @dfn{bake} the archive---computing its @code{.narinfo} and compressing the archive, if needed. " +"Once the archive is cached in @var{directory}, subsequent requests succeed and are served directly from the cache, which guarantees " +"that clients get the best possible bandwidth." +msgstr "" + +#. type: table +#: doc/guix.texi:7562 +msgid "" +"The ``baking'' process is performed by worker threads. By default, one thread per CPU core is created, but this can be customized. " +"See @option{--workers} below." +msgstr "" + +#. type: table +#: doc/guix.texi:7565 +msgid "When @option{--ttl} is used, cached entries are automatically deleted when they have expired." +msgstr "" + +#. type: item +#: doc/guix.texi:7566 +#, no-wrap +msgid "--workers=@var{N}" +msgstr "" + +#. type: table +#: doc/guix.texi:7569 +msgid "When @option{--cache} is used, request the allocation of @var{N} worker threads to ``bake'' archives." +msgstr "" + +#. type: item +#: doc/guix.texi:7570 +#, no-wrap +msgid "--ttl=@var{ttl}" +msgstr "" + +#. type: table +#: doc/guix.texi:7574 +msgid "" +"Produce @code{Cache-Control} HTTP headers that advertise a time-to-live (TTL) of @var{ttl}. @var{ttl} must denote a duration: " +"@code{5d} means 5 days, @code{1m} means 1 month, and so on." +msgstr "" + +#. type: table +#: doc/guix.texi:7579 +msgid "" +"This allows the user's Guix to keep substitute information in cache for @var{ttl}. However, note that @code{guix publish} does not " +"itself guarantee that the store items it provides will indeed remain available for as long as @var{ttl}." +msgstr "" + +#. type: table +#: doc/guix.texi:7583 +msgid "" +"Additionally, when @option{--cache} is used, cached entries that have not been accessed for @var{ttl} and that no longer have a " +"corresponding item in the store, may be deleted." +msgstr "" + +#. type: item +#: doc/guix.texi:7584 +#, no-wrap +msgid "--nar-path=@var{path}" +msgstr "" + +#. type: table +#: doc/guix.texi:7587 +msgid "Use @var{path} as the prefix for the URLs of ``nar'' files (@pxref{Invoking guix archive, normalized archives})." +msgstr "" + +#. type: table +#: doc/guix.texi:7591 +msgid "" +"By default, nars are served at a URL such as @code{/nar/gzip/@dots{}-coreutils-8.25}. This option allows you to change the @code{/" +"nar} part to @var{path}." +msgstr "" + +#. type: item +#: doc/guix.texi:7592 +#, no-wrap +msgid "--public-key=@var{file}" +msgstr "" + +#. type: itemx +#: doc/guix.texi:7593 +#, no-wrap +msgid "--private-key=@var{file}" +msgstr "" + +#. type: table +#: doc/guix.texi:7596 +msgid "Use the specific @var{file}s as the public/private key pair used to sign the store items being published." +msgstr "" + +#. type: table +#: doc/guix.texi:7603 +msgid "" +"The files must correspond to the same key pair (the private key is used for signing and the public key is merely advertised in the " +"signature metadata). They must contain keys in the canonical s-expression format as produced by @command{guix archive --generate-" +"key} (@pxref{Invoking guix archive}). By default, @file{/etc/guix/signing-key.pub} and @file{/etc/guix/signing-key.sec} are used." +msgstr "" + +#. type: item +#: doc/guix.texi:7604 +#, no-wrap +msgid "--repl[=@var{port}]" +msgstr "" + +#. type: itemx +#: doc/guix.texi:7605 +#, no-wrap +msgid "-r [@var{port}]" +msgstr "" + +#. type: table +#: doc/guix.texi:7609 +msgid "" +"Spawn a Guile REPL server (@pxref{REPL Servers,,, guile, GNU Guile Reference Manual}) on @var{port} (37146 by default). This is " +"used primarily for debugging a running @command{guix publish} server." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:7615 +msgid "" +"Enabling @command{guix publish} on a GuixSD system is a one-liner: just instantiate a @code{guix-publish-service-type} service in " +"the @code{services} field of the @code{operating-system} declaration (@pxref{guix-publish-service-type, @code{guix-publish-service-" +"type}})." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:7618 +msgid "If you are instead running Guix on a ``foreign distro'', follow these instructions:”" +msgstr "" + +#. type: itemize +#: doc/guix.texi:7622 +msgid "If your host distro uses the systemd init system:" +msgstr "" + +#. type: example +#: doc/guix.texi:7627 +#, no-wrap +msgid "" +"# ln -s ~root/.guix-profile/lib/systemd/system/guix-publish.service \\\n" +" /etc/systemd/system/\n" +"# systemctl start guix-publish && systemctl enable guix-publish\n" +msgstr "" + +#. type: example +#: doc/guix.texi:7635 +#, no-wrap +msgid "" +"# ln -s ~root/.guix-profile/lib/upstart/system/guix-publish.conf /etc/init/\n" +"# start guix-publish\n" +msgstr "" + +#. type: itemize +#: doc/guix.texi:7639 +msgid "Otherwise, proceed similarly with your distro's init system." +msgstr "" + +#. type: section +#: doc/guix.texi:7642 +#, no-wrap +msgid "Invoking @command{guix challenge}" +msgstr "" + +#. type: cindex +#: doc/guix.texi:7645 +#, no-wrap +msgid "verifiable builds" +msgstr "" + +#. type: command{#1} +#: doc/guix.texi:7646 +#, no-wrap +msgid "guix challenge" +msgstr "" + +#. type: cindex +#: doc/guix.texi:7647 +#, no-wrap +msgid "challenge" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:7652 +msgid "" +"Do the binaries provided by this server really correspond to the source code it claims to build? Is a package build process " +"deterministic? These are the questions the @command{guix challenge} command attempts to answer." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:7660 +msgid "" +"The former is obviously an important question: Before using a substitute server (@pxref{Substitutes}), one had better @emph{verify} " +"that it provides the right binaries, and thus @emph{challenge} it. The latter is what enables the former: If package builds are " +"deterministic, then independent builds of the package should yield the exact same result, bit for bit; if a server provides a binary " +"different from the one obtained locally, it may be either corrupt or malicious." +msgstr "" +"La première question est évidemment importante : avant d'utiliser un serveur de substituts (@pxref{Substituts}), il vaut mieux " +"@emph{vérifier} qu'il fournit les bons binaires et donc le @emph{défier}. La deuxième est ce qui permet la première : si les " +"constructions des paquets sont déterministes alors des constructions indépendantes du paquet devraient donner le même résultat, bit " +"à bit ; si un serveur fournit un binaire différent de celui obtenu localement, il peut être soit corrompu, soit malveillant." + +#. type: Plain text +#: doc/guix.texi:7669 +msgid "" +"We know that the hash that shows up in @file{/gnu/store} file names is the hash of all the inputs of the process that built the file " +"or directory---compilers, libraries, build scripts, etc. (@pxref{Introduction}). Assuming deterministic build processes, one store " +"file name should map to exactly one build output. @command{guix challenge} checks whether there is, indeed, a single mapping by " +"comparing the build outputs of several independent builds of any given store item." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:7671 +msgid "The command output looks like this:" +msgstr "" + +#. type: smallexample +#: doc/guix.texi:7688 +#, no-wrap +msgid "" +"$ guix challenge --substitute-urls=\"https://hydra.gnu.org https://guix.example.org\"\n" +"updating list of substitutes from 'https://hydra.gnu.org'... 100.0%\n" +"updating list of substitutes from 'https://guix.example.org'... 100.0%\n" +"/gnu/store/@dots{}-openssl-1.0.2d contents differ:\n" +" local hash: 0725l22r5jnzazaacncwsvp9kgf42266ayyp814v7djxs7nk963q\n" +" https://hydra.gnu.org/nar/@dots{}-openssl-1.0.2d: 0725l22r5jnzazaacncwsvp9kgf42266ayyp814v7djxs7nk963q\n" +" https://guix.example.org/nar/@dots{}-openssl-1.0.2d: 1zy4fmaaqcnjrzzajkdn3f5gmjk754b43qkq47llbyak9z0qjyim\n" +"/gnu/store/@dots{}-git-2.5.0 contents differ:\n" +" local hash: 00p3bmryhjxrhpn2gxs2fy0a15lnip05l97205pgbk5ra395hyha\n" +" https://hydra.gnu.org/nar/@dots{}-git-2.5.0: 069nb85bv4d4a6slrwjdy8v1cn4cwspm3kdbmyb81d6zckj3nq9f\n" +" https://guix.example.org/nar/@dots{}-git-2.5.0: 0mdqa9w1p6cmli6976v4wi0sw9r4p5prkj7lzfd1877wk11c9c73\n" +"/gnu/store/@dots{}-pius-2.1.1 contents differ:\n" +" local hash: 0k4v3m9z1zp8xzzizb7d8kjj72f9172xv078sq4wl73vnq9ig3ax\n" +" https://hydra.gnu.org/nar/@dots{}-pius-2.1.1: 0k4v3m9z1zp8xzzizb7d8kjj72f9172xv078sq4wl73vnq9ig3ax\n" +" https://guix.example.org/nar/@dots{}-pius-2.1.1: 1cy25x1a4fzq5rk0pmvc8xhwyffnqz95h2bpvqsz2mpvlbccy0gs\n" +"\n" +msgstr "" + +#. type: smallexample +#: doc/guix.texi:7690 +#, no-wrap +msgid "" +"@dots{}\n" +"\n" +msgstr "" + +#. type: smallexample +#: doc/guix.texi:7695 +#, no-wrap +msgid "" +"6,406 store items were analyzed:\n" +" - 4,749 (74.1%) were identical\n" +" - 525 (8.2%) differed\n" +" - 1,132 (17.7%) were inconclusive\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:7703 +msgid "" +"In this example, @command{guix challenge} first scans the store to determine the set of locally-built derivations---as opposed to " +"store items that were downloaded from a substitute server---and then queries all the substitute servers. It then reports those " +"store items for which the servers obtained a result different from the local build." +msgstr "" + +#. type: cindex +#: doc/guix.texi:7704 +#, no-wrap +msgid "non-determinism, in package builds" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:7715 +msgid "" +"As an example, @code{guix.example.org} always gets a different answer. Conversely, @code{hydra.gnu.org} agrees with local builds, " +"except in the case of Git. This might indicate that the build process of Git is non-deterministic, meaning that its output varies " +"as a function of various things that Guix does not fully control, in spite of building packages in isolated environments " +"(@pxref{Features}). Most common sources of non-determinism include the addition of timestamps in build results, the inclusion of " +"random numbers, and directory listings sorted by inode number. See @uref{https://reproducible-builds.org/docs/}, for more " +"information." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:7718 +msgid "To find out what is wrong with this Git binary, we can do something along these lines (@pxref{Invoking guix archive}):" +msgstr "" + +#. type: example +#: doc/guix.texi:7723 +#, no-wrap +msgid "" +"$ wget -q -O - https://hydra.gnu.org/nar/@dots{}-git-2.5.0 \\\n" +" | guix archive -x /tmp/git\n" +"$ diff -ur --no-dereference /gnu/store/@dots{}-git.2.5.0 /tmp/git\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:7732 +msgid "" +"This command shows the difference between the files resulting from the local build, and the files resulting from the build on " +"@code{hydra.gnu.org} (@pxref{Overview, Comparing and Merging Files,, diffutils, Comparing and Merging Files}). The @command{diff} " +"command works great for text files. When binary files differ, a better option is @uref{https://diffoscope.org/, Diffoscope}, a tool " +"that helps visualize differences for all kinds of files." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:7740 +msgid "" +"Once you have done that work, you can tell whether the differences are due to a non-deterministic build process or to a malicious " +"server. We try hard to remove sources of non-determinism in packages to make it easier to verify substitutes, but of course, this " +"is a process that involves not just Guix, but a large part of the free software community. In the meantime, @command{guix " +"challenge} is one tool to help address the problem." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:7744 +msgid "" +"If you are writing packages for Guix, you are encouraged to check whether @code{hydra.gnu.org} and other substitute servers obtain " +"the same build result as you did with:" +msgstr "" + +#. type: example +#: doc/guix.texi:7747 +#, no-wrap +msgid "$ guix challenge @var{package}\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:7752 +msgid "where @var{package} is a package specification such as @code{guile@@2.0} or @code{glibc:debug}." +msgstr "" + +#. type: example +#: doc/guix.texi:7757 +#, no-wrap +msgid "guix challenge @var{options} [@var{packages}@dots{}]\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:7764 +msgid "" +"When a difference is found between the hash of a locally-built item and that of a server-provided substitute, or among substitutes " +"provided by different servers, the command displays it as in the example above and its exit code is 2 (other non-zero exit codes " +"denote other kinds of errors.)" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:7766 +msgid "The one option that matters is:" +msgstr "" + +#. type: table +#: doc/guix.texi:7772 +msgid "Consider @var{urls} the whitespace-separated list of substitute source URLs to compare to." +msgstr "" + +#. type: itemx +#: doc/guix.texi:7774 +#, no-wrap +msgid "-v" +msgstr "" + +#. type: table +#: doc/guix.texi:7777 +msgid "Show details about matches (identical contents) in addition to information about mismatches." +msgstr "" + +#. type: section +#: doc/guix.texi:7781 +#, no-wrap +msgid "Invoking @command{guix copy}" +msgstr "" + +#. type: cindex +#: doc/guix.texi:7783 +#, no-wrap +msgid "copy, of store items, over SSH" +msgstr "" + +#. type: cindex +#: doc/guix.texi:7784 +#, no-wrap +msgid "SSH, copy of store items" +msgstr "" + +#. type: cindex +#: doc/guix.texi:7785 +#, no-wrap +msgid "sharing store items across machines" +msgstr "" + +#. type: cindex +#: doc/guix.texi:7786 +#, no-wrap +msgid "transferring store items across machines" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:7793 +msgid "" +"The @command{guix copy} command copies items from the store of one machine to that of another machine over a secure shell (SSH) " +"connection@footnote{This command is available only when Guile-SSH was found. @xref{Requirements}, for details.}. For example, the " +"following command copies the @code{coreutils} package, the user's profile, and all their dependencies over to @var{host}, logged in " +"as @var{user}:" +msgstr "" + +#. type: example +#: doc/guix.texi:7797 +#, no-wrap +msgid "" +"guix copy --to=@var{user}@@@var{host} \\\n" +" coreutils `readlink -f ~/.guix-profile`\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:7801 +msgid "If some of the items to be copied are already present on @var{host}, they are not actually sent." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:7804 +msgid "The command below retrieves @code{libreoffice} and @code{gimp} from @var{host}, assuming they are available there:" +msgstr "" + +#. type: example +#: doc/guix.texi:7807 +#, no-wrap +msgid "guix copy --from=@var{host} libreoffice gimp\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:7812 +msgid "" +"The SSH connection is established using the Guile-SSH client, which is compatible with OpenSSH: it honors @file{~/.ssh/known_hosts} " +"and @file{~/.ssh/config}, and uses the SSH agent for authentication." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:7818 +msgid "" +"The key used to sign items that are sent must be accepted by the remote machine. Likewise, the key used by the remote machine to " +"sign items you are retrieving must be in @file{/etc/guix/acl} so it is accepted by your own daemon. @xref{Invoking guix archive}, " +"for more information about store item authentication." +msgstr "" + +#. type: example +#: doc/guix.texi:7823 +#, no-wrap +msgid "guix copy [--to=@var{spec}|--from=@var{spec}] @var{items}@dots{}\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:7826 +msgid "You must always specify one of the following options:" +msgstr "" + +#. type: item +#: doc/guix.texi:7828 +#, no-wrap +msgid "--to=@var{spec}" +msgstr "" + +#. type: itemx +#: doc/guix.texi:7829 +#, no-wrap +msgid "--from=@var{spec}" +msgstr "" + +#. type: table +#: doc/guix.texi:7833 +msgid "" +"Specify the host to send to or receive from. @var{spec} must be an SSH spec such as @code{example.org}, @code{charlie@@example." +"org}, or @code{charlie@@example.org:2222}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:7837 +msgid "" +"The @var{items} can be either package names, such as @code{gimp}, or store items, such as @file{/gnu/store/@dots{}-idutils-4.6}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:7841 +msgid "" +"When specifying the name of a package to send, it is first built if needed, unless @option{--dry-run} was specified. Common build " +"options are supported (@pxref{Common Build Options})." +msgstr "" + +#. type: section +#: doc/guix.texi:7844 +#, no-wrap +msgid "Invoking @command{guix container}" +msgstr "" + +#. type: command{#1} +#: doc/guix.texi:7846 +#, no-wrap +msgid "guix container" +msgstr "" + +#. type: quotation +#: doc/guix.texi:7850 +msgid "As of version @value{VERSION}, this tool is experimental. The interface is subject to radical change in the future." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:7857 +msgid "" +"The purpose of @command{guix container} is to manipulate processes running within an isolated environment, commonly known as a " +"``container'', typically created by the @command{guix environment} (@pxref{Invoking guix environment}) and @command{guix system " +"container} (@pxref{Invoking guix system}) commands." +msgstr "" + +#. type: example +#: doc/guix.texi:7862 +#, no-wrap +msgid "guix container @var{action} @var{options}@dots{}\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:7866 +msgid "" +"@var{action} specifies the operation to perform with a container, and @var{options} specifies the context-specific arguments for the " +"action." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:7868 +msgid "The following actions are available:" +msgstr "" + +#. type: item +#: doc/guix.texi:7870 +#, no-wrap +msgid "exec" +msgstr "" + +#. type: table +#: doc/guix.texi:7872 +msgid "Execute a command within the context of a running container." +msgstr "" + +#. type: table +#: doc/guix.texi:7874 +msgid "The syntax is:" +msgstr "" + +#. type: example +#: doc/guix.texi:7877 +#, no-wrap +msgid "guix container exec @var{pid} @var{program} @var{arguments}@dots{}\n" +msgstr "" + +#. type: table +#: doc/guix.texi:7883 +msgid "" +"@var{pid} specifies the process ID of the running container. @var{program} specifies an executable file name within the root file " +"system of the container. @var{arguments} are the additional options that will be passed to @var{program}." +msgstr "" + +#. type: table +#: doc/guix.texi:7887 +msgid "" +"The following command launches an interactive login shell inside a GuixSD container, started by @command{guix system container}, and " +"whose process ID is 9001:" +msgstr "" + +#. type: example +#: doc/guix.texi:7890 +#, no-wrap +msgid "guix container exec 9001 /run/current-system/profile/bin/bash --login\n" +msgstr "" + +#. type: table +#: doc/guix.texi:7894 +msgid "" +"Note that the @var{pid} cannot be the parent process of a container. It must be PID 1 of the container or one of its child " +"processes." +msgstr "" + +#. type: section +#: doc/guix.texi:7898 +#, no-wrap +msgid "Invoking @command{guix weather}" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:7907 +msgid "" +"Occasionally you're grumpy because substitutes are lacking and you end up building packages by yourself (@pxref{Substitutes}). The " +"@command{guix weather} command reports on substitute availability on the specified servers so you can have an idea of whether you'll " +"be grumpy today. It can sometimes be useful info as a user, but it is primarily useful to people running @command{guix publish} " +"(@pxref{Invoking guix publish})." +msgstr "" +"Vous pouvez parfois grogner lorsque les substituts ne sont pas disponibles et que vous devez construire les paquets vous-même " +"(@pxref{Substituts}). La commande @command{guix weather} rapporte la disponibilité des substituts sur les serveurs spécifiés pour " +"que vous sachiez si vous allez raller aujourd'hui. Cela peut parfois être une information utile pour les utilisateurs, mais elle est " +"surtout utile pour les personnes qui font tourner @command{guix publish} (@pxref{Invoking guix publish})." + +#. type: cindex +#: doc/guix.texi:7908 +#, no-wrap +msgid "statistics, for substitutes" +msgstr "" + +#. type: cindex +#: doc/guix.texi:7909 +#, no-wrap +msgid "availability of substitutes" +msgstr "" + +#. type: cindex +#: doc/guix.texi:7910 +#, no-wrap +msgid "substitute availability" +msgstr "" + +#. type: cindex +#: doc/guix.texi:7911 +#, no-wrap +msgid "weather, substitute availability" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:7913 +msgid "Here's a sample run:" +msgstr "" + +#. type: example +#: doc/guix.texi:7925 +#, no-wrap +msgid "" +"$ guix weather --substitute-urls=https://guix.example.org\n" +"computing 5,872 package derivations for x86_64-linux...\n" +"looking for 6,128 store items on https://guix.example.org..\n" +"updating list of substitutes from 'https://guix.example.org'... 100.0%\n" +"https://guix.example.org\n" +" 43.4% substitutes available (2,658 out of 6,128)\n" +" 7,032.5 MiB of nars (compressed)\n" +" 19,824.2 MiB on disk (uncompressed)\n" +" 0.030 seconds per request (182.9 seconds in total)\n" +" 33.5 requests per second\n" +"\n" +msgstr "" + +#. type: example +#: doc/guix.texi:7935 +#, no-wrap +msgid "" +" 9.8% (342 out of 3,470) of the missing items are queued\n" +" 867 queued builds\n" +" x86_64-linux: 518 (59.7%)\n" +" i686-linux: 221 (25.5%)\n" +" aarch64-linux: 128 (14.8%)\n" +" build rate: 23.41 builds per hour\n" +" x86_64-linux: 11.16 builds per hour\n" +" i686-linux: 6.03 builds per hour\n" +" aarch64-linux: 6.41 builds per hour\n" +msgstr "" + +#. type: cindex +#: doc/guix.texi:7937 +#, no-wrap +msgid "continuous integration, statistics" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:7946 +msgid "" +"As you can see, it reports the fraction of all the packages for which substitutes are available on the server---regardless of " +"whether substitutes are enabled, and regardless of whether this server's signing key is authorized. It also reports the size of the " +"compressed archives (``nars'') provided by the server, the size the corresponding store items occupy in the store (assuming " +"deduplication is turned off), and the server's throughput. The second part gives continuous integration (CI) statistics, if the " +"server supports it." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:7952 +msgid "" +"To achieve that, @command{guix weather} queries over HTTP(S) meta-data (@dfn{narinfos}) for all the relevant store items. Like " +"@command{guix challenge}, it ignores signatures on those substitutes, which is innocuous since the command only gathers statistics " +"and cannot install those substitutes." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:7955 +msgid "" +"Among other things, it is possible to query specific system types and specific package sets. The available options are listed below." +msgstr "" + +#. type: table +#: doc/guix.texi:7961 +msgid "" +"@var{urls} is the space-separated list of substitute server URLs to query. When this option is omitted, the default set of " +"substitute servers is queried." +msgstr "" + +#. type: table +#: doc/guix.texi:7967 +msgid "" +"Query substitutes for @var{system}---e.g., @code{aarch64-linux}. This option can be repeated, in which case @command{guix weather} " +"will query substitutes for several system types." +msgstr "" + +#. type: table +#: doc/guix.texi:7973 +msgid "" +"Instead of querying substitutes for all the packages, only ask for those specified in @var{file}. @var{file} must contain a " +"@dfn{manifest}, as with the @code{-m} option of @command{guix package} (@pxref{Invoking guix package})." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:7991 +msgid "" +"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." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:7997 +msgid "" +"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}):" +msgstr "" + +#. type: example +#: doc/guix.texi:8000 +#, no-wrap +msgid "guix package --list-available\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8006 +msgid "" +"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." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8008 +msgid "Packages are currently available on the following platforms:" +msgstr "" + +#. type: item +#: doc/guix.texi:8011 doc/guix.texi:8176 +#, no-wrap +msgid "x86_64-linux" +msgstr "" + +#. type: table +#: doc/guix.texi:8013 +msgid "Intel/AMD @code{x86_64} architecture, Linux-Libre kernel;" +msgstr "" + +#. type: item +#: doc/guix.texi:8014 doc/guix.texi:8179 +#, no-wrap +msgid "i686-linux" +msgstr "" + +#. type: table +#: doc/guix.texi:8016 +msgid "Intel 32-bit architecture (IA32), Linux-Libre kernel;" +msgstr "" + +#. type: item +#: doc/guix.texi:8017 +#, no-wrap +msgid "armhf-linux" +msgstr "" + +#. type: table +#: doc/guix.texi:8021 +msgid "" +"ARMv7-A architecture with hard float, Thumb-2 and NEON, using the EABI hard-float application binary interface (ABI), and Linux-" +"Libre kernel." +msgstr "" + +#. type: item +#: doc/guix.texi:8022 +#, no-wrap +msgid "aarch64-linux" +msgstr "" + +#. type: table +#: doc/guix.texi:8026 +msgid "" +"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!" +msgstr "" + +#. type: item +#: doc/guix.texi:8027 +#, no-wrap +msgid "mips64el-linux" +msgstr "" + +#. type: table +#: doc/guix.texi:8030 +msgid "little-endian 64-bit MIPS processors, specifically the Loongson series, n32 ABI, and Linux-Libre kernel." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8034 +msgid "GuixSD itself is currently only available on @code{i686} and @code{x86_64}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8038 +msgid "For information on porting to other architectures or kernels, @pxref{Porting}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8053 +msgid "" +"Building this distribution is a cooperative effort, and you are invited to join! @xref{Contributing}, for information about how you " +"can help." +msgstr "" + +#. type: cindex +#: doc/guix.texi:8057 +#, no-wrap +msgid "installing GuixSD" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8063 +msgid "" +"This section explains how to install the Guix System Distribution (GuixSD) on a machine. The Guix package manager can also be " +"installed on top of a running GNU/Linux system, @pxref{Installation}." +msgstr "" + +#. type: quotation +#: doc/guix.texi:8072 +msgid "" +"You are reading this documentation with an Info reader. For details on how to use it, hit the @key{RET} key (``return'' or " +"``enter'') on the link that follows: @pxref{Top, Info reader,, info-stnd, Stand-alone GNU Info}. Hit @kbd{l} afterwards to come " +"back here." +msgstr "" + +#. type: quotation +#: doc/guix.texi:8075 +msgid "Alternately, run @command{info info} in another tty to keep the manual available." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8100 +msgid "" +"As of version @value{VERSION}, the Guix System Distribution (GuixSD) is not production-ready. It may contain bugs and lack " +"important features. Thus, if you are looking for a stable production system that respects your freedom as a computer user, a good " +"solution at this point is to consider @url{http://www.gnu.org/distros/free-distros.html, one of the more established GNU/Linux " +"distributions}. We hope you can soon switch to the GuixSD without fear, of course. In the meantime, you can also keep using your " +"distribution and try out the package manager on top of it (@pxref{Installation})." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8103 +msgid "" +"Before you proceed with the installation, be aware of the following noteworthy limitations applicable to version @value{VERSION}:" +msgstr "" + +#. type: itemize +#: doc/guix.texi:8109 +msgid "" +"The installation process does not include a graphical user interface and requires familiarity with GNU/Linux (see the following " +"subsections to get a feel of what that means.)" +msgstr "" + +#. type: itemize +#: doc/guix.texi:8112 +msgid "Support for the Logical Volume Manager (LVM) is missing." +msgstr "" + +#. type: itemize +#: doc/guix.texi:8116 +msgid "More and more system services are provided (@pxref{Services}), but some may be missing." +msgstr "" + +#. type: itemize +#: doc/guix.texi:8120 +msgid "More than 6,500 packages are available, but you might occasionally find that a useful package is missing." +msgstr "" + +#. type: itemize +#: doc/guix.texi:8125 +msgid "" +"GNOME, Xfce, LXDE, and Enlightenment are available (@pxref{Desktop Services}), as well as a number of X11 window managers. However, " +"some graphical applications may be missing, as well as KDE." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8130 +msgid "" +"You have been warned! But more than a disclaimer, this is an invitation to report issues (and success stories!), and to join us in " +"improving it. @xref{Contributing}, for more info." +msgstr "" + +#. type: cindex +#: doc/guix.texi:8135 +#, no-wrap +msgid "hardware support on GuixSD" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8144 +msgid "" +"GNU@tie{}GuixSD focuses on respecting the user's computing freedom. It builds around the kernel Linux-libre, which means that only " +"hardware for which free software drivers and firmware exist is supported. Nowadays, a wide range of off-the-shelf hardware is " +"supported on GNU/Linux-libre---from keyboards to graphics cards to scanners and Ethernet controllers. Unfortunately, there are " +"still areas where hardware vendors deny users control over their own computing, and such hardware is not supported on GuixSD." +msgstr "" + +#. type: cindex +#: doc/guix.texi:8145 +#, no-wrap +msgid "WiFi, hardware support" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8154 +msgid "" +"One of the main areas where free drivers or firmware are lacking is WiFi devices. WiFi devices known to work include those using " +"Atheros chips (AR9271 and AR7010), which corresponds to the @code{ath9k} Linux-libre driver, and those using Broadcom/AirForce chips " +"(BCM43xx with Wireless-Core Revision 5), which corresponds to the @code{b43-open} Linux-libre driver. Free firmware exists for both " +"and is available out-of-the-box on GuixSD, as part of @var{%base-firmware} (@pxref{operating-system Reference, @code{firmware}})." +msgstr "" + +#. type: cindex +#: doc/guix.texi:8155 +#, no-wrap +msgid "RYF, Respects Your Freedom" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8161 +msgid "" +"The @uref{https://www.fsf.org/, Free Software Foundation} runs @uref{https://www.fsf.org/ryf, @dfn{Respects Your Freedom}} (RYF), a " +"certification program for hardware products that respect your freedom and your privacy and ensure that you have control over your " +"device. We encourage you to check the list of RYF-certified devices." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8165 +msgid "" +"Another useful resource is the @uref{https://www.h-node.org/, H-Node} web site. It contains a catalog of hardware devices with " +"information about their support in GNU/Linux." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8174 +msgid "" +"An ISO-9660 installation image that can be written to a USB stick or burnt to a DVD can be downloaded from @indicateurl{ftp://alpha." +"gnu.org/gnu/guix/guixsd-install-@value{VERSION}.@var{system}.iso.xz}, where @var{system} is one of:" +msgstr "" + +#. type: table +#: doc/guix.texi:8178 +msgid "for a GNU/Linux system on Intel/AMD-compatible 64-bit CPUs;" +msgstr "" + +#. type: table +#: doc/guix.texi:8181 +msgid "for a 32-bit GNU/Linux system on Intel-compatible CPUs." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8186 +msgid "" +"Make sure to download the associated @file{.sig} file and to verify the authenticity of the image against it, along these lines:" +msgstr "" + +#. type: example +#: doc/guix.texi:8190 +#, no-wrap +msgid "" +"$ wget ftp://alpha.gnu.org/gnu/guix/guixsd-install-@value{VERSION}.@var{system}.iso.xz.sig\n" +"$ gpg --verify guixsd-install-@value{VERSION}.@var{system}.iso.xz.sig\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8205 +msgid "" +"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." +msgstr "" + +#. type: unnumberedsubsubsec +#: doc/guix.texi:8206 +#, no-wrap +msgid "Copying to a USB Stick" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8209 +msgid "To copy the image to a USB stick, follow these steps:" +msgstr "" + +#. type: enumerate +#: doc/guix.texi:8213 doc/guix.texi:8238 +msgid "Decompress the image using the @command{xz} command:" +msgstr "" + +#. type: example +#: doc/guix.texi:8216 doc/guix.texi:8241 +#, no-wrap +msgid "xz -d guixsd-install-@value{VERSION}.@var{system}.iso.xz\n" +msgstr "" + +#. type: enumerate +#: doc/guix.texi:8222 +msgid "" +"Insert a USB stick of 1@tie{}GiB or more into your machine, and determine its device name. Assuming that the USB stick is known as " +"@file{/dev/sdX}, copy the image with:" +msgstr "" + +#. type: example +#: doc/guix.texi:8226 +#, no-wrap +msgid "" +"dd if=guixsd-install-@value{VERSION}.x86_64-linux.iso of=/dev/sdX\n" +"sync\n" +msgstr "" + +#. type: enumerate +#: doc/guix.texi:8229 +msgid "Access to @file{/dev/sdX} usually requires root privileges." +msgstr "" + +#. type: unnumberedsubsubsec +#: doc/guix.texi:8231 +#, no-wrap +msgid "Burning on a DVD" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8234 +msgid "To copy the image to a DVD, follow these steps:" +msgstr "" + +#. type: enumerate +#: doc/guix.texi:8247 +msgid "" +"Insert a blank DVD into your machine, and determine its device name. Assuming that the DVD drive is known as @file{/dev/srX}, copy " +"the image with:" +msgstr "" + +#. type: example +#: doc/guix.texi:8250 +#, no-wrap +msgid "growisofs -dvd-compat -Z /dev/srX=guixsd-install-@value{VERSION}.x86_64.iso\n" +msgstr "" + +#. type: enumerate +#: doc/guix.texi:8253 +msgid "Access to @file{/dev/srX} usually requires root privileges." +msgstr "" + +#. type: unnumberedsubsubsec +#: doc/guix.texi:8255 +#, no-wrap +msgid "Booting" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8260 +msgid "" +"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 BIOS or UEFI boot menu, where you can choose to boot from the USB stick." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8263 +msgid "@xref{Installing GuixSD in a VM}, if, instead, you would like to install GuixSD in a virtual machine (VM)." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8275 +msgid "" +"Once you have successfully booted your computer using the installation medium, you should end up with a root prompt. Several " +"console TTYs are configured and can be used to run commands as root. 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." +msgstr "" + +#. type: quotation +#: doc/guix.texi:8280 +msgid "" +"Installation requires access to the Internet so that any missing dependencies of your system configuration can be downloaded. See " +"the ``Networking'' section below." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8286 +msgid "" +"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})." +msgstr "" + +#. type: subsubsection +#: doc/guix.texi:8287 +#, no-wrap +msgid "Keyboard Layout" +msgstr "" + +#. type: cindex +#: doc/guix.texi:8289 doc/guix.texi:10360 +#, no-wrap +msgid "keyboard layout" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8293 +msgid "" +"The installation image uses the US qwerty keyboard layout. If you want to change it, you can use the @command{loadkeys} command. " +"For example, the following command selects the Dvorak keyboard layout:" +msgstr "" + +#. type: example +#: doc/guix.texi:8296 +#, no-wrap +msgid "loadkeys dvorak\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8301 +msgid "" +"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." +msgstr "" + +#. type: subsubsection +#: doc/guix.texi:8302 +#, no-wrap +msgid "Networking" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8305 +msgid "Run the following command see what your network interfaces are called:" +msgstr "" + +#. type: example +#: doc/guix.texi:8308 +#, no-wrap +msgid "ifconfig -a\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8312 +msgid "@dots{} or, using the GNU/Linux-specific @command{ip} command:" +msgstr "" + +#. type: example +#: doc/guix.texi:8315 +#, no-wrap +msgid "ip a\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8322 +msgid "" +"Wired interfaces have a name starting with @samp{e}; for example, the interface corresponding to the first on-board Ethernet " +"controller is called @samp{eno1}. Wireless interfaces have a name starting with @samp{w}, like @samp{w1p2s0}." +msgstr "" + +#. type: item +#: doc/guix.texi:8324 +#, no-wrap +msgid "Wired connection" +msgstr "" + +#. type: table +#: doc/guix.texi:8327 +msgid "" +"To configure a wired network run the following command, substituting @var{interface} with the name of the wired interface you want " +"to use." +msgstr "" + +#. type: example +#: doc/guix.texi:8330 +#, no-wrap +msgid "ifconfig @var{interface} up\n" +msgstr "" + +#. type: item +#: doc/guix.texi:8332 +#, no-wrap +msgid "Wireless connection" +msgstr "" + +#. type: cindex +#: doc/guix.texi:8333 doc/guix.texi:10714 +#, no-wrap +msgid "wireless" +msgstr "" + +#. type: cindex +#: doc/guix.texi:8334 doc/guix.texi:10715 +#, no-wrap +msgid "WiFi" +msgstr "" + +#. type: table +#: doc/guix.texi:8339 +msgid "" +"To configure wireless networking, you can create a configuration file for the @command{wpa_supplicant} configuration tool (its " +"location is not important) using one of the available text editors such as @command{nano}:" +msgstr "" + +#. type: example +#: doc/guix.texi:8342 +#, no-wrap +msgid "nano wpa_supplicant.conf\n" +msgstr "" + +#. type: table +#: doc/guix.texi:8347 +msgid "" +"As an example, the following stanza can go to this file and will work for many wireless networks, provided you give the actual SSID " +"and passphrase for the network you are connecting to:" +msgstr "" + +#. type: example +#: doc/guix.texi:8354 +#, no-wrap +msgid "" +"network=@{\n" +" ssid=\"@var{my-ssid}\"\n" +" key_mgmt=WPA-PSK\n" +" psk=\"the network's secret passphrase\"\n" +"@}\n" +msgstr "" + +#. type: table +#: doc/guix.texi:8359 +msgid "" +"Start the wireless service and run it in the background with the following command (substitute @var{interface} with the name of the " +"network interface you want to use):" +msgstr "" + +#. type: example +#: doc/guix.texi:8362 +#, no-wrap +msgid "wpa_supplicant -c wpa_supplicant.conf -i @var{interface} -B\n" +msgstr "" + +#. type: table +#: doc/guix.texi:8365 +msgid "Run @command{man wpa_supplicant} for more information." +msgstr "" + +#. type: cindex +#: doc/guix.texi:8367 +#, no-wrap +msgid "DHCP" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8370 +msgid "" +"At this point, you need to acquire an IP address. On a network where IP addresses are automatically assigned @i{via} DHCP, you can " +"run:" +msgstr "" + +#. type: example +#: doc/guix.texi:8373 +#, no-wrap +msgid "dhclient -v @var{interface}\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8376 +msgid "Try to ping a server to see if networking is up and running:" +msgstr "" + +#. type: example +#: doc/guix.texi:8379 +#, no-wrap +msgid "ping -c 3 gnu.org\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8383 +msgid "" +"Setting up network access is almost always a requirement because the image does not contain all the software and tools that may be " +"needed." +msgstr "" + +#. type: cindex +#: doc/guix.texi:8384 +#, no-wrap +msgid "installing over SSH" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8387 +msgid "If you want to, you can continue the installation remotely by starting an SSH server:" +msgstr "" + +#. type: example +#: doc/guix.texi:8390 +#, no-wrap +msgid "herd start ssh-daemon\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8394 +msgid "Make sure to either set a password with @command{passwd}, or configure OpenSSH public key authentication before logging in." +msgstr "" + +#. type: subsubsection +#: doc/guix.texi:8395 +#, no-wrap +msgid "Disk Partitioning" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8399 +msgid "Unless this has already been done, the next step is to partition, and then format the target partition(s)." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8404 +msgid "" +"The installation image includes several partitioning tools, including Parted (@pxref{Overview,,, parted, GNU Parted User Manual}), " +"@command{fdisk}, and @command{cfdisk}. Run it and set up your disk with the partition layout you want:" +msgstr "" + +#. type: example +#: doc/guix.texi:8407 +#, no-wrap +msgid "cfdisk\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8413 +msgid "" +"If your disk uses the GUID Partition Table (GPT) format and you plan to install BIOS-based GRUB (which is the default), make sure a " +"BIOS Boot Partition is available (@pxref{BIOS installation,,, grub, GNU GRUB manual})." +msgstr "" + +#. type: cindex +#: doc/guix.texi:8414 +#, no-wrap +msgid "EFI, installation" +msgstr "" + +#. type: cindex +#: doc/guix.texi:8415 +#, no-wrap +msgid "UEFI, installation" +msgstr "" + +#. type: cindex +#: doc/guix.texi:8416 +#, no-wrap +msgid "ESP, EFI system partition" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8420 +msgid "" +"If you instead wish to use EFI-based GRUB, a FAT32 @dfn{EFI System Partition} (ESP) is required. This partition should be mounted " +"at @file{/boot/efi} and must have the @code{esp} flag set. E.g., for @command{parted}:" +msgstr "" + +#. type: example +#: doc/guix.texi:8423 +#, no-wrap +msgid "parted /dev/sda set 1 esp on\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8431 +msgid "" +"Once you are done partitioning the target hard disk drive, you have to create a file system on the relevant " +"partition(s)@footnote{Currently GuixSD only supports ext4 and btrfs file systems. In particular, code that reads file system UUIDs " +"and labels only works for these file system types.}. For the ESP, if you have one and assuming it is @file{/dev/sda2}, run:" +msgstr "" + +#. type: example +#: doc/guix.texi:8434 +#, no-wrap +msgid "mkfs.fat -F32 /dev/sda2\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8442 +msgid "" +"Preferably, assign file systems a label so that you can easily and reliably refer to them in @code{file-system} declarations " +"(@pxref{File Systems}). This is typically done using the @code{-L} option of @command{mkfs.ext4} and related commands. So, " +"assuming the target root partition lives at @file{/dev/sda1}, a file system with the label @code{my-root} can be created with:" +msgstr "" + +#. type: example +#: doc/guix.texi:8445 +#, no-wrap +msgid "mkfs.ext4 -L my-root /dev/sda1\n" +msgstr "" + +#. type: cindex +#: doc/guix.texi:8447 doc/guix.texi:8836 +#, no-wrap +msgid "encrypted disk" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8454 +msgid "" +"If you are instead planning to encrypt the root partition, you can use the Cryptsetup/LUKS utilities to do that (see " +"@inlinefmtifelse{html, @uref{https://linux.die.net/man/8/cryptsetup, @code{man cryptsetup}}, @code{man cryptsetup}} for more " +"information.) Assuming you want to store the root partition on @file{/dev/sda1}, the command sequence would be along these lines:" +msgstr "" + +#. type: example +#: doc/guix.texi:8459 +#, no-wrap +msgid "" +"cryptsetup luksFormat /dev/sda1\n" +"cryptsetup open --type luks /dev/sda1 my-partition\n" +"mkfs.ext4 -L my-root /dev/mapper/my-partition\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8464 +msgid "" +"Once that is done, mount the target file system under @file{/mnt} with a command like (again, assuming @code{my-root} is the label " +"of the root file system):" +msgstr "" + +#. type: example +#: doc/guix.texi:8467 +#, no-wrap +msgid "mount LABEL=my-root /mnt\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8473 +msgid "" +"Also mount any other file systems you would like to use on the target system relative to this path. If you have @file{/boot} on a " +"separate partition for example, mount it at @file{/mnt/boot} now so it is found by @code{guix system init} afterwards." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8478 +msgid "" +"Finally, if you plan to use one or more swap partitions (@pxref{Memory Concepts, swap space,, libc, The GNU C Library Reference " +"Manual}), make sure to initialize them with @command{mkswap}. Assuming you have one swap partition on @file{/dev/sda2}, you would " +"run:" +msgstr "" + +#. type: example +#: doc/guix.texi:8482 +#, no-wrap +msgid "" +"mkswap /dev/sda2\n" +"swapon /dev/sda2\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8490 +msgid "" +"Alternatively, you may use a swap file. For example, assuming that in the new system you want to use the file @file{/swapfile} as a " +"swap file, you would run@footnote{This example will work for many types of file systems (e.g., ext4). However, for copy-on-write " +"file systems (e.g., btrfs), the required steps may be different. For details, see the manual pages for @command{mkswap} and " +"@command{swapon}.}:" +msgstr "" + +#. type: example +#: doc/guix.texi:8498 +#, no-wrap +msgid "" +"# This is 10 GiB of swap space. Adjust \"count\" to change the size.\n" +"dd if=/dev/zero of=/mnt/swapfile bs=1MiB count=10240\n" +"# For security, make the file readable and writable only by root.\n" +"chmod 600 /mnt/swapfile\n" +"mkswap /mnt/swapfile\n" +"swapon /mnt/swapfile\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8503 +msgid "" +"Note that if you have encrypted the root partition and created a swap 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." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8509 +msgid "With the target partitions ready and the target root mounted on @file{/mnt}, we're ready to go. First, run:" +msgstr "" + +#. type: example +#: doc/guix.texi:8512 +#, no-wrap +msgid "herd start cow-store /mnt\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8519 +msgid "" +"This makes @file{/gnu/store} copy-on-write, such that packages added to it during the installation phase are written to the target " +"disk on @file{/mnt} rather than kept in memory. This is necessary because the first phase of the @command{guix system init} command " +"(see below) entails downloads or builds to @file{/gnu/store} which, initially, is an in-memory file system." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8530 +msgid "" +"Next, you have to edit a file and provide the declaration of the operating system to be installed. To that end, the installation " +"system comes with three text editors. We recommend GNU nano (@pxref{Top,,, nano, GNU nano Manual}), which supports syntax " +"highlighting and parentheses matching; other editors include GNU Zile (an Emacs clone), and nvi (a clone of the original BSD " +"@command{vi} editor). We strongly recommend storing that file on the target root file system, say, as @file{/mnt/etc/config.scm}. " +"Failing to do that, you will have lost your configuration file once you have rebooted into the newly-installed system." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8537 +msgid "" +"@xref{Using the Configuration System}, for an overview of the configuration file. The example configurations discussed in that " +"section are available under @file{/etc/configuration} in the installation image. Thus, to get started with a system configuration " +"providing a graphical display server (a ``desktop'' system), you can run something along these lines:" +msgstr "" + +#. type: example +#: doc/guix.texi:8542 +#, no-wrap +msgid "" +"# mkdir /mnt/etc\n" +"# cp /etc/configuration/desktop.scm /mnt/etc/config.scm\n" +"# nano /mnt/etc/config.scm\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8546 +msgid "You should pay attention to what your configuration file contains, and in particular:" +msgstr "" + +#. type: itemize +#: doc/guix.texi:8556 +msgid "" +"Make sure the @code{bootloader-configuration} form refers to the target you want to install GRUB on. It should mention @code{grub-" +"bootloader} if you are installing GRUB in the legacy way, or @code{grub-efi-bootloader} for newer UEFI systems. For legacy systems, " +"the @code{target} field names a device, like @code{/dev/sda}; for UEFI systems it names a path to a mounted EFI partition, like " +"@code{/boot/efi}, and do make sure the path is actually mounted." +msgstr "" + +#. type: itemize +#: doc/guix.texi:8562 +msgid "" +"Be sure that your file system labels match the value of their respective @code{device} fields in your @code{file-system} " +"configuration, assuming your @code{file-system} configuration sets the value of @code{title} to @code{'label}." +msgstr "" + +#. type: itemize +#: doc/guix.texi:8566 +msgid "" +"If there are encrypted or RAID partitions, make sure to add a @code{mapped-devices} field to describe them (@pxref{Mapped Devices})." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8571 +msgid "" +"Once you are done preparing the configuration file, the new system must be initialized (remember that the target root file system is " +"mounted under @file{/mnt}):" +msgstr "" + +#. type: example +#: doc/guix.texi:8574 +#, no-wrap +msgid "guix system init /mnt/etc/config.scm /mnt\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8581 +msgid "" +"This copies all the necessary files and installs GRUB on @file{/dev/sdX}, unless you pass the @option{--no-bootloader} option. For " +"more information, @pxref{Invoking guix system}. This command may trigger downloads or builds of missing packages, which can take " +"some time." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8588 +msgid "" +"Once that command has completed---and hopefully succeeded!---you can run @command{reboot} and boot into the new system. The " +"@code{root} password 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})." +msgstr "" + +#. type: cindex +#: doc/guix.texi:8589 +#, no-wrap +msgid "upgrading GuixSD" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8596 +msgid "" +"From then on, you can update GuixSD whenever you want by running @command{guix pull} as @code{root} (@pxref{Invoking guix pull}), " +"and then running @command{guix system reconfigure} to build a new system generation with the latest packages and services " +"(@pxref{Invoking guix system}). We recommend doing that regularly so that your system includes the latest security updates " +"(@pxref{Security Updates})." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8600 +msgid "" +"Join us on @code{#guix} on the Freenode IRC network or on @file{guix-devel@@gnu.org} to share your experience---good or not so good." +msgstr "" + +#. type: subsection +#: doc/guix.texi:8602 +#, no-wrap +msgid "Installing GuixSD in a Virtual Machine" +msgstr "" + +#. type: cindex +#: doc/guix.texi:8604 +#, no-wrap +msgid "virtual machine, GuixSD installation" +msgstr "" + +#. type: cindex +#: doc/guix.texi:8605 +#, no-wrap +msgid "virtual private server (VPS)" +msgstr "" + +#. type: cindex +#: doc/guix.texi:8606 +#, no-wrap +msgid "VPS (virtual private server)" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8610 +msgid "" +"If you'd like to install GuixSD in a virtual machine (VM) or on a virtual private server (VPS) rather than on your beloved machine, " +"this section is for you." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8613 +msgid "To boot a @uref{http://qemu.org/,QEMU} VM for installing GuixSD in a disk image, follow these steps:" +msgstr "" + +#. type: enumerate +#: doc/guix.texi:8618 +msgid "First, retrieve and decompress the GuixSD installation image as described previously (@pxref{USB Stick and DVD Installation})." +msgstr "" + +#. type: enumerate +#: doc/guix.texi:8622 +msgid "" +"Create a disk image that will hold the installed system. To make a qcow2-formatted disk image, use the @command{qemu-img} command:" +msgstr "" + +#. type: example +#: doc/guix.texi:8625 +#, no-wrap +msgid "qemu-img create -f qcow2 guixsd.img 50G\n" +msgstr "" + +#. type: enumerate +#: doc/guix.texi:8629 +msgid "" +"The resulting file will be much smaller than 50 GB (typically less than 1 MB), but it will grow as the virtualized storage device is " +"filled up." +msgstr "" + +#. type: enumerate +#: doc/guix.texi:8632 +msgid "Boot the USB installation image in an VM:" +msgstr "" + +#. type: example +#: doc/guix.texi:8638 +#, no-wrap +msgid "" +"qemu-system-x86_64 -m 1024 -smp 1 \\\n" +" -net user -net nic,model=virtio -boot menu=on \\\n" +" -drive file=guixsd-install-@value{VERSION}.@var{system}.iso \\\n" +" -drive file=guixsd.img\n" +msgstr "" + +#. type: enumerate +#: doc/guix.texi:8641 +msgid "The ordering of the drives matters." +msgstr "" + +#. type: enumerate +#: doc/guix.texi:8645 +msgid "" +"In the VM console, quickly press the @kbd{F12} key to enter the boot menu. Then press the @kbd{2} key and the @kbd{RET} key to " +"validate your selection." +msgstr "" + +#. type: enumerate +#: doc/guix.texi:8649 +msgid "" +"You're now root in the VM, proceed with the installation process. @xref{Preparing for Installation}, and follow the instructions." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8654 +msgid "" +"Once installation is complete, you can boot the system that's on your @file{guixsd.img} image. @xref{Running GuixSD in a VM}, for " +"how to do that." +msgstr "" + +#. type: cindex +#: doc/guix.texi:8658 +#, no-wrap +msgid "installation image" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8661 +msgid "The installation image described above was built using the @command{guix system} command, specifically:" +msgstr "" + +#. type: example +#: doc/guix.texi:8664 +#, no-wrap +msgid "guix system disk-image gnu/system/install.scm\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8669 +msgid "" +"Have a look at @file{gnu/system/install.scm} in the source tree, and see also @ref{Invoking guix system} for more information about " +"the installation image." +msgstr "" + +#. type: cindex +#: doc/guix.texi:8673 +#, no-wrap +msgid "system configuration" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8679 +msgid "" +"The Guix System Distribution supports a consistent whole-system configuration mechanism. By that we mean that all aspects of the " +"global system configuration---such as the available system services, timezone and locale settings, user accounts---are declared in a " +"single place. Such a @dfn{system configuration} can be @dfn{instantiated}---i.e., effected." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8689 +msgid "" +"One of the advantages of putting all the system configuration under the control of Guix is that it supports transactional system " +"upgrades, and makes it possible to roll back to a previous system instantiation, should something go wrong with the new one " +"(@pxref{Features}). Another advantage is that it makes it easy to replicate the exact same configuration across different machines, " +"or at different points in time, without having to resort to additional administration tools layered on top of the own tools of the " +"system." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8694 +msgid "" +"This section describes this mechanism. First we focus on the system administrator's viewpoint---explaining how the system is " +"configured and instantiated. Then we show how this mechanism can be extended, for instance to support new system services." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8721 +msgid "" +"The operating system is configured by providing an @code{operating-system} declaration in a file that can then be passed to the " +"@command{guix system} command (@pxref{Invoking guix system}). A simple setup, with the default system services, the default Linux-" +"Libre kernel, initial RAM disk, and boot loader looks like this:" +msgstr "" + +#. type: findex +#: doc/guix.texi:8722 +#, no-wrap +msgid "operating-system" +msgstr "" + +#. type: include +#: doc/guix.texi:8724 +#, no-wrap +msgid "os-config-bare-bones.texi" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8731 +msgid "" +"This example should be self-describing. Some of the fields defined above, such as @code{host-name} and @code{bootloader}, are " +"mandatory. Others, such as @code{packages} and @code{services}, can be omitted, in which case they get a default value." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8736 +msgid "" +"Below we discuss the effect of some of the most important fields (@pxref{operating-system Reference}, for details about all the " +"available fields), and how to @dfn{instantiate} the operating system using @command{guix system}." +msgstr "" + +#. type: unnumberedsubsubsec +#: doc/guix.texi:8737 +#, no-wrap +msgid "Globally-Visible Packages" +msgstr "" + +#. type: vindex +#: doc/guix.texi:8739 +#, no-wrap +msgid "%base-packages" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8752 +msgid "" +"The @code{packages} field lists packages that will be globally visible on the system, for all user accounts---i.e., in every user's " +"@code{PATH} environment variable---in addition to the per-user profiles (@pxref{Invoking guix package}). The @var{%base-packages} " +"variable provides all the tools one would expect for basic user and administrator tasks---including the GNU Core Utilities, the GNU " +"Networking Utilities, the GNU Zile lightweight text editor, @command{find}, @command{grep}, etc. The example above adds GNU@tie{}" +"Screen and OpenSSH to those, taken from the @code{(gnu packages screen)} and @code{(gnu packages ssh)} modules (@pxref{Package " +"Modules}). The @code{(list package output)} syntax can be used to add a specific output of a package:" +msgstr "" + +#. type: lisp +#: doc/guix.texi:8756 +#, no-wrap +msgid "" +"(use-modules (gnu packages))\n" +"(use-modules (gnu packages dns))\n" +"\n" +msgstr "" + +#. type: lisp +#: doc/guix.texi:8761 +#, no-wrap +msgid "" +"(operating-system\n" +" ;; ...\n" +" (packages (cons (list bind \"utils\")\n" +" %base-packages)))\n" +msgstr "" + +#. type: findex +#: doc/guix.texi:8763 +#, no-wrap +msgid "specification->package" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8772 +msgid "" +"Referring to packages by variable name, like @code{bind} above, has the advantage of being unambiguous; it also allows typos and " +"such to be diagnosed right away as ``unbound variables''. The downside is that one needs to know which module defines which " +"package, and to augment the @code{use-package-modules} line accordingly. To avoid that, one can use the @code{specification-" +">package} procedure of the @code{(gnu packages)} module, which returns the best package for a given name or name and version:" +msgstr "" + +#. type: lisp +#: doc/guix.texi:8775 +#, no-wrap +msgid "" +"(use-modules (gnu packages))\n" +"\n" +msgstr "" + +#. type: lisp +#: doc/guix.texi:8781 +#, no-wrap +msgid "" +"(operating-system\n" +" ;; ...\n" +" (packages (append (map specification->package\n" +" '(\"tcpdump\" \"htop\" \"gnupg@@2.0\"))\n" +" %base-packages)))\n" +msgstr "" + +#. type: unnumberedsubsubsec +#: doc/guix.texi:8783 +#, no-wrap +msgid "System Services" +msgstr "" + +#. type: cindex +#: doc/guix.texi:8785 doc/guix.texi:19871 doc/guix.texi:20789 +#, no-wrap +msgid "services" +msgstr "" + +#. type: vindex +#: doc/guix.texi:8786 +#, no-wrap +msgid "%base-services" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8796 +msgid "" +"The @code{services} field lists @dfn{system services} to be made available when the system starts (@pxref{Services}). The " +"@code{operating-system} declaration above specifies that, in addition to the basic services, we want the @command{lshd} secure shell " +"daemon listening on port 2222 (@pxref{Networking Services, @code{lsh-service}}). Under the hood, @code{lsh-service} arranges so " +"that @code{lshd} is started with the right command-line options, possibly with supporting configuration files generated as needed " +"(@pxref{Defining Services})." +msgstr "" + +#. type: cindex +#: doc/guix.texi:8797 +#, no-wrap +msgid "customization, of services" +msgstr "" + +#. type: findex +#: doc/guix.texi:8798 +#, no-wrap +msgid "modify-services" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8802 +msgid "" +"Occasionally, instead of using the base services as is, you will want to customize them. To do this, use @code{modify-services} " +"(@pxref{Service Reference, @code{modify-services}}) to modify the list." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8807 +msgid "" +"For example, suppose you want to modify @code{guix-daemon} and Mingetty (the console log-in) in the @var{%base-services} list " +"(@pxref{Base Services, @code{%base-services}}). To do that, you can write the following in your operating system declaration:" +msgstr "" + +#. type: lisp +#: doc/guix.texi:8820 +#, no-wrap +msgid "" +"(define %my-services\n" +" ;; My very own list of services.\n" +" (modify-services %base-services\n" +" (guix-service-type config =>\n" +" (guix-configuration\n" +" (inherit config)\n" +" (use-substitutes? #f)\n" +" (extra-options '(\"--gc-keep-derivations\"))))\n" +" (mingetty-service-type config =>\n" +" (mingetty-configuration\n" +" (inherit config)))))\n" +"\n" +msgstr "" + +#. type: lisp +#: doc/guix.texi:8824 +#, no-wrap +msgid "" +"(operating-system\n" +" ;; @dots{}\n" +" (services %my-services))\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8835 +msgid "" +"This changes the configuration---i.e., the service parameters---of the @code{guix-service-type} instance, and that of all the " +"@code{mingetty-service-type} instances in the @var{%base-services} list. Observe how this is accomplished: first, we arrange for " +"the original configuration to be bound to the identifier @code{config} in the @var{body}, and then we write the @var{body} so that " +"it evaluates to the desired configuration. In particular, notice how we use @code{inherit} to create a new configuration which has " +"the same values as the old configuration, but with a few modifications." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8842 +msgid "" +"The configuration for a typical ``desktop'' usage, with an encrypted root partition, the X11 display server, GNOME and Xfce (users " +"can choose which of these desktop environments to use at the log-in screen by pressing @kbd{F1}), network management, power " +"management, and more, would look like this:" +msgstr "" + +#. type: include +#: doc/guix.texi:8844 +#, no-wrap +msgid "os-config-desktop.texi" +msgstr "" + +#. type: cindex +#: doc/guix.texi:8847 +#, no-wrap +msgid "UEFI" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8850 +msgid "" +"A graphical UEFI system with a choice of lightweight window managers instead of full-blown desktop environments would look like this:" +msgstr "" + +#. type: include +#: doc/guix.texi:8852 +#, no-wrap +msgid "os-config-lightweight-desktop.texi" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8858 +msgid "" +"This example refers to the @file{/boot/efi} file system by its UUID, @code{1234-ABCD}. Replace this UUID with the right UUID on " +"your system, as returned by the @command{blkid} command." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8862 +msgid "" +"@xref{Desktop Services}, for the exact list of services provided by @var{%desktop-services}. @xref{X.509 Certificates}, for " +"background information about the @code{nss-certs} package that is used here." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8869 +msgid "" +"Again, @var{%desktop-services} is just a list of service objects. If you want to remove services from there, you can do so using " +"the procedures for list filtering (@pxref{SRFI-1 Filtering and Partitioning,,, guile, GNU Guile Reference Manual}). For instance, " +"the following expression returns a list that contains all the services in @var{%desktop-services} minus the Avahi service:" +msgstr "" + +#. type: example +#: doc/guix.texi:8874 +#, no-wrap +msgid "" +"(remove (lambda (service)\n" +" (eq? (service-kind service) avahi-service-type))\n" +" %desktop-services)\n" +msgstr "" + +#. type: unnumberedsubsubsec +#: doc/guix.texi:8876 +#, no-wrap +msgid "Instantiating the System" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8883 +msgid "" +"Assuming the @code{operating-system} declaration is stored in the @file{my-system-config.scm} file, the @command{guix system " +"reconfigure my-system-config.scm} command instantiates that configuration, and makes it the default GRUB boot entry (@pxref{Invoking " +"guix system})." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8891 +msgid "" +"The normal way to change the system configuration is by updating this file and re-running @command{guix system reconfigure}. One " +"should never have to touch files in @file{/etc} or to run commands that modify the system state such as @command{useradd} or " +"@command{grub-install}. In fact, you must avoid that since that would not only void your warranty but also prevent you from rolling " +"back to previous versions of your system, should you ever need to." +msgstr "" + +#. type: cindex +#: doc/guix.texi:8892 +#, no-wrap +msgid "roll-back, of the operating system" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8902 +msgid "" +"Speaking of roll-back, each time you run @command{guix system reconfigure}, a new @dfn{generation} of the system is created---" +"without modifying or deleting previous generations. Old system generations get an entry in the bootloader boot menu, allowing you " +"to boot them in case something went wrong with the latest generation. Reassuring, no? The @command{guix system list-generations} " +"command lists the system generations available on disk. It is also possible to roll back the system via the commands @command{guix " +"system roll-back} and @command{guix system switch-generation}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8908 +msgid "" +"Although the command @command{guix system reconfigure} will not modify previous generations, must take care when the current " +"generation is not the latest (e.g., after invoking @command{guix system roll-back}), since the operation might overwrite a later " +"generation (@pxref{Invoking guix system})." +msgstr "" + +#. type: unnumberedsubsubsec +#: doc/guix.texi:8909 +#, no-wrap +msgid "The Programming Interface" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8914 +msgid "" +"At the Scheme level, the bulk of an @code{operating-system} declaration is instantiated with the following monadic procedure " +"(@pxref{The Store Monad}):" +msgstr "" + +#. type: deffn +#: doc/guix.texi:8915 +#, no-wrap +msgid "{Monadic Procedure} operating-system-derivation os" +msgstr "" + +#. type: deffn +#: doc/guix.texi:8918 +msgid "Return a derivation that builds @var{os}, an @code{operating-system} object (@pxref{Derivations})." +msgstr "" + +#. type: deffn +#: doc/guix.texi:8922 +msgid "" +"The output of the derivation is a single directory that refers to all the packages, configuration files, and other supporting files " +"needed to instantiate @var{os}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8927 +msgid "" +"This procedure is provided by the @code{(gnu system)} module. Along with @code{(gnu services)} (@pxref{Services}), this module " +"contains the guts of GuixSD. Make sure to visit it!" +msgstr "" + +#. type: subsection +#: doc/guix.texi:8930 +#, no-wrap +msgid "@code{operating-system} Reference" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8935 +msgid "" +"This section summarizes all the options available in @code{operating-system} declarations (@pxref{Using the Configuration System})." +msgstr "" + +#. type: deftp +#: doc/guix.texi:8936 +#, no-wrap +msgid "{Data Type} operating-system" +msgstr "" + +#. type: deftp +#: doc/guix.texi:8940 +msgid "" +"This is the data type representing an operating system configuration. By that, we mean all the global system configuration, not per-" +"user configuration (@pxref{Using the Configuration System})." +msgstr "" + +#. type: item +#: doc/guix.texi:8942 +#, no-wrap +msgid "@code{kernel} (default: @var{linux-libre})" +msgstr "" + +#. type: table +#: doc/guix.texi:8946 +msgid "" +"The package object of the operating system kernel to use@footnote{Currently only the Linux-libre kernel is supported. In the " +"future, it will be possible to use the GNU@tie{}Hurd.}." +msgstr "" + +#. type: item +#: doc/guix.texi:8947 +#, no-wrap +msgid "@code{kernel-arguments} (default: @code{'()})" +msgstr "" + +#. type: table +#: doc/guix.texi:8950 +msgid "" +"List of strings or gexps representing additional arguments to pass on the command-line of the kernel---e.g., " +"@code{(\"console=ttyS0\")}." +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:8951 doc/guix.texi:20068 doc/guix.texi:20087 +#, no-wrap +msgid "bootloader" +msgstr "" + +#. type: table +#: doc/guix.texi:8953 +msgid "The system bootloader configuration object. @xref{Bootloader Configuration}." +msgstr "" + +#. type: item +#: doc/guix.texi:8954 +#, no-wrap +msgid "@code{initrd-modules} (default: @code{%base-initrd-modules})" +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:8955 doc/guix.texi:19908 doc/guix.texi:20011 doc/guix.texi:20206 +#, no-wrap +msgid "initrd" +msgstr "" + +#. type: cindex +#: doc/guix.texi:8956 doc/guix.texi:19909 doc/guix.texi:20012 +#, no-wrap +msgid "initial RAM disk" +msgstr "" + +#. type: table +#: doc/guix.texi:8959 +msgid "The list of Linux kernel modules that need to be available in the initial RAM disk. @xref{Initial RAM Disk}." +msgstr "" + +#. type: item +#: doc/guix.texi:8960 +#, no-wrap +msgid "@code{initrd} (default: @code{base-initrd})" +msgstr "" + +#. type: table +#: doc/guix.texi:8964 +msgid "" +"A monadic procedure that returns an initial RAM disk for the Linux kernel. This field is provided to support low-level " +"customization and should rarely be needed for casual use. @xref{Initial RAM Disk}." +msgstr "" + +#. type: item +#: doc/guix.texi:8965 +#, no-wrap +msgid "@code{firmware} (default: @var{%base-firmware})" +msgstr "" + +#. type: cindex +#: doc/guix.texi:8966 +#, no-wrap +msgid "firmware" +msgstr "" + +#. type: table +#: doc/guix.texi:8968 +msgid "List of firmware packages loadable by the operating system kernel." +msgstr "" + +#. type: table +#: doc/guix.texi:8973 +msgid "" +"The default includes firmware needed for Atheros- and Broadcom-based WiFi devices (Linux-libre modules @code{ath9k} and @code{b43-" +"open}, respectively). @xref{Hardware Considerations}, for more info on supported hardware." +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:8974 +#, no-wrap +msgid "host-name" +msgstr "" + +#. type: table +#: doc/guix.texi:8976 +msgid "The host name." +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:8977 +#, no-wrap +msgid "hosts-file" +msgstr "" + +#. type: cindex +#: doc/guix.texi:8978 +#, no-wrap +msgid "hosts file" +msgstr "" + +#. type: table +#: doc/guix.texi:8983 +msgid "" +"A file-like object (@pxref{G-Expressions, file-like objects}) for use as @file{/etc/hosts} (@pxref{Host Names,,, libc, The GNU C " +"Library Reference Manual}). The default is a file with entries for @code{localhost} and @var{host-name}." +msgstr "" + +#. type: item +#: doc/guix.texi:8984 +#, no-wrap +msgid "@code{mapped-devices} (default: @code{'()})" +msgstr "" + +#. type: table +#: doc/guix.texi:8986 +msgid "A list of mapped devices. @xref{Mapped Devices}." +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:8987 +#, no-wrap +msgid "file-systems" +msgstr "" + +#. type: table +#: doc/guix.texi:8989 +msgid "A list of file systems. @xref{File Systems}." +msgstr "" + +#. type: item +#: doc/guix.texi:8990 +#, no-wrap +msgid "@code{swap-devices} (default: @code{'()})" +msgstr "" + +#. type: cindex +#: doc/guix.texi:8991 +#, no-wrap +msgid "swap devices" +msgstr "" + +#. type: table +#: doc/guix.texi:8998 +msgid "" +"A list of strings identifying devices or files to be used for ``swap space'' (@pxref{Memory Concepts,,, libc, The GNU C Library " +"Reference Manual}). For example, @code{'(\"/dev/sda3\")} or @code{'(\"/swapfile\")}. It is possible to specify a swap file in a " +"file system on a mapped device, provided that the necessary device mapping and file system are also specified. @xref{Mapped " +"Devices} and @ref{File Systems}." +msgstr "" + +#. type: item +#: doc/guix.texi:8999 +#, no-wrap +msgid "@code{users} (default: @code{%base-user-accounts})" +msgstr "" + +#. type: itemx +#: doc/guix.texi:9000 +#, no-wrap +msgid "@code{groups} (default: @var{%base-groups})" +msgstr "" + +#. type: table +#: doc/guix.texi:9002 +msgid "List of user accounts and groups. @xref{User Accounts}." +msgstr "" + +#. type: table +#: doc/guix.texi:9005 +msgid "If the @code{users} list lacks a user account with UID@tie{}0, a ``root'' account with UID@tie{}0 is automatically added." +msgstr "" + +#. type: item +#: doc/guix.texi:9006 +#, no-wrap +msgid "@code{skeletons} (default: @code{(default-skeletons)})" +msgstr "" + +#. type: table +#: doc/guix.texi:9010 +msgid "" +"A list target file name/file-like object tuples (@pxref{G-Expressions, file-like objects}). These are the skeleton files that will " +"be added to the home directory of newly-created user accounts." +msgstr "" + +#. type: table +#: doc/guix.texi:9012 +msgid "For instance, a valid value may look like this:" +msgstr "" + +#. type: example +#: doc/guix.texi:9018 +#, no-wrap +msgid "" +"`((\".bashrc\" ,(plain-file \"bashrc\" \"echo Hello\\n\"))\n" +" (\".guile\" ,(plain-file \"guile\"\n" +" \"(use-modules (ice-9 readline))\n" +" (activate-readline)\")))\n" +msgstr "" + +#. type: item +#: doc/guix.texi:9020 +#, no-wrap +msgid "@code{issue} (default: @var{%default-issue})" +msgstr "" + +#. type: table +#: doc/guix.texi:9023 +msgid "A string denoting the contents of the @file{/etc/issue} file, which is displayed when users log in on a text console." +msgstr "" + +#. type: item +#: doc/guix.texi:9024 +#, no-wrap +msgid "@code{packages} (default: @var{%base-packages})" +msgstr "" + +#. type: table +#: doc/guix.texi:9027 +msgid "The set of packages installed in the global profile, which is accessible at @file{/run/current-system/profile}." +msgstr "" + +#. type: table +#: doc/guix.texi:9031 +msgid "" +"The default set includes core utilities and it is good practice to install non-core utilities in user profiles (@pxref{Invoking guix " +"package})." +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:9032 +#, no-wrap +msgid "timezone" +msgstr "" + +#. type: table +#: doc/guix.texi:9034 +msgid "A timezone identifying string---e.g., @code{\"Europe/Paris\"}." +msgstr "" + +#. type: table +#: doc/guix.texi:9038 +msgid "" +"You can run the @command{tzselect} command to find out which timezone string corresponds to your region. Choosing an invalid " +"timezone name causes @command{guix system} to fail." +msgstr "" + +#. type: item +#: doc/guix.texi:9039 +#, no-wrap +msgid "@code{locale} (default: @code{\"en_US.utf8\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:9042 +msgid "" +"The name of the default locale (@pxref{Locale Names,,, libc, The GNU C Library Reference Manual}). @xref{Locales}, for more " +"information." +msgstr "" + +#. type: item +#: doc/guix.texi:9043 +#, no-wrap +msgid "@code{locale-definitions} (default: @var{%default-locale-definitions})" +msgstr "" + +#. type: table +#: doc/guix.texi:9046 +msgid "The list of locale definitions to be compiled and that may be used at run time. @xref{Locales}." +msgstr "" + +#. type: item +#: doc/guix.texi:9047 +#, no-wrap +msgid "@code{locale-libcs} (default: @code{(list @var{glibc})})" +msgstr "" + +#. type: table +#: doc/guix.texi:9051 +msgid "" +"The list of GNU@tie{}libc packages whose locale data and tools are used to build the locale definitions. @xref{Locales}, for " +"compatibility considerations that justify this option." +msgstr "" + +#. type: item +#: doc/guix.texi:9052 +#, no-wrap +msgid "@code{name-service-switch} (default: @var{%default-nss})" +msgstr "" + +#. type: table +#: doc/guix.texi:9056 +msgid "" +"Configuration of the libc name service switch (NSS)---a @code{<name-service-switch>} object. @xref{Name Service Switch}, for " +"details." +msgstr "" + +#. type: item +#: doc/guix.texi:9057 +#, no-wrap +msgid "@code{services} (default: @var{%base-services})" +msgstr "" + +#. type: table +#: doc/guix.texi:9059 +msgid "A list of service objects denoting system services. @xref{Services}." +msgstr "" + +#. type: item +#: doc/guix.texi:9060 +#, no-wrap +msgid "@code{pam-services} (default: @code{(base-pam-services)})" +msgstr "" + +#. type: cindex +#: doc/guix.texi:9061 +#, no-wrap +msgid "PAM" +msgstr "" + +#. type: cindex +#: doc/guix.texi:9062 +#, no-wrap +msgid "pluggable authentication modules" +msgstr "" + +#. type: table +#: doc/guix.texi:9065 +msgid "Linux @dfn{pluggable authentication module} (PAM) services." +msgstr "" + +#. type: item +#: doc/guix.texi:9066 +#, no-wrap +msgid "@code{setuid-programs} (default: @var{%setuid-programs})" +msgstr "" + +#. type: table +#: doc/guix.texi:9069 +msgid "List of string-valued G-expressions denoting setuid programs. @xref{Setuid Programs}." +msgstr "" + +#. type: item +#: doc/guix.texi:9070 +#, no-wrap +msgid "@code{sudoers-file} (default: @var{%sudoers-specification})" +msgstr "" + +#. type: cindex +#: doc/guix.texi:9071 +#, no-wrap +msgid "sudoers file" +msgstr "" + +#. type: table +#: doc/guix.texi:9074 +msgid "" +"The contents of the @file{/etc/sudoers} file as a file-like object (@pxref{G-Expressions, @code{local-file} and @code{plain-file}})." +msgstr "" + +#. type: table +#: doc/guix.texi:9079 +msgid "" +"This file specifies which users can use the @command{sudo} command, what they are allowed to do, and what privileges they may gain. " +"The default is that only @code{root} and members of the @code{wheel} group may use @code{sudo}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:9090 +msgid "" +"The list of file systems to be mounted is specified in the @code{file-systems} field of the operating system declaration " +"(@pxref{Using the Configuration System}). Each file system is declared using the @code{file-system} form, like this:" +msgstr "" + +#. type: example +#: doc/guix.texi:9096 +#, no-wrap +msgid "" +"(file-system\n" +" (mount-point \"/home\")\n" +" (device \"/dev/sda3\")\n" +" (type \"ext4\"))\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:9100 +msgid "" +"As usual, some of the fields are mandatory---those shown in the example above---while others can be omitted. These are described " +"below." +msgstr "" + +#. type: deftp +#: doc/guix.texi:9101 +#, no-wrap +msgid "{Data Type} file-system" +msgstr "" + +#. type: deftp +#: doc/guix.texi:9104 +msgid "Objects of this type represent file systems to be mounted. They contain the following members:" +msgstr "" + +#. type: item +#: doc/guix.texi:9106 doc/guix.texi:9290 +#, no-wrap +msgid "type" +msgstr "" + +#. type: table +#: doc/guix.texi:9109 +msgid "This is a string specifying the type of the file system---e.g., @code{\"ext4\"}." +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:9110 +#, no-wrap +msgid "mount-point" +msgstr "" + +#. type: table +#: doc/guix.texi:9112 +msgid "This designates the place where the file system is to be mounted." +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:9113 +#, no-wrap +msgid "device" +msgstr "" + +#. type: table +#: doc/guix.texi:9117 +msgid "" +"This names the ``source'' of the file system. By default it is the name of a node under @file{/dev}, but its meaning depends on the " +"@code{title} field described below." +msgstr "" + +#. type: item +#: doc/guix.texi:9118 +#, no-wrap +msgid "@code{title} (default: @code{'device})" +msgstr "" + +#. type: table +#: doc/guix.texi:9121 +msgid "This is a symbol that specifies how the @code{device} field is to be interpreted." +msgstr "" + +#. type: table +#: doc/guix.texi:9126 +msgid "" +"When it is the symbol @code{device}, then the @code{device} field is interpreted as a file name; when it is @code{label}, then " +"@code{device} is interpreted as a file system label name; when it is @code{uuid}, @code{device} is interpreted as a file system " +"unique identifier (UUID)." +msgstr "" + +#. type: table +#: doc/guix.texi:9134 +msgid "" +"UUIDs may be converted from their string representation (as shown by the @command{tune2fs -l} command) using the @code{uuid} " +"form@footnote{The @code{uuid} form expects 16-byte UUIDs as defined in @uref{https://tools.ietf.org/html/rfc4122, RFC@tie{}4122}. " +"This is the form of UUID used by the ext2 family of file systems and others, but it is different from ``UUIDs'' found in FAT file " +"systems, for instance.}, like this:" +msgstr "" + +#. type: example +#: doc/guix.texi:9141 +#, no-wrap +msgid "" +"(file-system\n" +" (mount-point \"/home\")\n" +" (type \"ext4\")\n" +" (title 'uuid)\n" +" (device (uuid \"4dab5feb-d176-45de-b287-9b0a6e4c01cb\")))\n" +msgstr "" + +#. type: table +#: doc/guix.texi:9150 +msgid "" +"The @code{label} and @code{uuid} options offer a way to refer to file systems without having to hard-code their actual device " +"name@footnote{Note that, while it is tempting to use @file{/dev/disk/by-uuid} and similar device names to achieve the same result, " +"this is not recommended: These special device nodes are created by the udev daemon and may be unavailable at the time the device is " +"mounted.}." +msgstr "" + +#. type: table +#: doc/guix.texi:9157 +msgid "" +"However, when the source of a file system is a mapped device (@pxref{Mapped Devices}), its @code{device} field @emph{must} refer to " +"the mapped device name---e.g., @file{/dev/mapper/root-partition}---and consequently @code{title} must be set to @code{'device}. " +"This is required so that the system knows that mounting the file system depends on having the corresponding device mapping " +"established." +msgstr "" + +#. type: item +#: doc/guix.texi:9158 +#, no-wrap +msgid "@code{flags} (default: @code{'()})" +msgstr "" + +#. type: table +#: doc/guix.texi:9163 +msgid "" +"This is a list of symbols denoting mount flags. Recognized flags include @code{read-only}, @code{bind-mount}, @code{no-dev} " +"(disallow access to special files), @code{no-suid} (ignore setuid and setgid bits), and @code{no-exec} (disallow program execution.)" +msgstr "" + +#. type: item +#: doc/guix.texi:9164 +#, no-wrap +msgid "@code{options} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:9166 +msgid "This is either @code{#f}, or a string denoting mount options." +msgstr "" + +#. type: item +#: doc/guix.texi:9167 +#, no-wrap +msgid "@code{mount?} (default: @code{#t})" +msgstr "" + +#. type: table +#: doc/guix.texi:9172 +msgid "" +"This value indicates whether to automatically mount the file system when the system is brought up. When set to @code{#f}, the file " +"system gets an entry in @file{/etc/fstab} (read by the @command{mount} command) but is not automatically mounted." +msgstr "" + +#. type: item +#: doc/guix.texi:9173 +#, no-wrap +msgid "@code{needed-for-boot?} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:9178 +msgid "" +"This Boolean value indicates whether the file system is needed when booting. If that is true, then the file system is mounted when " +"the initial RAM disk (initrd) is loaded. This is always the case, for instance, for the root file system." +msgstr "" + +#. type: item +#: doc/guix.texi:9179 +#, no-wrap +msgid "@code{check?} (default: @code{#t})" +msgstr "" + +#. type: table +#: doc/guix.texi:9182 +msgid "This Boolean indicates whether the file system needs to be checked for errors before being mounted." +msgstr "" + +#. type: item +#: doc/guix.texi:9183 +#, no-wrap +msgid "@code{create-mount-point?} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:9185 +msgid "When true, the mount point is created if it does not exist yet." +msgstr "" + +#. type: item +#: doc/guix.texi:9186 +#, no-wrap +msgid "@code{dependencies} (default: @code{'()})" +msgstr "" + +#. type: table +#: doc/guix.texi:9190 +msgid "" +"This is a list of @code{<file-system>} or @code{<mapped-device>} objects representing file systems that must be mounted or mapped " +"devices that must be opened before (and unmounted or closed after) this one." +msgstr "" + +#. type: table +#: doc/guix.texi:9194 +msgid "" +"As an example, consider a hierarchy of mounts: @file{/sys/fs/cgroup} is a dependency of @file{/sys/fs/cgroup/cpu} and @file{/sys/fs/" +"cgroup/memory}." +msgstr "" + +#. type: table +#: doc/guix.texi:9197 +msgid "" +"Another example is a file system that depends on a mapped device, for example for an encrypted partition (@pxref{Mapped Devices})." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:9202 +msgid "The @code{(gnu system file-systems)} exports the following useful variables." +msgstr "" + +#. type: defvr +#: doc/guix.texi:9203 +#, no-wrap +msgid "{Scheme Variable} %base-file-systems" +msgstr "" + +#. type: defvr +#: doc/guix.texi:9208 +msgid "" +"These are essential file systems that are required on normal systems, such as @var{%pseudo-terminal-file-system} and @var{%immutable-" +"store} (see below.) Operating system declarations should always contain at least these." +msgstr "" + +#. type: defvr +#: doc/guix.texi:9210 +#, no-wrap +msgid "{Scheme Variable} %pseudo-terminal-file-system" +msgstr "" + +#. type: defvr +#: doc/guix.texi:9216 +msgid "" +"This is the file system to be mounted as @file{/dev/pts}. It supports @dfn{pseudo-terminals} created @i{via} @code{openpty} and " +"similar functions (@pxref{Pseudo-Terminals,,, libc, The GNU C Library Reference Manual}). Pseudo-terminals are used by terminal " +"emulators such as @command{xterm}." +msgstr "" + +#. type: defvr +#: doc/guix.texi:9218 +#, no-wrap +msgid "{Scheme Variable} %shared-memory-file-system" +msgstr "" + +#. type: defvr +#: doc/guix.texi:9222 +msgid "" +"This file system is mounted as @file{/dev/shm} and is used to support memory sharing across processes (@pxref{Memory-mapped I/O, " +"@code{shm_open},, libc, The GNU C Library Reference Manual})." +msgstr "" + +#. type: defvr +#: doc/guix.texi:9224 +#, no-wrap +msgid "{Scheme Variable} %immutable-store" +msgstr "" + +#. type: defvr +#: doc/guix.texi:9229 +msgid "" +"This file system performs a read-only ``bind mount'' of @file{/gnu/store}, making it read-only for all the users including " +"@code{root}. This prevents against accidental modification by software running as @code{root} or by system administrators." +msgstr "" + +#. type: defvr +#: doc/guix.texi:9232 +msgid "The daemon itself is still able to write to the store: it remounts it read-write in its own ``name space.''" +msgstr "" + +#. type: defvr +#: doc/guix.texi:9234 +#, no-wrap +msgid "{Scheme Variable} %binary-format-file-system" +msgstr "" + +#. type: defvr +#: doc/guix.texi:9238 +msgid "" +"The @code{binfmt_misc} file system, which allows handling of arbitrary executable file types to be delegated to user space. This " +"requires the @code{binfmt.ko} kernel module to be loaded." +msgstr "" + +#. type: defvr +#: doc/guix.texi:9240 +#, no-wrap +msgid "{Scheme Variable} %fuse-control-file-system" +msgstr "" + +#. type: defvr +#: doc/guix.texi:9244 +msgid "" +"The @code{fusectl} file system, which allows unprivileged users to mount and unmount user-space FUSE file systems. This requires " +"the @code{fuse.ko} kernel module to be loaded." +msgstr "" + +#. type: cindex +#: doc/guix.texi:9249 +#, no-wrap +msgid "device mapping" +msgstr "" + +#. type: cindex +#: doc/guix.texi:9250 +#, no-wrap +msgid "mapped devices" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:9268 +msgid "" +"The Linux kernel has a notion of @dfn{device mapping}: a block device, such as a hard disk partition, can be @dfn{mapped} into " +"another device, usually in @code{/dev/mapper/}, with additional processing over the data that flows through it@footnote{Note that " +"the GNU@tie{}Hurd makes no difference between the concept of a ``mapped device'' and that of a file system: both boil down to " +"@emph{translating} input/output operations made on a file to operations on its backing store. Thus, the Hurd implements mapped " +"devices, like file systems, using the generic @dfn{translator} mechanism (@pxref{Translators,,, hurd, The GNU Hurd Reference " +"Manual}).}. A typical example is encryption device mapping: all writes to the mapped device are encrypted, and all reads are " +"deciphered, transparently. Guix extends this notion by considering any device or set of devices that are @dfn{transformed} in some " +"way to create a new device; for instance, RAID devices are obtained by @dfn{assembling} several other devices, such as hard disks or " +"partitions, into a new one that behaves as one partition. Other examples, not yet implemented, are LVM logical volumes." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:9271 +msgid "Mapped devices are declared using the @code{mapped-device} form, defined as follows; for examples, see below." +msgstr "" + +#. type: deftp +#: doc/guix.texi:9272 +#, no-wrap +msgid "{Data Type} mapped-device" +msgstr "" + +#. type: deftp +#: doc/guix.texi:9275 +msgid "Objects of this type represent device mappings that will be made when the system boots up." +msgstr "" + +#. type: table +#: doc/guix.texi:9281 +msgid "" +"This is either a string specifying the name of the block device to be mapped, such as @code{\"/dev/sda3\"}, or a list of such " +"strings when several devices need to be assembled for creating a new one." +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:9282 doc/guix.texi:20100 +#, no-wrap +msgid "target" +msgstr "" + +#. type: table +#: doc/guix.texi:9289 +msgid "" +"This string specifies the name of the resulting mapped device. For kernel mappers such as encrypted devices of type @code{luks-" +"device-mapping}, specifying @code{\"my-partition\"} leads to the creation of the @code{\"/dev/mapper/my-partition\"} device. For " +"RAID devices of type @code{raid-device-mapping}, the full device name such as @code{\"/dev/md0\"} needs to be given." +msgstr "" + +#. type: table +#: doc/guix.texi:9293 +msgid "This must be a @code{mapped-device-kind} object, which specifies how @var{source} is mapped to @var{target}." +msgstr "" + +#. type: defvr +#: doc/guix.texi:9296 +#, no-wrap +msgid "{Scheme Variable} luks-device-mapping" +msgstr "" + +#. type: defvr +#: doc/guix.texi:9300 +msgid "" +"This defines LUKS block device encryption using the @command{cryptsetup} command from the package with the same name. It relies on " +"the @code{dm-crypt} Linux kernel module." +msgstr "" + +#. type: defvr +#: doc/guix.texi:9302 +#, no-wrap +msgid "{Scheme Variable} raid-device-mapping" +msgstr "" + +#. type: defvr +#: doc/guix.texi:9307 +msgid "" +"This defines a RAID device, which is assembled using the @code{mdadm} command from the package with the same name. It requires a " +"Linux kernel module for the appropriate RAID level to be loaded, such as @code{raid456} for RAID-4, RAID-5 or RAID-6, or " +"@code{raid10} for RAID-10." +msgstr "" + +#. type: cindex +#: doc/guix.texi:9309 +#, no-wrap +msgid "disk encryption" +msgstr "" + +#. type: cindex +#: doc/guix.texi:9310 +#, no-wrap +msgid "LUKS" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:9318 +msgid "" +"The following example specifies a mapping from @file{/dev/sda3} to @file{/dev/mapper/home} using LUKS---the @url{https://gitlab.com/" +"cryptsetup/cryptsetup,Linux Unified Key Setup}, a standard mechanism for disk encryption. The @file{/dev/mapper/home} device can " +"then be used as the @code{device} of a @code{file-system} declaration (@pxref{File Systems})." +msgstr "" + +#. type: example +#: doc/guix.texi:9324 +#, no-wrap +msgid "" +"(mapped-device\n" +" (source \"/dev/sda3\")\n" +" (target \"home\")\n" +" (type luks-device-mapping))\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:9329 +msgid "" +"Alternatively, to become independent of device numbering, one may obtain the LUKS UUID (@dfn{unique identifier}) of the source " +"device by a command like:" +msgstr "" + +#. type: example +#: doc/guix.texi:9332 +#, no-wrap +msgid "cryptsetup luksUUID /dev/sda3\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:9335 +msgid "and use it as follows:" +msgstr "" + +#. type: example +#: doc/guix.texi:9341 +#, no-wrap +msgid "" +"(mapped-device\n" +" (source (uuid \"cb67fc72-0d54-4c88-9d4b-b225f30b0f44\"))\n" +" (target \"home\")\n" +" (type luks-device-mapping))\n" +msgstr "" + +#. type: cindex +#: doc/guix.texi:9343 +#, no-wrap +msgid "swap encryption" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:9349 +msgid "" +"It is also desirable to encrypt swap space, since swap space may contain sensitive data. One way to accomplish that is to use a " +"swap file in a file system on a device mapped via LUKS encryption. In this way, the swap file is encrypted because the entire " +"device is encrypted. @xref{Preparing for Installation,,Disk Partitioning}, for an example." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:9352 +msgid "A RAID device formed of the partitions @file{/dev/sda1} and @file{/dev/sdb1} may be declared as follows:" +msgstr "" + +#. type: example +#: doc/guix.texi:9358 +#, no-wrap +msgid "" +"(mapped-device\n" +" (source (list \"/dev/sda1\" \"/dev/sdb1\"))\n" +" (target \"/dev/md0\")\n" +" (type raid-device-mapping))\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:9365 +msgid "" +"The @file{/dev/md0} device can then be used as the @code{device} of a @code{file-system} declaration (@pxref{File Systems}). Note " +"that the RAID level need not be given; it is chosen during the initial creation and formatting of the RAID device and is determined " +"automatically later." +msgstr "" + +#. type: cindex +#: doc/guix.texi:9370 +#, no-wrap +msgid "users" +msgstr "" + +#. type: cindex +#: doc/guix.texi:9371 +#, no-wrap +msgid "accounts" +msgstr "" + +#. type: cindex +#: doc/guix.texi:9372 +#, no-wrap +msgid "user accounts" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:9376 +msgid "" +"User accounts and groups are entirely managed through the @code{operating-system} declaration. They are specified with the " +"@code{user-account} and @code{user-group} forms:" +msgstr "" + +#. type: example +#: doc/guix.texi:9387 +#, no-wrap +msgid "" +"(user-account\n" +" (name \"alice\")\n" +" (group \"users\")\n" +" (supplementary-groups '(\"wheel\" ;allow use of sudo, etc.\n" +" \"audio\" ;sound card\n" +" \"video\" ;video devices such as webcams\n" +" \"cdrom\")) ;the good ol' CD-ROM\n" +" (comment \"Bob's sister\")\n" +" (home-directory \"/home/alice\"))\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:9396 +msgid "" +"When booting or upon completion of @command{guix system reconfigure}, the system ensures that only the user accounts and groups " +"specified in the @code{operating-system} declaration exist, and with the specified properties. Thus, account or group creations or " +"modifications made by directly invoking commands such as @command{useradd} are lost upon reconfiguration or reboot. This ensures " +"that the system remains exactly as declared." +msgstr "" + +#. type: deftp +#: doc/guix.texi:9397 +#, no-wrap +msgid "{Data Type} user-account" +msgstr "" + +#. type: deftp +#: doc/guix.texi:9400 +msgid "Objects of this type represent user accounts. The following members may be specified:" +msgstr "" + +#. type: table +#: doc/guix.texi:9404 +msgid "The name of the user account." +msgstr "" + +#. type: itemx +#: doc/guix.texi:9405 doc/guix.texi:19862 +#, no-wrap +msgid "group" +msgstr "" + +#. type: cindex +#: doc/guix.texi:9406 doc/guix.texi:9455 +#, no-wrap +msgid "groups" +msgstr "" + +#. type: table +#: doc/guix.texi:9409 +msgid "This is the name (a string) or identifier (a number) of the user group this account belongs to." +msgstr "" + +#. type: item +#: doc/guix.texi:9410 +#, no-wrap +msgid "@code{supplementary-groups} (default: @code{'()})" +msgstr "" + +#. type: table +#: doc/guix.texi:9413 +msgid "Optionally, this can be defined as a list of group names that this account belongs to." +msgstr "" + +#. type: item +#: doc/guix.texi:9414 +#, no-wrap +msgid "@code{uid} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:9418 +msgid "" +"This is the user ID for this account (a number), or @code{#f}. In the latter case, a number is automatically chosen by the system " +"when the account is created." +msgstr "" + +#. type: item +#: doc/guix.texi:9419 +#, no-wrap +msgid "@code{comment} (default: @code{\"\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:9421 +msgid "A comment about the account, such as the account owner's full name." +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:9422 +#, no-wrap +msgid "home-directory" +msgstr "" + +#. type: table +#: doc/guix.texi:9424 +msgid "This is the name of the home directory for the account." +msgstr "" + +#. type: item +#: doc/guix.texi:9425 +#, no-wrap +msgid "@code{create-home-directory?} (default: @code{#t})" +msgstr "" + +#. type: table +#: doc/guix.texi:9428 +msgid "Indicates whether the home directory of this account should be created if it does not exist yet." +msgstr "" + +#. type: item +#: doc/guix.texi:9429 +#, no-wrap +msgid "@code{shell} (default: Bash)" +msgstr "" + +#. type: table +#: doc/guix.texi:9432 +msgid "This is a G-expression denoting the file name of a program to be used as the shell (@pxref{G-Expressions})." +msgstr "" + +#. type: item +#: doc/guix.texi:9433 doc/guix.texi:9473 +#, no-wrap +msgid "@code{system?} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:9437 +msgid "" +"This Boolean value indicates whether the account is a ``system'' account. System accounts are sometimes treated specially; for " +"instance, graphical login managers do not list them." +msgstr "" + +#. type: anchor{#1} +#: doc/guix.texi:9439 +msgid "user-account-password" +msgstr "" + +#. type: item +#: doc/guix.texi:9439 doc/guix.texi:9477 +#, no-wrap +msgid "@code{password} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:9445 +msgid "" +"You would normally leave this field to @code{#f}, initialize user passwords as @code{root} with the @command{passwd} command, and " +"then let users change it with @command{passwd}. Passwords set with @command{passwd} are of course preserved across reboot and " +"reconfiguration." +msgstr "" + +#. type: table +#: doc/guix.texi:9451 +msgid "" +"If you @emph{do} want to have a preset password for an account, then this field must contain the encrypted password, as a string. " +"@xref{crypt,,, libc, The GNU C Library Reference Manual}, for more information on password encryption, and @ref{Encryption,,, guile, " +"GNU Guile Reference Manual}, for information on Guile's @code{crypt} procedure." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:9457 +msgid "User group declarations are even simpler:" +msgstr "" + +#. type: example +#: doc/guix.texi:9460 +#, no-wrap +msgid "(user-group (name \"students\"))\n" +msgstr "" + +#. type: deftp +#: doc/guix.texi:9462 +#, no-wrap +msgid "{Data Type} user-group" +msgstr "" + +#. type: deftp +#: doc/guix.texi:9464 +msgid "This type is for, well, user groups. There are just a few fields:" +msgstr "" + +#. type: table +#: doc/guix.texi:9468 +msgid "The name of the group." +msgstr "" + +#. type: item +#: doc/guix.texi:9469 +#, no-wrap +msgid "@code{id} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:9472 +msgid "The group identifier (a number). If @code{#f}, a new number is automatically allocated when the group is created." +msgstr "" + +#. type: table +#: doc/guix.texi:9476 +msgid "This Boolean value indicates whether the group is a ``system'' group. System groups have low numerical IDs." +msgstr "" + +#. type: table +#: doc/guix.texi:9480 +msgid "What, user groups can have a password? Well, apparently yes. Unless @code{#f}, this field specifies the password of the group." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:9486 +msgid "For convenience, a variable lists all the basic user groups one may expect:" +msgstr "" + +#. type: defvr +#: doc/guix.texi:9487 +#, no-wrap +msgid "{Scheme Variable} %base-groups" +msgstr "" + +#. type: defvr +#: doc/guix.texi:9492 +msgid "" +"This is the list of basic user groups that users and/or packages expect to be present on the system. This includes groups such as " +"``root'', ``wheel'', and ``users'', as well as groups used to control access to specific devices such as ``audio'', ``disk'', and " +"``cdrom''." +msgstr "" + +#. type: defvr +#: doc/guix.texi:9494 +#, no-wrap +msgid "{Scheme Variable} %base-user-accounts" +msgstr "" + +#. type: defvr +#: doc/guix.texi:9497 +msgid "" +"This is the list of basic system accounts that programs may expect to find on a GNU/Linux system, such as the ``nobody'' account." +msgstr "" + +#. type: defvr +#: doc/guix.texi:9500 +msgid "" +"Note that the ``root'' account is not included here. It is a special-case and is automatically added whether or not it is specified." +msgstr "" + +#. type: cindex +#: doc/guix.texi:9505 +#, no-wrap +msgid "locale" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:9512 +msgid "" +"A @dfn{locale} defines cultural conventions for a particular language and region of the world (@pxref{Locales,,, libc, The GNU C " +"Library Reference Manual}). Each locale has a name that typically has the form @code{@var{language}_@var{territory}." +"@var{codeset}}---e.g., @code{fr_LU.utf8} designates the locale for the French language, with cultural conventions from Luxembourg, " +"and using the UTF-8 encoding." +msgstr "" + +#. type: cindex +#: doc/guix.texi:9513 +#, no-wrap +msgid "locale definition" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:9517 +msgid "" +"Usually, you will want to specify the default locale for the machine using the @code{locale} field of the @code{operating-system} " +"declaration (@pxref{operating-system Reference, @code{locale}})." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:9526 +msgid "" +"The selected locale is automatically added to the @dfn{locale definitions} known to the system if needed, with its codeset inferred " +"from its name---e.g., @code{bo_CN.utf8} will be assumed to use the @code{UTF-8} codeset. Additional locale definitions can be " +"specified in the @code{locale-definitions} slot of @code{operating-system}---this is useful, for instance, if the codeset could not " +"be inferred from the locale name. The default set of locale definitions includes some widely used locales, but not all the " +"available locales, in order to save space." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:9529 +msgid "For instance, to add the North Frisian locale for Germany, the value of that field may be:" +msgstr "" + +#. type: example +#: doc/guix.texi:9534 +#, no-wrap +msgid "" +"(cons (locale-definition\n" +" (name \"fy_DE.utf8\") (source \"fy_DE\"))\n" +" %default-locale-definitions)\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:9538 +msgid "Likewise, to save space, one might want @code{locale-definitions} to list only the locales that are actually used, as in:" +msgstr "" + +#. type: example +#: doc/guix.texi:9543 +#, no-wrap +msgid "" +"(list (locale-definition\n" +" (name \"ja_JP.eucjp\") (source \"ja_JP\")\n" +" (charset \"EUC-JP\")))\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:9552 +msgid "" +"The compiled locale definitions are available at @file{/run/current-system/locale/X.Y}, where @code{X.Y} is the libc version, which " +"is the default location where the GNU@tie{}libc provided by Guix looks for locale data. This can be overridden using the " +"@code{LOCPATH} environment variable (@pxref{locales-and-locpath, @code{LOCPATH} and locale packages})." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:9555 +msgid "The @code{locale-definition} form is provided by the @code{(gnu system locale)} module. Details are given below." +msgstr "" + +#. type: deftp +#: doc/guix.texi:9556 +#, no-wrap +msgid "{Data Type} locale-definition" +msgstr "" + +#. type: deftp +#: doc/guix.texi:9558 +msgid "This is the data type of a locale definition." +msgstr "" + +#. type: table +#: doc/guix.texi:9564 +msgid "The name of the locale. @xref{Locale Names,,, libc, The GNU C Library Reference Manual}, for more information on locale names." +msgstr "" + +#. type: table +#: doc/guix.texi:9568 +msgid "The name of the source for that locale. This is typically the @code{@var{language}_@var{territory}} part of the locale name." +msgstr "" + +#. type: item +#: doc/guix.texi:9569 +#, no-wrap +msgid "@code{charset} (default: @code{\"UTF-8\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:9573 +msgid "" +"The ``character set'' or ``code set'' for that locale, @uref{http://www.iana.org/assignments/character-sets, as defined by IANA}." +msgstr "" + +#. type: defvr +#: doc/guix.texi:9577 +#, no-wrap +msgid "{Scheme Variable} %default-locale-definitions" +msgstr "" + +#. type: defvr +#: doc/guix.texi:9581 +msgid "" +"A list of commonly used UTF-8 locales, used as the default value of the @code{locale-definitions} field of @code{operating-system} " +"declarations." +msgstr "" + +#. type: cindex +#: doc/guix.texi:9582 +#, no-wrap +msgid "locale name" +msgstr "" + +#. type: cindex +#: doc/guix.texi:9583 +#, no-wrap +msgid "normalized codeset in locale names" +msgstr "" + +#. type: defvr +#: doc/guix.texi:9589 +msgid "" +"These locale definitions use the @dfn{normalized codeset} for the part that follows the dot in the name (@pxref{Using gettextized " +"software, normalized codeset,, libc, The GNU C Library Reference Manual}). So for instance it has @code{uk_UA.utf8} but @emph{not}, " +"say, @code{uk_UA.UTF-8}." +msgstr "" + +#. type: subsubsection +#: doc/guix.texi:9591 +#, no-wrap +msgid "Locale Data Compatibility Considerations" +msgstr "" + +#. type: cindex +#: doc/guix.texi:9593 +#, no-wrap +msgid "incompatibility, of locale data" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:9600 +msgid "" +"@code{operating-system} declarations provide a @code{locale-libcs} field to specify the GNU@tie{}libc packages that are used to " +"compile locale declarations (@pxref{operating-system Reference}). ``Why would I care?'', you may ask. Well, it turns out that the " +"binary format of locale data is occasionally incompatible from one libc version to another." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:9612 +msgid "" +"For instance, a program linked against libc version 2.21 is unable to read locale data produced with libc 2.22; worse, that program " +"@emph{aborts} instead of simply ignoring the incompatible locale data@footnote{Versions 2.23 and later of GNU@tie{}libc will simply " +"skip the incompatible locale data, which is already an improvement.}. Similarly, a program linked against libc 2.22 can read most, " +"but not all, of the locale data from libc 2.21 (specifically, @code{LC_COLLATE} data is incompatible); thus calls to " +"@code{setlocale} may fail, but programs will not abort." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:9617 +msgid "" +"The ``problem'' in GuixSD is that users have a lot of freedom: They can choose whether and when to upgrade software in their " +"profiles, and might be using a libc version different from the one the system administrator used to build the system-wide locale " +"data." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:9621 +msgid "" +"Fortunately, unprivileged users can also install their own locale data and define @var{GUIX_LOCPATH} accordingly (@pxref{locales-and-" +"locpath, @code{GUIX_LOCPATH} and locale packages})." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:9628 +msgid "" +"Still, it is best if the system-wide locale data at @file{/run/current-system/locale} is built for all the libc versions actually in " +"use on the system, so that all the programs can access it---this is especially crucial on a multi-user system. To do that, the " +"administrator can specify several libc packages in the @code{locale-libcs} field of @code{operating-system}:" +msgstr "" + +#. type: example +#: doc/guix.texi:9631 +#, no-wrap +msgid "" +"(use-package-modules base)\n" +"\n" +msgstr "" + +#. type: example +#: doc/guix.texi:9635 +#, no-wrap +msgid "" +"(operating-system\n" +" ;; @dots{}\n" +" (locale-libcs (list glibc-2.21 (canonical-package glibc))))\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:9640 +msgid "" +"This example would lead to a system containing locale definitions for both libc 2.21 and the current version of libc in @file{/run/" +"current-system/locale}." +msgstr "" + +#. type: cindex +#: doc/guix.texi:9645 +#, no-wrap +msgid "system services" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:9651 +msgid "" +"An important part of preparing an @code{operating-system} declaration is listing @dfn{system services} and their configuration " +"(@pxref{Using the Configuration System}). System services are typically daemons launched when the system boots, or other actions " +"needed at that time---e.g., configuring network access." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:9658 +msgid "" +"GuixSD has a broad definition of ``service'' (@pxref{Service Composition}), but many services are managed by the GNU@tie{}Shepherd " +"(@pxref{Shepherd Services}). On a running system, the @command{herd} command allows you to list the available services, show their " +"status, start and stop them, or do other specific operations (@pxref{Jump Start,,, shepherd, The GNU Shepherd Manual}). For example:" +msgstr "" + +#. type: example +#: doc/guix.texi:9661 +#, no-wrap +msgid "# herd status\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:9666 +msgid "" +"The above command, run as @code{root}, lists the currently defined services. The @command{herd doc} command shows a synopsis of the " +"given service:" +msgstr "" + +#. type: example +#: doc/guix.texi:9670 +#, no-wrap +msgid "" +"# herd doc nscd\n" +"Run libc's name service cache daemon (nscd).\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:9675 +msgid "" +"The @command{start}, @command{stop}, and @command{restart} sub-commands have the effect you would expect. For instance, the " +"commands below stop the nscd service and restart the Xorg display server:" +msgstr "" + +#. type: example +#: doc/guix.texi:9682 +#, no-wrap +msgid "" +"# herd stop nscd\n" +"Service nscd has been stopped.\n" +"# herd restart xorg-server\n" +"Service xorg-server has been stopped.\n" +"Service xorg-server has been started.\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:9687 +msgid "" +"The following sections document the available services, starting with the core services, that may be used in an @code{operating-" +"system} declaration." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:9722 +msgid "" +"The @code{(gnu services base)} module provides definitions for the basic services that one expects from the system. The services " +"exported by this module are listed below." +msgstr "" + +#. type: defvr +#: doc/guix.texi:9723 +#, no-wrap +msgid "{Scheme Variable} %base-services" +msgstr "" + +#. type: defvr +#: doc/guix.texi:9729 +msgid "" +"This variable contains a list of basic services (@pxref{Service Types and Services}, for more information on service objects) one " +"would expect from the system: a login service (mingetty) on each tty, syslogd, the libc name service cache daemon (nscd), the udev " +"device manager, and more." +msgstr "" + +#. type: defvr +#: doc/guix.texi:9734 +msgid "" +"This is the default value of the @code{services} field of @code{operating-system} declarations. Usually, when customizing a system, " +"you will want to append services to @var{%base-services}, like this:" +msgstr "" + +#. type: example +#: doc/guix.texi:9737 +#, no-wrap +msgid "(cons* (avahi-service) (lsh-service) %base-services)\n" +msgstr "" + +#. type: defvr +#: doc/guix.texi:9740 +#, no-wrap +msgid "{Scheme Variable} special-files-service-type" +msgstr "" + +#. type: defvr +#: doc/guix.texi:9743 +msgid "This is the service that sets up ``special files'' such as @file{/bin/sh}; an instance of it is part of @code{%base-services}." +msgstr "" + +#. type: defvr +#: doc/guix.texi:9747 +msgid "" +"The value associated with @code{special-files-service-type} services must be a list of tuples where the first element is the " +"``special file'' and the second element is its target. By default it is:" +msgstr "" + +#. type: file{#1} +#: doc/guix.texi:9748 +#, no-wrap +msgid "/bin/sh" +msgstr "" + +#. type: cindex +#: doc/guix.texi:9749 +#, no-wrap +msgid "@file{sh}, in @file{/bin}" +msgstr "" + +#. type: example +#: doc/guix.texi:9752 +#, no-wrap +msgid "`((\"/bin/sh\" ,(file-append @var{bash} \"/bin/sh\")))\n" +msgstr "" + +#. type: file{#1} +#: doc/guix.texi:9754 +#, no-wrap +msgid "/usr/bin/env" +msgstr "" + +#. type: cindex +#: doc/guix.texi:9755 +#, no-wrap +msgid "@file{env}, in @file{/usr/bin}" +msgstr "" + +#. type: defvr +#: doc/guix.texi:9758 +msgid "If you want to add, say, @code{/usr/bin/env} to your system, you can change it to:" +msgstr "" + +#. type: example +#: doc/guix.texi:9762 +#, no-wrap +msgid "" +"`((\"/bin/sh\" ,(file-append @var{bash} \"/bin/sh\"))\n" +" (\"/usr/bin/env\" ,(file-append @var{coreutils} \"/bin/env\")))\n" +msgstr "" + +#. type: defvr +#: doc/guix.texi:9769 +msgid "" +"Since this is part of @code{%base-services}, you can use @code{modify-services} to customize the set of special files " +"(@pxref{Service Reference, @code{modify-services}}). But the simple way to add a special file is @i{via} the @code{extra-special-" +"file} procedure (see below.)" +msgstr "" + +#. type: deffn +#: doc/guix.texi:9771 +#, no-wrap +msgid "{Scheme Procedure} extra-special-file @var{file} @var{target}" +msgstr "" + +#. type: deffn +#: doc/guix.texi:9773 +msgid "Use @var{target} as the ``special file'' @var{file}." +msgstr "" + +#. type: deffn +#: doc/guix.texi:9777 +msgid "" +"For example, adding the following lines to the @code{services} field of your operating system declaration leads to a @file{/usr/bin/" +"env} symlink:" +msgstr "" + +#. type: example +#: doc/guix.texi:9781 +#, no-wrap +msgid "" +"(extra-special-file \"/usr/bin/env\"\n" +" (file-append coreutils \"/bin/env\"))\n" +msgstr "" + +#. type: deffn +#: doc/guix.texi:9784 +#, no-wrap +msgid "{Scheme Procedure} host-name-service @var{name}" +msgstr "" + +#. type: deffn +#: doc/guix.texi:9786 +msgid "Return a service that sets the host name to @var{name}." +msgstr "" + +#. type: deffn +#: doc/guix.texi:9788 +#, no-wrap +msgid "{Scheme Procedure} login-service @var{config}" +msgstr "" + +#. type: deffn +#: doc/guix.texi:9792 +msgid "" +"Return a service to run login according to @var{config}, a @code{<login-configuration>} object, which specifies the message of the " +"day, among other things." +msgstr "" + +#. type: deftp +#: doc/guix.texi:9794 +#, no-wrap +msgid "{Data Type} login-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:9796 +msgid "This is the data type representing the configuration of login." +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:9799 +#, no-wrap +msgid "motd" +msgstr "" + +#. type: cindex +#: doc/guix.texi:9800 +#, no-wrap +msgid "message of the day" +msgstr "" + +#. type: table +#: doc/guix.texi:9802 +msgid "A file-like object containing the ``message of the day''." +msgstr "" + +#. type: item +#: doc/guix.texi:9803 doc/guix.texi:11420 +#, no-wrap +msgid "@code{allow-empty-passwords?} (default: @code{#t})" +msgstr "" + +#. type: table +#: doc/guix.texi:9806 +msgid "Allow empty passwords by default so that first-time users can log in when the 'root' account has just been created." +msgstr "" + +#. type: deffn +#: doc/guix.texi:9810 +#, no-wrap +msgid "{Scheme Procedure} mingetty-service @var{config}" +msgstr "" + +#. type: deffn +#: doc/guix.texi:9814 +msgid "" +"Return a service to run mingetty according to @var{config}, a @code{<mingetty-configuration>} object, which specifies the tty to " +"run, among other things." +msgstr "" + +#. type: deftp +#: doc/guix.texi:9816 +#, no-wrap +msgid "{Data Type} mingetty-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:9819 +msgid "" +"This is the data type representing the configuration of Mingetty, which provides the default implementation of virtual console log-" +"in." +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:9822 doc/guix.texi:9858 +#, no-wrap +msgid "tty" +msgstr "" + +#. type: table +#: doc/guix.texi:9824 +msgid "The name of the console this Mingetty runs on---e.g., @code{\"tty1\"}." +msgstr "" + +#. type: item +#: doc/guix.texi:9825 doc/guix.texi:9887 +#, no-wrap +msgid "@code{auto-login} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:9829 +msgid "" +"When true, this field must be a string denoting the user name under which the system automatically logs in. When it is @code{#f}, a " +"user name and password must be entered to log in." +msgstr "" + +#. type: item +#: doc/guix.texi:9830 +#, no-wrap +msgid "@code{login-program} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:9834 +msgid "" +"This must be either @code{#f}, in which case the default log-in program is used (@command{login} from the Shadow tool suite), or a " +"gexp denoting the name of the log-in program." +msgstr "" + +#. type: item +#: doc/guix.texi:9835 +#, no-wrap +msgid "@code{login-pause?} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:9838 +msgid "" +"When set to @code{#t} in conjunction with @var{auto-login}, the user will have to press a key before the log-in shell is launched." +msgstr "" + +#. type: item +#: doc/guix.texi:9839 +#, no-wrap +msgid "@code{mingetty} (default: @var{mingetty})" +msgstr "" + +#. type: table +#: doc/guix.texi:9841 +msgid "The Mingetty package to use." +msgstr "" + +#. type: deffn +#: doc/guix.texi:9845 +#, no-wrap +msgid "{Scheme Procedure} agetty-service @var{config}" +msgstr "" + +#. type: deffn +#: doc/guix.texi:9849 +msgid "" +"Return a service to run agetty according to @var{config}, an @code{<agetty-configuration>} object, which specifies the tty to run, " +"among other things." +msgstr "" + +#. type: deftp +#: doc/guix.texi:9851 +#, no-wrap +msgid "{Data Type} agetty-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:9855 +msgid "" +"This is the data type representing the configuration of agetty, which implements virtual and serial console log-in. See the " +"@code{agetty(8)} man page for more information." +msgstr "" + +#. type: table +#: doc/guix.texi:9862 +msgid "" +"The name of the console this agetty runs on, as a string---e.g., @code{\"ttyS0\"}. This argument is optional, it will default to a " +"reasonable default serial port used by the kernel Linux." +msgstr "" + +#. type: table +#: doc/guix.texi:9866 +msgid "" +"For this, if there is a value for an option @code{agetty.tty} in the kernel command line, agetty will extract the device name of the " +"serial port from it and use that." +msgstr "" + +#. type: table +#: doc/guix.texi:9870 +msgid "" +"If not and if there is a value for an option @code{console} with a tty in the Linux command line, agetty will extract the device " +"name of the serial port from it and use that." +msgstr "" + +#. type: table +#: doc/guix.texi:9874 +msgid "" +"In both cases, agetty will leave the other serial device settings (baud rate etc.) alone---in the hope that Linux pinned them to the " +"correct values." +msgstr "" + +#. type: item +#: doc/guix.texi:9875 +#, no-wrap +msgid "@code{baud-rate} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:9878 +msgid "A string containing a comma-separated list of one or more baud rates, in descending order." +msgstr "" + +#. type: item +#: doc/guix.texi:9879 +#, no-wrap +msgid "@code{term} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:9882 +msgid "A string containing the value used for the @code{TERM} environment variable." +msgstr "" + +#. type: item +#: doc/guix.texi:9883 +#, no-wrap +msgid "@code{eight-bits?} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:9886 +msgid "When @code{#t}, the tty is assumed to be 8-bit clean, and parity detection is disabled." +msgstr "" + +#. type: table +#: doc/guix.texi:9890 +msgid "" +"When passed a login name, as a string, the specified user will be logged in automatically without prompting for their login name or " +"password." +msgstr "" + +#. type: item +#: doc/guix.texi:9891 +#, no-wrap +msgid "@code{no-reset?} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:9893 +msgid "When @code{#t}, don't reset terminal cflags (control modes)." +msgstr "" + +#. type: item +#: doc/guix.texi:9894 +#, no-wrap +msgid "@code{host} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:9897 +msgid "This accepts a string containing the \"login_host\", which will be written into the @file{/var/run/utmpx} file." +msgstr "" + +#. type: item +#: doc/guix.texi:9898 +#, no-wrap +msgid "@code{remote?} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:9902 +msgid "" +"When set to @code{#t} in conjunction with @var{host}, this will add an @code{-r} fakehost option to the command line of the login " +"program specified in @var{login-program}." +msgstr "" + +#. type: item +#: doc/guix.texi:9903 +#, no-wrap +msgid "@code{flow-control?} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:9905 +msgid "When set to @code{#t}, enable hardware (RTS/CTS) flow control." +msgstr "" + +#. type: item +#: doc/guix.texi:9906 +#, no-wrap +msgid "@code{no-issue?} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:9909 +msgid "When set to @code{#t}, the contents of the @file{/etc/issue} file will not be displayed before presenting the login prompt." +msgstr "" + +#. type: item +#: doc/guix.texi:9910 +#, no-wrap +msgid "@code{init-string} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:9913 +msgid "" +"This accepts a string that will be sent to the tty or modem before sending anything else. It can be used to initialize a modem." +msgstr "" + +#. type: item +#: doc/guix.texi:9914 +#, no-wrap +msgid "@code{no-clear?} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:9917 +msgid "When set to @code{#t}, agetty will not clear the screen before showing the login prompt." +msgstr "" + +#. type: item +#: doc/guix.texi:9918 +#, no-wrap +msgid "@code{login-program} (default: (file-append shadow \"/bin/login\"))" +msgstr "" + +#. type: table +#: doc/guix.texi:9922 +msgid "" +"This must be either a gexp denoting the name of a log-in program, or unset, in which case the default value is the @command{login} " +"from the Shadow tool suite." +msgstr "" + +#. type: item +#: doc/guix.texi:9923 +#, no-wrap +msgid "@code{local-line} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:9927 +msgid "" +"Control the CLOCAL line flag. This accepts one of three symbols as arguments, @code{'auto}, @code{'always}, or @code{'never}. If " +"@code{#f}, the default value chosen by agetty is @code{'auto}." +msgstr "" + +#. type: item +#: doc/guix.texi:9928 +#, no-wrap +msgid "@code{extract-baud?} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:9931 +msgid "" +"When set to @code{#t}, instruct agetty to try to extract the baud rate from the status messages produced by certain types of modems." +msgstr "" + +#. type: item +#: doc/guix.texi:9932 +#, no-wrap +msgid "@code{skip-login?} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:9936 +msgid "" +"When set to @code{#t}, do not prompt the user for a login name. This can be used with @var{login-program} field to use non-standard " +"login systems." +msgstr "" + +#. type: item +#: doc/guix.texi:9937 +#, no-wrap +msgid "@code{no-newline?} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:9940 +msgid "When set to @code{#t}, do not print a newline before printing the @file{/etc/issue} file." +msgstr "" + +#. type: item +#: doc/guix.texi:9942 +#, no-wrap +msgid "@code{login-options} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:9947 +msgid "" +"This option accepts a string containing options that are passed to the login program. When used with the @var{login-program}, be " +"aware that a malicious user could try to enter a login name containing embedded options that could be parsed by the login program." +msgstr "" + +#. type: item +#: doc/guix.texi:9948 +#, no-wrap +msgid "@code{login-pause} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:9952 +msgid "" +"When set to @code{#t}, wait for any key before showing the login prompt. This can be used in conjunction with @var{auto-login} to " +"save memory by lazily spawning shells." +msgstr "" + +#. type: item +#: doc/guix.texi:9953 +#, no-wrap +msgid "@code{chroot} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:9956 +msgid "Change root to the specified directory. This option accepts a directory path as a string." +msgstr "" + +#. type: item +#: doc/guix.texi:9957 +#, no-wrap +msgid "@code{hangup?} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:9960 +msgid "Use the Linux system call @code{vhangup} to do a virtual hangup of the specified terminal." +msgstr "" + +#. type: item +#: doc/guix.texi:9961 +#, no-wrap +msgid "@code{keep-baud?} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:9965 +msgid "" +"When set to @code{#t}, try to keep the existing baud rate. The baud rates from @var{baud-rate} are used when agetty receives a " +"@key{BREAK} character." +msgstr "" + +#. type: item +#: doc/guix.texi:9966 +#, no-wrap +msgid "@code{timeout} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:9969 +msgid "When set to an integer value, terminate if no user name could be read within @var{timeout} seconds." +msgstr "" + +#. type: item +#: doc/guix.texi:9970 +#, no-wrap +msgid "@code{detect-case?} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:9976 +msgid "" +"When set to @code{#t}, turn on support for detecting an uppercase-only terminal. This setting will detect a login name containing " +"only uppercase letters as indicating an uppercase-only terminal and turn on some upper-to-lower case conversions. Note that this " +"will not support Unicode characters." +msgstr "" + +#. type: item +#: doc/guix.texi:9977 +#, no-wrap +msgid "@code{wait-cr?} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:9982 +msgid "" +"When set to @code{#t}, wait for the user or modem to send a carriage-return or linefeed character before displaying @file{/etc/" +"issue} or login prompt. This is typically used with the @var{init-string} option." +msgstr "" + +#. type: item +#: doc/guix.texi:9983 +#, no-wrap +msgid "@code{no-hints?} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:9986 +msgid "When set to @code{#t}, do not print hints about Num, Caps, and Scroll locks." +msgstr "" + +#. type: item +#: doc/guix.texi:9987 +#, no-wrap +msgid "@code{no-hostname?} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:9990 +msgid "By default, the hostname is printed. When this option is set to @code{#t}, no hostname will be shown at all." +msgstr "" + +#. type: item +#: doc/guix.texi:9991 +#, no-wrap +msgid "@code{long-hostname?} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:9995 +msgid "" +"By default, the hostname is only printed until the first dot. When this option is set to @code{#t}, the fully qualified hostname by " +"@code{gethostname} or @code{getaddrinfo} is shown." +msgstr "" + +#. type: item +#: doc/guix.texi:9996 +#, no-wrap +msgid "@code{erase-characters} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:9999 +msgid "" +"This option accepts a string of additional characters that should be interpreted as backspace when the user types their login name." +msgstr "" + +#. type: item +#: doc/guix.texi:10000 +#, no-wrap +msgid "@code{kill-characters} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:10004 +msgid "" +"This option accepts a string that should be interpreted to mean \"ignore all previous characters\" (also called a \"kill\" " +"character) when the types their login name." +msgstr "" + +#. type: item +#: doc/guix.texi:10005 +#, no-wrap +msgid "@code{chdir} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:10008 +msgid "This option accepts, as a string, a directory path that will be changed to before login." +msgstr "" + +#. type: item +#: doc/guix.texi:10009 +#, no-wrap +msgid "@code{delay} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:10012 +msgid "This options accepts, as an integer, the number of seconds to sleep before opening the tty and displaying the login prompt." +msgstr "" + +#. type: item +#: doc/guix.texi:10013 +#, no-wrap +msgid "@code{nice} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:10016 +msgid "This option accepts, as an integer, the nice value with which to run the @command{login} program." +msgstr "" + +#. type: item +#: doc/guix.texi:10017 doc/guix.texi:10217 +#, no-wrap +msgid "@code{extra-options} (default: @code{'()})" +msgstr "" + +#. type: table +#: doc/guix.texi:10020 +msgid "" +"This option provides an \"escape hatch\" for the user to provide arbitrary command-line arguments to @command{agetty} as a list of " +"strings." +msgstr "" + +#. type: deffn +#: doc/guix.texi:10024 +#, no-wrap +msgid "{Scheme Procedure} kmscon-service-type @var{config}" +msgstr "" + +#. type: deffn +#: doc/guix.texi:10028 +msgid "" +"Return a service to run @uref{https://www.freedesktop.org/wiki/Software/kmscon,kmscon} according to @var{config}, a @code{<kmscon-" +"configuration>} object, which specifies the tty to run, among other things." +msgstr "" + +#. type: deftp +#: doc/guix.texi:10030 +#, no-wrap +msgid "{Data Type} kmscon-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:10033 +msgid "This is the data type representing the configuration of Kmscon, which implements virtual console log-in." +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:10036 +#, no-wrap +msgid "virtual-terminal" +msgstr "" + +#. type: table +#: doc/guix.texi:10038 +msgid "The name of the console this Kmscon runs on---e.g., @code{\"tty1\"}." +msgstr "" + +#. type: item +#: doc/guix.texi:10039 +#, no-wrap +msgid "@code{login-program} (default: @code{#~(string-append #$shadow \"/bin/login\")})" +msgstr "" + +#. type: table +#: doc/guix.texi:10042 +msgid "A gexp denoting the name of the log-in program. The default log-in program is @command{login} from the Shadow tool suite." +msgstr "" + +#. type: item +#: doc/guix.texi:10043 +#, no-wrap +msgid "@code{login-arguments} (default: @code{'(\"-p\")})" +msgstr "" + +#. type: table +#: doc/guix.texi:10045 +msgid "A list of arguments to pass to @command{login}." +msgstr "" + +#. type: item +#: doc/guix.texi:10046 +#, no-wrap +msgid "@code{hardware-acceleration?} (default: #f)" +msgstr "" + +#. type: table +#: doc/guix.texi:10048 +msgid "Whether to use hardware acceleration." +msgstr "" + +#. type: item +#: doc/guix.texi:10049 +#, no-wrap +msgid "@code{kmscon} (default: @var{kmscon})" +msgstr "" + +#. type: table +#: doc/guix.texi:10051 +msgid "The Kmscon package to use." +msgstr "" + +#. type: cindex +#: doc/guix.texi:10055 +#, no-wrap +msgid "name service cache daemon" +msgstr "" + +#. type: cindex +#: doc/guix.texi:10056 +#, no-wrap +msgid "nscd" +msgstr "" + +#. type: deffn +#: doc/guix.texi:10057 +#, no-wrap +msgid "{Scheme Procedure} nscd-service [@var{config}] [#:glibc glibc] @" +msgstr "" + +#. type: deffn +#: doc/guix.texi:10062 +msgid "" +"[#:name-services '()] Return a service that runs the libc name service cache daemon (nscd) with the given @var{config}---an " +"@code{<nscd-configuration>} object. @xref{Name Service Switch}, for an example." +msgstr "" + +#. type: defvr +#: doc/guix.texi:10064 +#, no-wrap +msgid "{Scheme Variable} %nscd-default-configuration" +msgstr "" + +#. type: defvr +#: doc/guix.texi:10068 +msgid "" +"This is the default @code{<nscd-configuration>} value (see below) used by @code{nscd-service}. It uses the caches defined by " +"@var{%nscd-default-caches}; see below." +msgstr "" + +#. type: deftp +#: doc/guix.texi:10070 +#, no-wrap +msgid "{Data Type} nscd-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:10073 +msgid "This is the data type representing the name service cache daemon (nscd) configuration." +msgstr "" + +#. type: item +#: doc/guix.texi:10076 +#, no-wrap +msgid "@code{name-services} (default: @code{'()})" +msgstr "" + +#. type: table +#: doc/guix.texi:10079 +msgid "List of packages denoting @dfn{name services} that must be visible to the nscd---e.g., @code{(list @var{nss-mdns})}." +msgstr "" + +#. type: item +#: doc/guix.texi:10080 +#, no-wrap +msgid "@code{glibc} (default: @var{glibc})" +msgstr "" + +#. type: table +#: doc/guix.texi:10083 +msgid "Package object denoting the GNU C Library providing the @command{nscd} command." +msgstr "" + +#. type: item +#: doc/guix.texi:10084 +#, no-wrap +msgid "@code{log-file} (default: @code{\"/var/log/nscd.log\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:10087 +msgid "Name of the nscd log file. This is where debugging output goes when @code{debug-level} is strictly positive." +msgstr "" + +#. type: item +#: doc/guix.texi:10088 +#, no-wrap +msgid "@code{debug-level} (default: @code{0})" +msgstr "" + +#. type: table +#: doc/guix.texi:10091 +msgid "Integer denoting the debugging levels. Higher numbers mean that more debugging output is logged." +msgstr "" + +#. type: item +#: doc/guix.texi:10092 +#, no-wrap +msgid "@code{caches} (default: @var{%nscd-default-caches})" +msgstr "" + +#. type: table +#: doc/guix.texi:10095 +msgid "List of @code{<nscd-cache>} objects denoting things to be cached; see below." +msgstr "" + +#. type: deftp +#: doc/guix.texi:10099 +#, no-wrap +msgid "{Data Type} nscd-cache" +msgstr "" + +#. type: deftp +#: doc/guix.texi:10101 +msgid "Data type representing a cache database of nscd and its parameters." +msgstr "" + +#. type: cindex +#: doc/guix.texi:10104 doc/guix.texi:12761 +#, no-wrap +msgid "database" +msgstr "" + +#. type: table +#: doc/guix.texi:10109 +msgid "" +"This is a symbol representing the name of the database to be cached. Valid values are @code{passwd}, @code{group}, @code{hosts}, " +"and @code{services}, which designate the corresponding NSS database (@pxref{NSS Basics,,, libc, The GNU C Library Reference Manual})." +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:10110 +#, no-wrap +msgid "positive-time-to-live" +msgstr "" + +#. type: itemx +#: doc/guix.texi:10111 +#, no-wrap +msgid "@code{negative-time-to-live} (default: @code{20})" +msgstr "" + +#. type: table +#: doc/guix.texi:10114 +msgid "A number representing the number of seconds during which a positive or negative lookup result remains in cache." +msgstr "" + +#. type: item +#: doc/guix.texi:10115 +#, no-wrap +msgid "@code{check-files?} (default: @code{#t})" +msgstr "" + +#. type: table +#: doc/guix.texi:10118 +msgid "Whether to check for updates of the files corresponding to @var{database}." +msgstr "" + +#. type: table +#: doc/guix.texi:10122 +msgid "" +"For instance, when @var{database} is @code{hosts}, setting this flag instructs nscd to check for updates in @file{/etc/hosts} and to " +"take them into account." +msgstr "" + +#. type: item +#: doc/guix.texi:10123 +#, no-wrap +msgid "@code{persistent?} (default: @code{#t})" +msgstr "" + +#. type: table +#: doc/guix.texi:10125 +msgid "Whether the cache should be stored persistently on disk." +msgstr "" + +#. type: item +#: doc/guix.texi:10126 +#, no-wrap +msgid "@code{shared?} (default: @code{#t})" +msgstr "" + +#. type: table +#: doc/guix.texi:10128 +msgid "Whether the cache should be shared among users." +msgstr "" + +#. type: item +#: doc/guix.texi:10129 +#, no-wrap +msgid "@code{max-database-size} (default: 32@tie{}MiB)" +msgstr "" + +#. type: table +#: doc/guix.texi:10131 +msgid "Maximum size in bytes of the database cache." +msgstr "" + +#. type: defvr +#: doc/guix.texi:10138 +#, no-wrap +msgid "{Scheme Variable} %nscd-default-caches" +msgstr "" + +#. type: defvr +#: doc/guix.texi:10141 +msgid "List of @code{<nscd-cache>} objects used by default by @code{nscd-configuration} (see above)." +msgstr "" + +#. type: defvr +#: doc/guix.texi:10147 +msgid "" +"It enables persistent and aggressive caching of service and host name lookups. The latter provides better host name lookup " +"performance, resilience in the face of unreliable name servers, and also better privacy---often the result of host name lookups is " +"in local cache, so external name servers do not even need to be queried." +msgstr "" + +#. type: anchor{#1} +#: doc/guix.texi:10150 +msgid "syslog-configuration-type" +msgstr "" + +#. type: cindex +#: doc/guix.texi:10150 doc/guix.texi:10166 +#, no-wrap +msgid "syslog" +msgstr "" + +#. type: cindex +#: doc/guix.texi:10151 doc/guix.texi:10584 +#, no-wrap +msgid "logging" +msgstr "" + +#. type: deftp +#: doc/guix.texi:10152 +#, no-wrap +msgid "{Data Type} syslog-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:10154 +msgid "This data type represents the configuration of the syslog daemon." +msgstr "" + +#. type: item +#: doc/guix.texi:10156 +#, no-wrap +msgid "@code{syslogd} (default: @code{#~(string-append #$inetutils \"/libexec/syslogd\")})" +msgstr "" + +#. type: table +#: doc/guix.texi:10158 +msgid "The syslog daemon to use." +msgstr "" + +#. type: item +#: doc/guix.texi:10159 +#, no-wrap +msgid "@code{config-file} (default: @code{%default-syslog.conf})" +msgstr "" + +#. type: table +#: doc/guix.texi:10161 +msgid "The syslog configuration file to use." +msgstr "" + +#. type: anchor{#1} +#: doc/guix.texi:10166 +msgid "syslog-service" +msgstr "" + +#. type: deffn +#: doc/guix.texi:10167 +#, no-wrap +msgid "{Scheme Procedure} syslog-service @var{config}" +msgstr "" + +#. type: deffn +#: doc/guix.texi:10169 +msgid "Return a service that runs a syslog daemon according to @var{config}." +msgstr "" + +#. type: deffn +#: doc/guix.texi:10172 +msgid "@xref{syslogd invocation,,, inetutils, GNU Inetutils}, for more information on the configuration file syntax." +msgstr "" + +#. type: anchor{#1} +#: doc/guix.texi:10175 +msgid "guix-configuration-type" +msgstr "" + +#. type: deftp +#: doc/guix.texi:10175 +#, no-wrap +msgid "{Data Type} guix-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:10178 +msgid "This data type represents the configuration of the Guix build daemon. @xref{Invoking guix-daemon}, for more information." +msgstr "" + +#. type: item +#: doc/guix.texi:10180 +#, no-wrap +msgid "@code{guix} (default: @var{guix})" +msgstr "" + +#. type: table +#: doc/guix.texi:10182 doc/guix.texi:10410 +msgid "The Guix package to use." +msgstr "" + +#. type: item +#: doc/guix.texi:10183 +#, no-wrap +msgid "@code{build-group} (default: @code{\"guixbuild\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:10185 +msgid "Name of the group for build user accounts." +msgstr "" + +#. type: item +#: doc/guix.texi:10186 +#, no-wrap +msgid "@code{build-accounts} (default: @code{10})" +msgstr "" + +#. type: table +#: doc/guix.texi:10188 +msgid "Number of build user accounts to create." +msgstr "" + +#. type: item +#: doc/guix.texi:10189 +#, no-wrap +msgid "@code{authorize-key?} (default: @code{#t})" +msgstr "" + +#. type: table +#: doc/guix.texi:10194 +msgid "" +"Whether to authorize the substitute keys listed in @code{authorized-keys}---by default that of @code{hydra.gnu.org} " +"(@pxref{Substitutes})." +msgstr "" +"Autoriser ou non les clefs de substituts listées dans @code{authorize-keys} — par défaut celle de @code{hydra.gny.org} " +"(@pxref{Substituts})." + +#. type: vindex +#: doc/guix.texi:10195 +#, no-wrap +msgid "%default-authorized-guix-keys" +msgstr "" + +#. type: item +#: doc/guix.texi:10196 +#, no-wrap +msgid "@code{authorized-keys} (default: @var{%default-authorized-guix-keys})" +msgstr "" + +#. type: table +#: doc/guix.texi:10200 +msgid "" +"The list of authorized key files for archive imports, as a list of string-valued gexps (@pxref{Invoking guix archive}). By default, " +"it contains that of @code{hydra.gnu.org} (@pxref{Substitutes})." +msgstr "" +"La liste des fichiers de clefs autorisées pour les imports d'archives, en tant que liste de gexps sous forme de chaînes " +"(@pxref{Invoking guix archive}). Par défaut, elle contient celle de @code{hydra.gnu.org} (@pxref{Substituts})." + +#. type: item +#: doc/guix.texi:10201 +#, no-wrap +msgid "@code{use-substitutes?} (default: @code{#t})" +msgstr "" + +#. type: table +#: doc/guix.texi:10203 +msgid "Whether to use substitutes." +msgstr "" + +#. type: item +#: doc/guix.texi:10204 +#, no-wrap +msgid "@code{substitute-urls} (default: @var{%default-substitute-urls})" +msgstr "" + +#. type: table +#: doc/guix.texi:10206 +msgid "The list of URLs where to look for substitutes by default." +msgstr "" + +#. type: item +#: doc/guix.texi:10207 +#, no-wrap +msgid "@code{max-silent-time} (default: @code{0})" +msgstr "" + +#. type: itemx +#: doc/guix.texi:10208 +#, no-wrap +msgid "@code{timeout} (default: @code{0})" +msgstr "" + +#. type: table +#: doc/guix.texi:10212 +msgid "" +"The number of seconds of silence and the number of seconds of activity, respectively, after which a build process times out. A " +"value of zero disables the timeout." +msgstr "" + +#. type: item +#: doc/guix.texi:10213 +#, no-wrap +msgid "@code{log-compression} (default: @code{'bzip2})" +msgstr "" + +#. type: table +#: doc/guix.texi:10216 +msgid "The type of compression used for build logs---one of @code{gzip}, @code{bzip2}, or @code{none}." +msgstr "" + +#. type: table +#: doc/guix.texi:10219 +msgid "List of extra command-line options for @command{guix-daemon}." +msgstr "" + +#. type: item +#: doc/guix.texi:10220 +#, no-wrap +msgid "@code{log-file} (default: @code{\"/var/log/guix-daemon.log\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:10223 +msgid "File where @command{guix-daemon}'s standard output and standard error are written." +msgstr "" + +#. type: item +#: doc/guix.texi:10224 +#, no-wrap +msgid "@code{http-proxy} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:10227 +msgid "The HTTP proxy used for downloading fixed-output derivations and substitutes." +msgstr "" + +#. type: item +#: doc/guix.texi:10228 +#, no-wrap +msgid "@code{tmpdir} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:10230 +msgid "A directory path where the @command{guix-daemon} will perform builds." +msgstr "" + +#. type: deffn +#: doc/guix.texi:10234 +#, no-wrap +msgid "{Scheme Procedure} guix-service @var{config}" +msgstr "" + +#. type: deffn +#: doc/guix.texi:10237 +msgid "Return a service that runs the Guix build daemon according to @var{config}." +msgstr "" + +#. type: deffn +#: doc/guix.texi:10239 +#, no-wrap +msgid "{Scheme Procedure} udev-service [#:udev @var{eudev} #:rules @code{'()}]" +msgstr "" + +#. type: deffn +#: doc/guix.texi:10244 +msgid "" +"Run @var{udev}, which populates the @file{/dev} directory dynamically. udev rules can be provided as a list of files through the " +"@var{rules} variable. The procedures @var{udev-rule} and @var{file->udev-rule} from @code{(gnu services base)} simplify the " +"creation of such rule files." +msgstr "" + +#. type: deffn +#: doc/guix.texi:10245 +#, no-wrap +msgid "{Scheme Procedure} udev-rule [@var{file-name} @var{contents}]" +msgstr "" + +#. type: deffn +#: doc/guix.texi:10248 +msgid "Return a udev-rule file named @var{file-name} containing the rules defined by the @var{contents} literal." +msgstr "" + +#. type: deffn +#: doc/guix.texi:10252 +msgid "" +"In the following example, a rule for a USB device is defined to be stored in the file @file{90-usb-thing.rules}. The rule runs a " +"script upon detecting a USB device with a given product identifier." +msgstr "" + +#. type: example +#: doc/guix.texi:10260 +#, no-wrap +msgid "" +"(define %example-udev-rule\n" +" (udev-rule\n" +" \"90-usb-thing.rules\"\n" +" (string-append \"ACTION==\\\"add\\\", SUBSYSTEM==\\\"usb\\\", \"\n" +" \"ATTR@{product@}==\\\"Example\\\", \"\n" +" \"RUN+=\\\"/path/to/script\\\"\")))\n" +msgstr "" + +#. type: deffn +#: doc/guix.texi:10264 +msgid "Here we show how the default @var{udev-service} can be extended with it." +msgstr "" + +#. type: example +#: doc/guix.texi:10274 +#, no-wrap +msgid "" +"(operating-system\n" +" ;; @dots{}\n" +" (services\n" +" (modify-services %desktop-services\n" +" (udev-service-type config =>\n" +" (udev-configuration (inherit config)\n" +" (rules (append (udev-configuration-rules config)\n" +" (list %example-udev-rule))))))))\n" +msgstr "" + +#. type: deffn +#: doc/guix.texi:10276 +#, no-wrap +msgid "{Scheme Procedure} file->udev-rule [@var{file-name} @var{file}]" +msgstr "" + +#. type: deffn +#: doc/guix.texi:10279 +msgid "Return a udev file named @var{file-name} containing the rules defined within @var{file}, a file-like object." +msgstr "" + +#. type: deffn +#: doc/guix.texi:10281 +msgid "The following example showcases how we can use an existing rule file." +msgstr "" + +#. type: example +#: doc/guix.texi:10286 +#, no-wrap +msgid "" +"(use-modules (guix download) ;for url-fetch\n" +" (guix packages) ;for origin\n" +" ;; @dots{})\n" +"\n" +msgstr "" + +#. type: example +#: doc/guix.texi:10297 +#, no-wrap +msgid "" +"(define %android-udev-rules\n" +" (file->udev-rule\n" +" \"51-android-udev.rules\"\n" +" (let ((version \"20170910\"))\n" +" (origin\n" +" (method url-fetch)\n" +" (uri (string-append \"https://raw.githubusercontent.com/M0Rf30/\"\n" +" \"android-udev-rules/\" version \"/51-android.rules\"))\n" +" (sha256\n" +" (base32 \"0lmmagpyb6xsq6zcr2w1cyx9qmjqmajkvrdbhjx32gqf1d9is003\"))))))\n" +msgstr "" + +#. type: deffn +#: doc/guix.texi:10306 +msgid "" +"Additionally, Guix package definitions can be included in @var{rules} in order to extend the udev rules with the definitions found " +"under their @file{lib/udev/rules.d} sub-directory. In lieu of the previous @var{file->udev-rule} example, we could have used the " +"@var{android-udev-rules} package which exists in Guix in the @code{(gnu packages android)} module." +msgstr "" + +#. type: deffn +#: doc/guix.texi:10315 +msgid "" +"The following example shows how to use the @var{android-udev-rules} package so that the Android tool @command{adb} can detect " +"devices without root privileges. It also details how to create the @code{adbusers} group, which is required for the proper " +"functioning of the rules defined within the @var{android-udev-rules} package. To create such a group, we must define it both as " +"part of the @var{supplementary-groups} of our @var{user-account} declaration, as well as in the @var{groups} field of the " +"@var{operating-system} record." +msgstr "" + +#. type: example +#: doc/guix.texi:10320 +#, no-wrap +msgid "" +"(use-modules (gnu packages android) ;for android-udev-rules\n" +" (gnu system shadow) ;for user-group\n" +" ;; @dots{})\n" +"\n" +msgstr "" + +#. type: example +#: doc/guix.texi:10329 +#, no-wrap +msgid "" +"(operating-system\n" +" ;; @dots{}\n" +" (users (cons (user-acount\n" +" ;; @dots{}\n" +" (supplementary-groups\n" +" '(\"adbusers\" ;for adb\n" +" \"wheel\" \"netdev\" \"audio\" \"video\"))\n" +" ;; @dots{})))\n" +"\n" +msgstr "" + +#. type: example +#: doc/guix.texi:10332 +#, no-wrap +msgid "" +" (groups (cons (user-group (system? #t) (name \"adbusers\"))\n" +" %base-groups))\n" +"\n" +msgstr "" + +#. type: example +#: doc/guix.texi:10334 +#, no-wrap +msgid "" +" ;; @dots{}\n" +"\n" +msgstr "" + +#. type: example +#: doc/guix.texi:10341 +#, no-wrap +msgid "" +" (services\n" +" (modify-services %desktop-services\n" +" (udev-service-type config =>\n" +" (udev-configuration (inherit config)\n" +" (rules (cons* android-udev-rules\n" +" (udev-configuration-rules config))))))))\n" +msgstr "" + +#. type: defvr +#: doc/guix.texi:10344 +#, no-wrap +msgid "{Scheme Variable} urandom-seed-service-type" +msgstr "" + +#. type: defvr +#: doc/guix.texi:10349 +msgid "" +"Save some entropy in @var{%random-seed-file} to seed @file{/dev/urandom} when rebooting. It also tries to seed @file{/dev/urandom} " +"from @file{/dev/hwrng} while booting, if @file{/dev/hwrng} exists and is readable." +msgstr "" + +#. type: defvr +#: doc/guix.texi:10351 +#, no-wrap +msgid "{Scheme Variable} %random-seed-file" +msgstr "" + +#. type: defvr +#: doc/guix.texi:10355 +msgid "" +"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}." +msgstr "" + +#. type: cindex +#: doc/guix.texi:10357 +#, no-wrap +msgid "keymap" +msgstr "" + +#. type: cindex +#: doc/guix.texi:10358 +#, no-wrap +msgid "keyboard" +msgstr "" + +#. type: deffn +#: doc/guix.texi:10359 +#, no-wrap +msgid "{Scheme Procedure} console-keymap-service @var{files} ..." +msgstr "" + +#. type: deffn +#: doc/guix.texi:10364 +msgid "" +"Return a service to load console keymaps from @var{files} using @command{loadkeys} command. Most likely, you want to load some " +"default keymap, which can be done like this:" +msgstr "" + +#. type: example +#: doc/guix.texi:10367 +#, no-wrap +msgid "(console-keymap-service \"dvorak\")\n" +msgstr "" + +#. type: deffn +#: doc/guix.texi:10371 +msgid "Or, for example, for a Swedish keyboard, you may need to combine the following keymaps:" +msgstr "" + +#. type: example +#: doc/guix.texi:10373 +#, no-wrap +msgid "(console-keymap-service \"se-lat6\" \"se-fi-lat6\")\n" +msgstr "" + +#. type: deffn +#: doc/guix.texi:10377 +msgid "Also you can specify a full file name (or file names) of your keymap(s). See @code{man loadkeys} for details." +msgstr "" + +#. type: cindex +#: doc/guix.texi:10380 +#, no-wrap +msgid "mouse" +msgstr "" + +#. type: cindex +#: doc/guix.texi:10381 +#, no-wrap +msgid "gpm" +msgstr "" + +#. type: deffn +#: doc/guix.texi:10382 +#, no-wrap +msgid "{Scheme Procedure} gpm-service [#:gpm @var{gpm}] @" +msgstr "" + +#. type: deffn +#: doc/guix.texi:10388 +msgid "" +"[#:options] Run @var{gpm}, the general-purpose mouse daemon, with the given command-line @var{options}. GPM allows users to use the " +"mouse in the console, notably to select, copy, and paste text. The default value of @var{options} uses the @code{ps2} protocol, " +"which works for both USB and PS/2 mice." +msgstr "" + +#. type: deffn +#: doc/guix.texi:10390 +msgid "This service is not part of @var{%base-services}." +msgstr "" + +#. type: anchor{#1} +#: doc/guix.texi:10393 +msgid "guix-publish-service-type" +msgstr "" + +#. type: deffn +#: doc/guix.texi:10393 +#, no-wrap +msgid "{Scheme Variable} guix-publish-service-type" +msgstr "" + +#. type: deffn +#: doc/guix.texi:10397 +msgid "" +"This is the service type for @command{guix publish} (@pxref{Invoking guix publish}). Its value must be a @code{guix-configuration} " +"object, as described below." +msgstr "" + +#. type: deffn +#: doc/guix.texi:10401 +msgid "" +"This assumes that @file{/etc/guix} already contains a signing key pair as created by @command{guix archive --generate-key} " +"(@pxref{Invoking guix archive}). If that is not the case, the service will fail to start." +msgstr "" + +#. type: deftp +#: doc/guix.texi:10403 +#, no-wrap +msgid "{Data Type} guix-publish-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:10406 +msgid "Data type representing the configuration of the @code{guix publish} service." +msgstr "" + +#. type: item +#: doc/guix.texi:10408 +#, no-wrap +msgid "@code{guix} (default: @code{guix})" +msgstr "" + +#. type: item +#: doc/guix.texi:10411 +#, no-wrap +msgid "@code{port} (default: @code{80})" +msgstr "" + +#. type: table +#: doc/guix.texi:10413 +msgid "The TCP port to listen for connections." +msgstr "" + +#. type: item +#: doc/guix.texi:10414 +#, no-wrap +msgid "@code{host} (default: @code{\"localhost\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:10417 +msgid "The host (and thus, network interface) to listen to. Use @code{\"0.0.0.0\"} to listen on all the network interfaces." +msgstr "" + +#. type: table +#: doc/guix.texi:10422 +msgid "" +"The gzip compression level at which substitutes are compressed. Use @code{0} to disable compression altogether, and @code{9} to get " +"the best compression ratio at the expense of increased CPU usage." +msgstr "" + +#. type: item +#: doc/guix.texi:10423 +#, no-wrap +msgid "@code{nar-path} (default: @code{\"nar\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:10426 +msgid "The URL path at which ``nars'' can be fetched. @xref{Invoking guix publish, @code{--nar-path}}, for details." +msgstr "" + +#. type: item +#: doc/guix.texi:10427 +#, no-wrap +msgid "@code{cache} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:10433 +msgid "" +"When it is @code{#f}, disable caching and instead generate archives on demand. Otherwise, this should be the name of a directory---" +"e.g., @code{\"/var/cache/guix/publish\"}---where @command{guix publish} caches archives and meta-data ready to be sent. " +"@xref{Invoking guix publish, @option{--cache}}, for more information on the tradeoffs involved." +msgstr "" + +#. type: item +#: doc/guix.texi:10434 +#, no-wrap +msgid "@code{workers} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:10438 +msgid "" +"When it is an integer, this is the number of worker threads used for caching; when @code{#f}, the number of processors is used. " +"@xref{Invoking guix publish, @option{--workers}}, for more information." +msgstr "" + +#. type: item +#: doc/guix.texi:10439 +#, no-wrap +msgid "@code{ttl} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:10443 +msgid "" +"When it is an integer, this denotes the @dfn{time-to-live} in seconds of the published archives. @xref{Invoking guix publish, " +"@option{--ttl}}, for more information." +msgstr "" + +#. type: anchor{#1} +#: doc/guix.texi:10447 +msgid "rngd-service" +msgstr "" + +#. type: deffn +#: doc/guix.texi:10447 +#, no-wrap +msgid "{Scheme Procedure} rngd-service [#:rng-tools @var{rng-tools}] @" +msgstr "" + +#. type: deffn +#: doc/guix.texi:10452 +msgid "" +"[#:device \"/dev/hwrng\"] Return a service that runs the @command{rngd} program from @var{rng-tools} to add @var{device} to the " +"kernel's entropy pool. The service will fail if @var{device} does not exist." +msgstr "" + +#. type: anchor{#1} +#: doc/guix.texi:10455 +msgid "pam-limits-service" +msgstr "" + +#. type: cindex +#: doc/guix.texi:10455 +#, no-wrap +msgid "session limits" +msgstr "" + +#. type: cindex +#: doc/guix.texi:10456 +#, no-wrap +msgid "ulimit" +msgstr "" + +#. type: cindex +#: doc/guix.texi:10457 +#, no-wrap +msgid "priority" +msgstr "" + +#. type: cindex +#: doc/guix.texi:10458 +#, no-wrap +msgid "realtime" +msgstr "" + +#. type: cindex +#: doc/guix.texi:10459 +#, no-wrap +msgid "jackd" +msgstr "" + +#. type: deffn +#: doc/guix.texi:10460 +#, no-wrap +msgid "{Scheme Procedure} pam-limits-service [#:limits @code{'()}]" +msgstr "" + +#. type: deffn +#: doc/guix.texi:10467 +msgid "" +"Return a service that installs a configuration file for the @uref{http://linux-pam.org/Linux-PAM-html/sag-pam_limits.html, " +"@code{pam_limits} module}. The procedure optionally takes a list of @code{pam-limits-entry} values, which can be used to specify " +"@code{ulimit} limits and nice priority limits to user sessions." +msgstr "" + +#. type: deffn +#: doc/guix.texi:10470 +msgid "The following limits definition sets two hard and soft limits for all login sessions of users in the @code{realtime} group:" +msgstr "" + +#. type: example +#: doc/guix.texi:10476 +#, no-wrap +msgid "" +"(pam-limits-service\n" +" (list\n" +" (pam-limits-entry \"@@realtime\" 'both 'rtprio 99)\n" +" (pam-limits-entry \"@@realtime\" 'both 'memlock 'unlimited)))\n" +msgstr "" + +#. type: deffn +#: doc/guix.texi:10482 +msgid "" +"The first entry increases the maximum realtime priority for non-privileged processes; the second entry lifts any restriction of the " +"maximum address space that can be locked in memory. These settings are commonly used for real-time audio systems." +msgstr "" + +#. type: cindex +#: doc/guix.texi:10487 +#, no-wrap +msgid "cron" +msgstr "" + +#. type: cindex +#: doc/guix.texi:10488 +#, no-wrap +msgid "mcron" +msgstr "" + +#. type: cindex +#: doc/guix.texi:10489 +#, no-wrap +msgid "scheduling jobs" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:10496 +msgid "" +"The @code{(gnu services mcron)} module provides an interface to GNU@tie{}mcron, a daemon to run jobs at scheduled times " +"(@pxref{Top,,, mcron, GNU@tie{}mcron}). GNU@tie{}mcron is similar to the traditional Unix @command{cron} daemon; the main " +"difference is that it is implemented in Guile Scheme, which provides a lot of flexibility when specifying the scheduling of jobs and " +"their actions." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:10504 +msgid "" +"The example below defines an operating system that runs the @command{updatedb} (@pxref{Invoking updatedb,,, find, Finding Files}) " +"and the @command{guix gc} commands (@pxref{Invoking guix gc}) daily, as well as the @command{mkid} command on behalf of an " +"unprivileged user (@pxref{mkid invocation,,, idutils, ID Database Utilities}). It uses gexps to introduce job definitions that are " +"passed to mcron (@pxref{G-Expressions})." +msgstr "" + +#. type: lisp +#: doc/guix.texi:10508 +#, no-wrap +msgid "" +"(use-modules (guix) (gnu) (gnu services mcron))\n" +"(use-package-modules base idutils)\n" +"\n" +msgstr "" + +#. type: lisp +#: doc/guix.texi:10517 +#, no-wrap +msgid "" +"(define updatedb-job\n" +" ;; Run 'updatedb' at 3AM every day. Here we write the\n" +" ;; job's action as a Scheme procedure.\n" +" #~(job '(next-hour '(3))\n" +" (lambda ()\n" +" (execl (string-append #$findutils \"/bin/updatedb\")\n" +" \"updatedb\"\n" +" \"--prunepaths=/tmp /var/tmp /gnu/store\"))))\n" +"\n" +msgstr "" + +#. type: lisp +#: doc/guix.texi:10523 +#, no-wrap +msgid "" +"(define garbage-collector-job\n" +" ;; Collect garbage 5 minutes after midnight every day.\n" +" ;; The job's action is a shell command.\n" +" #~(job \"5 0 * * *\" ;Vixie cron syntax\n" +" \"guix gc -F 1G\"))\n" +"\n" +msgstr "" + +#. type: lisp +#: doc/guix.texi:10530 +#, no-wrap +msgid "" +"(define idutils-job\n" +" ;; Update the index database as user \"charlie\" at 12:15PM\n" +" ;; and 19:15PM. This runs from the user's home directory.\n" +" #~(job '(next-minute-from (next-hour '(12 19)) '(15))\n" +" (string-append #$idutils \"/bin/mkid src\")\n" +" #:user \"charlie\"))\n" +"\n" +msgstr "" + +#. type: lisp +#: doc/guix.texi:10537 +#, no-wrap +msgid "" +"(operating-system\n" +" ;; @dots{}\n" +" (services (cons (mcron-service (list garbage-collector-job\n" +" updatedb-job\n" +" idutils-job))\n" +" %base-services)))\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:10542 +msgid "" +"@xref{Guile Syntax, mcron job specifications,, mcron, GNU@tie{}mcron}, for more information on mcron job specifications. Below is " +"the reference of the mcron service." +msgstr "" + +#. type: deffn +#: doc/guix.texi:10543 +#, no-wrap +msgid "{Scheme Procedure} mcron-service @var{jobs} [#:mcron @var{mcron}]" +msgstr "" + +#. type: deffn +#: doc/guix.texi:10546 +msgid "Return an mcron service running @var{mcron} that schedules @var{jobs}, a list of gexps denoting mcron job specifications." +msgstr "" + +#. type: deffn +#: doc/guix.texi:10548 +msgid "This is a shorthand for:" +msgstr "" + +#. type: example +#: doc/guix.texi:10551 +#, no-wrap +msgid "" +"(service mcron-service-type\n" +" (mcron-configuration (mcron mcron) (jobs jobs)))\n" +msgstr "" + +#. type: defvr +#: doc/guix.texi:10554 +#, no-wrap +msgid "{Scheme Variable} mcron-service-type" +msgstr "" + +#. type: defvr +#: doc/guix.texi:10557 +msgid "This is the type of the @code{mcron} service, whose value is an @code{mcron-configuration} object." +msgstr "" + +#. type: defvr +#: doc/guix.texi:10562 +msgid "" +"This service type can be the target of a service extension that provides it additional job specifications (@pxref{Service " +"Composition}). In other words, it is possible to define services that provide additional mcron jobs to run." +msgstr "" + +#. type: deftp +#: doc/guix.texi:10564 +#, no-wrap +msgid "{Data Type} mcron-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:10566 +msgid "Data type representing the configuration of mcron." +msgstr "" + +#. type: item +#: doc/guix.texi:10568 +#, no-wrap +msgid "@code{mcron} (default: @var{mcron})" +msgstr "" + +#. type: table +#: doc/guix.texi:10570 +msgid "The mcron package to use." +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:10571 doc/guix.texi:10630 +#, no-wrap +msgid "jobs" +msgstr "" + +#. type: table +#: doc/guix.texi:10575 +msgid "" +"This is a list of gexps (@pxref{G-Expressions}), where each gexp corresponds to an mcron job specification (@pxref{Syntax, mcron job " +"specifications,, mcron, GNU@tie{}mcron})." +msgstr "" + +#. type: cindex +#: doc/guix.texi:10582 +#, no-wrap +msgid "rottlog" +msgstr "" + +#. type: cindex +#: doc/guix.texi:10583 +#, no-wrap +msgid "log rotation" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:10590 +msgid "" +"Log files such as those found in @file{/var/log} tend to grow endlessly, so it's a good idea to @dfn{rotate} them once in a while---" +"i.e., archive their contents in separate files, possibly compressed. The @code{(gnu services admin)} module provides an interface " +"to GNU@tie{}Rot[t]log, a log rotation tool (@pxref{Top,,, rottlog, GNU Rot[t]log Manual})." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:10593 +msgid "" +"The example below defines an operating system that provides log rotation with the default settings, for commonly encountered log " +"files." +msgstr "" + +#. type: lisp +#: doc/guix.texi:10598 +#, no-wrap +msgid "" +"(use-modules (guix) (gnu))\n" +"(use-service-modules admin mcron)\n" +"(use-package-modules base idutils)\n" +"\n" +msgstr "" + +#. type: lisp +#: doc/guix.texi:10603 +#, no-wrap +msgid "" +"(operating-system\n" +" ;; @dots{}\n" +" (services (cons (service rottlog-service-type)\n" +" %base-services)))\n" +msgstr "" + +#. type: defvr +#: doc/guix.texi:10605 +#, no-wrap +msgid "{Scheme Variable} rottlog-service-type" +msgstr "" + +#. type: defvr +#: doc/guix.texi:10608 +msgid "This is the type of the Rottlog service, whose value is a @code{rottlog-configuration} object." +msgstr "" + +#. type: defvr +#: doc/guix.texi:10611 +msgid "" +"Other services can extend this one with new @code{log-rotation} objects (see below), thereby augmenting the set of files to be " +"rotated." +msgstr "" + +#. type: defvr +#: doc/guix.texi:10614 +msgid "This service type can define mcron jobs (@pxref{Scheduled Job Execution}) to run the rottlog service." +msgstr "" + +#. type: deftp +#: doc/guix.texi:10616 +#, no-wrap +msgid "{Data Type} rottlog-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:10618 +msgid "Data type representing the configuration of rottlog." +msgstr "" + +#. type: item +#: doc/guix.texi:10620 +#, no-wrap +msgid "@code{rottlog} (default: @code{rottlog})" +msgstr "" + +#. type: table +#: doc/guix.texi:10622 +msgid "The Rottlog package to use." +msgstr "" + +#. type: item +#: doc/guix.texi:10623 +#, no-wrap +msgid "@code{rc-file} (default: @code{(file-append rottlog \"/etc/rc\")})" +msgstr "" + +#. type: table +#: doc/guix.texi:10626 +msgid "The Rottlog configuration file to use (@pxref{Mandatory RC Variables,,, rottlog, GNU Rot[t]log Manual})." +msgstr "" + +#. type: item +#: doc/guix.texi:10627 +#, no-wrap +msgid "@code{rotations} (default: @code{%default-rotations})" +msgstr "" + +#. type: table +#: doc/guix.texi:10629 +msgid "A list of @code{log-rotation} objects as defined below." +msgstr "" + +#. type: table +#: doc/guix.texi:10633 +msgid "This is a list of gexps where each gexp corresponds to an mcron job specification (@pxref{Scheduled Job Execution})." +msgstr "" + +#. type: deftp +#: doc/guix.texi:10636 +#, no-wrap +msgid "{Data Type} log-rotation" +msgstr "" + +#. type: deftp +#: doc/guix.texi:10638 +msgid "Data type representing the rotation of a group of log files." +msgstr "" + +#. type: deftp +#: doc/guix.texi:10642 +msgid "" +"Taking an example from the Rottlog manual (@pxref{Period Related File Examples,,, rottlog, GNU Rot[t]log Manual}), a log rotation " +"might be defined like this:" +msgstr "" + +#. type: example +#: doc/guix.texi:10651 +#, no-wrap +msgid "" +"(log-rotation\n" +" (frequency 'daily)\n" +" (files '(\"/var/log/apache/*\"))\n" +" (options '(\"storedir apache-archives\"\n" +" \"rotate 6\"\n" +" \"notifempty\"\n" +" \"nocompress\")))\n" +msgstr "" + +#. type: deftp +#: doc/guix.texi:10654 +msgid "The list of fields is as follows:" +msgstr "" + +#. type: item +#: doc/guix.texi:10656 +#, no-wrap +msgid "@code{frequency} (default: @code{'weekly})" +msgstr "" + +#. type: table +#: doc/guix.texi:10658 +msgid "The log rotation frequency, a symbol." +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:10659 +#, no-wrap +msgid "files" +msgstr "" + +#. type: table +#: doc/guix.texi:10661 +msgid "The list of files or file glob patterns to rotate." +msgstr "" + +#. type: item +#: doc/guix.texi:10662 +#, no-wrap +msgid "@code{options} (default: @code{'()})" +msgstr "" + +#. type: table +#: doc/guix.texi:10665 +msgid "The list of rottlog options for this rotation (@pxref{Configuration parameters,,, rottlog, GNU Rot[t]lg Manual})." +msgstr "" + +#. type: item +#: doc/guix.texi:10666 +#, no-wrap +msgid "@code{post-rotate} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:10668 +msgid "Either @code{#f} or a gexp to execute once the rotation has completed." +msgstr "" + +#. type: defvr +#: doc/guix.texi:10671 +#, no-wrap +msgid "{Scheme Variable} %default-rotations" +msgstr "" + +#. type: defvr +#: doc/guix.texi:10674 +msgid "Specifies weekly rotation of @var{%rotated-files} and a couple of other files." +msgstr "" + +#. type: defvr +#: doc/guix.texi:10676 +#, no-wrap +msgid "{Scheme Variable} %rotated-files" +msgstr "" + +#. type: defvr +#: doc/guix.texi:10679 +msgid "The list of syslog-controlled files to be rotated. By default it is: @code{'(\"/var/log/messages\" \"/var/log/secure\")}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:10686 +msgid "The @code{(gnu services networking)} module provides services to configure the network interface." +msgstr "" + +#. type: cindex +#: doc/guix.texi:10687 +#, no-wrap +msgid "DHCP, networking service" +msgstr "" + +#. type: deffn +#: doc/guix.texi:10688 +#, no-wrap +msgid "{Scheme Procedure} dhcp-client-service [#:dhcp @var{isc-dhcp}]" +msgstr "" + +#. type: deffn +#: doc/guix.texi:10691 +msgid "" +"Return a service that runs @var{dhcp}, a Dynamic Host Configuration Protocol (DHCP) client, on all the non-loopback network " +"interfaces." +msgstr "" + +#. type: defvr +#: doc/guix.texi:10693 +#, no-wrap +msgid "{Scheme Variable} static-networking-service-type" +msgstr "" + +#. type: defvr +#: doc/guix.texi:10696 +msgid "This is the type for statically-configured network interfaces." +msgstr "" + +#. type: deffn +#: doc/guix.texi:10698 +#, no-wrap +msgid "{Scheme Procedure} static-networking-service @var{interface} @var{ip} @" +msgstr "" + +#. type: deffn +#: doc/guix.texi:10706 +msgid "" +"[#:netmask #f] [#:gateway #f] [#:name-servers @code{'()}] [#:requirement @code{'(udev)}] Return a service that starts " +"@var{interface} with address @var{ip}. If @var{netmask} is true, use it as the network mask. If @var{gateway} is true, it must be " +"a string specifying the default network gateway. @var{requirement} can be used to declare a dependency on another service before " +"configuring the interface." +msgstr "" + +#. type: deffn +#: doc/guix.texi:10711 +msgid "" +"This procedure can be called several times, one for each network interface of interest. Behind the scenes what it does is extend " +"@code{static-networking-service-type} with additional network interfaces to handle." +msgstr "" + +#. type: cindex +#: doc/guix.texi:10713 +#, no-wrap +msgid "wicd" +msgstr "" + +#. type: cindex +#: doc/guix.texi:10716 +#, no-wrap +msgid "network management" +msgstr "" + +#. type: deffn +#: doc/guix.texi:10717 +#, no-wrap +msgid "{Scheme Procedure} wicd-service [#:wicd @var{wicd}]" +msgstr "" + +#. type: deffn +#: doc/guix.texi:10720 +msgid "" +"Return a service that runs @url{https://launchpad.net/wicd,Wicd}, a network management daemon that aims to simplify wired and " +"wireless networking." +msgstr "" + +#. type: deffn +#: doc/guix.texi:10725 +msgid "" +"This service adds the @var{wicd} package to the global profile, providing several commands to interact with the daemon and configure " +"networking: @command{wicd-client}, a graphical user interface, and the @command{wicd-cli} and @command{wicd-curses} user interfaces." +msgstr "" + +#. type: cindex +#: doc/guix.texi:10727 +#, no-wrap +msgid "NetworkManager" +msgstr "" + +#. type: defvr +#: doc/guix.texi:10729 +#, no-wrap +msgid "{Scheme Variable} network-manager-service-type" +msgstr "" + +#. type: defvr +#: doc/guix.texi:10734 +msgid "" +"This is the service type for the @uref{https://wiki.gnome.org/Projects/NetworkManager, NetworkManager} service. The value for this " +"service type is a @code{network-manager-configuration} record." +msgstr "" + +#. type: defvr +#: doc/guix.texi:10737 +msgid "This service is part of @code{%desktop-services} (@pxref{Desktop Services})." +msgstr "" + +#. type: deftp +#: doc/guix.texi:10739 +#, no-wrap +msgid "{Data Type} network-manager-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:10741 +msgid "Data type representing the configuration of NetworkManager." +msgstr "" + +#. type: item +#: doc/guix.texi:10743 +#, no-wrap +msgid "@code{network-manager} (default: @code{network-manager})" +msgstr "" + +#. type: table +#: doc/guix.texi:10745 +msgid "The NetworkManager package to use." +msgstr "" + +#. type: item +#: doc/guix.texi:10746 +#, no-wrap +msgid "@code{dns} (default: @code{\"default\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:10749 +msgid "Processing mode for DNS, which affects how NetworkManager uses the @code{resolv.conf} configuration file." +msgstr "" + +#. type: item +#: doc/guix.texi:10751 +#, no-wrap +msgid "default" +msgstr "" + +#. type: table +#: doc/guix.texi:10754 +msgid "NetworkManager will update @code{resolv.conf} to reflect the nameservers provided by currently active connections." +msgstr "" + +#. type: item +#: doc/guix.texi:10755 +#, no-wrap +msgid "dnsmasq" +msgstr "" + +#. type: table +#: doc/guix.texi:10759 +msgid "" +"NetworkManager will run @code{dnsmasq} as a local caching nameserver, using a \"split DNS\" configuration if you are connected to a " +"VPN, and then update @code{resolv.conf} to point to the local nameserver." +msgstr "" + +#. type: item +#: doc/guix.texi:10760 doc/guix.texi:11746 +#, no-wrap +msgid "none" +msgstr "" + +#. type: table +#: doc/guix.texi:10762 +msgid "NetworkManager will not modify @code{resolv.conf}." +msgstr "" + +#. type: item +#: doc/guix.texi:10764 +#, no-wrap +msgid "@code{vpn-plugins} (default: @code{'()})" +msgstr "" + +#. type: table +#: doc/guix.texi:10768 +msgid "" +"This is the list of available plugins for virtual private networks (VPNs). An example of this is the @code{network-manager-openvpn} " +"package, which allows NetworkManager to manage VPNs @i{via} OpenVPN." +msgstr "" + +#. type: cindex +#: doc/guix.texi:10772 +#, no-wrap +msgid "Connman" +msgstr "" + +#. type: deffn +#: doc/guix.texi:10773 +#, no-wrap +msgid "{Scheme Variable} connman-service-type" +msgstr "" + +#. type: deffn +#: doc/guix.texi:10776 +msgid "This is the service type to run @url{https://01.org/connman,Connman}, a network connection manager." +msgstr "" + +#. type: deffn +#: doc/guix.texi:10779 +msgid "Its value must be an @code{connman-configuration} record as in this example:" +msgstr "" + +#. type: example +#: doc/guix.texi:10784 +#, no-wrap +msgid "" +"(service connman-service-type\n" +" (connman-configuration\n" +" (disable-vpn? #t)))\n" +msgstr "" + +#. type: deffn +#: doc/guix.texi:10787 +msgid "See below for details about @code{connman-configuration}." +msgstr "" + +#. type: deftp +#: doc/guix.texi:10789 +#, no-wrap +msgid "{Data Type} connman-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:10791 +msgid "Data Type representing the configuration of connman." +msgstr "" + +#. type: item +#: doc/guix.texi:10793 +#, no-wrap +msgid "@code{connman} (default: @var{connman})" +msgstr "" + +#. type: table +#: doc/guix.texi:10795 +msgid "The connman package to use." +msgstr "" + +#. type: item +#: doc/guix.texi:10796 +#, no-wrap +msgid "@code{disable-vpn?} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:10798 +msgid "When true, enable connman's vpn plugin." +msgstr "" + +#. type: cindex +#: doc/guix.texi:10801 +#, no-wrap +msgid "WPA Supplicant" +msgstr "" + +#. type: defvr +#: doc/guix.texi:10802 +#, no-wrap +msgid "{Scheme Variable} wpa-supplicant-service-type" +msgstr "" + +#. type: defvr +#: doc/guix.texi:10807 +msgid "" +"This is the service type to run @url{https://w1.fi/wpa_supplicant/,WPA supplicant}, an authentication daemon required to " +"authenticate against encrypted WiFi or ethernet networks. It is configured to listen for requests on D-Bus." +msgstr "" + +#. type: defvr +#: doc/guix.texi:10810 +msgid "The value of this service is the @code{wpa-supplicant} package to use. Thus, it can be instantiated like this:" +msgstr "" + +#. type: lisp +#: doc/guix.texi:10813 +#, no-wrap +msgid "" +"(use-modules (gnu services networking))\n" +"\n" +msgstr "" + +#. type: lisp +#: doc/guix.texi:10815 +#, no-wrap +msgid "(service wpa-supplicant-service-type)\n" +msgstr "" + +#. type: cindex +#: doc/guix.texi:10818 +#, no-wrap +msgid "NTP" +msgstr "" + +#. type: cindex +#: doc/guix.texi:10819 +#, no-wrap +msgid "real time clock" +msgstr "" + +#. type: deffn +#: doc/guix.texi:10820 +#, no-wrap +msgid "{Scheme Procedure} ntp-service [#:ntp @var{ntp}] @" +msgstr "" + +#. type: deffn +#: doc/guix.texi:10828 +msgid "" +"[#:servers @var{%ntp-servers}] @ [#:allow-large-adjustment? #f] Return a service that runs the daemon from @var{ntp}, the " +"@uref{http://www.ntp.org, Network Time Protocol package}. The daemon will keep the system clock synchronized with that of " +"@var{servers}. @var{allow-large-adjustment?} determines whether @command{ntpd} is allowed to make an initial adjustment of more " +"than 1,000 seconds." +msgstr "" + +#. type: defvr +#: doc/guix.texi:10830 +#, no-wrap +msgid "{Scheme Variable} %ntp-servers" +msgstr "" + +#. type: defvr +#: doc/guix.texi:10832 +msgid "List of host names used as the default NTP servers." +msgstr "" + +#. type: cindex +#: doc/guix.texi:10834 +#, no-wrap +msgid "OpenNTPD" +msgstr "" + +#. type: deffn +#: doc/guix.texi:10835 +#, no-wrap +msgid "{Scheme Procedure} openntpd-service-type" +msgstr "" + +#. type: deffn +#: doc/guix.texi:10839 +msgid "" +"Run the @command{ntpd}, the Network Time Protocol (NTP) daemon, as implemented by @uref{http://www.openntpd.org, OpenNTPD}. The " +"daemon will keep the system clock synchronized with that of the given servers." +msgstr "" + +#. type: example +#: doc/guix.texi:10849 +#, no-wrap +msgid "" +"(service\n" +" openntpd-service-type\n" +" (openntpd-configuration\n" +" (listen-on '(\"127.0.0.1\" \"::1\"))\n" +" (sensor '(\"udcf0 correction 70000\"))\n" +" (constraint-from '(\"www.gnu.org\"))\n" +" (constraints-from '(\"https://www.google.com/\"))\n" +" (allow-large-adjustment? #t)))\n" +"\n" +msgstr "" + +#. type: deftp +#: doc/guix.texi:10853 +#, no-wrap +msgid "{Data Type} openntpd-configuration" +msgstr "" + +#. type: item +#: doc/guix.texi:10855 +#, no-wrap +msgid "@code{openntpd} (default: @code{(file-append openntpd \"/sbin/ntpd\")})" +msgstr "" + +#. type: table +#: doc/guix.texi:10857 +msgid "The openntpd executable to use." +msgstr "" + +#. type: item +#: doc/guix.texi:10857 +#, no-wrap +msgid "@code{listen-on} (default: @code{'(\"127.0.0.1\" \"::1\")})" +msgstr "" + +#. type: table +#: doc/guix.texi:10859 +msgid "A list of local IP addresses or hostnames the ntpd daemon should listen on." +msgstr "" + +#. type: item +#: doc/guix.texi:10859 +#, no-wrap +msgid "@code{query-from} (default: @code{'()})" +msgstr "" + +#. type: table +#: doc/guix.texi:10861 +msgid "A list of local IP address the ntpd daemon should use for outgoing queries." +msgstr "" + +#. type: item +#: doc/guix.texi:10861 +#, no-wrap +msgid "@code{sensor} (default: @code{'()})" +msgstr "" + +#. type: table +#: doc/guix.texi:10866 +msgid "" +"Specify a list of timedelta sensor devices ntpd should use. @code{ntpd} will listen to each sensor that acutally exists and ignore " +"non-existant ones. See @uref{https://man.openbsd.org/ntpd.conf, upstream documentation} for more information." +msgstr "" + +#. type: item +#: doc/guix.texi:10866 +#, no-wrap +msgid "@code{server} (default: @var{%ntp-servers})" +msgstr "" + +#. type: table +#: doc/guix.texi:10868 +msgid "Specify a list of IP addresses or hostnames of NTP servers to synchronize to." +msgstr "" + +#. type: item +#: doc/guix.texi:10868 +#, no-wrap +msgid "@code{servers} (default: @code{'()})" +msgstr "" + +#. type: table +#: doc/guix.texi:10870 +msgid "Specify a list of IP addresses or hostnames of NTP pools to synchronize to." +msgstr "" + +#. type: item +#: doc/guix.texi:10870 +#, no-wrap +msgid "@code{constraint-from} (default: @code{'()})" +msgstr "" + +#. type: table +#: doc/guix.texi:10877 +msgid "" +"@code{ntpd} can be configured to query the ‘Date’ from trusted HTTPS servers via TLS. This time information is not used for " +"precision but acts as an authenticated constraint, thereby reducing the impact of unauthenticated NTP man-in-the-middle attacks. " +"Specify a list of URLs, IP addresses or hostnames of HTTPS servers to provide a constraint." +msgstr "" + +#. type: item +#: doc/guix.texi:10877 +#, no-wrap +msgid "@code{constraints-from} (default: @code{'()})" +msgstr "" + +#. type: table +#: doc/guix.texi:10881 +msgid "" +"As with constraint from, specify a list of URLs, IP addresses or hostnames of HTTPS servers to provide a constraint. Should the " +"hostname resolve to multiple IP addresses, @code{ntpd} will calculate a median constraint from all of them." +msgstr "" + +#. type: item +#: doc/guix.texi:10881 +#, no-wrap +msgid "@code{allow-large-adjustment?} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:10884 +msgid "Determines if @code{ntpd} is allowed to make an initial adjustment of more than 180 seconds." +msgstr "" + +#. type: cindex +#: doc/guix.texi:10887 +#, no-wrap +msgid "inetd" +msgstr "" + +#. type: deffn +#: doc/guix.texi:10888 +#, no-wrap +msgid "{Scheme variable} inetd-service-type" +msgstr "" + +#. type: deffn +#: doc/guix.texi:10893 +msgid "" +"This service runs the @command{inetd} (@pxref{inetd invocation,,, inetutils, GNU Inetutils}) daemon. @command{inetd} listens for " +"connections on internet sockets, and lazily starts the specified server program when a connection is made on one of these sockets." +msgstr "" + +#. type: deffn +#: doc/guix.texi:10899 +msgid "" +"The value of this service is an @code{inetd-configuration} object. The following example configures the @command{inetd} daemon to " +"provide the built-in @command{echo} service, as well as an smtp service which forwards smtp traffic over ssh to a server @code{smtp-" +"server} behind a gateway @code{hostname}:" +msgstr "" + +#. type: example +#: doc/guix.texi:10922 +#, no-wrap +msgid "" +"(service\n" +" inetd-service-type\n" +" (inetd-configuration\n" +" (entries (list\n" +" (inetd-entry\n" +" (name \"echo\")\n" +" (socket-type 'stream)\n" +" (protocol \"tcp\")\n" +" (wait? #f)\n" +" (user \"root\"))\n" +" (inetd-entry\n" +" (node \"127.0.0.1\")\n" +" (name \"smtp\")\n" +" (socket-type 'stream)\n" +" (protocol \"tcp\")\n" +" (wait? #f)\n" +" (user \"root\")\n" +" (program (file-append openssh \"/bin/ssh\"))\n" +" (arguments\n" +" '(\"ssh\" \"-qT\" \"-i\" \"/path/to/ssh_key\"\n" +" \"-W\" \"smtp-server:25\" \"user@@hostname\")))))\n" +msgstr "" + +#. type: deffn +#: doc/guix.texi:10925 +msgid "See below for more details about @code{inetd-configuration}." +msgstr "" + +#. type: deftp +#: doc/guix.texi:10927 +#, no-wrap +msgid "{Data Type} inetd-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:10929 +msgid "Data type representing the configuration of @command{inetd}." +msgstr "" + +#. type: item +#: doc/guix.texi:10931 +#, no-wrap +msgid "@code{program} (default: @code{(file-append inetutils \"/libexec/inetd\")})" +msgstr "" + +#. type: table +#: doc/guix.texi:10933 +msgid "The @command{inetd} executable to use." +msgstr "" + +#. type: item +#: doc/guix.texi:10934 doc/guix.texi:16191 +#, no-wrap +msgid "@code{entries} (default: @code{'()})" +msgstr "" + +#. type: table +#: doc/guix.texi:10937 +msgid "A list of @command{inetd} service entries. Each entry should be created by the @code{inetd-entry} constructor." +msgstr "" + +#. type: deftp +#: doc/guix.texi:10940 +#, no-wrap +msgid "{Data Type} inetd-entry" +msgstr "" + +#. type: deftp +#: doc/guix.texi:10944 +msgid "" +"Data type representing an entry in the @command{inetd} configuration. Each entry corresponds to a socket where @command{inetd} will " +"listen for requests." +msgstr "" + +#. type: item +#: doc/guix.texi:10946 +#, no-wrap +msgid "@code{node} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:10951 +msgid "" +"Optional string, a comma-separated list of local addresses @command{inetd} should use when listening for this service. " +"@xref{Configuration file,,, inetutils, GNU Inetutils} for a complete description of all options." +msgstr "" + +#. type: table +#: doc/guix.texi:10953 +msgid "A string, the name must correspond to an entry in @code{/etc/services}." +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:10953 +#, no-wrap +msgid "socket-type" +msgstr "" + +#. type: table +#: doc/guix.texi:10956 +msgid "One of @code{'stream}, @code{'dgram}, @code{'raw}, @code{'rdm} or @code{'seqpacket}." +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:10956 +#, no-wrap +msgid "protocol" +msgstr "" + +#. type: table +#: doc/guix.texi:10958 +msgid "A string, must correspond to an entry in @code{/etc/protocols}." +msgstr "" + +#. type: item +#: doc/guix.texi:10958 +#, no-wrap +msgid "@code{wait?} (default: @code{#t})" +msgstr "" + +#. type: table +#: doc/guix.texi:10961 +msgid "Whether @command{inetd} should wait for the server to exit before listening to new service requests." +msgstr "" + +#. type: table +#: doc/guix.texi:10966 +msgid "" +"A string containing the user (and, optionally, group) name of the user as whom the server should run. The group name can be " +"specified in a suffix, separated by a colon or period, i.e. @code{\"user\"}, @code{\"user:group\"} or @code{\"user.group\"}." +msgstr "" + +#. type: item +#: doc/guix.texi:10966 +#, no-wrap +msgid "@code{program} (default: @code{\"internal\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:10969 +msgid "The server program which will serve the requests, or @code{\"internal\"} if @command{inetd} should use a built-in service." +msgstr "" + +#. type: table +#: doc/guix.texi:10974 +msgid "" +"A list strings or file-like objects, which are the server program's arguments, starting with the zeroth argument, i.e. the name of " +"the program itself. For @command{inetd}'s internal services, this entry must be @code{'()} or @code{'(\"internal\")}." +msgstr "" + +#. type: deftp +#: doc/guix.texi:10978 +msgid "@xref{Configuration file,,, inetutils, GNU Inetutils} for a more detailed discussion of each configuration field." +msgstr "" + +#. type: cindex +#: doc/guix.texi:10980 +#, no-wrap +msgid "Tor" +msgstr "" + +#. type: deffn +#: doc/guix.texi:10981 +#, no-wrap +msgid "{Scheme Procedure} tor-service [@var{config-file}] [#:tor @var{tor}]" +msgstr "" + +#. type: deffn +#: doc/guix.texi:10984 +msgid "Return a service to run the @uref{https://torproject.org, Tor} anonymous networking daemon." +msgstr "" + +#. type: deffn +#: doc/guix.texi:10989 +msgid "" +"The daemon runs as the @code{tor} unprivileged user. It is passed @var{config-file}, a file-like object, with an additional " +"@code{User tor} line and lines for hidden services added via @code{tor-hidden-service}. Run @command{man tor} for information about " +"the configuration file." +msgstr "" + +#. type: cindex +#: doc/guix.texi:10991 +#, no-wrap +msgid "hidden service" +msgstr "" + +#. type: deffn +#: doc/guix.texi:10992 +#, no-wrap +msgid "{Scheme Procedure} tor-hidden-service @var{name} @var{mapping}" +msgstr "" + +#. type: deffn +#: doc/guix.texi:10995 +msgid "" +"Define a new Tor @dfn{hidden service} called @var{name} and implementing @var{mapping}. @var{mapping} is a list of port/host " +"tuples, such as:" +msgstr "" + +#. type: example +#: doc/guix.texi:10999 +#, no-wrap +msgid "" +" '((22 \"127.0.0.1:22\")\n" +" (80 \"127.0.0.1:8080\"))\n" +msgstr "" + +#. type: deffn +#: doc/guix.texi:11003 +msgid "In this example, port 22 of the hidden service is mapped to local port 22, and port 80 is mapped to local port 8080." +msgstr "" + +#. type: deffn +#: doc/guix.texi:11007 +msgid "" +"This creates a @file{/var/lib/tor/hidden-services/@var{name}} directory, where the @file{hostname} file contains the @code{.onion} " +"host name for the hidden service." +msgstr "" + +#. type: deffn +#: doc/guix.texi:11010 +msgid "See @uref{https://www.torproject.org/docs/tor-hidden-service.html.en, the Tor project's documentation} for more information." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:11013 +msgid "The @code{(gnu services rsync)} module provides the following services:" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:11017 +msgid "" +"You might want an rsync daemon if you have files that you want available so anyone (or just yourself) can download existing files or " +"upload new files." +msgstr "" + +#. type: deffn +#: doc/guix.texi:11018 +#, no-wrap +msgid "{Scheme Variable} rsync-service-type" +msgstr "" + +#. type: deffn +#: doc/guix.texi:11021 +msgid "" +"This is the type for the @uref{https://rsync.samba.org, rsync} rsync daemon, @command{rsync-configuration} record as in this example:" +msgstr "" + +#. type: example +#: doc/guix.texi:11024 +#, no-wrap +msgid "(service rsync-service-type)\n" +msgstr "" + +#. type: deffn +#: doc/guix.texi:11027 +msgid "See below for details about @code{rsync-configuration}." +msgstr "" + +#. type: deftp +#: doc/guix.texi:11029 +#, no-wrap +msgid "{Data Type} rsync-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:11031 +msgid "Data type representing the configuration for @code{rsync-service}." +msgstr "" + +#. type: item +#: doc/guix.texi:11033 +#, no-wrap +msgid "@code{package} (default: @var{rsync})" +msgstr "" + +#. type: table +#: doc/guix.texi:11035 +msgid "@code{rsync} package to use." +msgstr "" + +#. type: item +#: doc/guix.texi:11036 +#, no-wrap +msgid "@code{port-number} (default: @code{873})" +msgstr "" + +#. type: table +#: doc/guix.texi:11040 +msgid "" +"TCP port on which @command{rsync} listens for incoming connections. If port is less than @code{1024} @command{rsync} needs to be " +"started as the @code{root} user and group." +msgstr "" + +#. type: item +#: doc/guix.texi:11041 +#, no-wrap +msgid "@code{pid-file} (default: @code{\"/var/run/rsyncd/rsyncd.pid\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:11043 +msgid "Name of the file where @command{rsync} writes its PID." +msgstr "" + +#. type: item +#: doc/guix.texi:11044 +#, no-wrap +msgid "@code{lock-file} (default: @code{\"/var/run/rsyncd/rsyncd.lock\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:11046 +msgid "Name of the file where @command{rsync} writes its lock file." +msgstr "" + +#. type: item +#: doc/guix.texi:11047 +#, no-wrap +msgid "@code{log-file} (default: @code{\"/var/log/rsyncd.log\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:11049 +msgid "Name of the file where @command{rsync} writes its log file." +msgstr "" + +#. type: item +#: doc/guix.texi:11050 +#, no-wrap +msgid "@code{use-chroot?} (default: @var{#t})" +msgstr "" + +#. type: table +#: doc/guix.texi:11052 +msgid "Whether to use chroot for @command{rsync} shared directory." +msgstr "" + +#. type: item +#: doc/guix.texi:11053 +#, no-wrap +msgid "@code{share-path} (default: @file{/srv/rsync})" +msgstr "" + +#. type: table +#: doc/guix.texi:11055 +msgid "Location of the @command{rsync} shared directory." +msgstr "" + +#. type: item +#: doc/guix.texi:11056 +#, no-wrap +msgid "@code{share-comment} (default: @code{\"Rsync share\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:11058 +msgid "Comment of the @command{rsync} shared directory." +msgstr "" + +#. type: item +#: doc/guix.texi:11059 +#, no-wrap +msgid "@code{read-only?} (default: @var{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:11061 +msgid "Read-write permissions to shared directory." +msgstr "" + +#. type: item +#: doc/guix.texi:11062 +#, no-wrap +msgid "@code{timeout} (default: @code{300})" +msgstr "" + +#. type: table +#: doc/guix.texi:11064 +msgid "I/O timeout in seconds." +msgstr "" + +#. type: item +#: doc/guix.texi:11065 +#, no-wrap +msgid "@code{user} (default: @var{\"root\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:11067 +msgid "Owner of the @code{rsync} process." +msgstr "" + +#. type: item +#: doc/guix.texi:11068 +#, no-wrap +msgid "@code{group} (default: @var{\"root\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:11070 +msgid "Group of the @code{rsync} process." +msgstr "" + +#. type: item +#: doc/guix.texi:11071 +#, no-wrap +msgid "@code{uid} (default: @var{\"rsyncd\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:11074 +msgid "User name or user ID that file transfers to and from that module should take place as when the daemon was run as @code{root}." +msgstr "" + +#. type: item +#: doc/guix.texi:11075 +#, no-wrap +msgid "@code{gid} (default: @var{\"rsyncd\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:11077 +msgid "Group name or group ID that will be used when accessing the module." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:11082 +msgid "Furthermore, @code{(gnu services ssh)} provides the following services." +msgstr "" + +#. type: cindex +#: doc/guix.texi:11082 doc/guix.texi:11121 doc/guix.texi:20729 +#, no-wrap +msgid "SSH" +msgstr "" + +#. type: cindex +#: doc/guix.texi:11083 doc/guix.texi:11122 doc/guix.texi:20730 +#, no-wrap +msgid "SSH server" +msgstr "" + +#. type: deffn +#: doc/guix.texi:11085 +#, no-wrap +msgid "{Scheme Procedure} lsh-service [#:host-key \"/etc/lsh/host-key\"] @" +msgstr "" + +#. type: deffn +#: doc/guix.texi:11094 +msgid "" +"[#:daemonic? #t] [#:interfaces '()] [#:port-number 22] @ [#:allow-empty-passwords? #f] [#:root-login? #f] @ [#:syslog-output? #t] [#:" +"x11-forwarding? #t] @ [#:tcp/ip-forwarding? #t] [#:password-authentication? #t] @ [#:public-key-authentication? #t] [#:initialize? " +"#t] Run the @command{lshd} program from @var{lsh} to listen on port @var{port-number}. @var{host-key} must designate a file " +"containing the host key, and readable only by root." +msgstr "" + +#. type: deffn +#: doc/guix.texi:11100 +msgid "" +"When @var{daemonic?} is true, @command{lshd} will detach from the controlling terminal and log its output to syslogd, unless one " +"sets @var{syslog-output?} to false. Obviously, it also makes lsh-service depend on existence of syslogd service. When @var{pid-" +"file?} is true, @command{lshd} writes its PID to the file called @var{pid-file}." +msgstr "" + +#. type: deffn +#: doc/guix.texi:11104 +msgid "" +"When @var{initialize?} is true, automatically create the seed and host key upon service activation if they do not exist yet. This " +"may take long and require interaction." +msgstr "" + +#. type: deffn +#: doc/guix.texi:11109 +msgid "" +"When @var{initialize?} is false, it is up to the user to initialize the randomness generator (@pxref{lsh-make-seed,,, lsh, LSH " +"Manual}), and to create a key pair with the private key stored in file @var{host-key} (@pxref{lshd basics,,, lsh, LSH Manual})." +msgstr "" + +#. type: deffn +#: doc/guix.texi:11113 +msgid "" +"When @var{interfaces} is empty, lshd listens for connections on all the network interfaces; otherwise, @var{interfaces} must be a " +"list of host names or addresses." +msgstr "" + +#. type: deffn +#: doc/guix.texi:11117 +msgid "" +"@var{allow-empty-passwords?} specifies whether to accept log-ins with empty passwords, and @var{root-login?} specifies whether to " +"accept log-ins as root." +msgstr "" + +#. type: deffn +#: doc/guix.texi:11119 +msgid "The other options should be self-descriptive." +msgstr "" + +#. type: deffn +#: doc/guix.texi:11123 +#, no-wrap +msgid "{Scheme Variable} openssh-service-type" +msgstr "" + +#. type: deffn +#: doc/guix.texi:11127 +msgid "" +"This is the type for the @uref{http://www.openssh.org, OpenSSH} secure shell daemon, @command{sshd}. Its value must be an " +"@code{openssh-configuration} record as in this example:" +msgstr "" + +#. type: example +#: doc/guix.texi:11136 +#, no-wrap +msgid "" +"(service openssh-service-type\n" +" (openssh-configuration\n" +" (x11-forwarding? #t)\n" +" (permit-root-login 'without-password)\n" +" (authorized-keys\n" +" `((\"alice\" ,(local-file \"alice.pub\"))\n" +" (\"bob\" ,(local-file \"bob.pub\"))))))\n" +msgstr "" + +#. type: deffn +#: doc/guix.texi:11139 +msgid "See below for details about @code{openssh-configuration}." +msgstr "" + +#. type: deffn +#: doc/guix.texi:11142 +msgid "This service can be extended with extra authorized keys, as in this example:" +msgstr "" + +#. type: example +#: doc/guix.texi:11147 +#, no-wrap +msgid "" +"(service-extension openssh-service-type\n" +" (const `((\"charlie\"\n" +" ,(local-file \"charlie.pub\")))))\n" +msgstr "" + +#. type: deftp +#: doc/guix.texi:11150 +#, no-wrap +msgid "{Data Type} openssh-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:11152 +msgid "This is the configuration record for OpenSSH's @command{sshd}." +msgstr "" + +#. type: item +#: doc/guix.texi:11154 +#, no-wrap +msgid "@code{pid-file} (default: @code{\"/var/run/sshd.pid\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:11156 +msgid "Name of the file where @command{sshd} writes its PID." +msgstr "" + +#. type: item +#: doc/guix.texi:11157 +#, no-wrap +msgid "@code{port-number} (default: @code{22})" +msgstr "" + +#. type: table +#: doc/guix.texi:11159 +msgid "TCP port on which @command{sshd} listens for incoming connections." +msgstr "" + +#. type: item +#: doc/guix.texi:11160 +#, no-wrap +msgid "@code{permit-root-login} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:11165 +msgid "" +"This field determines whether and when to allow logins as root. If @code{#f}, root logins are disallowed; if @code{#t}, they are " +"allowed. If it's the symbol @code{'without-password}, then root logins are permitted but not with password-based authentication." +msgstr "" + +#. type: item +#: doc/guix.texi:11166 doc/guix.texi:11299 +#, no-wrap +msgid "@code{allow-empty-passwords?} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:11169 +msgid "When true, users with empty passwords may log in. When false, they may not." +msgstr "" + +#. type: item +#: doc/guix.texi:11170 doc/guix.texi:11302 +#, no-wrap +msgid "@code{password-authentication?} (default: @code{#t})" +msgstr "" + +#. type: table +#: doc/guix.texi:11173 +msgid "When true, users may log in with their password. When false, they have other authentication methods." +msgstr "" + +#. type: item +#: doc/guix.texi:11174 +#, no-wrap +msgid "@code{public-key-authentication?} (default: @code{#t})" +msgstr "" + +#. type: table +#: doc/guix.texi:11177 +msgid "When true, users may log in using public key authentication. When false, users have to use other authentication method." +msgstr "" + +#. type: table +#: doc/guix.texi:11180 +msgid "Authorized public keys are stored in @file{~/.ssh/authorized_keys}. This is used only by protocol version 2." +msgstr "" + +#. type: item +#: doc/guix.texi:11181 +#, no-wrap +msgid "@code{x11-forwarding?} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:11185 +msgid "" +"When true, forwarding of X11 graphical client connections is enabled---in other words, @command{ssh} options @option{-X} and " +"@option{-Y} will work." +msgstr "" + +#. type: item +#: doc/guix.texi:11186 +#, no-wrap +msgid "@code{challenge-response-authentication?} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:11189 +msgid "Specifies whether challenge response authentication is allowed (e.g. via PAM)." +msgstr "" + +#. type: item +#: doc/guix.texi:11190 +#, no-wrap +msgid "@code{use-pam?} (default: @code{#t})" +msgstr "" + +#. type: table +#: doc/guix.texi:11196 +msgid "" +"Enables the Pluggable Authentication Module interface. If set to @code{#t}, this will enable PAM authentication using " +"@code{challenge-response-authentication?} and @code{password-authentication?}, in addition to PAM account and session module " +"processing for all authentication types." +msgstr "" + +#. type: table +#: doc/guix.texi:11201 +msgid "" +"Because PAM challenge response authentication usually serves an equivalent role to password authentication, you should disable " +"either @code{challenge-response-authentication?} or @code{password-authentication?}." +msgstr "" + +#. type: item +#: doc/guix.texi:11202 +#, no-wrap +msgid "@code{print-last-log?} (default: @code{#t})" +msgstr "" + +#. type: table +#: doc/guix.texi:11205 +msgid "Specifies whether @command{sshd} should print the date and time of the last user login when a user logs in interactively." +msgstr "" + +#. type: item +#: doc/guix.texi:11206 +#, no-wrap +msgid "@code{subsystems} (default: @code{'((\"sftp\" \"internal-sftp\"))})" +msgstr "" + +#. type: table +#: doc/guix.texi:11208 +msgid "Configures external subsystems (e.g. file transfer daemon)." +msgstr "" + +#. type: table +#: doc/guix.texi:11212 +msgid "" +"This is a list of two-element lists, each of which containing the subsystem name and a command (with optional arguments) to execute " +"upon subsystem request." +msgstr "" + +#. type: table +#: doc/guix.texi:11215 +msgid "" +"The command @command{internal-sftp} implements an in-process SFTP server. Alternately, one can specify the @command{sftp-server} " +"command:" +msgstr "" + +#. type: example +#: doc/guix.texi:11220 +#, no-wrap +msgid "" +"(service openssh-service-type\n" +" (openssh-configuration\n" +" (subsystems\n" +" `((\"sftp\" ,(file-append openssh \"/libexec/sftp-server\"))))))\n" +msgstr "" + +#. type: item +#: doc/guix.texi:11222 +#, no-wrap +msgid "@code{accepted-environment} (default: @code{'()})" +msgstr "" + +#. type: table +#: doc/guix.texi:11224 +msgid "List of strings describing which environment variables may be exported." +msgstr "" + +#. type: table +#: doc/guix.texi:11227 +msgid "Each string gets on its own line. See the @code{AcceptEnv} option in @code{man sshd_config}." +msgstr "" + +#. type: table +#: doc/guix.texi:11232 +msgid "" +"This example allows ssh-clients to export the @code{COLORTERM} variable. It is set by terminal emulators, which support colors. " +"You can use it in your shell's ressource file to enable colors for the prompt and commands if this variable is set." +msgstr "" + +#. type: example +#: doc/guix.texi:11237 +#, no-wrap +msgid "" +"(service openssh-service-type\n" +" (openssh-configuration\n" +" (accepted-environment '(\"COLORTERM\"))))\n" +msgstr "" + +#. type: item +#: doc/guix.texi:11239 +#, no-wrap +msgid "@code{authorized-keys} (default: @code{'()})" +msgstr "" + +#. type: cindex +#: doc/guix.texi:11240 +#, no-wrap +msgid "authorized keys, SSH" +msgstr "" + +#. type: cindex +#: doc/guix.texi:11241 +#, no-wrap +msgid "SSH authorized keys" +msgstr "" + +#. type: table +#: doc/guix.texi:11245 +msgid "" +"This is the list of authorized keys. Each element of the list is a user name followed by one or more file-like objects that " +"represent SSH public keys. For example:" +msgstr "" + +#. type: example +#: doc/guix.texi:11252 +#, no-wrap +msgid "" +"(openssh-configuration\n" +" (authorized-keys\n" +" `((\"rekado\" ,(local-file \"rekado.pub\"))\n" +" (\"chris\" ,(local-file \"chris.pub\"))\n" +" (\"root\" ,(local-file \"rekado.pub\") ,(local-file \"chris.pub\")))))\n" +msgstr "" + +#. type: table +#: doc/guix.texi:11257 +msgid "registers the specified public keys for user accounts @code{rekado}, @code{chris}, and @code{root}." +msgstr "" + +#. type: table +#: doc/guix.texi:11260 +msgid "Additional authorized keys can be specified @i{via} @code{service-extension}." +msgstr "" + +#. type: table +#: doc/guix.texi:11263 +msgid "Note that this does @emph{not} interfere with the use of @file{~/.ssh/authorized_keys}." +msgstr "" + +#. type: deffn +#: doc/guix.texi:11266 +#, no-wrap +msgid "{Scheme Procedure} dropbear-service [@var{config}]" +msgstr "" + +#. type: deffn +#: doc/guix.texi:11270 +msgid "" +"Run the @uref{https://matt.ucc.asn.au/dropbear/dropbear.html,Dropbear SSH daemon} with the given @var{config}, a @code{<dropbear-" +"configuration>} object." +msgstr "" + +#. type: deffn +#: doc/guix.texi:11273 +msgid "" +"For example, to specify a Dropbear service listening on port 1234, add this call to the operating system's @code{services} field:" +msgstr "" + +#. type: example +#: doc/guix.texi:11277 +#, no-wrap +msgid "" +"(dropbear-service (dropbear-configuration\n" +" (port-number 1234)))\n" +msgstr "" + +#. type: deftp +#: doc/guix.texi:11280 +#, no-wrap +msgid "{Data Type} dropbear-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:11282 +msgid "This data type represents the configuration of a Dropbear SSH daemon." +msgstr "" + +#. type: item +#: doc/guix.texi:11284 +#, no-wrap +msgid "@code{dropbear} (default: @var{dropbear})" +msgstr "" + +#. type: table +#: doc/guix.texi:11286 +msgid "The Dropbear package to use." +msgstr "" + +#. type: item +#: doc/guix.texi:11287 +#, no-wrap +msgid "@code{port-number} (default: 22)" +msgstr "" + +#. type: table +#: doc/guix.texi:11289 +msgid "The TCP port where the daemon waits for incoming connections." +msgstr "" + +#. type: item +#: doc/guix.texi:11290 +#, no-wrap +msgid "@code{syslog-output?} (default: @code{#t})" +msgstr "" + +#. type: table +#: doc/guix.texi:11292 +msgid "Whether to enable syslog output." +msgstr "" + +#. type: item +#: doc/guix.texi:11293 +#, no-wrap +msgid "@code{pid-file} (default: @code{\"/var/run/dropbear.pid\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:11295 +msgid "File name of the daemon's PID file." +msgstr "" + +#. type: item +#: doc/guix.texi:11296 +#, no-wrap +msgid "@code{root-login?} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:11298 +msgid "Whether to allow @code{root} logins." +msgstr "" + +#. type: table +#: doc/guix.texi:11301 +msgid "Whether to allow empty passwords." +msgstr "" + +#. type: table +#: doc/guix.texi:11304 +msgid "Whether to enable password-based authentication." +msgstr "" + +#. type: defvr +#: doc/guix.texi:11307 +#, no-wrap +msgid "{Scheme Variable} %facebook-host-aliases" +msgstr "" + +#. type: defvr +#: doc/guix.texi:11313 +msgid "" +"This variable contains a string for use in @file{/etc/hosts} (@pxref{Host Names,,, libc, The GNU C Library Reference Manual}). Each " +"line contains a entry that maps a known server name of the Facebook on-line service---e.g., @code{www.facebook.com}---to the local " +"host---@code{127.0.0.1} or its IPv6 equivalent, @code{::1}." +msgstr "" + +#. type: defvr +#: doc/guix.texi:11317 +msgid "" +"This variable is typically used in the @code{hosts-file} field of an @code{operating-system} declaration (@pxref{operating-system " +"Reference, @file{/etc/hosts}}):" +msgstr "" + +#. type: example +#: doc/guix.texi:11320 +#, no-wrap +msgid "" +"(use-modules (gnu) (guix))\n" +"\n" +msgstr "" + +#. type: example +#: doc/guix.texi:11330 +#, no-wrap +msgid "" +"(operating-system\n" +" (host-name \"mymachine\")\n" +" ;; ...\n" +" (hosts-file\n" +" ;; Create a /etc/hosts file with aliases for \"localhost\"\n" +" ;; and \"mymachine\", as well as for Facebook servers.\n" +" (plain-file \"hosts\"\n" +" (string-append (local-host-aliases host-name)\n" +" %facebook-host-aliases))))\n" +msgstr "" + +#. type: defvr +#: doc/guix.texi:11334 +msgid "This mechanism can prevent programs running locally, such as Web browsers, from accessing Facebook." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:11337 +msgid "The @code{(gnu services avahi)} provides the following definition." +msgstr "" + +#. type: deffn +#: doc/guix.texi:11338 +#, no-wrap +msgid "{Scheme Procedure} avahi-service [#:avahi @var{avahi}] @" +msgstr "" + +#. type: deffn +#: doc/guix.texi:11350 +msgid "" +"[#:host-name #f] [#:publish? #t] [#:ipv4? #t] @ [#:ipv6? #t] [#:wide-area? #f] @ [#:domains-to-browse '()] [#:debug? #f] Return a " +"service that runs @command{avahi-daemon}, a system-wide mDNS/DNS-SD responder that allows for service discovery and \"zero-" +"configuration\" host name lookups (see @uref{http://avahi.org/}), and extends the name service cache daemon (nscd) so that it can " +"resolve @code{.local} host names using @uref{http://0pointer.de/lennart/projects/nss-mdns/, nss-mdns}. Additionally, add the " +"@var{avahi} package to the system profile so that commands such as @command{avahi-browse} are directly usable." +msgstr "" + +#. type: deffn +#: doc/guix.texi:11353 +msgid "" +"If @var{host-name} is different from @code{#f}, use that as the host name to publish for this machine; otherwise, use the machine's " +"actual host name." +msgstr "" + +#. type: deffn +#: doc/guix.texi:11357 +msgid "" +"When @var{publish?} is true, publishing of host names and services is allowed; in particular, avahi-daemon will publish the " +"machine's host name and IP address via mDNS on the local network." +msgstr "" + +#. type: deffn +#: doc/guix.texi:11359 +msgid "When @var{wide-area?} is true, DNS-SD over unicast DNS is enabled." +msgstr "" + +#. type: deffn +#: doc/guix.texi:11362 +msgid "Boolean values @var{ipv4?} and @var{ipv6?} determine whether to use IPv4/IPv6 sockets." +msgstr "" + +#. type: deffn +#: doc/guix.texi:11364 +#, no-wrap +msgid "{Scheme Variable} openvswitch-service-type" +msgstr "" + +#. type: deffn +#: doc/guix.texi:11368 +msgid "" +"This is the type of the @uref{http://www.openvswitch.org, Open vSwitch} service, whose value should be an @code{openvswitch-" +"configuration} object." +msgstr "" + +#. type: deftp +#: doc/guix.texi:11370 +#, no-wrap +msgid "{Data Type} openvswitch-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:11374 +msgid "" +"Data type representing the configuration of Open vSwitch, a multilayer virtual switch which is designed to enable massive network " +"automation through programmatic extension." +msgstr "" + +#. type: item +#: doc/guix.texi:11376 +#, no-wrap +msgid "@code{package} (default: @var{openvswitch})" +msgstr "" + +#. type: table +#: doc/guix.texi:11378 +msgid "Package object of the Open vSwitch." +msgstr "" + +#. type: cindex +#: doc/guix.texi:11385 +#, no-wrap +msgid "X11" +msgstr "" + +#. type: cindex +#: doc/guix.texi:11386 +#, no-wrap +msgid "X Window System" +msgstr "" + +#. type: cindex +#: doc/guix.texi:11387 doc/guix.texi:11564 +#, no-wrap +msgid "login manager" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:11392 +msgid "" +"Support for the X Window graphical display system---specifically Xorg---is provided by the @code{(gnu services xorg)} module. Note " +"that there is no @code{xorg-service} procedure. Instead, the X server is started by the @dfn{login manager}, by default SLiM." +msgstr "" + +#. type: cindex +#: doc/guix.texi:11393 +#, no-wrap +msgid "window manager" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:11398 +msgid "" +"To use X11, you must install at least one @dfn{window manager}---for example the @code{windowmaker} or @code{openbox} packages---" +"preferably by adding it to the @code{packages} field of your operating system definition (@pxref{operating-system Reference, system-" +"wide packages})." +msgstr "" + +#. type: defvr +#: doc/guix.texi:11399 +#, no-wrap +msgid "{Scheme Variable} slim-service-type" +msgstr "" + +#. type: defvr +#: doc/guix.texi:11401 +msgid "This is the type for the SLiM graphical login manager for X11." +msgstr "" + +#. type: cindex +#: doc/guix.texi:11402 +#, no-wrap +msgid "session types (X11)" +msgstr "" + +#. type: cindex +#: doc/guix.texi:11403 +#, no-wrap +msgid "X11 session types" +msgstr "" + +#. type: defvr +#: doc/guix.texi:11410 +msgid "" +"SLiM looks for @dfn{session types} described by the @file{.desktop} files in @file{/run/current-system/profile/share/xsessions} and " +"allows users to choose a session from the log-in screen using @kbd{F1}. Packages such as @code{xfce}, @code{sawfish}, and " +"@code{ratpoison} provide @file{.desktop} files; adding them to the system-wide set of packages automatically makes them available at " +"the log-in screen." +msgstr "" + +#. type: defvr +#: doc/guix.texi:11414 +msgid "" +"In addition, @file{~/.xsession} files are honored. When available, @file{~/.xsession} must be an executable that starts a window " +"manager and/or other X clients." +msgstr "" + +#. type: deftp +#: doc/guix.texi:11416 +#, no-wrap +msgid "{Data Type} slim-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:11418 +msgid "Data type representing the configuration of @code{slim-service-type}." +msgstr "" + +#. type: table +#: doc/guix.texi:11422 +msgid "Whether to allow logins with empty passwords." +msgstr "" + +#. type: item +#: doc/guix.texi:11423 +#, no-wrap +msgid "@code{auto-login?} (default: @code{#f})" +msgstr "" + +#. type: itemx +#: doc/guix.texi:11424 +#, no-wrap +msgid "@code{default-user} (default: @code{\"\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:11426 +msgid "When @code{auto-login?} is false, SLiM presents a log-in screen." +msgstr "" + +#. type: table +#: doc/guix.texi:11429 +msgid "When @code{auto-login?} is true, SLiM logs in directly as @code{default-user}." +msgstr "" + +#. type: item +#: doc/guix.texi:11430 +#, no-wrap +msgid "@code{theme} (default: @code{%default-slim-theme})" +msgstr "" + +#. type: itemx +#: doc/guix.texi:11431 +#, no-wrap +msgid "@code{theme-name} (default: @code{%default-slim-theme-name})" +msgstr "" + +#. type: table +#: doc/guix.texi:11433 +msgid "The graphical theme to use and its name." +msgstr "" + +#. type: item +#: doc/guix.texi:11434 +#, no-wrap +msgid "@code{auto-login-session} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:11437 +msgid "" +"If true, this must be the name of the executable to start as the default session---e.g., @code{(file-append windowmaker \"/bin/" +"windowmaker\")}." +msgstr "" + +#. type: table +#: doc/guix.texi:11441 +msgid "" +"If false, a session described by one of the available @file{.desktop} files in @code{/run/current-system/profile} and @code{~/.guix-" +"profile} will be used." +msgstr "" + +#. type: quotation +#: doc/guix.texi:11446 +msgid "" +"You must install at least one window manager in the system profile or in your user profile. Failing to do that, if @code{auto-login-" +"session} is false, you will be unable to log in." +msgstr "" + +#. type: item +#: doc/guix.texi:11448 +#, no-wrap +msgid "@code{startx} (default: @code{(xorg-start-command)})" +msgstr "" + +#. type: table +#: doc/guix.texi:11450 +msgid "The command used to start the X11 graphical server." +msgstr "" + +#. type: item +#: doc/guix.texi:11451 +#, no-wrap +msgid "@code{xauth} (default: @code{xauth})" +msgstr "" + +#. type: table +#: doc/guix.texi:11453 +msgid "The XAuth package to use." +msgstr "" + +#. type: item +#: doc/guix.texi:11454 +#, no-wrap +msgid "@code{shepherd} (default: @code{shepherd})" +msgstr "" + +#. type: table +#: doc/guix.texi:11457 +msgid "The Shepherd package used when invoking @command{halt} and @command{reboot}." +msgstr "" + +#. type: item +#: doc/guix.texi:11458 +#, no-wrap +msgid "@code{sessreg} (default: @code{sessreg})" +msgstr "" + +#. type: table +#: doc/guix.texi:11460 +msgid "The sessreg package used in order to register the session." +msgstr "" + +#. type: item +#: doc/guix.texi:11461 +#, no-wrap +msgid "@code{slim} (default: @code{slim})" +msgstr "" + +#. type: table +#: doc/guix.texi:11463 +msgid "The SLiM package to use." +msgstr "" + +#. type: defvr +#: doc/guix.texi:11466 doc/guix.texi:20226 +#, no-wrap +msgid "{Scheme Variable} %default-theme" +msgstr "" + +#. type: defvrx +#: doc/guix.texi:11467 +#, no-wrap +msgid "{Scheme Variable} %default-theme-name" +msgstr "" + +#. type: defvr +#: doc/guix.texi:11469 +msgid "The default SLiM theme and its name." +msgstr "" + +#. type: deftp +#: doc/guix.texi:11472 +#, no-wrap +msgid "{Data Type} sddm-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:11474 +msgid "This is the data type representing the sddm service configuration." +msgstr "" + +#. type: item +#: doc/guix.texi:11476 +#, no-wrap +msgid "@code{display-server} (default: \"x11\")" +msgstr "" + +#. type: table +#: doc/guix.texi:11479 +msgid "Select display server to use for the greeter. Valid values are \"x11\" or \"wayland\"." +msgstr "" + +#. type: item +#: doc/guix.texi:11480 +#, no-wrap +msgid "@code{numlock} (default: \"on\")" +msgstr "" + +#. type: table +#: doc/guix.texi:11482 +msgid "Valid values are \"on\", \"off\" or \"none\"." +msgstr "" + +#. type: item +#: doc/guix.texi:11483 +#, no-wrap +msgid "@code{halt-command} (default @code{#~(string-apppend #$shepherd \"/sbin/halt\")})" +msgstr "" + +#. type: table +#: doc/guix.texi:11485 +msgid "Command to run when halting." +msgstr "" + +#. type: item +#: doc/guix.texi:11486 +#, no-wrap +msgid "@code{reboot-command} (default @code{#~(string-append #$shepherd \"/sbin/reboot\")})" +msgstr "" + +#. type: table +#: doc/guix.texi:11488 +msgid "Command to run when rebooting." +msgstr "" + +#. type: item +#: doc/guix.texi:11489 +#, no-wrap +msgid "@code{theme} (default \"maldives\")" +msgstr "" + +#. type: table +#: doc/guix.texi:11491 +msgid "Theme to use. Default themes provided by SDDM are \"elarun\" or \"maldives\"." +msgstr "" + +#. type: item +#: doc/guix.texi:11492 +#, no-wrap +msgid "@code{themes-directory} (default \"/run/current-system/profile/share/sddm/themes\")" +msgstr "" + +#. type: table +#: doc/guix.texi:11494 +msgid "Directory to look for themes." +msgstr "" + +#. type: item +#: doc/guix.texi:11495 +#, no-wrap +msgid "@code{faces-directory} (default \"/run/current-system/profile/share/sddm/faces\")" +msgstr "" + +#. type: table +#: doc/guix.texi:11497 +msgid "Directory to look for faces." +msgstr "" + +#. type: item +#: doc/guix.texi:11498 +#, no-wrap +msgid "@code{default-path} (default \"/run/current-system/profile/bin\")" +msgstr "" + +#. type: table +#: doc/guix.texi:11500 +msgid "Default PATH to use." +msgstr "" + +#. type: item +#: doc/guix.texi:11501 +#, no-wrap +msgid "@code{minimum-uid} (default 1000)" +msgstr "" + +#. type: table +#: doc/guix.texi:11503 +msgid "Minimum UID to display in SDDM." +msgstr "" + +#. type: item +#: doc/guix.texi:11504 +#, no-wrap +msgid "@code{maximum-uid} (default 2000)" +msgstr "" + +#. type: table +#: doc/guix.texi:11506 +msgid "Maximum UID to display in SDDM" +msgstr "" + +#. type: item +#: doc/guix.texi:11507 +#, no-wrap +msgid "@code{remember-last-user?} (default #t)" +msgstr "" + +#. type: table +#: doc/guix.texi:11509 +msgid "Remember last user." +msgstr "" + +#. type: item +#: doc/guix.texi:11510 +#, no-wrap +msgid "@code{remember-last-session?} (default #t)" +msgstr "" + +#. type: table +#: doc/guix.texi:11512 +msgid "Remember last session." +msgstr "" + +#. type: item +#: doc/guix.texi:11513 +#, no-wrap +msgid "@code{hide-users} (default \"\")" +msgstr "" + +#. type: table +#: doc/guix.texi:11515 +msgid "Usernames to hide from SDDM greeter." +msgstr "" + +#. type: item +#: doc/guix.texi:11516 +#, no-wrap +msgid "@code{hide-shells} (default @code{#~(string-append #$shadow \"/sbin/nologin\")})" +msgstr "" + +#. type: table +#: doc/guix.texi:11518 +msgid "Users with shells listed will be hidden from the SDDM greeter." +msgstr "" + +#. type: item +#: doc/guix.texi:11519 +#, no-wrap +msgid "@code{session-command} (default @code{#~(string-append #$sddm \"/share/sddm/scripts/wayland-session\")})" +msgstr "" + +#. type: table +#: doc/guix.texi:11521 +msgid "Script to run before starting a wayland session." +msgstr "" + +#. type: item +#: doc/guix.texi:11522 +#, no-wrap +msgid "@code{sessions-directory} (default \"/run/current-system/profile/share/wayland-sessions\")" +msgstr "" + +#. type: table +#: doc/guix.texi:11524 +msgid "Directory to look for desktop files starting wayland sessions." +msgstr "" + +#. type: item +#: doc/guix.texi:11525 +#, no-wrap +msgid "@code{xorg-server-path} (default @code{xorg-start-command})" +msgstr "" + +#. type: table +#: doc/guix.texi:11527 +msgid "Path to xorg-server." +msgstr "" + +#. type: item +#: doc/guix.texi:11528 +#, no-wrap +msgid "@code{xauth-path} (default @code{#~(string-append #$xauth \"/bin/xauth\")})" +msgstr "" + +#. type: table +#: doc/guix.texi:11530 +msgid "Path to xauth." +msgstr "" + +#. type: item +#: doc/guix.texi:11531 +#, no-wrap +msgid "@code{xephyr-path} (default @code{#~(string-append #$xorg-server \"/bin/Xephyr\")})" +msgstr "" + +#. type: table +#: doc/guix.texi:11533 +msgid "Path to Xephyr." +msgstr "" + +#. type: item +#: doc/guix.texi:11534 +#, no-wrap +msgid "@code{xdisplay-start} (default @code{#~(string-append #$sddm \"/share/sddm/scripts/Xsetup\")})" +msgstr "" + +#. type: table +#: doc/guix.texi:11536 +msgid "Script to run after starting xorg-server." +msgstr "" + +#. type: item +#: doc/guix.texi:11537 +#, no-wrap +msgid "@code{xdisplay-stop} (default @code{#~(string-append #$sddm \"/share/sddm/scripts/Xstop\")})" +msgstr "" + +#. type: table +#: doc/guix.texi:11539 +msgid "Script to run before stopping xorg-server." +msgstr "" + +#. type: item +#: doc/guix.texi:11540 +#, no-wrap +msgid "@code{xsession-command} (default: @code{xinitr })" +msgstr "" + +#. type: table +#: doc/guix.texi:11542 +msgid "Script to run before starting a X session." +msgstr "" + +#. type: item +#: doc/guix.texi:11543 +#, no-wrap +msgid "@code{xsessions-directory} (default: \"/run/current-system/profile/share/xsessions\")" +msgstr "" + +#. type: table +#: doc/guix.texi:11545 +msgid "Directory to look for desktop files starting X sessions." +msgstr "" + +#. type: item +#: doc/guix.texi:11546 +#, no-wrap +msgid "@code{minimum-vt} (default: 7)" +msgstr "" + +#. type: table +#: doc/guix.texi:11548 +msgid "Minimum VT to use." +msgstr "" + +#. type: item +#: doc/guix.texi:11549 +#, no-wrap +msgid "@code{xserver-arguments} (default \"-nolisten tcp\")" +msgstr "" + +#. type: table +#: doc/guix.texi:11551 +msgid "Arguments to pass to xorg-server." +msgstr "" + +#. type: item +#: doc/guix.texi:11552 +#, no-wrap +msgid "@code{auto-login-user} (default \"\")" +msgstr "" + +#. type: table +#: doc/guix.texi:11554 +msgid "User to use for auto-login." +msgstr "" + +#. type: item +#: doc/guix.texi:11555 +#, no-wrap +msgid "@code{auto-login-session} (default \"\")" +msgstr "" + +#. type: table +#: doc/guix.texi:11557 +msgid "Desktop file to use for auto-login." +msgstr "" + +#. type: item +#: doc/guix.texi:11558 +#, no-wrap +msgid "@code{relogin?} (default #f)" +msgstr "" + +#. type: table +#: doc/guix.texi:11560 +msgid "Relogin after logout." +msgstr "" + +#. type: cindex +#: doc/guix.texi:11565 +#, no-wrap +msgid "X11 login" +msgstr "" + +#. type: deffn +#: doc/guix.texi:11566 +#, no-wrap +msgid "{Scheme Procedure} sddm-service config" +msgstr "" + +#. type: deffn +#: doc/guix.texi:11569 +msgid "Return a service that spawns the SDDM graphical login manager for config of type @code{<sddm-configuration>}." +msgstr "" + +#. type: example +#: doc/guix.texi:11574 +#, no-wrap +msgid "" +" (sddm-service (sddm-configuration\n" +" (auto-login-user \"Alice\")\n" +" (auto-login-session \"xfce.desktop\")))\n" +msgstr "" + +#. type: deffn +#: doc/guix.texi:11577 +#, no-wrap +msgid "{Scheme Procedure} xorg-start-command [#:guile] @" +msgstr "" + +#. type: deffn +#: doc/guix.texi:11586 +msgid "" +"[#:modules %default-xorg-modules] @ [#:fonts %default-xorg-fonts] @ [#:configuration-file (xorg-configuration-file @dots{})] @ [#:" +"xorg-server @var{xorg-server}] Return a @code{startx} script in which @var{modules}, a list of X module packages, and @var{fonts}, a " +"list of X font directories, are available. See @code{xorg-wrapper} for more details on the arguments. The result should be used in " +"place of @code{startx}." +msgstr "" + +#. type: deffn +#: doc/guix.texi:11588 +msgid "Usually the X server is started by a login manager." +msgstr "" + +#. type: deffn +#: doc/guix.texi:11590 +#, no-wrap +msgid "{Scheme Procedure} xorg-configuration-file @" +msgstr "" + +#. type: deffn +#: doc/guix.texi:11596 +msgid "" +"[#:modules %default-xorg-modules] @ [#:fonts %default-xorg-fonts] @ [#:drivers '()] [#:resolutions '()] [#:extra-config '()] Return " +"a configuration file for the Xorg server containing search paths for all the common drivers." +msgstr "" + +#. type: deffn +#: doc/guix.texi:11601 +msgid "" +"@var{modules} must be a list of @dfn{module packages} loaded by the Xorg server---e.g., @code{xf86-video-vesa}, @code{xf86-input-" +"keyboard}, and so on. @var{fonts} must be a list of font directories to add to the server's @dfn{font path}." +msgstr "" + +#. type: deffn +#: doc/guix.texi:11605 +msgid "" +"@var{drivers} must be either the empty list, in which case Xorg chooses a graphics driver automatically, or a list of driver names " +"that will be tried in this order---e.g., @code{(\"modesetting\" \"vesa\")}." +msgstr "" + +#. type: deffn +#: doc/guix.texi:11609 +msgid "" +"Likewise, when @var{resolutions} is the empty list, Xorg chooses an appropriate screen resolution; otherwise, it must be a list of " +"resolutions---e.g., @code{((1024 768) (640 480))}." +msgstr "" + +#. type: deffn +#: doc/guix.texi:11613 +msgid "" +"Last, @var{extra-config} is a list of strings or objects appended to the configuration file. It is used to pass extra text to be " +"added verbatim to the configuration file." +msgstr "" + +#. type: deffn +#: doc/guix.texi:11615 +#, no-wrap +msgid "{Scheme Procedure} screen-locker-service @var{package} [@var{program}]" +msgstr "" + +#. type: deffn +#: doc/guix.texi:11619 +msgid "" +"Add @var{package}, a package for a screen locker or screen saver whose command is @var{program}, to the set of setuid programs and " +"add a PAM entry for it. For example:" +msgstr "" + +#. type: lisp +#: doc/guix.texi:11622 +#, no-wrap +msgid "(screen-locker-service xlockmore \"xlock\")\n" +msgstr "" + +#. type: deffn +#: doc/guix.texi:11625 +msgid "makes the good ol' XlockMore usable." +msgstr "" + +#. type: cindex +#: doc/guix.texi:11631 +#, no-wrap +msgid "printer support with CUPS" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:11635 +msgid "" +"The @code{(gnu services cups)} module provides a Guix service definition for the CUPS printing service. To add printer support to a " +"GuixSD system, add a @code{cups-service} to the operating system definition:" +msgstr "" + +#. type: deffn +#: doc/guix.texi:11636 +#, no-wrap +msgid "{Scheme Variable} cups-service-type" +msgstr "" + +#. type: deffn +#: doc/guix.texi:11640 +msgid "" +"The service type for the CUPS print server. Its value should be a valid CUPS configuration (see below). To use the default " +"settings, simply write:" +msgstr "" + +#. type: example +#: doc/guix.texi:11642 +#, no-wrap +msgid "(service cups-service-type)\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:11652 +msgid "" +"The CUPS configuration controls the basic things about your CUPS installation: what interfaces it listens on, what to do if a print " +"job fails, how much logging to do, and so on. To actually add a printer, you have to visit the @url{http://localhost:631} URL, or " +"use a tool such as GNOME's printer configuration services. By default, configuring a CUPS service will generate a self-signed " +"certificate if needed, for secure connections to the print server." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:11657 +msgid "" +"Suppose you want to enable the Web interface of CUPS and also add support for Epson printers @i{via} the @code{escpr} package and " +"for HP printers @i{via} the @code{hplip} package. You can do that directly, like this (you need to use the @code{(gnu packages " +"cups)} module):" +msgstr "" + +#. type: example +#: doc/guix.texi:11664 +#, no-wrap +msgid "" +"(service cups-service-type\n" +" (cups-configuration\n" +" (web-interface? #t)\n" +" (extensions\n" +" (list cups-filters escpr hplip))))\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:11672 +msgid "" +"The available configuration parameters follow. Each parameter definition is preceded by its type; for example, @samp{string-list " +"foo} indicates that the @code{foo} parameter should be specified as a list of strings. There is also a way to specify the " +"configuration as a string, if you have an old @code{cupsd.conf} file that you want to port over from some other system; see the end " +"for more details." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:11683 +msgid "Available @code{cups-configuration} fields are:" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11684 +#, no-wrap +msgid "{@code{cups-configuration} parameter} package cups" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11686 doc/guix.texi:12443 +msgid "The CUPS package." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11688 +#, no-wrap +msgid "{@code{cups-configuration} parameter} package-list extensions" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11690 +msgid "Drivers and other extensions to the CUPS package." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11692 +#, no-wrap +msgid "{@code{cups-configuration} parameter} files-configuration files-configuration" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11695 +msgid "" +"Configuration of where to write logs, what directories to use for print spools, and related privileged configuration parameters." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11697 +msgid "Available @code{files-configuration} fields are:" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11698 +#, no-wrap +msgid "{@code{files-configuration} parameter} log-location access-log" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11706 +msgid "" +"Defines the access log filename. Specifying a blank filename disables access log generation. The value @code{stderr} causes log " +"entries to be sent to the standard error file when the scheduler is running in the foreground, or to the system log daemon when run " +"in the background. The value @code{syslog} causes log entries to be sent to the system log daemon. The server name may be included " +"in filenames using the string @code{%s}, as in @code{/var/log/cups/%s-access_log}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11708 +msgid "Defaults to @samp{\"/var/log/cups/access_log\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11710 +#, no-wrap +msgid "{@code{files-configuration} parameter} file-name cache-dir" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11712 +msgid "Where CUPS should cache data." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11714 +msgid "Defaults to @samp{\"/var/cache/cups\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11716 +#, no-wrap +msgid "{@code{files-configuration} parameter} string config-file-perm" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11719 +msgid "Specifies the permissions for all configuration files that the scheduler writes." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11725 +msgid "" +"Note that the permissions for the printers.conf file are currently masked to only allow access from the scheduler user (typically " +"root). This is done because printer device URIs sometimes contain sensitive authentication information that should not be generally " +"known on the system. There is no way to disable this security feature." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11727 +msgid "Defaults to @samp{\"0640\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11729 +#, no-wrap +msgid "{@code{files-configuration} parameter} log-location error-log" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11737 +msgid "" +"Defines the error log filename. Specifying a blank filename disables access log generation. The value @code{stderr} causes log " +"entries to be sent to the standard error file when the scheduler is running in the foreground, or to the system log daemon when run " +"in the background. The value @code{syslog} causes log entries to be sent to the system log daemon. The server name may be included " +"in filenames using the string @code{%s}, as in @code{/var/log/cups/%s-error_log}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11739 +msgid "Defaults to @samp{\"/var/log/cups/error_log\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11741 +#, no-wrap +msgid "{@code{files-configuration} parameter} string fatal-errors" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11744 +msgid "Specifies which errors are fatal, causing the scheduler to exit. The kind strings are:" +msgstr "" + +#. type: table +#: doc/guix.texi:11748 +msgid "No errors are fatal." +msgstr "" + +#. type: table +#: doc/guix.texi:11751 +msgid "All of the errors below are fatal." +msgstr "" + +#. type: item +#: doc/guix.texi:11752 +#, no-wrap +msgid "browse" +msgstr "" + +#. type: table +#: doc/guix.texi:11755 +msgid "Browsing initialization errors are fatal, for example failed connections to the DNS-SD daemon." +msgstr "" + +#. type: item +#: doc/guix.texi:11756 +#, no-wrap +msgid "config" +msgstr "" + +#. type: table +#: doc/guix.texi:11758 +msgid "Configuration file syntax errors are fatal." +msgstr "" + +#. type: item +#: doc/guix.texi:11759 +#, no-wrap +msgid "listen" +msgstr "" + +#. type: table +#: doc/guix.texi:11762 +msgid "Listen or Port errors are fatal, except for IPv6 failures on the loopback or @code{any} addresses." +msgstr "" + +#. type: item +#: doc/guix.texi:11763 +#, no-wrap +msgid "log" +msgstr "" + +#. type: table +#: doc/guix.texi:11765 +msgid "Log file creation or write errors are fatal." +msgstr "" + +#. type: item +#: doc/guix.texi:11766 +#, no-wrap +msgid "permissions" +msgstr "" + +#. type: table +#: doc/guix.texi:11769 +msgid "Bad startup file permissions are fatal, for example shared TLS certificate and key files with world-read permissions." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11772 +msgid "Defaults to @samp{\"all -browse\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11774 +#, no-wrap +msgid "{@code{files-configuration} parameter} boolean file-device?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11777 +msgid "" +"Specifies whether the file pseudo-device can be used for new printer queues. The URI @uref{file:///dev/null} is always allowed." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11779 doc/guix.texi:11849 doc/guix.texi:11885 doc/guix.texi:11897 doc/guix.texi:11903 doc/guix.texi:11919 +#: doc/guix.texi:12007 doc/guix.texi:12101 doc/guix.texi:12417 doc/guix.texi:12430 doc/guix.texi:16557 doc/guix.texi:16571 +#: doc/guix.texi:16693 doc/guix.texi:16714 doc/guix.texi:16735 doc/guix.texi:16742 doc/guix.texi:16787 doc/guix.texi:16794 +#: doc/guix.texi:17197 doc/guix.texi:17211 doc/guix.texi:17383 doc/guix.texi:17428 doc/guix.texi:17515 doc/guix.texi:17644 +#: doc/guix.texi:17677 doc/guix.texi:17817 doc/guix.texi:17828 doc/guix.texi:18078 doc/guix.texi:18717 doc/guix.texi:18726 +#: doc/guix.texi:18734 doc/guix.texi:18742 doc/guix.texi:18758 doc/guix.texi:18774 doc/guix.texi:18782 doc/guix.texi:18790 +#: doc/guix.texi:18799 doc/guix.texi:18808 doc/guix.texi:18824 doc/guix.texi:18888 doc/guix.texi:18994 doc/guix.texi:19002 +#: doc/guix.texi:19010 doc/guix.texi:19026 doc/guix.texi:19080 doc/guix.texi:19128 doc/guix.texi:19281 doc/guix.texi:19289 +#: doc/guix.texi:19297 doc/guix.texi:19305 doc/guix.texi:19313 doc/guix.texi:19321 doc/guix.texi:19329 doc/guix.texi:19336 +msgid "Defaults to @samp{#f}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11781 +#, no-wrap +msgid "{@code{files-configuration} parameter} string group" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11784 +msgid "Specifies the group name or ID that will be used when executing external programs." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11786 doc/guix.texi:11866 +msgid "Defaults to @samp{\"lp\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11788 +#, no-wrap +msgid "{@code{files-configuration} parameter} string log-file-perm" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11790 +msgid "Specifies the permissions for all log files that the scheduler writes." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11792 +msgid "Defaults to @samp{\"0644\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11794 +#, no-wrap +msgid "{@code{files-configuration} parameter} log-location page-log" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11802 +msgid "" +"Defines the page log filename. Specifying a blank filename disables access log generation. The value @code{stderr} causes log " +"entries to be sent to the standard error file when the scheduler is running in the foreground, or to the system log daemon when run " +"in the background. The value @code{syslog} causes log entries to be sent to the system log daemon. The server name may be included " +"in filenames using the string @code{%s}, as in @code{/var/log/cups/%s-page_log}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11804 +msgid "Defaults to @samp{\"/var/log/cups/page_log\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11806 +#, no-wrap +msgid "{@code{files-configuration} parameter} string remote-root" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11809 +msgid "" +"Specifies the username that is associated with unauthenticated accesses by clients claiming to be the root user. The default is " +"@code{remroot}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11811 +msgid "Defaults to @samp{\"remroot\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11813 +#, no-wrap +msgid "{@code{files-configuration} parameter} file-name request-root" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11816 +msgid "Specifies the directory that contains print jobs and other HTTP request data." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11818 +msgid "Defaults to @samp{\"/var/spool/cups\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11820 +#, no-wrap +msgid "{@code{files-configuration} parameter} sandboxing sandboxing" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11825 +msgid "" +"Specifies the level of security sandboxing that is applied to print filters, backends, and other child processes of the scheduler; " +"either @code{relaxed} or @code{strict}. This directive is currently only used/supported on macOS." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11827 +msgid "Defaults to @samp{strict}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11829 +#, no-wrap +msgid "{@code{files-configuration} parameter} file-name server-keychain" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11834 +msgid "" +"Specifies the location of TLS certificates and private keys. CUPS will look for public and private keys in this directory: a @code{." +"crt} files for PEM-encoded certificates and corresponding @code{.key} files for PEM-encoded private keys." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11836 +msgid "Defaults to @samp{\"/etc/cups/ssl\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11838 +#, no-wrap +msgid "{@code{files-configuration} parameter} file-name server-root" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11840 +msgid "Specifies the directory containing the server configuration files." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11842 +msgid "Defaults to @samp{\"/etc/cups\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11844 +#, no-wrap +msgid "{@code{files-configuration} parameter} boolean sync-on-close?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11847 +msgid "Specifies whether the scheduler calls fsync(2) after writing configuration or state files." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11851 +#, no-wrap +msgid "{@code{files-configuration} parameter} space-separated-string-list system-group" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11853 +msgid "Specifies the group(s) to use for @code{@@SYSTEM} group authentication." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11855 +#, no-wrap +msgid "{@code{files-configuration} parameter} file-name temp-dir" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11857 +msgid "Specifies the directory where temporary files are stored." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11859 +msgid "Defaults to @samp{\"/var/spool/cups/tmp\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11861 +#, no-wrap +msgid "{@code{files-configuration} parameter} string user" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11864 +msgid "Specifies the user name or ID that is used when running external programs." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11869 +#, no-wrap +msgid "{@code{cups-configuration} parameter} access-log-level access-log-level" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11876 +msgid "" +"Specifies the logging level for the AccessLog file. The @code{config} level logs when printers and classes are added, deleted, or " +"modified and when configuration files are accessed or updated. The @code{actions} level logs when print jobs are submitted, held, " +"released, modified, or canceled, and any of the conditions for @code{config}. The @code{all} level logs all requests." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11878 +msgid "Defaults to @samp{actions}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11880 +#, no-wrap +msgid "{@code{cups-configuration} parameter} boolean auto-purge-jobs?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11883 +msgid "Specifies whether to purge job history data automatically when it is no longer required for quotas." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11887 +#, no-wrap +msgid "{@code{cups-configuration} parameter} browse-local-protocols browse-local-protocols" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11889 +msgid "Specifies which protocols to use for local printer sharing." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11891 +msgid "Defaults to @samp{dnssd}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11893 +#, no-wrap +msgid "{@code{cups-configuration} parameter} boolean browse-web-if?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11895 +msgid "Specifies whether the CUPS web interface is advertised." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11899 +#, no-wrap +msgid "{@code{cups-configuration} parameter} boolean browsing?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11901 +msgid "Specifies whether shared printers are advertised." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11905 +#, no-wrap +msgid "{@code{cups-configuration} parameter} string classification" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11910 +msgid "" +"Specifies the security classification of the server. Any valid banner name can be used, including \"classified\", \"confidential\", " +"\"secret\", \"topsecret\", and \"unclassified\", or the banner can be omitted to disable secure printing functions." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11912 doc/guix.texi:12249 doc/guix.texi:13608 doc/guix.texi:13620 doc/guix.texi:17783 doc/guix.texi:17791 +#: doc/guix.texi:17799 doc/guix.texi:17807 doc/guix.texi:18085 doc/guix.texi:18560 doc/guix.texi:18568 doc/guix.texi:18576 +#: doc/guix.texi:18684 doc/guix.texi:18709 doc/guix.texi:18840 doc/guix.texi:18848 doc/guix.texi:18856 doc/guix.texi:18864 +#: doc/guix.texi:18872 doc/guix.texi:18880 doc/guix.texi:18903 doc/guix.texi:18911 doc/guix.texi:18963 doc/guix.texi:18979 +#: doc/guix.texi:18987 doc/guix.texi:19017 doc/guix.texi:19040 doc/guix.texi:19062 doc/guix.texi:19069 doc/guix.texi:19104 +#: doc/guix.texi:19112 doc/guix.texi:19136 doc/guix.texi:19168 doc/guix.texi:19197 doc/guix.texi:19204 doc/guix.texi:19211 +#: doc/guix.texi:19219 doc/guix.texi:19233 doc/guix.texi:19242 doc/guix.texi:19252 doc/guix.texi:19259 doc/guix.texi:19266 +#: doc/guix.texi:19273 doc/guix.texi:19344 doc/guix.texi:19351 doc/guix.texi:19358 doc/guix.texi:19367 doc/guix.texi:19383 +#: doc/guix.texi:19390 doc/guix.texi:19397 doc/guix.texi:19404 doc/guix.texi:19412 doc/guix.texi:19420 +msgid "Defaults to @samp{\"\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11914 +#, no-wrap +msgid "{@code{cups-configuration} parameter} boolean classify-override?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11917 +msgid "" +"Specifies whether users may override the classification (cover page) of individual print jobs using the @code{job-sheets} option." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11921 +#, no-wrap +msgid "{@code{cups-configuration} parameter} default-auth-type default-auth-type" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11923 +msgid "Specifies the default type of authentication to use." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11925 +msgid "Defaults to @samp{Basic}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11927 +#, no-wrap +msgid "{@code{cups-configuration} parameter} default-encryption default-encryption" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11929 +msgid "Specifies whether encryption will be used for authenticated requests." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11931 +msgid "Defaults to @samp{Required}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11933 +#, no-wrap +msgid "{@code{cups-configuration} parameter} string default-language" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11935 +msgid "Specifies the default language to use for text and web content." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11937 +msgid "Defaults to @samp{\"en\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11939 +#, no-wrap +msgid "{@code{cups-configuration} parameter} string default-paper-size" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11944 +msgid "" +"Specifies the default paper size for new print queues. @samp{\"Auto\"} uses a locale-specific default, while @samp{\"None\"} " +"specifies there is no default paper size. Specific size names are typically @samp{\"Letter\"} or @samp{\"A4\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11946 +msgid "Defaults to @samp{\"Auto\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11948 +#, no-wrap +msgid "{@code{cups-configuration} parameter} string default-policy" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11950 +msgid "Specifies the default access policy to use." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11952 +msgid "Defaults to @samp{\"default\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11954 +#, no-wrap +msgid "{@code{cups-configuration} parameter} boolean default-shared?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11956 +msgid "Specifies whether local printers are shared by default." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11958 doc/guix.texi:12038 doc/guix.texi:12334 doc/guix.texi:16527 doc/guix.texi:16534 doc/guix.texi:16542 +#: doc/guix.texi:16564 doc/guix.texi:16578 doc/guix.texi:16663 doc/guix.texi:16670 doc/guix.texi:16678 doc/guix.texi:17064 +#: doc/guix.texi:17204 doc/guix.texi:17390 doc/guix.texi:17397 doc/guix.texi:17419 doc/guix.texi:17458 doc/guix.texi:17478 +#: doc/guix.texi:17492 doc/guix.texi:17632 doc/guix.texi:18662 doc/guix.texi:18750 doc/guix.texi:18766 doc/guix.texi:18816 +msgid "Defaults to @samp{#t}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11960 +#, no-wrap +msgid "{@code{cups-configuration} parameter} non-negative-integer dirty-clean-interval" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11964 +msgid "" +"Specifies the delay for updating of configuration and state files, in seconds. A value of 0 causes the update to happen as soon as " +"possible, typically within a few milliseconds." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11966 doc/guix.texi:12014 doc/guix.texi:12023 doc/guix.texi:12044 doc/guix.texi:12341 +msgid "Defaults to @samp{30}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11968 +#, no-wrap +msgid "{@code{cups-configuration} parameter} error-policy error-policy" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11974 +msgid "" +"Specifies what to do when an error occurs. Possible values are @code{abort-job}, which will discard the failed print job; " +"@code{retry-job}, which will retry the job at a later time; @code{retry-this-job}, which retries the failed job immediately; and " +"@code{stop-printer}, which stops the printer." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11976 +msgid "Defaults to @samp{stop-printer}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11978 +#, no-wrap +msgid "{@code{cups-configuration} parameter} non-negative-integer filter-limit" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11986 +msgid "" +"Specifies the maximum cost of filters that are run concurrently, which can be used to minimize disk, memory, and CPU resource " +"problems. A limit of 0 disables filter limiting. An average print to a non-PostScript printer needs a filter limit of about 200. " +"A PostScript printer needs about half that (100). Setting the limit below these thresholds will effectively limit the scheduler to " +"printing a single job at any time." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11988 doc/guix.texi:11996 doc/guix.texi:12051 doc/guix.texi:12167 doc/guix.texi:12181 doc/guix.texi:12188 +#: doc/guix.texi:13712 doc/guix.texi:13724 doc/guix.texi:17080 doc/guix.texi:17405 doc/guix.texi:18655 doc/guix.texi:18955 +#: doc/guix.texi:19120 +msgid "Defaults to @samp{0}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11990 +#, no-wrap +msgid "{@code{cups-configuration} parameter} non-negative-integer filter-nice" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11994 +msgid "" +"Specifies the scheduling priority of filters that are run to print a job. The nice value ranges from 0, the highest priority, to " +"19, the lowest priority." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11998 +#, no-wrap +msgid "{@code{cups-configuration} parameter} host-name-lookups host-name-lookups" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12005 +msgid "" +"Specifies whether to do reverse lookups on connecting clients. The @code{double} setting causes @code{cupsd} to verify that the " +"hostname resolved from the address matches one of the addresses returned for that hostname. Double lookups also prevent clients " +"with unregistered addresses from connecting to your server. Only set this option to @code{#t} or @code{double} if absolutely " +"required." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12009 +#, no-wrap +msgid "{@code{cups-configuration} parameter} non-negative-integer job-kill-delay" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12012 +msgid "Specifies the number of seconds to wait before killing the filters and backend associated with a canceled or held job." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12016 +#, no-wrap +msgid "{@code{cups-configuration} parameter} non-negative-integer job-retry-interval" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12021 +msgid "" +"Specifies the interval between retries of jobs in seconds. This is typically used for fax queues but can also be used with normal " +"print queues whose error policy is @code{retry-job} or @code{retry-current-job}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12025 +#, no-wrap +msgid "{@code{cups-configuration} parameter} non-negative-integer job-retry-limit" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12030 +msgid "" +"Specifies the number of retries that are done for jobs. This is typically used for fax queues but can also be used with normal " +"print queues whose error policy is @code{retry-job} or @code{retry-current-job}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12032 doc/guix.texi:17884 doc/guix.texi:17904 doc/guix.texi:17920 doc/guix.texi:17934 doc/guix.texi:17941 +#: doc/guix.texi:17948 doc/guix.texi:17955 doc/guix.texi:18114 doc/guix.texi:18130 doc/guix.texi:18137 doc/guix.texi:18144 +#: doc/guix.texi:18155 doc/guix.texi:18607 doc/guix.texi:18615 doc/guix.texi:18623 doc/guix.texi:18647 +msgid "Defaults to @samp{5}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12034 +#, no-wrap +msgid "{@code{cups-configuration} parameter} boolean keep-alive?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12036 +msgid "Specifies whether to support HTTP keep-alive connections." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12040 +#, no-wrap +msgid "{@code{cups-configuration} parameter} non-negative-integer keep-alive-timeout" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12042 +msgid "Specifies how long an idle client connection remains open, in seconds." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12046 +#, no-wrap +msgid "{@code{cups-configuration} parameter} non-negative-integer limit-request-body" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12049 +msgid "Specifies the maximum size of print files, IPP requests, and HTML form data. A limit of 0 disables the limit check." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12053 +#, no-wrap +msgid "{@code{cups-configuration} parameter} multiline-string-list listen" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12060 +msgid "" +"Listens on the specified interfaces for connections. Valid values are of the form @var{address}:@var{port}, where @var{address} is " +"either an IPv6 address enclosed in brackets, an IPv4 address, or @code{*} to indicate all addresses. Values can also be file names " +"of local UNIX domain sockets. The Listen directive is similar to the Port directive but allows you to restrict access to specific " +"interfaces or networks." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12062 +#, no-wrap +msgid "{@code{cups-configuration} parameter} non-negative-integer listen-back-log" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12069 +msgid "" +"Specifies the number of pending connections that will be allowed. This normally only affects very busy servers that have reached " +"the MaxClients limit, but can also be triggered by large numbers of simultaneous connections. When the limit is reached, the " +"operating system will refuse additional connections until the scheduler can accept the pending ones." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12071 +msgid "Defaults to @samp{128}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12073 +#, no-wrap +msgid "{@code{cups-configuration} parameter} location-access-control-list location-access-controls" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12075 +msgid "Specifies a set of additional access controls." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12077 +msgid "Available @code{location-access-controls} fields are:" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12078 +#, no-wrap +msgid "{@code{location-access-controls} parameter} file-name path" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12080 +msgid "Specifies the URI path to which the access control applies." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12082 +#, no-wrap +msgid "{@code{location-access-controls} parameter} access-control-list access-controls" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12085 +msgid "" +"Access controls for all access to this path, in the same format as the @code{access-controls} of @code{operation-access-control}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12087 doc/guix.texi:12093 doc/guix.texi:12107 doc/guix.texi:12114 doc/guix.texi:12256 doc/guix.texi:12315 +#: doc/guix.texi:12399 doc/guix.texi:12410 doc/guix.texi:14198 doc/guix.texi:16585 doc/guix.texi:16773 doc/guix.texi:17775 +#: doc/guix.texi:17835 doc/guix.texi:17843 doc/guix.texi:18670 doc/guix.texi:18677 doc/guix.texi:19088 doc/guix.texi:19182 +#: doc/guix.texi:19190 doc/guix.texi:19226 doc/guix.texi:19376 doc/guix.texi:19427 doc/guix.texi:19436 +msgid "Defaults to @samp{()}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12089 +#, no-wrap +msgid "{@code{location-access-controls} parameter} method-access-control-list method-access-controls" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12091 +msgid "Access controls for method-specific access to this path." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12095 +msgid "Available @code{method-access-controls} fields are:" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12096 +#, no-wrap +msgid "{@code{method-access-controls} parameter} boolean reverse?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12099 +msgid "If @code{#t}, apply access controls to all methods except the listed methods. Otherwise apply to only the listed methods." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12103 +#, no-wrap +msgid "{@code{method-access-controls} parameter} method-list methods" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12105 +msgid "Methods to which this access control applies." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12109 +#, no-wrap +msgid "{@code{method-access-controls} parameter} access-control-list access-controls" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12112 +msgid "Access control directives, as a list of strings. Each string should be one directive, such as \"Order allow,deny\"." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12118 +#, no-wrap +msgid "{@code{cups-configuration} parameter} non-negative-integer log-debug-history" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12122 +msgid "" +"Specifies the number of debugging messages that are retained for logging if an error occurs in a print job. Debug messages are " +"logged regardless of the LogLevel setting." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12124 doc/guix.texi:12145 doc/guix.texi:12152 doc/guix.texi:13958 doc/guix.texi:16758 +msgid "Defaults to @samp{100}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12126 +#, no-wrap +msgid "{@code{cups-configuration} parameter} log-level log-level" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12129 +msgid "" +"Specifies the level of logging for the ErrorLog file. The value @code{none} stops all logging while @code{debug2} logs everything." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12131 +msgid "Defaults to @samp{info}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12133 +#, no-wrap +msgid "{@code{cups-configuration} parameter} log-time-format log-time-format" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12136 +msgid "" +"Specifies the format of the date and time in the log files. The value @code{standard} logs whole seconds while @code{usecs} logs " +"microseconds." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12138 +msgid "Defaults to @samp{standard}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12140 +#, no-wrap +msgid "{@code{cups-configuration} parameter} non-negative-integer max-clients" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12143 +msgid "Specifies the maximum number of simultaneous clients that are allowed by the scheduler." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12147 +#, no-wrap +msgid "{@code{cups-configuration} parameter} non-negative-integer max-clients-per-host" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12150 +msgid "Specifies the maximum number of simultaneous clients that are allowed from a single address." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12154 +#, no-wrap +msgid "{@code{cups-configuration} parameter} non-negative-integer max-copies" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12157 +msgid "Specifies the maximum number of copies that a user can print of each job." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12159 +msgid "Defaults to @samp{9999}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12161 +#, no-wrap +msgid "{@code{cups-configuration} parameter} non-negative-integer max-hold-time" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12165 +msgid "" +"Specifies the maximum time a job may remain in the @code{indefinite} hold state before it is canceled. A value of 0 disables " +"cancellation of held jobs." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12169 +#, no-wrap +msgid "{@code{cups-configuration} parameter} non-negative-integer max-jobs" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12172 +msgid "Specifies the maximum number of simultaneous jobs that are allowed. Set to 0 to allow an unlimited number of jobs." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12174 +msgid "Defaults to @samp{500}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12176 +#, no-wrap +msgid "{@code{cups-configuration} parameter} non-negative-integer max-jobs-per-printer" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12179 +msgid "" +"Specifies the maximum number of simultaneous jobs that are allowed per printer. A value of 0 allows up to MaxJobs jobs per printer." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12183 +#, no-wrap +msgid "{@code{cups-configuration} parameter} non-negative-integer max-jobs-per-user" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12186 +msgid "Specifies the maximum number of simultaneous jobs that are allowed per user. A value of 0 allows up to MaxJobs jobs per user." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12190 +#, no-wrap +msgid "{@code{cups-configuration} parameter} non-negative-integer max-job-time" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12193 +msgid "" +"Specifies the maximum time a job may take to print before it is canceled, in seconds. Set to 0 to disable cancellation of \"stuck\" " +"jobs." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12195 +msgid "Defaults to @samp{10800}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12197 +#, no-wrap +msgid "{@code{cups-configuration} parameter} non-negative-integer max-log-size" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12200 +msgid "Specifies the maximum size of the log files before they are rotated, in bytes. The value 0 disables log rotation." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12202 +msgid "Defaults to @samp{1048576}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12204 +#, no-wrap +msgid "{@code{cups-configuration} parameter} non-negative-integer multiple-operation-timeout" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12207 +msgid "Specifies the maximum amount of time to allow between files in a multiple file print job, in seconds." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12209 doc/guix.texi:12423 +msgid "Defaults to @samp{300}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12211 +#, no-wrap +msgid "{@code{cups-configuration} parameter} string page-log-format" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12216 +msgid "" +"Specifies the format of PageLog lines. Sequences beginning with percent (@samp{%}) characters are replaced with the corresponding " +"information, while all other characters are copied literally. The following percent sequences are recognized:" +msgstr "" + +#. type: item +#: doc/guix.texi:12218 +#, no-wrap +msgid "%%" +msgstr "" + +#. type: table +#: doc/guix.texi:12220 +msgid "insert a single percent character" +msgstr "" + +#. type: item +#: doc/guix.texi:12221 +#, no-wrap +msgid "%@{name@}" +msgstr "" + +#. type: table +#: doc/guix.texi:12223 +msgid "insert the value of the specified IPP attribute" +msgstr "" + +#. type: item +#: doc/guix.texi:12224 +#, no-wrap +msgid "%C" +msgstr "" + +#. type: table +#: doc/guix.texi:12226 +msgid "insert the number of copies for the current page" +msgstr "" + +#. type: item +#: doc/guix.texi:12227 +#, no-wrap +msgid "%P" +msgstr "" + +#. type: table +#: doc/guix.texi:12229 +msgid "insert the current page number" +msgstr "" + +#. type: item +#: doc/guix.texi:12230 +#, no-wrap +msgid "%T" +msgstr "" + +#. type: table +#: doc/guix.texi:12232 +msgid "insert the current date and time in common log format" +msgstr "" + +#. type: item +#: doc/guix.texi:12233 +#, no-wrap +msgid "%j" +msgstr "" + +#. type: table +#: doc/guix.texi:12235 +msgid "insert the job ID" +msgstr "" + +#. type: item +#: doc/guix.texi:12236 doc/guix.texi:13568 +#, no-wrap +msgid "%p" +msgstr "" + +#. type: table +#: doc/guix.texi:12238 +msgid "insert the printer name" +msgstr "" + +#. type: item +#: doc/guix.texi:12239 doc/guix.texi:13591 +#, no-wrap +msgid "%u" +msgstr "" + +#. type: table +#: doc/guix.texi:12241 +msgid "insert the username" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12247 +msgid "" +"A value of the empty string disables page logging. The string @code{%p %u %j %T %P %C %@{job-billing@} %@{job-originating-host-" +"name@} %@{job-name@} %@{media@} %@{sides@}} creates a page log with the standard items." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12251 +#, no-wrap +msgid "{@code{cups-configuration} parameter} environment-variables environment-variables" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12254 +msgid "Passes the specified environment variable(s) to child processes; a list of strings." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12258 +#, no-wrap +msgid "{@code{cups-configuration} parameter} policy-configuration-list policies" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12260 +msgid "Specifies named access control policies." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12262 +msgid "Available @code{policy-configuration} fields are:" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12263 +#, no-wrap +msgid "{@code{policy-configuration} parameter} string name" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12265 +msgid "Name of the policy." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12267 +#, no-wrap +msgid "{@code{policy-configuration} parameter} string job-private-access" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12277 +msgid "" +"Specifies an access list for a job's private values. @code{@@ACL} maps to the printer's requesting-user-name-allowed or requesting-" +"user-name-denied values. @code{@@OWNER} maps to the job's owner. @code{@@SYSTEM} maps to the groups listed for the @code{system-" +"group} field of the @code{files-config} configuration, which is reified into the @code{cups-files.conf(5)} file. Other possible " +"elements of the access list include specific user names, and @code{@@@var{group}} to indicate members of a specific group. The " +"access list may also be simply @code{all} or @code{default}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12279 doc/guix.texi:12301 +msgid "Defaults to @samp{\"@@OWNER @@SYSTEM\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12281 +#, no-wrap +msgid "{@code{policy-configuration} parameter} string job-private-values" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12284 doc/guix.texi:12306 +msgid "Specifies the list of job values to make private, or @code{all}, @code{default}, or @code{none}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12287 +msgid "Defaults to @samp{\"job-name job-originating-host-name job-originating-user-name phone\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12289 +#, no-wrap +msgid "{@code{policy-configuration} parameter} string subscription-private-access" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12299 +msgid "" +"Specifies an access list for a subscription's private values. @code{@@ACL} maps to the printer's requesting-user-name-allowed or " +"requesting-user-name-denied values. @code{@@OWNER} maps to the job's owner. @code{@@SYSTEM} maps to the groups listed for the " +"@code{system-group} field of the @code{files-config} configuration, which is reified into the @code{cups-files.conf(5)} file. Other " +"possible elements of the access list include specific user names, and @code{@@@var{group}} to indicate members of a specific group. " +"The access list may also be simply @code{all} or @code{default}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12303 +#, no-wrap +msgid "{@code{policy-configuration} parameter} string subscription-private-values" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12309 +msgid "Defaults to @samp{\"notify-events notify-pull-method notify-recipient-uri notify-subscriber-user-name notify-user-data\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12311 +#, no-wrap +msgid "{@code{policy-configuration} parameter} operation-access-control-list access-controls" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12313 +msgid "Access control by IPP operation." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12318 +#, no-wrap +msgid "{@code{cups-configuration} parameter} boolean-or-non-negative-integer preserve-job-files" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12323 +msgid "" +"Specifies whether job files (documents) are preserved after a job is printed. If a numeric value is specified, job files are " +"preserved for the indicated number of seconds after printing. Otherwise a boolean value applies indefinitely." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12325 +msgid "Defaults to @samp{86400}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12327 +#, no-wrap +msgid "{@code{cups-configuration} parameter} boolean-or-non-negative-integer preserve-job-history" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12332 +msgid "" +"Specifies whether the job history is preserved after a job is printed. If a numeric value is specified, the job history is " +"preserved for the indicated number of seconds after printing. If @code{#t}, the job history is preserved until the MaxJobs limit is " +"reached." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12336 +#, no-wrap +msgid "{@code{cups-configuration} parameter} non-negative-integer reload-timeout" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12339 +msgid "Specifies the amount of time to wait for job completion before restarting the scheduler." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12343 +#, no-wrap +msgid "{@code{cups-configuration} parameter} string rip-cache" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12346 +msgid "Specifies the maximum amount of memory to use when converting documents into bitmaps for a printer." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12348 +msgid "Defaults to @samp{\"128m\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12350 +#, no-wrap +msgid "{@code{cups-configuration} parameter} string server-admin" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12352 +msgid "Specifies the email address of the server administrator." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12354 +msgid "Defaults to @samp{\"root@@localhost.localdomain\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12356 +#, no-wrap +msgid "{@code{cups-configuration} parameter} host-name-list-or-* server-alias" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12364 +msgid "" +"The ServerAlias directive is used for HTTP Host header validation when clients connect to the scheduler from external interfaces. " +"Using the special name @code{*} can expose your system to known browser-based DNS rebinding attacks, even when accessing sites " +"through a firewall. If the auto-discovery of alternate names does not work, we recommend listing each alternate name with a " +"ServerAlias directive instead of using @code{*}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12366 +msgid "Defaults to @samp{*}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12368 +#, no-wrap +msgid "{@code{cups-configuration} parameter} string server-name" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12370 +msgid "Specifies the fully-qualified host name of the server." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12372 +msgid "Defaults to @samp{\"localhost\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12374 +#, no-wrap +msgid "{@code{cups-configuration} parameter} server-tokens server-tokens" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12382 +msgid "" +"Specifies what information is included in the Server header of HTTP responses. @code{None} disables the Server header. " +"@code{ProductOnly} reports @code{CUPS}. @code{Major} reports @code{CUPS 2}. @code{Minor} reports @code{CUPS 2.0}. @code{Minimal} " +"reports @code{CUPS 2.0.0}. @code{OS} reports @code{CUPS 2.0.0 (@var{uname})} where @var{uname} is the output of the @code{uname} " +"command. @code{Full} reports @code{CUPS 2.0.0 (@var{uname}) IPP/2.0}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12384 +msgid "Defaults to @samp{Minimal}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12386 +#, no-wrap +msgid "{@code{cups-configuration} parameter} string set-env" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12388 +msgid "Set the specified environment variable to be passed to child processes." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12390 +msgid "Defaults to @samp{\"variable value\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12392 +#, no-wrap +msgid "{@code{cups-configuration} parameter} multiline-string-list ssl-listen" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12397 +msgid "" +"Listens on the specified interfaces for encrypted connections. Valid values are of the form @var{address}:@var{port}, where " +"@var{address} is either an IPv6 address enclosed in brackets, an IPv4 address, or @code{*} to indicate all addresses." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12401 +#, no-wrap +msgid "{@code{cups-configuration} parameter} ssl-options ssl-options" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12408 +msgid "" +"Sets encryption options. By default, CUPS only supports encryption using TLS v1.0 or higher using known secure cipher suites. The " +"@code{AllowRC4} option enables the 128-bit RC4 cipher suites, which are required for some older clients that do not implement newer " +"ones. The @code{AllowSSL3} option enables SSL v3.0, which is required for some older clients that do not support TLS v1.0." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12412 +#, no-wrap +msgid "{@code{cups-configuration} parameter} boolean strict-conformance?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12415 +msgid "Specifies whether the scheduler requires clients to strictly adhere to the IPP specifications." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12419 +#, no-wrap +msgid "{@code{cups-configuration} parameter} non-negative-integer timeout" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12421 +msgid "Specifies the HTTP request timeout, in seconds." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12426 +#, no-wrap +msgid "{@code{cups-configuration} parameter} boolean web-interface?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12428 +msgid "Specifies whether the web interface is enabled." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:12438 +msgid "" +"At this point you're probably thinking ``oh dear, Guix manual, I like you but you can stop already with the configuration " +"options''. Indeed. However, one more point: it could be that you have an existing @code{cupsd.conf} that you want to use. In that " +"case, you can pass an @code{opaque-cups-configuration} as the configuration of a @code{cups-service-type}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:12440 +msgid "Available @code{opaque-cups-configuration} fields are:" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12441 +#, no-wrap +msgid "{@code{opaque-cups-configuration} parameter} package cups" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12445 +#, no-wrap +msgid "{@code{opaque-cups-configuration} parameter} string cupsd.conf" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12447 +msgid "The contents of the @code{cupsd.conf}, as a string." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12449 +#, no-wrap +msgid "{@code{opaque-cups-configuration} parameter} string cups-files.conf" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12451 +msgid "The contents of the @code{cups-files.conf} file, as a string." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:12456 +msgid "" +"For example, if your @code{cupsd.conf} and @code{cups-files.conf} are in strings of the same name, you could instantiate a CUPS " +"service like this:" +msgstr "" + +#. type: example +#: doc/guix.texi:12462 +#, no-wrap +msgid "" +"(service cups-service-type\n" +" (opaque-cups-configuration\n" +" (cupsd.conf cupsd.conf)\n" +" (cups-files.conf cups-files.conf)))\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:12473 +msgid "" +"The @code{(gnu services desktop)} module provides services that are usually useful in the context of a ``desktop'' setup---that is, " +"on a machine running a graphical display server, possibly with graphical user interfaces, etc. It also defines services that " +"provide specific desktop environments like GNOME, XFCE or MATE." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:12477 +msgid "" +"To simplify things, the module defines a variable containing the set of services that users typically expect on a machine with a " +"graphical environment and networking:" +msgstr "" + +#. type: defvr +#: doc/guix.texi:12478 +#, no-wrap +msgid "{Scheme Variable} %desktop-services" +msgstr "" + +#. type: defvr +#: doc/guix.texi:12481 +msgid "This is a list of services that builds upon @var{%base-services} and adds or adjusts services for a typical ``desktop'' setup." +msgstr "" + +#. type: defvr +#: doc/guix.texi:12491 +msgid "" +"In particular, it adds a graphical login manager (@pxref{X Window, @code{slim-service}}), screen lockers, a network management tool " +"(@pxref{Networking Services, @code{network-manager-service-type}}), energy and color management services, the @code{elogind} login " +"and seat manager, the Polkit privilege service, the GeoClue location service, the AccountsService daemon that allows authorized " +"users change system passwords, an NTP client (@pxref{Networking Services}), the Avahi daemon, and has the name service switch " +"service configured to be able to use @code{nss-mdns} (@pxref{Name Service Switch, mDNS})." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:12496 +msgid "" +"The @var{%desktop-services} variable can be used as the @code{services} field of an @code{operating-system} declaration " +"(@pxref{operating-system Reference, @code{services}})." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:12516 +msgid "" +"Additionally, the @code{gnome-desktop-service}, @code{xfce-desktop-service} and @code{mate-desktop-service} procedures can add " +"GNOME, XFCE and/or MATE to a system. To ``add GNOME'' means that system-level services like the backlight adjustment helpers and " +"the power management utilities are added to the system, extending @code{polkit} and @code{dbus} appropriately, allowing GNOME to " +"operate with elevated privileges on a limited number of special-purpose system interfaces. Additionally, adding a service made by " +"@code{gnome-desktop-service} adds the GNOME metapackage to the system profile. Likewise, adding the XFCE service not only adds the " +"@code{xfce} metapackage to the system profile, but it also gives the Thunar file manager the ability to open a ``root-mode'' file " +"management window, if the user authenticates using the 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." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:12525 +msgid "" +"The desktop environments in Guix use the Xorg display server by default. If you'd like to use the newer display server protocol " +"called Wayland, you need to use the @code{sddm-service} instead of the @code{slim-service} for the graphical login manager. You " +"should then select the ``GNOME (Wayland)'' session in SDDM. Alternatively you can also try starting GNOME on Wayland manually from " +"a TTY with the command ``XDG_SESSION_TYPE=wayland exec dbus-run-session gnome-session``. Currently only GNOME has support for " +"Wayland." +msgstr "" + +#. type: deffn +#: doc/guix.texi:12526 +#, no-wrap +msgid "{Scheme Procedure} gnome-desktop-service" +msgstr "" + +#. type: deffn +#: doc/guix.texi:12530 +msgid "" +"Return a service that adds the @code{gnome} package to the system profile, and extends polkit with the actions from @code{gnome-" +"settings-daemon}." +msgstr "" + +#. type: deffn +#: doc/guix.texi:12532 +#, no-wrap +msgid "{Scheme Procedure} xfce-desktop-service" +msgstr "" + +#. type: deffn +#: doc/guix.texi:12537 +msgid "" +"Return a service that adds the @code{xfce} package to the system profile, and extends polkit with the ability for @code{thunar} to " +"manipulate the file system as root from within a user session, after the user has authenticated with the administrator's password." +msgstr "" + +#. type: deffn +#: doc/guix.texi:12539 +#, no-wrap +msgid "{Scheme Procedure} mate-desktop-service" +msgstr "" + +#. type: deffn +#: doc/guix.texi:12543 +msgid "" +"Return a service that adds the @code{mate} package to the system profile, and extends polkit with the actions from @code{mate-" +"settings-daemon}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:12550 +msgid "" +"Because the GNOME, XFCE and MATE desktop services pull in so many packages, the default @code{%desktop-services} variable doesn't " +"include either of them by default. To add GNOME, XFCE or MATE, just @code{cons} them onto @code{%desktop-services} in the " +"@code{services} field of your @code{operating-system}:" +msgstr "" + +#. type: example +#: doc/guix.texi:12561 +#, no-wrap +msgid "" +"(use-modules (gnu))\n" +"(use-service-modules desktop)\n" +"(operating-system\n" +" ...\n" +" ;; cons* adds items to the list given as its last argument.\n" +" (services (cons* (gnome-desktop-service)\n" +" (xfce-desktop-service)\n" +" %desktop-services))\n" +" ...)\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:12565 +msgid "These desktop environments will then be available as options in the graphical login window." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:12569 +msgid "" +"The actual service definitions included in @code{%desktop-services} and provided by @code{(gnu services dbus)} and @code{(gnu " +"services desktop)} are described below." +msgstr "" + +#. type: deffn +#: doc/guix.texi:12570 +#, no-wrap +msgid "{Scheme Procedure} dbus-service [#:dbus @var{dbus}] [#:services '()]" +msgstr "" + +#. type: deffn +#: doc/guix.texi:12573 +msgid "Return a service that runs the ``system bus'', using @var{dbus}, with support for @var{services}." +msgstr "" + +#. type: deffn +#: doc/guix.texi:12577 +msgid "" +"@uref{http://dbus.freedesktop.org/, D-Bus} is an inter-process communication facility. Its system bus is used to allow system " +"services to communicate and to be notified of system-wide events." +msgstr "" + +#. type: deffn +#: doc/guix.texi:12582 +msgid "" +"@var{services} must be a list of packages that provide an @file{etc/dbus-1/system.d} directory containing additional D-Bus " +"configuration and policy files. For example, to allow avahi-daemon to use the system bus, @var{services} must be equal to " +"@code{(list avahi)}." +msgstr "" + +#. type: deffn +#: doc/guix.texi:12584 +#, no-wrap +msgid "{Scheme Procedure} elogind-service [#:config @var{config}]" +msgstr "" + +#. type: deffn +#: doc/guix.texi:12590 +msgid "" +"Return a service that runs the @code{elogind} login and seat management daemon. @uref{https://github.com/elogind/elogind, Elogind} " +"exposes a D-Bus interface that can be used to know which users are logged in, know what kind of sessions they have open, suspend the " +"system, inhibit system suspend, reboot the system, and other tasks." +msgstr "" + +#. type: deffn +#: doc/guix.texi:12594 +msgid "" +"Elogind handles most system-level power events for a computer, for example suspending the system when a lid is closed, or shutting " +"it down when the power button is pressed." +msgstr "" + +#. type: deffn +#: doc/guix.texi:12599 +msgid "" +"The @var{config} keyword argument specifies the configuration for elogind, and should be the result of an @code{(elogind-" +"configuration (@var{parameter} @var{value})...)} invocation. Available parameters and their default values are:" +msgstr "" + +#. type: item +#: doc/guix.texi:12601 +#, no-wrap +msgid "kill-user-processes?" +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:12603 doc/guix.texi:12621 doc/guix.texi:12623 doc/guix.texi:12625 doc/guix.texi:12637 +msgid "#f" +msgstr "" + +#. type: item +#: doc/guix.texi:12603 +#, no-wrap +msgid "kill-only-users" +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:12605 doc/guix.texi:12643 +msgid "()" +msgstr "" + +#. type: item +#: doc/guix.texi:12605 +#, no-wrap +msgid "kill-exclude-users" +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:12607 +msgid "(\"root\")" +msgstr "" + +#. type: item +#: doc/guix.texi:12607 +#, no-wrap +msgid "inhibit-delay-max-seconds" +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:12609 +msgid "5" +msgstr "" + +#. type: item +#: doc/guix.texi:12609 +#, no-wrap +msgid "handle-power-key" +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:12611 +msgid "poweroff" +msgstr "" + +#. type: item +#: doc/guix.texi:12611 +#, no-wrap +msgid "handle-suspend-key" +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:12613 doc/guix.texi:12617 +msgid "suspend" +msgstr "" + +#. type: item +#: doc/guix.texi:12613 +#, no-wrap +msgid "handle-hibernate-key" +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:12615 +msgid "hibernate" +msgstr "" + +#. type: item +#: doc/guix.texi:12615 +#, no-wrap +msgid "handle-lid-switch" +msgstr "" + +#. type: item +#: doc/guix.texi:12617 +#, no-wrap +msgid "handle-lid-switch-docked" +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:12619 doc/guix.texi:12631 +msgid "ignore" +msgstr "" + +#. type: item +#: doc/guix.texi:12619 +#, no-wrap +msgid "power-key-ignore-inhibited?" +msgstr "" + +#. type: item +#: doc/guix.texi:12621 +#, no-wrap +msgid "suspend-key-ignore-inhibited?" +msgstr "" + +#. type: item +#: doc/guix.texi:12623 +#, no-wrap +msgid "hibernate-key-ignore-inhibited?" +msgstr "" + +#. type: item +#: doc/guix.texi:12625 +#, no-wrap +msgid "lid-switch-ignore-inhibited?" +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:12627 doc/guix.texi:12639 +msgid "#t" +msgstr "" + +#. type: item +#: doc/guix.texi:12627 +#, no-wrap +msgid "holdoff-timeout-seconds" +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:12629 +msgid "30" +msgstr "" + +#. type: item +#: doc/guix.texi:12629 +#, no-wrap +msgid "idle-action" +msgstr "" + +#. type: item +#: doc/guix.texi:12631 +#, no-wrap +msgid "idle-action-seconds" +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:12633 +msgid "(* 30 60)" +msgstr "" + +#. type: item +#: doc/guix.texi:12633 +#, no-wrap +msgid "runtime-directory-size-percent" +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:12635 +msgid "10" +msgstr "" + +#. type: item +#: doc/guix.texi:12635 +#, no-wrap +msgid "runtime-directory-size" +msgstr "" + +#. type: item +#: doc/guix.texi:12637 +#, no-wrap +msgid "remove-ipc?" +msgstr "" + +#. type: item +#: doc/guix.texi:12639 +#, no-wrap +msgid "suspend-state" +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:12641 +msgid "(\"mem\" \"standby\" \"freeze\")" +msgstr "" + +#. type: item +#: doc/guix.texi:12641 +#, no-wrap +msgid "suspend-mode" +msgstr "" + +#. type: item +#: doc/guix.texi:12643 +#, no-wrap +msgid "hibernate-state" +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:12645 doc/guix.texi:12649 +msgid "(\"disk\")" +msgstr "" + +#. type: item +#: doc/guix.texi:12645 +#, no-wrap +msgid "hibernate-mode" +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:12647 +msgid "(\"platform\" \"shutdown\")" +msgstr "" + +#. type: item +#: doc/guix.texi:12647 +#, no-wrap +msgid "hybrid-sleep-state" +msgstr "" + +#. type: item +#: doc/guix.texi:12649 +#, no-wrap +msgid "hybrid-sleep-mode" +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:12651 +msgid "(\"suspend\" \"platform\" \"shutdown\")" +msgstr "" + +#. type: deffn +#: doc/guix.texi:12654 +#, no-wrap +msgid "{Scheme Procedure} accountsservice-service @" +msgstr "" + +#. type: deffn +#: doc/guix.texi:12662 +msgid "" +"[#:accountsservice @var{accountsservice}] Return a service that runs AccountsService, a system service that can list available " +"accounts, change their passwords, and so on. AccountsService integrates with PolicyKit to enable unprivileged users to acquire the " +"capability to modify their system configuration. @uref{https://www.freedesktop.org/wiki/Software/AccountsService/, the " +"accountsservice web site} for more information." +msgstr "" + +#. type: deffn +#: doc/guix.texi:12665 +msgid "The @var{accountsservice} keyword argument is the @code{accountsservice} package to expose as a service." +msgstr "" + +#. type: deffn +#: doc/guix.texi:12667 +#, no-wrap +msgid "{Scheme Procedure} polkit-service @" +msgstr "" + +#. type: deffn +#: doc/guix.texi:12676 +msgid "" +"[#:polkit @var{polkit}] Return a service that runs the @uref{http://www.freedesktop.org/wiki/Software/polkit/, Polkit privilege " +"management service}, which allows system administrators to grant access to privileged operations in a structured way. By querying " +"the Polkit service, a privileged system component can know when it should grant additional capabilities to ordinary users. For " +"example, an ordinary user can be granted the capability to suspend the system if the user is logged in locally." +msgstr "" + +#. type: deffn +#: doc/guix.texi:12678 +#, no-wrap +msgid "{Scheme Procedure} upower-service [#:upower @var{upower}] @" +msgstr "" + +#. type: deffn +#: doc/guix.texi:12695 +msgid "" +"[#:watts-up-pro? #f] @ [#:poll-batteries? #t] @ [#:ignore-lid? #f] @ [#:use-percentage-for-policy? #f] @ [#:percentage-low 10] @ [#:" +"percentage-critical 3] @ [#:percentage-action 2] @ [#:time-low 1200] @ [#:time-critical 300] @ [#:time-action 120] @ [#:critical-" +"power-action 'hybrid-sleep] Return a service that runs @uref{http://upower.freedesktop.org/, @command{upowerd}}, a system-wide " +"monitor for power consumption and battery levels, with the given configuration settings. It implements the @code{org.freedesktop." +"UPower} D-Bus interface, and is notably used by GNOME." +msgstr "" + +#. type: deffn +#: doc/guix.texi:12697 +#, no-wrap +msgid "{Scheme Procedure} udisks-service [#:udisks @var{udisks}]" +msgstr "" + +#. type: deffn +#: doc/guix.texi:12702 +msgid "" +"Return a service for @uref{http://udisks.freedesktop.org/docs/latest/, UDisks}, a @dfn{disk management} daemon that provides user " +"interfaces with notifications and ways to mount/unmount disks. Programs that talk to UDisks include the @command{udisksctl} " +"command, part of UDisks, and GNOME Disks." +msgstr "" + +#. type: deffn +#: doc/guix.texi:12704 +#, no-wrap +msgid "{Scheme Procedure} colord-service [#:colord @var{colord}]" +msgstr "" + +#. type: deffn +#: doc/guix.texi:12710 +msgid "" +"Return a service that runs @command{colord}, a system service with a D-Bus interface to manage the color profiles of input and " +"output devices such as screens and scanners. It is notably used by the GNOME Color Manager graphical tool. See @uref{http://www." +"freedesktop.org/software/colord/, the colord web site} for more information." +msgstr "" + +#. type: deffn +#: doc/guix.texi:12712 +#, no-wrap +msgid "{Scheme Procedure} geoclue-application name [#:allowed? #t] [#:system? #f] [#:users '()]" +msgstr "" + +#. type: deffn +#: doc/guix.texi:12721 +msgid "" +"Return a configuration allowing an application to access GeoClue location data. @var{name} is the Desktop ID of the application, " +"without the @code{.desktop} part. If @var{allowed?} is true, the application will have access to location information by default. " +"The boolean @var{system?} value indicates whether an application is a system component or not. Finally @var{users} is a list of " +"UIDs of all users for which this application is allowed location info access. An empty users list means that all users are allowed." +msgstr "" + +#. type: defvr +#: doc/guix.texi:12723 +#, no-wrap +msgid "{Scheme Variable} %standard-geoclue-applications" +msgstr "" + +#. type: defvr +#: doc/guix.texi:12730 +msgid "" +"The standard list of well-known GeoClue application configurations, granting authority to the GNOME date-and-time utility to ask for " +"the current location in order to set the time zone, and allowing the IceCat and Epiphany web browsers to request location " +"information. IceCat and Epiphany both query the user before allowing a web page to know the user's location." +msgstr "" + +#. type: deffn +#: doc/guix.texi:12732 +#, no-wrap +msgid "{Scheme Procedure} geoclue-service [#:colord @var{colord}] @" +msgstr "" + +#. type: deffn +#: doc/guix.texi:12745 +msgid "" +"[#:whitelist '()] @ [#:wifi-geolocation-url \"https://location.services.mozilla.com/v1/geolocate?key=geoclue\"] @ [#:submit-data? " +"#f] [#:wifi-submission-url \"https://location.services.mozilla.com/v1/submit?key=geoclue\"] @ [#:submission-nick \"geoclue\"] @ [#:" +"applications %standard-geoclue-applications] Return a service that runs the GeoClue location service. This service provides a D-Bus " +"interface to allow applications to request access to a user's physical location, and optionally to add information to online " +"location databases. See @uref{https://wiki.freedesktop.org/www/Software/GeoClue/, the GeoClue web site} for more information." +msgstr "" + +#. type: deffn +#: doc/guix.texi:12747 +#, no-wrap +msgid "{Scheme Procedure} bluetooth-service [#:bluez @var{bluez}] @" +msgstr "" + +#. type: deffn +#: doc/guix.texi:12754 +msgid "" +"[@w{#:auto-enable? #f}] Return a service that runs the @command{bluetoothd} daemon, which manages all the Bluetooth devices and " +"provides a number of D-Bus interfaces. When AUTO-ENABLE? is true, the bluetooth controller is powered automatically at boot, which " +"can be useful when using a bluetooth keyboard or mouse." +msgstr "" + +#. type: deffn +#: doc/guix.texi:12756 +msgid "Users need to be in the @code{lp} group to access the D-Bus service." +msgstr "" + +#. type: cindex +#: doc/guix.texi:12762 +#, no-wrap +msgid "SQL" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:12764 +msgid "The @code{(gnu services databases)} module provides the following services." +msgstr "" + +#. type: deffn +#: doc/guix.texi:12765 +#, no-wrap +msgid "{Scheme Procedure} postgresql-service [#:postgresql postgresql] @" +msgstr "" + +#. type: deffn +#: doc/guix.texi:12770 +msgid "" +"[#:config-file] [#:data-directory ``/var/lib/postgresql/data''] @ [#:port 5432] [#:locale ``en_US.utf8''] Return a service that runs " +"@var{postgresql}, the PostgreSQL database server." +msgstr "" + +#. type: deffn +#: doc/guix.texi:12774 +msgid "" +"The PostgreSQL daemon loads its runtime configuration from @var{config-file}, creates a database cluster with @var{locale} as the " +"default locale, stored in @var{data-directory}. It then listens on @var{port}." +msgstr "" + +#. type: deffn +#: doc/guix.texi:12776 +#, no-wrap +msgid "{Scheme Procedure} mysql-service [#:config (mysql-configuration)]" +msgstr "" + +#. type: deffn +#: doc/guix.texi:12779 +msgid "Return a service that runs @command{mysqld}, the MySQL or MariaDB database server." +msgstr "" + +#. type: deffn +#: doc/guix.texi:12782 +msgid "" +"The optional @var{config} argument specifies the configuration for @command{mysqld}, which should be a @code{<mysql-configuration>} " +"object." +msgstr "" + +#. type: deftp +#: doc/guix.texi:12784 +#, no-wrap +msgid "{Data Type} mysql-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:12786 +msgid "Data type representing the configuration of @var{mysql-service}." +msgstr "" + +#. type: item +#: doc/guix.texi:12788 +#, no-wrap +msgid "@code{mysql} (default: @var{mariadb})" +msgstr "" + +#. type: table +#: doc/guix.texi:12791 +msgid "Package object of the MySQL database server, can be either @var{mariadb} or @var{mysql}." +msgstr "" + +#. type: table +#: doc/guix.texi:12794 +msgid "For MySQL, a temporary root password will be displayed at activation time. For MariaDB, the root password is empty." +msgstr "" + +#. type: item +#: doc/guix.texi:12795 +#, no-wrap +msgid "@code{port} (default: @code{3306})" +msgstr "" + +#. type: table +#: doc/guix.texi:12797 +msgid "TCP port on which the database server listens for incoming connections." +msgstr "" + +#. type: defvr +#: doc/guix.texi:12800 +#, no-wrap +msgid "{Scheme Variable} memcached-service-type" +msgstr "" + +#. type: defvr +#: doc/guix.texi:12804 +msgid "" +"This is the service type for the @uref{https://memcached.org/, Memcached} service, which provides a distributed in memory cache. " +"The value for the service type is a @code{memcached-configuration} object." +msgstr "" + +#. type: example +#: doc/guix.texi:12808 +#, no-wrap +msgid "(service memcached-service-type)\n" +msgstr "" + +#. type: deftp +#: doc/guix.texi:12810 +#, no-wrap +msgid "{Data Type} memcached-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:12812 +msgid "Data type representing the configuration of memcached." +msgstr "" + +#. type: item +#: doc/guix.texi:12814 +#, no-wrap +msgid "@code{memcached} (default: @code{memcached})" +msgstr "" + +#. type: table +#: doc/guix.texi:12816 +msgid "The Memcached package to use." +msgstr "" + +#. type: item +#: doc/guix.texi:12817 +#, no-wrap +msgid "@code{interfaces} (default: @code{'(\"0.0.0.0\")})" +msgstr "" + +#. type: table +#: doc/guix.texi:12819 +msgid "Network interfaces on which to listen." +msgstr "" + +#. type: item +#: doc/guix.texi:12820 +#, no-wrap +msgid "@code{tcp-port} (default: @code{11211})" +msgstr "" + +#. type: table +#: doc/guix.texi:12822 +msgid "Port on which to accept connections on," +msgstr "" + +#. type: item +#: doc/guix.texi:12823 +#, no-wrap +msgid "@code{udp-port} (default: @code{11211})" +msgstr "" + +#. type: table +#: doc/guix.texi:12826 +msgid "Port on which to accept UDP connections on, a value of 0 will disable listening on a UDP socket." +msgstr "" + +#. type: item +#: doc/guix.texi:12827 +#, no-wrap +msgid "@code{additional-options} (default: @code{'()})" +msgstr "" + +#. type: table +#: doc/guix.texi:12829 +msgid "Additional command line options to pass to @code{memcached}." +msgstr "" + +#. type: defvr +#: doc/guix.texi:12832 +#, no-wrap +msgid "{Scheme Variable} mongodb-service-type" +msgstr "" + +#. type: defvr +#: doc/guix.texi:12835 +msgid "" +"This is the service type for @uref{https://www.mongodb.com/, MongoDB}. The value for the service type is a @code{mongodb-" +"configuration} object." +msgstr "" + +#. type: example +#: doc/guix.texi:12839 +#, no-wrap +msgid "(service mongodb-service-type)\n" +msgstr "" + +#. type: deftp +#: doc/guix.texi:12841 +#, no-wrap +msgid "{Data Type} mongodb-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:12843 +msgid "Data type representing the configuration of mongodb." +msgstr "" + +#. type: item +#: doc/guix.texi:12845 +#, no-wrap +msgid "@code{mongodb} (default: @code{mongodb})" +msgstr "" + +#. type: table +#: doc/guix.texi:12847 +msgid "The MongoDB package to use." +msgstr "" + +#. type: item +#: doc/guix.texi:12848 +#, no-wrap +msgid "@code{config-file} (default: @code{%default-mongodb-configuration-file})" +msgstr "" + +#. type: table +#: doc/guix.texi:12850 +msgid "The configuration file for MongoDB." +msgstr "" + +#. type: item +#: doc/guix.texi:12851 +#, no-wrap +msgid "@code{data-directory} (default: @code{\"/var/lib/mongodb\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:12855 +msgid "" +"This value is used to create the directory, so that it exists and is owned by the mongodb user. It should match the data-directory " +"which MongoDB is configured to use through the configuration file." +msgstr "" + +#. type: defvr +#: doc/guix.texi:12858 +#, no-wrap +msgid "{Scheme Variable} redis-service-type" +msgstr "" + +#. type: defvr +#: doc/guix.texi:12861 +msgid "" +"This is the service type for the @uref{https://redis.io/, Redis} key/value store, whose value is a @code{redis-configuration} object." +msgstr "" + +#. type: deftp +#: doc/guix.texi:12863 +#, no-wrap +msgid "{Data Type} redis-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:12865 +msgid "Data type representing the configuration of redis." +msgstr "" + +#. type: item +#: doc/guix.texi:12867 +#, no-wrap +msgid "@code{redis} (default: @code{redis})" +msgstr "" + +#. type: table +#: doc/guix.texi:12869 +msgid "The Redis package to use." +msgstr "" + +#. type: item +#: doc/guix.texi:12870 +#, no-wrap +msgid "@code{bind} (default: @code{\"127.0.0.1\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:12872 +msgid "Network interface on which to listen." +msgstr "" + +#. type: item +#: doc/guix.texi:12873 +#, no-wrap +msgid "@code{port} (default: @code{6379})" +msgstr "" + +#. type: table +#: doc/guix.texi:12876 +msgid "Port on which to accept connections on, a value of 0 will disable listening on a TCP socket." +msgstr "" + +#. type: item +#: doc/guix.texi:12877 +#, no-wrap +msgid "@code{working-directory} (default: @code{\"/var/lib/redis\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:12879 +msgid "Directory in which to store the database and related files." +msgstr "" + +#. type: cindex +#: doc/guix.texi:12885 +#, no-wrap +msgid "mail" +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:12886 doc/guix.texi:15981 +#, no-wrap +msgid "email" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:12891 +msgid "" +"The @code{(gnu services mail)} module provides Guix service definitions for email services: IMAP, POP3, and LMTP servers, as well as " +"mail transport agents (MTAs). Lots of acronyms! These services are detailed in the subsections below." +msgstr "" + +#. type: subsubheading +#: doc/guix.texi:12892 +#, no-wrap +msgid "Dovecot Service" +msgstr "" + +#. type: deffn +#: doc/guix.texi:12894 +#, no-wrap +msgid "{Scheme Procedure} dovecot-service [#:config (dovecot-configuration)]" +msgstr "" + +#. type: deffn +#: doc/guix.texi:12896 +msgid "Return a service that runs the Dovecot IMAP/POP3/LMTP mail server." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:12906 +msgid "" +"By default, Dovecot does not need much configuration; the default configuration object created by @code{(dovecot-configuration)} " +"will suffice if your mail is delivered to @code{~/Maildir}. A self-signed certificate will be generated for TLS-protected " +"connections, though Dovecot will also listen on cleartext ports by default. There are a number of options, though, which mail " +"administrators might need to change, and as is the case with other services, Guix allows the system administrator to specify these " +"parameters via a uniform Scheme interface." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:12909 +msgid "For example, to specify that mail is located at @code{maildir~/.mail}, one would instantiate the Dovecot service like this:" +msgstr "" + +#. type: example +#: doc/guix.texi:12914 +#, no-wrap +msgid "" +"(dovecot-service #:config\n" +" (dovecot-configuration\n" +" (mail-location \"maildir:~/.mail\")))\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:12922 +msgid "" +"The available configuration parameters follow. Each parameter definition is preceded by its type; for example, @samp{string-list " +"foo} indicates that the @code{foo} parameter should be specified as a list of strings. There is also a way to specify the " +"configuration as a string, if you have an old @code{dovecot.conf} file that you want to port over from some other system; see the " +"end for more details." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:12932 +msgid "Available @code{dovecot-configuration} fields are:" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12933 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} package dovecot" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12935 doc/guix.texi:14222 +msgid "The dovecot package." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12937 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} comma-separated-string-list listen" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12943 +msgid "" +"A list of IPs or hosts where to listen for connections. @samp{*} listens on all IPv4 interfaces, @samp{::} listens on all IPv6 " +"interfaces. If you want to specify non-default ports or anything more complex, customize the address and port fields of the " +"@samp{inet-listener} of the specific services you are interested in." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12945 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} protocol-configuration-list protocols" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12948 +msgid "List of protocols we want to serve. Available protocols include @samp{imap}, @samp{pop3}, and @samp{lmtp}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12950 +msgid "Available @code{protocol-configuration} fields are:" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12951 +#, no-wrap +msgid "{@code{protocol-configuration} parameter} string name" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12953 +msgid "The name of the protocol." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12955 +#, no-wrap +msgid "{@code{protocol-configuration} parameter} string auth-socket-path" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12959 +msgid "" +"UNIX socket path to the master authentication server to find users. This is used by imap (for shared users) and lda. It defaults " +"to @samp{\"/var/run/dovecot/auth-userdb\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12961 +#, no-wrap +msgid "{@code{protocol-configuration} parameter} space-separated-string-list mail-plugins" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12963 +msgid "Space separated list of plugins to load." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12965 +#, no-wrap +msgid "{@code{protocol-configuration} parameter} non-negative-integer mail-max-userip-connections" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12969 +msgid "" +"Maximum number of IMAP connections allowed for a user from each IP address. NOTE: The username is compared case-sensitively. " +"Defaults to @samp{10}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12973 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} service-configuration-list services" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12977 +msgid "" +"List of services to enable. Available services include @samp{imap}, @samp{imap-login}, @samp{pop3}, @samp{pop3-login}, @samp{auth}, " +"and @samp{lmtp}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12979 +msgid "Available @code{service-configuration} fields are:" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12980 +#, no-wrap +msgid "{@code{service-configuration} parameter} string kind" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12985 +msgid "" +"The service kind. Valid values include @code{director}, @code{imap-login}, @code{pop3-login}, @code{lmtp}, @code{imap}, " +"@code{pop3}, @code{auth}, @code{auth-worker}, @code{dict}, @code{tcpwrap}, @code{quota-warning}, or anything else." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12987 +#, no-wrap +msgid "{@code{service-configuration} parameter} listener-configuration-list listeners" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12992 +msgid "" +"Listeners for the service. A listener is either a @code{unix-listener-configuration}, a @code{fifo-listener-configuration}, or an " +"@code{inet-listener-configuration}. Defaults to @samp{()}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12994 +msgid "Available @code{unix-listener-configuration} fields are:" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12995 +#, no-wrap +msgid "{@code{unix-listener-configuration} parameter} string path" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12998 doc/guix.texi:13021 +msgid "Path to the file, relative to @code{base-dir} field. This is also used as the section name." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13000 +#, no-wrap +msgid "{@code{unix-listener-configuration} parameter} string mode" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13003 doc/guix.texi:13026 +msgid "The access mode for the socket. Defaults to @samp{\"0600\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13005 +#, no-wrap +msgid "{@code{unix-listener-configuration} parameter} string user" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13008 doc/guix.texi:13031 +msgid "The user to own the socket. Defaults to @samp{\"\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13010 +#, no-wrap +msgid "{@code{unix-listener-configuration} parameter} string group" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13013 doc/guix.texi:13036 +msgid "The group to own the socket. Defaults to @samp{\"\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13017 +msgid "Available @code{fifo-listener-configuration} fields are:" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13018 +#, no-wrap +msgid "{@code{fifo-listener-configuration} parameter} string path" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13023 +#, no-wrap +msgid "{@code{fifo-listener-configuration} parameter} string mode" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13028 +#, no-wrap +msgid "{@code{fifo-listener-configuration} parameter} string user" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13033 +#, no-wrap +msgid "{@code{fifo-listener-configuration} parameter} string group" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13040 +msgid "Available @code{inet-listener-configuration} fields are:" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13041 +#, no-wrap +msgid "{@code{inet-listener-configuration} parameter} string protocol" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13043 +msgid "The protocol to listen for." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13045 +#, no-wrap +msgid "{@code{inet-listener-configuration} parameter} string address" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13048 +msgid "The address on which to listen, or empty for all addresses. Defaults to @samp{\"\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13050 +#, no-wrap +msgid "{@code{inet-listener-configuration} parameter} non-negative-integer port" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13052 +msgid "The port on which to listen." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13054 +#, no-wrap +msgid "{@code{inet-listener-configuration} parameter} boolean ssl?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13058 +msgid "Whether to use SSL for this service; @samp{yes}, @samp{no}, or @samp{required}. Defaults to @samp{#t}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13062 +#, no-wrap +msgid "{@code{service-configuration} parameter} non-negative-integer service-count" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13067 +msgid "" +"Number of connections to handle before starting a new process. Typically the only useful values are 0 (unlimited) or 1. 1 is more " +"secure, but 0 is faster. <doc/wiki/LoginProcess.txt>. Defaults to @samp{1}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13069 +#, no-wrap +msgid "{@code{service-configuration} parameter} non-negative-integer process-min-avail" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13072 +msgid "Number of processes to always keep waiting for more connections. Defaults to @samp{0}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13074 +#, no-wrap +msgid "{@code{service-configuration} parameter} non-negative-integer vsz-limit" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13078 +msgid "If you set @samp{service-count 0}, you probably need to grow this. Defaults to @samp{256000000}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13082 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} dict-configuration dict" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13085 +msgid "Dict configuration, as created by the @code{dict-configuration} constructor." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13087 +msgid "Available @code{dict-configuration} fields are:" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13088 +#, no-wrap +msgid "{@code{dict-configuration} parameter} free-form-fields entries" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13091 +msgid "A list of key-value pairs that this dict should hold. Defaults to @samp{()}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13095 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} passdb-configuration-list passdbs" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13098 +msgid "A list of passdb configurations, each one created by the @code{passdb-configuration} constructor." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13100 +msgid "Available @code{passdb-configuration} fields are:" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13101 +#, no-wrap +msgid "{@code{passdb-configuration} parameter} string driver" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13106 +msgid "" +"The driver that the passdb should use. Valid values include @samp{pam}, @samp{passwd}, @samp{shadow}, @samp{bsdauth}, and " +"@samp{static}. Defaults to @samp{\"pam\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13108 +#, no-wrap +msgid "{@code{passdb-configuration} parameter} space-separated-string-list args" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13111 +msgid "Space separated list of arguments to the passdb driver. Defaults to @samp{\"\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13115 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} userdb-configuration-list userdbs" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13118 +msgid "List of userdb configurations, each one created by the @code{userdb-configuration} constructor." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13120 +msgid "Available @code{userdb-configuration} fields are:" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13121 +#, no-wrap +msgid "{@code{userdb-configuration} parameter} string driver" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13125 +msgid "The driver that the userdb should use. Valid values include @samp{passwd} and @samp{static}. Defaults to @samp{\"passwd\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13127 +#, no-wrap +msgid "{@code{userdb-configuration} parameter} space-separated-string-list args" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13130 +msgid "Space separated list of arguments to the userdb driver. Defaults to @samp{\"\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13132 +#, no-wrap +msgid "{@code{userdb-configuration} parameter} free-form-args override-fields" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13135 +msgid "Override fields from passwd. Defaults to @samp{()}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13139 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} plugin-configuration plugin-configuration" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13142 +msgid "Plug-in configuration, created by the @code{plugin-configuration} constructor." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13144 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} list-of-namespace-configuration namespaces" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13147 +msgid "List of namespaces. Each item in the list is created by the @code{namespace-configuration} constructor." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13149 +msgid "Available @code{namespace-configuration} fields are:" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13150 +#, no-wrap +msgid "{@code{namespace-configuration} parameter} string name" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13152 +msgid "Name for this namespace." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13154 +#, no-wrap +msgid "{@code{namespace-configuration} parameter} string type" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13157 +msgid "Namespace type: @samp{private}, @samp{shared} or @samp{public}. Defaults to @samp{\"private\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13159 +#, no-wrap +msgid "{@code{namespace-configuration} parameter} string separator" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13165 +msgid "" +"Hierarchy separator to use. You should use the same separator for all namespaces or some clients get confused. @samp{/} is usually " +"a good one. The default however depends on the underlying mail storage format. Defaults to @samp{\"\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13167 +#, no-wrap +msgid "{@code{namespace-configuration} parameter} string prefix" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13171 +msgid "" +"Prefix required to access this namespace. This needs to be different for all namespaces. For example @samp{Public/}. Defaults to " +"@samp{\"\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13173 +#, no-wrap +msgid "{@code{namespace-configuration} parameter} string location" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13177 +msgid "" +"Physical location of the mailbox. This is in the same format as mail_location, which is also the default for it. Defaults to " +"@samp{\"\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13179 +#, no-wrap +msgid "{@code{namespace-configuration} parameter} boolean inbox?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13183 +msgid "There can be only one INBOX, and this setting defines which namespace has it. Defaults to @samp{#f}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13185 +#, no-wrap +msgid "{@code{namespace-configuration} parameter} boolean hidden?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13193 +msgid "" +"If namespace is hidden, it's not advertised to clients via NAMESPACE extension. You'll most likely also want to set @samp{list? " +"#f}. This is mostly useful when converting from another server with different namespaces which you want to deprecate but still keep " +"working. For example you can create hidden namespaces with prefixes @samp{~/mail/}, @samp{~%u/mail/} and @samp{mail/}. Defaults to " +"@samp{#f}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13195 +#, no-wrap +msgid "{@code{namespace-configuration} parameter} boolean list?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13201 +msgid "" +"Show the mailboxes under this namespace with the LIST command. This makes the namespace visible for clients that do not support the " +"NAMESPACE extension. The special @code{children} value lists child mailboxes, but hides the namespace prefix. Defaults to " +"@samp{#t}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13203 +#, no-wrap +msgid "{@code{namespace-configuration} parameter} boolean subscriptions?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13208 +msgid "" +"Namespace handles its own subscriptions. If set to @code{#f}, the parent namespace handles them. The empty prefix should always " +"have this as @code{#t}). Defaults to @samp{#t}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13210 +#, no-wrap +msgid "{@code{namespace-configuration} parameter} mailbox-configuration-list mailboxes" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13213 +msgid "List of predefined mailboxes in this namespace. Defaults to @samp{()}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13215 +msgid "Available @code{mailbox-configuration} fields are:" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13216 +#, no-wrap +msgid "{@code{mailbox-configuration} parameter} string name" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13218 +msgid "Name for this mailbox." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13220 +#, no-wrap +msgid "{@code{mailbox-configuration} parameter} string auto" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13224 +msgid "" +"@samp{create} will automatically create this mailbox. @samp{subscribe} will both create and subscribe to the mailbox. Defaults to " +"@samp{\"no\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13226 +#, no-wrap +msgid "{@code{mailbox-configuration} parameter} space-separated-string-list special-use" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13231 +msgid "" +"List of IMAP @code{SPECIAL-USE} attributes as specified by RFC 6154. Valid values are @code{\\All}, @code{\\Archive}, " +"@code{\\Drafts}, @code{\\Flagged}, @code{\\Junk}, @code{\\Sent}, and @code{\\Trash}. Defaults to @samp{()}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13237 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} file-name base-dir" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13240 +msgid "Base directory where to store runtime data. Defaults to @samp{\"/var/run/dovecot/\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13242 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string login-greeting" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13245 +msgid "Greeting message for clients. Defaults to @samp{\"Dovecot ready.\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13247 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} space-separated-string-list login-trusted-networks" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13254 +msgid "" +"List of trusted network ranges. Connections from these IPs are allowed to override their IP addresses and ports (for logging and " +"for authentication checks). @samp{disable-plaintext-auth} is also ignored for these networks. Typically you would specify your " +"IMAP proxy servers here. Defaults to @samp{()}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13256 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} space-separated-string-list login-access-sockets" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13259 +msgid "List of login access check sockets (e.g. tcpwrap). Defaults to @samp{()}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13261 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} boolean verbose-proctitle?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13267 +msgid "" +"Show more verbose process titles (in ps). Currently shows user name and IP address. Useful for seeing who is actually using the " +"IMAP processes (e.g. shared mailboxes or if the same uid is used for multiple accounts). Defaults to @samp{#f}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13269 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} boolean shutdown-clients?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13275 +msgid "" +"Should all processes be killed when Dovecot master process shuts down. Setting this to @code{#f} means that Dovecot can be upgraded " +"without forcing existing client connections to close (although that could also be a problem if the upgrade is e.g. due to a security " +"fix). Defaults to @samp{#t}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13277 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} non-negative-integer doveadm-worker-count" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13281 +msgid "" +"If non-zero, run mail commands via this many connections to doveadm server, instead of running them directly in the same process. " +"Defaults to @samp{0}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13283 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string doveadm-socket-path" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13286 +msgid "UNIX socket or host:port used for connecting to doveadm server. Defaults to @samp{\"doveadm-server\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13288 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} space-separated-string-list import-environment" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13292 +msgid "" +"List of environment variables that are preserved on Dovecot startup and passed down to all of its child processes. You can also " +"give key=value pairs to always set specific settings." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13294 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} boolean disable-plaintext-auth?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13301 +msgid "" +"Disable LOGIN command and all other plaintext authentications unless SSL/TLS is used (LOGINDISABLED capability). Note that if the " +"remote IP matches the local IP (i.e. you're connecting from the same computer), the connection is considered secure and plaintext " +"authentication is allowed. See also ssl=required setting. Defaults to @samp{#t}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13303 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} non-negative-integer auth-cache-size" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13308 +msgid "" +"Authentication cache size (e.g. @samp{#e10e6}). 0 means it's disabled. Note that bsdauth, PAM and vpopmail require @samp{cache-" +"key} to be set for caching to be used. Defaults to @samp{0}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13310 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string auth-cache-ttl" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13318 +msgid "" +"Time to live for cached data. After TTL expires the cached record is no longer used, *except* if the main database lookup returns " +"internal failure. We also try to handle password changes automatically: If user's previous authentication was successful, but this " +"one wasn't, the cache isn't used. For now this works only with plaintext authentication. Defaults to @samp{\"1 hour\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13320 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string auth-cache-negative-ttl" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13324 +msgid "TTL for negative hits (user not found, password mismatch). 0 disables caching them completely. Defaults to @samp{\"1 hour\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13326 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} space-separated-string-list auth-realms" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13332 +msgid "" +"List of realms for SASL authentication mechanisms that need them. You can leave it empty if you don't want to support multiple " +"realms. Many clients simply use the first one listed here, so keep the default realm first. Defaults to @samp{()}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13334 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string auth-default-realm" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13339 +msgid "" +"Default realm/domain to use if none was specified. This is used for both SASL realms and appending @@domain to username in " +"plaintext logins. Defaults to @samp{\"\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13341 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string auth-username-chars" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13348 +msgid "" +"List of allowed characters in username. If the user-given username contains a character not listed in here, the login automatically " +"fails. This is just an extra check to make sure user can't exploit any potential quote escaping vulnerabilities with SQL/LDAP " +"databases. If you want to allow all characters, set this value to empty. Defaults to " +"@samp{\"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890.-_@@\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13350 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string auth-username-translation" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13356 +msgid "" +"Username character translations before it's looked up from databases. The value contains series of from -> to characters. For " +"example @samp{#@@/@@} means that @samp{#} and @samp{/} characters are translated to @samp{@@}. Defaults to @samp{\"\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13358 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string auth-username-format" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13365 +msgid "" +"Username formatting before it's looked up from databases. You can use the standard variables here, e.g. %Lu would lowercase the " +"username, %n would drop away the domain if it was given, or @samp{%n-AT-%d} would change the @samp{@@} into @samp{-AT-}. This " +"translation is done after @samp{auth-username-translation} changes. Defaults to @samp{\"%Lu\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13367 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string auth-master-user-separator" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13375 +msgid "" +"If you want to allow master users to log in by specifying the master username within the normal username string (i.e. not using SASL " +"mechanism's support for it), you can specify the separator character here. The format is then <username><separator><master " +"username>. UW-IMAP uses @samp{*} as the separator, so that could be a good choice. Defaults to @samp{\"\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13377 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string auth-anonymous-username" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13381 +msgid "Username to use for users logging in with ANONYMOUS SASL mechanism. Defaults to @samp{\"anonymous\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13383 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} non-negative-integer auth-worker-max-count" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13388 +msgid "" +"Maximum number of dovecot-auth worker processes. They're used to execute blocking passdb and userdb queries (e.g. MySQL and PAM). " +"They're automatically created and destroyed as needed. Defaults to @samp{30}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13390 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string auth-gssapi-hostname" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13395 +msgid "" +"Host name to use in GSSAPI principal names. The default is to use the name returned by gethostname(). Use @samp{$ALL} (with " +"quotes) to allow all keytab entries. Defaults to @samp{\"\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13397 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string auth-krb5-keytab" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13403 +msgid "" +"Kerberos keytab to use for the GSSAPI mechanism. Will use the system default (usually @file{/etc/krb5.keytab}) if not specified. " +"You may need to change the auth service to run as root to be able to read this file. Defaults to @samp{\"\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13405 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} boolean auth-use-winbind?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13410 +msgid "" +"Do NTLM and GSS-SPNEGO authentication using Samba's winbind daemon and @samp{ntlm-auth} helper. <doc/wiki/Authentication/Mechanisms/" +"Winbind.txt>. Defaults to @samp{#f}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13412 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} file-name auth-winbind-helper-path" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13415 +msgid "Path for Samba's @samp{ntlm-auth} helper binary. Defaults to @samp{\"/usr/bin/ntlm_auth\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13417 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string auth-failure-delay" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13420 +msgid "Time to delay before replying to failed authentications. Defaults to @samp{\"2 secs\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13422 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} boolean auth-ssl-require-client-cert?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13426 +msgid "Require a valid SSL client certificate or the authentication fails. Defaults to @samp{#f}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13428 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} boolean auth-ssl-username-from-cert?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13433 +msgid "" +"Take the username from client's SSL certificate, using @code{X509_NAME_get_text_by_NID()} which returns the subject's DN's " +"CommonName. Defaults to @samp{#f}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13435 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} space-separated-string-list auth-mechanisms" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13441 +msgid "" +"List of wanted authentication mechanisms. Supported mechanisms are: @samp{plain}, @samp{login}, @samp{digest-md5}, @samp{cram-md5}, " +"@samp{ntlm}, @samp{rpa}, @samp{apop}, @samp{anonymous}, @samp{gssapi}, @samp{otp}, @samp{skey}, and @samp{gss-spnego}. NOTE: See " +"also @samp{disable-plaintext-auth} setting." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13443 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} space-separated-string-list director-servers" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13448 +msgid "" +"List of IPs or hostnames to all director servers, including ourself. Ports can be specified as ip:port. The default port is the " +"same as what director service's @samp{inet-listener} is using. Defaults to @samp{()}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13450 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} space-separated-string-list director-mail-servers" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13454 +msgid "" +"List of IPs or hostnames to all backend mail servers. Ranges are allowed too, like 10.0.0.10-10.0.0.30. Defaults to @samp{()}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13456 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string director-user-expire" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13460 +msgid "How long to redirect users to a specific server after it no longer has any connections. Defaults to @samp{\"15 min\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13462 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string director-username-hash" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13467 +msgid "" +"How the username is translated before being hashed. Useful values include %Ln if user can log in with or without @@domain, %Ld if " +"mailboxes are shared within domain. Defaults to @samp{\"%Lu\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13469 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string log-path" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13473 +msgid "" +"Log file to use for error messages. @samp{syslog} logs to syslog, @samp{/dev/stderr} logs to stderr. Defaults to @samp{\"syslog\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13475 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string info-log-path" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13479 +msgid "Log file to use for informational messages. Defaults to @samp{log-path}. Defaults to @samp{\"\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13481 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string debug-log-path" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13485 +msgid "Log file to use for debug messages. Defaults to @samp{info-log-path}. Defaults to @samp{\"\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13487 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string syslog-facility" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13492 +msgid "" +"Syslog facility to use if you're logging to syslog. Usually if you don't want to use @samp{mail}, you'll use local0..local7. Also " +"other standard facilities are supported. Defaults to @samp{\"mail\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13494 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} boolean auth-verbose?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13498 +msgid "Log unsuccessful authentication attempts and the reasons why they failed. Defaults to @samp{#f}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13500 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} boolean auth-verbose-passwords?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13507 +msgid "" +"In case of password mismatches, log the attempted password. Valid values are no, plain and sha1. sha1 can be useful for detecting " +"brute force password attempts vs. user simply trying the same password over and over again. You can also truncate the value to n " +"chars by appending \":n\" (e.g. sha1:6). Defaults to @samp{#f}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13509 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} boolean auth-debug?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13513 +msgid "Even more verbose logging for debugging purposes. Shows for example SQL queries. Defaults to @samp{#f}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13515 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} boolean auth-debug-passwords?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13520 +msgid "" +"In case of password mismatches, log the passwords and used scheme so the problem can be debugged. Enabling this also enables " +"@samp{auth-debug}. Defaults to @samp{#f}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13522 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} boolean mail-debug?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13526 +msgid "Enable mail process debugging. This can help you figure out why Dovecot isn't finding your mails. Defaults to @samp{#f}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13528 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} boolean verbose-ssl?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13531 +msgid "Show protocol level SSL errors. Defaults to @samp{#f}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13533 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string log-timestamp" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13537 +msgid "Prefix for each line written to log file. % codes are in strftime(3) format. Defaults to @samp{\"\\\"%b %d %H:%M:%S \\\"\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13539 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} space-separated-string-list login-log-format-elements" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13543 +msgid "" +"List of elements we want to log. The elements which have a non-empty variable value are joined together to form a comma-separated " +"string." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13545 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string login-log-format" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13549 +msgid "" +"Login log format. %s contains @samp{login-log-format-elements} string, %$ contains the data we want to log. Defaults to @samp{\"%" +"$: %s\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13551 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string mail-log-prefix" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13555 +msgid "" +"Log prefix for mail processes. See doc/wiki/Variables.txt for list of possible variables you can use. Defaults to @samp{\"\\" +"\"%s(%u)<%@{pid@}><%@{session@}>: \\\"\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13557 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string deliver-log-format" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13559 +msgid "Format to use for logging mail deliveries. You can use variables:" +msgstr "" + +#. type: item +#: doc/guix.texi:13560 +#, no-wrap +msgid "%$" +msgstr "" + +#. type: table +#: doc/guix.texi:13562 +msgid "Delivery status message (e.g. @samp{saved to INBOX})" +msgstr "" + +#. type: item +#: doc/guix.texi:13562 +#, no-wrap +msgid "%m" +msgstr "" + +#. type: table +#: doc/guix.texi:13564 +msgid "Message-ID" +msgstr "" + +#. type: item +#: doc/guix.texi:13564 doc/guix.texi:14096 +#, no-wrap +msgid "%s" +msgstr "" + +#. type: table +#: doc/guix.texi:13566 +msgid "Subject" +msgstr "" + +#. type: item +#: doc/guix.texi:13566 +#, no-wrap +msgid "%f" +msgstr "" + +#. type: table +#: doc/guix.texi:13568 +msgid "From address" +msgstr "" + +#. type: table +#: doc/guix.texi:13570 +msgid "Physical size" +msgstr "" + +#. type: item +#: doc/guix.texi:13570 +#, no-wrap +msgid "%w" +msgstr "" + +#. type: table +#: doc/guix.texi:13572 +msgid "Virtual size." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13574 +msgid "Defaults to @samp{\"msgid=%m: %$\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13576 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string mail-location" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13581 +msgid "" +"Location for users' mailboxes. The default is empty, which means that Dovecot tries to find the mailboxes automatically. This " +"won't work if the user doesn't yet have any mail, so you should explicitly tell Dovecot the full location." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13587 +msgid "" +"If you're using mbox, giving a path to the INBOX file (e.g. /var/mail/%u) isn't enough. You'll also need to tell Dovecot where the " +"other mailboxes are kept. This is called the \"root mail directory\", and it must be the first path given in the @samp{mail-" +"location} setting." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13589 +msgid "There are a few special variables you can use, eg.:" +msgstr "" + +#. type: table +#: doc/guix.texi:13593 +msgid "username" +msgstr "" + +#. type: item +#: doc/guix.texi:13593 doc/guix.texi:14092 +#, no-wrap +msgid "%n" +msgstr "" + +#. type: table +#: doc/guix.texi:13595 +msgid "user part in user@@domain, same as %u if there's no domain" +msgstr "" + +#. type: item +#: doc/guix.texi:13595 +#, no-wrap +msgid "%d" +msgstr "" + +#. type: table +#: doc/guix.texi:13597 +msgid "domain part in user@@domain, empty if there's no domain" +msgstr "" + +#. type: item +#: doc/guix.texi:13597 +#, no-wrap +msgid "%h" +msgstr "" + +#. type: table +#: doc/guix.texi:13599 +msgid "home director" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13602 +msgid "See doc/wiki/Variables.txt for full list. Some examples:" +msgstr "" + +#. type: item +#: doc/guix.texi:13603 +#, no-wrap +msgid "maildir:~/Maildir" +msgstr "" + +#. type: item +#: doc/guix.texi:13604 +#, no-wrap +msgid "mbox:~/mail:INBOX=/var/mail/%u" +msgstr "" + +#. type: item +#: doc/guix.texi:13605 +#, no-wrap +msgid "mbox:/var/mail/%d/%1n/%n:INDEX=/var/indexes/%d/%1n/%" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13610 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string mail-uid" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13615 +msgid "" +"System user and group used to access mails. If you use multiple, userdb can override these by returning uid or gid fields. You can " +"use either numbers or names. <doc/wiki/UserIds.txt>. Defaults to @samp{\"\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13617 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string mail-gid" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13622 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string mail-privileged-group" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13628 +msgid "" +"Group to enable temporarily for privileged operations. Currently this is used only with INBOX when either its initial creation or " +"dotlocking fails. Typically this is set to \"mail\" to give access to /var/mail. Defaults to @samp{\"\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13630 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string mail-access-groups" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13638 +msgid "" +"Grant access to these supplementary groups for mail processes. Typically these are used to set up access to shared mailboxes. Note " +"that it may be dangerous to set these if users can create symlinks (e.g. if \"mail\" group is set here, ln -s /var/mail ~/mail/var " +"could allow a user to delete others' mailboxes, or ln -s /secret/shared/box ~/mail/mybox would allow reading it). Defaults to " +"@samp{\"\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13640 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} boolean mail-full-filesystem-access?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13646 +msgid "" +"Allow full file system access to clients. There's no access checks other than what the operating system does for the active UID/" +"GID. It works with both maildir and mboxes, allowing you to prefix mailboxes names with e.g. /path/ or ~user/. Defaults to " +"@samp{#f}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13648 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} boolean mmap-disable?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13652 +msgid "" +"Don't use mmap() at all. This is required if you store indexes to shared file systems (NFS or clustered file system). Defaults to " +"@samp{#f}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13654 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} boolean dotlock-use-excl?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13659 +msgid "" +"Rely on @samp{O_EXCL} to work when creating dotlock files. NFS supports @samp{O_EXCL} since version 3, so this should be safe to " +"use nowadays by default. Defaults to @samp{#t}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13661 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string mail-fsync" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13663 +msgid "When to use fsync() or fdatasync() calls:" +msgstr "" + +#. type: item +#: doc/guix.texi:13664 +#, no-wrap +msgid "optimized" +msgstr "" + +#. type: table +#: doc/guix.texi:13666 +msgid "Whenever necessary to avoid losing important data" +msgstr "" + +#. type: table +#: doc/guix.texi:13668 +msgid "Useful with e.g. NFS when write()s are delayed" +msgstr "" + +#. type: table +#: doc/guix.texi:13670 +msgid "Never use it (best performance, but crashes can lose data)." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13672 +msgid "Defaults to @samp{\"optimized\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13674 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} boolean mail-nfs-storage?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13679 +msgid "" +"Mail storage exists in NFS. Set this to yes to make Dovecot flush NFS caches whenever needed. If you're using only a single mail " +"server this isn't needed. Defaults to @samp{#f}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13681 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} boolean mail-nfs-index?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13685 +msgid "" +"Mail index files also exist in NFS. Setting this to yes requires @samp{mmap-disable? #t} and @samp{fsync-disable? #f}. Defaults to " +"@samp{#f}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13687 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string lock-method" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13693 +msgid "" +"Locking method for index files. Alternatives are fcntl, flock and dotlock. Dotlocking uses some tricks which may create more disk " +"I/O than other locking methods. NFS users: flock doesn't work, remember to change @samp{mmap-disable}. Defaults to @samp{\"fcntl" +"\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13695 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} file-name mail-temp-dir" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13699 +msgid "Directory in which LDA/LMTP temporarily stores incoming mails >128 kB. Defaults to @samp{\"/tmp\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13701 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} non-negative-integer first-valid-uid" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13707 +msgid "" +"Valid UID range for users. This is mostly to make sure that users can't log in as daemons or other system users. Note that denying " +"root logins is hardcoded to dovecot binary and can't be done even if @samp{first-valid-uid} is set to 0. Defaults to @samp{500}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13709 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} non-negative-integer last-valid-uid" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13714 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} non-negative-integer first-valid-gid" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13719 +msgid "" +"Valid GID range for users. Users having non-valid GID as primary group ID aren't allowed to log in. If user belongs to " +"supplementary groups with non-valid GIDs, those groups are not set. Defaults to @samp{1}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13721 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} non-negative-integer last-valid-gid" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13726 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} non-negative-integer mail-max-keyword-length" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13730 +msgid "Maximum allowed length for mail keyword name. It's only forced when trying to create new keywords. Defaults to @samp{50}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13732 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} colon-separated-file-name-list valid-chroot-dirs" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13742 +msgid "" +"List of directories under which chrooting is allowed for mail processes (i.e. /var/mail will allow chrooting to /var/mail/foo/bar " +"too). This setting doesn't affect @samp{login-chroot} @samp{mail-chroot} or auth chroot settings. If this setting is empty, \"/./" +"\" in home dirs are ignored. WARNING: Never add directories here which local users can modify, that may lead to root exploit. " +"Usually this should be done only if you don't allow shell access for users. <doc/wiki/Chrooting.txt>. Defaults to @samp{()}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13744 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string mail-chroot" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13753 +msgid "" +"Default chroot directory for mail processes. This can be overridden for specific users in user database by giving /./ in user's " +"home directory (e.g. /home/./user chroots into /home). Note that usually there is no real need to do chrooting, Dovecot doesn't " +"allow users to access files outside their mail directory anyway. If your home directories are prefixed with the chroot directory, " +"append \"/.\" to @samp{mail-chroot}. <doc/wiki/Chrooting.txt>. Defaults to @samp{\"\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13755 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} file-name auth-socket-path" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13759 +msgid "" +"UNIX socket path to master authentication server to find users. This is used by imap (for shared users) and lda. Defaults to " +"@samp{\"/var/run/dovecot/auth-userdb\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13761 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} file-name mail-plugin-dir" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13764 +msgid "Directory where to look up mail plugins. Defaults to @samp{\"/usr/lib/dovecot\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13766 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} space-separated-string-list mail-plugins" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13770 +msgid "" +"List of plugins to load for all services. Plugins specific to IMAP, LDA, etc. are added to this list in their own .conf files. " +"Defaults to @samp{()}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13772 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} non-negative-integer mail-cache-min-mail-count" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13777 +msgid "" +"The minimum number of mails in a mailbox before updates are done to cache file. This allows optimizing Dovecot's behavior to do " +"less disk writes at the cost of more disk reads. Defaults to @samp{0}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13779 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string mailbox-idle-check-interval" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13786 +msgid "" +"When IDLE command is running, mailbox is checked once in a while to see if there are any new mails or other changes. This setting " +"defines the minimum time to wait between those checks. Dovecot can also use dnotify, inotify and kqueue to find out immediately " +"when changes occur. Defaults to @samp{\"30 secs\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13788 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} boolean mail-save-crlf?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13795 +msgid "" +"Save mails with CR+LF instead of plain LF. This makes sending those mails take less CPU, especially with sendfile() syscall with " +"Linux and FreeBSD. But it also creates a bit more disk I/O which may just make it slower. Also note that if other software reads " +"the mboxes/maildirs, they may handle the extra CRs wrong and cause problems. Defaults to @samp{#f}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13797 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} boolean maildir-stat-dirs?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13805 +msgid "" +"By default LIST command returns all entries in maildir beginning with a dot. Enabling this option makes Dovecot return only entries " +"which are directories. This is done by stat()ing each entry, so it causes more disk I/O. (For systems setting struct @samp{dirent-" +">d_type} this check is free and it's done always regardless of this setting). Defaults to @samp{#f}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13807 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} boolean maildir-copy-with-hardlinks?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13812 +msgid "" +"When copying a message, do it with hard links whenever possible. This makes the performance much better, and it's unlikely to have " +"any side effects. Defaults to @samp{#t}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13814 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} boolean maildir-very-dirty-syncs?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13819 +msgid "" +"Assume Dovecot is the only MUA accessing Maildir: Scan cur/ directory only when its mtime changes unexpectedly or when we can't find " +"the mail otherwise. Defaults to @samp{#f}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13821 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} space-separated-string-list mbox-read-locks" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13824 +msgid "Which locking methods to use for locking mbox. There are four available:" +msgstr "" + +#. type: item +#: doc/guix.texi:13826 +#, no-wrap +msgid "dotlock" +msgstr "" + +#. type: table +#: doc/guix.texi:13830 +msgid "" +"Create <mailbox>.lock file. This is the oldest and most NFS-safe solution. If you want to use /var/mail/ like directory, the users " +"will need write access to that directory." +msgstr "" + +#. type: item +#: doc/guix.texi:13830 +#, no-wrap +msgid "dotlock-try" +msgstr "" + +#. type: table +#: doc/guix.texi:13833 +msgid "Same as dotlock, but if it fails because of permissions or because there isn't enough disk space, just skip it." +msgstr "" + +#. type: item +#: doc/guix.texi:13833 +#, no-wrap +msgid "fcntl" +msgstr "" + +#. type: table +#: doc/guix.texi:13835 +msgid "Use this if possible. Works with NFS too if lockd is used." +msgstr "" + +#. type: item +#: doc/guix.texi:13835 +#, no-wrap +msgid "flock" +msgstr "" + +#. type: table +#: doc/guix.texi:13837 doc/guix.texi:13839 +msgid "May not exist in all systems. Doesn't work with NFS." +msgstr "" + +#. type: item +#: doc/guix.texi:13837 +#, no-wrap +msgid "lockf" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13845 +msgid "" +"You can use multiple locking methods; if you do the order they're declared in is important to avoid deadlocks if other MTAs/MUAs are " +"using multiple locking methods as well. Some operating systems don't allow using some of them simultaneously." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13847 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} space-separated-string-list mbox-write-locks" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13851 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string mbox-lock-timeout" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13854 +msgid "Maximum time to wait for lock (all of them) before aborting. Defaults to @samp{\"5 mins\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13856 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string mbox-dotlock-change-timeout" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13860 +msgid "" +"If dotlock exists but the mailbox isn't modified in any way, override the lock file after this much time. Defaults to @samp{\"2 mins" +"\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13862 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} boolean mbox-dirty-syncs?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13873 +msgid "" +"When mbox changes unexpectedly we have to fully read it to find out what changed. If the mbox is large this can take a long time. " +"Since the change is usually just a newly appended mail, it'd be faster to simply read the new mails. If this setting is enabled, " +"Dovecot does this but still safely fallbacks to re-reading the whole mbox file whenever something in mbox isn't how it's expected to " +"be. The only real downside to this setting is that if some other MUA changes message flags, Dovecot doesn't notice it immediately. " +"Note that a full sync is done with SELECT, EXAMINE, EXPUNGE and CHECK commands. Defaults to @samp{#t}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13875 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} boolean mbox-very-dirty-syncs?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13880 +msgid "" +"Like @samp{mbox-dirty-syncs}, but don't do full syncs even with SELECT, EXAMINE, EXPUNGE or CHECK commands. If this is set, " +"@samp{mbox-dirty-syncs} is ignored. Defaults to @samp{#f}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13882 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} boolean mbox-lazy-writes?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13888 +msgid "" +"Delay writing mbox headers until doing a full write sync (EXPUNGE and CHECK commands and when closing the mailbox). This is " +"especially useful for POP3 where clients often delete all mails. The downside is that our changes aren't immediately visible to " +"other MUAs. Defaults to @samp{#t}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13890 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} non-negative-integer mbox-min-index-size" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13895 +msgid "" +"If mbox size is smaller than this (e.g. 100k), don't write index files. If an index file already exists it's still read, just not " +"updated. Defaults to @samp{0}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13897 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} non-negative-integer mdbox-rotate-size" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13900 +msgid "Maximum dbox file size until it's rotated. Defaults to @samp{10000000}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13902 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string mdbox-rotate-interval" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13907 +msgid "" +"Maximum dbox file age until it's rotated. Typically in days. Day begins from midnight, so 1d = today, 2d = yesterday, etc. 0 = " +"check disabled. Defaults to @samp{\"1d\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13909 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} boolean mdbox-preallocate-space?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13914 +msgid "" +"When creating new mdbox files, immediately preallocate their size to @samp{mdbox-rotate-size}. This setting currently works only in " +"Linux with some file systems (ext4, xfs). Defaults to @samp{#f}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13916 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string mail-attachment-dir" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13920 +msgid "" +"sdbox and mdbox support saving mail attachments to external files, which also allows single instance storage for them. Other " +"backends don't support this for now." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13922 +msgid "WARNING: This feature hasn't been tested much yet. Use at your own risk." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13925 +msgid "Directory root where to store mail attachments. Disabled, if empty. Defaults to @samp{\"\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13927 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} non-negative-integer mail-attachment-min-size" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13932 +msgid "" +"Attachments smaller than this aren't saved externally. It's also possible to write a plugin to disable saving specific attachments " +"externally. Defaults to @samp{128000}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13934 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string mail-attachment-fs" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13936 +msgid "File system backend to use for saving attachments:" +msgstr "" + +#. type: item +#: doc/guix.texi:13937 +#, no-wrap +msgid "posix" +msgstr "" + +#. type: table +#: doc/guix.texi:13939 +msgid "No SiS done by Dovecot (but this might help FS's own deduplication)" +msgstr "" + +#. type: item +#: doc/guix.texi:13939 +#, no-wrap +msgid "sis posix" +msgstr "" + +#. type: table +#: doc/guix.texi:13941 +msgid "SiS with immediate byte-by-byte comparison during saving" +msgstr "" + +#. type: item +#: doc/guix.texi:13941 +#, no-wrap +msgid "sis-queue posix" +msgstr "" + +#. type: table +#: doc/guix.texi:13943 +msgid "SiS with delayed comparison and deduplication." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13945 +msgid "Defaults to @samp{\"sis posix\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13947 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string mail-attachment-hash" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13953 +msgid "" +"Hash format to use in attachment filenames. You can add any text and variables: @code{%@{md4@}}, @code{%@{md5@}}, @code{%@{sha1@}}, " +"@code{%@{sha256@}}, @code{%@{sha512@}}, @code{%@{size@}}. Variables can be truncated, e.g. @code{%@{sha256:80@}} returns only first " +"80 bits. Defaults to @samp{\"%@{sha1@}\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13955 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} non-negative-integer default-process-limit" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13960 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} non-negative-integer default-client-limit" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13963 doc/guix.texi:17869 +msgid "Defaults to @samp{1000}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13965 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} non-negative-integer default-vsz-limit" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13970 +msgid "" +"Default VSZ (virtual memory size) limit for service processes. This is mainly intended to catch and kill processes that leak memory " +"before they eat up everything. Defaults to @samp{256000000}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13972 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string default-login-user" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13977 +msgid "" +"Login user is internally used by login processes. This is the most untrusted user in Dovecot system. It shouldn't have access to " +"anything at all. Defaults to @samp{\"dovenull\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13979 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string default-internal-user" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13984 +msgid "" +"Internal user is used by unprivileged processes. It should be separate from login user, so that login processes can't disturb other " +"processes. Defaults to @samp{\"dovecot\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13986 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string ssl?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13989 +msgid "SSL/TLS support: yes, no, required. <doc/wiki/SSL.txt>. Defaults to @samp{\"required\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13991 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string ssl-cert" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13994 +msgid "PEM encoded X.509 SSL/TLS certificate (public key). Defaults to @samp{\"</etc/dovecot/default.pem\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13996 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string ssl-key" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14001 +msgid "" +"PEM encoded SSL/TLS private key. The key is opened before dropping root privileges, so keep the key file unreadable by anyone but " +"root. Defaults to @samp{\"</etc/dovecot/private/default.pem\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14003 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string ssl-key-password" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14009 +msgid "" +"If key file is password protected, give the password here. Alternatively give it when starting dovecot with -p parameter. Since " +"this file is often world-readable, you may want to place this setting instead to a different. Defaults to @samp{\"\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14011 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string ssl-ca" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14017 +msgid "" +"PEM encoded trusted certificate authority. Set this only if you intend to use @samp{ssl-verify-client-cert? #t}. The file should " +"contain the CA certificate(s) followed by the matching CRL(s). (e.g. @samp{ssl-ca </etc/ssl/certs/ca.pem}). Defaults to " +"@samp{\"\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14019 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} boolean ssl-require-crl?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14022 +msgid "Require that CRL check succeeds for client certificates. Defaults to @samp{#t}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14024 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} boolean ssl-verify-client-cert?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14028 +msgid "" +"Request client to send a certificate. If you also want to require it, set @samp{auth-ssl-require-client-cert? #t} in auth section. " +"Defaults to @samp{#f}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14030 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string ssl-cert-username-field" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14035 +msgid "" +"Which field from certificate to use for username. commonName and x500UniqueIdentifier are the usual choices. You'll also need to " +"set @samp{auth-ssl-username-from-cert? #t}. Defaults to @samp{\"commonName\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14037 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string ssl-min-protocol" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14040 +msgid "Minimum SSL protocol version to accept. Defaults to @samp{\"TLSv1\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14042 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string ssl-cipher-list" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14045 +msgid "" +"SSL ciphers to use. Defaults to @samp{\"ALL:!kRSA:!SRP:!kDHd:!DSS:!aNULL:!eNULL:!EXPORT:!DES:!3DES:!MD5:!PSK:!RC4:!ADH:!" +"LOW@@STRENGTH\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14047 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string ssl-crypto-device" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14050 +msgid "SSL crypto device to use, for valid values run \"openssl engine\". Defaults to @samp{\"\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14052 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string postmaster-address" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14056 +msgid "Address to use when sending rejection mails. %d expands to recipient domain. Defaults to @samp{\"postmaster@@%d\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14058 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string hostname" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14062 +msgid "" +"Hostname to use in various parts of sent mails (e.g. in Message-Id) and in LMTP replies. Default is the system's real " +"hostname@@domain. Defaults to @samp{\"\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14064 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} boolean quota-full-tempfail?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14068 +msgid "If user is over quota, return with temporary failure instead of bouncing the mail. Defaults to @samp{#f}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14070 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} file-name sendmail-path" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14073 +msgid "Binary to use for sending mails. Defaults to @samp{\"/usr/sbin/sendmail\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14075 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string submission-host" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14079 +msgid "If non-empty, send mails via this SMTP host[:port] instead of sendmail. Defaults to @samp{\"\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14081 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string rejection-subject" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14085 +msgid "" +"Subject: header to use for rejection mails. You can use the same variables as for @samp{rejection-reason} below. Defaults to " +"@samp{\"Rejected: %s\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14087 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string rejection-reason" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14090 +msgid "Human readable error message for rejection mails. You can use variables:" +msgstr "" + +#. type: table +#: doc/guix.texi:14094 +msgid "CRLF" +msgstr "" + +#. type: item +#: doc/guix.texi:14094 +#, no-wrap +msgid "%r" +msgstr "" + +#. type: table +#: doc/guix.texi:14096 +msgid "reason" +msgstr "" + +#. type: table +#: doc/guix.texi:14098 +msgid "original subject" +msgstr "" + +#. type: item +#: doc/guix.texi:14098 +#, no-wrap +msgid "%t" +msgstr "" + +#. type: table +#: doc/guix.texi:14100 +msgid "recipient" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14102 +msgid "Defaults to @samp{\"Your message to <%t> was automatically rejected:%n%r\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14104 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string recipient-delimiter" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14108 +msgid "Delimiter character between local-part and detail in email address. Defaults to @samp{\"+\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14110 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string lda-original-recipient-header" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14116 +msgid "" +"Header where the original recipient address (SMTP's RCPT TO: address) is taken from if not available elsewhere. With dovecot-lda -a " +"parameter overrides this. A commonly used header for this is X-Original-To. Defaults to @samp{\"\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14118 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} boolean lda-mailbox-autocreate?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14122 +msgid "Should saving a mail to a nonexistent mailbox automatically create it?. Defaults to @samp{#f}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14124 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} boolean lda-mailbox-autosubscribe?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14128 +msgid "Should automatically created mailboxes be also automatically subscribed?. Defaults to @samp{#f}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14130 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} non-negative-integer imap-max-line-length" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14136 +msgid "" +"Maximum IMAP command line length. Some clients generate very long command lines with huge mailboxes, so you may need to raise this " +"if you get \"Too long argument\" or \"IMAP command line too large\" errors often. Defaults to @samp{64000}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14138 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string imap-logout-format" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14140 +msgid "IMAP logout format string:" +msgstr "" + +#. type: item +#: doc/guix.texi:14141 +#, no-wrap +msgid "%i" +msgstr "" + +#. type: table +#: doc/guix.texi:14143 +msgid "total number of bytes read from client" +msgstr "" + +#. type: item +#: doc/guix.texi:14143 +#, no-wrap +msgid "%o" +msgstr "" + +#. type: table +#: doc/guix.texi:14145 +msgid "total number of bytes sent to client." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14148 +msgid "" +"See @file{doc/wiki/Variables.txt} for a list of all the variables you can use. Defaults to @samp{\"in=%i out=%o deleted=" +"%@{deleted@} expunged=%@{expunged@} trashed=%@{trashed@} hdr_count=%@{fetch_hdr_count@} hdr_bytes=%@{fetch_hdr_bytes@} body_count=" +"%@{fetch_body_count@} body_bytes=%@{fetch_body_bytes@}\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14150 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string imap-capability" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14154 +msgid "" +"Override the IMAP CAPABILITY response. If the value begins with '+', add the given capabilities on top of the defaults (e.g. +XFOO " +"XBAR). Defaults to @samp{\"\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14156 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string imap-idle-notify-interval" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14160 +msgid "How long to wait between \"OK Still here\" notifications when client is IDLEing. Defaults to @samp{\"2 mins\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14162 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string imap-id-send" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14168 +msgid "" +"ID field names and values to send to clients. Using * as the value makes Dovecot use the default value. The following fields have " +"default values currently: name, version, os, os-version, support-url, support-email. Defaults to @samp{\"\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14170 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string imap-id-log" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14173 +msgid "ID fields sent by client to log. * means everything. Defaults to @samp{\"\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14175 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} space-separated-string-list imap-client-workarounds" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14177 +msgid "Workarounds for various client bugs:" +msgstr "" + +#. type: item +#: doc/guix.texi:14179 +#, no-wrap +msgid "delay-newmail" +msgstr "" + +#. type: table +#: doc/guix.texi:14186 +msgid "" +"Send EXISTS/RECENT new mail notifications only when replying to NOOP and CHECK commands. Some clients ignore them otherwise, for " +"example OSX Mail (<v2.1). Outlook Express breaks more badly though, without this it may show user \"Message no longer in server\" " +"errors. Note that OE6 still breaks even with this workaround if synchronization is set to \"Headers Only\"." +msgstr "" + +#. type: item +#: doc/guix.texi:14187 +#, no-wrap +msgid "tb-extra-mailbox-sep" +msgstr "" + +#. type: table +#: doc/guix.texi:14191 +msgid "" +"Thunderbird gets somehow confused with LAYOUT=fs (mbox and dbox) and adds extra @samp{/} suffixes to mailbox names. This option " +"causes Dovecot to ignore the extra @samp{/} instead of treating it as invalid mailbox name." +msgstr "" + +#. type: item +#: doc/guix.texi:14192 +#, no-wrap +msgid "tb-lsub-flags" +msgstr "" + +#. type: table +#: doc/guix.texi:14196 +msgid "" +"Show \\Noselect flags for LSUB replies with LAYOUT=fs (e.g. mbox). This makes Thunderbird realize they aren't selectable and show " +"them greyed out, instead of only later giving \"not selectable\" popup error." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14200 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string imap-urlauth-host" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14203 +msgid "Host allowed in URLAUTH URLs sent by client. \"*\" allows all. Defaults to @samp{\"\"}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:14211 +msgid "" +"Whew! Lots of configuration options. The nice thing about it though is that GuixSD has a complete interface to Dovecot's " +"configuration language. This allows not only a nice way to declare configurations, but also offers reflective capabilities as well: " +"users can write code to inspect and transform configurations from within Scheme." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:14217 +msgid "" +"However, it could be that you just want to get a @code{dovecot.conf} up and running. In that case, you can pass an @code{opaque-" +"dovecot-configuration} as the @code{#:config} parameter to @code{dovecot-service}. As its name indicates, an opaque configuration " +"does not have easy reflective capabilities." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:14219 +msgid "Available @code{opaque-dovecot-configuration} fields are:" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14220 +#, no-wrap +msgid "{@code{opaque-dovecot-configuration} parameter} package dovecot" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14224 +#, no-wrap +msgid "{@code{opaque-dovecot-configuration} parameter} string string" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14226 +msgid "The contents of the @code{dovecot.conf}, as a string." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:14230 +msgid "For example, if your @code{dovecot.conf} is just the empty string, you could instantiate a dovecot service like this:" +msgstr "" + +#. type: example +#: doc/guix.texi:14235 +#, no-wrap +msgid "" +"(dovecot-service #:config\n" +" (opaque-dovecot-configuration\n" +" (string \"\")))\n" +msgstr "" + +#. type: subsubheading +#: doc/guix.texi:14237 +#, no-wrap +msgid "OpenSMTPD Service" +msgstr "" + +#. type: deffn +#: doc/guix.texi:14239 +#, no-wrap +msgid "{Scheme Variable} opensmtpd-service-type" +msgstr "" + +#. type: deffn +#: doc/guix.texi:14243 +msgid "" +"This is the type of the @uref{https://www.opensmtpd.org, OpenSMTPD} service, whose value should be an @code{opensmtpd-configuration} " +"object as in this example:" +msgstr "" + +#. type: example +#: doc/guix.texi:14248 +#, no-wrap +msgid "" +"(service opensmtpd-service-type\n" +" (opensmtpd-configuration\n" +" (config-file (local-file \"./my-smtpd.conf\"))))\n" +msgstr "" + +#. type: deftp +#: doc/guix.texi:14251 +#, no-wrap +msgid "{Data Type} opensmtpd-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:14253 +msgid "Data type representing the configuration of opensmtpd." +msgstr "" + +#. type: item +#: doc/guix.texi:14255 +#, no-wrap +msgid "@code{package} (default: @var{opensmtpd})" +msgstr "" + +#. type: table +#: doc/guix.texi:14257 +msgid "Package object of the OpenSMTPD SMTP server." +msgstr "" + +#. type: item +#: doc/guix.texi:14258 +#, no-wrap +msgid "@code{config-file} (default: @var{%default-opensmtpd-file})" +msgstr "" + +#. type: table +#: doc/guix.texi:14263 +msgid "" +"File-like object of the OpenSMTPD configuration file to use. By default it listens on the loopback network interface, and allows " +"for mail from users and daemons on the local machine, as well as permitting email to remote servers. Run @command{man smtpd.conf} " +"for more information." +msgstr "" + +#. type: subsubheading +#: doc/guix.texi:14267 +#, no-wrap +msgid "Exim Service" +msgstr "" + +#. type: cindex +#: doc/guix.texi:14269 +#, no-wrap +msgid "mail transfer agent (MTA)" +msgstr "" + +#. type: cindex +#: doc/guix.texi:14270 +#, no-wrap +msgid "MTA (mail transfer agent)" +msgstr "" + +#. type: cindex +#: doc/guix.texi:14271 +#, no-wrap +msgid "SMTP" +msgstr "" + +#. type: deffn +#: doc/guix.texi:14273 +#, no-wrap +msgid "{Scheme Variable} exim-service-type" +msgstr "" + +#. type: deffn +#: doc/guix.texi:14277 +msgid "" +"This is the type of the @uref{https://exim.org, Exim} mail transfer agent (MTA), whose value should be an @code{exim-configuration} " +"object as in this example:" +msgstr "" + +#. type: example +#: doc/guix.texi:14282 +#, no-wrap +msgid "" +"(service exim-service-type\n" +" (exim-configuration\n" +" (config-file (local-file \"./my-exim.conf\"))))\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:14288 +msgid "" +"In order to use an @code{exim-service-type} service you must also have a @code{mail-aliases-service-type} service present in your " +"@code{operating-system} (even if it has no aliases)." +msgstr "" + +#. type: deftp +#: doc/guix.texi:14289 +#, no-wrap +msgid "{Data Type} exim-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:14291 +msgid "Data type representing the configuration of exim." +msgstr "" + +#. type: item +#: doc/guix.texi:14293 +#, no-wrap +msgid "@code{package} (default: @var{exim})" +msgstr "" + +#. type: table +#: doc/guix.texi:14295 +msgid "Package object of the Exim server." +msgstr "" + +#. type: item +#: doc/guix.texi:14296 +#, no-wrap +msgid "@code{config-file} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:14302 +msgid "" +"File-like object of the Exim configuration file to use. If its value is @code{#f} then use the default configuration file from the " +"package provided in @code{package}. The resulting configuration file is loaded after setting the @code{exim_user} and " +"@code{exim_group} configuration variables." +msgstr "" + +#. type: subsubheading +#: doc/guix.texi:14306 +#, no-wrap +msgid "Mail Aliases Service" +msgstr "" + +#. type: cindex +#: doc/guix.texi:14308 +#, no-wrap +msgid "email aliases" +msgstr "" + +#. type: cindex +#: doc/guix.texi:14309 +#, no-wrap +msgid "aliases, for email addresses" +msgstr "" + +#. type: deffn +#: doc/guix.texi:14311 +#, no-wrap +msgid "{Scheme Variable} mail-aliases-service-type" +msgstr "" + +#. type: deffn +#: doc/guix.texi:14314 +msgid "This is the type of the service which provides @code{/etc/aliases}, specifying how to deliver mail to users on this system." +msgstr "" + +#. type: example +#: doc/guix.texi:14319 +#, no-wrap +msgid "" +"(service mail-aliases-service-type\n" +" '((\"postmaster\" \"bob\")\n" +" (\"bob\" \"bob@@example.com\" \"bob@@example2.com\")))\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:14327 +msgid "" +"The configuration for a @code{mail-aliases-service-type} service is an association list denoting how to deliver mail that comes to " +"this system. Each entry is of the form @code{(alias addresses ...)}, with @code{alias} specifying the local alias and " +"@code{addresses} specifying where to deliver this user's mail." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:14333 +msgid "" +"The aliases aren't required to exist as users on the local system. In the above example, there doesn't need to be a " +"@code{postmaster} entry in the @code{operating-system}'s @code{user-accounts} in order to deliver the @code{postmaster} mail to " +"@code{bob} (which subsequently would deliver mail to @code{bob@@example.com} and @code{bob@@example2.com})." +msgstr "" + +#. type: cindex +#: doc/guix.texi:14337 +#, no-wrap +msgid "messaging" +msgstr "" + +#. type: cindex +#: doc/guix.texi:14338 +#, no-wrap +msgid "jabber" +msgstr "" + +#. type: cindex +#: doc/guix.texi:14339 +#, no-wrap +msgid "XMPP" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:14342 +msgid "" +"The @code{(gnu services messaging)} module provides Guix service definitions for messaging services: currently only Prosody is " +"supported." +msgstr "" + +#. type: subsubheading +#: doc/guix.texi:14343 +#, no-wrap +msgid "Prosody Service" +msgstr "" + +#. type: deffn +#: doc/guix.texi:14345 +#, no-wrap +msgid "{Scheme Variable} prosody-service-type" +msgstr "" + +#. type: deffn +#: doc/guix.texi:14349 +msgid "" +"This is the type for the @uref{https://prosody.im, Prosody XMPP communication server}. Its value must be a @code{prosody-" +"configuration} record as in this example:" +msgstr "" + +#. type: example +#: doc/guix.texi:14364 +#, no-wrap +msgid "" +"(service prosody-service-type\n" +" (prosody-configuration\n" +" (modules-enabled (cons \"groups\" \"mam\" %default-modules-enabled))\n" +" (int-components\n" +" (list\n" +" (int-component-configuration\n" +" (hostname \"conference.example.net\")\n" +" (plugin \"muc\")\n" +" (mod-muc (mod-muc-configuration)))))\n" +" (virtualhosts\n" +" (list\n" +" (virtualhost-configuration\n" +" (domain \"example.net\"))))))\n" +msgstr "" + +#. type: deffn +#: doc/guix.texi:14367 +msgid "See below for details about @code{prosody-configuration}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:14373 +msgid "" +"By default, Prosody does not need much configuration. Only one @code{virtualhosts} field is needed: it specifies the domain you " +"wish Prosody to serve." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:14376 +msgid "You can perform various sanity checks on the generated configuration with the @code{prosodyctl check} command." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:14380 +msgid "" +"Prosodyctl will also help you to import certificates from the @code{letsencrypt} directory so that the @code{prosody} user can " +"access them. See @url{https://prosody.im/doc/letsencrypt}." +msgstr "" + +#. type: example +#: doc/guix.texi:14383 +#, no-wrap +msgid "prosodyctl --root cert import /etc/letsencrypt/live\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:14390 +msgid "" +"The available configuration parameters follow. Each parameter definition is preceded by its type; for example, @samp{string-list " +"foo} indicates that the @code{foo} parameter should be specified as a list of strings. Types starting with @code{maybe-} denote " +"parameters that won't show up in @code{prosody.cfg.lua} when their value is @code{'disabled}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:14394 +msgid "" +"There is also a way to specify the configuration as a string, if you have an old @code{prosody.cfg.lua} file that you want to port " +"over from some other system; see the end for more details." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:14397 +msgid "The @code{file-object} type designates either a file-like object (@pxref{G-Expressions, file-like objects}) or a file name." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:14407 +msgid "Available @code{prosody-configuration} fields are:" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14408 +#, no-wrap +msgid "{@code{prosody-configuration} parameter} package prosody" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14410 +msgid "The Prosody package." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14412 +#, no-wrap +msgid "{@code{prosody-configuration} parameter} file-name data-path" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14416 +msgid "" +"Location of the Prosody data storage directory. See @url{https://prosody.im/doc/configure}. Defaults to @samp{\"/var/lib/prosody" +"\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14418 +#, no-wrap +msgid "{@code{prosody-configuration} parameter} file-object-list plugin-paths" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14422 +msgid "" +"Additional plugin directories. They are searched in all the specified paths in order. See @url{https://prosody.im/doc/" +"plugins_directory}. Defaults to @samp{()}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14424 +#, no-wrap +msgid "{@code{prosody-configuration} parameter} file-name certificates" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14429 +msgid "" +"Every virtual host and component needs a certificate so that clients and servers can securely verify its identity. Prosody will " +"automatically load certificates/keys from the directory specified here. Defaults to @samp{\"/etc/prosody/certs\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14431 +#, no-wrap +msgid "{@code{prosody-configuration} parameter} string-list admins" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14437 +msgid "" +"This is a list of accounts that are admins for the server. Note that you must create the accounts separately. See @url{https://" +"prosody.im/doc/admins} and @url{https://prosody.im/doc/creating_accounts}. Example: @code{(admins '(\"user1@@example.com\" " +"\"user2@@example.net\"))} Defaults to @samp{()}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14439 +#, no-wrap +msgid "{@code{prosody-configuration} parameter} boolean use-libevent?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14443 +msgid "" +"Enable use of libevent for better performance under high load. See @url{https://prosody.im/doc/libevent}. Defaults to @samp{#f}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14445 +#, no-wrap +msgid "{@code{prosody-configuration} parameter} module-list modules-enabled" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14451 +msgid "" +"This is the list of modules Prosody will load on startup. It looks for @code{mod_modulename.lua} in the plugins folder, so make " +"sure that exists too. Documentation on modules can be found at: @url{https://prosody.im/doc/modules}. Defaults to @samp{(\"roster" +"\" \"saslauth\" \"tls\" \"dialback\" \"disco\" \"carbons\" \"private\" \"blocklist\" \"vcard\" \"version\" \"uptime\" \"time\" \"ping" +"\" \"pep\" \"register\" \"admin_adhoc\")}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14453 +#, no-wrap +msgid "{@code{prosody-configuration} parameter} string-list modules-disabled" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14457 +msgid "" +"@samp{\"offline\"}, @samp{\"c2s\"} and @samp{\"s2s\"} are auto-loaded, but should you want to disable them then add them to this " +"list. Defaults to @samp{()}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14459 +#, no-wrap +msgid "{@code{prosody-configuration} parameter} file-object groups-file" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14464 +msgid "" +"Path to a text file where the shared groups are defined. If this path is empty then @samp{mod_groups} does nothing. See " +"@url{https://prosody.im/doc/modules/mod_groups}. Defaults to @samp{\"/var/lib/prosody/sharedgroups.txt\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14466 +#, no-wrap +msgid "{@code{prosody-configuration} parameter} boolean allow-registration?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14470 +msgid "Disable account creation by default, for security. See @url{https://prosody.im/doc/creating_accounts}. Defaults to @samp{#f}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14472 +#, no-wrap +msgid "{@code{prosody-configuration} parameter} maybe-ssl-configuration ssl" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14477 +msgid "" +"These are the SSL/TLS-related settings. Most of them are disabled so to use Prosody's defaults. If you do not completely " +"understand these options, do not add them to your config, it is easy to lower the security of your server using them. See " +"@url{https://prosody.im/doc/advanced_ssl_config}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14479 +msgid "Available @code{ssl-configuration} fields are:" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14480 +#, no-wrap +msgid "{@code{ssl-configuration} parameter} maybe-string protocol" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14482 +msgid "This determines what handshake to use." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14484 +#, no-wrap +msgid "{@code{ssl-configuration} parameter} maybe-file-name key" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14486 +msgid "Path to your private key file." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14488 +#, no-wrap +msgid "{@code{ssl-configuration} parameter} maybe-file-name certificate" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14490 +msgid "Path to your certificate file." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14492 +#, no-wrap +msgid "{@code{ssl-configuration} parameter} file-object capath" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14496 +msgid "" +"Path to directory containing root certificates that you wish Prosody to trust when verifying the certificates of remote servers. " +"Defaults to @samp{\"/etc/ssl/certs\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14498 +#, no-wrap +msgid "{@code{ssl-configuration} parameter} maybe-file-object cafile" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14501 +msgid "" +"Path to a file containing root certificates that you wish Prosody to trust. Similar to @code{capath} but with all certificates " +"concatenated together." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14503 +#, no-wrap +msgid "{@code{ssl-configuration} parameter} maybe-string-list verify" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14506 +msgid "A list of verification options (these mostly map to OpenSSL's @code{set_verify()} flags)." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14508 +#, no-wrap +msgid "{@code{ssl-configuration} parameter} maybe-string-list options" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14512 +msgid "" +"A list of general options relating to SSL/TLS. These map to OpenSSL's @code{set_options()}. For a full list of options available " +"in LuaSec, see the LuaSec source." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14514 +#, no-wrap +msgid "{@code{ssl-configuration} parameter} maybe-non-negative-integer depth" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14517 +msgid "How long a chain of certificate authorities to check when looking for a trusted root certificate." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14519 +#, no-wrap +msgid "{@code{ssl-configuration} parameter} maybe-string ciphers" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14522 +msgid "An OpenSSL cipher string. This selects what ciphers Prosody will offer to clients, and in what order." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14524 +#, no-wrap +msgid "{@code{ssl-configuration} parameter} maybe-file-name dhparam" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14528 +msgid "" +"A path to a file containing parameters for Diffie-Hellman key exchange. You can create such a file with: @code{openssl dhparam -" +"out /etc/prosody/certs/dh-2048.pem 2048}" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14530 +#, no-wrap +msgid "{@code{ssl-configuration} parameter} maybe-string curve" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14533 +msgid "Curve for Elliptic curve Diffie-Hellman. Prosody's default is @samp{\"secp384r1\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14535 +#, no-wrap +msgid "{@code{ssl-configuration} parameter} maybe-string-list verifyext" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14537 +msgid "A list of \"extra\" verification options." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14539 +#, no-wrap +msgid "{@code{ssl-configuration} parameter} maybe-string password" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14541 +msgid "Password for encrypted private keys." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14545 +#, no-wrap +msgid "{@code{prosody-configuration} parameter} boolean c2s-require-encryption?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14549 +msgid "" +"Whether to force all client-to-server connections to be encrypted or not. See @url{https://prosody.im/doc/modules/mod_tls}. " +"Defaults to @samp{#f}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14551 +#, no-wrap +msgid "{@code{prosody-configuration} parameter} string-list disable-sasl-mechanisms" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14555 +msgid "" +"Set of mechanisms that will never be offered. See @url{https://prosody.im/doc/modules/mod_saslauth}. Defaults to @samp{(\"DIGEST-" +"MD5\")}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14557 +#, no-wrap +msgid "{@code{prosody-configuration} parameter} boolean s2s-require-encryption?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14561 +msgid "" +"Whether to force all server-to-server connections to be encrypted or not. See @url{https://prosody.im/doc/modules/mod_tls}. " +"Defaults to @samp{#f}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14563 +#, no-wrap +msgid "{@code{prosody-configuration} parameter} boolean s2s-secure-auth?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14569 +msgid "" +"Whether to require encryption and certificate authentication. This provides ideal security, but requires servers you communicate " +"with to support encryption AND present valid, trusted certificates. See @url{https://prosody.im/doc/s2s#security}. Defaults to " +"@samp{#f}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14571 +#, no-wrap +msgid "{@code{prosody-configuration} parameter} string-list s2s-insecure-domains" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14577 +msgid "" +"Many servers don't support encryption or have invalid or self-signed certificates. You can list domains here that will not be " +"required to authenticate using certificates. They will be authenticated using DNS. See @url{https://prosody.im/doc/s2s#security}. " +"Defaults to @samp{()}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14579 +#, no-wrap +msgid "{@code{prosody-configuration} parameter} string-list s2s-secure-domains" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14584 +msgid "" +"Even if you leave @code{s2s-secure-auth?} disabled, you can still require valid certificates for some domains by specifying a list " +"here. See @url{https://prosody.im/doc/s2s#security}. Defaults to @samp{()}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14586 +#, no-wrap +msgid "{@code{prosody-configuration} parameter} string authentication" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14594 +msgid "" +"Select the authentication backend to use. The default provider stores passwords in plaintext and uses Prosody's configured data " +"storage to store the authentication data. If you do not trust your server please see @url{https://prosody.im/doc/modules/" +"mod_auth_internal_hashed} for information about using the hashed backend. See also @url{https://prosody.im/doc/authentication} " +"Defaults to @samp{\"internal_plain\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14596 +#, no-wrap +msgid "{@code{prosody-configuration} parameter} maybe-string log" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14600 +msgid "" +"Set logging options. Advanced logging configuration is not yet supported by the GuixSD Prosody Service. See @url{https://prosody." +"im/doc/logging}. Defaults to @samp{\"*syslog\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14602 +#, no-wrap +msgid "{@code{prosody-configuration} parameter} file-name pidfile" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14605 +msgid "" +"File to write pid in. See @url{https://prosody.im/doc/modules/mod_posix}. Defaults to @samp{\"/var/run/prosody/prosody.pid\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14607 +#, no-wrap +msgid "{@code{prosody-configuration} parameter} maybe-non-negative-integer http-max-content-size" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14609 +msgid "Maximum allowed size of the HTTP body (in bytes)." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14611 +#, no-wrap +msgid "{@code{prosody-configuration} parameter} maybe-string http-external-url" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14616 +msgid "" +"Some modules expose their own URL in various ways. This URL is built from the protocol, host and port used. If Prosody sits behind " +"a proxy, the public URL will be @code{http-external-url} instead. See @url{https://prosody.im/doc/http#external_url}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14618 +#, no-wrap +msgid "{@code{prosody-configuration} parameter} virtualhost-configuration-list virtualhosts" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14623 +msgid "" +"A host in Prosody is a domain on which user accounts can be created. For example if you want your users to have addresses like " +"@samp{\"john.smith@@example.com\"} then you need to add a host @samp{\"example.com\"}. All options in this list will apply only to " +"this host." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14629 +msgid "" +"Note: the name \"virtual\" host is used in configuration to avoid confusion with the actual physical host that Prosody is installed " +"on. A single Prosody instance can serve many domains, each one defined as a VirtualHost entry in Prosody's configuration. " +"Conversely a server that hosts a single domain would have just one VirtualHost entry." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14631 +msgid "See @url{https://prosody.im/doc/configure#virtual_host_settings}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14633 +msgid "Available @code{virtualhost-configuration} fields are:" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14635 doc/guix.texi:14657 doc/guix.texi:14710 +msgid "" +"all these @code{prosody-configuration} fields: @code{admins}, @code{use-libevent?}, @code{modules-enabled}, @code{modules-disabled}, " +"@code{groups-file}, @code{allow-registration?}, @code{ssl}, @code{c2s-require-encryption?}, @code{disable-sasl-mechanisms}, " +"@code{s2s-require-encryption?}, @code{s2s-secure-auth?}, @code{s2s-insecure-domains}, @code{s2s-secure-domains}, " +"@code{authentication}, @code{log}, @code{http-max-content-size}, @code{http-external-url}, @code{raw-content}, plus:" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14635 +#, no-wrap +msgid "{@code{virtualhost-configuration} parameter} string domain" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14637 +msgid "Domain you wish Prosody to serve." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14641 +#, no-wrap +msgid "{@code{prosody-configuration} parameter} int-component-configuration-list int-components" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14646 +msgid "" +"Components are extra services on a server which are available to clients, usually on a subdomain of the main server (such as " +"@samp{\"mycomponent.example.com\"}). Example components might be chatroom servers, user directories, or gateways to other protocols." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14650 +msgid "" +"Internal components are implemented with Prosody-specific plugins. To add an internal component, you simply fill the hostname " +"field, and the plugin you wish to use for the component." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14653 +msgid "See @url{https://prosody.im/doc/components}. Defaults to @samp{()}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14655 +msgid "Available @code{int-component-configuration} fields are:" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14657 +#, no-wrap +msgid "{@code{int-component-configuration} parameter} string hostname" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14659 doc/guix.texi:14716 +msgid "Hostname of the component." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14661 +#, no-wrap +msgid "{@code{int-component-configuration} parameter} string plugin" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14663 +msgid "Plugin you wish to use for the component." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14665 +#, no-wrap +msgid "{@code{int-component-configuration} parameter} maybe-mod-muc-configuration mod-muc" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14668 +msgid "Multi-user chat (MUC) is Prosody's module for allowing you to create hosted chatrooms/conferences for XMPP users." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14672 +msgid "" +"General information on setting up and using multi-user chatrooms can be found in the \"Chatrooms\" documentation (@url{https://" +"prosody.im/doc/chatrooms}), which you should read if you are new to XMPP chatrooms." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14674 +msgid "See also @url{https://prosody.im/doc/modules/mod_muc}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14676 +msgid "Available @code{mod-muc-configuration} fields are:" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14677 +#, no-wrap +msgid "{@code{mod-muc-configuration} parameter} string name" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14680 +msgid "The name to return in service discovery responses. Defaults to @samp{\"Prosody Chatrooms\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14682 +#, no-wrap +msgid "{@code{mod-muc-configuration} parameter} string-or-boolean restrict-room-creation" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14689 +msgid "" +"If @samp{#t}, this will only allow admins to create new chatrooms. Otherwise anyone can create a room. The value @samp{\"local\"} " +"restricts room creation to users on the service's parent domain. E.g. @samp{user@@example.com} can create rooms on @samp{rooms." +"example.com}. The value @samp{\"admin\"} restricts to service administrators only. Defaults to @samp{#f}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14691 +#, no-wrap +msgid "{@code{mod-muc-configuration} parameter} non-negative-integer max-history-messages" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14695 +msgid "Maximum number of history messages that will be sent to the member that has just joined the room. Defaults to @samp{20}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14701 +#, no-wrap +msgid "{@code{prosody-configuration} parameter} ext-component-configuration-list ext-components" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14706 +msgid "" +"External components use XEP-0114, which most standalone components support. To add an external component, you simply fill the " +"hostname field. See @url{https://prosody.im/doc/components}. Defaults to @samp{()}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14708 +msgid "Available @code{ext-component-configuration} fields are:" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14710 +#, no-wrap +msgid "{@code{ext-component-configuration} parameter} string component-secret" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14712 +msgid "Password which the component will use to log in." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14714 +#, no-wrap +msgid "{@code{ext-component-configuration} parameter} string hostname" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14720 +#, no-wrap +msgid "{@code{prosody-configuration} parameter} non-negative-integer-list component-ports" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14723 +msgid "Port(s) Prosody listens on for component connections. Defaults to @samp{(5347)}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14725 +#, no-wrap +msgid "{@code{prosody-configuration} parameter} string component-interface" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14728 +msgid "Interface Prosody listens on for component connections. Defaults to @samp{\"127.0.0.1\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14730 +#, no-wrap +msgid "{@code{prosody-configuration} parameter} maybe-raw-content raw-content" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14732 +msgid "Raw content that will be added to the configuration file." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:14740 +msgid "" +"It could be that you just want to get a @code{prosody.cfg.lua} up and running. In that case, you can pass an @code{opaque-prosody-" +"configuration} record as the value of @code{prosody-service-type}. As its name indicates, an opaque configuration does not have " +"easy reflective capabilities. Available @code{opaque-prosody-configuration} fields are:" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14741 +#, no-wrap +msgid "{@code{opaque-prosody-configuration} parameter} package prosody" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14743 +msgid "The prosody package." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14745 +#, no-wrap +msgid "{@code{opaque-prosody-configuration} parameter} string prosody.cfg.lua" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14747 +msgid "The contents of the @code{prosody.cfg.lua} to use." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:14751 +msgid "For example, if your @code{prosody.cfg.lua} is just the empty string, you could instantiate a prosody service like this:" +msgstr "" + +#. type: example +#: doc/guix.texi:14756 +#, no-wrap +msgid "" +"(service prosody-service-type\n" +" (opaque-prosody-configuration\n" +" (prosody.cfg.lua \"\")))\n" +msgstr "" + +#. type: subsubheading +#: doc/guix.texi:14760 +#, no-wrap +msgid "BitlBee Service" +msgstr "" + +#. type: cindex +#: doc/guix.texi:14762 +#, no-wrap +msgid "IRC (Internet Relay Chat)" +msgstr "" + +#. type: cindex +#: doc/guix.texi:14763 +#, no-wrap +msgid "IRC gateway" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:14766 +msgid "@url{http://bitlbee.org,BitlBee} is a gateway that provides an IRC interface to a variety of messaging protocols such as XMPP." +msgstr "" + +#. type: defvr +#: doc/guix.texi:14767 +#, no-wrap +msgid "{Scheme Variable} bitlbee-service-type" +msgstr "" + +#. type: defvr +#: doc/guix.texi:14771 +msgid "" +"This is the service type for the @url{http://bitlbee.org,BitlBee} IRC gateway daemon. Its value is a @code{bitlbee-configuration} " +"(see below)." +msgstr "" + +#. type: defvr +#: doc/guix.texi:14774 +msgid "To have BitlBee listen on port 6667 on localhost, add this line to your services:" +msgstr "" + +#. type: example +#: doc/guix.texi:14777 +#, no-wrap +msgid "(service bitlbee-service-type)\n" +msgstr "" + +#. type: deftp +#: doc/guix.texi:14780 +#, no-wrap +msgid "{Data Type} bitlbee-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:14782 +msgid "This is the configuration for BitlBee, with the following fields:" +msgstr "" + +#. type: item +#: doc/guix.texi:14784 +#, no-wrap +msgid "@code{interface} (default: @code{\"127.0.0.1\"})" +msgstr "" + +#. type: itemx +#: doc/guix.texi:14785 +#, no-wrap +msgid "@code{port} (default: @code{6667})" +msgstr "" + +#. type: table +#: doc/guix.texi:14788 +msgid "Listen on the network interface corresponding to the IP address specified in @var{interface}, on @var{port}." +msgstr "" + +#. type: table +#: doc/guix.texi:14792 +msgid "" +"When @var{interface} is @code{127.0.0.1}, only local clients can connect; when it is @code{0.0.0.0}, connections can come from any " +"networking interface." +msgstr "" + +#. type: item +#: doc/guix.texi:14793 +#, no-wrap +msgid "@code{package} (default: @code{bitlbee})" +msgstr "" + +#. type: table +#: doc/guix.texi:14795 +msgid "The BitlBee package to use." +msgstr "" + +#. type: item +#: doc/guix.texi:14796 +#, no-wrap +msgid "@code{extra-settings} (default: @code{\"\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:14798 +msgid "Configuration snippet added as-is to the BitlBee configuration file." +msgstr "" + +#. type: cindex +#: doc/guix.texi:14805 +#, no-wrap +msgid "Murmur (VoIP server)" +msgstr "" + +#. type: cindex +#: doc/guix.texi:14806 +#, no-wrap +msgid "VoIP server" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:14810 +msgid "" +"This section describes how to set up and run a Murmur server. Murmur is the server of the @uref{https://mumble.info, Mumble} voice-" +"over-IP (VoIP) suite." +msgstr "" + +#. type: deftp +#: doc/guix.texi:14811 +#, no-wrap +msgid "{Data Type} murmur-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:14814 +msgid "The service type for the Murmur server. An example configuration can look like this:" +msgstr "" + +#. type: example +#: doc/guix.texi:14823 +#, no-wrap +msgid "" +"(service murmur-service-type\n" +" (murmur-configuration\n" +" (welcome-text\n" +" \"Welcome to this Mumble server running on GuixSD!\")\n" +" (cert-required? #t) ;disallow text password logins\n" +" (ssl-cert \"/etc/letsencrypt/live/mumble.example.com/fullchain.pem\")\n" +" (ssl-key \"/etc/letsencrypt/live/mumble.example.com/privkey.pem\")))\n" +msgstr "" + +#. type: deftp +#: doc/guix.texi:14827 +msgid "" +"After reconfiguring your system, you can manually set the murmur @code{SuperUser} password with the command that is printed during " +"the activation phase." +msgstr "" + +#. type: deftp +#: doc/guix.texi:14836 +msgid "" +"It is recommended to register a normal Mumble user account and grant it admin or moderator rights. You can use the @code{mumble} " +"client to login as new normal user, register yourself, and log out. For the next step login with the name @code{SuperUser} use the " +"@code{SuperUser} password that you set previously, and grant your newly registered mumble user administrator or moderator rights and " +"create some channels." +msgstr "" + +#. type: deftp +#: doc/guix.texi:14838 +msgid "Available @code{murmur-configuration} fields are:" +msgstr "" + +#. type: item +#: doc/guix.texi:14840 +#, no-wrap +msgid "@code{package} (default: @code{mumble})" +msgstr "" + +#. type: table +#: doc/guix.texi:14842 +msgid "Package that contains @code{bin/murmurd}." +msgstr "" + +#. type: item +#: doc/guix.texi:14843 +#, no-wrap +msgid "@code{user} (default: @code{\"murmur\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:14845 +msgid "User who will run the Murmur server." +msgstr "" + +#. type: item +#: doc/guix.texi:14846 +#, no-wrap +msgid "@code{group} (default: @code{\"murmur\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:14848 +msgid "Group of the user who will run the murmur server." +msgstr "" + +#. type: item +#: doc/guix.texi:14849 +#, no-wrap +msgid "@code{port} (default: @code{64738})" +msgstr "" + +#. type: table +#: doc/guix.texi:14851 +msgid "Port on which the server will listen." +msgstr "" + +#. type: item +#: doc/guix.texi:14852 +#, no-wrap +msgid "@code{welcome-text} (default: @code{\"\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:14854 +msgid "Welcome text sent to clients when they connect." +msgstr "" + +#. type: item +#: doc/guix.texi:14855 +#, no-wrap +msgid "@code{server-password} (default: @code{\"\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:14857 +msgid "Password the clients have to enter in order to connect." +msgstr "" + +#. type: item +#: doc/guix.texi:14858 +#, no-wrap +msgid "@code{max-users} (default: @code{100})" +msgstr "" + +#. type: table +#: doc/guix.texi:14860 +msgid "Maximum of users that can be connected to the server at once." +msgstr "" + +#. type: item +#: doc/guix.texi:14861 +#, no-wrap +msgid "@code{max-user-bandwidth} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:14863 +msgid "Maximum voice traffic a user can send per second." +msgstr "" + +#. type: item +#: doc/guix.texi:14864 +#, no-wrap +msgid "@code{database-file} (default: @code{\"/var/lib/murmur/db.sqlite\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:14867 +msgid "File name of the sqlite database. The service's user will become the owner of the directory." +msgstr "" + +#. type: item +#: doc/guix.texi:14868 +#, no-wrap +msgid "@code{log-file} (default: @code{\"/var/log/murmur/murmur.log\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:14871 +msgid "File name of the log file. The service's user will become the owner of the directory." +msgstr "" + +#. type: item +#: doc/guix.texi:14872 +#, no-wrap +msgid "@code{autoban-attempts} (default: @code{10})" +msgstr "" + +#. type: table +#: doc/guix.texi:14875 +msgid "Maximum number of logins a user can make in @code{autoban-timeframe} without getting auto banned for @code{autoban-time}." +msgstr "" + +#. type: item +#: doc/guix.texi:14876 +#, no-wrap +msgid "@code{autoban-timeframe} (default: @code{120})" +msgstr "" + +#. type: table +#: doc/guix.texi:14878 +msgid "Timeframe for autoban in seconds." +msgstr "" + +#. type: item +#: doc/guix.texi:14879 +#, no-wrap +msgid "@code{autoban-time} (default: @code{300})" +msgstr "" + +#. type: table +#: doc/guix.texi:14882 +msgid "Amount of time in seconds for which a client gets banned when violating the autoban limits." +msgstr "" + +#. type: item +#: doc/guix.texi:14883 +#, no-wrap +msgid "@code{opus-threshold} (default: @code{100})" +msgstr "" + +#. type: table +#: doc/guix.texi:14886 +msgid "Percentage of clients that need to support opus before switching over to opus audio codec." +msgstr "" + +#. type: item +#: doc/guix.texi:14887 +#, no-wrap +msgid "@code{channel-nesting-limit} (default: @code{10})" +msgstr "" + +#. type: table +#: doc/guix.texi:14889 +msgid "How deep channels can be nested at maximum." +msgstr "" + +#. type: item +#: doc/guix.texi:14890 +#, no-wrap +msgid "@code{channelname-regex} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:14892 +msgid "A string in from of a Qt regular expression that channel names must conform to." +msgstr "" + +#. type: item +#: doc/guix.texi:14893 +#, no-wrap +msgid "@code{username-regex} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:14895 +msgid "A string in from of a Qt regular expression that user names must conform to." +msgstr "" + +#. type: item +#: doc/guix.texi:14896 +#, no-wrap +msgid "@code{text-message-length} (default: @code{5000})" +msgstr "" + +#. type: table +#: doc/guix.texi:14898 +msgid "Maximum size in bytes that a user can send in one text chat message." +msgstr "" + +#. type: item +#: doc/guix.texi:14899 +#, no-wrap +msgid "@code{image-message-length} (default: @code{(* 128 1024)})" +msgstr "" + +#. type: table +#: doc/guix.texi:14901 +msgid "Maximum size in bytes that a user can send in one image message." +msgstr "" + +#. type: item +#: doc/guix.texi:14902 +#, no-wrap +msgid "@code{cert-required?} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:14905 +msgid "" +"If it is set to @code{#t} clients that use weak password authentification will not be accepted. Users must have completed the " +"certificate wizard to join." +msgstr "" + +#. type: item +#: doc/guix.texi:14906 +#, no-wrap +msgid "@code{remember-channel?} (defualt @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:14909 +msgid "" +"Should murmur remember the last channel each user was in when they disconnected and put them into the remembered channel when they " +"rejoin." +msgstr "" + +#. type: item +#: doc/guix.texi:14910 +#, no-wrap +msgid "@code{allow-html?} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:14912 +msgid "Should html be allowed in text messages, user comments, and channel descriptions." +msgstr "" + +#. type: item +#: doc/guix.texi:14913 +#, no-wrap +msgid "@code{allow-ping?} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:14917 +msgid "" +"Setting to true exposes the current user count, the maximum user count, and the server's maximum bandwidth per client to " +"unauthenticated users. In the Mumble client, this information is shown in the Connect dialog." +msgstr "" + +#. type: table +#: doc/guix.texi:14919 +msgid "Disabling this setting will prevent public listing of the server." +msgstr "" + +#. type: item +#: doc/guix.texi:14920 +#, no-wrap +msgid "@code{bonjour?} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:14922 +msgid "Should the server advertise itself in the local network through the bonjour protocol." +msgstr "" + +#. type: item +#: doc/guix.texi:14923 +#, no-wrap +msgid "@code{send-version?} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:14925 +msgid "Should the murmur server version be exposed in ping requests." +msgstr "" + +#. type: item +#: doc/guix.texi:14926 +#, no-wrap +msgid "@code{log-days} (default: @code{31})" +msgstr "" + +#. type: table +#: doc/guix.texi:14930 +msgid "" +"Murmur also stores logs in the database, which are accessible via RPC. The default is 31 days of months, but you can set this " +"setting to 0 to keep logs forever, or -1 to disable logging to the database." +msgstr "" + +#. type: item +#: doc/guix.texi:14931 +#, no-wrap +msgid "@code{obfuscate-ips?} (default @code{#t})" +msgstr "" + +#. type: table +#: doc/guix.texi:14933 +msgid "Should logged ips be obfuscated to protect the privacy of users." +msgstr "" + +#. type: item +#: doc/guix.texi:14934 +#, no-wrap +msgid "@code{ssl-cert} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:14936 +msgid "File name of the SSL/TLS certificate used for encrypted connections." +msgstr "" + +#. type: example +#: doc/guix.texi:14939 +#, no-wrap +msgid "(ssl-cert \"/etc/letsencrypt/live/example.com/fullchain.pem\")\n" +msgstr "" + +#. type: item +#: doc/guix.texi:14940 +#, no-wrap +msgid "@code{ssl-key} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:14942 +msgid "Filepath to the ssl private key used for encrypted connections." +msgstr "" + +#. type: example +#: doc/guix.texi:14944 +#, no-wrap +msgid "(ssl-key \"/etc/letsencrypt/live/example.com/privkey.pem\")\n" +msgstr "" + +#. type: item +#: doc/guix.texi:14946 +#, no-wrap +msgid "@code{ssl-dh-params} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:14951 +msgid "" +"File name of a PEM-encoded file with Diffie-Hellman parameters for the SSL/TLS encryption. Alternatively you set it to " +"@code{\"@@ffdhe2048\"}, @code{\"@@ffdhe3072\"}, @code{\"@@ffdhe4096\"}, @code{\"@@ffdhe6144\"} or @code{\"@@ffdhe8192\"} to use " +"bundled parameters from RFC 7919." +msgstr "" + +#. type: item +#: doc/guix.texi:14952 +#, no-wrap +msgid "@code{ssl-ciphers} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:14955 +msgid "The @code{ssl-ciphers} option chooses the cipher suites to make available for use in SSL/TLS." +msgstr "" + +#. type: table +#: doc/guix.texi:14959 +msgid "" +"This option is specified using @uref{https://www.openssl.org/docs/apps/ciphers.html#CIPHER-LIST-FORMAT, OpenSSL cipher list " +"notation}." +msgstr "" + +#. type: table +#: doc/guix.texi:14964 +msgid "" +"It is recommended that you try your cipher string using 'openssl ciphers <string>' before setting it here, to get a feel for which " +"cipher suites you will get. After setting this option, it is recommend that you inspect your Murmur log to ensure that Murmur is " +"using the cipher suites that you expected it to." +msgstr "" + +#. type: table +#: doc/guix.texi:14968 +msgid "" +"Note: Changing this option may impact the backwards compatibility of your Murmur server, and can remove the ability for older Mumble " +"clients to be able to connect to it." +msgstr "" + +#. type: item +#: doc/guix.texi:14969 +#, no-wrap +msgid "@code{public-registration} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:14971 +msgid "Must be a @code{<murmur-public-registration-configuration>} record or @code{#f}." +msgstr "" + +#. type: table +#: doc/guix.texi:14976 +msgid "" +"You can optionally register your server in the public server list that the @code{mumble} client shows on startup. You cannot " +"register your server if you have set a @code{server-password}, or set @code{allow-ping} to @code{#f}." +msgstr "" + +#. type: table +#: doc/guix.texi:14978 +msgid "It might take a few hours until it shows up in the public list." +msgstr "" + +#. type: item +#: doc/guix.texi:14979 doc/guix.texi:15550 +#, no-wrap +msgid "@code{file} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:14981 +msgid "Optional alternative override for this configuration." +msgstr "" + +#. type: deftp +#: doc/guix.texi:14984 +#, no-wrap +msgid "{Data Type} murmur-public-registration-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:14986 +msgid "Configuration for public registration of a murmur service." +msgstr "" + +#. type: table +#: doc/guix.texi:14990 +msgid "This is a display name for your server. Not to be confused with the hostname." +msgstr "" + +#. type: itemx +#: doc/guix.texi:14991 doc/guix.texi:19868 +#, no-wrap +msgid "password" +msgstr "" + +#. type: table +#: doc/guix.texi:14994 +msgid "A password to identify your registration. Subsequent updates will need the same password. Don't lose your password." +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:14995 +#, no-wrap +msgid "url" +msgstr "" + +#. type: table +#: doc/guix.texi:14998 +msgid "This should be a @code{http://} or @code{https://} link to your web site." +msgstr "" + +#. type: item +#: doc/guix.texi:14999 +#, no-wrap +msgid "@code{hostname} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:15002 +msgid "By default your server will be listed by its IP address. If it is set your server will be linked by this host name instead." +msgstr "" + +#. type: subsubheading +#: doc/guix.texi:15010 +#, no-wrap +msgid "Tailon Service" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:15014 +msgid "@uref{https://tailon.readthedocs.io/, Tailon} is a web application for viewing and searching log files." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:15017 +msgid "" +"The following example will configure the service with default values. By default, Tailon can be accessed on port 8080 (@code{http://" +"localhost:8080})." +msgstr "" + +#. type: example +#: doc/guix.texi:15020 +#, no-wrap +msgid "(service tailon-service-type)\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:15024 +msgid "The following example customises more of the Tailon configuration, adding @command{sed} to the list of allowed commands." +msgstr "" + +#. type: example +#: doc/guix.texi:15031 +#, no-wrap +msgid "" +"(service tailon-service-type\n" +" (tailon-configuration\n" +" (config-file\n" +" (tailon-configuration-file\n" +" (allowed-commands '(\"tail\" \"grep\" \"awk\" \"sed\"))))))\n" +msgstr "" + +#. type: deftp +#: doc/guix.texi:15034 +#, no-wrap +msgid "{Data Type} tailon-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:15037 +msgid "Data type representing the configuration of Tailon. This type has the following parameters:" +msgstr "" + +#. type: item +#: doc/guix.texi:15039 +#, no-wrap +msgid "@code{config-file} (default: @code{(tailon-configuration-file)})" +msgstr "" + +#. type: table +#: doc/guix.texi:15043 +msgid "" +"The configuration file to use for Tailon. This can be set to a @dfn{tailon-configuration-file} record value, or any gexp (@pxref{G-" +"Expressions})." +msgstr "" + +#. type: table +#: doc/guix.texi:15046 +msgid "For example, to instead use a local file, the @code{local-file} function can be used:" +msgstr "" + +#. type: example +#: doc/guix.texi:15051 +#, no-wrap +msgid "" +"(service tailon-service-type\n" +" (tailon-configuration\n" +" (config-file (local-file \"./my-tailon.conf\"))))\n" +msgstr "" + +#. type: item +#: doc/guix.texi:15053 +#, no-wrap +msgid "@code{package} (default: @code{tailon})" +msgstr "" + +#. type: table +#: doc/guix.texi:15055 +msgid "The tailon package to use." +msgstr "" + +#. type: deftp +#: doc/guix.texi:15059 +#, no-wrap +msgid "{Data Type} tailon-configuration-file" +msgstr "" + +#. type: deftp +#: doc/guix.texi:15062 +msgid "Data type representing the configuration options for Tailon. This type has the following parameters:" +msgstr "" + +#. type: item +#: doc/guix.texi:15064 +#, no-wrap +msgid "@code{files} (default: @code{(list \"/var/log\")})" +msgstr "" + +#. type: table +#: doc/guix.texi:15069 +msgid "" +"List of files to display. The list can include strings for a single file or directory, or a list, where the first item is the name " +"of a subsection, and the remaining items are the files or directories in that subsection." +msgstr "" + +#. type: item +#: doc/guix.texi:15070 +#, no-wrap +msgid "@code{bind} (default: @code{\"localhost:8080\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:15072 +msgid "Address and port to which Tailon should bind on." +msgstr "" + +#. type: item +#: doc/guix.texi:15073 +#, no-wrap +msgid "@code{relative-root} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:15075 +msgid "URL path to use for Tailon, set to @code{#f} to not use a path." +msgstr "" + +#. type: item +#: doc/guix.texi:15076 +#, no-wrap +msgid "@code{allow-transfers?} (default: @code{#t})" +msgstr "" + +#. type: table +#: doc/guix.texi:15078 +msgid "Allow downloading the log files in the web interface." +msgstr "" + +#. type: item +#: doc/guix.texi:15079 +#, no-wrap +msgid "@code{follow-names?} (default: @code{#t})" +msgstr "" + +#. type: table +#: doc/guix.texi:15081 +msgid "Allow tailing of not-yet existent files." +msgstr "" + +#. type: item +#: doc/guix.texi:15082 +#, no-wrap +msgid "@code{tail-lines} (default: @code{200})" +msgstr "" + +#. type: table +#: doc/guix.texi:15084 +msgid "Number of lines to read initially from each file." +msgstr "" + +#. type: item +#: doc/guix.texi:15085 +#, no-wrap +msgid "@code{allowed-commands} (default: @code{(list \"tail\" \"grep\" \"awk\")})" +msgstr "" + +#. type: table +#: doc/guix.texi:15087 +msgid "Commands to allow running. By default, @code{sed} is disabled." +msgstr "" + +#. type: item +#: doc/guix.texi:15088 +#, no-wrap +msgid "@code{debug?} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:15090 +msgid "Set @code{debug?} to @code{#t} to show debug messages." +msgstr "" + +#. type: item +#: doc/guix.texi:15091 +#, no-wrap +msgid "@code{wrap-lines} (default: @code{#t})" +msgstr "" + +#. type: table +#: doc/guix.texi:15095 +msgid "" +"Initial line wrapping state in the web interface. Set to @code{#t} to initially wrap lines (the default), or to @code{#f} to " +"initially not wrap lines." +msgstr "" + +#. type: item +#: doc/guix.texi:15096 +#, no-wrap +msgid "@code{http-auth} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:15100 +msgid "" +"HTTP authentication type to use. Set to @code{#f} to disable authentication (the default). Supported values are @code{\"digest\"} or " +"@code{\"basic\"}." +msgstr "" + +#. type: item +#: doc/guix.texi:15101 +#, no-wrap +msgid "@code{users} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:15106 +msgid "" +"If HTTP authentication is enabled (see @code{http-auth}), access will be restricted to the credentials provided here. To configure " +"users, use a list of pairs, where the first element of the pair is the username, and the 2nd element of the pair is the password." +msgstr "" + +#. type: example +#: doc/guix.texi:15112 +#, no-wrap +msgid "" +"(tailon-configuration-file\n" +" (http-auth \"basic\")\n" +" (users '((\"user1\" . \"password1\")\n" +" (\"user2\" . \"password2\"))))\n" +msgstr "" + +#. type: subsubheading +#: doc/guix.texi:15118 +#, no-wrap +msgid "Darkstat Service" +msgstr "" + +#. type: cindex +#: doc/guix.texi:15119 +#, no-wrap +msgid "darkstat" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:15122 +msgid "Darkstat is a packet sniffer that captures network traffic, calculates statistics about usage, and serves reports over HTTP." +msgstr "" + +#. type: defvar +#: doc/guix.texi:15123 +#, no-wrap +msgid "{Scheme Variable} darkstat-service-type" +msgstr "" + +#. type: defvar +#: doc/guix.texi:15128 +msgid "" +"This is the service type for the @uref{https://unix4lyfe.org/darkstat/, darkstat} service, its value must be a @code{darkstat-" +"configuration} record as in this example:" +msgstr "" + +#. type: example +#: doc/guix.texi:15133 +#, no-wrap +msgid "" +"(service darkstat-service-type\n" +" (darkstat-configuration\n" +" (interface \"eno1\")))\n" +msgstr "" + +#. type: deftp +#: doc/guix.texi:15136 +#, no-wrap +msgid "{Data Type} darkstat-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:15138 +msgid "Data type representing the configuration of @command{darkstat}." +msgstr "" + +#. type: item +#: doc/guix.texi:15140 +#, no-wrap +msgid "@code{package} (default: @code{darkstat})" +msgstr "" + +#. type: table +#: doc/guix.texi:15142 +msgid "The darkstat package to use." +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:15143 +#, no-wrap +msgid "interface" +msgstr "" + +#. type: table +#: doc/guix.texi:15145 +msgid "Capture traffic on the specified network interface." +msgstr "" + +#. type: item +#: doc/guix.texi:15146 +#, no-wrap +msgid "@code{port} (default: @code{\"667\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:15148 +msgid "Bind the web interface to the specified port." +msgstr "" + +#. type: item +#: doc/guix.texi:15149 +#, no-wrap +msgid "@code{bind-address} (default: @code{\"127.0.0.1\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:15151 +msgid "Bind the web interface to the specified address." +msgstr "" + +#. type: item +#: doc/guix.texi:15152 +#, no-wrap +msgid "@code{base} (default: @code{\"/\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:15155 +msgid "Specify the path of the base URL. This can be useful if @command{darkstat} is accessed via a reverse proxy." +msgstr "" + +#. type: cindex +#: doc/guix.texi:15162 +#, no-wrap +msgid "Kerberos" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:15166 +msgid "The @code{(gnu services kerberos)} module provides services relating to the authentication protocol @dfn{Kerberos}." +msgstr "" + +#. type: subsubheading +#: doc/guix.texi:15167 +#, no-wrap +msgid "Krb5 Service" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:15174 +msgid "" +"Programs using a Kerberos client library normally expect a configuration file in @file{/etc/krb5.conf}. This service generates such " +"a file from a definition provided in the operating system declaration. It does not cause any daemon to be started." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:15178 +msgid "" +"No ``keytab'' files are provided by this service---you must explicitly create them. This service is known to work with the MIT " +"client library, @code{mit-krb5}. Other implementations have not been tested." +msgstr "" + +#. type: defvr +#: doc/guix.texi:15179 +#, no-wrap +msgid "{Scheme Variable} krb5-service-type" +msgstr "" + +#. type: defvr +#: doc/guix.texi:15181 +msgid "A service type for Kerberos 5 clients." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:15185 +msgid "Here is an example of its use:" +msgstr "" + +#. type: lisp +#: doc/guix.texi:15199 +#, no-wrap +msgid "" +"(service krb5-service-type\n" +" (krb5-configuration\n" +" (default-realm \"EXAMPLE.COM\")\n" +" (allow-weak-crypto? #t)\n" +" (realms (list\n" +" (krb5-realm\n" +" (name \"EXAMPLE.COM\")\n" +" (admin-server \"groucho.example.com\")\n" +" (kdc \"karl.example.com\"))\n" +" (krb5-realm\n" +" (name \"ARGRX.EDU\")\n" +" (admin-server \"kerb-admin.argrx.edu\")\n" +" (kdc \"keys.argrx.edu\"))))))\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:15203 +msgid "This example provides a Kerberos@tie{}5 client configuration which:" +msgstr "" + +#. type: item +#: doc/guix.texi:15204 +#, no-wrap +msgid "Recognizes two realms, @i{viz:} ``EXAMPLE.COM'' and ``ARGRX.EDU'', both" +msgstr "" + +#. type: itemize +#: doc/guix.texi:15206 +msgid "of which have distinct administration servers and key distribution centers;" +msgstr "" + +#. type: item +#: doc/guix.texi:15206 +#, no-wrap +msgid "Will default to the realm ``EXAMPLE.COM'' if the realm is not explicitly" +msgstr "" + +#. type: itemize +#: doc/guix.texi:15208 +msgid "specified by clients;" +msgstr "" + +#. type: item +#: doc/guix.texi:15208 +#, no-wrap +msgid "Accepts services which only support encryption types known to be weak." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:15216 +msgid "" +"The @code{krb5-realm} and @code{krb5-configuration} types have many fields. Only the most commonly used ones are described here. " +"For a full list, and more detailed explanation of each, see the MIT @uref{http://web.mit.edu/kerberos/krb5-devel/doc/admin/" +"conf_files/krb5_conf.html,,krb5.conf} documentation." +msgstr "" + +#. type: deftp +#: doc/guix.texi:15218 +#, no-wrap +msgid "{Data Type} krb5-realm" +msgstr "" + +#. type: cindex +#: doc/guix.texi:15219 +#, no-wrap +msgid "realm, kerberos" +msgstr "" + +#. type: table +#: doc/guix.texi:15225 +msgid "" +"This field is a string identifying the name of the realm. A common convention is to use the fully qualified DNS name of your " +"organization, converted to upper case." +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:15226 +#, no-wrap +msgid "admin-server" +msgstr "" + +#. type: table +#: doc/guix.texi:15229 +msgid "This field is a string identifying the host where the administration server is running." +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:15230 +#, no-wrap +msgid "kdc" +msgstr "" + +#. type: table +#: doc/guix.texi:15233 +msgid "This field is a string identifying the key distribution center for the realm." +msgstr "" + +#. type: deftp +#: doc/guix.texi:15236 +#, no-wrap +msgid "{Data Type} krb5-configuration" +msgstr "" + +#. type: item +#: doc/guix.texi:15239 +#, no-wrap +msgid "@code{allow-weak-crypto?} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:15242 +msgid "If this flag is @code{#t} then services which only offer encryption algorithms known to be weak will be accepted." +msgstr "" + +#. type: item +#: doc/guix.texi:15243 +#, no-wrap +msgid "@code{default-realm} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:15250 +msgid "" +"This field should be a string identifying the default Kerberos realm for the client. You should set this field to the name of your " +"Kerberos realm. If this value is @code{#f} then a realm must be specified with every Kerberos principal when invoking programs such " +"as @command{kinit}." +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:15251 +#, no-wrap +msgid "realms" +msgstr "" + +#. type: table +#: doc/guix.texi:15256 +msgid "" +"This should be a non-empty list of @code{krb5-realm} objects, which clients may access. Normally, one of them will have a " +"@code{name} field matching the @code{default-realm} field." +msgstr "" + +#. type: subsubheading +#: doc/guix.texi:15260 +#, no-wrap +msgid "PAM krb5 Service" +msgstr "" + +#. type: cindex +#: doc/guix.texi:15261 +#, no-wrap +msgid "pam-krb5" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:15267 +msgid "" +"The @code{pam-krb5} service allows for login authentication and password management via Kerberos. You will need this service if you " +"want PAM enabled applications to authenticate users using Kerberos." +msgstr "" + +#. type: defvr +#: doc/guix.texi:15268 +#, no-wrap +msgid "{Scheme Variable} pam-krb5-service-type" +msgstr "" + +#. type: defvr +#: doc/guix.texi:15270 +msgid "A service type for the Kerberos 5 PAM module." +msgstr "" + +#. type: deftp +#: doc/guix.texi:15272 +#, no-wrap +msgid "{Data Type} pam-krb5-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:15275 +msgid "Data type representing the configuration of the Kerberos 5 PAM module This type has the following parameters:" +msgstr "" + +#. type: item +#: doc/guix.texi:15276 +#, no-wrap +msgid "@code{pam-krb5} (default: @code{pam-krb5})" +msgstr "" + +#. type: table +#: doc/guix.texi:15278 +msgid "The pam-krb5 package to use." +msgstr "" + +#. type: item +#: doc/guix.texi:15279 +#, no-wrap +msgid "@code{minimum-uid} (default: @code{1000})" +msgstr "" + +#. type: table +#: doc/guix.texi:15282 +msgid "" +"The smallest user ID for which Kerberos authentications should be attempted. Local accounts with lower values will silently fail to " +"authenticate." +msgstr "" + +#. type: cindex +#: doc/guix.texi:15289 +#, no-wrap +msgid "web" +msgstr "" + +#. type: cindex +#: doc/guix.texi:15290 +#, no-wrap +msgid "www" +msgstr "" + +#. type: cindex +#: doc/guix.texi:15291 +#, no-wrap +msgid "HTTP" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:15294 +msgid "The @code{(gnu services web)} module provides the Apache HTTP Server, the nginx web server, and also a fastcgi wrapper daemon." +msgstr "" + +#. type: subsubheading +#: doc/guix.texi:15295 +#, no-wrap +msgid "Apache HTTP Server" +msgstr "" + +#. type: deffn +#: doc/guix.texi:15297 +#, no-wrap +msgid "{Scheme Variable} httpd-service-type" +msgstr "" + +#. type: deffn +#: doc/guix.texi:15301 +msgid "" +"Service type for the @uref{https://httpd.apache.org/,Apache HTTP} server (@dfn{httpd}). The value for this service type is a " +"@code{https-configuration} record." +msgstr "" + +#. type: deffn +#: doc/guix.texi:15303 doc/guix.texi:15454 +msgid "A simple example configuration is given below." +msgstr "" + +#. type: example +#: doc/guix.texi:15311 +#, no-wrap +msgid "" +"(service httpd-service-type\n" +" (httpd-configuration\n" +" (config\n" +" (httpd-config-file\n" +" (server-name \"www.example.com\")\n" +" (document-root \"/srv/http/www.example.com\")))))\n" +msgstr "" + +#. type: deffn +#: doc/guix.texi:15315 +msgid "Other services can also extend the @code{httpd-service-type} to add to the configuration." +msgstr "" + +#. type: example +#: doc/guix.texi:15324 doc/guix.texi:15434 +#, no-wrap +msgid "" +"(simple-service 'my-extra-server httpd-service-type\n" +" (list\n" +" (httpd-virtualhost\n" +" \"*:80\"\n" +" (list (string-append\n" +" \"ServerName \"www.example.com\n" +" DocumentRoot \\\"/srv/http/www.example.com\\\"\")))))\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:15330 +msgid "" +"The details for the @code{httpd-configuration}, @code{httpd-module}, @code{httpd-config-file} and @code{httpd-virtualhost} record " +"types are given below." +msgstr "" + +#. type: deffn +#: doc/guix.texi:15331 +#, no-wrap +msgid "{Data Type} httpd-configuration" +msgstr "" + +#. type: deffn +#: doc/guix.texi:15333 +msgid "This data type represents the configuration for the httpd service." +msgstr "" + +#. type: item +#: doc/guix.texi:15335 +#, no-wrap +msgid "@code{package} (default: @code{httpd})" +msgstr "" + +#. type: table +#: doc/guix.texi:15337 +msgid "The httpd package to use." +msgstr "" + +#. type: item +#: doc/guix.texi:15338 doc/guix.texi:15397 +#, no-wrap +msgid "@code{pid-file} (default: @code{\"/var/run/httpd\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:15340 +msgid "The pid file used by the shepherd-service." +msgstr "" + +#. type: item +#: doc/guix.texi:15341 +#, no-wrap +msgid "@code{config} (default: @code{(httpd-config-file)})" +msgstr "" + +#. type: table +#: doc/guix.texi:15346 +msgid "" +"The configuration file to use with the httpd service. The default value is a @code{httpd-config-file} record, but this can also be a " +"different G-expression that generates a file, for example a @code{plain-file}. A file outside of the store can also be specified " +"through a string." +msgstr "" + +#. type: deffn +#: doc/guix.texi:15350 +#, no-wrap +msgid "{Data Type} httpd-module" +msgstr "" + +#. type: deffn +#: doc/guix.texi:15352 +msgid "This data type represents a module for the httpd service." +msgstr "" + +#. type: table +#: doc/guix.texi:15356 +msgid "The name of the module." +msgstr "" + +#. type: table +#: doc/guix.texi:15362 +msgid "" +"The file for the module. This can be relative to the httpd package being used, the absolute location of a file, or a G-expression " +"for a file within the store, for example @code{(file-append mod-wsgi \"/modules/mod_wsgi.so\")}." +msgstr "" + +#. type: deffn +#: doc/guix.texi:15366 +#, no-wrap +msgid "{Data Type} httpd-config-file" +msgstr "" + +#. type: deffn +#: doc/guix.texi:15368 +msgid "This data type represents a configuration file for the httpd service." +msgstr "" + +#. type: item +#: doc/guix.texi:15370 +#, no-wrap +msgid "@code{modules} (default: @code{%default-httpd-modules})" +msgstr "" + +#. type: table +#: doc/guix.texi:15373 +msgid "The modules to load. Additional modules can be added here, or loaded by additional configuration." +msgstr "" + +#. type: item +#: doc/guix.texi:15374 +#, no-wrap +msgid "@code{server-root} (default: @code{httpd})" +msgstr "" + +#. type: table +#: doc/guix.texi:15378 +msgid "" +"The @code{ServerRoot} in the configuration file, defaults to the httpd package. Directives including @code{Include} and " +"@code{LoadModule} are taken as relative to the server root." +msgstr "" + +#. type: item +#: doc/guix.texi:15379 +#, no-wrap +msgid "@code{server-name} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:15383 +msgid "" +"The @code{ServerName} in the configuration file, used to specify the request scheme, hostname and port that the server uses to " +"identify itself." +msgstr "" + +#. type: table +#: doc/guix.texi:15387 +msgid "" +"This doesn't need to be set in the server config, and can be specifyed in virtual hosts. The default is @code{#f} to not specify a " +"@code{ServerName}." +msgstr "" + +#. type: item +#: doc/guix.texi:15388 +#, no-wrap +msgid "@code{document-root} (default: @code{\"/srv/http\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:15390 +msgid "The @code{DocumentRoot} from which files will be served." +msgstr "" + +#. type: item +#: doc/guix.texi:15391 +#, no-wrap +msgid "@code{listen} (default: @code{'(\"80\")})" +msgstr "" + +#. type: table +#: doc/guix.texi:15396 +msgid "" +"The list of values for the @code{Listen} directives in the config file. The value should be a list of strings, when each string can " +"specify the port number to listen on, and optionally the IP address and protocol to use." +msgstr "" + +#. type: table +#: doc/guix.texi:15401 +msgid "" +"The @code{PidFile} to use. This should match the @code{pid-file} set in the @code{httpd-configuration} so that the Shepherd service " +"is configured correctly." +msgstr "" + +#. type: item +#: doc/guix.texi:15402 +#, no-wrap +msgid "@code{error-log} (default: @code{\"/var/log/httpd/error_log\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:15404 +msgid "The @code{ErrorLog} to which the server will log errors." +msgstr "" + +#. type: item +#: doc/guix.texi:15405 +#, no-wrap +msgid "@code{user} (default: @code{\"httpd\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:15407 +msgid "The @code{User} which the server will answer requests as." +msgstr "" + +#. type: item +#: doc/guix.texi:15408 +#, no-wrap +msgid "@code{group} (default: @code{\"httpd\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:15410 +msgid "The @code{Group} which the server will answer requests as." +msgstr "" + +#. type: item +#: doc/guix.texi:15411 +#, no-wrap +msgid "@code{extra-config} (default: @code{(list \"TypesConfig etc/httpd/mime.types\")})" +msgstr "" + +#. type: table +#: doc/guix.texi:15414 +msgid "A flat list of strings and G-expressions which will be added to the end of the configuration file." +msgstr "" + +#. type: table +#: doc/guix.texi:15417 +msgid "Any values which the service is extended with will be appended to this list." +msgstr "" + +#. type: deffn +#: doc/guix.texi:15421 +#, no-wrap +msgid "{Data Type} httpd-virtualhost" +msgstr "" + +#. type: deffn +#: doc/guix.texi:15423 +msgid "This data type represents a virtualhost configuration block for the httpd service." +msgstr "" + +#. type: deffn +#: doc/guix.texi:15425 +msgid "These should be added to the extra-config for the httpd-service." +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:15437 +#, no-wrap +msgid "addresses-and-ports" +msgstr "" + +#. type: table +#: doc/guix.texi:15439 +msgid "The addresses and ports for the @code{VirtualHost} directive." +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:15440 +#, no-wrap +msgid "contents" +msgstr "" + +#. type: table +#: doc/guix.texi:15443 +msgid "The contents of the @code{VirtualHost} directive, this should be a list of strings and G-expressions." +msgstr "" + +#. type: subsubheading +#: doc/guix.texi:15447 +#, no-wrap +msgid "NGINX" +msgstr "" + +#. type: deffn +#: doc/guix.texi:15449 +#, no-wrap +msgid "{Scheme Variable} nginx-service-type" +msgstr "" + +#. type: deffn +#: doc/guix.texi:15452 +msgid "" +"Service type for the @uref{https://nginx.org/,NGinx} web server. The value for this service type is a @code{<nginx-configuration>} " +"record." +msgstr "" + +#. type: example +#: doc/guix.texi:15462 doc/guix.texi:15516 +#, no-wrap +msgid "" +"(service nginx-service-type\n" +" (nginx-configuration\n" +" (server-blocks\n" +" (list (nginx-server-configuration\n" +" (server-name '(\"www.example.com\"))\n" +" (root \"/srv/http/www.example.com\"))))))\n" +msgstr "" + +#. type: deffn +#: doc/guix.texi:15467 +msgid "" +"In addition to adding server blocks to the service configuration directly, this service can be extended by other services to add " +"server blocks, as in this example:" +msgstr "" + +#. type: example +#: doc/guix.texi:15473 +#, no-wrap +msgid "" +"(simple-service 'my-extra-server nginx-service-type\n" +" (list (nginx-server-configuration\n" +" (root \"/srv/http/extra-website\")\n" +" (try-files (list \"$uri\" \"$uri/index.html\")))))\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:15484 +msgid "" +"At startup, @command{nginx} has not yet read its configuration file, so it uses a default file to log error messages. If it fails " +"to load its configuration file, that is where error messages are logged. After the configuration file is loaded, the default error " +"log file changes as per configuration. In our case, startup error messages can be found in @file{/var/run/nginx/logs/error.log}, " +"and after configuration in @file{/var/log/nginx/error.log}. The second location can be changed with the @var{log-directory} " +"configuration option." +msgstr "" + +#. type: deffn +#: doc/guix.texi:15485 +#, no-wrap +msgid "{Data Type} nginx-configuration" +msgstr "" + +#. type: deffn +#: doc/guix.texi:15489 +msgid "" +"This data type represents the configuration for NGinx. Some configuration can be done through this and the other provided record " +"types, or alternatively, a config file can be provided." +msgstr "" + +#. type: item +#: doc/guix.texi:15491 +#, no-wrap +msgid "@code{nginx} (default: @code{nginx})" +msgstr "" + +#. type: table +#: doc/guix.texi:15493 +msgid "The nginx package to use." +msgstr "" + +#. type: item +#: doc/guix.texi:15494 +#, no-wrap +msgid "@code{log-directory} (default: @code{\"/var/log/nginx\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:15496 +msgid "The directory to which NGinx will write log files." +msgstr "" + +#. type: item +#: doc/guix.texi:15497 +#, no-wrap +msgid "@code{run-directory} (default: @code{\"/var/run/nginx\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:15500 +msgid "The directory in which NGinx will create a pid file, and write temporary files." +msgstr "" + +#. type: item +#: doc/guix.texi:15501 +#, no-wrap +msgid "@code{server-blocks} (default: @code{'()})" +msgstr "" + +#. type: table +#: doc/guix.texi:15505 +msgid "" +"A list of @dfn{server blocks} to create in the generated configuration file, the elements should be of type @code{<nginx-server-" +"configuration>}." +msgstr "" + +#. type: table +#: doc/guix.texi:15509 +msgid "" +"The following example would setup NGinx to serve @code{www.example.com} from the @code{/srv/http/www.example.com} directory, without " +"using HTTPS." +msgstr "" + +#. type: item +#: doc/guix.texi:15518 +#, no-wrap +msgid "@code{upstream-blocks} (default: @code{'()})" +msgstr "" + +#. type: table +#: doc/guix.texi:15522 +msgid "" +"A list of @dfn{upstream blocks} to create in the generated configuration file, the elements should be of type @code{<nginx-upstream-" +"configuration>}." +msgstr "" + +#. type: table +#: doc/guix.texi:15529 +msgid "" +"Configuring upstreams through the @code{upstream-blocks} can be useful when combined with @code{locations} in the @code{<nginx-" +"server-configuration>} records. The following example creates a server configuration with one location configuration, that will " +"proxy requests to a upstream configuration, which will handle requests with two servers." +msgstr "" + +#. type: example +#: doc/guix.texi:15548 +#, no-wrap +msgid "" +"(service\n" +" nginx-service-type\n" +" (nginx-configuration\n" +" (server-blocks\n" +" (list (nginx-server-configuration\n" +" (server-name '(\"www.example.com\"))\n" +" (root \"/srv/http/www.example.com\")\n" +" (locations\n" +" (list\n" +" (nginx-location-configuration\n" +" (uri \"/path1\")\n" +" (body '(\"proxy_pass http://server-proxy;\"))))))))\n" +" (upstream-blocks\n" +" (list (nginx-upstream-configuration\n" +" (name \"server-proxy\")\n" +" (servers (list \"server1.example.com\"\n" +" \"server2.example.com\")))))))\n" +msgstr "" + +#. type: table +#: doc/guix.texi:15556 +msgid "" +"If a configuration @var{file} is provided, this will be used, rather than generating a configuration file from the provided " +"@code{log-directory}, @code{run-directory}, @code{server-blocks} and @code{upstream-blocks}. For proper operation, these arguments " +"should match what is in @var{file} to ensure that the directories are created when the service is activated." +msgstr "" + +#. type: table +#: doc/guix.texi:15560 +msgid "" +"This can be useful if you have an existing configuration file, or it's not possible to do what is required through the other parts " +"of the nginx-configuration record." +msgstr "" + +#. type: item +#: doc/guix.texi:15561 +#, no-wrap +msgid "@code{server-names-hash-bucket-size} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:15564 +msgid "Bucket size for the server names hash tables, defaults to @code{#f} to use the size of the processors cache line." +msgstr "" + +#. type: item +#: doc/guix.texi:15565 +#, no-wrap +msgid "@code{server-names-hash-bucket-max-size} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:15567 +msgid "Maximum bucket size for the server names hash tables." +msgstr "" + +#. type: deftp +#: doc/guix.texi:15571 +#, no-wrap +msgid "{Data Type} nginx-server-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:15574 +msgid "Data type representing the configuration of an nginx server block. This type has the following parameters:" +msgstr "" + +#. type: item +#: doc/guix.texi:15576 +#, no-wrap +msgid "@code{listen} (default: @code{'(\"80\" \"443 ssl\")})" +msgstr "" + +#. type: table +#: doc/guix.texi:15581 +msgid "" +"Each @code{listen} directive sets the address and port for IP, or the path for a UNIX-domain socket on which the server will accept " +"requests. Both address and port, or only address or only port can be specified. An address may also be a hostname, for example:" +msgstr "" + +#. type: example +#: doc/guix.texi:15584 +#, no-wrap +msgid "'(\"127.0.0.1:8000\" \"127.0.0.1\" \"8000\" \"*:8000\" \"localhost:8000\")\n" +msgstr "" + +#. type: item +#: doc/guix.texi:15586 +#, no-wrap +msgid "@code{server-name} (default: @code{(list 'default)})" +msgstr "" + +#. type: table +#: doc/guix.texi:15589 +msgid "" +"A list of server names this server represents. @code{'default} represents the default server for connections matching no other " +"server." +msgstr "" + +#. type: item +#: doc/guix.texi:15590 +#, no-wrap +msgid "@code{root} (default: @code{\"/srv/http\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:15592 +msgid "Root of the website nginx will serve." +msgstr "" + +#. type: item +#: doc/guix.texi:15593 +#, no-wrap +msgid "@code{locations} (default: @code{'()})" +msgstr "" + +#. type: table +#: doc/guix.texi:15597 +msgid "" +"A list of @dfn{nginx-location-configuration} or @dfn{nginx-named-location-configuration} records to use within this server block." +msgstr "" + +#. type: item +#: doc/guix.texi:15598 +#, no-wrap +msgid "@code{index} (default: @code{(list \"index.html\")})" +msgstr "" + +#. type: table +#: doc/guix.texi:15601 +msgid "" +"Index files to look for when clients ask for a directory. If it cannot be found, Nginx will send the list of files in the directory." +msgstr "" + +#. type: item +#: doc/guix.texi:15602 +#, no-wrap +msgid "@code{try-files} (default: @code{'()})" +msgstr "" + +#. type: table +#: doc/guix.texi:15605 +msgid "" +"A list of files whose existence is checked in the specified order. @code{nginx} will use the first file it finds to process the " +"request." +msgstr "" + +#. type: item +#: doc/guix.texi:15606 +#, no-wrap +msgid "@code{ssl-certificate} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:15609 +msgid "" +"Where to find the certificate for secure connections. Set it to @code{#f} if you don't have a certificate or you don't want to use " +"HTTPS." +msgstr "" + +#. type: item +#: doc/guix.texi:15610 +#, no-wrap +msgid "@code{ssl-certificate-key} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:15613 +msgid "" +"Where to find the private key for secure connections. Set it to @code{#f} if you don't have a key or you don't want to use HTTPS." +msgstr "" + +#. type: item +#: doc/guix.texi:15614 +#, no-wrap +msgid "@code{server-tokens?} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:15616 +msgid "Whether the server should add its configuration to response." +msgstr "" + +#. type: item +#: doc/guix.texi:15617 +#, no-wrap +msgid "@code{raw-content} (default: @code{'()})" +msgstr "" + +#. type: table +#: doc/guix.texi:15619 +msgid "A list of raw lines added to the server block." +msgstr "" + +#. type: deftp +#: doc/guix.texi:15623 +#, no-wrap +msgid "{Data Type} nginx-upstream-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:15626 +msgid "Data type representing the configuration of an nginx @code{upstream} block. This type has the following parameters:" +msgstr "" + +#. type: table +#: doc/guix.texi:15630 +msgid "Name for this group of servers." +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:15631 +#, no-wrap +msgid "servers" +msgstr "" + +#. type: table +#: doc/guix.texi:15638 +msgid "" +"Specify the addresses of the servers in the group. The address can be specified as a IP address (e.g. @samp{127.0.0.1}), domain " +"name (e.g. @samp{backend1.example.com}) or a path to a UNIX socket using the prefix @samp{unix:}. For addresses using an IP address " +"or domain name, the default port is 80, and a different port can be specified explicitly." +msgstr "" + +#. type: deftp +#: doc/guix.texi:15642 +#, no-wrap +msgid "{Data Type} nginx-location-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:15645 +msgid "Data type representing the configuration of an nginx @code{location} block. This type has the following parameters:" +msgstr "" + +#. type: table +#: doc/guix.texi:15649 +msgid "URI which this location block matches." +msgstr "" + +#. type: anchor{#1} +#: doc/guix.texi:15651 +msgid "nginx-location-configuration body" +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:15651 doc/guix.texi:15672 +#, no-wrap +msgid "body" +msgstr "" + +#. type: table +#: doc/guix.texi:15658 +msgid "" +"Body of the location block, specified as a list of strings. This can contain many configuration directives. For example, to pass " +"requests to a upstream server group defined using an @code{nginx-upstream-configuration} block, the following directive would be " +"specified in the body @samp{(list \"proxy_pass http://upstream-name;\")}." +msgstr "" + +#. type: deftp +#: doc/guix.texi:15662 +#, no-wrap +msgid "{Data Type} nginx-named-location-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:15667 +msgid "" +"Data type representing the configuration of an nginx named location block. Named location blocks are used for request redirection, " +"and not used for regular request processing. This type has the following parameters:" +msgstr "" + +#. type: table +#: doc/guix.texi:15671 +msgid "Name to identify this location block." +msgstr "" + +#. type: table +#: doc/guix.texi:15677 +msgid "" +"@xref{nginx-location-configuration body}, as the body for named location blocks can be used in a similar way to the @code{nginx-" +"location-configuration body}. One restriction is that the body of a named location block cannot contain location blocks." +msgstr "" + +#. type: cindex +#: doc/guix.texi:15681 +#, no-wrap +msgid "fastcgi" +msgstr "" + +#. type: cindex +#: doc/guix.texi:15682 +#, no-wrap +msgid "fcgiwrap" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:15689 +msgid "" +"FastCGI is an interface between the front-end and the back-end of a web service. It is a somewhat legacy facility; new web services " +"should generally just talk HTTP between the front-end and the back-end. However there are a number of back-end services such as PHP " +"or the optimized HTTP Git repository access that use FastCGI, so we have support for it in Guix." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:15696 +msgid "" +"To use FastCGI, you configure the front-end web server (e.g., nginx) to dispatch some subset of its requests to the fastcgi backend, " +"which listens on a local TCP or UNIX socket. There is an intermediary @code{fcgiwrap} program that sits between the actual backend " +"process and the web server. The front-end indicates which backend program to run, passing that information to the @code{fcgiwrap} " +"process." +msgstr "" + +#. type: defvr +#: doc/guix.texi:15697 +#, no-wrap +msgid "{Scheme Variable} fcgiwrap-service-type" +msgstr "" + +#. type: defvr +#: doc/guix.texi:15699 +msgid "A service type for the @code{fcgiwrap} FastCGI proxy." +msgstr "" + +#. type: deftp +#: doc/guix.texi:15701 +#, no-wrap +msgid "{Data Type} fcgiwrap-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:15704 +msgid "Data type representing the configuration of the @code{fcgiwrap} serice. This type has the following parameters:" +msgstr "" + +#. type: item +#: doc/guix.texi:15705 +#, no-wrap +msgid "@code{package} (default: @code{fcgiwrap})" +msgstr "" + +#. type: table +#: doc/guix.texi:15707 +msgid "The fcgiwrap package to use." +msgstr "" + +#. type: item +#: doc/guix.texi:15708 +#, no-wrap +msgid "@code{socket} (default: @code{tcp:127.0.0.1:9000})" +msgstr "" + +#. type: table +#: doc/guix.texi:15714 +msgid "" +"The socket on which the @code{fcgiwrap} process should listen, as a string. Valid @var{socket} values include @code{unix:@var{/path/" +"to/unix/socket}}, @code{tcp:@var{dot.ted.qu.ad}:@var{port}} and @code{tcp6:[@var{ipv6_addr}]:port}." +msgstr "" + +#. type: item +#: doc/guix.texi:15715 +#, no-wrap +msgid "@code{user} (default: @code{fcgiwrap})" +msgstr "" + +#. type: itemx +#: doc/guix.texi:15716 +#, no-wrap +msgid "@code{group} (default: @code{fcgiwrap})" +msgstr "" + +#. type: table +#: doc/guix.texi:15721 +msgid "" +"The user and group names, as strings, under which to run the @code{fcgiwrap} process. The @code{fastcgi} service will ensure that " +"if the user asks for the specific user or group names @code{fcgiwrap} that the corresponding user and/or group is present on the " +"system." +msgstr "" + +#. type: table +#: doc/guix.texi:15728 +msgid "" +"It is possible to configure a FastCGI-backed web service to pass HTTP authentication information from the front-end to the back-end, " +"and to allow @code{fcgiwrap} to run the back-end process as a corresponding local user. To enable this capability on the back-end., " +"run @code{fcgiwrap} as the @code{root} user and group. Note that this capability also has to be configured on the front-end as well." +msgstr "" + +#. type: cindex +#: doc/guix.texi:15731 +#, no-wrap +msgid "php-fpm" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:15734 +msgid "" +"PHP-FPM (FastCGI Process Manager) is an alternative PHP FastCGI implementation with some additional features useful for sites of any " +"size." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:15736 +msgid "These features include:" +msgstr "" + +#. type: item +#: doc/guix.texi:15737 +#, no-wrap +msgid "Adaptive process spawning" +msgstr "" + +#. type: item +#: doc/guix.texi:15738 +#, no-wrap +msgid "Basic statistics (similar to Apache's mod_status)" +msgstr "" + +#. type: item +#: doc/guix.texi:15739 +#, no-wrap +msgid "Advanced process management with graceful stop/start" +msgstr "" + +#. type: item +#: doc/guix.texi:15740 +#, no-wrap +msgid "Ability to start workers with different uid/gid/chroot/environment" +msgstr "" + +#. type: itemize +#: doc/guix.texi:15742 +msgid "and different php.ini (replaces safe_mode)" +msgstr "" + +#. type: item +#: doc/guix.texi:15742 +#, no-wrap +msgid "Stdout & stderr logging" +msgstr "" + +#. type: item +#: doc/guix.texi:15743 +#, no-wrap +msgid "Emergency restart in case of accidental opcode cache destruction" +msgstr "" + +#. type: item +#: doc/guix.texi:15744 +#, no-wrap +msgid "Accelerated upload support" +msgstr "" + +#. type: item +#: doc/guix.texi:15745 +#, no-wrap +msgid "Support for a \"slowlog\"" +msgstr "" + +#. type: item +#: doc/guix.texi:15746 +#, no-wrap +msgid "Enhancements to FastCGI, such as fastcgi_finish_request() -" +msgstr "" + +#. type: itemize +#: doc/guix.texi:15749 +msgid "" +"a special function to finish request & flush all data while continuing to do something time-consuming (video converting, stats " +"processing, etc.)" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:15751 +msgid "... and much more." +msgstr "" + +#. type: defvr +#: doc/guix.texi:15752 +#, no-wrap +msgid "{Scheme Variable} php-fpm-service-type" +msgstr "" + +#. type: defvr +#: doc/guix.texi:15754 +msgid "A Service type for @code{php-fpm}." +msgstr "" + +#. type: deftp +#: doc/guix.texi:15756 +#, no-wrap +msgid "{Data Type} php-fpm-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:15758 +msgid "Data Type for php-fpm service configuration." +msgstr "" + +#. type: item +#: doc/guix.texi:15759 +#, no-wrap +msgid "@code{php} (default: @code{php})" +msgstr "" + +#. type: table +#: doc/guix.texi:15761 +msgid "The php package to use." +msgstr "" + +#. type: item +#: doc/guix.texi:15761 +#, no-wrap +msgid "@code{socket} (default: @code{(string-append \"/var/run/php\" (version-major (package-version php)) \"-fpm.sock\")})" +msgstr "" + +#. type: table +#: doc/guix.texi:15763 +msgid "The address on which to accept FastCGI requests. Valid syntaxes are:" +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:15764 +#, no-wrap +msgid "\"ip.add.re.ss:port\"" +msgstr "" + +#. type: table +#: doc/guix.texi:15766 +msgid "Listen on a TCP socket to a specific address on a specific port." +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:15766 +#, no-wrap +msgid "\"port\"" +msgstr "" + +#. type: table +#: doc/guix.texi:15768 +msgid "Listen on a TCP socket to all addresses on a specific port." +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:15768 +#, no-wrap +msgid "\"/path/to/unix/socket\"" +msgstr "" + +#. type: table +#: doc/guix.texi:15770 +msgid "Listen on a unix socket." +msgstr "" + +#. type: item +#: doc/guix.texi:15772 +#, no-wrap +msgid "@code{user} (default: @code{php-fpm})" +msgstr "" + +#. type: table +#: doc/guix.texi:15774 +msgid "User who will own the php worker processes." +msgstr "" + +#. type: item +#: doc/guix.texi:15774 +#, no-wrap +msgid "@code{group} (default: @code{php-fpm})" +msgstr "" + +#. type: table +#: doc/guix.texi:15776 +msgid "Group of the worker processes." +msgstr "" + +#. type: item +#: doc/guix.texi:15776 +#, no-wrap +msgid "@code{socket-user} (default: @code{php-fpm})" +msgstr "" + +#. type: table +#: doc/guix.texi:15778 +msgid "User who can speak to the php-fpm socket." +msgstr "" + +#. type: item +#: doc/guix.texi:15778 +#, no-wrap +msgid "@code{socket-group} (default: @code{php-fpm})" +msgstr "" + +#. type: table +#: doc/guix.texi:15780 +msgid "Group that can speak to the php-fpm socket." +msgstr "" + +#. type: item +#: doc/guix.texi:15780 +#, no-wrap +msgid "@code{pid-file} (default: @code{(string-append \"/var/run/php\" (version-major (package-version php)) \"-fpm.pid\")})" +msgstr "" + +#. type: table +#: doc/guix.texi:15783 +msgid "The process id of the php-fpm process is written to this file once the service has started." +msgstr "" + +#. type: item +#: doc/guix.texi:15783 +#, no-wrap +msgid "@code{log-file} (default: @code{(string-append \"/var/log/php\" (version-major (package-version php)) \"-fpm.log\")})" +msgstr "" + +#. type: table +#: doc/guix.texi:15785 +msgid "Log for the php-fpm master process." +msgstr "" + +#. type: item +#: doc/guix.texi:15785 +#, no-wrap +msgid "@code{process-manager} (default: @code{(php-fpm-dynamic-process-manager-configuration)})" +msgstr "" + +#. type: table +#: doc/guix.texi:15788 +msgid "Detailed settings for the php-fpm process manager. Must be either:" +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:15789 +#, no-wrap +msgid "<php-fpm-dynamic-process-manager-configuration>" +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:15790 +#, no-wrap +msgid "<php-fpm-static-process-manager-configuration>" +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:15791 +#, no-wrap +msgid "<php-fpm-on-demand-process-manager-configuration>" +msgstr "" + +#. type: item +#: doc/guix.texi:15793 +#, no-wrap +msgid "@code{display-errors} (default @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:15798 +msgid "" +"Determines whether php errors and warning should be sent to clients and displayed in their browsers. This is useful for local php " +"development, but a security risk for public sites, as error messages can reveal passwords and personal data." +msgstr "" + +#. type: item +#: doc/guix.texi:15798 +#, no-wrap +msgid "@code{workers-logfile} (default @code{(string-append \"/var/log/php\" (version-major (package-version php)) \"-fpm.www.log\")})" +msgstr "" + +#. type: table +#: doc/guix.texi:15801 +msgid "This file will log the @code{stderr} outputs of php worker processes. Can be set to @code{#f} to disable logging." +msgstr "" + +#. type: item +#: doc/guix.texi:15801 +#, no-wrap +msgid "@code{file} (default @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:15804 +msgid "" +"An optional override of the whole configuration. You can use the @code{mixed-text-file} function or an absolute filepath for it." +msgstr "" + +#. type: deftp +#: doc/guix.texi:15807 +#, no-wrap +msgid "{Data type} php-fpm-dynamic-process-manager-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:15811 +msgid "" +"Data Type for the @code{dynamic} php-fpm process manager. With the @code{dynamic} process manager, spare worker processes are kept " +"around based on it's configured limits." +msgstr "" + +#. type: item +#: doc/guix.texi:15812 doc/guix.texi:15828 doc/guix.texi:15838 +#, no-wrap +msgid "@code{max-children} (default: @code{5})" +msgstr "" + +#. type: table +#: doc/guix.texi:15814 doc/guix.texi:15830 doc/guix.texi:15840 +msgid "Maximum of worker processes." +msgstr "" + +#. type: item +#: doc/guix.texi:15814 +#, no-wrap +msgid "@code{start-servers} (default: @code{2})" +msgstr "" + +#. type: table +#: doc/guix.texi:15816 +msgid "How many worker processes should be started on start-up." +msgstr "" + +#. type: item +#: doc/guix.texi:15816 +#, no-wrap +msgid "@code{min-spare-servers} (default: @code{1})" +msgstr "" + +#. type: table +#: doc/guix.texi:15818 +msgid "How many spare worker processes should be kept around at minimum." +msgstr "" + +#. type: item +#: doc/guix.texi:15818 +#, no-wrap +msgid "@code{max-spare-servers} (default: @code{3})" +msgstr "" + +#. type: table +#: doc/guix.texi:15820 +msgid "How many spare worker processes should be kept around at maximum." +msgstr "" + +#. type: deftp +#: doc/guix.texi:15823 +#, no-wrap +msgid "{Data type} php-fpm-static-process-manager-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:15827 +msgid "" +"Data Type for the @code{static} php-fpm process manager. With the @code{static} process manager, an unchanging number of worker " +"processes are created." +msgstr "" + +#. type: deftp +#: doc/guix.texi:15833 +#, no-wrap +msgid "{Data type} php-fpm-on-demand-process-manager-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:15837 +msgid "" +"Data Type for the @code{on-demand} php-fpm process manager. With the @code{on-demand} process manager, worker processes are only " +"created as requests arrive." +msgstr "" + +#. type: item +#: doc/guix.texi:15840 +#, no-wrap +msgid "@code{process-idle-timeout} (default: @code{10})" +msgstr "" + +#. type: table +#: doc/guix.texi:15842 +msgid "The time in seconds after which a process with no requests is killed." +msgstr "" + +#. type: deffn +#: doc/guix.texi:15846 +#, no-wrap +msgid "{Scheme Procedure} nginx-php-fpm-location @" +msgstr "" + +#. type: deffn +#: doc/guix.texi:15852 +msgid "" +"[#:nginx-package nginx] @ [socket (string-append \"/var/run/php\" @ (version-major (package-version php)) @ \"-fpm.sock\")] A helper " +"function to quickly add php to an @code{nginx-server-configuration}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:15855 +msgid "A simple services setup for nginx with php can look like this:" +msgstr "" + +#. type: example +#: doc/guix.texi:15868 +#, no-wrap +msgid "" +"(services (cons* (dhcp-client-service)\n" +" (service php-fpm-service-type)\n" +" (service nginx-service-type\n" +" (nginx-server-configuration\n" +" (server-name '(\"example.com\"))\n" +" (root \"/srv/http/\")\n" +" (locations\n" +" (list (nginx-php-location)))\n" +" (https-port #f)\n" +" (ssl-certificate #f)\n" +" (ssl-certificate-key #f)))\n" +" %base-services))\n" +msgstr "" + +#. type: cindex +#: doc/guix.texi:15870 +#, no-wrap +msgid "cat-avatar-generator" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:15874 +msgid "" +"The cat avatar generator is a simple service to demonstrate the use of php-fpm in @code{Nginx}. It is used to generate cat avatar " +"from a seed, for instance the hash of a user's email address." +msgstr "" + +#. type: deffn +#: doc/guix.texi:15875 +#, no-wrap +msgid "{Scheme Procedure} cat-avatar-generator-serice @" +msgstr "" + +#. type: deffn +#: doc/guix.texi:15883 +msgid "" +"[#:cache-dir \"/var/cache/cat-avatar-generator\"] @ [#:package cat-avatar-generator] @ [#:configuration (nginx-server-" +"configuration)] Returns an nginx-server-configuration that inherits @code{configuration}. It extends the nginx configuration to add " +"a server block that serves @code{package}, a version of cat-avatar-generator. During execution, cat-avatar-generator will be able " +"to use @code{cache-dir} as its cache directory." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:15886 +msgid "A simple setup for cat-avatar-generator can look like this:" +msgstr "" + +#. type: example +#: doc/guix.texi:15893 +#, no-wrap +msgid "" +"(services (cons* (cat-avatar-generator-service\n" +" #:configuration\n" +" (nginx-server-configuration\n" +" (server-name '(\"example.com\"))))\n" +" ...\n" +" %base-services))\n" +msgstr "" + +#. type: cindex +#: doc/guix.texi:15898 +#, no-wrap +msgid "Web" +msgstr "" + +#. type: cindex +#: doc/guix.texi:15899 +#, no-wrap +msgid "HTTP, HTTPS" +msgstr "" + +#. type: cindex +#: doc/guix.texi:15900 +#, no-wrap +msgid "Let's Encrypt" +msgstr "" + +#. type: cindex +#: doc/guix.texi:15901 +#, no-wrap +msgid "TLS certificates" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:15908 +msgid "" +"The @code{(gnu services certbot)} module provides a service to automatically obtain a valid TLS certificate from the Let's Encrypt " +"certificate authority. These certificates can then be used to serve content securely over HTTPS or other TLS-based protocols, with " +"the knowledge that the client will be able to verify the server's authenticity." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:15920 +msgid "" +"@url{https://letsencrypt.org/, Let's Encrypt} provides the @code{certbot} tool to automate the certification process. This tool " +"first securely generates a key on the server. It then makes a request to the Let's Encrypt certificate authority (CA) to sign the " +"key. The CA checks that the request originates from the host in question by using a challenge-response protocol, requiring the " +"server to provide its response over HTTP. If that protocol completes successfully, the CA signs the key, resulting in a " +"certificate. That certificate is valid for a limited period of time, and therefore to continue to provide TLS services, the server " +"needs to periodically ask the CA to renew its signature." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:15927 +msgid "" +"The certbot service automates this process: the initial key generation, the initial certification request to the Let's Encrypt " +"service, the web server challenge/response integration, writing the certificate to disk, the automated periodic renewals, and the " +"deployment tasks associated with the renewal (e.g. reloading services, copying keys with different permissions)." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:15933 +msgid "" +"Certbot is run twice a day, at a random minute within the hour. It won't do anything until your certificates are due for renewal or " +"revoked, but running it regularly would give your service a chance of staying online in case a Let's Encrypt-initiated revocation " +"happened for some reason." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:15937 +msgid "" +"By using this service, you agree to the ACME Subscriber Agreement, which can be found there: @url{https://acme-v01.api.letsencrypt." +"org/directory}." +msgstr "" + +#. type: defvr +#: doc/guix.texi:15938 +#, no-wrap +msgid "{Scheme Variable} certbot-service-type" +msgstr "" + +#. type: defvr +#: doc/guix.texi:15941 +msgid "" +"A service type for the @code{certbot} Let's Encrypt client. Its value must be a @code{certbot-configuration} record as in this " +"example:" +msgstr "" + +#. type: example +#: doc/guix.texi:15948 +#, no-wrap +msgid "" +"(define %nginx-deploy-hook\n" +" (program-file\n" +" \"nginx-deploy-hook\"\n" +" #~(let ((pid (call-with-input-file \"/var/run/nginx/pid\" read)))\n" +" (kill pid SIGHUP))))\n" +"\n" +msgstr "" + +#. type: example +#: doc/guix.texi:15959 +#, no-wrap +msgid "" +"(service certbot-service-type\n" +" (certbot-configuration\n" +" (email \"foo@@example.net\")\n" +" (certificates\n" +" (list\n" +" (certificate-configuration\n" +" (domains '(\"example.net\" \"www.example.net\"))\n" +" (deploy-hook %nginx-deploy-hook))\n" +" (certificate-configuration\n" +" (domains '(\"bar.example.net\")))))))\n" +msgstr "" + +#. type: defvr +#: doc/guix.texi:15962 +msgid "See below for details about @code{certbot-configuration}." +msgstr "" + +#. type: deftp +#: doc/guix.texi:15964 +#, no-wrap +msgid "{Data Type} certbot-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:15967 +msgid "Data type representing the configuration of the @code{certbot} service. This type has the following parameters:" +msgstr "" + +#. type: item +#: doc/guix.texi:15969 +#, no-wrap +msgid "@code{package} (default: @code{certbot})" +msgstr "" + +#. type: table +#: doc/guix.texi:15971 +msgid "The certbot package to use." +msgstr "" + +#. type: item +#: doc/guix.texi:15972 +#, no-wrap +msgid "@code{webroot} (default: @code{/var/www})" +msgstr "" + +#. type: table +#: doc/guix.texi:15975 +msgid "The directory from which to serve the Let's Encrypt challenge/response files." +msgstr "" + +#. type: item +#: doc/guix.texi:15976 +#, no-wrap +msgid "@code{certificates} (default: @code{()})" +msgstr "" + +#. type: table +#: doc/guix.texi:15980 +msgid "" +"A list of @code{certificates-configuration}s for which to generate certificates and request signatures. Each certificate has a " +"@code{name} and several @code{domains}." +msgstr "" + +#. type: table +#: doc/guix.texi:15984 +msgid "Mandatory email used for registration, recovery contact, and important account notifications." +msgstr "" + +#. type: item +#: doc/guix.texi:15985 +#, no-wrap +msgid "@code{rsa-key-size} (default: @code{2048})" +msgstr "" + +#. type: table +#: doc/guix.texi:15987 +msgid "Size of the RSA key." +msgstr "" + +#. type: item +#: doc/guix.texi:15988 +#, no-wrap +msgid "@code{default-location} (default: @i{see below})" +msgstr "" + +#. type: table +#: doc/guix.texi:15997 +msgid "" +"The default @code{nginx-location-configuration}. Because @code{certbot} needs to be able to serve challenges and responses, it " +"needs to be able to run a web server. It does so by extending the @code{nginx} web service with an @code{nginx-server-" +"configuration} listening on the @var{domains} on port 80, and which has a @code{nginx-location-configuration} for the @code{/.well-" +"known/} URI path subspace used by Let's Encrypt. @xref{Web Services}, for more on these nginx configuration data types." +msgstr "" + +#. type: table +#: doc/guix.texi:16001 +msgid "" +"Requests to other URL paths will be matched by the @code{default-location}, which if present is added to all @code{nginx-server-" +"configuration}s." +msgstr "" + +#. type: table +#: doc/guix.texi:16005 +msgid "" +"By default, the @code{default-location} will issue a redirect from @code{http://@var{domain}/...} to @code{https://" +"@var{domain}/...}, leaving you to define what to serve on your site via @code{https}." +msgstr "" + +#. type: table +#: doc/guix.texi:16007 +msgid "Pass @code{#f} to not issue a default location." +msgstr "" + +#. type: deftp +#: doc/guix.texi:16010 +#, no-wrap +msgid "{Data Type} certificate-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:16013 +msgid "Data type representing the configuration of a certificate. This type has the following parameters:" +msgstr "" + +#. type: item +#: doc/guix.texi:16015 +#, no-wrap +msgid "@code{name} (default: @i{see below})" +msgstr "" + +#. type: table +#: doc/guix.texi:16019 +msgid "" +"This name is used by Certbot for housekeeping and in file paths; it doesn't affect the content of the certificate itself. To see " +"certificate names, run @code{certbot certificates}." +msgstr "" + +#. type: table +#: doc/guix.texi:16021 +msgid "Its default is the first provided domain." +msgstr "" + +#. type: item +#: doc/guix.texi:16022 +#, no-wrap +msgid "@code{domains} (default: @code{()})" +msgstr "" + +#. type: table +#: doc/guix.texi:16025 +msgid "" +"The first domain provided will be the subject CN of the certificate, and all domains will be Subject Alternative Names on the " +"certificate." +msgstr "" + +#. type: item +#: doc/guix.texi:16026 +#, no-wrap +msgid "@code{deploy-hook} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:16034 +msgid "" +"Command to be run in a shell once for each successfully issued certificate. For this command, the shell variable " +"@code{$RENEWED_LINEAGE} will point to the config live subdirectory (for example, @samp{\"/etc/letsencrypt/live/example.com\"}) " +"containing the new certificates and keys; the shell variable @code{$RENEWED_DOMAINS} will contain a space-delimited list of renewed " +"certificate domains (for example, @samp{\"example.com www.example.com\"}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:16041 +msgid "" +"For each @code{certificate-configuration}, the certificate is saved to @code{/etc/letsencrypt/live/@var{name}/fullchain.pem} and the " +"key is saved to @code{/etc/letsencrypt/live/@var{name}/privkey.pem}." +msgstr "" + +#. type: cindex +#: doc/guix.texi:16043 +#, no-wrap +msgid "DNS (domain name system)" +msgstr "" + +#. type: cindex +#: doc/guix.texi:16044 +#, no-wrap +msgid "domain name system (DNS)" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:16050 +msgid "" +"The @code{(gnu services dns)} module provides services related to the @dfn{domain name system} (DNS). It provides a server service " +"for hosting an @emph{authoritative} DNS server for multiple zones, slave or master. This service uses @uref{https://www.knot-dns." +"cz/, Knot DNS}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:16053 +msgid "An example configuration of an authoritative server for two zones, one master and one slave, is:" +msgstr "" + +#. type: lisp +#: doc/guix.texi:16060 +#, no-wrap +msgid "" +"(define-zone-entries example.org.zone\n" +";; Name TTL Class Type Data\n" +" (\"@@\" \"\" \"IN\" \"A\" \"127.0.0.1\")\n" +" (\"@@\" \"\" \"IN\" \"NS\" \"ns\")\n" +" (\"ns\" \"\" \"IN\" \"A\" \"127.0.0.1\"))\n" +"\n" +msgstr "" + +#. type: lisp +#: doc/guix.texi:16067 +#, no-wrap +msgid "" +"(define master-zone\n" +" (knot-zone-configuration\n" +" (domain \"example.org\")\n" +" (zone (zone-file\n" +" (origin \"example.org\")\n" +" (entries example.org.zone)))))\n" +"\n" +msgstr "" + +#. type: lisp +#: doc/guix.texi:16073 +#, no-wrap +msgid "" +"(define slave-zone\n" +" (knot-zone-configuration\n" +" (domain \"plop.org\")\n" +" (dnssec-policy \"default\")\n" +" (master (list \"plop-master\"))))\n" +"\n" +msgstr "" + +#. type: lisp +#: doc/guix.texi:16078 +#, no-wrap +msgid "" +"(define plop-master\n" +" (knot-remote-configuration\n" +" (id \"plop-master\")\n" +" (address (list \"208.76.58.171\"))))\n" +"\n" +msgstr "" + +#. type: lisp +#: doc/guix.texi:16087 +#, no-wrap +msgid "" +"(operating-system\n" +" ;; ...\n" +" (services (cons* (service knot-service-type\n" +" (knot-configuration\n" +" (remotes (list plop-master))\n" +" (zones (list master-zone slave-zone))))\n" +" ;; ...\n" +" %base-services)))\n" +msgstr "" + +#. type: deffn +#: doc/guix.texi:16089 +#, no-wrap +msgid "{Scheme Variable} knot-service-type" +msgstr "" + +#. type: deffn +#: doc/guix.texi:16091 +msgid "This is the type for the Knot DNS server." +msgstr "" + +#. type: deffn +#: doc/guix.texi:16099 +msgid "" +"Knot DNS is an authoritative DNS server, meaning that it can serve multiple zones, that is to say domain names you would buy from a " +"registrar. This server is not a resolver, meaning that it can only resolve names for which it is authoritative. This server can be " +"configured to serve zones as a master server or a slave server as a per-zone basis. Slave zones will get their data from masters, " +"and will serve it as an authoritative server. From the point of view of a resolver, there is no difference between master and slave." +msgstr "" + +#. type: deffn +#: doc/guix.texi:16101 +msgid "The following data types are used to configure the Knot DNS server:" +msgstr "" + +#. type: deftp +#: doc/guix.texi:16103 +#, no-wrap +msgid "{Data Type} knot-key-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:16106 +msgid "Data type representing a key. This type has the following parameters:" +msgstr "" + +#. type: item +#: doc/guix.texi:16108 doc/guix.texi:16128 doc/guix.texi:16243 doc/guix.texi:16269 doc/guix.texi:16304 +#, no-wrap +msgid "@code{id} (default: @code{\"\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:16111 +msgid "An identifier for other configuration fields to refer to this key. IDs must be unique and must not be empty." +msgstr "" + +#. type: item +#: doc/guix.texi:16112 +#, no-wrap +msgid "@code{algorithm} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:16116 +msgid "" +"The algorithm to use. Choose between @code{#f}, @code{'hmac-md5}, @code{'hmac-sha1}, @code{'hmac-sha224}, @code{'hmac-sha256}, " +"@code{'hmac-sha384} and @code{'hmac-sha512}." +msgstr "" + +#. type: item +#: doc/guix.texi:16117 +#, no-wrap +msgid "@code{secret} (default: @code{\"\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:16119 +msgid "The secret key itself." +msgstr "" + +#. type: deftp +#: doc/guix.texi:16123 +#, no-wrap +msgid "{Data Type} knot-acl-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:16126 +msgid "Data type representing an Access Control List (ACL) configuration. This type has the following parameters:" +msgstr "" + +#. type: table +#: doc/guix.texi:16131 +msgid "An identifier for ether configuration fields to refer to this key. IDs must be unique and must not be empty." +msgstr "" + +#. type: item +#: doc/guix.texi:16132 doc/guix.texi:16247 +#, no-wrap +msgid "@code{address} (default: @code{'()})" +msgstr "" + +#. type: table +#: doc/guix.texi:16136 +msgid "" +"An ordered list of IP addresses, network subnets, or network ranges represented with strings. The query must match one of them. " +"Empty value means that address match is not required." +msgstr "" + +#. type: item +#: doc/guix.texi:16137 +#, no-wrap +msgid "@code{key} (default: @code{'()})" +msgstr "" + +#. type: table +#: doc/guix.texi:16141 +msgid "" +"An ordered list of references to keys represented with strings. The string must match a key ID defined in a @code{knot-key-" +"configuration}. No key means that a key is not require to match that ACL." +msgstr "" + +#. type: item +#: doc/guix.texi:16142 +#, no-wrap +msgid "@code{action} (default: @code{'()})" +msgstr "" + +#. type: table +#: doc/guix.texi:16146 +msgid "" +"An ordered list of actions that are permitted or forbidden by this ACL. Possible values are lists of zero or more elements from " +"@code{'transfer}, @code{'notify} and @code{'update}." +msgstr "" + +#. type: item +#: doc/guix.texi:16147 +#, no-wrap +msgid "@code{deny?} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:16150 +msgid "When true, the ACL defines restrictions. Listed actions are forbidden. When false, listed actions are allowed." +msgstr "" + +#. type: deftp +#: doc/guix.texi:16154 +#, no-wrap +msgid "{Data Type} zone-entry" +msgstr "" + +#. type: deftp +#: doc/guix.texi:16157 +msgid "Data type represnting a record entry in a zone file. This type has the following parameters:" +msgstr "" + +#. type: item +#: doc/guix.texi:16159 +#, no-wrap +msgid "@code{name} (default: @code{\"@@\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:16165 +msgid "" +"The name of the record. @code{\"@@\"} refers to the origin of the zone. Names are relative to the origin of the zone. For " +"example, in the @code{example.org} zone, @code{\"ns.example.org\"} actually refers to @code{ns.example.org.example.org}. Names " +"ending with a dot are absolute, which means that @code{\"ns.example.org.\"} refers to @code{ns.example.org}." +msgstr "" + +#. type: item +#: doc/guix.texi:16166 +#, no-wrap +msgid "@code{ttl} (default: @code{\"\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:16168 +msgid "The Time-To-Live (TTL) of this record. If not set, the default TTL is used." +msgstr "" + +#. type: item +#: doc/guix.texi:16169 +#, no-wrap +msgid "@code{class} (default: @code{\"IN\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:16172 +msgid "The class of the record. Knot currently supports only @code{\"IN\"} and partially @code{\"CH\"}." +msgstr "" + +#. type: item +#: doc/guix.texi:16173 +#, no-wrap +msgid "@code{type} (default: @code{\"A\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:16177 +msgid "" +"The type of the record. Common types include A (IPv4 address), AAAA (IPv6 address), NS (Name Server) and MX (Mail eXchange). Many " +"other types are defined." +msgstr "" + +#. type: item +#: doc/guix.texi:16178 +#, no-wrap +msgid "@code{data} (default: @code{\"\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:16182 +msgid "" +"The data contained in the record. For instance an IP address associated with an A record, or a domain name associated with an NS " +"record. Remember that domain names are relative to the origin unless they end with a dot." +msgstr "" + +#. type: deftp +#: doc/guix.texi:16186 +#, no-wrap +msgid "{Data Type} zone-file" +msgstr "" + +#. type: deftp +#: doc/guix.texi:16189 +msgid "Data type representing the content of a zone file. This type has the following parameters:" +msgstr "" + +#. type: table +#: doc/guix.texi:16198 +msgid "" +"The list of entries. The SOA record is taken care of, so you don't need to put it in the list of entries. This list should " +"probably contain an entry for your primary authoritative DNS server. Other than using a list of entries directly, you can use " +"@code{define-zone-entries} to define a object containing the list of entries more easily, that you can later pass to the " +"@code{entries} field of the @code{zone-file}." +msgstr "" + +#. type: item +#: doc/guix.texi:16199 +#, no-wrap +msgid "@code{origin} (default: @code{\"\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:16201 +msgid "The name of your zone. This parameter cannot be empty." +msgstr "" + +#. type: item +#: doc/guix.texi:16202 +#, no-wrap +msgid "@code{ns} (default: @code{\"ns\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:16207 +msgid "" +"The domain of your primary authoritative DNS server. The name is relative to the origin, unless it ends with a dot. It is " +"mandatory that this primary DNS server corresponds to an NS record in the zone and that it is associated to an IP address in the " +"list of entries." +msgstr "" + +#. type: item +#: doc/guix.texi:16208 +#, no-wrap +msgid "@code{mail} (default: @code{\"hostmaster\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:16211 +msgid "An email address people can contact you at, as the owner of the zone. This is translated as @code{<mail>@@<origin>}." +msgstr "" + +#. type: item +#: doc/guix.texi:16212 +#, no-wrap +msgid "@code{serial} (default: @code{1})" +msgstr "" + +#. type: table +#: doc/guix.texi:16216 +msgid "" +"The serial number of the zone. As this is used to keep track of changes by both slaves and resolvers, it is mandatory that it " +"@emph{never} decreases. Always increment it when you make a change in your zone." +msgstr "" + +#. type: item +#: doc/guix.texi:16217 +#, no-wrap +msgid "@code{refresh} (default: @code{(* 2 24 3600)})" +msgstr "" + +#. type: table +#: doc/guix.texi:16221 +msgid "" +"The frequency at which slaves will do a zone transfer. This value is a number of seconds. It can be computed by multiplications or " +"with @code{(string->duration)}." +msgstr "" + +#. type: item +#: doc/guix.texi:16222 +#, no-wrap +msgid "@code{retry} (default: @code{(* 15 60)})" +msgstr "" + +#. type: table +#: doc/guix.texi:16225 +msgid "The period after which a slave will retry to contact its master when it fails to do so a first time." +msgstr "" + +#. type: item +#: doc/guix.texi:16226 +#, no-wrap +msgid "@code{expiry} (default: @code{(* 14 24 3600)})" +msgstr "" + +#. type: table +#: doc/guix.texi:16230 +msgid "" +"Default TTL of records. Existing records are considered correct for at most this amount of time. After this period, resolvers will " +"invalidate their cache and check again that it still exists." +msgstr "" + +#. type: item +#: doc/guix.texi:16231 +#, no-wrap +msgid "@code{nx} (default: @code{3600})" +msgstr "" + +#. type: table +#: doc/guix.texi:16234 +msgid "Default TTL of inexistant records. This delay is usually short because you want your new domains to reach everyone quickly." +msgstr "" + +#. type: deftp +#: doc/guix.texi:16238 +#, no-wrap +msgid "{Data Type} knot-remote-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:16241 +msgid "Data type representing a remote configuration. This type has the following parameters:" +msgstr "" + +#. type: table +#: doc/guix.texi:16246 +msgid "An identifier for other configuration fields to refer to this remote. IDs must be unique and must not be empty." +msgstr "" + +#. type: table +#: doc/guix.texi:16251 +msgid "" +"An ordered list of destination IP addresses. Addresses are tried in sequence. An optional port can be given with the @@ " +"separator. For instance: @code{(list \"1.2.3.4\" \"2.3.4.5@@53\")}. Default port is 53." +msgstr "" + +#. type: item +#: doc/guix.texi:16252 +#, no-wrap +msgid "@code{via} (default: @code{'()})" +msgstr "" + +#. type: table +#: doc/guix.texi:16256 +msgid "" +"An ordered list of source IP addresses. An empty list will have Knot choose an appropriate source IP. An optional port can be " +"given with the @@ separator. The default is to choose at random." +msgstr "" + +#. type: item +#: doc/guix.texi:16257 +#, no-wrap +msgid "@code{key} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:16260 +msgid "A reference to a key, that is a string containing the identifier of a key defined in a @code{knot-key-configuration} field." +msgstr "" + +#. type: deftp +#: doc/guix.texi:16264 +#, no-wrap +msgid "{Data Type} knot-keystore-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:16267 +msgid "Data type representing a keystore to hold dnssec keys. This type has the following parameters:" +msgstr "" + +#. type: table +#: doc/guix.texi:16271 +msgid "The id of the keystore. It must not be empty." +msgstr "" + +#. type: item +#: doc/guix.texi:16272 +#, no-wrap +msgid "@code{backend} (default: @code{'pem})" +msgstr "" + +#. type: table +#: doc/guix.texi:16274 +msgid "The backend to store the keys in. Can be @code{'pem} or @code{'pkcs11}." +msgstr "" + +#. type: item +#: doc/guix.texi:16275 +#, no-wrap +msgid "@code{config} (default: @code{\"/var/lib/knot/keys/keys\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:16279 +msgid "" +"The configuration string of the backend. An example for the PKCS#11 is: @code{\"pkcs11:token=knot;pin-value=1234 /gnu/store/.../lib/" +"pkcs11/libsofthsm2.so\"}. For the pem backend, the string reprensents a path in the file system." +msgstr "" + +#. type: deftp +#: doc/guix.texi:16283 +#, no-wrap +msgid "{Data Type} knot-policy-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:16287 +msgid "" +"Data type representing a dnssec policy. Knot DNS is able to automatically sign your zones. It can either generate and manage your " +"keys automatically or use keys that you generate." +msgstr "" + +#. type: deftp +#: doc/guix.texi:16294 +msgid "" +"Dnssec is usually implemented using two keys: a Key Signing Key (KSK) that is used to sign the second, and a Zone Signing Key (ZSK) " +"that is used to sign the zone. In order to be trusted, the KSK needs to be present in the parent zone (usually a top-level " +"domain). If your registrar supports dnssec, you will have to send them your KSK's hash so they can add a DS record in their zone. " +"This is not automated and need to be done each time you change your KSK." +msgstr "" + +#. type: deftp +#: doc/guix.texi:16300 +msgid "" +"The policy also defines the lifetime of keys. Usually, ZSK can be changed easily and use weaker cryptographic functions (they use " +"lower parameters) in order to sign records quickly, so they are changed often. The KSK however requires manual interaction with the " +"registrar, so they are changed less often and use stronger parameters because they sign only one record." +msgstr "" + +#. type: deftp +#: doc/guix.texi:16302 +msgid "This type has the following parameters:" +msgstr "" + +#. type: table +#: doc/guix.texi:16306 +msgid "The id of the policy. It must not be empty." +msgstr "" + +#. type: item +#: doc/guix.texi:16307 +#, no-wrap +msgid "@code{keystore} (default: @code{\"default\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:16312 +msgid "" +"A reference to a keystore, that is a string containing the identifier of a keystore defined in a @code{knot-keystore-configuration} " +"field. The @code{\"default\"} identifier means the default keystore (a kasp database that was setup by this service)." +msgstr "" + +#. type: item +#: doc/guix.texi:16313 +#, no-wrap +msgid "@code{manual?} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:16315 +msgid "Whether the key management is manual or automatic." +msgstr "" + +#. type: item +#: doc/guix.texi:16316 +#, no-wrap +msgid "@code{single-type-signing?} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:16318 +msgid "When @code{#t}, use the Single-Type Signing Scheme." +msgstr "" + +#. type: item +#: doc/guix.texi:16319 +#, no-wrap +msgid "@code{algorithm} (default: @code{\"ecdsap256sha256\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:16321 +msgid "An algorithm of signing keys and issued signatures." +msgstr "" + +#. type: item +#: doc/guix.texi:16322 +#, no-wrap +msgid "@code{ksk-size} (default: @code{256})" +msgstr "" + +#. type: table +#: doc/guix.texi:16325 +msgid "The length of the KSK. Note that this value is correct for the default algorithm, but would be unsecure for other algorithms." +msgstr "" + +#. type: item +#: doc/guix.texi:16326 +#, no-wrap +msgid "@code{zsk-size} (default: @code{256})" +msgstr "" + +#. type: table +#: doc/guix.texi:16329 +msgid "The length of the ZSK. Note that this value is correct for the default algorithm, but would be unsecure for other algorithms." +msgstr "" + +#. type: item +#: doc/guix.texi:16330 +#, no-wrap +msgid "@code{dnskey-ttl} (default: @code{'default})" +msgstr "" + +#. type: table +#: doc/guix.texi:16333 +msgid "The TTL value for DNSKEY records added into zone apex. The special @code{'default} value means same as the zone SOA TTL." +msgstr "" + +#. type: item +#: doc/guix.texi:16334 +#, no-wrap +msgid "@code{zsk-lifetime} (default: @code{(* 30 24 3600)})" +msgstr "" + +#. type: table +#: doc/guix.texi:16336 +msgid "The period between ZSK publication and the next rollover initiation." +msgstr "" + +#. type: item +#: doc/guix.texi:16337 +#, no-wrap +msgid "@code{propagation-delay} (default: @code{(* 24 3600)})" +msgstr "" + +#. type: table +#: doc/guix.texi:16340 +msgid "" +"An extra delay added for each key rollover step. This value should be high enough to cover propagation of data from the master " +"server to all slaves." +msgstr "" + +#. type: item +#: doc/guix.texi:16341 +#, no-wrap +msgid "@code{rrsig-lifetime} (default: @code{(* 14 24 3600)})" +msgstr "" + +#. type: table +#: doc/guix.texi:16343 +msgid "A validity period of newly issued signatures." +msgstr "" + +#. type: item +#: doc/guix.texi:16344 +#, no-wrap +msgid "@code{rrsig-refresh} (default: @code{(* 7 24 3600)})" +msgstr "" + +#. type: table +#: doc/guix.texi:16346 +msgid "A period how long before a signature expiration the signature will be refreshed." +msgstr "" + +#. type: item +#: doc/guix.texi:16347 +#, no-wrap +msgid "@code{nsec3?} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:16349 +msgid "When @code{#t}, NSEC3 will be used instead of NSEC." +msgstr "" + +#. type: item +#: doc/guix.texi:16350 +#, no-wrap +msgid "@code{nsec3-iterations} (default: @code{5})" +msgstr "" + +#. type: table +#: doc/guix.texi:16352 +msgid "The number of additional times the hashing is performed." +msgstr "" + +#. type: item +#: doc/guix.texi:16353 +#, no-wrap +msgid "@code{nsec3-salt-length} (default: @code{8})" +msgstr "" + +#. type: table +#: doc/guix.texi:16356 +msgid "The length of a salt field in octets, which is appended to the original owner name before hashing." +msgstr "" + +#. type: item +#: doc/guix.texi:16357 +#, no-wrap +msgid "@code{nsec3-salt-lifetime} (default: @code{(* 30 24 3600)})" +msgstr "" + +#. type: table +#: doc/guix.texi:16359 +msgid "The validity period of newly issued salt field." +msgstr "" + +#. type: deftp +#: doc/guix.texi:16363 +#, no-wrap +msgid "{Data Type} knot-zone-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:16366 +msgid "Data type representing a zone served by Knot. This type has the following parameters:" +msgstr "" + +#. type: item +#: doc/guix.texi:16368 +#, no-wrap +msgid "@code{domain} (default: @code{\"\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:16370 +msgid "The domain served by this configuration. It must not be empty." +msgstr "" + +#. type: item +#: doc/guix.texi:16371 +#, no-wrap +msgid "@code{file} (default: @code{\"\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:16374 +msgid "" +"The file where this zone is saved. This parameter is ignored by master zones. Empty means default location that depends on the " +"domain name." +msgstr "" + +#. type: item +#: doc/guix.texi:16375 +#, no-wrap +msgid "@code{zone} (default: @code{(zone-file)})" +msgstr "" + +#. type: table +#: doc/guix.texi:16378 +msgid "The content of the zone file. This parameter is ignored by slave zones. It must contain a zone-file record." +msgstr "" + +#. type: item +#: doc/guix.texi:16379 +#, no-wrap +msgid "@code{master} (default: @code{'()})" +msgstr "" + +#. type: table +#: doc/guix.texi:16382 +msgid "" +"A list of master remotes. When empty, this zone is a master. When set, this zone is a slave. This is a list of remotes " +"identifiers." +msgstr "" + +#. type: item +#: doc/guix.texi:16383 +#, no-wrap +msgid "@code{ddns-master} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:16386 +msgid "The main master. When empty, it defaults to the first master in the list of masters." +msgstr "" + +#. type: item +#: doc/guix.texi:16387 +#, no-wrap +msgid "@code{notify} (default: @code{'()})" +msgstr "" + +#. type: table +#: doc/guix.texi:16389 +msgid "A list of slave remote identifiers." +msgstr "" + +#. type: item +#: doc/guix.texi:16390 +#, no-wrap +msgid "@code{acl} (default: @code{'()})" +msgstr "" + +#. type: table +#: doc/guix.texi:16392 +msgid "A list of acl identifiers." +msgstr "" + +#. type: item +#: doc/guix.texi:16393 +#, no-wrap +msgid "@code{semantic-checks?} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:16395 +msgid "When set, this adds more semantic checks to the zone." +msgstr "" + +#. type: item +#: doc/guix.texi:16396 +#, no-wrap +msgid "@code{disable-any?} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:16398 +msgid "When set, this forbids queries of the ANY type." +msgstr "" + +#. type: item +#: doc/guix.texi:16399 +#, no-wrap +msgid "@code{zonefile-sync} (default: @code{0})" +msgstr "" + +#. type: table +#: doc/guix.texi:16402 +msgid "The delay between a modification in memory and on disk. 0 means immediate synchronization." +msgstr "" + +#. type: item +#: doc/guix.texi:16403 +#, no-wrap +msgid "@code{serial-policy} (default: @code{'increment})" +msgstr "" + +#. type: table +#: doc/guix.texi:16405 +msgid "A policy between @code{'increment} and @code{'unixtime}." +msgstr "" + +#. type: deftp +#: doc/guix.texi:16409 +#, no-wrap +msgid "{Data Type} knot-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:16412 +msgid "Data type representing the Knot configuration. This type has the following parameters:" +msgstr "" + +#. type: item +#: doc/guix.texi:16414 +#, no-wrap +msgid "@code{knot} (default: @code{knot})" +msgstr "" + +#. type: table +#: doc/guix.texi:16416 +msgid "The Knot package." +msgstr "" + +#. type: item +#: doc/guix.texi:16417 +#, no-wrap +msgid "@code{run-directory} (default: @code{\"/var/run/knot\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:16419 +msgid "The run directory. This directory will be used for pid file and sockets." +msgstr "" + +#. type: item +#: doc/guix.texi:16420 +#, no-wrap +msgid "@code{listen-v4} (default: @code{\"0.0.0.0\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:16422 doc/guix.texi:16425 +msgid "An ip address on which to listen." +msgstr "" + +#. type: item +#: doc/guix.texi:16423 +#, no-wrap +msgid "@code{listen-v6} (default: @code{\"::\"})" +msgstr "" + +#. type: item +#: doc/guix.texi:16426 +#, no-wrap +msgid "@code{listen-port} (default: @code{53})" +msgstr "" + +#. type: table +#: doc/guix.texi:16428 +msgid "A port on which to listen." +msgstr "" + +#. type: item +#: doc/guix.texi:16429 +#, no-wrap +msgid "@code{keys} (default: @code{'()})" +msgstr "" + +#. type: table +#: doc/guix.texi:16431 +msgid "The list of knot-key-configuration used by this configuration." +msgstr "" + +#. type: item +#: doc/guix.texi:16432 +#, no-wrap +msgid "@code{acls} (default: @code{'()})" +msgstr "" + +#. type: table +#: doc/guix.texi:16434 +msgid "The list of knot-acl-configuration used by this configuration." +msgstr "" + +#. type: item +#: doc/guix.texi:16435 +#, no-wrap +msgid "@code{remotes} (default: @code{'()})" +msgstr "" + +#. type: table +#: doc/guix.texi:16437 +msgid "The list of knot-remote-configuration used by this configuration." +msgstr "" + +#. type: item +#: doc/guix.texi:16438 +#, no-wrap +msgid "@code{zones} (default: @code{'()})" +msgstr "" + +#. type: table +#: doc/guix.texi:16440 +msgid "The list of knot-zone-configuration used by this configuration." +msgstr "" + +#. type: cindex +#: doc/guix.texi:16447 +#, no-wrap +msgid "VPN (virtual private network)" +msgstr "" + +#. type: cindex +#: doc/guix.texi:16448 +#, no-wrap +msgid "virtual private network (VPN)" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:16454 +msgid "" +"The @code{(gnu services vpn)} module provides services related to @dfn{virtual private networks} (VPNs). It provides a " +"@emph{client} service for your machine to connect to a VPN, and a @emph{servire} service for your machine to host a VPN. Both " +"services use @uref{https://openvpn.net/, OpenVPN}." +msgstr "" + +#. type: deffn +#: doc/guix.texi:16455 +#, no-wrap +msgid "{Scheme Procedure} openvpn-client-service @" +msgstr "" + +#. type: deffn +#: doc/guix.texi:16457 +msgid "[#:config (openvpn-client-configuration)]" +msgstr "" + +#. type: deffn +#: doc/guix.texi:16459 +msgid "Return a service that runs @command{openvpn}, a VPN daemon, as a client." +msgstr "" + +#. type: deffn +#: doc/guix.texi:16461 +#, no-wrap +msgid "{Scheme Procedure} openvpn-server-service @" +msgstr "" + +#. type: deffn +#: doc/guix.texi:16463 +msgid "[#:config (openvpn-server-configuration)]" +msgstr "" + +#. type: deffn +#: doc/guix.texi:16465 +msgid "Return a service that runs @command{openvpn}, a VPN daemon, as a server." +msgstr "" + +#. type: deffn +#: doc/guix.texi:16467 +msgid "Both can be run simultaneously." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:16472 +msgid "Available @code{openvpn-client-configuration} fields are:" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16473 +#, no-wrap +msgid "{@code{openvpn-client-configuration} parameter} package openvpn" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16475 doc/guix.texi:16611 +msgid "The OpenVPN package." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16478 +#, no-wrap +msgid "{@code{openvpn-client-configuration} parameter} string pid-file" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16480 doc/guix.texi:16616 +msgid "The OpenVPN pid file." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16482 doc/guix.texi:16618 +msgid "Defaults to @samp{\"/var/run/openvpn/openvpn.pid\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16485 +#, no-wrap +msgid "{@code{openvpn-client-configuration} parameter} proto proto" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16488 doc/guix.texi:16624 +msgid "The protocol (UDP or TCP) used to open a channel between clients and servers." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16490 doc/guix.texi:16626 +msgid "Defaults to @samp{udp}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16493 +#, no-wrap +msgid "{@code{openvpn-client-configuration} parameter} dev dev" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16495 doc/guix.texi:16631 +msgid "The device type used to represent the VPN connection." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16497 doc/guix.texi:16633 +msgid "Defaults to @samp{tun}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16500 +#, no-wrap +msgid "{@code{openvpn-client-configuration} parameter} string ca" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16502 doc/guix.texi:16638 +msgid "The certificate authority to check connections against." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16504 doc/guix.texi:16640 +msgid "Defaults to @samp{\"/etc/openvpn/ca.crt\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16507 +#, no-wrap +msgid "{@code{openvpn-client-configuration} parameter} string cert" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16510 doc/guix.texi:16646 +msgid "The certificate of the machine the daemon is running on. It should be signed by the authority given in @code{ca}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16512 doc/guix.texi:16648 +msgid "Defaults to @samp{\"/etc/openvpn/client.crt\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16515 +#, no-wrap +msgid "{@code{openvpn-client-configuration} parameter} string key" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16518 doc/guix.texi:16654 +msgid "The key of the machine the daemon is running on. It must be the key whose certificate is @code{cert}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16520 doc/guix.texi:16656 +msgid "Defaults to @samp{\"/etc/openvpn/client.key\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16523 +#, no-wrap +msgid "{@code{openvpn-client-configuration} parameter} boolean comp-lzo?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16525 doc/guix.texi:16661 +msgid "Whether to use the lzo compression algorithm." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16530 +#, no-wrap +msgid "{@code{openvpn-client-configuration} parameter} boolean persist-key?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16532 doc/guix.texi:16668 +msgid "Don't re-read key files across SIGUSR1 or --ping-restart." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16537 +#, no-wrap +msgid "{@code{openvpn-client-configuration} parameter} boolean persist-tun?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16540 doc/guix.texi:16676 +msgid "Don't close and reopen TUN/TAP device or run up/down scripts across SIGUSR1 or --ping-restart restarts." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16545 +#, no-wrap +msgid "{@code{openvpn-client-configuration} parameter} number verbosity" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16547 doc/guix.texi:16683 +msgid "Verbosity level." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16549 doc/guix.texi:16685 doc/guix.texi:17962 doc/guix.texi:18185 +msgid "Defaults to @samp{3}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16552 +#, no-wrap +msgid "{@code{openvpn-client-configuration} parameter} tls-auth-client tls-auth" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16555 doc/guix.texi:16691 +msgid "Add an additional layer of HMAC authentication on top of the TLS control channel to protect against DoS attacks." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16560 +#, no-wrap +msgid "{@code{openvpn-client-configuration} parameter} key-usage verify-key-usage?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16562 +msgid "Whether to check the server certificate has server usage extension." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16567 +#, no-wrap +msgid "{@code{openvpn-client-configuration} parameter} bind bind?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16569 +msgid "Bind to a specific local port number." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16574 +#, no-wrap +msgid "{@code{openvpn-client-configuration} parameter} resolv-retry resolv-retry?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16576 +msgid "Retry resolving server address." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16581 +#, no-wrap +msgid "{@code{openvpn-client-configuration} parameter} openvpn-remote-list remote" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16583 +msgid "A list of remote servers to connect to." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16587 +msgid "Available @code{openvpn-remote-configuration} fields are:" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16588 +#, no-wrap +msgid "{@code{openvpn-remote-configuration} parameter} string name" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16590 +msgid "Server name." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16592 +msgid "Defaults to @samp{\"my-server\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16595 +#, no-wrap +msgid "{@code{openvpn-remote-configuration} parameter} number port" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16597 +msgid "Port number the server listens to." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16599 doc/guix.texi:16700 +msgid "Defaults to @samp{1194}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:16608 +msgid "Available @code{openvpn-server-configuration} fields are:" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16609 +#, no-wrap +msgid "{@code{openvpn-server-configuration} parameter} package openvpn" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16614 +#, no-wrap +msgid "{@code{openvpn-server-configuration} parameter} string pid-file" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16621 +#, no-wrap +msgid "{@code{openvpn-server-configuration} parameter} proto proto" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16629 +#, no-wrap +msgid "{@code{openvpn-server-configuration} parameter} dev dev" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16636 +#, no-wrap +msgid "{@code{openvpn-server-configuration} parameter} string ca" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16643 +#, no-wrap +msgid "{@code{openvpn-server-configuration} parameter} string cert" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16651 +#, no-wrap +msgid "{@code{openvpn-server-configuration} parameter} string key" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16659 +#, no-wrap +msgid "{@code{openvpn-server-configuration} parameter} boolean comp-lzo?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16666 +#, no-wrap +msgid "{@code{openvpn-server-configuration} parameter} boolean persist-key?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16673 +#, no-wrap +msgid "{@code{openvpn-server-configuration} parameter} boolean persist-tun?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16681 +#, no-wrap +msgid "{@code{openvpn-server-configuration} parameter} number verbosity" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16688 +#, no-wrap +msgid "{@code{openvpn-server-configuration} parameter} tls-auth-server tls-auth" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16696 +#, no-wrap +msgid "{@code{openvpn-server-configuration} parameter} number port" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16698 +msgid "Specifies the port number on which the server listens." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16703 +#, no-wrap +msgid "{@code{openvpn-server-configuration} parameter} ip-mask server" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16705 +msgid "An ip and mask specifying the subnet inside the virtual network." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16707 +msgid "Defaults to @samp{\"10.8.0.0 255.255.255.0\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16710 +#, no-wrap +msgid "{@code{openvpn-server-configuration} parameter} cidr6 server-ipv6" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16712 +msgid "A CIDR notation specifying the IPv6 subnet inside the virtual network." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16717 +#, no-wrap +msgid "{@code{openvpn-server-configuration} parameter} string dh" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16719 +msgid "The Diffie-Hellman parameters file." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16721 +msgid "Defaults to @samp{\"/etc/openvpn/dh2048.pem\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16724 +#, no-wrap +msgid "{@code{openvpn-server-configuration} parameter} string ifconfig-pool-persist" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16726 +msgid "The file that records client IPs." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16728 +msgid "Defaults to @samp{\"/etc/openvpn/ipp.txt\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16731 +#, no-wrap +msgid "{@code{openvpn-server-configuration} parameter} gateway redirect-gateway?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16733 +msgid "When true, the server will act as a gateway for its clients." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16738 +#, no-wrap +msgid "{@code{openvpn-server-configuration} parameter} boolean client-to-client?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16740 +msgid "When true, clients are allowed to talk to each other inside the VPN." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16745 +#, no-wrap +msgid "{@code{openvpn-server-configuration} parameter} keepalive keepalive" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16751 +msgid "" +"Causes ping-like messages to be sent back and forth over the link so that each side knows when the other side has gone down. " +"@code{keepalive} requires a pair. The first element is the period of the ping sending, and the second element is the timeout before " +"considering the other side down." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16754 +#, no-wrap +msgid "{@code{openvpn-server-configuration} parameter} number max-clients" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16756 +msgid "The maximum number of clients." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16761 +#, no-wrap +msgid "{@code{openvpn-server-configuration} parameter} string status" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16764 +msgid "The status file. This file shows a small report on current connection. It is truncated and rewritten every minute." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16766 +msgid "Defaults to @samp{\"/var/run/openvpn/status\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16769 +#, no-wrap +msgid "{@code{openvpn-server-configuration} parameter} openvpn-ccd-list client-config-dir" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16771 +msgid "The list of configuration for some clients." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16775 +msgid "Available @code{openvpn-ccd-configuration} fields are:" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16776 +#, no-wrap +msgid "{@code{openvpn-ccd-configuration} parameter} string name" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16778 +msgid "Client name." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16780 +msgid "Defaults to @samp{\"client\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16783 +#, no-wrap +msgid "{@code{openvpn-ccd-configuration} parameter} ip-mask iroute" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16785 +msgid "Client own network" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16790 +#, no-wrap +msgid "{@code{openvpn-ccd-configuration} parameter} ip-mask ifconfig-push" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16792 +msgid "Client VPN IP." +msgstr "" + +#. type: cindex +#: doc/guix.texi:16805 +#, no-wrap +msgid "NFS" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:16810 +msgid "" +"The @code{(gnu services nfs)} module provides the following services, which are most commonly used in relation to mounting or " +"exporting directory trees as @dfn{network file systems} (NFS)." +msgstr "" + +#. type: subsubheading +#: doc/guix.texi:16811 +#, no-wrap +msgid "RPC Bind Service" +msgstr "" + +#. type: cindex +#: doc/guix.texi:16812 +#, no-wrap +msgid "rpcbind" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:16818 +msgid "" +"The RPC Bind service provides a facility to map program numbers into universal addresses. Many NFS related services use this " +"facility. Hence it is automatically started when a dependent service starts." +msgstr "" + +#. type: defvr +#: doc/guix.texi:16819 +#, no-wrap +msgid "{Scheme Variable} rpcbind-service-type" +msgstr "" + +#. type: defvr +#: doc/guix.texi:16821 +msgid "A service type for the RPC portmapper daemon." +msgstr "" + +#. type: deftp +#: doc/guix.texi:16824 +#, no-wrap +msgid "{Data Type} rpcbind-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:16827 +msgid "Data type representing the configuration of the RPC Bind Service. This type has the following parameters:" +msgstr "" + +#. type: item +#: doc/guix.texi:16828 +#, no-wrap +msgid "@code{rpcbind} (default: @code{rpcbind})" +msgstr "" + +#. type: table +#: doc/guix.texi:16830 +msgid "The rpcbind package to use." +msgstr "" + +#. type: item +#: doc/guix.texi:16831 +#, no-wrap +msgid "@code{warm-start?} (default: @code{#t})" +msgstr "" + +#. type: table +#: doc/guix.texi:16835 +msgid "" +"If this parameter is @code{#t}, then the daemon will read a state file on startup thus reloading state information saved by a " +"previous instance." +msgstr "" + +#. type: subsubheading +#: doc/guix.texi:16839 +#, no-wrap +msgid "Pipefs Pseudo File System" +msgstr "" + +#. type: cindex +#: doc/guix.texi:16840 +#, no-wrap +msgid "pipefs" +msgstr "" + +#. type: cindex +#: doc/guix.texi:16841 +#, no-wrap +msgid "rpc_pipefs" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:16845 +msgid "The pipefs file system is used to transfer NFS related data between the kernel and user space programs." +msgstr "" + +#. type: defvr +#: doc/guix.texi:16846 +#, no-wrap +msgid "{Scheme Variable} pipefs-service-type" +msgstr "" + +#. type: defvr +#: doc/guix.texi:16848 +msgid "A service type for the pipefs pseudo file system." +msgstr "" + +#. type: deftp +#: doc/guix.texi:16850 +#, no-wrap +msgid "{Data Type} pipefs-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:16853 +msgid "Data type representing the configuration of the pipefs pseudo file system service. This type has the following parameters:" +msgstr "" + +#. type: item +#: doc/guix.texi:16854 +#, no-wrap +msgid "@code{mount-point} (default: @code{\"/var/lib/nfs/rpc_pipefs\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:16856 +msgid "The directory to which the file system is to be attached." +msgstr "" + +#. type: subsubheading +#: doc/guix.texi:16860 +#, no-wrap +msgid "GSS Daemon Service" +msgstr "" + +#. type: cindex +#: doc/guix.texi:16861 +#, no-wrap +msgid "GSSD" +msgstr "" + +#. type: cindex +#: doc/guix.texi:16862 +#, no-wrap +msgid "GSS" +msgstr "" + +#. type: cindex +#: doc/guix.texi:16863 +#, no-wrap +msgid "global security system" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:16870 +msgid "" +"The @dfn{global security system} (GSS) daemon provides strong security for RPC based protocols. Before exchanging RPC requests an " +"RPC client must establish a security context. Typically this is done using the Kerberos command @command{kinit} or automatically at " +"login time using PAM services (@pxref{Kerberos Services})." +msgstr "" + +#. type: defvr +#: doc/guix.texi:16871 +#, no-wrap +msgid "{Scheme Variable} gss-service-type" +msgstr "" + +#. type: defvr +#: doc/guix.texi:16873 +msgid "A service type for the Global Security System (GSS) daemon." +msgstr "" + +#. type: deftp +#: doc/guix.texi:16875 +#, no-wrap +msgid "{Data Type} gss-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:16878 +msgid "Data type representing the configuration of the GSS daemon service. This type has the following parameters:" +msgstr "" + +#. type: item +#: doc/guix.texi:16879 doc/guix.texi:16904 +#, no-wrap +msgid "@code{nfs-utils} (default: @code{nfs-utils})" +msgstr "" + +#. type: table +#: doc/guix.texi:16881 +msgid "The package in which the @command{rpc.gssd} command is to be found." +msgstr "" + +#. type: item +#: doc/guix.texi:16882 doc/guix.texi:16907 +#, no-wrap +msgid "@code{pipefs-directory} (default: @code{\"/var/lib/nfs/rpc_pipefs\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:16884 doc/guix.texi:16909 +msgid "The directory where the pipefs file system is mounted." +msgstr "" + +#. type: subsubheading +#: doc/guix.texi:16889 +#, no-wrap +msgid "IDMAP Daemon Service" +msgstr "" + +#. type: cindex +#: doc/guix.texi:16890 +#, no-wrap +msgid "idmapd" +msgstr "" + +#. type: cindex +#: doc/guix.texi:16891 +#, no-wrap +msgid "name mapper" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:16895 +msgid "" +"The idmap daemon service provides mapping between user IDs and user names. Typically it is required in order to access file systems " +"mounted via NFSv4." +msgstr "" + +#. type: defvr +#: doc/guix.texi:16896 +#, no-wrap +msgid "{Scheme Variable} idmap-service-type" +msgstr "" + +#. type: defvr +#: doc/guix.texi:16898 +msgid "A service type for the Identity Mapper (IDMAP) daemon." +msgstr "" + +#. type: deftp +#: doc/guix.texi:16900 +#, no-wrap +msgid "{Data Type} idmap-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:16903 +msgid "Data type representing the configuration of the IDMAP daemon service. This type has the following parameters:" +msgstr "" + +#. type: table +#: doc/guix.texi:16906 +msgid "The package in which the @command{rpc.idmapd} command is to be found." +msgstr "" + +#. type: item +#: doc/guix.texi:16910 +#, no-wrap +msgid "@code{domain} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:16914 +msgid "" +"The local NFSv4 domain name. This must be a string or @code{#f}. If it is @code{#f} then the daemon will use the host's fully " +"qualified domain name." +msgstr "" + +#. type: cindex +#: doc/guix.texi:16921 +#, no-wrap +msgid "continuous integration" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:16925 +msgid "" +"@uref{https://notabug.org/mthl/cuirass, Cuirass} is a continuous integration tool for Guix. It can be used both for development and " +"for providing substitutes to others (@pxref{Substitutes})." +msgstr "" +"@uref{https://notabug.org/mthl/cuirass, Cuirass} est un outil d'intégration continue pour Guix. On peut l'utiliser aussi bien pour " +"le développement que pour fournir des substituts à d'autres (@pxref{Substituts})." + +#. type: Plain text +#: doc/guix.texi:16927 +msgid "The @code{(gnu services cuirass)} module provides the following service." +msgstr "" + +#. type: defvr +#: doc/guix.texi:16928 +#, no-wrap +msgid "{Scheme Procedure} cuirass-service-type" +msgstr "" + +#. type: defvr +#: doc/guix.texi:16931 +msgid "The type of the Cuirass service. Its value must be a @code{cuirass-configuration} object, as described below." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:16938 +msgid "" +"To add build jobs, you have to set the @code{specifications} field of the configuration. Here is an example of a service defining a " +"build job based on a specification that can be found in Cuirass source tree. This service polls the Guix repository and builds a " +"subset of the Guix packages, as prescribed in the @file{gnu-system.scm} example spec:" +msgstr "" + +#. type: example +#: doc/guix.texi:16950 +#, no-wrap +msgid "" +"(let ((spec #~((#:name . \"guix\")\n" +" (#:url . \"git://git.savannah.gnu.org/guix.git\")\n" +" (#:load-path . \".\")\n" +" (#:file . \"build-aux/cuirass/gnu-system.scm\")\n" +" (#:proc . cuirass-jobs)\n" +" (#:arguments (subset . \"hello\"))\n" +" (#:branch . \"master\"))))\n" +" (service cuirass-service-type\n" +" (cuirass-configuration\n" +" (specifications #~(list '#$spec)))))\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:16955 +msgid "" +"While information related to build jobs is located directly in the specifications, global settings for the @command{cuirass} process " +"are accessible in other @code{cuirass-configuration} fields." +msgstr "" + +#. type: deftp +#: doc/guix.texi:16956 +#, no-wrap +msgid "{Data Type} cuirass-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:16958 +msgid "Data type representing the configuration of Cuirass." +msgstr "" + +#. type: item +#: doc/guix.texi:16960 +#, no-wrap +msgid "@code{log-file} (default: @code{\"/var/log/cuirass.log\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:16962 +msgid "Location of the log file." +msgstr "" + +#. type: item +#: doc/guix.texi:16963 +#, no-wrap +msgid "@code{cache-directory} (default: @code{\"/var/cache/cuirass\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:16965 +msgid "Location of the repository cache." +msgstr "" + +#. type: item +#: doc/guix.texi:16966 +#, no-wrap +msgid "@code{user} (default: @code{\"cuirass\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:16968 +msgid "Owner of the @code{cuirass} process." +msgstr "" + +#. type: item +#: doc/guix.texi:16969 +#, no-wrap +msgid "@code{group} (default: @code{\"cuirass\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:16971 +msgid "Owner's group of the @code{cuirass} process." +msgstr "" + +#. type: item +#: doc/guix.texi:16972 +#, no-wrap +msgid "@code{interval} (default: @code{60})" +msgstr "" + +#. type: table +#: doc/guix.texi:16975 +msgid "Number of seconds between the poll of the repositories followed by the Cuirass jobs." +msgstr "" + +#. type: item +#: doc/guix.texi:16976 +#, no-wrap +msgid "@code{database} (default: @code{\"/var/run/cuirass/cuirass.db\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:16979 +msgid "Location of sqlite database which contains the build results and previously added specifications." +msgstr "" + +#. type: item +#: doc/guix.texi:16980 +#, no-wrap +msgid "@code{port} (default: @code{8081})" +msgstr "" + +#. type: table +#: doc/guix.texi:16982 +msgid "Port number used by the HTTP server." +msgstr "" + +#. type: table +#: doc/guix.texi:16986 +msgid "Listen on the network interface for @var{host}. The default is to accept connections from localhost." +msgstr "" + +#. type: item +#: doc/guix.texi:16987 +#, no-wrap +msgid "@code{specifications} (default: @code{#~'()})" +msgstr "" + +#. type: table +#: doc/guix.texi:16993 +msgid "" +"A gexp (@pxref{G-Expressions}) that evaluates to a list of specifications, where a specification is an association list " +"(@pxref{Associations Lists,,, guile, GNU Guile Reference Manual}) whose keys are keywords (@code{#:keyword-example}) as shown in the " +"example above." +msgstr "" + +#. type: item +#: doc/guix.texi:16994 +#, no-wrap +msgid "@code{use-substitutes?} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:16997 +msgid "This allows using substitutes to avoid building every dependencies of a job from source." +msgstr "" + +#. type: item +#: doc/guix.texi:16998 +#, no-wrap +msgid "@code{one-shot?} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:17000 +msgid "Only evaluate specifications and build derivations once." +msgstr "" + +#. type: item +#: doc/guix.texi:17001 +#, no-wrap +msgid "@code{fallback?} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:17004 +msgid "When substituting a pre-built binary fails, fall back to building packages locally." +msgstr "" + +#. type: item +#: doc/guix.texi:17005 +#, no-wrap +msgid "@code{load-path} (default: @code{'()})" +msgstr "" + +#. type: table +#: doc/guix.texi:17008 +msgid "This allows users to define their own packages and make them visible to cuirass as in @command{guix build} command." +msgstr "" + +#. type: item +#: doc/guix.texi:17009 +#, no-wrap +msgid "@code{cuirass} (default: @code{cuirass})" +msgstr "" + +#. type: table +#: doc/guix.texi:17011 +msgid "The Cuirass package to use." +msgstr "" + +#. type: cindex +#: doc/guix.texi:17017 +#, no-wrap +msgid "power management with TLP" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:17020 +msgid "The @code{(gnu services pm)} module provides a Guix service definition for the Linux power management tool TLP." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:17026 +msgid "" +"TLP enables various powersaving modes in userspace and kernel. Contrary to @code{upower-service}, it is not a passive, monitoring " +"tool, as it will apply custom settings each time a new power source is detected. More information can be found at @uref{http://" +"linrunner.de/en/tlp/tlp.html, TLP home page}." +msgstr "" + +#. type: deffn +#: doc/guix.texi:17027 +#, no-wrap +msgid "{Scheme Variable} tlp-service-type" +msgstr "" + +#. type: deffn +#: doc/guix.texi:17031 +msgid "" +"The service type for the TLP tool. Its value should be a valid TLP configuration (see below). To use the default settings, simply " +"write:" +msgstr "" + +#. type: example +#: doc/guix.texi:17033 +#, no-wrap +msgid "(service tlp-service-type)\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:17038 +msgid "By default TLP does not need much configuration but most TLP parameters can be tweaked using @code{tlp-configuration}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:17044 +msgid "" +"Each parameter definition is preceded by its type; for example, @samp{boolean foo} indicates that the @code{foo} parameter should be " +"specified as a boolean. Types starting with @code{maybe-} denote parameters that won't show up in TLP config file when their value " +"is @code{'disabled}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:17054 +msgid "Available @code{tlp-configuration} fields are:" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17055 +#, no-wrap +msgid "{@code{tlp-configuration} parameter} package tlp" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17057 +msgid "The TLP package." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17060 +#, no-wrap +msgid "{@code{tlp-configuration} parameter} boolean tlp-enable?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17062 +msgid "Set to true if you wish to enable TLP." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17067 +#, no-wrap +msgid "{@code{tlp-configuration} parameter} string tlp-default-mode" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17070 +msgid "Default mode when no power supply can be detected. Alternatives are AC and BAT." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17072 +msgid "Defaults to @samp{\"AC\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17075 +#, no-wrap +msgid "{@code{tlp-configuration} parameter} non-negative-integer disk-idle-secs-on-ac" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17078 +msgid "Number of seconds Linux kernel has to wait after the disk goes idle, before syncing on AC." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17083 +#, no-wrap +msgid "{@code{tlp-configuration} parameter} non-negative-integer disk-idle-secs-on-bat" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17085 +msgid "Same as @code{disk-idle-ac} but on BAT mode." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17087 +msgid "Defaults to @samp{2}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17090 +#, no-wrap +msgid "{@code{tlp-configuration} parameter} non-negative-integer max-lost-work-secs-on-ac" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17092 +msgid "Dirty pages flushing periodicity, expressed in seconds." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17094 doc/guix.texi:17317 doc/guix.texi:18631 doc/guix.texi:18639 +msgid "Defaults to @samp{15}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17097 +#, no-wrap +msgid "{@code{tlp-configuration} parameter} non-negative-integer max-lost-work-secs-on-bat" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17099 +msgid "Same as @code{max-lost-work-secs-on-ac} but on BAT mode." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17101 +msgid "Defaults to @samp{60}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17104 +#, no-wrap +msgid "{@code{tlp-configuration} parameter} maybe-space-separated-string-list cpu-scaling-governor-on-ac" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17108 +msgid "" +"CPU frequency scaling governor on AC mode. With intel_pstate driver, alternatives are powersave and performance. With acpi-cpufreq " +"driver, alternatives are ondemand, powersave, performance and conservative." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17110 doc/guix.texi:17117 doc/guix.texi:17124 doc/guix.texi:17131 doc/guix.texi:17138 doc/guix.texi:17145 +#: doc/guix.texi:17153 doc/guix.texi:17161 doc/guix.texi:17168 doc/guix.texi:17175 doc/guix.texi:17182 doc/guix.texi:17189 +#: doc/guix.texi:17219 doc/guix.texi:17257 doc/guix.texi:17264 doc/guix.texi:17273 doc/guix.texi:17295 doc/guix.texi:17303 +#: doc/guix.texi:17310 doc/guix.texi:17465 doc/guix.texi:17485 doc/guix.texi:17500 doc/guix.texi:17507 +msgid "Defaults to @samp{disabled}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17113 +#, no-wrap +msgid "{@code{tlp-configuration} parameter} maybe-space-separated-string-list cpu-scaling-governor-on-bat" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17115 +msgid "Same as @code{cpu-scaling-governor-on-ac} but on BAT mode." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17120 +#, no-wrap +msgid "{@code{tlp-configuration} parameter} maybe-non-negative-integer cpu-scaling-min-freq-on-ac" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17122 +msgid "Set the min available frequency for the scaling governor on AC." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17127 +#, no-wrap +msgid "{@code{tlp-configuration} parameter} maybe-non-negative-integer cpu-scaling-max-freq-on-ac" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17129 +msgid "Set the max available frequency for the scaling governor on AC." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17134 +#, no-wrap +msgid "{@code{tlp-configuration} parameter} maybe-non-negative-integer cpu-scaling-min-freq-on-bat" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17136 +msgid "Set the min available frequency for the scaling governor on BAT." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17141 +#, no-wrap +msgid "{@code{tlp-configuration} parameter} maybe-non-negative-integer cpu-scaling-max-freq-on-bat" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17143 +msgid "Set the max available frequency for the scaling governor on BAT." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17148 +#, no-wrap +msgid "{@code{tlp-configuration} parameter} maybe-non-negative-integer cpu-min-perf-on-ac" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17151 +msgid "" +"Limit the min P-state to control the power dissipation of the CPU, in AC mode. Values are stated as a percentage of the available " +"performance." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17156 +#, no-wrap +msgid "{@code{tlp-configuration} parameter} maybe-non-negative-integer cpu-max-perf-on-ac" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17159 +msgid "" +"Limit the max P-state to control the power dissipation of the CPU, in AC mode. Values are stated as a percentage of the available " +"performance." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17164 +#, no-wrap +msgid "{@code{tlp-configuration} parameter} maybe-non-negative-integer cpu-min-perf-on-bat" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17166 +msgid "Same as @code{cpu-min-perf-on-ac} on BAT mode." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17171 +#, no-wrap +msgid "{@code{tlp-configuration} parameter} maybe-non-negative-integer cpu-max-perf-on-bat" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17173 +msgid "Same as @code{cpu-max-perf-on-ac} on BAT mode." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17178 +#, no-wrap +msgid "{@code{tlp-configuration} parameter} maybe-boolean cpu-boost-on-ac?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17180 +msgid "Enable CPU turbo boost feature on AC mode." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17185 +#, no-wrap +msgid "{@code{tlp-configuration} parameter} maybe-boolean cpu-boost-on-bat?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17187 +msgid "Same as @code{cpu-boost-on-ac?} on BAT mode." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17192 +#, no-wrap +msgid "{@code{tlp-configuration} parameter} boolean sched-powersave-on-ac?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17195 +msgid "Allow Linux kernel to minimize the number of CPU cores/hyper-threads used under light load conditions." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17200 +#, no-wrap +msgid "{@code{tlp-configuration} parameter} boolean sched-powersave-on-bat?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17202 +msgid "Same as @code{sched-powersave-on-ac?} but on BAT mode." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17207 +#, no-wrap +msgid "{@code{tlp-configuration} parameter} boolean nmi-watchdog?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17209 +msgid "Enable Linux kernel NMI watchdog." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17214 +#, no-wrap +msgid "{@code{tlp-configuration} parameter} maybe-string phc-controls" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17217 +msgid "For Linux kernels with PHC patch applied, change CPU voltages. An example value would be @samp{\"F:V F:V F:V F:V\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17222 +#, no-wrap +msgid "{@code{tlp-configuration} parameter} string energy-perf-policy-on-ac" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17225 +msgid "Set CPU performance versus energy saving policy on AC. Alternatives are performance, normal, powersave." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17227 doc/guix.texi:17325 doc/guix.texi:17355 +msgid "Defaults to @samp{\"performance\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17230 +#, no-wrap +msgid "{@code{tlp-configuration} parameter} string energy-perf-policy-on-bat" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17232 +msgid "Same as @code{energy-perf-policy-ac} but on BAT mode." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17234 doc/guix.texi:17332 +msgid "Defaults to @samp{\"powersave\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17237 +#, no-wrap +msgid "{@code{tlp-configuration} parameter} space-separated-string-list disks-devices" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17239 +msgid "Hard disk devices." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17242 +#, no-wrap +msgid "{@code{tlp-configuration} parameter} space-separated-string-list disk-apm-level-on-ac" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17244 +msgid "Hard disk advanced power management level." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17247 +#, no-wrap +msgid "{@code{tlp-configuration} parameter} space-separated-string-list disk-apm-level-on-bat" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17249 +msgid "Same as @code{disk-apm-bat} but on BAT mode." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17252 +#, no-wrap +msgid "{@code{tlp-configuration} parameter} maybe-space-separated-string-list disk-spindown-timeout-on-ac" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17255 +msgid "Hard disk spin down timeout. One value has to be specified for each declared hard disk." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17260 +#, no-wrap +msgid "{@code{tlp-configuration} parameter} maybe-space-separated-string-list disk-spindown-timeout-on-bat" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17262 +msgid "Same as @code{disk-spindown-timeout-on-ac} but on BAT mode." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17267 +#, no-wrap +msgid "{@code{tlp-configuration} parameter} maybe-space-separated-string-list disk-iosched" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17271 +msgid "" +"Select IO scheduler for disk devices. One value has to be specified for each declared hard disk. Example alternatives are cfq, " +"deadline and noop." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17276 +#, no-wrap +msgid "{@code{tlp-configuration} parameter} string sata-linkpwr-on-ac" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17279 +msgid "SATA aggressive link power management (ALPM) level. Alternatives are min_power, medium_power, max_performance." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17281 +msgid "Defaults to @samp{\"max_performance\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17284 +#, no-wrap +msgid "{@code{tlp-configuration} parameter} string sata-linkpwr-on-bat" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17286 +msgid "Same as @code{sata-linkpwr-ac} but on BAT mode." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17288 +msgid "Defaults to @samp{\"min_power\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17291 +#, no-wrap +msgid "{@code{tlp-configuration} parameter} maybe-string sata-linkpwr-blacklist" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17293 +msgid "Exclude specified SATA host devices for link power management." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17298 +#, no-wrap +msgid "{@code{tlp-configuration} parameter} maybe-on-off-boolean ahci-runtime-pm-on-ac?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17301 +msgid "Enable Runtime Power Management for AHCI controller and disks on AC mode." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17306 +#, no-wrap +msgid "{@code{tlp-configuration} parameter} maybe-on-off-boolean ahci-runtime-pm-on-bat?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17308 +msgid "Same as @code{ahci-runtime-pm-on-ac} on BAT mode." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17313 +#, no-wrap +msgid "{@code{tlp-configuration} parameter} non-negative-integer ahci-runtime-pm-timeout" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17315 +msgid "Seconds of inactivity before disk is suspended." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17320 +#, no-wrap +msgid "{@code{tlp-configuration} parameter} string pcie-aspm-on-ac" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17323 +msgid "PCI Express Active State Power Management level. Alternatives are default, performance, powersave." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17328 +#, no-wrap +msgid "{@code{tlp-configuration} parameter} string pcie-aspm-on-bat" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17330 +msgid "Same as @code{pcie-aspm-ac} but on BAT mode." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17335 +#, no-wrap +msgid "{@code{tlp-configuration} parameter} string radeon-power-profile-on-ac" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17338 +msgid "Radeon graphics clock speed level. Alternatives are low, mid, high, auto, default." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17340 +msgid "Defaults to @samp{\"high\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17343 +#, no-wrap +msgid "{@code{tlp-configuration} parameter} string radeon-power-profile-on-bat" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17345 +msgid "Same as @code{radeon-power-ac} but on BAT mode." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17347 +msgid "Defaults to @samp{\"low\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17350 +#, no-wrap +msgid "{@code{tlp-configuration} parameter} string radeon-dpm-state-on-ac" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17353 +msgid "Radeon dynamic power management method (DPM). Alternatives are battery, performance." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17358 +#, no-wrap +msgid "{@code{tlp-configuration} parameter} string radeon-dpm-state-on-bat" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17360 +msgid "Same as @code{radeon-dpm-state-ac} but on BAT mode." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17362 +msgid "Defaults to @samp{\"battery\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17365 +#, no-wrap +msgid "{@code{tlp-configuration} parameter} string radeon-dpm-perf-level-on-ac" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17367 +msgid "Radeon DPM performance level. Alternatives are auto, low, high." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17369 doc/guix.texi:17376 doc/guix.texi:17450 +msgid "Defaults to @samp{\"auto\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17372 +#, no-wrap +msgid "{@code{tlp-configuration} parameter} string radeon-dpm-perf-level-on-bat" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17374 +msgid "Same as @code{radeon-dpm-perf-ac} but on BAT mode." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17379 +#, no-wrap +msgid "{@code{tlp-configuration} parameter} on-off-boolean wifi-pwr-on-ac?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17381 +msgid "Wifi power saving mode." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17386 +#, no-wrap +msgid "{@code{tlp-configuration} parameter} on-off-boolean wifi-pwr-on-bat?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17388 +msgid "Same as @code{wifi-power-ac?} but on BAT mode." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17393 +#, no-wrap +msgid "{@code{tlp-configuration} parameter} y-n-boolean wol-disable?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17395 +msgid "Disable wake on LAN." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17400 +#, no-wrap +msgid "{@code{tlp-configuration} parameter} non-negative-integer sound-power-save-on-ac" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17403 +msgid "" +"Timeout duration in seconds before activating audio power saving on Intel HDA and AC97 devices. A value of 0 disables power saving." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17408 +#, no-wrap +msgid "{@code{tlp-configuration} parameter} non-negative-integer sound-power-save-on-bat" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17410 +msgid "Same as @code{sound-powersave-ac} but on BAT mode." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17412 doc/guix.texi:17927 doc/guix.texi:18071 +msgid "Defaults to @samp{1}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17415 +#, no-wrap +msgid "{@code{tlp-configuration} parameter} y-n-boolean sound-power-save-controller?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17417 +msgid "Disable controller in powersaving mode on Intel HDA devices." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17422 +#, no-wrap +msgid "{@code{tlp-configuration} parameter} boolean bay-poweroff-on-bat?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17426 +msgid "" +"Enable optical drive in UltraBay/MediaBay on BAT mode. Drive can be powered on again by releasing (and reinserting) the eject lever " +"or by pressing the disc eject button on newer models." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17431 +#, no-wrap +msgid "{@code{tlp-configuration} parameter} string bay-device" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17433 +msgid "Name of the optical drive device to power off." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17435 +msgid "Defaults to @samp{\"sr0\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17438 +#, no-wrap +msgid "{@code{tlp-configuration} parameter} string runtime-pm-on-ac" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17441 +msgid "Runtime Power Management for PCI(e) bus devices. Alternatives are on and auto." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17443 +msgid "Defaults to @samp{\"on\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17446 +#, no-wrap +msgid "{@code{tlp-configuration} parameter} string runtime-pm-on-bat" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17448 +msgid "Same as @code{runtime-pm-ac} but on BAT mode." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17453 +#, no-wrap +msgid "{@code{tlp-configuration} parameter} boolean runtime-pm-all?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17456 +msgid "Runtime Power Management for all PCI(e) bus devices, except blacklisted ones." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17461 +#, no-wrap +msgid "{@code{tlp-configuration} parameter} maybe-space-separated-string-list runtime-pm-blacklist" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17463 +msgid "Exclude specified PCI(e) device addresses from Runtime Power Management." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17468 +#, no-wrap +msgid "{@code{tlp-configuration} parameter} space-separated-string-list runtime-pm-driver-blacklist" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17471 +msgid "Exclude PCI(e) devices assigned to the specified drivers from Runtime Power Management." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17474 +#, no-wrap +msgid "{@code{tlp-configuration} parameter} boolean usb-autosuspend?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17476 +msgid "Enable USB autosuspend feature." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17481 +#, no-wrap +msgid "{@code{tlp-configuration} parameter} maybe-string usb-blacklist" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17483 +msgid "Exclude specified devices from USB autosuspend." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17488 +#, no-wrap +msgid "{@code{tlp-configuration} parameter} boolean usb-blacklist-wwan?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17490 +msgid "Exclude WWAN devices from USB autosuspend." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17495 +#, no-wrap +msgid "{@code{tlp-configuration} parameter} maybe-string usb-whitelist" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17498 +msgid "" +"Include specified devices into USB autosuspend, even if they are already excluded by the driver or via @code{usb-blacklist-wwan?}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17503 +#, no-wrap +msgid "{@code{tlp-configuration} parameter} maybe-boolean usb-autosuspend-disable-on-shutdown?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17505 +msgid "Enable USB autosuspend before shutdown." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17510 +#, no-wrap +msgid "{@code{tlp-configuration} parameter} boolean restore-device-state-on-startup?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17513 +msgid "Restore radio device state (bluetooth, wifi, wwan) from previous shutdown on system startup." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:17521 +msgid "" +"The @code{(gnu services pm)} module provides an interface to thermald, a CPU frequency scaling service which helps prevent " +"overheating." +msgstr "" + +#. type: defvr +#: doc/guix.texi:17522 +#, no-wrap +msgid "{Scheme Variable} thermald-service-type" +msgstr "" + +#. type: defvr +#: doc/guix.texi:17527 +msgid "" +"This is the service type for @uref{https://01.org/linux-thermal-daemon/, thermald}, the Linux Thermal Daemon, which is responsible " +"for controlling the thermal state of processors and preventing overheating." +msgstr "" + +#. type: deftp +#: doc/guix.texi:17529 +#, no-wrap +msgid "{Data Type} thermald-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:17531 +msgid "Data type representing the configuration of @code{thermald-service-type}." +msgstr "" + +#. type: item +#: doc/guix.texi:17533 +#, no-wrap +msgid "@code{ignore-cpuid-check?} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:17535 +msgid "Ignore cpuid check for supported CPU models." +msgstr "" + +#. type: item +#: doc/guix.texi:17536 +#, no-wrap +msgid "@code{thermald} (default: @var{thermald})" +msgstr "" + +#. type: table +#: doc/guix.texi:17538 +msgid "Package object of thermald." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:17547 +msgid "The @code{(gnu services audio)} module provides a service to start MPD (the Music Player Daemon)." +msgstr "" + +#. type: cindex +#: doc/guix.texi:17548 +#, no-wrap +msgid "mpd" +msgstr "" + +#. type: subsubheading +#: doc/guix.texi:17549 +#, no-wrap +msgid "Music Player Daemon" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:17554 +msgid "" +"The Music Player Daemon (MPD) is a service that can play music while being controlled from the local machine or over the network by " +"a variety of clients." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:17557 +msgid "" +"The following example shows how one might run @code{mpd} as user @code{\"bob\"} on port @code{6666}. It uses pulseaudio for output." +msgstr "" + +#. type: example +#: doc/guix.texi:17563 +#, no-wrap +msgid "" +"(service mpd-service-type\n" +" (mpd-configuration\n" +" (user \"bob\")\n" +" (port \"6666\")))\n" +msgstr "" + +#. type: defvr +#: doc/guix.texi:17565 +#, no-wrap +msgid "{Scheme Variable} mpd-service-type" +msgstr "" + +#. type: defvr +#: doc/guix.texi:17567 +msgid "The service type for @command{mpd}" +msgstr "" + +#. type: deftp +#: doc/guix.texi:17569 +#, no-wrap +msgid "{Data Type} mpd-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:17571 +msgid "Data type representing the configuration of @command{mpd}." +msgstr "" + +#. type: item +#: doc/guix.texi:17573 +#, no-wrap +msgid "@code{user} (default: @code{\"mpd\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:17575 +msgid "The user to run mpd as." +msgstr "" + +#. type: item +#: doc/guix.texi:17576 +#, no-wrap +msgid "@code{music-dir} (default: @code{\"~/Music\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:17578 +msgid "The directory to scan for music files." +msgstr "" + +#. type: item +#: doc/guix.texi:17579 +#, no-wrap +msgid "@code{playlist-dir} (default: @code{\"~/.mpd/playlists\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:17581 +msgid "The directory to store playlists." +msgstr "" + +#. type: item +#: doc/guix.texi:17582 +#, no-wrap +msgid "@code{port} (default: @code{\"6600\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:17584 +msgid "The port to run mpd on." +msgstr "" + +#. type: item +#: doc/guix.texi:17585 +#, no-wrap +msgid "@code{address} (default: @code{\"any\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:17588 +msgid "The address that mpd will bind to. To use a Unix domain socket, an absolute path can be specified here." +msgstr "" + +#. type: subsubsection +#: doc/guix.texi:17593 +#, no-wrap +msgid "Virtualization services" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:17598 +msgid "" +"The @code{(gnu services virtualization)} module provides services for the libvirt and virtlog daemons, as well as other " +"virtualization-related services." +msgstr "" + +#. type: subsubheading +#: doc/guix.texi:17599 +#, no-wrap +msgid "Libvirt daemon" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:17603 +msgid "" +"@code{libvirtd} is the server side daemon component of the libvirt virtualization management system. This daemon runs on host " +"servers and performs required management tasks for virtualized guests." +msgstr "" + +#. type: deffn +#: doc/guix.texi:17604 +#, no-wrap +msgid "{Scheme Variable} libvirt-service-type" +msgstr "" + +#. type: deffn +#: doc/guix.texi:17607 +msgid "This is the type of the @uref{https://libvirt.org, libvirt daemon}. Its value must be a @code{libvirt-configuration}." +msgstr "" + +#. type: example +#: doc/guix.texi:17613 +#, no-wrap +msgid "" +"(service libvirt-service-type\n" +" (libvirt-configuration\n" +" (unix-sock-group \"libvirt\")\n" +" (tls-port \"16555\")))\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:17618 +msgid "Available @code{libvirt-configuration} fields are:" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17619 +#, no-wrap +msgid "{@code{libvirt-configuration} parameter} package libvirt" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17621 +msgid "Libvirt package." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17624 +#, no-wrap +msgid "{@code{libvirt-configuration} parameter} boolean listen-tls?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17627 +msgid "Flag listening for secure TLS connections on the public TCP/IP port. must set @code{listen} for this to have any effect." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17630 +msgid "It is necessary to setup a CA and issue server certificates before using this capability." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17635 +#, no-wrap +msgid "{@code{libvirt-configuration} parameter} boolean listen-tcp?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17638 +msgid "Listen for unencrypted TCP connections on the public TCP/IP port. must set @code{listen} for this to have any effect." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17642 +msgid "" +"Using the TCP socket requires SASL authentication by default. Only SASL mechanisms which support data encryption are allowed. This " +"is DIGEST_MD5 and GSSAPI (Kerberos5)" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17647 +#, no-wrap +msgid "{@code{libvirt-configuration} parameter} string tls-port" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17650 +msgid "Port for accepting secure TLS connections This can be a port number, or service name" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17652 +msgid "Defaults to @samp{\"16514\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17655 +#, no-wrap +msgid "{@code{libvirt-configuration} parameter} string tcp-port" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17658 +msgid "Port for accepting insecure TCP connections This can be a port number, or service name" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17660 +msgid "Defaults to @samp{\"16509\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17663 +#, no-wrap +msgid "{@code{libvirt-configuration} parameter} string listen-addr" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17665 +msgid "IP address or hostname used for client connections." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17667 +msgid "Defaults to @samp{\"0.0.0.0\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17670 +#, no-wrap +msgid "{@code{libvirt-configuration} parameter} boolean mdns-adv?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17672 +msgid "Flag toggling mDNS advertisement of the libvirt service." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17675 +msgid "Alternatively can disable for all services on a host by stopping the Avahi daemon." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17680 +#, no-wrap +msgid "{@code{libvirt-configuration} parameter} string mdns-name" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17683 +msgid "Default mDNS advertisement name. This must be unique on the immediate broadcast network." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17685 +msgid "Defaults to @samp{\"Virtualization Host <hostname>\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17688 +#, no-wrap +msgid "{@code{libvirt-configuration} parameter} string unix-sock-group" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17692 +msgid "" +"UNIX domain socket group ownership. This can be used to allow a 'trusted' set of users access to management capabilities without " +"becoming root." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17694 +msgid "Defaults to @samp{\"root\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17697 +#, no-wrap +msgid "{@code{libvirt-configuration} parameter} string unix-sock-ro-perms" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17700 +msgid "UNIX socket permissions for the R/O socket. This is used for monitoring VM status only." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17702 doc/guix.texi:17720 +msgid "Defaults to @samp{\"0777\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17705 +#, no-wrap +msgid "{@code{libvirt-configuration} parameter} string unix-sock-rw-perms" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17709 +msgid "" +"UNIX socket permissions for the R/W socket. Default allows only root. If PolicyKit is enabled on the socket, the default will " +"change to allow everyone (eg, 0777)" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17711 +msgid "Defaults to @samp{\"0770\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17714 +#, no-wrap +msgid "{@code{libvirt-configuration} parameter} string unix-sock-admin-perms" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17718 +msgid "" +"UNIX socket permissions for the admin socket. Default allows only owner (root), do not change it unless you are sure to whom you " +"are exposing the access to." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17723 +#, no-wrap +msgid "{@code{libvirt-configuration} parameter} string unix-sock-dir" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17725 +msgid "The directory in which sockets will be found/created." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17727 +msgid "Defaults to @samp{\"/var/run/libvirt\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17730 +#, no-wrap +msgid "{@code{libvirt-configuration} parameter} string auth-unix-ro" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17733 +msgid "Authentication scheme for UNIX read-only sockets. By default socket permissions allow anyone to connect" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17735 doc/guix.texi:17744 +msgid "Defaults to @samp{\"polkit\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17738 +#, no-wrap +msgid "{@code{libvirt-configuration} parameter} string auth-unix-rw" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17742 +msgid "" +"Authentication scheme for UNIX read-write sockets. By default socket permissions only allow root. If PolicyKit support was " +"compiled into libvirt, the default will be to use 'polkit' auth." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17747 +#, no-wrap +msgid "{@code{libvirt-configuration} parameter} string auth-tcp" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17751 +msgid "" +"Authentication scheme for TCP sockets. If you don't enable SASL, then all TCP traffic is cleartext. Don't do this outside of a dev/" +"test scenario." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17753 +msgid "Defaults to @samp{\"sasl\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17756 +#, no-wrap +msgid "{@code{libvirt-configuration} parameter} string auth-tls" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17760 +msgid "" +"Authentication scheme for TLS sockets. TLS sockets already have encryption provided by the TLS layer, and limited authentication is " +"done by certificates." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17763 +msgid "It is possible to make use of any SASL authentication mechanism as well, by using 'sasl' for this option" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17765 +msgid "Defaults to @samp{\"none\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17768 +#, no-wrap +msgid "{@code{libvirt-configuration} parameter} optional-list access-drivers" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17770 +msgid "API access control scheme." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17773 +msgid "By default an authenticated user is allowed access to all APIs. Access drivers can place restrictions on this." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17778 +#, no-wrap +msgid "{@code{libvirt-configuration} parameter} string key-file" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17781 +msgid "Server key file path. If set to an empty string, then no private key is loaded." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17786 +#, no-wrap +msgid "{@code{libvirt-configuration} parameter} string cert-file" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17789 +msgid "Server key file path. If set to an empty string, then no certificate is loaded." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17794 +#, no-wrap +msgid "{@code{libvirt-configuration} parameter} string ca-file" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17797 +msgid "Server key file path. If set to an empty string, then no CA certificate is loaded." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17802 +#, no-wrap +msgid "{@code{libvirt-configuration} parameter} string crl-file" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17805 +msgid "Certificate revocation list path. If set to an empty string, then no CRL is loaded." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17810 +#, no-wrap +msgid "{@code{libvirt-configuration} parameter} boolean tls-no-sanity-cert" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17812 +msgid "Disable verification of our own server certificates." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17815 +msgid "When libvirtd starts it performs some sanity checks against its own certificates." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17820 +#, no-wrap +msgid "{@code{libvirt-configuration} parameter} boolean tls-no-verify-cert" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17822 +msgid "Disable verification of client certificates." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17826 +msgid "" +"Client certificate verification is the primary authentication mechanism. Any client which does not present a certificate signed by " +"the CA will be rejected." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17831 +#, no-wrap +msgid "{@code{libvirt-configuration} parameter} optional-list tls-allowed-dn-list" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17833 +msgid "Whitelist of allowed x509 Distinguished Name." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17838 +#, no-wrap +msgid "{@code{libvirt-configuration} parameter} optional-list sasl-allowed-usernames" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17841 +msgid "Whitelist of allowed SASL usernames. The format for username depends on the SASL authentication mechanism." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17846 +#, no-wrap +msgid "{@code{libvirt-configuration} parameter} string tls-priority" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17850 +msgid "" +"Override the compile time default TLS priority string. The default is usually \"NORMAL\" unless overridden at build time. Only set " +"this is it is desired for libvirt to deviate from the global default settings." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17852 +msgid "Defaults to @samp{\"NORMAL\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17855 +#, no-wrap +msgid "{@code{libvirt-configuration} parameter} integer max-clients" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17858 doc/guix.texi:18281 +msgid "Maximum number of concurrent client connections to allow over all sockets combined." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17860 +msgid "Defaults to @samp{5000}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17863 +#, no-wrap +msgid "{@code{libvirt-configuration} parameter} integer max-queued-clients" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17867 +msgid "" +"Maximum length of queue of connections waiting to be accepted by the daemon. Note, that some protocols supporting retransmission " +"may obey this so that a later reattempt at connection succeeds." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17872 +#, no-wrap +msgid "{@code{libvirt-configuration} parameter} integer max-anonymous-clients" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17875 +msgid "Maximum length of queue of accepted but not yet authenticated clients. Set this to zero to turn this feature off" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17877 doc/guix.texi:17895 doc/guix.texi:17911 +msgid "Defaults to @samp{20}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17880 +#, no-wrap +msgid "{@code{libvirt-configuration} parameter} integer min-workers" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17882 +msgid "Number of workers to start up initially." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17887 +#, no-wrap +msgid "{@code{libvirt-configuration} parameter} integer max-workers" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17889 +msgid "Maximum number of worker threads." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17893 +msgid "" +"If the number of active clients exceeds @code{min-workers}, then more threads are spawned, up to max_workers limit. Typically you'd " +"want max_workers to equal maximum number of clients allowed." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17898 +#, no-wrap +msgid "{@code{libvirt-configuration} parameter} integer prio-workers" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17902 +msgid "" +"Number of priority workers. If all workers from above pool are stuck, some calls marked as high priority (notably domainDestroy) " +"can be executed in this pool." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17907 +#, no-wrap +msgid "{@code{libvirt-configuration} parameter} integer max-requests" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17909 +msgid "Total global limit on concurrent RPC calls." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17914 +#, no-wrap +msgid "{@code{libvirt-configuration} parameter} integer max-client-requests" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17918 +msgid "" +"Limit on concurrent requests from a single client connection. To avoid one client monopolizing the server this should be a small " +"fraction of the global max_requests and max_workers parameter." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17923 +#, no-wrap +msgid "{@code{libvirt-configuration} parameter} integer admin-min-workers" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17925 +msgid "Same as @code{min-workers} but for the admin interface." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17930 +#, no-wrap +msgid "{@code{libvirt-configuration} parameter} integer admin-max-workers" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17932 +msgid "Same as @code{max-workers} but for the admin interface." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17937 +#, no-wrap +msgid "{@code{libvirt-configuration} parameter} integer admin-max-clients" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17939 +msgid "Same as @code{max-clients} but for the admin interface." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17944 +#, no-wrap +msgid "{@code{libvirt-configuration} parameter} integer admin-max-queued-clients" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17946 +msgid "Same as @code{max-queued-clients} but for the admin interface." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17951 +#, no-wrap +msgid "{@code{libvirt-configuration} parameter} integer admin-max-client-requests" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17953 +msgid "Same as @code{max-client-requests} but for the admin interface." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17958 +#, no-wrap +msgid "{@code{libvirt-configuration} parameter} integer log-level" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17960 doc/guix.texi:18183 +msgid "Logging level. 4 errors, 3 warnings, 2 information, 1 debug." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17965 +#, no-wrap +msgid "{@code{libvirt-configuration} parameter} string log-filters" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17967 doc/guix.texi:18190 +msgid "Logging filters." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17970 doc/guix.texi:18193 +msgid "A filter allows to select a different logging level for a given category of logs The format for a filter is one of:" +msgstr "" + +#. type: itemize +#: doc/guix.texi:17974 doc/guix.texi:18197 +msgid "x:name" +msgstr "" + +#. type: itemize +#: doc/guix.texi:17977 doc/guix.texi:18200 +msgid "x:+name" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17987 doc/guix.texi:18210 +msgid "" +"where @code{name} is a string which is matched against the category given in the @code{VIR_LOG_INIT()} at the top of each libvirt " +"source file, e.g., \"remote\", \"qemu\", or \"util.json\" (the name in the filter can be a substring of the full category name, in " +"order to match multiple similar categories), the optional \"+\" prefix tells libvirt to log stack trace for each message matching " +"name, and @code{x} is the minimal level where matching messages should be logged:" +msgstr "" + +#. type: itemize +#: doc/guix.texi:17991 doc/guix.texi:18036 doc/guix.texi:18214 doc/guix.texi:18259 +msgid "1: DEBUG" +msgstr "" + +#. type: itemize +#: doc/guix.texi:17994 doc/guix.texi:18039 doc/guix.texi:18217 doc/guix.texi:18262 +msgid "2: INFO" +msgstr "" + +#. type: itemize +#: doc/guix.texi:17997 doc/guix.texi:18042 doc/guix.texi:18220 doc/guix.texi:18265 +msgid "3: WARNING" +msgstr "" + +#. type: itemize +#: doc/guix.texi:18000 doc/guix.texi:18045 doc/guix.texi:18223 doc/guix.texi:18268 +msgid "4: ERROR" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18005 doc/guix.texi:18228 +msgid "Multiple filters can be defined in a single filters statement, they just need to be separated by spaces." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18007 doc/guix.texi:18230 +msgid "Defaults to @samp{\"3:remote 4:event\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18010 +#, no-wrap +msgid "{@code{libvirt-configuration} parameter} string log-outputs" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18012 doc/guix.texi:18235 +msgid "Logging outputs." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18015 doc/guix.texi:18238 +msgid "An output is one of the places to save logging information The format for an output can be:" +msgstr "" + +#. type: item +#: doc/guix.texi:18017 doc/guix.texi:18240 +#, no-wrap +msgid "x:stderr" +msgstr "" + +#. type: table +#: doc/guix.texi:18019 doc/guix.texi:18242 +msgid "output goes to stderr" +msgstr "" + +#. type: item +#: doc/guix.texi:18020 doc/guix.texi:18243 +#, no-wrap +msgid "x:syslog:name" +msgstr "" + +#. type: table +#: doc/guix.texi:18022 doc/guix.texi:18245 +msgid "use syslog for the output and use the given name as the ident" +msgstr "" + +#. type: item +#: doc/guix.texi:18023 doc/guix.texi:18246 +#, no-wrap +msgid "x:file:file_path" +msgstr "" + +#. type: table +#: doc/guix.texi:18025 doc/guix.texi:18248 +msgid "output to a file, with the given filepath" +msgstr "" + +#. type: item +#: doc/guix.texi:18026 doc/guix.texi:18249 +#, no-wrap +msgid "x:journald" +msgstr "" + +#. type: table +#: doc/guix.texi:18028 doc/guix.texi:18251 +msgid "output to journald logging system" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18032 doc/guix.texi:18255 +msgid "In all case the x prefix is the minimal level, acting as a filter" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18050 doc/guix.texi:18273 +msgid "Multiple outputs can be defined, they just need to be separated by spaces." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18052 doc/guix.texi:18275 +msgid "Defaults to @samp{\"3:stderr\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18055 +#, no-wrap +msgid "{@code{libvirt-configuration} parameter} integer audit-level" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18057 +msgid "Allows usage of the auditing subsystem to be altered" +msgstr "" + +#. type: itemize +#: doc/guix.texi:18061 +msgid "0: disable all auditing" +msgstr "" + +#. type: itemize +#: doc/guix.texi:18064 +msgid "1: enable auditing, only if enabled on host" +msgstr "" + +#. type: itemize +#: doc/guix.texi:18067 +msgid "2: enable auditing, and exit if disabled on host." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18074 +#, no-wrap +msgid "{@code{libvirt-configuration} parameter} boolean audit-logging" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18076 +msgid "Send audit messages via libvirt logging infrastructure." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18081 +#, no-wrap +msgid "{@code{libvirt-configuration} parameter} optional-string host-uuid" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18083 +msgid "Host UUID. UUID must not have all digits be the same." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18088 +#, no-wrap +msgid "{@code{libvirt-configuration} parameter} string host-uuid-source" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18090 +msgid "Source to read host UUID." +msgstr "" + +#. type: itemize +#: doc/guix.texi:18094 +msgid "@code{smbios}: fetch the UUID from @code{dmidecode -s system-uuid}" +msgstr "" + +#. type: itemize +#: doc/guix.texi:18097 +msgid "@code{machine-id}: fetch the UUID from @code{/etc/machine-id}" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18102 +msgid "If @code{dmidecode} does not provide a valid UUID a temporary UUID will be generated." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18104 +msgid "Defaults to @samp{\"smbios\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18107 +#, no-wrap +msgid "{@code{libvirt-configuration} parameter} integer keepalive-interval" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18112 +msgid "" +"A keepalive message is sent to a client after @code{keepalive_interval} seconds of inactivity to check if the client is still " +"responding. If set to -1, libvirtd will never send keepalive requests; however clients can still send them and the daemon will send " +"responses." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18117 +#, no-wrap +msgid "{@code{libvirt-configuration} parameter} integer keepalive-count" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18121 +msgid "" +"Maximum number of keepalive messages that are allowed to be sent to the client without getting any response before the connection is " +"considered broken." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18128 +msgid "" +"In other words, the connection is automatically closed approximately after @code{keepalive_interval * (keepalive_count + 1)} seconds " +"since the last message received from the client. When @code{keepalive-count} is set to 0, connections will be automatically closed " +"after @code{keepalive-interval} seconds of inactivity without sending any keepalive messages." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18133 +#, no-wrap +msgid "{@code{libvirt-configuration} parameter} integer admin-keepalive-interval" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18135 doc/guix.texi:18142 +msgid "Same as above but for admin interface." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18140 +#, no-wrap +msgid "{@code{libvirt-configuration} parameter} integer admin-keepalive-count" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18147 +#, no-wrap +msgid "{@code{libvirt-configuration} parameter} integer ovs-timeout" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18149 +msgid "Timeout for Open vSwitch calls." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18153 +msgid "" +"The @code{ovs-vsctl} utility is used for the configuration and its timeout option is set by default to 5 seconds to avoid potential " +"infinite waits blocking libvirt." +msgstr "" + +#. type: subsubheading +#: doc/guix.texi:18160 +#, no-wrap +msgid "Virtlog daemon" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:18163 +msgid "The virtlogd service is a server side daemon component of libvirt that is used to manage logs from virtual machine consoles." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:18169 +msgid "" +"This daemon is not used directly by libvirt client applications, rather it is called on their behalf by @code{libvirtd}. By " +"maintaining the logs in a standalone daemon, the main @code{libvirtd} daemon can be restarted without risk of losing logs. The " +"@code{virtlogd} daemon has the ability to re-exec() itself upon receiving @code{SIGUSR1}, to allow live upgrades without downtime." +msgstr "" + +#. type: deffn +#: doc/guix.texi:18170 +#, no-wrap +msgid "{Scheme Variable} virtlog-service-type" +msgstr "" + +#. type: deffn +#: doc/guix.texi:18173 +msgid "This is the type of the virtlog daemon. Its value must be a @code{virtlog-configuration}." +msgstr "" + +#. type: example +#: doc/guix.texi:18178 +#, no-wrap +msgid "" +"(service virtlog-service-type\n" +" (virtlog-configuration\n" +" (max-clients 1000)))\n" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18181 +#, no-wrap +msgid "{@code{virtlog-configuration} parameter} integer log-level" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18188 +#, no-wrap +msgid "{@code{virtlog-configuration} parameter} string log-filters" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18233 +#, no-wrap +msgid "{@code{virtlog-configuration} parameter} string log-outputs" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18278 +#, no-wrap +msgid "{@code{virtlog-configuration} parameter} integer max-clients" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18283 +msgid "Defaults to @samp{1024}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18286 +#, no-wrap +msgid "{@code{virtlog-configuration} parameter} integer max-size" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18288 +msgid "Maximum file size before rolling over." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18290 +msgid "Defaults to @samp{2MB}" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18293 +#, no-wrap +msgid "{@code{virtlog-configuration} parameter} integer max-backups" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18295 +msgid "Maximum number of backup files to keep." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18297 +msgid "Defaults to @samp{3}" +msgstr "" + +#. type: subsubheading +#: doc/guix.texi:18300 +#, no-wrap +msgid "Transparent Emulation with QEMU" +msgstr "" + +#. type: cindex +#: doc/guix.texi:18302 +#, no-wrap +msgid "emulation" +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:18303 +#, no-wrap +msgid "binfmt_misc" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:18309 +msgid "" +"@code{qemu-binfmt-service-type} provides support for transparent emulation of program binaries built for different architectures---e." +"g., it allows you to transparently execute an ARMv7 program on an x86_64 machine. It achieves this by combining the @uref{https://" +"www.qemu.org, QEMU} emulator and the @code{binfmt_misc} feature of the kernel Linux." +msgstr "" + +#. type: defvr +#: doc/guix.texi:18310 +#, no-wrap +msgid "{Scheme Variable} qemu-binfmt-service-type" +msgstr "" + +#. type: defvr +#: doc/guix.texi:18315 +msgid "" +"This is the type of the QEMU/binfmt service for transparent emulation. Its value must be a @code{qemu-binfmt-configuration} object, " +"which specifies the QEMU package to use as well as the architecture we want to emulated:" +msgstr "" + +#. type: example +#: doc/guix.texi:18320 +#, no-wrap +msgid "" +"(service qemu-binfmt-service-type\n" +" (qemu-binfmt-configuration\n" +" (platforms (lookup-qemu-platforms \"arm\" \"aarch64\" \"ppc\"))))\n" +msgstr "" + +#. type: defvr +#: doc/guix.texi:18326 +msgid "" +"In this example, we enable transparent emulation for the ARM and aarch64 platforms. Running @code{herd stop qemu-binfmt} turns it " +"off, and running @code{herd start qemu-binfmt} turns it back on (@pxref{Invoking herd, the @command{herd} command,, shepherd, The " +"GNU Shepherd Manual})." +msgstr "" + +#. type: deftp +#: doc/guix.texi:18328 +#, no-wrap +msgid "{Data Type} qemu-binfmt-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:18330 +msgid "This is the configuration for the @code{qemu-binfmt} service." +msgstr "" + +#. type: item +#: doc/guix.texi:18332 +#, no-wrap +msgid "@code{platforms} (default: @code{'()})" +msgstr "" + +#. type: table +#: doc/guix.texi:18335 +msgid "" +"The list of emulated QEMU platforms. Each item must be a @dfn{platform object} as returned by @code{lookup-qemu-platforms} (see " +"below)." +msgstr "" + +#. type: item +#: doc/guix.texi:18336 +#, no-wrap +msgid "@code{guix-support?} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:18342 +msgid "" +"When it is true, QEMU and all its dependencies are added to the build environment of @command{guix-daemon} (@pxref{Invoking guix-" +"daemon, @code{--chroot-directory} option}). This allows the @code{binfmt_misc} handlers to be used within the build environment, " +"which in turn means that you can transparently build programs for another architecture." +msgstr "" + +#. type: table +#: doc/guix.texi:18345 +msgid "For example, let's suppose you're on an x86_64 machine and you have this service:" +msgstr "" + +#. type: example +#: doc/guix.texi:18351 +#, no-wrap +msgid "" +"(service qemu-binfmt-service-type\n" +" (qemu-binfmt-configuration\n" +" (platforms (lookup-qemu-platforms \"arm\"))\n" +" (guix-support? #t)))\n" +msgstr "" + +#. type: table +#: doc/guix.texi:18354 +msgid "You can run:" +msgstr "" + +#. type: example +#: doc/guix.texi:18357 +#, no-wrap +msgid "guix build -s armhf-linux inkscape\n" +msgstr "" + +#. type: table +#: doc/guix.texi:18364 +msgid "" +"and it will build Inkscape for ARMv7 @emph{as if it were a native build}, transparently using QEMU to emulate the ARMv7 CPU. Pretty " +"handy if you'd like to test a package build for an architecture you don't have access to!" +msgstr "" + +#. type: item +#: doc/guix.texi:18365 +#, no-wrap +msgid "@code{qemu} (default: @code{qemu})" +msgstr "" + +#. type: table +#: doc/guix.texi:18367 +msgid "The QEMU package to use." +msgstr "" + +#. type: deffn +#: doc/guix.texi:18370 +#, no-wrap +msgid "{Scheme Procedure} lookup-qemu-platforms @var{platforms}@dots{}" +msgstr "" + +#. type: deffn +#: doc/guix.texi:18375 +msgid "" +"Return the list of QEMU platform objects corresponding to @var{platforms}@dots{}. @var{platforms} must be a list of strings " +"corresponding to platform names, such as @code{\"arm\"}, @code{\"sparc\"}, @code{\"mips64el\"}, and so on." +msgstr "" + +#. type: deffn +#: doc/guix.texi:18377 +#, no-wrap +msgid "{Scheme Procedure} qemu-platform? @var{obj}" +msgstr "" + +#. type: deffn +#: doc/guix.texi:18379 +msgid "Return true if @var{obj} is a platform object." +msgstr "" + +#. type: deffn +#: doc/guix.texi:18381 +#, no-wrap +msgid "{Scheme Procedure} qemu-platform-name @var{platform}" +msgstr "" + +#. type: deffn +#: doc/guix.texi:18383 +msgid "Return the name of @var{platform}---a string such as @code{\"arm\"}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:18395 +msgid "" +"The @code{(gnu services version-control)} module provides a service to allow remote access to local Git repositories. There are " +"three options: the @code{git-daemon-service}, which provides access to repositories via the @code{git://} unsecured TCP-based " +"protocol, extending the @code{nginx} web server to proxy some requests to @code{git-http-backend}, or providing a web interface with " +"@code{cgit-service-type}." +msgstr "" + +#. type: deffn +#: doc/guix.texi:18396 +#, no-wrap +msgid "{Scheme Procedure} git-daemon-service [#:config (git-daemon-configuration)]" +msgstr "" + +#. type: deffn +#: doc/guix.texi:18400 +msgid "" +"Return a service that runs @command{git daemon}, a simple TCP server to expose repositories over the Git protocol for anonymous " +"access." +msgstr "" + +#. type: deffn +#: doc/guix.texi:18406 +msgid "" +"The optional @var{config} argument should be a @code{<git-daemon-configuration>} object, by default it allows read-only access to " +"exported@footnote{By creating the magic file \"git-daemon-export-ok\" in the repository directory.} repositories under @file{/srv/" +"git}." +msgstr "" + +#. type: deftp +#: doc/guix.texi:18409 +#, no-wrap +msgid "{Data Type} git-daemon-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:18411 +msgid "Data type representing the configuration for @code{git-daemon-service}." +msgstr "" + +#. type: item +#: doc/guix.texi:18413 doc/guix.texi:18469 +#, no-wrap +msgid "@code{package} (default: @var{git})" +msgstr "" + +#. type: table +#: doc/guix.texi:18415 doc/guix.texi:18471 +msgid "Package object of the Git distributed version control system." +msgstr "" + +#. type: item +#: doc/guix.texi:18416 doc/guix.texi:18475 +#, no-wrap +msgid "@code{export-all?} (default: @var{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:18419 +msgid "Whether to allow access for all Git repositories, even if they do not have the @file{git-daemon-export-ok} file." +msgstr "" + +#. type: item +#: doc/guix.texi:18420 +#, no-wrap +msgid "@code{base-path} (default: @file{/srv/git})" +msgstr "" + +#. type: table +#: doc/guix.texi:18425 +msgid "" +"Whether to remap all the path requests as relative to the given path. If you run git daemon with @var{(base-path \"/srv/git\")} on " +"example.com, then if you later try to pull @code{git://example.com/hello.git}, git daemon will interpret the path as @code{/srv/git/" +"hello.git}." +msgstr "" + +#. type: item +#: doc/guix.texi:18426 +#, no-wrap +msgid "@code{user-path} (default: @var{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:18433 +msgid "" +"Whether to allow @code{~user} notation to be used in requests. When specified with empty string, requests to @code{git://host/" +"~alice/foo} is taken as a request to access @code{foo} repository in the home directory of user @code{alice}. If @var{(user-path " +"\"path\")} is specified, the same request is taken as a request to access @code{path/foo} repository in the home directory of user " +"@code{alice}." +msgstr "" + +#. type: item +#: doc/guix.texi:18434 +#, no-wrap +msgid "@code{listen} (default: @var{'()})" +msgstr "" + +#. type: table +#: doc/guix.texi:18437 +msgid "Whether to listen on specific IP addresses or hostnames, defaults to all." +msgstr "" + +#. type: item +#: doc/guix.texi:18438 +#, no-wrap +msgid "@code{port} (default: @var{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:18440 +msgid "Whether to listen on an alternative port, which defaults to 9418." +msgstr "" + +#. type: item +#: doc/guix.texi:18441 +#, no-wrap +msgid "@code{whitelist} (default: @var{'()})" +msgstr "" + +#. type: table +#: doc/guix.texi:18443 +msgid "If not empty, only allow access to this list of directories." +msgstr "" + +#. type: item +#: doc/guix.texi:18444 +#, no-wrap +msgid "@code{extra-options} (default: @var{'()})" +msgstr "" + +#. type: table +#: doc/guix.texi:18447 +msgid "Extra options will be passed to @code{git daemon}, please run @command{man git-daemon} for more information." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:18461 +msgid "" +"The @code{git://} protocol lacks authentication. When you pull from a repository fetched via @code{git://}, you don't know that the " +"data you receive was modified is really coming from the specified host, and you have your connection is subject to eavesdropping. " +"It's better to use an authenticated and encrypted transport, such as @code{https}. Although Git allows you to serve repositories " +"using unsophisticated file-based web servers, there is a faster protocol implemented by the @code{git-http-backend} program. This " +"program is the back-end of a proper Git web service. It is designed to sit behind a FastCGI proxy. @xref{Web Services}, for more " +"on running the necessary @code{fcgiwrap} daemon." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:18464 +msgid "Guix has a separate configuration data type for serving Git repositories over HTTP." +msgstr "" + +#. type: deftp +#: doc/guix.texi:18465 +#, no-wrap +msgid "{Data Type} git-http-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:18467 +msgid "Data type representing the configuration for @code{git-http-service}." +msgstr "" + +#. type: item +#: doc/guix.texi:18472 +#, no-wrap +msgid "@code{git-root} (default: @file{/srv/git})" +msgstr "" + +#. type: table +#: doc/guix.texi:18474 +msgid "Directory containing the Git repositories to expose to the world." +msgstr "" + +#. type: table +#: doc/guix.texi:18478 +msgid "" +"Whether to expose access for all Git repositories in @var{git-root}, even if they do not have the @file{git-daemon-export-ok} file." +msgstr "" + +#. type: item +#: doc/guix.texi:18479 +#, no-wrap +msgid "@code{uri-path} (default: @file{/git/})" +msgstr "" + +#. type: table +#: doc/guix.texi:18484 +msgid "" +"Path prefix for Git access. With the default @code{/git/} prefix, this will map @code{http://@var{server}/git/@var{repo}.git} to " +"@code{/srv/git/@var{repo}.git}. Requests whose URI paths do not begin with this prefix are not passed on to this Git instance." +msgstr "" + +#. type: item +#: doc/guix.texi:18485 +#, no-wrap +msgid "@code{fcgiwrap-socket} (default: @code{127.0.0.1:9000})" +msgstr "" + +#. type: table +#: doc/guix.texi:18488 +msgid "The socket on which the @code{fcgiwrap} daemon is listening. @xref{Web Services}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:18495 +msgid "" +"There is no @code{git-http-service-type}, currently; instead you can create an @code{nginx-location-configuration} from a @code{git-" +"http-configuration} and then add that location to a web server." +msgstr "" + +#. type: deffn +#: doc/guix.texi:18496 +#, no-wrap +msgid "{Scheme Procedure} git-http-nginx-location-configuration @" +msgstr "" + +#. type: deffn +#: doc/guix.texi:18501 +msgid "" +"[config=(git-http-configuration)] Compute an @code{nginx-location-configuration} that corresponds to the given Git http " +"configuration. An example nginx service definition to serve the default @file{/srv/git} over HTTPS might be:" +msgstr "" + +#. type: example +#: doc/guix.texi:18518 +#, no-wrap +msgid "" +"(service nginx-service-type\n" +" (nginx-configuration\n" +" (server-blocks\n" +" (list\n" +" (nginx-server-configuration\n" +" (listen '(\"443 ssl\"))\n" +" (server-name \"git.my-host.org\")\n" +" (ssl-certificate\n" +" \"/etc/letsencrypt/live/git.my-host.org/fullchain.pem\")\n" +" (ssl-certificate-key\n" +" \"/etc/letsencrypt/live/git.my-host.org/privkey.pem\")\n" +" (locations\n" +" (list\n" +" (git-http-nginx-location-configuration\n" +" (git-http-configuration (uri-path \"/\"))))))))))\n" +msgstr "" + +#. type: deffn +#: doc/guix.texi:18525 +msgid "" +"This example assumes that you are using Let's Encrypt to get your TLS certificate. @xref{Certificate Services}. The default " +"@code{certbot} service will redirect all HTTP traffic on @code{git.my-host.org} to HTTPS. You will also need to add an " +"@code{fcgiwrap} proxy to your system services. @xref{Web Services}." +msgstr "" + +#. type: subsubheading +#: doc/guix.texi:18527 +#, no-wrap +msgid "Cgit Service" +msgstr "" + +#. type: cindex +#: doc/guix.texi:18529 +#, no-wrap +msgid "Cgit service" +msgstr "" + +#. type: cindex +#: doc/guix.texi:18530 +#, no-wrap +msgid "Git, web interface" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:18533 +msgid "@uref{https://git.zx2c4.com/cgit/, Cgit} is a web frontend for Git repositories written in C." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:18536 +msgid "" +"The following example will configure the service with default values. By default, Cgit can be accessed on port 80 (@code{http://" +"localhost:80})." +msgstr "" + +#. type: example +#: doc/guix.texi:18539 +#, no-wrap +msgid "(service cgit-service-type)\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:18544 +msgid "Available @code{cgit-configuration} fields are:" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18545 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} package package" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18547 +msgid "The CGIT package." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18550 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} nginx-server-configuration-list nginx" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18552 +msgid "NGINX configuration." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18555 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} string about-filter" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18558 +msgid "Specifies a command which will be invoked to format the content of about pages (both top-level and for each repository)." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18563 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} string agefile" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18566 +msgid "" +"Specifies a path, relative to each repository path, which can be used to specify the date and time of the youngest commit in the " +"repository." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18571 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} string auth-filter" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18574 +msgid "Specifies a command that will be invoked for authenticating repository access." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18579 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} string branch-sort" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18582 +msgid "" +"Flag which, when set to @samp{age}, enables date ordering in the branch ref list, and when set @samp{name} enables ordering by " +"branch name." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18584 +msgid "Defaults to @samp{\"name\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18587 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} string cache-root" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18589 +msgid "Path used to store the cgit cache entries." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18591 +msgid "Defaults to @samp{\"/var/cache/cgit\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18594 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} integer cache-static-ttl" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18597 +msgid "Number which specifies the time-to-live, in minutes, for the cached version of repository pages accessed with a fixed SHA1." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18599 doc/guix.texi:19033 +msgid "Defaults to @samp{-1}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18602 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} integer cache-dynamic-ttl" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18605 +msgid "Number which specifies the time-to-live, in minutes, for the cached version of repository pages accessed without a fixed SHA1." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18610 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} integer cache-repo-ttl" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18613 +msgid "Number which specifies the time-to-live, in minutes, for the cached version of the repository summary page." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18618 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} integer cache-root-ttl" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18621 +msgid "Number which specifies the time-to-live, in minutes, for the cached version of the repository index page." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18626 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} integer cache-scanrc-ttl" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18629 +msgid "Number which specifies the time-to-live, in minutes, for the result of scanning a path for Git repositories." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18634 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} integer cache-about-ttl" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18637 +msgid "Number which specifies the time-to-live, in minutes, for the cached version of the repository about page." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18642 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} integer cache-snapshot-ttl" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18645 +msgid "Number which specifies the time-to-live, in minutes, for the cached version of snapshots." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18650 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} integer cache-size" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18653 +msgid "The maximum number of entries in the cgit cache. When set to @samp{0}, caching is disabled." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18658 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} boolean case-sensitive-sort?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18660 +msgid "Sort items in the repo list case sensitively." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18665 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} list clone-prefix" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18668 +msgid "List of common prefixes which, when combined with a repository URL, generates valid clone URLs for the repository." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18673 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} list clone-url" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18675 +msgid "List of @code{clone-url} templates." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18680 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} string commit-filter" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18682 +msgid "Command which will be invoked to format commit messages." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18687 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} string commit-sort" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18691 doc/guix.texi:19240 +msgid "" +"Flag which, when set to @samp{date}, enables strict date ordering in the commit log, and when set to @samp{topo} enables strict " +"topological ordering." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18693 +msgid "Defaults to @samp{\"git log\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18696 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} string css" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18698 +msgid "URL which specifies the css document to include in all cgit pages." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18700 +msgid "Defaults to @samp{\"/share/cgit/cgit.css\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18703 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} string email-filter" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18707 +msgid "" +"Specifies a command which will be invoked to format names and email address of committers, authors, and taggers, as represented in " +"various places throughout the cgit interface." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18712 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} boolean embedded?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18715 +msgid "Flag which, when set to @samp{#t}, will make cgit generate a HTML fragment suitable for embedding in other HTML pages." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18720 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} boolean enable-commit-graph?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18724 +msgid "" +"Flag which, when set to @samp{#t}, will make cgit print an ASCII-art commit history graph to the left of the commit messages in the " +"repository log page." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18729 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} boolean enable-filter-overrides?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18732 +msgid "Flag which, when set to @samp{#t}, allows all filter settings to be overridden in repository-specific cgitrc files." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18737 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} boolean enable-follow-links?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18740 +msgid "Flag which, when set to @samp{#t}, allows users to follow a file in the log view." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18745 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} boolean enable-http-clone?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18748 +msgid "If set to @samp{#t}, cgit will act as an dumb HTTP endpoint for Git clones." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18753 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} boolean enable-index-links?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18756 +msgid "" +"Flag which, when set to @samp{#t}, will make cgit generate extra links \"summary\", \"commit\", \"tree\" for each repo in the " +"repository index." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18761 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} boolean enable-index-owner?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18764 +msgid "Flag which, when set to @samp{#t}, will make cgit display the owner of each repo in the repository index." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18769 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} boolean enable-log-filecount?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18772 +msgid "" +"Flag which, when set to @samp{#t}, will make cgit print the number of modified files for each commit on the repository log page." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18777 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} boolean enable-log-linecount?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18780 +msgid "" +"Flag which, when set to @samp{#t}, will make cgit print the number of added and removed lines for each commit on the repository log " +"page." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18785 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} boolean enable-remote-branches?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18788 doc/guix.texi:19303 +msgid "Flag which, when set to @code{#t}, will make cgit display remote branches in the summary and refs views." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18793 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} boolean enable-subject-links?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18797 +msgid "" +"Flag which, when set to @code{1}, will make cgit use the subject of the parent commit as link text when generating links to parent " +"commits in commit view." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18802 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} boolean enable-html-serving?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18806 +msgid "" +"Flag which, when set to @samp{#t}, will make cgit use the subject of the parent commit as link text when generating links to parent " +"commits in commit view." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18811 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} boolean enable-tree-linenumbers?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18814 +msgid "Flag which, when set to @samp{#t}, will make cgit generate linenumber links for plaintext blobs printed in the tree view." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18819 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} boolean enable-git-config?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18822 +msgid "Flag which, when set to @samp{#f}, will allow cgit to use Git config to set any repo specific settings." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18827 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} string favicon" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18829 +msgid "URL used as link to a shortcut icon for cgit." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18831 +msgid "Defaults to @samp{\"/favicon.ico\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18834 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} string footer" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18838 +msgid "" +"The content of the file specified with this option will be included verbatim at the bottom of all pages (i.e. it replaces the " +"standard \"generated by...\" message)." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18843 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} string head-include" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18846 +msgid "The content of the file specified with this option will be included verbatim in the HTML HEAD section on all pages." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18851 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} string header" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18854 +msgid "The content of the file specified with this option will be included verbatim at the top of all pages." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18859 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} string include" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18862 +msgid "Name of a configfile to include before the rest of the current config- file is parsed." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18867 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} string index-header" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18870 +msgid "The content of the file specified with this option will be included verbatim above the repository index." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18875 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} string index-info" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18878 +msgid "The content of the file specified with this option will be included verbatim below the heading on the repository index page." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18883 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} boolean local-time?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18886 +msgid "Flag which, if set to @samp{#t}, makes cgit print commit and tag times in the servers timezone." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18891 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} string logo" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18894 +msgid "URL which specifies the source of an image which will be used as a logo on all cgit pages." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18896 +msgid "Defaults to @samp{\"/share/cgit/cgit.png\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18899 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} string logo-link" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18901 doc/guix.texi:19349 +msgid "URL loaded when clicking on the cgit logo image." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18906 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} string owner-filter" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18909 +msgid "Command which will be invoked to format the Owner column of the main page." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18914 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} integer max-atom-items" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18916 +msgid "Number of items to display in atom feeds view." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18918 doc/guix.texi:19144 doc/guix.texi:19152 doc/guix.texi:19160 +msgid "Defaults to @samp{10}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18921 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} integer max-commit-count" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18923 +msgid "Number of entries to list per page in \"log\" view." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18925 doc/guix.texi:18940 +msgid "Defaults to @samp{50}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18928 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} integer max-message-length" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18930 +msgid "Number of commit message characters to display in \"log\" view." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18932 doc/guix.texi:18948 +msgid "Defaults to @samp{80}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18935 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} integer max-repo-count" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18938 +msgid "Specifies the number of entries to list per page on the repository index page." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18943 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} integer max-repodesc-length" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18946 +msgid "Specifies the maximum number of repo description characters to display on the repository index page." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18951 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} integer max-blob-size" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18953 +msgid "Specifies the maximum size of a blob to display HTML for in KBytes." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18958 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} string max-stats" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18961 +msgid "Maximum statistics period. Valid values are @samp{week},@samp{month}, @samp{quarter} and @samp{year}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18966 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} mimetype-alist mimetype" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18968 +msgid "Mimetype for the specified filename extension." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18972 +msgid "" +"Defaults to @samp{((gif \"image/gif\") (html \"text/html\") (jpg \"image/jpeg\") (jpeg \"image/jpeg\") (pdf \"application/pdf\") " +"(png \"image/png\") (svg \"image/svg+xml\"))}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18975 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} string mimetype-file" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18977 +msgid "Specifies the file to use for automatic mimetype lookup." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18982 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} string module-link" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18985 +msgid "Text which will be used as the formatstring for a hyperlink when a submodule is printed in a directory listing." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18990 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} boolean nocache?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18992 +msgid "If set to the value @samp{#t} caching will be disabled." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18997 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} boolean noplainemail?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19000 +msgid "If set to @samp{#t} showing full author email addresses will be disabled." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19005 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} boolean noheader?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19008 +msgid "Flag which, when set to @samp{#t}, will make cgit omit the standard header on all pages." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19013 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} string readme" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19015 +msgid "Text which will be used as default value for @code{cgit-repo-readme}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19020 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} boolean remove-suffix?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19024 +msgid "" +"If set to @code{#t} and @code{repository-directory} is enabled, if any repositories are found with a suffix of @code{.git}, this " +"suffix will be removed for the URL and name." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19029 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} integer renamelimit" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19031 +msgid "Maximum number of files to consider when detecting renames." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19036 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} string repository-sort" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19038 +msgid "The way in which repositories in each section are sorted." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19043 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} robots-list robots" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19045 +msgid "Text used as content for the @code{robots} meta-tag." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19047 +msgid "Defaults to @samp{(\"noindex\" \"nofollow\")}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19050 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} string root-desc" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19052 +msgid "Text printed below the heading on the repository index page." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19054 +msgid "Defaults to @samp{\"a fast webinterface for the git dscm\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19057 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} string root-readme" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19060 +msgid "" +"The content of the file specified with this option will be included verbatim below thef \"about\" link on the repository index page." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19065 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} string root-title" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19067 +msgid "Text printed as heading on the repository index page." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19072 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} boolean scan-hidden-path" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19078 +msgid "" +"If set to @samp{#t} and repository-directory is enabled, repository-directory will recurse into directories whose name starts with a " +"period. Otherwise, repository-directory will stay away from such directories, considered as \"hidden\". Note that this does not " +"apply to the \".git\" directory in non-bare repos." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19083 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} list snapshots" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19086 +msgid "Text which specifies the default set of snapshot formats that cgit generates links for." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19091 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} repository-directory repository-directory" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19094 +msgid "Name of the directory to scan for repositories (represents @code{scan-path})." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19096 +msgid "Defaults to @samp{\"/srv/git\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19099 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} string section" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19102 doc/guix.texi:19418 +msgid "The name of the current repository section - all repositories defined after this option will inherit the current section name." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19107 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} string section-sort" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19110 +msgid "Flag which, when set to @samp{1}, will sort the sections on the repository listing by name." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19115 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} integer section-from-path" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19118 +msgid "" +"A number which, if defined prior to repository-directory, specifies how many path elements from each repo path to use as a default " +"section name." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19123 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} boolean side-by-side-diffs?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19126 +msgid "If set to @samp{#t} shows side-by-side diffs instead of unidiffs per default." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19131 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} string source-filter" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19134 +msgid "Specifies a command which will be invoked to format plaintext blobs in the tree view." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19139 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} integer summary-branches" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19142 +msgid "Specifies the number of branches to display in the repository \"summary\" view." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19147 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} integer summary-log" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19150 +msgid "Specifies the number of log entries to display in the repository \"summary\" view." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19155 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} integer summary-tags" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19158 +msgid "Specifies the number of tags to display in the repository \"summary\" view." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19163 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} string strict-export" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19166 +msgid "Filename which, if specified, needs to be present within the repository for cgit to allow access to that repository." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19171 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} string virtual-root" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19173 +msgid "URL which, if specified, will be used as root for all cgit links." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19175 +msgid "Defaults to @samp{\"/\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19178 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} repository-cgit-configuration-list repositories" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19180 +msgid "A list of @dfn{cgit-repo} records to use with config." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19184 +msgid "Available @code{repository-cgit-configuration} fields are:" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19185 +#, no-wrap +msgid "{@code{repository-cgit-configuration} parameter} repo-list snapshots" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19188 +msgid "A mask of snapshot formats for this repo that cgit generates links for, restricted by the global @code{snapshots} setting." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19193 +#, no-wrap +msgid "{@code{repository-cgit-configuration} parameter} repo-string source-filter" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19195 +msgid "Override the default @code{source-filter}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19200 +#, no-wrap +msgid "{@code{repository-cgit-configuration} parameter} repo-string url" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19202 +msgid "The relative URL used to access the repository." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19207 +#, no-wrap +msgid "{@code{repository-cgit-configuration} parameter} repo-string about-filter" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19209 +msgid "Override the default @code{about-filter}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19214 +#, no-wrap +msgid "{@code{repository-cgit-configuration} parameter} repo-string branch-sort" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19217 +msgid "" +"Flag which, when set to @samp{age}, enables date ordering in the branch ref list, and when set to @samp{name} enables ordering by " +"branch name." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19222 +#, no-wrap +msgid "{@code{repository-cgit-configuration} parameter} repo-list clone-url" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19224 +msgid "A list of URLs which can be used to clone repo." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19229 +#, no-wrap +msgid "{@code{repository-cgit-configuration} parameter} repo-string commit-filter" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19231 +msgid "Override the default @code{commit-filter}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19236 +#, no-wrap +msgid "{@code{repository-cgit-configuration} parameter} repo-string commit-sort" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19245 +#, no-wrap +msgid "{@code{repository-cgit-configuration} parameter} repo-string defbranch" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19250 +msgid "" +"The name of the default branch for this repository. If no such branch exists in the repository, the first branch name (when sorted) " +"is used as default instead. By default branch pointed to by HEAD, or \"master\" if there is no suitable HEAD." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19255 +#, no-wrap +msgid "{@code{repository-cgit-configuration} parameter} repo-string desc" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19257 +msgid "The value to show as repository description." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19262 +#, no-wrap +msgid "{@code{repository-cgit-configuration} parameter} repo-string homepage" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19264 +msgid "The value to show as repository homepage." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19269 +#, no-wrap +msgid "{@code{repository-cgit-configuration} parameter} repo-string email-filter" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19271 +msgid "Override the default @code{email-filter}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19276 +#, no-wrap +msgid "{@code{repository-cgit-configuration} parameter} repo-boolean enable-commit-graph?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19279 +msgid "A flag which can be used to disable the global setting @code{enable-commit-graph?}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19284 +#, no-wrap +msgid "{@code{repository-cgit-configuration} parameter} repo-boolean enable-log-filecount?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19287 +msgid "A flag which can be used to disable the global setting @code{enable-log-filecount?}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19292 +#, no-wrap +msgid "{@code{repository-cgit-configuration} parameter} repo-boolean enable-log-linecount?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19295 +msgid "A flag which can be used to disable the global setting @code{enable-log-linecount?}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19300 +#, no-wrap +msgid "{@code{repository-cgit-configuration} parameter} repo-boolean enable-remote-branches?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19308 +#, no-wrap +msgid "{@code{repository-cgit-configuration} parameter} repo-boolean enable-subject-links?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19311 +msgid "A flag which can be used to override the global setting @code{enable-subject-links?}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19316 +#, no-wrap +msgid "{@code{repository-cgit-configuration} parameter} repo-boolean enable-html-serving?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19319 +msgid "A flag which can be used to override the global setting @code{enable-html-serving?}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19324 +#, no-wrap +msgid "{@code{repository-cgit-configuration} parameter} repo-boolean hide?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19327 +msgid "Flag which, when set to @code{#t}, hides the repository from the repository index." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19332 +#, no-wrap +msgid "{@code{repository-cgit-configuration} parameter} repo-boolean ignore?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19334 +msgid "Flag which, when set to @samp{#t}, ignores the repository." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19339 +#, no-wrap +msgid "{@code{repository-cgit-configuration} parameter} repo-string logo" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19342 +msgid "URL which specifies the source of an image which will be used as a logo on this repo’s pages." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19347 +#, no-wrap +msgid "{@code{repository-cgit-configuration} parameter} repo-string logo-link" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19354 +#, no-wrap +msgid "{@code{repository-cgit-configuration} parameter} repo-string owner-filter" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19356 +msgid "Override the default @code{owner-filter}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19361 +#, no-wrap +msgid "{@code{repository-cgit-configuration} parameter} repo-string module-link" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19365 +msgid "" +"Text which will be used as the formatstring for a hyperlink when a submodule is printed in a directory listing. The arguments for " +"the formatstring are the path and SHA1 of the submodule commit." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19370 +#, no-wrap +msgid "{@code{repository-cgit-configuration} parameter} module-link-path module-link-path" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19374 +msgid "" +"Text which will be used as the formatstring for a hyperlink when a submodule with the specified subdirectory path is printed in a " +"directory listing." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19379 +#, no-wrap +msgid "{@code{repository-cgit-configuration} parameter} repo-string max-stats" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19381 +msgid "Override the default maximum statistics period." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19386 +#, no-wrap +msgid "{@code{repository-cgit-configuration} parameter} repo-string name" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19388 +msgid "The value to show as repository name." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19393 +#, no-wrap +msgid "{@code{repository-cgit-configuration} parameter} repo-string owner" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19395 +msgid "A value used to identify the owner of the repository." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19400 +#, no-wrap +msgid "{@code{repository-cgit-configuration} parameter} repo-string path" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19402 +msgid "An absolute path to the repository directory." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19407 +#, no-wrap +msgid "{@code{repository-cgit-configuration} parameter} repo-string readme" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19410 +msgid "A path (relative to repo) which specifies a file to include verbatim as the \"About\" page for this repo." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19415 +#, no-wrap +msgid "{@code{repository-cgit-configuration} parameter} repo-string section" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19423 +#, no-wrap +msgid "{@code{repository-cgit-configuration} parameter} repo-list extra-options" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19425 doc/guix.texi:19434 +msgid "Extra options will be appended to cgitrc file." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19432 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} list extra-options" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:19445 +msgid "" +"However, it could be that you just want to get a @code{cgitrc} up and running. In that case, you can pass an @code{opaque-cgit-" +"configuration} as a record to @code{cgit-service-type}. As its name indicates, an opaque configuration does not have easy " +"reflective capabilities." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:19447 +msgid "Available @code{opaque-cgit-configuration} fields are:" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19448 +#, no-wrap +msgid "{@code{opaque-cgit-configuration} parameter} package cgit" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19450 +msgid "The cgit package." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19452 +#, no-wrap +msgid "{@code{opaque-cgit-configuration} parameter} string string" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19454 +msgid "The contents of the @code{cgitrc}, as a string." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:19458 +msgid "For example, if your @code{cgitrc} is just the empty string, you could instantiate a cgit service like this:" +msgstr "" + +#. type: example +#: doc/guix.texi:19463 +#, no-wrap +msgid "" +"(service cgit-service-type\n" +" (opaque-cgit-configuration\n" +" (cgitrc \"\")))\n" +msgstr "" + +#. type: subsubheading +#: doc/guix.texi:19469 +#, no-wrap +msgid "The Battle for Wesnoth Service" +msgstr "" + +#. type: cindex +#: doc/guix.texi:19470 +#, no-wrap +msgid "wesnothd" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:19474 +msgid "" +"@uref{https://wesnoth.org, The Battle for Wesnoth} is a fantasy, turn based tactical strategy game, with several single player " +"campaigns, and multiplayer games (both networked and local)." +msgstr "" + +#. type: defvar +#: doc/guix.texi:19475 +#, no-wrap +msgid "{Scheme Variable} wesnothd-service-type" +msgstr "" + +#. type: defvar +#: doc/guix.texi:19479 +msgid "" +"Service type for the wesnothd service. Its value must be a @code{wesnothd-configuration} object. To run wesnothd in the default " +"configuration, instantiate it as:" +msgstr "" + +#. type: example +#: doc/guix.texi:19482 +#, no-wrap +msgid "(service wesnothd-service-type)\n" +msgstr "" + +#. type: deftp +#: doc/guix.texi:19485 +#, no-wrap +msgid "{Data Type} wesnothd-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:19487 +msgid "Data type representing the configuration of @command{wesnothd}." +msgstr "" + +#. type: item +#: doc/guix.texi:19489 +#, no-wrap +msgid "@code{package} (default: @code{wesnoth-server})" +msgstr "" + +#. type: table +#: doc/guix.texi:19491 +msgid "The wesnoth server package to use." +msgstr "" + +#. type: item +#: doc/guix.texi:19492 +#, no-wrap +msgid "@code{port} (default: @code{15000})" +msgstr "" + +#. type: table +#: doc/guix.texi:19494 +msgid "The port to bind the server to." +msgstr "" + +#. type: cindex +#: doc/guix.texi:19500 +#, no-wrap +msgid "sysctl" +msgstr "" + +#. type: subsubheading +#: doc/guix.texi:19501 +#, no-wrap +msgid "System Control Service" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:19505 +msgid "The @code{(gnu services sysctl)} provides a service to configure kernel parameters at boot." +msgstr "" + +#. type: defvr +#: doc/guix.texi:19506 +#, no-wrap +msgid "{Scheme Variable} sysctl-service-type" +msgstr "" + +#. type: defvr +#: doc/guix.texi:19510 +msgid "" +"The service type for @command{sysctl}, which modifies kernel parameters under @file{/proc/sys/}. To enable IPv4 forwarding, it can " +"be instantiated as:" +msgstr "" + +#. type: example +#: doc/guix.texi:19515 +#, no-wrap +msgid "" +"(service sysctl-service-type\n" +" (sysctl-configuration\n" +" (settings '((\"net.ipv4.ip_forward\" . \"1\")))))\n" +msgstr "" + +#. type: deftp +#: doc/guix.texi:19518 +#, no-wrap +msgid "{Data Type} sysctl-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:19520 +msgid "The data type representing the configuration of @command{sysctl}." +msgstr "" + +#. type: item +#: doc/guix.texi:19522 +#, no-wrap +msgid "@code{sysctl} (default: @code{(file-append procps \"/sbin/sysctl\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:19524 +msgid "The @command{sysctl} executable to use." +msgstr "" + +#. type: item +#: doc/guix.texi:19525 +#, no-wrap +msgid "@code{settings} (default: @code{'()})" +msgstr "" + +#. type: table +#: doc/guix.texi:19527 +msgid "An association list specifies kernel parameters and their values." +msgstr "" + +#. type: cindex +#: doc/guix.texi:19530 +#, no-wrap +msgid "lirc" +msgstr "" + +#. type: subsubheading +#: doc/guix.texi:19531 +#, no-wrap +msgid "Lirc Service" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:19534 +msgid "The @code{(gnu services lirc)} module provides the following service." +msgstr "" + +#. type: deffn +#: doc/guix.texi:19535 +#, no-wrap +msgid "{Scheme Procedure} lirc-service [#:lirc lirc] @" +msgstr "" + +#. type: deffn +#: doc/guix.texi:19540 +msgid "" +"[#:device #f] [#:driver #f] [#:config-file #f] @ [#:extra-options '()] Return a service that runs @url{http://www.lirc.org,LIRC}, a " +"daemon that decodes infrared signals from remote controls." +msgstr "" + +#. type: deffn +#: doc/guix.texi:19544 +msgid "" +"Optionally, @var{device}, @var{driver} and @var{config-file} (configuration file name) may be specified. See @command{lircd} manual " +"for details." +msgstr "" + +#. type: deffn +#: doc/guix.texi:19547 +msgid "Finally, @var{extra-options} is a list of additional command-line options passed to @command{lircd}." +msgstr "" + +#. type: cindex +#: doc/guix.texi:19549 +#, no-wrap +msgid "spice" +msgstr "" + +#. type: subsubheading +#: doc/guix.texi:19550 +#, no-wrap +msgid "Spice Service" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:19553 +msgid "The @code{(gnu services spice)} module provides the following service." +msgstr "" + +#. type: deffn +#: doc/guix.texi:19554 +#, no-wrap +msgid "{Scheme Procedure} spice-vdagent-service [#:spice-vdagent]" +msgstr "" + +#. type: deffn +#: doc/guix.texi:19558 +msgid "" +"Returns a service that runs @url{http://www.spice-space.org,VDAGENT}, a daemon that enables sharing the clipboard with a vm and " +"setting the guest display resolution when the graphical console window resizes." +msgstr "" + +#. type: subsubsection +#: doc/guix.texi:19560 +#, no-wrap +msgid "Dictionary Services" +msgstr "" + +#. type: cindex +#: doc/guix.texi:19561 +#, no-wrap +msgid "dictionary" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:19563 +msgid "The @code{(gnu services dict)} module provides the following service:" +msgstr "" + +#. type: deffn +#: doc/guix.texi:19564 +#, no-wrap +msgid "{Scheme Procedure} dicod-service [#:config (dicod-configuration)]" +msgstr "" + +#. type: deffn +#: doc/guix.texi:19567 +msgid "" +"Return a service that runs the @command{dicod} daemon, an implementation of DICT server (@pxref{Dicod,,, dico, GNU Dico Manual})." +msgstr "" + +#. type: deffn +#: doc/guix.texi:19571 +msgid "" +"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." +msgstr "" + +#. type: deffn +#: doc/guix.texi:19575 +msgid "" +"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})." +msgstr "" + +#. type: deftp +#: doc/guix.texi:19577 +#, no-wrap +msgid "{Data Type} dicod-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:19579 +msgid "Data type representing the configuration of dicod." +msgstr "" + +#. type: item +#: doc/guix.texi:19581 +#, no-wrap +msgid "@code{dico} (default: @var{dico})" +msgstr "" + +#. type: table +#: doc/guix.texi:19583 +msgid "Package object of the GNU Dico dictionary server." +msgstr "" + +#. type: item +#: doc/guix.texi:19584 +#, no-wrap +msgid "@code{interfaces} (default: @var{'(\"localhost\")})" +msgstr "" + +#. type: table +#: doc/guix.texi:19588 +msgid "" +"This is the list of IP addresses and ports and possibly socket file names to listen to (@pxref{Server Settings, @code{listen} " +"directive,, dico, GNU Dico Manual})." +msgstr "" + +#. type: item +#: doc/guix.texi:19589 +#, no-wrap +msgid "@code{handlers} (default: @var{'()})" +msgstr "" + +#. type: table +#: doc/guix.texi:19591 +msgid "List of @code{<dicod-handler>} objects denoting handlers (module instances)." +msgstr "" + +#. type: item +#: doc/guix.texi:19592 +#, no-wrap +msgid "@code{databases} (default: @var{(list %dicod-database:gcide)})" +msgstr "" + +#. type: table +#: doc/guix.texi:19594 +msgid "List of @code{<dicod-database>} objects denoting dictionaries to be served." +msgstr "" + +#. type: deftp +#: doc/guix.texi:19597 +#, no-wrap +msgid "{Data Type} dicod-handler" +msgstr "" + +#. type: deftp +#: doc/guix.texi:19599 +msgid "Data type representing a dictionary handler (module instance)." +msgstr "" + +#. type: table +#: doc/guix.texi:19603 +msgid "Name of the handler (module instance)." +msgstr "" + +#. type: item +#: doc/guix.texi:19604 +#, no-wrap +msgid "@code{module} (default: @var{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:19608 +msgid "" +"Name of the dicod module of the handler (instance). If it is @code{#f}, the module has the same name as the handler. " +"(@pxref{Modules,,, dico, GNU Dico Manual})." +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:19609 doc/guix.texi:19629 +#, no-wrap +msgid "options" +msgstr "" + +#. type: table +#: doc/guix.texi:19611 +msgid "List of strings or gexps representing the arguments for the module handler" +msgstr "" + +#. type: deftp +#: doc/guix.texi:19614 +#, no-wrap +msgid "{Data Type} dicod-database" +msgstr "" + +#. type: deftp +#: doc/guix.texi:19616 +msgid "Data type representing a dictionary database." +msgstr "" + +#. type: table +#: doc/guix.texi:19620 +msgid "Name of the database, will be used in DICT commands." +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:19621 +#, no-wrap +msgid "handler" +msgstr "" + +#. type: table +#: doc/guix.texi:19624 +msgid "Name of the dicod handler (module instance) used by this database (@pxref{Handlers,,, dico, GNU Dico Manual})." +msgstr "" + +#. type: item +#: doc/guix.texi:19625 +#, no-wrap +msgid "@code{complex?} (default: @var{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:19628 +msgid "" +"Whether the database configuration complex. The complex configuration will need a corresponding @code{<dicod-handler>} object, " +"otherwise not." +msgstr "" + +#. type: table +#: doc/guix.texi:19632 +msgid "List of strings or gexps representing the arguments for the database (@pxref{Databases,,, dico, GNU Dico Manual})." +msgstr "" + +#. type: defvr +#: doc/guix.texi:19635 +#, no-wrap +msgid "{Scheme Variable} %dicod-database:gcide" +msgstr "" + +#. type: defvr +#: doc/guix.texi:19638 +msgid "" +"A @code{<dicod-database>} object serving the GNU Collaborative International Dictionary of English using the @code{gcide} package." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:19641 +msgid "The following is an example @code{dicod-service} configuration." +msgstr "" + +#. type: example +#: doc/guix.texi:19656 +#, no-wrap +msgid "" +"(dicod-service #:config\n" +" (dicod-configuration\n" +" (handlers (list (dicod-handler\n" +" (name \"wordnet\")\n" +" (module \"dictorg\")\n" +" (options\n" +" (list #~(string-append \"dbdir=\" #$wordnet))))))\n" +" (databases (list (dicod-database\n" +" (name \"wordnet\")\n" +" (complex? #t)\n" +" (handler \"wordnet\")\n" +" (options '(\"database=wn\")))\n" +" %dicod-database:gcide))))\n" +msgstr "" + +#. type: cindex +#: doc/guix.texi:19661 +#, no-wrap +msgid "setuid programs" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:19671 +msgid "" +"Some programs need to run with ``root'' privileges, even when they are launched by unprivileged users. A notorious example is the " +"@command{passwd} program, which users can run to change their password, and which needs to access the @file{/etc/passwd} and @file{/" +"etc/shadow} files---something normally restricted to root, for obvious security reasons. To address that, these executables are " +"@dfn{setuid-root}, meaning that they always run with root privileges (@pxref{How Change Persona,,, libc, The GNU C Library Reference " +"Manual}, for more info about the setuid mechanism.)" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:19678 +msgid "" +"The store itself @emph{cannot} contain setuid programs: that would be a security issue since any user on the system can write " +"derivations that populate the store (@pxref{The Store}). Thus, a different mechanism is used: instead of changing the setuid bit " +"directly on files that are in the store, we let the system administrator @emph{declare} which programs should be setuid root." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:19684 +msgid "" +"The @code{setuid-programs} field of an @code{operating-system} declaration contains a list of G-expressions denoting the names of " +"programs to be setuid-root (@pxref{Using the Configuration System}). For instance, the @command{passwd} program, which is part of " +"the Shadow package, can be designated by this G-expression (@pxref{G-Expressions}):" +msgstr "" + +#. type: example +#: doc/guix.texi:19687 +#, no-wrap +msgid "#~(string-append #$shadow \"/bin/passwd\")\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:19691 +msgid "A default set of setuid programs is defined by the @code{%setuid-programs} variable of the @code{(gnu system)} module." +msgstr "" + +#. type: defvr +#: doc/guix.texi:19692 +#, no-wrap +msgid "{Scheme Variable} %setuid-programs" +msgstr "" + +#. type: defvr +#: doc/guix.texi:19694 +msgid "A list of G-expressions denoting common programs that are setuid-root." +msgstr "" + +#. type: defvr +#: doc/guix.texi:19697 +msgid "The list includes commands such as @command{passwd}, @command{ping}, @command{su}, and @command{sudo}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:19703 +msgid "" +"Under the hood, the actual setuid programs are created in the @file{/run/setuid-programs} directory at system activation time. The " +"files in this directory refer to the ``real'' binaries, which are in the store." +msgstr "" + +#. type: cindex +#: doc/guix.texi:19707 +#, no-wrap +msgid "HTTPS, certificates" +msgstr "" + +#. type: cindex +#: doc/guix.texi:19708 +#, no-wrap +msgid "X.509 certificates" +msgstr "" + +#. type: cindex +#: doc/guix.texi:19709 +#, no-wrap +msgid "TLS" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:19716 +msgid "" +"Web servers available over HTTPS (that is, HTTP over the transport-layer security mechanism, TLS) send client programs an @dfn{X.509 " +"certificate} that the client can then use to @emph{authenticate} the server. To do that, clients verify that the server's " +"certificate is signed by a so-called @dfn{certificate authority} (CA). But to verify the CA's signature, clients must have first " +"acquired the CA's certificate." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:19720 +msgid "" +"Web browsers such as GNU@tie{}IceCat include their own set of CA certificates, such that they are able to verify CA signatures out-" +"of-the-box." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:19724 +msgid "" +"However, most other programs that can talk HTTPS---@command{wget}, @command{git}, @command{w3m}, etc.---need to be told where CA " +"certificates can be found." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:19731 +msgid "" +"In GuixSD, this is done by adding a package that provides certificates to the @code{packages} field of the @code{operating-system} " +"declaration (@pxref{operating-system Reference}). GuixSD includes one such package, @code{nss-certs}, which is a set of CA " +"certificates provided as part of Mozilla's Network Security Services." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:19736 +msgid "" +"Note that it is @emph{not} part of @var{%base-packages}, so you need to explicitly add it. The @file{/etc/ssl/certs} directory, " +"which is where most applications and libraries look for certificates by default, points to the certificates installed globally." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:19746 +msgid "" +"Unprivileged users, including users of Guix on a foreign distro, can also install their own certificate package in their profile. A " +"number of environment variables need to be defined so that applications and libraries know where to find them. Namely, the OpenSSL " +"library honors the @code{SSL_CERT_DIR} and @code{SSL_CERT_FILE} variables. Some applications add their own environment variables; " +"for instance, the Git version control system honors the certificate bundle pointed to by the @code{GIT_SSL_CAINFO} environment " +"variable. Thus, you would typically run something like:" +msgstr "" + +#. type: example +#: doc/guix.texi:19752 +#, no-wrap +msgid "" +"$ guix package -i nss-certs\n" +"$ export SSL_CERT_DIR=\"$HOME/.guix-profile/etc/ssl/certs\"\n" +"$ export SSL_CERT_FILE=\"$HOME/.guix-profile/etc/ssl/certs/ca-certificates.crt\"\n" +"$ export GIT_SSL_CAINFO=\"$SSL_CERT_FILE\"\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:19757 +msgid "" +"As another example, R requires the @code{CURL_CA_BUNDLE} environment variable to point to a certificate bundle, so you would have to " +"run something like this:" +msgstr "" + +#. type: example +#: doc/guix.texi:19761 +#, no-wrap +msgid "" +"$ guix package -i nss-certs\n" +"$ export CURL_CA_BUNDLE=\"$HOME/.guix-profile/etc/ssl/certs/ca-certificates.crt\"\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:19765 +msgid "For other applications you may want to look up the required environment variable in the relevant documentation." +msgstr "" + +#. type: cindex +#: doc/guix.texi:19770 +#, no-wrap +msgid "name service switch" +msgstr "" + +#. type: cindex +#: doc/guix.texi:19771 +#, no-wrap +msgid "NSS" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:19780 +msgid "" +"The @code{(gnu system nss)} module provides bindings to the configuration file of the libc @dfn{name service switch} or @dfn{NSS} " +"(@pxref{NSS Configuration File,,, libc, The GNU C Library Reference Manual}). In a nutshell, the NSS is a mechanism that allows " +"libc to be extended with new ``name'' lookup methods for system databases, which includes host names, service names, user accounts, " +"and more (@pxref{Name Service Switch, System Databases and Name Service Switch,, libc, The GNU C Library Reference Manual})." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:19787 +msgid "" +"The NSS configuration specifies, for each system database, which lookup method is to be used, and how the various methods are " +"chained together---for instance, under which circumstances NSS should try the next method in the list. The NSS configuration is " +"given in the @code{name-service-switch} field of @code{operating-system} declarations (@pxref{operating-system Reference, @code{name-" +"service-switch}})." +msgstr "" + +#. type: cindex +#: doc/guix.texi:19788 +#, no-wrap +msgid "nss-mdns" +msgstr "" + +#. type: cindex +#: doc/guix.texi:19789 +#, no-wrap +msgid ".local, host name lookup" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:19794 +msgid "" +"As an example, the declaration below configures the NSS to use the @uref{http://0pointer.de/lennart/projects/nss-mdns/, @code{nss-" +"mdns} back-end}, which supports host name lookups over multicast DNS (mDNS) for host names ending in @code{.local}:" +msgstr "" + +#. type: example +#: doc/guix.texi:19798 +#, no-wrap +msgid "" +"(name-service-switch\n" +" (hosts (list %files ;first, check /etc/hosts\n" +"\n" +msgstr "" + +#. type: example +#: doc/guix.texi:19803 +#, no-wrap +msgid "" +" ;; If the above did not succeed, try\n" +" ;; with 'mdns_minimal'.\n" +" (name-service\n" +" (name \"mdns_minimal\")\n" +"\n" +msgstr "" + +#. type: example +#: doc/guix.texi:19809 +#, no-wrap +msgid "" +" ;; 'mdns_minimal' is authoritative for\n" +" ;; '.local'. When it returns \"not found\",\n" +" ;; no need to try the next methods.\n" +" (reaction (lookup-specification\n" +" (not-found => return))))\n" +"\n" +msgstr "" + +#. type: example +#: doc/guix.texi:19813 +#, no-wrap +msgid "" +" ;; Then fall back to DNS.\n" +" (name-service\n" +" (name \"dns\"))\n" +"\n" +msgstr "" + +#. type: example +#: doc/guix.texi:19817 +#, no-wrap +msgid "" +" ;; Finally, try with the \"full\" 'mdns'.\n" +" (name-service\n" +" (name \"mdns\")))))\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:19822 +msgid "" +"Do not worry: the @code{%mdns-host-lookup-nss} variable (see below) contains this configuration, so you will not have to type it if " +"all you want is to have @code{.local} host lookup working." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:19830 +msgid "" +"Note that, in this case, in addition to setting the @code{name-service-switch} of the @code{operating-system} declaration, you also " +"need to use @code{avahi-service} (@pxref{Networking Services, @code{avahi-service}}), or @var{%desktop-services}, which includes it " +"(@pxref{Desktop Services}). Doing this makes @code{nss-mdns} accessible to the name service cache daemon (@pxref{Base Services, " +"@code{nscd-service}})." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:19833 +msgid "For convenience, the following variables provide typical NSS configurations." +msgstr "" + +#. type: defvr +#: doc/guix.texi:19834 +#, no-wrap +msgid "{Scheme Variable} %default-nss" +msgstr "" + +#. type: defvr +#: doc/guix.texi:19837 +msgid "This is the default name service switch configuration, a @code{name-service-switch} object." +msgstr "" + +#. type: defvr +#: doc/guix.texi:19839 +#, no-wrap +msgid "{Scheme Variable} %mdns-host-lookup-nss" +msgstr "" + +#. type: defvr +#: doc/guix.texi:19842 +msgid "" +"This is the name service switch configuration with support for host name lookup over multicast DNS (mDNS) for host names ending in " +"@code{.local}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:19852 +msgid "" +"The reference for name service switch configuration is given below. It is a direct mapping of the configuration file format of the " +"C library , so please refer to the C library manual for more information (@pxref{NSS Configuration File,,, libc, The GNU C Library " +"Reference Manual}). Compared to the configuration file format of libc NSS, it has the advantage not only of adding this warm " +"parenthetic feel that we like, but also static checks: you will know about syntax errors and typos as soon as you run @command{guix " +"system}." +msgstr "" + +#. type: deftp +#: doc/guix.texi:19853 +#, no-wrap +msgid "{Data Type} name-service-switch" +msgstr "" + +#. type: deftp +#: doc/guix.texi:19858 +msgid "" +"This is the data type representation the configuration of libc's name service switch (NSS). Each field below represents one of the " +"supported system databases." +msgstr "" + +#. type: item +#: doc/guix.texi:19860 +#, no-wrap +msgid "aliases" +msgstr "" + +#. type: itemx +#: doc/guix.texi:19861 +#, no-wrap +msgid "ethers" +msgstr "" + +#. type: itemx +#: doc/guix.texi:19863 +#, no-wrap +msgid "gshadow" +msgstr "" + +#. type: itemx +#: doc/guix.texi:19864 +#, no-wrap +msgid "hosts" +msgstr "" + +#. type: itemx +#: doc/guix.texi:19865 +#, no-wrap +msgid "initgroups" +msgstr "" + +#. type: itemx +#: doc/guix.texi:19866 +#, no-wrap +msgid "netgroup" +msgstr "" + +#. type: itemx +#: doc/guix.texi:19867 +#, no-wrap +msgid "networks" +msgstr "" + +#. type: itemx +#: doc/guix.texi:19869 +#, no-wrap +msgid "public-key" +msgstr "" + +#. type: itemx +#: doc/guix.texi:19870 +#, no-wrap +msgid "rpc" +msgstr "" + +#. type: itemx +#: doc/guix.texi:19872 +#, no-wrap +msgid "shadow" +msgstr "" + +#. type: table +#: doc/guix.texi:19875 +msgid "The system databases handled by the NSS. Each of these fields must be a list of @code{<name-service>} objects (see below)." +msgstr "" + +#. type: deftp +#: doc/guix.texi:19878 +#, no-wrap +msgid "{Data Type} name-service" +msgstr "" + +#. type: deftp +#: doc/guix.texi:19882 +msgid "This is the data type representing an actual name service and the associated lookup action." +msgstr "" + +#. type: table +#: doc/guix.texi:19887 +msgid "A string denoting the name service (@pxref{Services in the NSS configuration,,, libc, The GNU C Library Reference Manual})." +msgstr "" + +#. type: table +#: doc/guix.texi:19892 +msgid "" +"Note that name services listed here must be visible to nscd. This is achieved by passing the @code{#:name-services} argument to " +"@code{nscd-service} the list of packages providing the needed name services (@pxref{Base Services, @code{nscd-service}})." +msgstr "" + +#. type: item +#: doc/guix.texi:19893 +#, no-wrap +msgid "reaction" +msgstr "" + +#. type: table +#: doc/guix.texi:19897 +msgid "" +"An action specified using the @code{lookup-specification} macro (@pxref{Actions in the NSS configuration,,, libc, The GNU C Library " +"Reference Manual}). For example:" +msgstr "" + +#. type: example +#: doc/guix.texi:19901 +#, no-wrap +msgid "" +"(lookup-specification (unavailable => continue)\n" +" (success => return))\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:19915 +msgid "" +"For bootstrapping purposes, the Linux-Libre kernel is passed an @dfn{initial RAM disk}, or @dfn{initrd}. An initrd contains a " +"temporary root file system as well as an initialization script. The latter is responsible for mounting the real root file system, " +"and for loading any kernel modules that may be needed to achieve that." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:19924 +msgid "" +"The @code{initrd-modules} field of an @code{operating-system} declaration allows you to specify Linux-libre kernel modules that must " +"be available in the initrd. In particular, this is where you would list modules needed to actually drive the hard disk where your " +"root partition is---although the default value of @code{initrd-modules} should cover most use cases. For example, assuming you need " +"the @code{megaraid_sas} module in addition to the default modules to be able to access your root file system, you would write:" +msgstr "" + +#. type: example +#: doc/guix.texi:19929 +#, no-wrap +msgid "" +"(operating-system\n" +" ;; @dots{}\n" +" (initrd-modules (cons \"megaraid_sas\" %base-initrd-modules)))\n" +msgstr "" + +#. type: defvr +#: doc/guix.texi:19931 +#, no-wrap +msgid "{Scheme Variable} %base-initrd-modules" +msgstr "" + +#. type: defvr +#: doc/guix.texi:19933 +msgid "This is the list of kernel modules included in the initrd by default." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:19941 +msgid "" +"Furthermore, if you need lower-level customization, the @code{initrd} field of an @code{operating-system} declaration allows you to " +"specify which initrd you would like to use. The @code{(gnu system linux-initrd)} module provides three ways to build an initrd: the " +"high-level @code{base-initrd} procedure and the low-level @code{raw-initrd} and @code{expression->initrd} procedures." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:19946 +msgid "" +"The @code{base-initrd} procedure is intended to cover most common uses. For example, if you want to add a bunch of kernel modules " +"to be loaded at boot time, you can define the @code{initrd} field of the operating system declaration like this:" +msgstr "" + +#. type: example +#: doc/guix.texi:19954 +#, no-wrap +msgid "" +"(initrd (lambda (file-systems . rest)\n" +" ;; Create a standard initrd but set up networking\n" +" ;; with the parameters QEMU expects by default.\n" +" (apply base-initrd file-systems\n" +" #:qemu-networking? #t\n" +" rest)))\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:19959 +msgid "" +"The @code{base-initrd} procedure also handles common use cases that involves using the system as a QEMU guest, or as a ``live'' " +"system with volatile root file system." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:19966 +msgid "" +"The @code{base-initrd} procedure is built from @code{raw-initrd} procedure. Unlike @code{base-initrd}, @code{raw-initrd} doesn't do " +"anything high-level, such as trying to guess which kernel modules and packages should be included to the initrd. An example use of " +"@code{raw-initrd} is when a user has a custom Linux kernel configuration and default kernel modules included by @code{base-initrd} " +"are not available." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:19971 +msgid "" +"The initial RAM disk produced by @code{base-initrd} or @code{raw-initrd} honors several options passed on the Linux kernel command " +"line (that is, arguments passed @i{via} the @code{linux} command of GRUB, or the @code{-append} option of QEMU), notably:" +msgstr "" + +#. type: item +#: doc/guix.texi:19973 +#, no-wrap +msgid "--load=@var{boot}" +msgstr "" + +#. type: table +#: doc/guix.texi:19976 +msgid "Tell the initial RAM disk to load @var{boot}, a file containing a Scheme program, once it has mounted the root file system." +msgstr "" + +#. type: table +#: doc/guix.texi:19980 +msgid "" +"GuixSD uses this option to yield control to a boot program that runs the service activation programs and then spawns the GNU@tie{}" +"Shepherd, the initialization system." +msgstr "" + +#. type: item +#: doc/guix.texi:19981 +#, no-wrap +msgid "--root=@var{root}" +msgstr "" + +#. type: table +#: doc/guix.texi:19985 +msgid "" +"Mount @var{root} as the root file system. @var{root} can be a device name like @code{/dev/sda1}, a file system label, or a file " +"system UUID." +msgstr "" + +#. type: table +#: doc/guix.texi:19989 +msgid "Have @file{/run/booted-system} and @file{/run/current-system} point to @var{system}." +msgstr "" + +#. type: item +#: doc/guix.texi:19990 +#, no-wrap +msgid "modprobe.blacklist=@var{modules}@dots{}" +msgstr "" + +#. type: cindex +#: doc/guix.texi:19991 +#, no-wrap +msgid "module, black-listing" +msgstr "" + +#. type: cindex +#: doc/guix.texi:19992 +#, no-wrap +msgid "black list, of kernel modules" +msgstr "" + +#. type: table +#: doc/guix.texi:19997 +msgid "" +"Instruct the initial RAM disk as well as the @command{modprobe} command (from the kmod package) to refuse to load @var{modules}. " +"@var{modules} must be a comma-separated list of module names---e.g., @code{usbkbd,9pnet}." +msgstr "" + +#. type: item +#: doc/guix.texi:19998 +#, no-wrap +msgid "--repl" +msgstr "" + +#. type: table +#: doc/guix.texi:20004 +msgid "" +"Start a read-eval-print loop (REPL) from the initial RAM disk before it tries to load kernel modules and to mount the root file " +"system. Our marketing team calls it @dfn{boot-to-Guile}. The Schemer in you will love it. @xref{Using Guile Interactively,,, " +"guile, GNU Guile Reference Manual}, for more information on Guile's REPL." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:20010 +msgid "" +"Now that you know all the features that initial RAM disks produced by @code{base-initrd} and @code{raw-initrd} provide, here is how " +"to use it and customize it further." +msgstr "" + +#. type: deffn +#: doc/guix.texi:20013 +#, no-wrap +msgid "{Monadic Procedure} raw-initrd @var{file-systems} @" +msgstr "" + +#. type: deffn +#: doc/guix.texi:20025 +msgid "" +"[#:linux-modules '()] [#:mapped-devices '()] @ [#:helper-packages '()] [#:qemu-networking? #f] [#:volatile-root? #f] Return a " +"monadic derivation that builds a raw initrd. @var{file-systems} is a list of file systems to be mounted by the initrd, possibly in " +"addition to the root file system specified on the kernel command line via @code{--root}. @var{linux-modules} is a list of kernel " +"modules to be loaded at boot time. @var{mapped-devices} is a list of device mappings to realize before @var{file-systems} are " +"mounted (@pxref{Mapped Devices}). @var{helper-packages} is a list of packages to be copied in the initrd. It may include " +"@code{e2fsck/static} or other packages needed by the initrd to check the root file system." +msgstr "" + +#. type: deffn +#: doc/guix.texi:20029 +msgid "" +"When @var{qemu-networking?} is true, set up networking with the standard QEMU parameters. When @var{virtio?} is true, load " +"additional modules so that the initrd can be used as a QEMU guest with para-virtualized I/O drivers." +msgstr "" + +#. type: deffn +#: doc/guix.texi:20032 +msgid "When @var{volatile-root?} is true, the root file system is writable but any changes to it are lost." +msgstr "" + +#. type: deffn +#: doc/guix.texi:20034 +#, no-wrap +msgid "{Monadic Procedure} base-initrd @var{file-systems} @" +msgstr "" + +#. type: deffn +#: doc/guix.texi:20042 +msgid "" +"[#:mapped-devices '()] [#:qemu-networking? #f] [#:volatile-root? #f]@ [#:linux-modules '()] Return a monadic derivation that builds " +"a generic initrd, with kernel modules taken from @var{linux}. @var{file-systems} is a list of file-systems to be mounted by the " +"initrd, possibly in addition to the root file system specified on the kernel command line via @code{--root}. @var{mapped-devices} " +"is a list of device mappings to realize before @var{file-systems} are mounted." +msgstr "" + +#. type: deffn +#: doc/guix.texi:20044 +msgid "@var{qemu-networking?} and @var{volatile-root?} behaves as in @code{raw-initrd}." +msgstr "" + +#. type: deffn +#: doc/guix.texi:20049 +msgid "" +"The initrd is automatically populated with all the kernel modules necessary for @var{file-systems} and for the given options. " +"Additional kernel modules can be listed in @var{linux-modules}. They will be added to the initrd, and loaded at boot time in the " +"order in which they appear." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:20056 +msgid "" +"Needless to say, the initrds we produce and use embed a statically-linked Guile, and the initialization program is a Guile program. " +"That gives a lot of flexibility. The @code{expression->initrd} procedure builds such an initrd, given the program to run in that " +"initrd." +msgstr "" + +#. type: deffn +#: doc/guix.texi:20057 +#, no-wrap +msgid "{Monadic Procedure} expression->initrd @var{exp} @" +msgstr "" + +#. type: deffn +#: doc/guix.texi:20063 +msgid "" +"[#:guile %guile-static-stripped] [#:name \"guile-initrd\"] Return a derivation that builds a Linux initrd (a gzipped cpio archive) " +"containing @var{guile} and that evaluates @var{exp}, a G-expression, upon booting. All the derivations referenced by @var{exp} are " +"automatically copied to the initrd." +msgstr "" + +#. type: cindex +#: doc/guix.texi:20069 +#, no-wrap +msgid "boot loader" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:20076 +msgid "" +"The operating system supports multiple bootloaders. The bootloader is configured using @code{bootloader-configuration} " +"declaration. All the fields of this structure are bootloader agnostic except for one field, @code{bootloader} that indicates the " +"bootloader to be configured and installed." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:20081 +msgid "" +"Some of the bootloaders do not honor every field of @code{bootloader-configuration}. For instance, the extlinux bootloader does not " +"support themes and thus ignores the @code{theme} field." +msgstr "" + +#. type: deftp +#: doc/guix.texi:20082 +#, no-wrap +msgid "{Data Type} bootloader-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:20084 +msgid "The type of a bootloader configuration declaration." +msgstr "" + +#. type: cindex +#: doc/guix.texi:20088 +#, no-wrap +msgid "EFI, bootloader" +msgstr "" + +#. type: cindex +#: doc/guix.texi:20089 +#, no-wrap +msgid "UEFI, bootloader" +msgstr "" + +#. type: cindex +#: doc/guix.texi:20090 +#, no-wrap +msgid "BIOS, bootloader" +msgstr "" + +#. type: table +#: doc/guix.texi:20096 +msgid "" +"The bootloader to use, as a @code{bootloader} object. For now @code{grub-bootloader}, @code{grub-efi-bootloader}, @code{extlinux-" +"bootloader} and @code{u-boot-bootloader} are supported. @code{grub-efi-bootloader} allows to boot on modern systems using the " +"@dfn{Unified Extensible Firmware Interface} (UEFI)." +msgstr "" + +#. type: table +#: doc/guix.texi:20099 +msgid "Available bootloaders are described in @code{(gnu bootloader @dots{})} modules." +msgstr "" + +#. type: table +#: doc/guix.texi:20109 +msgid "" +"This is a string denoting the target onto which to install the bootloader. The exact interpretation depends on the bootloader in " +"question; for @code{grub-bootloader}, for example, it should be a device name understood by the bootloader @command{installer} " +"command, such as @code{/dev/sda} or @code{(hd0)} (for GRUB, @pxref{Invoking grub-install,,, grub, GNU GRUB Manual}). For @code{grub-" +"efi-bootloader}, it should be the path to a mounted EFI file system." +msgstr "" + +#. type: item +#: doc/guix.texi:20110 +#, no-wrap +msgid "@code{menu-entries} (default: @code{()})" +msgstr "" + +#. type: table +#: doc/guix.texi:20114 +msgid "" +"A possibly empty list of @code{menu-entry} objects (see below), denoting entries to appear in the bootloader menu, in addition to " +"the current system entry and the entry pointing to previous system generations." +msgstr "" + +#. type: item +#: doc/guix.texi:20115 +#, no-wrap +msgid "@code{default-entry} (default: @code{0})" +msgstr "" + +#. type: table +#: doc/guix.texi:20118 +msgid "The index of the default boot menu entry. Index 0 is for the entry of the current system." +msgstr "" + +#. type: item +#: doc/guix.texi:20119 +#, no-wrap +msgid "@code{timeout} (default: @code{5})" +msgstr "" + +#. type: table +#: doc/guix.texi:20122 +msgid "The number of seconds to wait for keyboard input before booting. Set to 0 to boot immediately, and to -1 to wait indefinitely." +msgstr "" + +#. type: item +#: doc/guix.texi:20123 +#, no-wrap +msgid "@code{theme} (default: @var{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:20127 +msgid "" +"The bootloader theme object describing the theme to use. If no theme is provided, some bootloaders might use a default theme, " +"that's true for GRUB." +msgstr "" + +#. type: item +#: doc/guix.texi:20128 +#, no-wrap +msgid "@code{terminal-outputs} (default: @code{'gfxterm})" +msgstr "" + +#. type: table +#: doc/guix.texi:20135 +msgid "" +"The output terminals used for the bootloader boot menu, as a list of symbols. GRUB accepts the values: @code{console}, " +"@code{serial}, @code{serial_@{0-3@}}, @code{gfxterm}, @code{vga_text}, @code{mda_text}, @code{morse}, and @code{pkmodem}. This " +"field corresponds to the GRUB variable GRUB_TERMINAL_OUTPUT (@pxref{Simple configuration,,, grub,GNU GRUB manual})." +msgstr "" + +#. type: item +#: doc/guix.texi:20136 +#, no-wrap +msgid "@code{terminal-inputs} (default: @code{'()})" +msgstr "" + +#. type: table +#: doc/guix.texi:20144 +msgid "" +"The input terminals used for the bootloader boot menu, as a list of symbols. For GRUB, the default is the native platform terminal " +"as determined at run-time. GRUB accepts the values: @code{console}, @code{serial}, @code{serial_@{0-3@}}, @code{at_keyboard}, and " +"@code{usb_keyboard}. This field corresponds to the GRUB variable GRUB_TERMINAL_INPUT (@pxref{Simple configuration,,, grub,GNU GRUB " +"manual})." +msgstr "" + +#. type: item +#: doc/guix.texi:20145 +#, no-wrap +msgid "@code{serial-unit} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:20149 +msgid "" +"The serial unit used by the bootloader, as an integer from 0 to 3. For GRUB, it is chosen at run-time; currently GRUB chooses 0, " +"which corresponds to COM1 (@pxref{Serial terminal,,, grub,GNU GRUB manual})." +msgstr "" + +#. type: item +#: doc/guix.texi:20150 +#, no-wrap +msgid "@code{serial-speed} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:20154 +msgid "" +"The speed of the serial interface, as an integer. For GRUB, the default value is chosen at run-time; currently GRUB chooses " +"9600@tie{}bps (@pxref{Serial terminal,,, grub,GNU GRUB manual})." +msgstr "" + +#. type: cindex +#: doc/guix.texi:20158 +#, no-wrap +msgid "dual boot" +msgstr "" + +#. type: cindex +#: doc/guix.texi:20159 +#, no-wrap +msgid "boot menu" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:20165 +msgid "" +"Should you want to list additional boot menu entries @i{via} the @code{menu-entries} field above, you will need to create them with " +"the @code{menu-entry} form. For example, imagine you want to be able to boot another distro (hard to imagine!), you can define a " +"menu entry along these lines:" +msgstr "" + +#. type: example +#: doc/guix.texi:20172 +#, no-wrap +msgid "" +"(menu-entry\n" +" (label \"The Other Distro\")\n" +" (linux \"/boot/old/vmlinux-2.6.32\")\n" +" (linux-arguments '(\"root=/dev/sda2\"))\n" +" (initrd \"/boot/old/initrd\"))\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:20175 +msgid "Details below." +msgstr "" + +#. type: deftp +#: doc/guix.texi:20176 +#, no-wrap +msgid "{Data Type} menu-entry" +msgstr "" + +#. type: deftp +#: doc/guix.texi:20178 +msgid "The type of an entry in the bootloader menu." +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:20181 +#, no-wrap +msgid "label" +msgstr "" + +#. type: table +#: doc/guix.texi:20183 +msgid "The label to show in the menu---e.g., @code{\"GNU\"}." +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:20184 +#, no-wrap +msgid "linux" +msgstr "" + +#. type: table +#: doc/guix.texi:20186 +msgid "The Linux kernel image to boot, for example:" +msgstr "" + +#. type: example +#: doc/guix.texi:20189 +#, no-wrap +msgid "(file-append linux-libre \"/bzImage\")\n" +msgstr "" + +#. type: table +#: doc/guix.texi:20194 +msgid "" +"For GRUB, it is also possible to specify a device explicitly in the file path using GRUB's device naming convention (@pxref{Naming " +"convention,,, grub, GNU GRUB manual}), for example:" +msgstr "" + +#. type: example +#: doc/guix.texi:20197 +#, no-wrap +msgid "\"(hd0,msdos1)/boot/vmlinuz\"\n" +msgstr "" + +#. type: table +#: doc/guix.texi:20201 +msgid "If the device is specified explicitly as above, then the @code{device} field is ignored entirely." +msgstr "" + +#. type: item +#: doc/guix.texi:20202 +#, no-wrap +msgid "@code{linux-arguments} (default: @code{()})" +msgstr "" + +#. type: table +#: doc/guix.texi:20205 +msgid "The list of extra Linux kernel command-line arguments---e.g., @code{(\"console=ttyS0\")}." +msgstr "" + +#. type: table +#: doc/guix.texi:20209 +msgid "A G-Expression or string denoting the file name of the initial RAM disk to use (@pxref{G-Expressions})." +msgstr "" + +#. type: item +#: doc/guix.texi:20209 +#, no-wrap +msgid "@code{device} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:20212 +msgid "" +"The device where the kernel and initrd are to be found---i.e., for GRUB, @dfn{root} for this menu entry (@pxref{root,,, grub, GNU " +"GRUB manual})." +msgstr "" + +#. type: table +#: doc/guix.texi:20218 +msgid "" +"This may be a file system label (a string), a file system UUID (a bytevector, @pxref{File Systems}), or @code{#f}, in which case the " +"bootloader will search the device containing the file specified by the @code{linux} field (@pxref{search,,, grub, GNU GRUB " +"manual}). It must @emph{not} be an OS device name such as @file{/dev/sda1}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:20225 +msgid "Fow now only GRUB has theme support. GRUB themes are created using the @code{grub-theme} form, which is not documented yet." +msgstr "" + +#. type: defvr +#: doc/guix.texi:20230 +msgid "" +"This is the default GRUB theme used by the operating system if no @code{theme} field is specified in @code{bootloader-configuration} " +"record." +msgstr "" + +#. type: defvr +#: doc/guix.texi:20233 +msgid "It comes with a fancy background image displaying the GNU and Guix logos." +msgstr "" + +#. type: subsection +#: doc/guix.texi:20237 +#, no-wrap +msgid "Invoking @code{guix system}" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:20242 +msgid "" +"Once you have written an operating system declaration as seen in the previous section, it can be @dfn{instantiated} using the " +"@command{guix system} command. The synopsis is:" +msgstr "" + +#. type: example +#: doc/guix.texi:20245 +#, no-wrap +msgid "guix system @var{options}@dots{} @var{action} @var{file}\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:20251 +msgid "" +"@var{file} must be the name of a file containing an @code{operating-system} declaration. @var{action} specifies how the operating " +"system is instantiated. Currently the following values are supported:" +msgstr "" + +#. type: item +#: doc/guix.texi:20253 +#, no-wrap +msgid "search" +msgstr "" + +#. type: table +#: doc/guix.texi:20256 +msgid "Display available service type definitions that match the given regular expressions, sorted by relevance:" +msgstr "" + +#. type: example +#: doc/guix.texi:20268 +#, no-wrap +msgid "" +"$ guix system search console font\n" +"name: console-fonts\n" +"location: gnu/services/base.scm:729:2\n" +"extends: shepherd-root\n" +"description: Install the given fonts on the specified ttys (fonts are\n" +"+ per virtual console on GNU/Linux). The value of this service is a list\n" +"+ of tty/font pairs like:\n" +"+ \n" +"+ '((\"tty1\" . \"LatGrkCyr-8x16\"))\n" +"relevance: 20\n" +"\n" +msgstr "" + +#. type: example +#: doc/guix.texi:20274 +#, no-wrap +msgid "" +"name: mingetty\n" +"location: gnu/services/base.scm:1048:2\n" +"extends: shepherd-root\n" +"description: Provide console login using the `mingetty' program.\n" +"relevance: 2\n" +"\n" +msgstr "" + +#. type: example +#: doc/guix.texi:20281 +#, no-wrap +msgid "" +"name: login\n" +"location: gnu/services/base.scm:775:2\n" +"extends: pam\n" +"description: Provide a console log-in service as specified by its\n" +"+ configuration value, a `login-configuration' object.\n" +"relevance: 2\n" +"\n" +msgstr "" + +#. type: example +#: doc/guix.texi:20283 +#, no-wrap +msgid "@dots{}\n" +msgstr "" + +#. type: table +#: doc/guix.texi:20288 +msgid "" +"As for @command{guix package --search}, the result is written in @code{recutils} format, which makes it easy to filter the output " +"(@pxref{Top, GNU recutils databases,, recutils, GNU recutils manual})." +msgstr "" + +#. type: item +#: doc/guix.texi:20289 +#, no-wrap +msgid "reconfigure" +msgstr "" + +#. type: table +#: doc/guix.texi:20294 +msgid "" +"Build the operating system described in @var{file}, activate it, and switch to it@footnote{This action (and the related actions " +"@code{switch-generation} and @code{roll-back}) are usable only on systems already running GuixSD.}." +msgstr "" + +#. type: table +#: doc/guix.texi:20301 +msgid "" +"This effects all the configuration specified in @var{file}: user accounts, system services, global package list, setuid programs, " +"etc. The command starts system services specified in @var{file} that are not currently running; if a service is currently running, " +"it does not attempt to upgrade it since this would not be possible without stopping it first." +msgstr "" + +#. type: table +#: doc/guix.texi:20307 +msgid "" +"This command creates a new generation whose number is one greater than the current generation (as reported by @command{guix system " +"list-generations}). If that generation already exists, it will be overwritten. This behavior mirrors that of @command{guix " +"package} (@pxref{Invoking guix package})." +msgstr "" + +#. type: table +#: doc/guix.texi:20312 +msgid "" +"It also adds a bootloader menu entry for the new OS configuration, ---unless @option{--no-bootloader} is passed. For GRUB, it moves " +"entries for older configurations to a submenu, allowing you to choose an older system generation at boot time should you need it." +msgstr "" + +#. type: quotation +#: doc/guix.texi:20320 +msgid "" +"It is highly recommended to run @command{guix pull} once before you run @command{guix system reconfigure} for the first time " +"(@pxref{Invoking guix pull}). Failing to do that you would see an older version of Guix once @command{reconfigure} has completed." +msgstr "" + +#. type: item +#: doc/guix.texi:20322 +#, no-wrap +msgid "switch-generation" +msgstr "" + +#. type: table +#: doc/guix.texi:20331 +msgid "" +"Switch to an existing system generation. This action atomically switches the system profile to the specified system generation. It " +"also rearranges the system's existing bootloader menu entries. It makes the menu entry for the specified system generation the " +"default, and it moves the entries for the other generatiors to a submenu, if supported by the bootloader being used. The next time " +"the system boots, it will use the specified system generation." +msgstr "" + +#. type: table +#: doc/guix.texi:20335 +msgid "" +"The bootloader itself is not being reinstalled when using this command. Thus, the installed bootloader is used with an updated " +"configuration file." +msgstr "" + +#. type: table +#: doc/guix.texi:20339 +msgid "" +"The target generation can be specified explicitly by its generation number. For example, the following invocation would switch to " +"system generation 7:" +msgstr "" + +#. type: example +#: doc/guix.texi:20342 +#, no-wrap +msgid "guix system switch-generation 7\n" +msgstr "" + +#. type: table +#: doc/guix.texi:20350 +msgid "" +"The target generation can also be specified relative to the current generation with the form @code{+N} or @code{-N}, where @code{+3} " +"means ``3 generations ahead of the current generation,'' and @code{-1} means ``1 generation prior to the current generation.'' When " +"specifying a negative value such as @code{-1}, you must precede it with @code{--} to prevent it from being parsed as an option. For " +"example:" +msgstr "" + +#. type: example +#: doc/guix.texi:20353 +#, no-wrap +msgid "guix system switch-generation -- -1\n" +msgstr "" + +#. type: table +#: doc/guix.texi:20361 +msgid "" +"Currently, the effect of invoking this action is @emph{only} to switch the system profile to an existing generation and rearrange " +"the bootloader menu entries. To actually start using the target system generation, you must reboot after running this action. In " +"the future, it will be updated to do the same things as @command{reconfigure}, like activating and deactivating services." +msgstr "" + +#. type: table +#: doc/guix.texi:20363 +msgid "This action will fail if the specified generation does not exist." +msgstr "" + +#. type: item +#: doc/guix.texi:20364 +#, no-wrap +msgid "roll-back" +msgstr "" + +#. type: table +#: doc/guix.texi:20370 +msgid "" +"Switch to the preceding system generation. The next time the system boots, it will use the preceding system generation. This is " +"the inverse of @command{reconfigure}, and it is exactly the same as invoking @command{switch-generation} with an argument of " +"@code{-1}." +msgstr "" + +#. type: table +#: doc/guix.texi:20374 +msgid "" +"Currently, as with @command{switch-generation}, you must reboot after running this action to actually start using the preceding " +"system generation." +msgstr "" + +#. type: table +#: doc/guix.texi:20379 +msgid "" +"Build the derivation of the operating system, which includes all the configuration files and programs needed to boot and run the " +"system. This action does not actually install anything." +msgstr "" + +#. type: item +#: doc/guix.texi:20380 +#, no-wrap +msgid "init" +msgstr "" + +#. type: table +#: doc/guix.texi:20384 +msgid "" +"Populate the given directory with all the files necessary to run the operating system specified in @var{file}. This is useful for " +"first-time installations of GuixSD. For instance:" +msgstr "" + +#. type: example +#: doc/guix.texi:20387 +#, no-wrap +msgid "guix system init my-os-config.scm /mnt\n" +msgstr "" + +#. type: table +#: doc/guix.texi:20394 +msgid "" +"copies to @file{/mnt} all the store items required by the configuration specified in @file{my-os-config.scm}. This includes " +"configuration files, packages, and so on. It also creates other essential files needed for the system to operate correctly---e.g., " +"the @file{/etc}, @file{/var}, and @file{/run} directories, and the @file{/bin/sh} file." +msgstr "" + +#. type: table +#: doc/guix.texi:20398 +msgid "" +"This command also installs bootloader on the target specified in @file{my-os-config}, unless the @option{--no-bootloader} option was " +"passed." +msgstr "" + +#. type: item +#: doc/guix.texi:20399 +#, no-wrap +msgid "vm" +msgstr "" + +#. type: cindex +#: doc/guix.texi:20400 doc/guix.texi:20664 +#, no-wrap +msgid "virtual machine" +msgstr "" + +#. type: cindex +#: doc/guix.texi:20401 +#, no-wrap +msgid "VM" +msgstr "" + +#. type: anchor{#1} +#: doc/guix.texi:20408 +msgid "guix system vm" +msgstr "" + +#. type: table +#: doc/guix.texi:20408 +msgid "" +"Build a virtual machine that contains the operating system declared in @var{file}, and return a script to run that virtual machine " +"(VM). Arguments given to the script are passed to QEMU as in the example below, which enables networking and requests 1@tie{}GiB of " +"RAM for the emulated machine:" +msgstr "" + +#. type: example +#: doc/guix.texi:20411 +#, no-wrap +msgid "$ /gnu/store/@dots{}-run-vm.sh -m 1024 -net user\n" +msgstr "" + +#. type: table +#: doc/guix.texi:20414 +msgid "The VM shares its store with the host system." +msgstr "" + +#. type: table +#: doc/guix.texi:20419 +msgid "" +"Additional file systems can be shared between the host and the VM using the @code{--share} and @code{--expose} command-line options: " +"the former specifies a directory to be shared with write access, while the latter provides read-only access to the shared directory." +msgstr "" + +#. type: table +#: doc/guix.texi:20423 +msgid "" +"The example below creates a VM in which the user's home directory is accessible read-only, and where the @file{/exchange} directory " +"is a read-write mapping of @file{$HOME/tmp} on the host:" +msgstr "" + +#. type: example +#: doc/guix.texi:20427 +#, no-wrap +msgid "" +"guix system vm my-config.scm \\\n" +" --expose=$HOME --share=$HOME/tmp=/exchange\n" +msgstr "" + +#. type: table +#: doc/guix.texi:20432 +msgid "" +"On GNU/Linux, the default is to boot directly to the kernel; this has the advantage of requiring only a very tiny root disk image " +"since the store of the host can then be mounted." +msgstr "" + +#. type: table +#: doc/guix.texi:20438 +msgid "" +"The @code{--full-boot} option forces a complete boot sequence, starting with the bootloader. This requires more disk space since a " +"root image containing at least the kernel, initrd, and bootloader data files must be created. The @code{--image-size} option can be " +"used to specify the size of the image." +msgstr "" + +#. type: cindex +#: doc/guix.texi:20439 +#, no-wrap +msgid "System images, creation in various formats" +msgstr "" + +#. type: cindex +#: doc/guix.texi:20440 +#, no-wrap +msgid "Creating system images in various formats" +msgstr "" + +#. type: item +#: doc/guix.texi:20441 +#, no-wrap +msgid "vm-image" +msgstr "" + +#. type: itemx +#: doc/guix.texi:20442 +#, no-wrap +msgid "disk-image" +msgstr "" + +#. type: itemx +#: doc/guix.texi:20443 +#, no-wrap +msgid "docker-image" +msgstr "" + +#. type: table +#: doc/guix.texi:20451 +msgid "" +"Return a virtual machine, disk image, or Docker image of the operating system declared in @var{file} that stands alone. By default, " +"@command{guix system} estimates the size of the image needed to store the system, but you can use the @option{--image-size} option " +"to specify a value. Docker images are built to contain exactly what they need, so the @option{--image-size} option is ignored in " +"the case of @code{docker-image}." +msgstr "" + +#. type: table +#: doc/guix.texi:20454 +msgid "You can specify the root file system type by using the @option{--file-system-type} option. It defaults to @code{ext4}." +msgstr "" + +#. type: table +#: doc/guix.texi:20458 +msgid "" +"When using @code{vm-image}, the returned image is in qcow2 format, which the QEMU emulator can efficiently use. @xref{Running GuixSD " +"in a VM}, for more information on how to run the image in a virtual machine." +msgstr "" + +#. type: table +#: doc/guix.texi:20463 +msgid "" +"When using @code{disk-image}, a raw disk image is produced; it can be copied as is to a USB stick, for instance. Assuming @code{/" +"dev/sdc} is the device corresponding to a USB stick, one can copy the image to it using the following command:" +msgstr "" + +#. type: example +#: doc/guix.texi:20466 +#, no-wrap +msgid "# dd if=$(guix system disk-image my-os.scm) of=/dev/sdc\n" +msgstr "" + +#. type: table +#: doc/guix.texi:20473 +msgid "" +"When using @code{docker-image}, a Docker image is produced. Guix builds the image from scratch, not from a pre-existing Docker base " +"image. As a result, it contains @emph{exactly} what you define in the operating system configuration file. You can then load the " +"image and launch a Docker container using commands like the following:" +msgstr "" + +#. type: example +#: doc/guix.texi:20479 +#, no-wrap +msgid "" +"image_id=\"$(docker load < guixsd-docker-image.tar.gz)\"\n" +"docker run -e GUIX_NEW_SYSTEM=/var/guix/profiles/system \\\\\n" +" --entrypoint /var/guix/profiles/system/profile/bin/guile \\\\\n" +" $image_id /var/guix/profiles/system/boot\n" +msgstr "" + +#. type: table +#: doc/guix.texi:20489 +msgid "" +"This command starts a new Docker container from the specified image. It will boot the GuixSD system in the usual manner, which " +"means it will start any services you have defined in the operating system configuration. Depending on what you run in the Docker " +"container, it may be necessary to give the container additional permissions. For example, if you intend to build software using " +"Guix inside of the Docker container, you may need to pass the @option{--privileged} option to @code{docker run}." +msgstr "" + +#. type: table +#: doc/guix.texi:20497 +msgid "" +"Return a script to run the operating system declared in @var{file} within a container. Containers are a set of lightweight " +"isolation mechanisms provided by the kernel Linux-libre. Containers are substantially less resource-demanding than full virtual " +"machines since the kernel, shared objects, and other resources can be shared with the host system; this also means they provide " +"thinner isolation." +msgstr "" + +#. type: table +#: doc/guix.texi:20501 +msgid "" +"Currently, the script must be run as root in order to support more than a single user and group. The container shares its store " +"with the host system." +msgstr "" + +#. type: table +#: doc/guix.texi:20505 +msgid "" +"As with the @code{vm} action (@pxref{guix system vm}), additional file systems to be shared between the host and container can be " +"specified using the @option{--share} and @option{--expose} options:" +msgstr "" + +#. type: example +#: doc/guix.texi:20509 +#, no-wrap +msgid "" +"guix system container my-config.scm \\\n" +" --expose=$HOME --share=$HOME/tmp=/exchange\n" +msgstr "" + +#. type: quotation +#: doc/guix.texi:20513 +msgid "This option requires Linux-libre 3.19 or newer." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:20520 +msgid "" +"@var{options} can contain any of the common build options (@pxref{Common Build Options}). In addition, @var{options} can contain " +"one of the following:" +msgstr "" + +#. type: table +#: doc/guix.texi:20529 +msgid "" +"Consider the operating-system @var{expr} evaluates to. This is an alternative to specifying a file which evaluates to an operating " +"system. This is used to generate the GuixSD installer @pxref{Building the Installation Image})." +msgstr "" + +#. type: table +#: doc/guix.texi:20534 +msgid "" +"Attempt to build for @var{system} instead of the host system type. This works as per @command{guix build} (@pxref{Invoking guix " +"build})." +msgstr "" + +#. type: item +#: doc/guix.texi:20535 +#, no-wrap +msgid "--derivation" +msgstr "" + +#. type: table +#: doc/guix.texi:20539 +msgid "Return the derivation file name of the given operating system without building anything." +msgstr "" + +#. type: item +#: doc/guix.texi:20540 +#, no-wrap +msgid "--file-system-type=@var{type}" +msgstr "" + +#. type: table +#: doc/guix.texi:20544 +msgid "For the @code{disk-image} action, create a file system of the given @var{type} on the image." +msgstr "" + +#. type: table +#: doc/guix.texi:20546 +msgid "When this option is omitted, @command{guix system} uses @code{ext4}." +msgstr "" + +#. type: cindex +#: doc/guix.texi:20547 +#, no-wrap +msgid "ISO-9660 format" +msgstr "" + +#. type: cindex +#: doc/guix.texi:20548 +#, no-wrap +msgid "CD image format" +msgstr "" + +#. type: cindex +#: doc/guix.texi:20549 +#, no-wrap +msgid "DVD image format" +msgstr "" + +#. type: table +#: doc/guix.texi:20552 +msgid "@code{--file-system-type=iso9660} produces an ISO-9660 image, suitable for burning on CDs and DVDs." +msgstr "" + +#. type: item +#: doc/guix.texi:20553 +#, no-wrap +msgid "--image-size=@var{size}" +msgstr "" + +#. type: table +#: doc/guix.texi:20558 +msgid "" +"For the @code{vm-image} and @code{disk-image} actions, create an image of the given @var{size}. @var{size} may be a number of " +"bytes, or it may include a unit as a suffix (@pxref{Block size, size specifications,, coreutils, GNU Coreutils})." +msgstr "" + +#. type: table +#: doc/guix.texi:20562 +msgid "" +"When this option is omitted, @command{guix system} computes an estimate of the image size as a function of the size of the system " +"declared in @var{file}." +msgstr "" + +#. type: item +#: doc/guix.texi:20568 +#, no-wrap +msgid "--skip-checks" +msgstr "--skip-checks" + +#. type: table +#: doc/guix.texi:20570 +msgid "Skip pre-installation safety checks." +msgstr "" + +#. type: table +#: doc/guix.texi:20577 +msgid "" +"By default, @command{guix system init} and @command{guix system reconfigure} perform safety checks: they make sure the file systems " +"that appear in the @code{operating-system} declaration actually exist (@pxref{File Systems}), and that any Linux kernel modules that " +"may be needed at boot time are listed in @code{initrd-modules} (@pxref{Initial RAM Disk}). Passing this option skips these tests " +"altogether." +msgstr "" + +#. type: item +#: doc/guix.texi:20578 +#, no-wrap +msgid "--on-error=@var{strategy}" +msgstr "" + +#. type: table +#: doc/guix.texi:20581 +msgid "Apply @var{strategy} when an error occurs when reading @var{file}. @var{strategy} may be one of the following:" +msgstr "" + +#. type: item +#: doc/guix.texi:20583 +#, no-wrap +msgid "nothing-special" +msgstr "" + +#. type: table +#: doc/guix.texi:20585 +msgid "Report the error concisely and exit. This is the default strategy." +msgstr "" + +#. type: item +#: doc/guix.texi:20586 +#, no-wrap +msgid "backtrace" +msgstr "" + +#. type: table +#: doc/guix.texi:20588 +msgid "Likewise, but also display a backtrace." +msgstr "" + +#. type: item +#: doc/guix.texi:20589 +#, no-wrap +msgid "debug" +msgstr "" + +#. type: table +#: doc/guix.texi:20595 +msgid "" +"Report the error and enter Guile's debugger. From there, you can run commands such as @code{,bt} to get a backtrace, @code{,locals} " +"to display local variable values, and more generally inspect the state of the program. @xref{Debug Commands,,, guile, GNU Guile " +"Reference Manual}, for a list of available debugging commands." +msgstr "" + +#. type: quotation +#: doc/guix.texi:20605 +msgid "" +"All the actions above, except @code{build} and @code{init}, can use KVM support in the Linux-libre kernel. Specifically, if the " +"machine has hardware virtualization support, the corresponding KVM kernel module should be loaded, and the @file{/dev/kvm} device " +"node must exist and be readable and writable by the user and by the build users of the daemon (@pxref{Build Environment Setup})." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:20611 +msgid "" +"Once you have built, configured, re-configured, and re-re-configured your GuixSD installation, you may find it useful to list the " +"operating system generations available on disk---and that you can choose from the bootloader boot menu:" +msgstr "" + +#. type: item +#: doc/guix.texi:20614 +#, no-wrap +msgid "list-generations" +msgstr "" + +#. type: table +#: doc/guix.texi:20619 +msgid "" +"List a summary of each generation of the operating system available on disk, in a human-readable way. This is similar to the " +"@option{--list-generations} option of @command{guix package} (@pxref{Invoking guix package})." +msgstr "" + +#. type: table +#: doc/guix.texi:20624 +msgid "" +"Optionally, one can specify a pattern, with the same syntax that is used in @command{guix package --list-generations}, to restrict " +"the list of generations displayed. For instance, the following command displays generations that are up to 10 days old:" +msgstr "" + +#. type: example +#: doc/guix.texi:20627 +#, no-wrap +msgid "$ guix system list-generations 10d\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:20634 +msgid "" +"The @command{guix system} command has even more to offer! The following sub-commands allow you to visualize how your system services " +"relate to each other:" +msgstr "" + +#. type: anchor{#1} +#: doc/guix.texi:20636 +msgid "system-extension-graph" +msgstr "" + +#. type: item +#: doc/guix.texi:20638 +#, no-wrap +msgid "extension-graph" +msgstr "" + +#. type: table +#: doc/guix.texi:20643 +msgid "" +"Emit in Dot/Graphviz format to standard output the @dfn{service extension graph} of the operating system defined in @var{file} " +"(@pxref{Service Composition}, for more information on service extensions.)" +msgstr "" + +#. type: table +#: doc/guix.texi:20645 +msgid "The command:" +msgstr "" + +#. type: example +#: doc/guix.texi:20648 +#, no-wrap +msgid "$ guix system extension-graph @var{file} | dot -Tpdf > services.pdf\n" +msgstr "" + +#. type: table +#: doc/guix.texi:20651 +msgid "produces a PDF file showing the extension relations among services." +msgstr "" + +#. type: anchor{#1} +#: doc/guix.texi:20653 +msgid "system-shepherd-graph" +msgstr "" + +#. type: item +#: doc/guix.texi:20653 +#, no-wrap +msgid "shepherd-graph" +msgstr "" + +#. type: table +#: doc/guix.texi:20658 +msgid "" +"Emit in Dot/Graphviz format to standard output the @dfn{dependency graph} of shepherd services of the operating system defined in " +"@var{file}. @xref{Shepherd Services}, for more information and for an example graph." +msgstr "" + +#. type: subsection +#: doc/guix.texi:20662 +#, no-wrap +msgid "Running GuixSD in a Virtual Machine" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:20672 +msgid "" +"To run GuixSD in a virtual machine (VM), one can either use the pre-built GuixSD VM image distributed at @indicateurl{ftp://alpha." +"gnu.org/guix/guixsd-vm-image-@value{VERSION}.@var{system}.tar.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 efficiently use." +msgstr "" + +#. type: cindex +#: doc/guix.texi:20673 +#, no-wrap +msgid "QEMU" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:20680 +msgid "" +"If you built your own image, you must copy it out of the store (@pxref{The Store}) and give yourself permission to write to the copy " +"before you can use it. When invoking QEMU, you must choose a system emulator that is suitable for your hardware platform. Here is " +"a minimal QEMU invocation that will boot the result of @command{guix system vm-image} on x86_64 hardware:" +msgstr "" + +#. type: example +#: doc/guix.texi:20685 +#, no-wrap +msgid "" +"$ qemu-system-x86_64 \\\n" +" -net user -net nic,model=virtio \\\n" +" -enable-kvm -m 256 /tmp/qemu-image\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:20688 +msgid "Here is what each of these options means:" +msgstr "" + +#. type: item +#: doc/guix.texi:20690 +#, no-wrap +msgid "qemu-system-x86_64" +msgstr "" + +#. type: table +#: doc/guix.texi:20693 +msgid "This specifies the hardware platform to emulate. This should match the host." +msgstr "" + +#. type: item +#: doc/guix.texi:20694 +#, no-wrap +msgid "-net user" +msgstr "" + +#. type: table +#: doc/guix.texi:20698 +msgid "" +"Enable the unprivileged user-mode network stack. The guest OS can access the host but not vice versa. This is the simplest way to " +"get the guest OS online." +msgstr "" + +#. type: item +#: doc/guix.texi:20699 +#, no-wrap +msgid "-net nic,model=virtio" +msgstr "" + +#. type: table +#: doc/guix.texi:20704 +msgid "" +"You must create a network interface of a given model. If you do not create a NIC, the boot will fail. Assuming your hardware " +"platform is x86_64, you can get a list of available NIC models by running @command{qemu-system-x86_64 -net nic,model=help}." +msgstr "" + +#. type: item +#: doc/guix.texi:20705 +#, no-wrap +msgid "-enable-kvm" +msgstr "" + +#. type: table +#: doc/guix.texi:20709 +msgid "" +"If your system has hardware virtualization extensions, enabling the virtual machine support (KVM) of the Linux kernel will make " +"things run faster." +msgstr "" + +#. type: item +#: doc/guix.texi:20710 +#, no-wrap +msgid "-m 256" +msgstr "" + +#. type: table +#: doc/guix.texi:20713 +msgid "RAM available to the guest OS, in mebibytes. Defaults to 128@tie{}MiB, which may be insufficient for some operations." +msgstr "" + +#. type: item +#: doc/guix.texi:20714 +#, no-wrap +msgid "/tmp/qemu-image" +msgstr "" + +#. type: table +#: doc/guix.texi:20716 +msgid "The file name of the qcow2 image." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:20726 +msgid "" +"The default @command{run-vm.sh} script that is returned by an invocation of @command{guix system vm} does not add a @command{-net " +"user} flag by default. To get network access from within the vm add the @code{(dhcp-client-service)} to your system definition and " +"start the VM using @command{`guix system vm config.scm` -net user}. An important caveat of using @command{-net user} for networking " +"is that @command{ping} will not work, because it uses the ICMP protocol. You'll have to use a different command to check for " +"network connectivity, for example @command{guix download}." +msgstr "" + +#. type: subsubsection +#: doc/guix.texi:20727 +#, no-wrap +msgid "Connecting Through SSH" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:20736 +msgid "" +"To enable SSH inside a VM you need to add a SSH server like @code{(dropbear-service)} or @code{(lsh-service)} to your VM. The " +"@code{(lsh-service}) doesn't currently boot unsupervised. It requires you to type some characters to initialize the randomness " +"generator. In addition you need to forward the SSH port, 22 by default, to the host. You can do this with" +msgstr "" + +#. type: example +#: doc/guix.texi:20739 +#, no-wrap +msgid "`guix system vm config.scm` -net user,hostfwd=tcp::10022-:22\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:20742 +msgid "To connect to the VM you can run" +msgstr "" + +#. type: example +#: doc/guix.texi:20745 +#, no-wrap +msgid "ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 10022\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:20752 +msgid "" +"The @command{-p} tells @command{ssh} the port you want to connect to. @command{-o UserKnownHostsFile=/dev/null} prevents " +"@command{ssh} from complaining every time you modify your @command{config.scm} file and the @command{-o StrictHostKeyChecking=no} " +"prevents you from having to allow a connection to an unknown host every time you connect." +msgstr "" + +#. type: subsubsection +#: doc/guix.texi:20753 +#, no-wrap +msgid "Using @command{virt-viewer} with Spice" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:20759 +msgid "" +"As an alternative to the default @command{qemu} graphical client you can use the @command{remote-viewer} from the @command{virt-" +"viewer} package. To connect pass the @command{-spice port=5930,disable-ticketing} flag to @command{qemu}. See previous section for " +"further information on how to do this." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:20762 +msgid "" +"Spice also allows you to do some nice stuff like share your clipboard with your VM. To enable that you'll also have to pass the " +"following flags to @command{qemu}:" +msgstr "" + +#. type: example +#: doc/guix.texi:20768 +#, no-wrap +msgid "" +"-device virtio-serial-pci,id=virtio-serial0,max_ports=16,bus=pci.0,addr=0x5\n" +"-chardev spicevmc,name=vdagent,id=vdagent\n" +"-device virtserialport,nr=1,bus=virtio-serial0.0,chardev=vdagent,\n" +"name=com.redhat.spice.0\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:20771 +msgid "You'll also need to add the @pxref{Miscellaneous Services, Spice service}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:20778 +msgid "" +"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 the first place? And what is a service anyway?" +msgstr "" + +#. type: cindex +#: doc/guix.texi:20790 +#, no-wrap +msgid "daemons" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:20803 +msgid "" +"Here we define a @dfn{service} as, broadly, something that extends the functionality of the operating system. Often a service is a " +"process---a @dfn{daemon}---started when the system boots: a secure shell server, a Web server, the Guix build daemon, etc. " +"Sometimes a service is a daemon whose execution can be triggered by another daemon---e.g., an FTP server started by @command{inetd} " +"or a D-Bus service activated by @command{dbus-daemon}. Occasionally, a service does not map to a daemon. For instance, the " +"``account'' service collects user accounts and makes sure they exist when the system runs; the ``udev'' service collects device " +"management rules and makes them available to the eudev daemon; the @file{/etc} service populates the @file{/etc} directory of the " +"system." +msgstr "" + +#. type: cindex +#: doc/guix.texi:20804 +#, no-wrap +msgid "service extensions" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:20816 +msgid "" +"GuixSD services are connected by @dfn{extensions}. For instance, the secure shell service @emph{extends} the Shepherd---the GuixSD " +"initialization system, running as PID@tie{}1---by giving it the command lines to start and stop the secure shell daemon " +"(@pxref{Networking Services, @code{lsh-service}}); the UPower service extends the D-Bus service by passing it its @file{.service} " +"specification, and extends the udev service by passing it device management rules (@pxref{Desktop Services, @code{upower-service}}); " +"the Guix daemon service extends the Shepherd by passing it the command lines to start and stop the daemon, and extends the account " +"service by passing it a list of required build user accounts (@pxref{Base Services})." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:20820 +msgid "" +"All in all, services and their ``extends'' relations form a directed acyclic graph (DAG). If we represent services as boxes and " +"extensions as arrows, a typical system might provide something like this:" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:20822 +msgid "@image{images/service-graph,,5in,Typical service extension graph.}" +msgstr "" + +#. type: cindex +#: doc/guix.texi:20823 +#, no-wrap +msgid "system service" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:20831 +msgid "" +"At the bottom, we see the @dfn{system service}, which produces the directory containing everything to run and boot the system, as " +"returned by the @command{guix system build} command. @xref{Service Reference}, to learn about the other service types shown here. " +"@xref{system-extension-graph, the @command{guix system extension-graph} command}, for information on how to generate this " +"representation for a particular operating system definition." +msgstr "" + +#. type: cindex +#: doc/guix.texi:20832 +#, no-wrap +msgid "service types" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:20838 +msgid "" +"Technically, developers can define @dfn{service types} to express these relations. There can be any number of services of a given " +"type on the system---for instance, a system running two instances of the GNU secure shell server (lsh) has two instances of @var{lsh-" +"service-type}, with different parameters." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:20841 +msgid "The following section describes the programming interface for service types and services." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:20848 +msgid "" +"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 (@pxref{Invoking guix-daemon}):" +msgstr "" + +#. type: example +#: doc/guix.texi:20858 +#, no-wrap +msgid "" +"(define guix-service-type\n" +" (service-type\n" +" (name 'guix)\n" +" (extensions\n" +" (list (service-extension shepherd-root-service-type guix-shepherd-service)\n" +" (service-extension account-service-type guix-accounts)\n" +" (service-extension activation-service-type guix-activation)))\n" +" (default-value (guix-configuration))))\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:20862 +msgid "It defines three things:" +msgstr "" + +#. type: enumerate +#: doc/guix.texi:20866 +msgid "A name, whose sole purpose is to make inspection and debugging easier." +msgstr "" + +#. type: enumerate +#: doc/guix.texi:20871 +msgid "" +"A list of @dfn{service extensions}, where each extension designates the target service type and a procedure that, given the " +"parameters of the service, returns a list of objects to extend the service of that type." +msgstr "" + +#. type: enumerate +#: doc/guix.texi:20874 +msgid "" +"Every service type has at least one service extension. The only exception is the @dfn{boot service type}, which is the ultimate " +"service." +msgstr "" + +#. type: enumerate +#: doc/guix.texi:20877 +msgid "Optionally, a default value for instances of this type." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:20880 +msgid "In this example, @var{guix-service-type} extends three services:" +msgstr "" + +#. type: item +#: doc/guix.texi:20882 +#, no-wrap +msgid "shepherd-root-service-type" +msgstr "" + +#. type: table +#: doc/guix.texi:20887 +msgid "" +"The @var{guix-shepherd-service} procedure defines how the Shepherd service is extended. Namely, it returns a @code{<shepherd-" +"service>} object that defines how @command{guix-daemon} is started and stopped (@pxref{Shepherd Services})." +msgstr "" + +#. type: item +#: doc/guix.texi:20888 +#, no-wrap +msgid "account-service-type" +msgstr "" + +#. type: table +#: doc/guix.texi:20893 +msgid "" +"This extension for this service is computed by @var{guix-accounts}, which returns a list of @code{user-group} and @code{user-" +"account} objects representing the build user accounts (@pxref{Invoking guix-daemon})." +msgstr "" + +#. type: item +#: doc/guix.texi:20894 +#, no-wrap +msgid "activation-service-type" +msgstr "" + +#. type: table +#: doc/guix.texi:20898 +msgid "" +"Here @var{guix-activation} is a procedure that returns a gexp, which is a code snippet to run at ``activation time''---e.g., when " +"the service is booted." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:20901 +msgid "A service of this type is instantiated like this:" +msgstr "" + +#. type: example +#: doc/guix.texi:20907 +#, no-wrap +msgid "" +"(service guix-service-type\n" +" (guix-configuration\n" +" (build-accounts 5)\n" +" (use-substitutes? #f)))\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:20915 +msgid "" +"The second argument to the @code{service} form is a value representing the parameters of this specific service instance. @xref{guix-" +"configuration-type, @code{guix-configuration}}, for information about the @code{guix-configuration} data type. When the value is " +"omitted, the default value specified by @code{guix-service-type} is used:" +msgstr "" + +#. type: example +#: doc/guix.texi:20918 +#, no-wrap +msgid "(service guix-service-type)\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:20922 +msgid "@var{guix-service-type} is quite simple because it extends other services but is not extensible itself." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:20926 +msgid "The service type for an @emph{extensible} service looks like this:" +msgstr "" + +#. type: example +#: doc/guix.texi:20933 +#, no-wrap +msgid "" +"(define udev-service-type\n" +" (service-type (name 'udev)\n" +" (extensions\n" +" (list (service-extension shepherd-root-service-type\n" +" udev-shepherd-service)))\n" +"\n" +msgstr "" + +#. type: example +#: doc/guix.texi:20941 +#, no-wrap +msgid "" +" (compose concatenate) ;concatenate the list of rules\n" +" (extend (lambda (config rules)\n" +" (match config\n" +" (($ <udev-configuration> udev initial-rules)\n" +" (udev-configuration\n" +" (udev udev) ;the udev package to use\n" +" (rules (append initial-rules rules)))))))))\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:20947 +msgid "" +"This is the service type for the @uref{https://wiki.gentoo.org/wiki/Project:Eudev, eudev device management daemon}. Compared to the " +"previous example, in addition to an extension of @var{shepherd-root-service-type}, we see two new fields:" +msgstr "" + +#. type: item +#: doc/guix.texi:20949 +#, no-wrap +msgid "compose" +msgstr "" + +#. type: table +#: doc/guix.texi:20952 +msgid "This is the procedure to @dfn{compose} the list of extensions to services of this type." +msgstr "" + +#. type: table +#: doc/guix.texi:20955 +msgid "Services can extend the udev service by passing it lists of rules; we compose those extensions simply by concatenating them." +msgstr "" + +#. type: item +#: doc/guix.texi:20956 +#, no-wrap +msgid "extend" +msgstr "" + +#. type: table +#: doc/guix.texi:20959 +msgid "This procedure defines how the value of the service is @dfn{extended} with the composition of the extensions." +msgstr "" + +#. type: table +#: doc/guix.texi:20964 +msgid "" +"Udev extensions are composed into a list of rules, but the udev service value is itself a @code{<udev-configuration>} record. So " +"here, we extend that record by appending the list of rules it contains to the list of contributed rules." +msgstr "" + +#. type: table +#: doc/guix.texi:20970 +msgid "" +"This is a string giving an overview of the service type. The string can contain Texinfo markup (@pxref{Overview,,, texinfo, GNU " +"Texinfo}). The @command{guix system search} command searches these strings and displays them (@pxref{Invoking guix system})." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:20975 +msgid "" +"There can be only one instance of an extensible service type such as @var{udev-service-type}. If there were more, the @code{service-" +"extension} specifications would be ambiguous." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:20978 +msgid "Still here? The next section provides a reference of the programming interface for services." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:20986 +msgid "" +"We have seen an overview of service types (@pxref{Service Types and Services}). This section provides a reference on how to " +"manipulate services and service types. This interface is provided by the @code{(gnu services)} module." +msgstr "" + +#. type: deffn +#: doc/guix.texi:20987 +#, no-wrap +msgid "{Scheme Procedure} service @var{type} [@var{value}]" +msgstr "" + +#. type: deffn +#: doc/guix.texi:20991 +msgid "" +"Return a new service of @var{type}, a @code{<service-type>} object (see below.) @var{value} can be any object; it represents the " +"parameters of this particular service instance." +msgstr "" + +#. type: deffn +#: doc/guix.texi:20995 +msgid "" +"When @var{value} is omitted, the default value specified by @var{type} is used; if @var{type} does not specify a default value, an " +"error is raised." +msgstr "" + +#. type: deffn +#: doc/guix.texi:20997 +msgid "For instance, this:" +msgstr "" + +#. type: example +#: doc/guix.texi:21000 +#, no-wrap +msgid "(service openssh-service-type)\n" +msgstr "" + +#. type: deffn +#: doc/guix.texi:21004 +msgid "is equivalent to this:" +msgstr "" + +#. type: example +#: doc/guix.texi:21008 +#, no-wrap +msgid "" +"(service openssh-service-type\n" +" (openssh-configuration))\n" +msgstr "" + +#. type: deffn +#: doc/guix.texi:21012 +msgid "In both cases the result is an instance of @code{openssh-service-type} with the default configuration." +msgstr "" + +#. type: deffn +#: doc/guix.texi:21014 +#, no-wrap +msgid "{Scheme Procedure} service? @var{obj}" +msgstr "" + +#. type: deffn +#: doc/guix.texi:21016 +msgid "Return true if @var{obj} is a service." +msgstr "" + +#. type: deffn +#: doc/guix.texi:21018 +#, no-wrap +msgid "{Scheme Procedure} service-kind @var{service}" +msgstr "" + +#. type: deffn +#: doc/guix.texi:21020 +msgid "Return the type of @var{service}---i.e., a @code{<service-type>} object." +msgstr "" + +#. type: deffn +#: doc/guix.texi:21022 +#, no-wrap +msgid "{Scheme Procedure} service-value @var{service}" +msgstr "" + +#. type: deffn +#: doc/guix.texi:21025 +msgid "Return the value associated with @var{service}. It represents its parameters." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21028 +msgid "Here is an example of how a service is created and manipulated:" +msgstr "" + +#. type: example +#: doc/guix.texi:21037 +#, no-wrap +msgid "" +"(define s\n" +" (service nginx-service-type\n" +" (nginx-configuration\n" +" (nginx nginx)\n" +" (log-directory log-directory)\n" +" (run-directory run-directory)\n" +" (file config-file))))\n" +"\n" +msgstr "" + +#. type: example +#: doc/guix.texi:21040 +#, no-wrap +msgid "" +"(service? s)\n" +"@result{} #t\n" +"\n" +msgstr "" + +#. type: example +#: doc/guix.texi:21043 +#, no-wrap +msgid "" +"(eq? (service-kind s) nginx-service-type)\n" +"@result{} #t\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21053 +msgid "" +"The @code{modify-services} form provides a handy way to change the parameters of some of the services of a list such as @var{%base-" +"services} (@pxref{Base Services, @code{%base-services}}). It evaluates to a list of services. Of course, you could always use " +"standard list combinators such as @code{map} and @code{fold} to do that (@pxref{SRFI-1, List Library,, guile, GNU Guile Reference " +"Manual}); @code{modify-services} simply provides a more concise form for this common pattern." +msgstr "" + +#. type: deffn +#: doc/guix.texi:21054 +#, no-wrap +msgid "{Scheme Syntax} modify-services @var{services} @" +msgstr "" + +#. type: deffn +#: doc/guix.texi:21056 +msgid "(@var{type} @var{variable} => @var{body}) @dots{}" +msgstr "" + +#. type: deffn +#: doc/guix.texi:21059 +msgid "Modify the services listed in @var{services} according to the given clauses. Each clause has the form:" +msgstr "" + +#. type: example +#: doc/guix.texi:21062 +#, no-wrap +msgid "(@var{type} @var{variable} => @var{body})\n" +msgstr "" + +#. type: deffn +#: doc/guix.texi:21069 +msgid "" +"where @var{type} is a service type---e.g., @code{guix-service-type}---and @var{variable} is an identifier that is bound within the " +"@var{body} to the service parameters---e.g., a @code{guix-configuration} instance---of the original service of that @var{type}." +msgstr "" + +#. type: deffn +#: doc/guix.texi:21076 +msgid "" +"The @var{body} should evaluate to the new service parameters, which will be used to configure the new service. This new service " +"will replace the original in the resulting list. Because a service's service parameters are created using @code{define-record-" +"type*}, you can write a succinct @var{body} that evaluates to the new service parameters by using the @code{inherit} feature that " +"@code{define-record-type*} provides." +msgstr "" + +#. type: deffn +#: doc/guix.texi:21078 +msgid "@xref{Using the Configuration System}, for example usage." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21085 +msgid "" +"Next comes the programming interface for service types. This is something you want to know when writing new service definitions, " +"but not necessarily when simply looking for ways to customize your @code{operating-system} declaration." +msgstr "" + +#. type: deftp +#: doc/guix.texi:21086 +#, no-wrap +msgid "{Data Type} service-type" +msgstr "" + +#. type: cindex +#: doc/guix.texi:21087 +#, no-wrap +msgid "service type" +msgstr "" + +#. type: deftp +#: doc/guix.texi:21090 +msgid "This is the representation of a @dfn{service type} (@pxref{Service Types and Services})." +msgstr "" + +#. type: table +#: doc/guix.texi:21094 +msgid "This is a symbol, used only to simplify inspection and debugging." +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:21095 +#, no-wrap +msgid "extensions" +msgstr "" + +#. type: table +#: doc/guix.texi:21097 +msgid "A non-empty list of @code{<service-extension>} objects (see below)." +msgstr "" + +#. type: item +#: doc/guix.texi:21098 +#, no-wrap +msgid "@code{compose} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:21102 +msgid "" +"If this is @code{#f}, then the service type denotes services that cannot be extended---i.e., services that do not receive ``values'' " +"from other services." +msgstr "" + +#. type: table +#: doc/guix.texi:21106 +msgid "" +"Otherwise, it must be a one-argument procedure. The procedure is called by @code{fold-services} and is passed a list of values " +"collected from extensions. It may return any single value." +msgstr "" + +#. type: item +#: doc/guix.texi:21107 +#, no-wrap +msgid "@code{extend} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:21109 +msgid "If this is @code{#f}, services of this type cannot be extended." +msgstr "" + +#. type: table +#: doc/guix.texi:21115 +msgid "" +"Otherwise, it must be a two-argument procedure: @code{fold-services} calls it, passing it the initial value of the service as the " +"first argument and the result of applying @code{compose} to the extension values as the second argument. It must return a value " +"that is a valid parameter value for the service instance." +msgstr "" + +#. type: deftp +#: doc/guix.texi:21118 +msgid "@xref{Service Types and Services}, for examples." +msgstr "" + +#. type: deffn +#: doc/guix.texi:21120 +#, no-wrap +msgid "{Scheme Procedure} service-extension @var{target-type} @" +msgstr "" + +#. type: deffn +#: doc/guix.texi:21126 +msgid "" +"@var{compute} Return a new extension for services of type @var{target-type}. @var{compute} must be a one-argument procedure: " +"@code{fold-services} calls it, passing it the value associated with the service that provides the extension; it must return a valid " +"value for the target service." +msgstr "" + +#. type: deffn +#: doc/guix.texi:21128 +#, no-wrap +msgid "{Scheme Procedure} service-extension? @var{obj}" +msgstr "" + +#. type: deffn +#: doc/guix.texi:21130 +msgid "Return true if @var{obj} is a service extension." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21136 +msgid "" +"Occasionally, you might want to simply extend an existing service. This involves creating a new service type and specifying the " +"extension of interest, which can be verbose; the @code{simple-service} procedure provides a shorthand for this." +msgstr "" + +#. type: deffn +#: doc/guix.texi:21137 +#, no-wrap +msgid "{Scheme Procedure} simple-service @var{name} @var{target} @var{value}" +msgstr "" + +#. type: deffn +#: doc/guix.texi:21141 +msgid "" +"Return a service that extends @var{target} with @var{value}. This works by creating a singleton service type @var{name}, of which " +"the returned service is an instance." +msgstr "" + +#. type: deffn +#: doc/guix.texi:21144 +msgid "For example, this extends mcron (@pxref{Scheduled Job Execution}) with an additional job:" +msgstr "" + +#. type: example +#: doc/guix.texi:21148 +#, no-wrap +msgid "" +"(simple-service 'my-mcron-job mcron-service-type\n" +" #~(job '(next-hour (3)) \"guix gc -F 2G\"))\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21158 +msgid "" +"At the core of the service abstraction lies the @code{fold-services} procedure, which is responsible for ``compiling'' a list of " +"services down to a single directory that contains everything needed to boot and run the system---the directory shown by the " +"@command{guix system build} command (@pxref{Invoking guix system}). In essence, it propagates service extensions down the service " +"graph, updating each node parameters on the way, until it reaches the root node." +msgstr "" + +#. type: deffn +#: doc/guix.texi:21159 +#, no-wrap +msgid "{Scheme Procedure} fold-services @var{services} @" +msgstr "" + +#. type: deffn +#: doc/guix.texi:21163 +msgid "" +"[#:target-type @var{system-service-type}] Fold @var{services} by propagating their extensions down to the root of type @var{target-" +"type}; return the root service adjusted accordingly." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21167 +msgid "Lastly, the @code{(gnu services)} module also defines several essential service types, some of which are listed below." +msgstr "" + +#. type: defvr +#: doc/guix.texi:21168 +#, no-wrap +msgid "{Scheme Variable} system-service-type" +msgstr "" + +#. type: defvr +#: doc/guix.texi:21171 +msgid "" +"This is the root of the service graph. It produces the system directory as returned by the @command{guix system build} command." +msgstr "" + +#. type: defvr +#: doc/guix.texi:21173 +#, no-wrap +msgid "{Scheme Variable} boot-service-type" +msgstr "" + +#. type: defvr +#: doc/guix.texi:21176 +msgid "" +"The type of the ``boot service'', which produces the @dfn{boot script}. The boot script is what the initial RAM disk runs when " +"booting." +msgstr "" + +#. type: defvr +#: doc/guix.texi:21178 +#, no-wrap +msgid "{Scheme Variable} etc-service-type" +msgstr "" + +#. type: defvr +#: doc/guix.texi:21182 +msgid "" +"The type of the @file{/etc} service. This service is used to create files under @file{/etc} and can be extended by passing it name/" +"file tuples such as:" +msgstr "" + +#. type: example +#: doc/guix.texi:21185 +#, no-wrap +msgid "(list `(\"issue\" ,(plain-file \"issue\" \"Welcome!\\n\")))\n" +msgstr "" + +#. type: defvr +#: doc/guix.texi:21189 +msgid "In this example, the effect would be to add an @file{/etc/issue} file pointing to the given file." +msgstr "" + +#. type: defvr +#: doc/guix.texi:21191 +#, no-wrap +msgid "{Scheme Variable} setuid-program-service-type" +msgstr "" + +#. type: defvr +#: doc/guix.texi:21195 +msgid "" +"Type for the ``setuid-program service''. This service collects lists of executable file names, passed as gexps, and adds them to " +"the set of setuid-root programs on the system (@pxref{Setuid Programs})." +msgstr "" + +#. type: defvr +#: doc/guix.texi:21197 +#, no-wrap +msgid "{Scheme Variable} profile-service-type" +msgstr "" + +#. type: defvr +#: doc/guix.texi:21201 +msgid "" +"Type of the service that populates the @dfn{system profile}---i.e., the programs under @file{/run/current-system/profile}. Other " +"services can extend it by passing it lists of packages to add to the system profile." +msgstr "" + +#. type: cindex +#: doc/guix.texi:21207 +#, no-wrap +msgid "shepherd services" +msgstr "" + +#. type: cindex +#: doc/guix.texi:21208 +#, no-wrap +msgid "PID 1" +msgstr "" + +#. type: cindex +#: doc/guix.texi:21209 +#, no-wrap +msgid "init system" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21215 +msgid "" +"The @code{(gnu services shepherd)} module provides a way to define services managed by the GNU@tie{}Shepherd, which is the GuixSD " +"initialization system---the first process that is started when the system boots, also known as PID@tie{}1 (@pxref{Introduction,,, " +"shepherd, The GNU Shepherd Manual})." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21221 +msgid "" +"Services in the Shepherd can depend on each other. For instance, the SSH daemon may need to be started after the syslog daemon has " +"been started, which in turn can only happen once all the file systems have been mounted. The simple operating system defined " +"earlier (@pxref{Using the Configuration System}) results in a service graph like this:" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21223 +msgid "@image{images/shepherd-graph,,5in,Typical shepherd service graph.}" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21227 +msgid "" +"You can actually generate such a graph for any operating system definition using the @command{guix system shepherd-graph} command " +"(@pxref{system-shepherd-graph, @command{guix system shepherd-graph}})." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21231 +msgid "" +"The @var{%shepherd-root-service} is a service object representing PID@tie{}1, of type @var{shepherd-root-service-type}; it can be " +"extended by passing it lists of @code{<shepherd-service>} objects." +msgstr "" + +#. type: deftp +#: doc/guix.texi:21232 +#, no-wrap +msgid "{Data Type} shepherd-service" +msgstr "" + +#. type: deftp +#: doc/guix.texi:21234 +msgid "The data type representing a service managed by the Shepherd." +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:21236 +#, no-wrap +msgid "provision" +msgstr "" + +#. type: table +#: doc/guix.texi:21238 +msgid "This is a list of symbols denoting what the service provides." +msgstr "" + +#. type: table +#: doc/guix.texi:21243 +msgid "" +"These are the names that may be passed to @command{herd start}, @command{herd status}, and similar commands (@pxref{Invoking herd,,, " +"shepherd, The GNU Shepherd Manual}). @xref{Slots of services, the @code{provides} slot,, shepherd, The GNU Shepherd Manual}, for " +"details." +msgstr "" + +#. type: item +#: doc/guix.texi:21244 +#, no-wrap +msgid "@code{requirements} (default: @code{'()})" +msgstr "" + +#. type: table +#: doc/guix.texi:21246 +msgid "List of symbols denoting the Shepherd services this one depends on." +msgstr "" + +#. type: item +#: doc/guix.texi:21247 +#, no-wrap +msgid "@code{respawn?} (default: @code{#t})" +msgstr "" + +#. type: table +#: doc/guix.texi:21250 +msgid "Whether to restart the service when it stops, for instance when the underlying process dies." +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:21251 +#, no-wrap +msgid "start" +msgstr "" + +#. type: itemx +#: doc/guix.texi:21252 +#, no-wrap +msgid "@code{stop} (default: @code{#~(const #f)})" +msgstr "" + +#. type: table +#: doc/guix.texi:21258 +msgid "" +"The @code{start} and @code{stop} fields refer to the Shepherd's facilities to start and stop processes (@pxref{Service De- and " +"Constructors,,, shepherd, The GNU Shepherd Manual}). They are given as G-expressions that get expanded in the Shepherd " +"configuration file (@pxref{G-Expressions})." +msgstr "" + +#. type: table +#: doc/guix.texi:21261 +msgid "A documentation string, as shown when running:" +msgstr "" + +#. type: example +#: doc/guix.texi:21264 +#, no-wrap +msgid "herd doc @var{service-name}\n" +msgstr "" + +#. type: table +#: doc/guix.texi:21268 +msgid "where @var{service-name} is one of the symbols in @var{provision} (@pxref{Invoking herd,,, shepherd, The GNU Shepherd Manual})." +msgstr "" + +#. type: item +#: doc/guix.texi:21269 +#, no-wrap +msgid "@code{modules} (default: @var{%default-modules})" +msgstr "" + +#. type: table +#: doc/guix.texi:21272 +msgid "This is the list of modules that must be in scope when @code{start} and @code{stop} are evaluated." +msgstr "" + +#. type: defvr +#: doc/guix.texi:21276 +#, no-wrap +msgid "{Scheme Variable} shepherd-root-service-type" +msgstr "" + +#. type: defvr +#: doc/guix.texi:21278 +msgid "The service type for the Shepherd ``root service''---i.e., PID@tie{}1." +msgstr "" + +#. type: defvr +#: doc/guix.texi:21282 +msgid "" +"This is the service type that extensions target when they want to create shepherd services (@pxref{Service Types and Services}, for " +"an example). Each extension must pass a list of @code{<shepherd-service>}." +msgstr "" + +#. type: defvr +#: doc/guix.texi:21284 +#, no-wrap +msgid "{Scheme Variable} %shepherd-root-service" +msgstr "" + +#. type: defvr +#: doc/guix.texi:21286 +msgid "This service represents PID@tie{}1." +msgstr "" + +#. type: cindex +#: doc/guix.texi:21292 +#, no-wrap +msgid "documentation, searching for" +msgstr "" + +#. type: cindex +#: doc/guix.texi:21293 +#, no-wrap +msgid "searching for documentation" +msgstr "" + +#. type: cindex +#: doc/guix.texi:21294 +#, no-wrap +msgid "Info, documentation format" +msgstr "" + +#. type: cindex +#: doc/guix.texi:21295 +#, no-wrap +msgid "man pages" +msgstr "" + +#. type: cindex +#: doc/guix.texi:21296 +#, no-wrap +msgid "manual pages" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21303 +msgid "" +"In most cases packages installed with Guix come with documentation. There are two main documentation formats: ``Info'', a " +"browseable hypertext format used for GNU software, and ``manual pages'' (or ``man pages''), the linear documentation format " +"traditionally found on Unix. Info manuals are accessed with the @command{info} command or with Emacs, and man pages are accessed " +"using @command{man}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21307 +msgid "" +"You can look for documentation of software installed on your system by keyword. For example, the following command searches for " +"information about ``TLS'' in Info manuals:" +msgstr "" + +#. type: example +#: doc/guix.texi:21315 +#, no-wrap +msgid "" +"$ info -k TLS\n" +"\"(emacs)Network Security\" -- STARTTLS\n" +"\"(emacs)Network Security\" -- TLS\n" +"\"(gnutls)Core TLS API\" -- gnutls_certificate_set_verify_flags\n" +"\"(gnutls)Core TLS API\" -- gnutls_certificate_set_verify_function\n" +"@dots{}\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21319 +msgid "The command below searches for the same keyword in man pages:" +msgstr "" + +#. type: example +#: doc/guix.texi:21325 +#, no-wrap +msgid "" +"$ man -k TLS\n" +"SSL (7) - OpenSSL SSL/TLS library\n" +"certtool (1) - GnuTLS certificate tool\n" +"@dots {}\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21331 +msgid "" +"These searches are purely local to your computer so you have the guarantee that documentation you find corresponds to what you have " +"actually installed, you can access it off-line, and your privacy is respected." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21334 +msgid "Once you have these results, you can view the relevant documentation by running, say:" +msgstr "" + +#. type: example +#: doc/guix.texi:21337 +#, no-wrap +msgid "$ info \"(gnutls)Core TLS API\"\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21341 +msgid "or:" +msgstr "" + +#. type: example +#: doc/guix.texi:21344 +#, no-wrap +msgid "$ man certtool\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21352 +msgid "" +"Info manuals contain sections and indices as well as hyperlinks like those found in Web pages. The @command{info} reader " +"(@pxref{Top, Info reader,, info-stnd, Stand-alone GNU Info}) and its Emacs counterpart (@pxref{Misc Help,,, emacs, The GNU Emacs " +"Manual}) provide intuitive key bindings to navigate manuals. @xref{Getting Started,,, info, Info: An Introduction}, for an " +"introduction to Info navigation." +msgstr "" + +#. type: cindex +#: doc/guix.texi:21356 +#, no-wrap +msgid "debugging files" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21362 +msgid "" +"Program binaries, as produced by the GCC compilers for instance, are typically written in the ELF format, with a section containing " +"@dfn{debugging information}. Debugging information is what allows the debugger, GDB, to map binary code to source code; it is " +"required to debug a compiled program in good conditions." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21370 +msgid "" +"The problem with debugging information is that is takes up a fair amount of disk space. For example, debugging information for the " +"GNU C Library weighs in at more than 60 MiB. Thus, as a user, keeping all the debugging info of all the installed programs is " +"usually not an option. Yet, space savings should not come at the cost of an impediment to debugging---especially in the GNU system, " +"which should make it easier for users to exert their computing freedom (@pxref{GNU Distribution})." +msgstr "" +"Le problème avec les informations de débogage est qu'elles prennent pas mal de place sur le disque. Par exemple, les informations de " +"débogage de la bibliothèque C de GNU prend plus de 60 Mo. Ainsi, en tant qu'utilisateur, garder toutes les informations de débogage " +"de tous les programmes installés n'est souvent pas une possibilité. Cependant, l'économie d'espace ne devrait pas empêcher le " +"débogage — en particulier, dans le système GNU, qui devrait faciliter pour ses utilisateurs l'exercice de leurs libertés " +"(@pxref{Distribution GNU})." + +#. type: Plain text +#: doc/guix.texi:21377 +msgid "" +"Thankfully, the GNU Binary Utilities (Binutils) and GDB provide a mechanism that allows users to get the best of both worlds: " +"debugging information can be stripped from the binaries and stored in separate files. GDB is then able to load debugging " +"information from those files, when they are available (@pxref{Separate Debug Files,,, gdb, Debugging with GDB})." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21385 +msgid "" +"The GNU distribution takes advantage of this by storing debugging information in the @code{lib/debug} sub-directory of a separate " +"package output unimaginatively called @code{debug} (@pxref{Packages with Multiple Outputs}). Users can choose to install the " +"@code{debug} output of a package when they need it. For instance, the following command installs the debugging information for the " +"GNU C Library and for GNU Guile:" +msgstr "" + +#. type: example +#: doc/guix.texi:21388 +#, no-wrap +msgid "guix package -i glibc:debug guile:debug\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21394 +msgid "" +"GDB must then be told to look for debug files in the user's profile, by setting the @code{debug-file-directory} variable (consider " +"setting it from the @file{~/.gdbinit} file, @pxref{Startup,,, gdb, Debugging with GDB}):" +msgstr "" + +#. type: example +#: doc/guix.texi:21397 +#, no-wrap +msgid "(gdb) set debug-file-directory ~/.guix-profile/lib/debug\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21401 +msgid "From there on, GDB will pick up debugging information from the @code{.debug} files under @file{~/.guix-profile/lib/debug}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21408 +msgid "" +"In addition, you will most likely want GDB to be able to show the source code being debugged. To do that, you will have to unpack " +"the source code of the package of interest (obtained with @code{guix build --source}, @pxref{Invoking guix build}), and to point GDB " +"to that source directory using the @code{directory} command (@pxref{Source Path, @code{directory},, gdb, Debugging with GDB})." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21417 +msgid "" +"The @code{debug} output mechanism in Guix is implemented by the @code{gnu-build-system} (@pxref{Build Systems}). Currently, it is " +"opt-in---debugging information is available only for the packages with definitions explicitly declaring a @code{debug} output. This " +"may be changed to opt-out in the future if our build farm servers can handle the load. To check whether a package has a " +"@code{debug} output, use @command{guix package --list-available} (@pxref{Invoking guix package})." +msgstr "" + +#. type: cindex +#: doc/guix.texi:21422 +#, no-wrap +msgid "security updates" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21431 +msgid "" +"Occasionally, important security vulnerabilities are discovered in software packages and must be patched. Guix developers try hard " +"to keep track of known vulnerabilities and to apply fixes as soon as possible in the @code{master} branch of Guix (we do not yet " +"provide a ``stable'' branch containing only security updates.) The @command{guix lint} tool helps developers find out about " +"vulnerable versions of software packages in the distribution:" +msgstr "" + +#. type: smallexample +#: doc/guix.texi:21438 +#, no-wrap +msgid "" +"$ guix lint -c cve\n" +"gnu/packages/base.scm:652:2: glibc@@2.21: probably vulnerable to CVE-2015-1781, CVE-2015-7547\n" +"gnu/packages/gcc.scm:334:2: gcc@@4.9.3: probably vulnerable to CVE-2015-5276\n" +"gnu/packages/image.scm:312:2: openjpeg@@2.1.0: probably vulnerable to CVE-2016-1923, CVE-2016-1924\n" +"@dots{}\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21441 +msgid "@xref{Invoking guix lint}, for more information." +msgstr "" + +#. type: quotation +#: doc/guix.texi:21445 +msgid "As of version @value{VERSION}, the feature described below is considered ``beta''." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21455 +msgid "" +"Guix follows a functional package management discipline (@pxref{Introduction}), which implies that, when a package is changed, " +"@emph{every package that depends on it} must be rebuilt. This can significantly slow down the deployment of fixes in core packages " +"such as libc or Bash, since basically the whole distribution would need to be rebuilt. Using pre-built binaries helps " +"(@pxref{Substitutes}), but deployment may still take more time than desired." +msgstr "" +"Guix suit une discipline de gestion de paquets fonctionnelle (@pxref{Introduction}), ce qui implique que lorsqu'un paquet change, " +"@emph{tous les paquets qui en dépendent} doivent être reconstruits. Cela peut grandement ralentir le déploiement de corrections dans " +"les paquets du cœur comme libc ou bash comme presque toute la distribution aurait besoin d'être reconstruite. Cela aide d'utiliser " +"des binaires pré-construits (@pxref{Substituts}), mais le déploiement peut toujours prendre plus de temps de souhaité." + +#. type: cindex +#: doc/guix.texi:21456 +#, no-wrap +msgid "grafts" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21464 +msgid "" +"To address this, Guix implements @dfn{grafts}, a mechanism that allows for fast deployment of critical updates without the costs " +"associated with a whole-distribution rebuild. The idea is to rebuild only the package that needs to be patched, and then to " +"``graft'' it onto packages explicitly installed by the user and that were previously referring to the original package. The cost of " +"grafting is typically very low, and order of magnitudes lower than a full rebuild of the dependency chain." +msgstr "" + +#. type: cindex +#: doc/guix.texi:21465 +#, no-wrap +msgid "replacements of packages, for grafts" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21471 +msgid "" +"For instance, suppose a security update needs to be applied to Bash. Guix developers will provide a package definition for the " +"``fixed'' Bash, say @var{bash-fixed}, in the usual way (@pxref{Defining Packages}). Then, the original package definition is " +"augmented with a @code{replacement} field pointing to the package containing the bug fix:" +msgstr "" + +#. type: example +#: doc/guix.texi:21478 +#, no-wrap +msgid "" +"(define bash\n" +" (package\n" +" (name \"bash\")\n" +" ;; @dots{}\n" +" (replacement bash-fixed)))\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21488 +msgid "" +"From there on, any package depending directly or indirectly on Bash---as reported by @command{guix gc --requisites} (@pxref{Invoking " +"guix gc})---that is installed is automatically ``rewritten'' to refer to @var{bash-fixed} instead of @var{bash}. This grafting " +"process takes time proportional to the size of the package, usually less than a minute for an ``average'' package on a recent " +"machine. Grafting is recursive: when an indirect dependency requires grafting, then grafting ``propagates'' up to the package that " +"the user is installing." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21496 +msgid "" +"Currently, the length of the name and version of the graft and that of the package it replaces (@var{bash-fixed} and @var{bash} in " +"the example above) must be equal. This restriction mostly comes from the fact that grafting works by patching files, including " +"binary files, directly. Other restrictions may apply: for instance, when adding a graft to a package providing a shared library, " +"the original shared library and its replacement must have the same @code{SONAME} and be binary-compatible." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21500 +msgid "" +"The @option{--no-grafts} command-line option allows you to forcefully avoid grafting (@pxref{Common Build Options, @option{--no-" +"grafts}}). Thus, the command:" +msgstr "" + +#. type: example +#: doc/guix.texi:21503 +#, no-wrap +msgid "guix build bash --no-grafts\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21507 +msgid "returns the store file name of the original Bash, whereas:" +msgstr "" + +#. type: example +#: doc/guix.texi:21510 +#, no-wrap +msgid "guix build bash\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21515 +msgid "" +"returns the store file name of the ``fixed'', replacement Bash. This allows you to distinguish between the two variants of Bash." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21518 +msgid "To verify which Bash your whole profile refers to, you can run (@pxref{Invoking guix gc}):" +msgstr "" + +#. type: example +#: doc/guix.texi:21521 +#, no-wrap +msgid "guix gc -R `readlink -f ~/.guix-profile` | grep bash\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21526 +msgid "@dots{} and compare the store file names that you get with those above. Likewise for a complete GuixSD system generation:" +msgstr "" + +#. type: example +#: doc/guix.texi:21529 +#, no-wrap +msgid "guix gc -R `guix system build my-config.scm` | grep bash\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21533 +msgid "Lastly, to check which Bash running processes are using, you can use the @command{lsof} command:" +msgstr "" + +#. type: example +#: doc/guix.texi:21536 +#, no-wrap +msgid "lsof | grep /gnu/store/.*bash\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21553 +msgid "" +"From a programming viewpoint, the package definitions of the GNU distribution are provided by Guile modules in the @code{(gnu " +"packages @dots{})} name space@footnote{Note that packages under the @code{(gnu packages @dots{})} module name space are not " +"necessarily ``GNU packages''. This module naming scheme follows the usual Guile module naming convention: @code{gnu} means that " +"these modules are distributed as part of the GNU system, and @code{packages} identifies modules that define packages.} " +"(@pxref{Modules, Guile modules,, guile, GNU Guile Reference Manual}). For instance, the @code{(gnu packages emacs)} module exports " +"a variable named @code{emacs}, which is bound to a @code{<package>} object (@pxref{Defining Packages})." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21560 +msgid "" +"The @code{(gnu packages @dots{})} module name space is automatically scanned for packages by the command-line tools. For instance, " +"when running @code{guix package -i emacs}, all the @code{(gnu packages @dots{})} modules are scanned until one that exports a " +"package object whose name is @code{emacs} is found. This package search facility is implemented in the @code{(gnu packages)} module." +msgstr "" + +#. type: cindex +#: doc/guix.texi:21562 +#, no-wrap +msgid "package module search path" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21579 +msgid "" +"Users can store package definitions in modules with different names---e.g., @code{(my-packages emacs)}@footnote{Note that the file " +"name and module name must match. For instance, the @code{(my-packages emacs)} module must be stored in a @file{my-packages/emacs." +"scm} file relative to the load path specified with @option{--load-path} or @code{GUIX_PACKAGE_PATH}. @xref{Modules and the File " +"System,,, guile, GNU Guile Reference Manual}, for details.}. These package definitions will not be visible by default. Users can " +"invoke commands such as @command{guix package} and @command{guix build} with the @code{-e} option so that they know where to find " +"the package. Better yet, they can use the @code{-L} option of these commands to make those modules visible (@pxref{Invoking guix " +"build, @code{--load-path}}), or define the @code{GUIX_PACKAGE_PATH} environment variable. This environment variable makes it easy " +"to extend or customize the distribution and is honored by all the user interfaces." +msgstr "" + +#. type: defvr +#: doc/guix.texi:21580 +#, no-wrap +msgid "{Environment Variable} GUIX_PACKAGE_PATH" +msgstr "" + +#. type: defvr +#: doc/guix.texi:21584 +msgid "" +"This is a colon-separated list of directories to search for additional package modules. Directories listed in this variable take " +"precedence over the own modules of the distribution." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21592 +msgid "" +"The distribution is fully @dfn{bootstrapped} and @dfn{self-contained}: each package is built based solely on other packages in the " +"distribution. The root of this dependency graph is a small set of @dfn{bootstrap binaries}, provided by the @code{(gnu packages " +"bootstrap)} module. For more information on bootstrapping, @pxref{Bootstrapping}." +msgstr "" + +#. type: cindex +#: doc/guix.texi:21596 +#, no-wrap +msgid "packages, creating" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21601 +msgid "" +"The GNU distribution is nascent and may well lack some of your favorite packages. This section describes how you can help make the " +"distribution grow. @xref{Contributing}, for additional information on how you can help." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21609 +msgid "" +"Free software packages are usually distributed in the form of @dfn{source code tarballs}---typically @file{tar.gz} files that " +"contain all the source files. Adding a package to the distribution means essentially two things: adding a @dfn{recipe} that " +"describes how to build the package, including a list of other packages required to build it, and adding @dfn{package metadata} along " +"with that recipe, such as a description and licensing information." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21618 +msgid "" +"In Guix all this information is embodied in @dfn{package definitions}. Package definitions provide a high-level view of the " +"package. They are written using the syntax of the Scheme programming language; in fact, for each package we define a variable bound " +"to the package definition, and export that variable from a module (@pxref{Package Modules}). However, in-depth Scheme knowledge is " +"@emph{not} a prerequisite for creating packages. For more information on package definitions, @pxref{Defining Packages}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21624 +msgid "" +"Once a package definition is in place, stored in a file in the Guix source tree, it can be tested using the @command{guix build} " +"command (@pxref{Invoking guix build}). For example, assuming the new package is called @code{gnew}, you may run this command from " +"the Guix build tree (@pxref{Running Guix Before It Is Installed}):" +msgstr "" + +#. type: example +#: doc/guix.texi:21627 +#, no-wrap +msgid "./pre-inst-env guix build gnew --keep-failed\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21633 +msgid "" +"Using @code{--keep-failed} makes it easier to debug build failures since it provides access to the failed build tree. Another " +"useful command-line option when debugging is @code{--log-file}, to access the build log." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21638 +msgid "" +"If the package is unknown to the @command{guix} command, it may be that the source file contains a syntax error, or lacks a " +"@code{define-public} clause to export the package variable. To figure it out, you may load the module from Guile to get more " +"information about the actual error:" +msgstr "" + +#. type: example +#: doc/guix.texi:21641 +#, no-wrap +msgid "./pre-inst-env guile -c '(use-modules (gnu packages gnew))'\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21649 +msgid "" +"Once your package builds correctly, please send us a patch (@pxref{Contributing}). Well, if you need help, we will be happy to help " +"you too. Once the patch is committed in the Guix repository, the new package automatically gets built on the supported platforms by " +"@url{http://hydra.gnu.org/jobset/gnu/master, our continuous integration system}." +msgstr "" + +#. type: cindex +#: doc/guix.texi:21650 +#, no-wrap +msgid "substituter" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21657 +msgid "" +"Users can obtain the new package definition simply by running @command{guix pull} (@pxref{Invoking guix pull}). When @code{hydra." +"gnu.org} is done building the package, installing the package automatically downloads binaries from there (@pxref{Substitutes}). " +"The only place where human intervention is needed is to review and apply the patch." +msgstr "" +"On peut obtenir la nouvelle définition du paquet simplement en lançant @command{guix pull} (@pxref{Invoking guix pull}). Lorsque " +"@code{hydra.gnu.org} a fini de construire le paquet, l'installation du paquet y télécharge automatiquement les binaires " +"(@pxref{Substituts}). La seule intervention humaine requise est pendant la revue et l'application du correctif." + +#. type: cindex +#: doc/guix.texi:21674 +#, no-wrap +msgid "free software" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21682 +msgid "" +"The GNU operating system has been developed so that users can have freedom in their computing. GNU is @dfn{free software}, meaning " +"that users have the @url{http://www.gnu.org/philosophy/free-sw.html,four essential freedoms}: to run the program, to study and " +"change the program in source code form, to redistribute exact copies, and to distribute modified versions. Packages found in the " +"GNU distribution provide only software that conveys these four freedoms." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21688 +msgid "" +"In addition, the GNU distribution follow the @url{http://www.gnu.org/distros/free-system-distribution-guidelines.html,free software " +"distribution guidelines}. Among other things, these guidelines reject non-free firmware, recommendations of non-free software, and " +"discuss ways to deal with trademarks and patents." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21696 +msgid "" +"Some otherwise free upstream package sources contain a small and optional subset that violates the above guidelines, for instance " +"because this subset is itself non-free code. When that happens, the offending items are removed with appropriate patches or code " +"snippets in the @code{origin} form of the package (@pxref{Defining Packages}). This way, @code{guix build --source} returns the " +"``freed'' source rather than the unmodified upstream source." +msgstr "" + +#. type: cindex +#: doc/guix.texi:21701 +#, no-wrap +msgid "package name" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21709 +msgid "" +"A package has actually two names associated with it: First, there is the name of the @emph{Scheme variable}, the one following " +"@code{define-public}. By this name, the package can be made known in the Scheme code, for instance as input to another package. " +"Second, there is the string in the @code{name} field of a package definition. This name is used by package management commands such " +"as @command{guix package} and @command{guix build}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21714 +msgid "" +"Both are usually the same and correspond to the lowercase conversion of the project name chosen upstream, with underscores replaced " +"with hyphens. For instance, GNUnet is available as @code{gnunet}, and SDL_net as @code{sdl-net}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21719 +msgid "" +"We do not add @code{lib} prefixes for library packages, unless these are already part of the official project name. But " +"@pxref{Python Modules} and @ref{Perl Modules} for special rules concerning modules for the Python and Perl languages." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21721 +msgid "Font package names are handled differently, @pxref{Fonts}." +msgstr "" + +#. type: cindex +#: doc/guix.texi:21726 +#, no-wrap +msgid "package version" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21735 +msgid "" +"We usually package only the latest version of a given free software project. But sometimes, for instance for incompatible library " +"versions, two (or more) versions of the same package are needed. These require different Scheme variable names. We use the name as " +"defined in @ref{Package Naming} for the most recent version; previous versions use the same name, suffixed by @code{-} and the " +"smallest prefix of the version number that may distinguish the two versions." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21738 +msgid "The name inside the package definition is the same for all versions of a package and does not contain any version number." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21740 +msgid "For instance, the versions 2.24.20 and 3.9.12 of GTK+ may be packaged as follows:" +msgstr "" + +#. type: example +#: doc/guix.texi:21752 +#, no-wrap +msgid "" +"(define-public gtk+\n" +" (package\n" +" (name \"gtk+\")\n" +" (version \"3.9.12\")\n" +" ...))\n" +"(define-public gtk+-2\n" +" (package\n" +" (name \"gtk+\")\n" +" (version \"2.24.20\")\n" +" ...))\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21754 +msgid "If we also wanted GTK+ 3.8.2, this would be packaged as" +msgstr "" + +#. type: example +#: doc/guix.texi:21760 +#, no-wrap +msgid "" +"(define-public gtk+-3.8\n" +" (package\n" +" (name \"gtk+\")\n" +" (version \"3.8.2\")\n" +" ...))\n" +msgstr "" + +#. type: cindex +#: doc/guix.texi:21764 +#, no-wrap +msgid "version number, for VCS snapshots" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21770 +msgid "" +"Occasionally, we package snapshots of upstream's version control system (VCS) instead of formal releases. This should remain " +"exceptional, because it is up to upstream developers to clarify what the stable release is. Yet, it is sometimes necessary. So, " +"what should we put in the @code{version} field?" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21778 +msgid "" +"Clearly, we need to make the commit identifier of the VCS snapshot visible in the version string, but we also need to make sure that " +"the version string is monotonically increasing so that @command{guix package --upgrade} can determine which version is newer. Since " +"commit identifiers, notably with Git, are not monotonically increasing, we add a revision number that we increase each time we " +"upgrade to a newer snapshot. The resulting version string looks like this:" +msgstr "" + +#. type: example +#: doc/guix.texi:21787 +#, no-wrap +msgid "" +"2.0.11-3.cabba9e\n" +" ^ ^ ^\n" +" | | `-- upstream commit ID\n" +" | |\n" +" | `--- Guix package revision\n" +" |\n" +"latest upstream version\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21796 +msgid "" +"It is a good idea to strip commit identifiers in the @code{version} field to, say, 7 digits. It avoids an aesthetic annoyance " +"(assuming aesthetics have a role to play here) as well as problems related to OS limits such as the maximum shebang length (127 " +"bytes for the Linux kernel.) It is best to use the full commit identifiers in @code{origin}s, though, to avoid ambiguities. A " +"typical package definition may look like this:" +msgstr "" + +#. type: example +#: doc/guix.texi:21812 +#, no-wrap +msgid "" +"(define my-package\n" +" (let ((commit \"c3f29bc928d5900971f65965feaae59e1272a3f7\")\n" +" (revision \"1\")) ;Guix package revision\n" +" (package\n" +" (version (git-version \"0.9\" revision commit))\n" +" (source (origin\n" +" (method git-fetch)\n" +" (uri (git-reference\n" +" (url \"git://example.org/my-package.git\")\n" +" (commit commit)))\n" +" (sha256 (base32 \"1mbikn@dots{}\"))\n" +" (file-name (git-file-name name version))))\n" +" ;; @dots{}\n" +" )))\n" +msgstr "" + +#. type: cindex +#: doc/guix.texi:21817 +#, no-wrap +msgid "package description" +msgstr "" + +#. type: cindex +#: doc/guix.texi:21818 +#, no-wrap +msgid "package synopsis" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21825 +msgid "" +"As we have seen before, each package in GNU@tie{}Guix includes a synopsis and a description (@pxref{Defining Packages}). Synopses " +"and descriptions are important: They are what @command{guix package --search} searches, and a crucial piece of information to help " +"users determine whether a given package suits their needs. Consequently, packagers should pay attention to what goes into them." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21833 +msgid "" +"Synopses must start with a capital letter and must not end with a period. They must not start with ``a'' or ``the'', which usually " +"does not bring anything; for instance, prefer ``File-frobbing tool'' over ``A tool that frobs files''. The synopsis should say what " +"the package is---e.g., ``Core GNU utilities (file, text, shell)''---or what it is used for---e.g., the synopsis for GNU@tie{}grep is " +"``Print lines matching a pattern''." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21843 +msgid "" +"Keep in mind that the synopsis must be meaningful for a very wide audience. For example, ``Manipulate alignments in the SAM " +"format'' might make sense for a seasoned bioinformatics researcher, but might be fairly unhelpful or even misleading to a non-" +"specialized audience. It is a good idea to come up with a synopsis that gives an idea of the application domain of the package. In " +"this example, this might give something like ``Manipulate nucleotide sequence alignments'', which hopefully gives the user a better " +"idea of whether this is what they are looking for." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21851 +msgid "" +"Descriptions should take between five and ten lines. Use full sentences, and avoid using acronyms without first introducing them. " +"Please avoid marketing phrases such as ``world-leading'', ``industrial-strength'', and ``next-generation'', and avoid superlatives " +"like ``the most advanced''---they are not helpful to users looking for a package and may even sound suspicious. Instead, try to be " +"factual, mentioning use cases and features." +msgstr "" + +#. type: cindex +#: doc/guix.texi:21852 +#, no-wrap +msgid "Texinfo markup, in package descriptions" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21861 +msgid "" +"Descriptions can include Texinfo markup, which is useful to introduce ornaments such as @code{@@code} or @code{@@dfn}, bullet lists, " +"or hyperlinks (@pxref{Overview,,, texinfo, GNU Texinfo}). However you should be careful when using some characters for example " +"@samp{@@} and curly braces which are the basic special characters in Texinfo (@pxref{Special Characters,,, texinfo, GNU Texinfo}). " +"User interfaces such as @command{guix package --show} take care of rendering it appropriately." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21867 +msgid "" +"Synopses and descriptions are translated by volunteers @uref{http://translationproject.org/domain/guix-packages.html, at the " +"Translation Project} so that as many users as possible can read them in their native language. User interfaces search them and " +"display them in the language specified by the current locale." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21872 +msgid "" +"To allow @command{xgettext} to extract them as translatable strings, synopses and descriptions @emph{must be literal strings}. This " +"means that you cannot use @code{string-append} or @code{format} to construct these strings:" +msgstr "" + +#. type: lisp +#: doc/guix.texi:21878 +#, no-wrap +msgid "" +"(package\n" +" ;; @dots{}\n" +" (synopsis \"This is translatable\")\n" +" (description (string-append \"This is \" \"*not*\" \" translatable.\")))\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21886 +msgid "" +"Translation is a lot of work so, as a packager, please pay even more attention to your synopses and descriptions as every change may " +"entail additional work for translators. In order to help them, it is possible to make recommendations or instructions visible to " +"them by inserting special comments like this (@pxref{xgettext Invocation,,, gettext, GNU Gettext}):" +msgstr "" + +#. type: example +#: doc/guix.texi:21891 +#, no-wrap +msgid "" +";; TRANSLATORS: \"X11 resize-and-rotate\" should not be translated.\n" +"(description \"ARandR is designed to provide a simple visual front end\n" +"for the X11 resize-and-rotate (RandR) extension. @dots{}\")\n" +msgstr "" + +#. type: cindex +#: doc/guix.texi:21897 +#, no-wrap +msgid "python" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21903 +msgid "" +"We currently package Python 2 and Python 3, under the Scheme variable names @code{python-2} and @code{python} as explained in " +"@ref{Version Numbers}. To avoid confusion and naming clashes with other programming languages, it seems desirable that the name of " +"a package for a Python module contains the word @code{python}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21909 +msgid "" +"Some modules are compatible with only one version of Python, others with both. If the package Foo compiles only with Python 3, we " +"name it @code{python-foo}; if it compiles only with Python 2, we name it @code{python2-foo}. If it is compatible with both versions, " +"we create two packages with the corresponding names." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21915 +msgid "" +"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}. If the project name starts with @code{py} (e.g. @code{pytz}), we keep it " +"and prefix it as described above." +msgstr "" + +#. type: subsubsection +#: doc/guix.texi:21916 +#, no-wrap +msgid "Specifying Dependencies" +msgstr "" + +#. type: cindex +#: doc/guix.texi:21917 +#, no-wrap +msgid "inputs, for Python packages" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21922 +msgid "" +"Dependency information for Python packages is usually available in the package source tree, with varying degrees of accuracy: in the " +"@file{setup.py} file, in @file{requirements.txt}, or in @file{tox.ini}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21928 +msgid "" +"Your mission, when writing a recipe for a Python package, is to map these dependencies to the appropriate type of " +"``input'' (@pxref{package Reference, inputs}). Although the @code{pypi} importer normally does a good job (@pxref{Invoking guix " +"import}), you may want to check the following check list to determine which dependency goes where." +msgstr "" + +#. type: itemize +#: doc/guix.texi:21936 +msgid "" +"We currently package Python 2 with @code{setuptools} and @code{pip} installed like Python 3.4 has per default. Thus you don't need " +"to specify either of these as an input. @command{guix lint} will warn you if you do." +msgstr "" + +#. type: itemize +#: doc/guix.texi:21942 +msgid "" +"Python dependencies required at run time go into @code{propagated-inputs}. They are typically defined with the " +"@code{install_requires} keyword in @file{setup.py}, or in the @file{requirements.txt} file." +msgstr "" + +#. type: itemize +#: doc/guix.texi:21950 +msgid "" +"Python packages required only at build time---e.g., those listed with the @code{setup_requires} keyword in @file{setup.py}---or only " +"for testing---e.g., those in @code{tests_require}---go into @code{native-inputs}. The rationale is that (1) they do not need to be " +"propagated because they are not needed at run time, and (2) in a cross-compilation context, it's the ``native'' input that we'd want." +msgstr "" + +#. type: itemize +#: doc/guix.texi:21954 +msgid "" +"Examples are the @code{pytest}, @code{mock}, and @code{nose} test frameworks. Of course if any of these packages is also required " +"at run-time, it needs to go to @code{propagated-inputs}." +msgstr "" + +#. type: itemize +#: doc/guix.texi:21959 +msgid "" +"Anything that does not fall in the previous categories goes to @code{inputs}, for example programs or C libraries required for " +"building Python packages containing C extensions." +msgstr "" + +#. type: itemize +#: doc/guix.texi:21965 +msgid "" +"If a Python package has optional dependencies (@code{extras_require}), it is up to you to decide whether to add them or not, based " +"on their usefulness/overhead ratio (@pxref{Submitting Patches, @command{guix size}})." +msgstr "" + +#. type: cindex +#: doc/guix.texi:21972 +#, no-wrap +msgid "perl" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21983 +msgid "" +"Perl programs standing for themselves are named as any other package, using the lowercase upstream name. For Perl packages " +"containing a single class, we use the lowercase class name, replace all occurrences of @code{::} by dashes and prepend the prefix " +"@code{perl-}. So the class @code{XML::Parser} becomes @code{perl-xml-parser}. Modules containing several classes keep their " +"lowercase upstream name and are also prepended by @code{perl-}. Such modules tend to have the word @code{perl} somewhere in their " +"name, which gets dropped in favor of the prefix. For instance, @code{libwww-perl} becomes @code{perl-libwww}." +msgstr "" + +#. type: cindex +#: doc/guix.texi:21988 +#, no-wrap +msgid "java" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21991 +msgid "Java programs standing for themselves are named as any other package, using the lowercase upstream name." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21997 +msgid "" +"To avoid confusion and naming clashes with other programming languages, it is desirable that the name of a package for a Java " +"package is prefixed with @code{java-}. If a project already contains the word @code{java}, we drop this; for instance, the package " +"@code{ngsjava} is packaged under the name @code{java-ngs}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:22003 +msgid "" +"For Java packages containing a single class or a small class hierarchy, we use the lowercase class name, replace all occurrences of " +"@code{.} by dashes and prepend the prefix @code{java-}. So the class @code{apache.commons.cli} becomes package @code{java-apache-" +"commons-cli}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:22014 +msgid "" +"For fonts that are in general not installed by a user for typesetting purposes, or that are distributed as part of a larger software " +"package, we rely on the general packaging rules for software; for instance, this applies to the fonts delivered as part of the X.Org " +"system or fonts that are part of TeX Live." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:22018 +msgid "" +"To make it easier for a user to search for fonts, names for other packages containing only fonts are constructed as follows, " +"independently of the upstream package name." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:22026 +msgid "" +"The name of a package containing only one font family starts with @code{font-}; it is followed by the foundry name and a dash " +"@code{-} if the foundry is known, and the font family name, in which spaces are replaced by dashes (and as usual, all upper case " +"letters are transformed to lower case). For example, the Gentium font family by SIL is packaged under the name @code{font-sil-" +"gentium}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:22035 +msgid "" +"For a package containing several font families, the name of the collection is used in the place of the font family name. For " +"instance, the Liberation fonts consist of three families, Liberation Sans, Liberation Serif and Liberation Mono. These could be " +"packaged separately under the names @code{font-liberation-sans} and so on; but as they are distributed together under a common name, " +"we prefer to package them together as @code{font-liberation}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:22041 +msgid "" +"In the case where several formats of the same font family or font collection are packaged separately, a short form of the format, " +"prepended by a dash, is added to the package name. We use @code{-ttf} for TrueType fonts, @code{-otf} for OpenType fonts and @code{-" +"type1} for PostScript Type 1 fonts." +msgstr "" + +#. type: cindex +#: doc/guix.texi:22049 +#, no-wrap +msgid "bootstrapping" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:22059 +msgid "" +"Bootstrapping in our context refers to how the distribution gets built ``from nothing''. Remember that the build environment of a " +"derivation contains nothing but its declared inputs (@pxref{Introduction}). So there's an obvious chicken-and-egg problem: how does " +"the first package get built? How does the first compiler get compiled? Note that this is a question of interest only to the curious " +"hacker, not to the regular user, so you can shamelessly skip this section if you consider yourself a ``regular user''." +msgstr "" + +#. type: cindex +#: doc/guix.texi:22060 doc/guix.texi:22182 +#, no-wrap +msgid "bootstrap binaries" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:22070 +msgid "" +"The GNU system is primarily made of C code, with libc at its core. The GNU build system itself assumes the availability of a Bourne " +"shell and command-line tools provided by GNU Coreutils, Awk, Findutils, `sed', and `grep'. Furthermore, build programs---programs " +"that run @code{./configure}, @code{make}, etc.---are written in Guile Scheme (@pxref{Derivations}). Consequently, to be able to " +"build anything at all, from scratch, Guix relies on pre-built binaries of Guile, GCC, Binutils, libc, and the other packages " +"mentioned above---the @dfn{bootstrap binaries}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:22073 +msgid "These bootstrap binaries are ``taken for granted'', though we can also re-create them if needed (more on that later)." +msgstr "" + +#. type: unnumberedsubsec +#: doc/guix.texi:22074 +#, no-wrap +msgid "Preparing to Use the Bootstrap Binaries" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:22079 +msgid "@image{images/bootstrap-graph,6in,,Dependency graph of the early bootstrap derivations}" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:22084 +msgid "" +"The figure above shows the very beginning of the dependency graph of the distribution, corresponding to the package definitions of " +"the @code{(gnu packages bootstrap)} module. A similar figure can be generated with @command{guix graph} (@pxref{Invoking guix " +"graph}), along the lines of:" +msgstr "" + +#. type: example +#: doc/guix.texi:22089 +#, no-wrap +msgid "" +"guix graph -t derivation \\\n" +" -e '(@@@@ (gnu packages bootstrap) %bootstrap-gcc)' \\\n" +" | dot -Tps > t.ps\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:22098 +msgid "" +"At this level of detail, things are slightly complex. First, Guile itself consists of an ELF executable, along with many source and " +"compiled Scheme files that are dynamically loaded when it runs. This gets stored in the @file{guile-2.0.7.tar.xz} tarball shown in " +"this graph. This tarball is part of Guix's ``source'' distribution, and gets inserted into the store with @code{add-to-store} " +"(@pxref{The Store})." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:22107 +msgid "" +"But how do we write a derivation that unpacks this tarball and adds it to the store? To solve this problem, the @code{guile-" +"bootstrap-2.0.drv} derivation---the first one that gets built---uses @code{bash} as its builder, which runs @code{build-bootstrap-" +"guile.sh}, which in turn calls @code{tar} to unpack the tarball. Thus, @file{bash}, @file{tar}, @file{xz}, and @file{mkdir} are " +"statically-linked binaries, also part of the Guix source distribution, whose sole purpose is to allow the Guile tarball to be " +"unpacked." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:22119 +msgid "" +"Once @code{guile-bootstrap-2.0.drv} is built, we have a functioning Guile that can be used to run subsequent build programs. Its " +"first task is to download tarballs containing the other pre-built binaries---this is what the @code{.tar.xz.drv} derivations do. " +"Guix modules such as @code{ftp-client.scm} are used for this purpose. The @code{module-import.drv} derivations import those modules " +"in a directory in the store, using the original layout. The @code{module-import-compiled.drv} derivations compile those modules, " +"and write them in an output directory with the right layout. This corresponds to the @code{#:modules} argument of @code{build-" +"expression->derivation} (@pxref{Derivations})." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:22123 +msgid "" +"Finally, the various tarballs are unpacked by the derivations @code{gcc-bootstrap-0.drv}, @code{glibc-bootstrap-0.drv}, etc., at " +"which point we have a working C tool chain." +msgstr "" + +#. type: unnumberedsubsec +#: doc/guix.texi:22125 +#, no-wrap +msgid "Building the Build Tools" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:22134 +msgid "" +"Bootstrapping is complete when we have a full tool chain that does not depend on the pre-built bootstrap tools discussed above. " +"This no-dependency requirement is verified by checking whether the files of the final tool chain contain references to the @file{/" +"gnu/store} directories of the bootstrap inputs. The process that leads to this ``final'' tool chain is described by the package " +"definitions found in the @code{(gnu packages commencement)} module." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:22141 +msgid "" +"The @command{guix graph} command allows us to ``zoom out'' compared to the graph above, by looking at the level of package objects " +"instead of individual derivations---remember that a package may translate to several derivations, typically one derivation to " +"download its source, one to build the Guile modules it needs, and one to actually build the package from source. The command:" +msgstr "" + +#. type: example +#: doc/guix.texi:22146 +#, no-wrap +msgid "" +"guix graph -t bag \\\n" +" -e '(@@@@ (gnu packages commencement)\n" +" glibc-final-with-bootstrap-bash)' | dot -Tps > t.ps\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:22153 +msgid "" +"produces the dependency graph leading to the ``final'' C library@footnote{You may notice the @code{glibc-intermediate} label, " +"suggesting that it is not @emph{quite} final, but as a good approximation, we will consider it final.}, depicted below." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:22155 +msgid "@image{images/bootstrap-packages,6in,,Dependency graph of the early packages}" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:22161 +msgid "" +"The first tool that gets built with the bootstrap binaries is GNU@tie{}Make---noted @code{make-boot0} above---which is a " +"prerequisite for all the following packages. From there Findutils and Diffutils get built." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:22166 +msgid "" +"Then come the first-stage Binutils and GCC, built as pseudo cross tools---i.e., with @code{--target} equal to @code{--host}. They " +"are used to build libc. Thanks to this cross-build trick, this libc is guaranteed not to hold any reference to the initial tool " +"chain." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:22172 +msgid "" +"From there the final Binutils and GCC (not shown above) are built. GCC uses @code{ld} from the final Binutils, and links programs " +"against the just-built libc. This tool chain is used to build the other packages used by Guix and by the GNU Build System: Guile, " +"Bash, Coreutils, etc." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:22178 +msgid "" +"And voilà! At this point we have the complete set of build tools that the GNU Build System expects. These are in the @code{%final-" +"inputs} variable of the @code{(gnu packages commencement)} module, and are implicitly used by any package that uses @code{gnu-build-" +"system} (@pxref{Build Systems, @code{gnu-build-system}})." +msgstr "" + +#. type: unnumberedsubsec +#: doc/guix.texi:22180 +#, no-wrap +msgid "Building the Bootstrap Binaries" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:22187 +msgid "" +"Because the final tool chain does not depend on the bootstrap binaries, those rarely need to be updated. Nevertheless, it is useful " +"to have an automated way to produce them, should an update occur, and this is what the @code{(gnu packages make-bootstrap)} module " +"provides." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:22191 +msgid "" +"The following command builds the tarballs containing the bootstrap binaries (Guile, Binutils, GCC, libc, and a tarball containing a " +"mixture of Coreutils and other basic command-line tools):" +msgstr "" + +#. type: example +#: doc/guix.texi:22194 +#, no-wrap +msgid "guix build bootstrap-tarballs\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:22199 +msgid "" +"The generated tarballs are those that should be referred to in the @code{(gnu packages bootstrap)} module mentioned at the beginning " +"of this section." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:22205 +msgid "" +"Still here? Then perhaps by now you've started to wonder: when do we reach a fixed point? That is an interesting question! The " +"answer is unknown, but if you would like to investigate further (and have significant computational and storage resources to do so), " +"then let us know." +msgstr "" + +#. type: unnumberedsubsec +#: doc/guix.texi:22206 +#, no-wrap +msgid "Reducing the Set of Bootstrap Binaries" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:22214 +msgid "" +"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 big chunks of binary code are practically non-auditable, which makes it hard to establish what source code produced " +"them. Every unauditable binary also leaves us vulnerable to compiler backdoors as described by Ken Thompson in the 1984 paper " +"@emph{Reflections on Trusting Trust}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:22220 +msgid "" +"This is mitigated by the fact that our bootstrap binaries were generated from an earlier Guix revision. Nevertheless it lacks the " +"level of transparency that we get in the rest of the package dependency graph, where Guix always gives us a source-to-binary " +"mapping. Thus, our goal is to reduce the set of bootstrap binaries to the bare minimum." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:22226 +msgid "" +"The @uref{http://bootstrappable.org, Bootstrappable.org web site} lists on-going projects to do that. One of these is about " +"replacing the bootstrap GCC with a sequence of assemblers, interpreters, and compilers of increasing complexity, which could be " +"built from source starting from a simple and auditable assembler. Your help is welcome!" +msgstr "" + +#. type: section +#: doc/guix.texi:22229 +#, no-wrap +msgid "Porting to a New Platform" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:22238 +msgid "" +"As discussed above, the GNU distribution is self-contained, and self-containment is achieved by relying on pre-built ``bootstrap " +"binaries'' (@pxref{Bootstrapping}). These binaries are specific to an operating system kernel, CPU architecture, and application " +"binary interface (ABI). Thus, to port the distribution to a platform that is not yet supported, one must build those bootstrap " +"binaries, and update the @code{(gnu packages bootstrap)} module to use them on that platform." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:22243 +msgid "" +"Fortunately, Guix can @emph{cross compile} those bootstrap binaries. When everything goes well, and assuming the GNU tool chain " +"supports the target platform, this can be as simple as running a command like this one:" +msgstr "" + +#. type: example +#: doc/guix.texi:22246 +#, no-wrap +msgid "guix build --target=armv5tel-linux-gnueabi bootstrap-tarballs\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:22253 +msgid "" +"For this to work, the @code{glibc-dynamic-linker} procedure in @code{(gnu packages bootstrap)} must be augmented to return the right " +"file name for libc's dynamic linker on that platform; likewise, @code{system->linux-architecture} in @code{(gnu packages linux)} " +"must be taught about the new platform." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:22262 +msgid "" +"Once these are built, the @code{(gnu packages bootstrap)} module needs to be updated to refer to these binaries on the target " +"platform. That is, the hashes and URLs of the bootstrap tarballs for the new platform must be added alongside those of the " +"currently supported platforms. The bootstrap Guile tarball is treated specially: it is expected to be available locally, and " +"@file{gnu/local.mk} has rules do download it for the supported architectures; a rule for the new platform must be added as well." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:22271 +msgid "" +"In practice, there may be some complications. First, it may be that the extended GNU triplet that specifies an ABI (like the " +"@code{eabi} suffix above) is not recognized by all the GNU tools. Typically, glibc recognizes some of these, whereas GCC uses an " +"extra @code{--with-abi} configure flag (see @code{gcc.scm} for examples of how to handle this). Second, some of the required " +"packages could fail to build for that platform. Lastly, the generated binaries could be broken for some reason." +msgstr "" + +#. type: include +#: doc/guix.texi:22273 +#, no-wrap +msgid "contributing.texi" +msgstr "contributing.fr.texi" + +#. type: Plain text +#: doc/guix.texi:22286 +msgid "" +"Guix is based on the @uref{http://nixos.org/nix/, Nix package manager}, which was designed and implemented by Eelco Dolstra, with " +"contributions from other people (see the @file{nix/AUTHORS} file in Guix.) Nix pioneered functional package management, and " +"promoted unprecedented features, such as transactional package upgrades and rollbacks, per-user profiles, and referentially " +"transparent build processes. Without this work, Guix would not exist." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:22289 +msgid "The Nix-based software distributions, Nixpkgs and NixOS, have also been an inspiration for Guix." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:22295 +msgid "" +"GNU@tie{}Guix itself is a collective work with contributions from a number of people. See the @file{AUTHORS} file in Guix for more " +"information on these fine people. The @file{THANKS} file lists people who have helped by reporting bugs, taking care of the " +"infrastructure, providing artwork and themes, making suggestions, and more---thank you!" +msgstr "" + +#. type: cindex +#: doc/guix.texi:22300 +#, no-wrap +msgid "license, GNU Free Documentation License" +msgstr "license, GNU Free Documentation License" + +#. type: include +#: doc/guix.texi:22301 +#, no-wrap +msgid "fdl-1.3.texi" +msgstr "fdl-1.3.texi" diff --git a/po/doc/guix.pot b/po/doc/guix.pot new file mode 100644 index 0000000000..93ba711403 --- /dev/null +++ b/po/doc/guix.pot @@ -0,0 +1,46344 @@ +# SOME DESCRIPTIVE TITLE +# Copyright (C) YEAR Ludovic Courtès +# This file is distributed under the same license as the guix package. +# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: guix 0.14.0.4279-63c2a\n" +"Report-Msgid-Bugs-To: ludo@gnu.org\n" +"POT-Creation-Date: 2018-04-19 21:17+0200\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" +"Language-Team: LANGUAGE <LL@li.org>\n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. type: Plain text +#: doc/guix.texi:7 +msgid "@documentencoding UTF-8" +msgstr "" + +#. type: title +#: doc/guix.texi:7 doc/guix.texi:77 +#, no-wrap +msgid "GNU Guix Reference Manual" +msgstr "" + +#. type: include +#: doc/guix.texi:10 +#, no-wrap +msgid "version.texi" +msgstr "" + +#. type: copying +#: doc/guix.texi:51 +msgid "" +"Copyright @copyright{} 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic " +"Courtès@* Copyright @copyright{} 2013, 2014, 2016 Andreas Enge@* Copyright " +"@copyright{} 2013 Nikita Karetnikov@* Copyright @copyright{} 2014, 2015, " +"2016 Alex Kost@* Copyright @copyright{} 2015, 2016 Mathieu Lirzin@* " +"Copyright @copyright{} 2014 Pierre-Antoine Rault@* Copyright @copyright{} " +"2015 Taylan Ulrich Bayırlı/Kammer@* Copyright @copyright{} 2015, 2016, 2017 " +"Leo Famulari@* Copyright @copyright{} 2015, 2016, 2017, 2018 Ricardo " +"Wurmus@* Copyright @copyright{} 2016 Ben Woodcroft@* Copyright @copyright{} " +"2016, 2017, 2018 Chris Marusich@* Copyright @copyright{} 2016, 2017, 2018 " +"Efraim Flashner@* Copyright @copyright{} 2016 John Darrington@* Copyright " +"@copyright{} 2016, 2017 Nils Gillmann@* Copyright @copyright{} 2016, 2017 " +"Jan Nieuwenhuizen@* Copyright @copyright{} 2016 Julien Lepiller@* Copyright " +"@copyright{} 2016 Alex ter Weele@* Copyright @copyright{} 2017, 2018 Clément " +"Lassieur@* Copyright @copyright{} 2017 Mathieu Othacehe@* Copyright " +"@copyright{} 2017 Federico Beffa@* Copyright @copyright{} 2017 Carlo " +"Zancanaro@* Copyright @copyright{} 2017 Thomas Danckaert@* Copyright " +"@copyright{} 2017 humanitiesNerd@* Copyright @copyright{} 2017 Christopher " +"Allan Webber@* Copyright @copyright{} 2017 Marius Bakke@* Copyright " +"@copyright{} 2017 Hartmut Goebel@* Copyright @copyright{} 2017 Maxim " +"Cournoyer@* Copyright @copyright{} 2017, 2018 Tobias Geerinckx-Rice@* " +"Copyright @copyright{} 2017 George Clemmer@* Copyright @copyright{} 2017 " +"Andy Wingo@* Copyright @copyright{} 2017, 2018 Arun Isaac@* Copyright " +"@copyright{} 2017 nee@* Copyright @copyright{} 2018 Rutger Helling@* " +"Copyright @copyright{} 2018 Oleg Pykhalov@* Copyright @copyright{} 2018 Mike " +"Gerwitz" +msgstr "" + +#. type: copying +#: doc/guix.texi:58 +msgid "" +"Permission is granted to copy, distribute and/or modify this document under " +"the terms of the GNU Free Documentation License, Version 1.3 or any later " +"version published by the Free Software Foundation; with no Invariant " +"Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the " +"license is included in the section entitled ``GNU Free Documentation " +"License''." +msgstr "" + +#. type: dircategory +#: doc/guix.texi:60 +#, no-wrap +msgid "System administration" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:67 +msgid "Guix: (guix)" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:67 +msgid "Manage installed software and system configuration." +msgstr "" + +#. type: menuentry +#: doc/guix.texi:67 +msgid "guix package: (guix)Invoking guix package" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:67 +msgid "Installing, removing, and upgrading packages." +msgstr "" + +#. type: menuentry +#: doc/guix.texi:67 +msgid "guix gc: (guix)Invoking guix gc" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:67 +msgid "Reclaiming unused disk space." +msgstr "" + +#. type: menuentry +#: doc/guix.texi:67 +msgid "guix pull: (guix)Invoking guix pull" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:67 +msgid "Update the list of available packages." +msgstr "" + +#. type: menuentry +#: doc/guix.texi:67 +msgid "guix system: (guix)Invoking guix system" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:67 +msgid "Manage the operating system configuration." +msgstr "" + +#. type: dircategory +#: doc/guix.texi:69 +#, no-wrap +msgid "Software development" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:74 +msgid "guix environment: (guix)Invoking guix environment" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:74 +msgid "Building development environments with Guix." +msgstr "" + +#. type: menuentry +#: doc/guix.texi:74 +msgid "guix build: (guix)Invoking guix build" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:74 +msgid "Building packages." +msgstr "" + +#. type: menuentry +#: doc/guix.texi:74 +msgid "guix pack: (guix)Invoking guix pack" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:74 +msgid "Creating binary bundles." +msgstr "" + +#. type: subtitle +#: doc/guix.texi:78 +#, no-wrap +msgid "Using the GNU Guix Functional Package Manager" +msgstr "" + +#. type: author +#: doc/guix.texi:79 +#, no-wrap +msgid "The GNU Guix Developers" +msgstr "" + +#. type: titlepage +#: doc/guix.texi:85 +msgid "Edition @value{EDITION} @* @value{UPDATED} @*" +msgstr "" + +#. type: node +#: doc/guix.texi:92 +#, no-wrap +msgid "Top" +msgstr "" + +#. type: top +#: doc/guix.texi:93 +#, no-wrap +msgid "GNU Guix" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:97 +msgid "" +"This document describes GNU Guix version @value{VERSION}, a functional " +"package management tool written for the GNU system." +msgstr "" + +#. type: chapter +#: doc/guix.texi:106 doc/guix.texi:294 doc/guix.texi:295 +#, no-wrap +msgid "Introduction" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:106 +msgid "What is Guix about?" +msgstr "" + +#. type: chapter +#: doc/guix.texi:106 doc/guix.texi:116 doc/guix.texi:367 doc/guix.texi:368 +#, no-wrap +msgid "Installation" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:106 +msgid "Installing Guix." +msgstr "" + +#. type: chapter +#: doc/guix.texi:106 doc/guix.texi:131 doc/guix.texi:1652 doc/guix.texi:1653 +#, no-wrap +msgid "Package Management" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:106 +msgid "Package installation, upgrade, etc." +msgstr "" + +#. type: chapter +#: doc/guix.texi:106 doc/guix.texi:151 doc/guix.texi:3106 doc/guix.texi:3107 +#, no-wrap +msgid "Programming Interface" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:106 +msgid "Using Guix in Scheme." +msgstr "" + +#. type: chapter +#: doc/guix.texi:106 doc/guix.texi:165 doc/guix.texi:5362 doc/guix.texi:5363 +#, no-wrap +msgid "Utilities" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:106 +msgid "Package management commands." +msgstr "" + +#. type: chapter +#: doc/guix.texi:106 doc/guix.texi:190 doc/guix.texi:7981 doc/guix.texi:7982 +#, no-wrap +msgid "GNU Distribution" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:106 +msgid "Software for your friendly GNU system." +msgstr "" + +#. type: menuentry +#: doc/guix.texi:106 doc/guix.texi:276 +msgid "Contributing" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:106 +msgid "Your help needed!" +msgstr "" + +#. type: chapter +#: doc/guix.texi:111 doc/guix.texi:22293 doc/guix.texi:22294 +#, no-wrap +msgid "Acknowledgments" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:111 +msgid "Thanks!" +msgstr "" + +#. type: appendix +#: doc/guix.texi:111 doc/guix.texi:22315 doc/guix.texi:22316 +#, no-wrap +msgid "GNU Free Documentation License" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:111 +msgid "The license of this manual." +msgstr "" + +#. type: unnumbered +#: doc/guix.texi:111 doc/guix.texi:22321 doc/guix.texi:22322 +#, no-wrap +msgid "Concept Index" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:111 +msgid "Concepts." +msgstr "" + +#. type: unnumbered +#: doc/guix.texi:111 doc/guix.texi:22325 doc/guix.texi:22326 +#, no-wrap +msgid "Programming Index" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:111 +msgid "Data types, functions, and variables." +msgstr "" + +#. type: menuentry +#: doc/guix.texi:114 +msgid "--- The Detailed Node Listing ---" +msgstr "" + +#. type: section +#: doc/guix.texi:123 doc/guix.texi:398 doc/guix.texi:400 doc/guix.texi:401 +#, no-wrap +msgid "Binary Installation" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:123 doc/guix.texi:398 +msgid "Getting Guix running in no time!" +msgstr "" + +#. type: section +#: doc/guix.texi:123 doc/guix.texi:398 doc/guix.texi:596 doc/guix.texi:597 +#, no-wrap +msgid "Requirements" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:123 doc/guix.texi:398 +msgid "Software needed to build and run Guix." +msgstr "" + +#. type: section +#: doc/guix.texi:123 doc/guix.texi:398 doc/guix.texi:678 doc/guix.texi:679 +#, no-wrap +msgid "Running the Test Suite" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:123 doc/guix.texi:398 +msgid "Testing Guix." +msgstr "" + +#. type: section +#: doc/guix.texi:123 doc/guix.texi:125 doc/guix.texi:398 doc/guix.texi:743 doc/guix.texi:744 +#, no-wrap +msgid "Setting Up the Daemon" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:123 doc/guix.texi:398 +msgid "Preparing the build daemon's environment." +msgstr "" + +#. type: node +#: doc/guix.texi:123 doc/guix.texi:398 doc/guix.texi:1176 +#, no-wrap +msgid "Invoking guix-daemon" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:123 doc/guix.texi:398 +msgid "Running the build daemon." +msgstr "" + +#. type: section +#: doc/guix.texi:123 doc/guix.texi:398 doc/guix.texi:1441 doc/guix.texi:1442 +#, no-wrap +msgid "Application Setup" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:123 doc/guix.texi:398 +msgid "Application-specific setup." +msgstr "" + +#. type: subsection +#: doc/guix.texi:129 doc/guix.texi:763 doc/guix.texi:765 doc/guix.texi:766 +#, no-wrap +msgid "Build Environment Setup" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:129 doc/guix.texi:763 +msgid "Preparing the isolated build environment." +msgstr "" + +#. type: node +#: doc/guix.texi:129 doc/guix.texi:763 doc/guix.texi:882 +#, no-wrap +msgid "Daemon Offload Setup" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:129 doc/guix.texi:763 +msgid "Offloading builds to remote machines." +msgstr "" + +#. type: subsection +#: doc/guix.texi:129 doc/guix.texi:763 doc/guix.texi:1090 doc/guix.texi:1091 +#, no-wrap +msgid "SELinux Support" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:129 doc/guix.texi:763 +msgid "Using an SELinux policy for the daemon." +msgstr "" + +#. type: section +#: doc/guix.texi:140 doc/guix.texi:1682 doc/guix.texi:1684 doc/guix.texi:1685 +#, no-wrap +msgid "Features" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:140 doc/guix.texi:1682 +msgid "How Guix will make your life brighter." +msgstr "" + +#. type: node +#: doc/guix.texi:140 doc/guix.texi:1682 doc/guix.texi:1761 +#, no-wrap +msgid "Invoking guix package" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:140 doc/guix.texi:1682 +msgid "Package installation, removal, etc." +msgstr "" + +#. type: section +#: doc/guix.texi:140 doc/guix.texi:142 doc/guix.texi:1682 doc/guix.texi:2245 doc/guix.texi:2246 +#, no-wrap +msgid "Substitutes" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:140 doc/guix.texi:1682 +msgid "Downloading pre-built binaries." +msgstr "" + +#. type: section +#: doc/guix.texi:140 doc/guix.texi:1682 doc/guix.texi:2478 doc/guix.texi:2479 +#, no-wrap +msgid "Packages with Multiple Outputs" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:140 doc/guix.texi:1682 +msgid "Single source package, multiple outputs." +msgstr "" + +#. type: node +#: doc/guix.texi:140 doc/guix.texi:1682 doc/guix.texi:2532 +#, no-wrap +msgid "Invoking guix gc" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:140 doc/guix.texi:1682 +msgid "Running the garbage collector." +msgstr "" + +#. type: node +#: doc/guix.texi:140 doc/guix.texi:1682 doc/guix.texi:2720 +#, no-wrap +msgid "Invoking guix pull" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:140 doc/guix.texi:1682 +msgid "Fetching the latest Guix and distribution." +msgstr "" + +#. type: node +#: doc/guix.texi:140 doc/guix.texi:1682 doc/guix.texi:2781 +#, no-wrap +msgid "Invoking guix pack" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:140 doc/guix.texi:1682 +msgid "Creating software bundles." +msgstr "" + +#. type: node +#: doc/guix.texi:140 doc/guix.texi:1682 doc/guix.texi:2941 +#, no-wrap +msgid "Invoking guix archive" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:140 doc/guix.texi:1682 +msgid "Exporting and importing store files." +msgstr "" + +#. type: subsection +#: doc/guix.texi:149 doc/guix.texi:2268 doc/guix.texi:2270 doc/guix.texi:2271 +#, no-wrap +msgid "Official Substitute Server" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:149 doc/guix.texi:2268 +msgid "One particular source of substitutes." +msgstr "" + +#. type: subsection +#: doc/guix.texi:149 doc/guix.texi:2268 doc/guix.texi:2300 doc/guix.texi:2301 +#, no-wrap +msgid "Substitute Server Authorization" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:149 doc/guix.texi:2268 +msgid "How to enable or disable substitutes." +msgstr "" + +#. type: subsection +#: doc/guix.texi:149 doc/guix.texi:2268 doc/guix.texi:2373 doc/guix.texi:2374 +#, no-wrap +msgid "Substitute Authentication" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:149 doc/guix.texi:2268 +msgid "How Guix verifies substitutes." +msgstr "" + +#. type: subsection +#: doc/guix.texi:149 doc/guix.texi:2268 doc/guix.texi:2408 doc/guix.texi:2409 +#, no-wrap +msgid "Proxy Settings" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:149 doc/guix.texi:2268 +msgid "How to get substitutes via proxy." +msgstr "" + +#. type: subsection +#: doc/guix.texi:149 doc/guix.texi:2268 doc/guix.texi:2420 doc/guix.texi:2421 +#, no-wrap +msgid "Substitution Failure" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:149 doc/guix.texi:2268 +msgid "What happens when substitution fails." +msgstr "" + +#. type: subsection +#: doc/guix.texi:149 doc/guix.texi:2268 doc/guix.texi:2448 doc/guix.texi:2449 +#, no-wrap +msgid "On Trusting Binaries" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:149 doc/guix.texi:2268 +msgid "How can you trust that binary blob?" +msgstr "" + +#. type: section +#: doc/guix.texi:158 doc/guix.texi:160 doc/guix.texi:3141 doc/guix.texi:3143 doc/guix.texi:3144 +#, no-wrap +msgid "Defining Packages" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:158 doc/guix.texi:3141 +msgid "Defining new packages." +msgstr "" + +#. type: section +#: doc/guix.texi:158 doc/guix.texi:3141 doc/guix.texi:3607 doc/guix.texi:3608 +#, no-wrap +msgid "Build Systems" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:158 doc/guix.texi:3141 +msgid "Specifying how packages are built." +msgstr "" + +#. type: section +#: doc/guix.texi:158 doc/guix.texi:3141 doc/guix.texi:4183 doc/guix.texi:4184 +#, no-wrap +msgid "The Store" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:158 doc/guix.texi:3141 +msgid "Manipulating the package store." +msgstr "" + +#. type: section +#: doc/guix.texi:158 doc/guix.texi:3141 doc/guix.texi:4333 doc/guix.texi:4334 +#, no-wrap +msgid "Derivations" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:158 doc/guix.texi:3141 +msgid "Low-level interface to package derivations." +msgstr "" + +#. type: section +#: doc/guix.texi:158 doc/guix.texi:3141 doc/guix.texi:4511 doc/guix.texi:4512 +#, no-wrap +msgid "The Store Monad" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:158 doc/guix.texi:3141 +msgid "Purely functional interface to the store." +msgstr "" + +#. type: section +#: doc/guix.texi:158 doc/guix.texi:3141 doc/guix.texi:4820 doc/guix.texi:4821 +#, no-wrap +msgid "G-Expressions" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:158 doc/guix.texi:3141 +msgid "Manipulating build expressions." +msgstr "" + +#. type: node +#: doc/guix.texi:163 doc/guix.texi:3389 doc/guix.texi:3392 +#, no-wrap +msgid "package Reference" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:163 doc/guix.texi:3389 +msgid "The package data type." +msgstr "" + +#. type: node +#: doc/guix.texi:163 doc/guix.texi:3389 doc/guix.texi:3519 +#, no-wrap +msgid "origin Reference" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:163 doc/guix.texi:3389 +msgid "The origin data type." +msgstr "" + +#. type: node +#: doc/guix.texi:181 doc/guix.texi:5386 doc/guix.texi:5388 +#, no-wrap +msgid "Invoking guix build" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:181 doc/guix.texi:5386 +msgid "Building packages from the command line." +msgstr "" + +#. type: node +#: doc/guix.texi:181 doc/guix.texi:5386 doc/guix.texi:5968 +#, no-wrap +msgid "Invoking guix edit" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:181 doc/guix.texi:5386 +msgid "Editing package definitions." +msgstr "" + +#. type: node +#: doc/guix.texi:181 doc/guix.texi:5386 doc/guix.texi:5994 +#, no-wrap +msgid "Invoking guix download" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:181 doc/guix.texi:5386 +msgid "Downloading a file and printing its hash." +msgstr "" + +#. type: node +#: doc/guix.texi:181 doc/guix.texi:5386 doc/guix.texi:6047 +#, no-wrap +msgid "Invoking guix hash" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:181 doc/guix.texi:5386 +msgid "Computing the cryptographic hash of a file." +msgstr "" + +#. type: node +#: doc/guix.texi:181 doc/guix.texi:5386 doc/guix.texi:6109 +#, no-wrap +msgid "Invoking guix import" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:181 doc/guix.texi:5386 +msgid "Importing package definitions." +msgstr "" + +#. type: node +#: doc/guix.texi:181 doc/guix.texi:5386 doc/guix.texi:6476 +#, no-wrap +msgid "Invoking guix refresh" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:181 doc/guix.texi:5386 +msgid "Updating package definitions." +msgstr "" + +#. type: node +#: doc/guix.texi:181 doc/guix.texi:5386 doc/guix.texi:6723 +#, no-wrap +msgid "Invoking guix lint" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:181 doc/guix.texi:5386 +msgid "Finding errors in package definitions." +msgstr "" + +#. type: node +#: doc/guix.texi:181 doc/guix.texi:5386 doc/guix.texi:6814 +#, no-wrap +msgid "Invoking guix size" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:181 doc/guix.texi:5386 +msgid "Profiling disk usage." +msgstr "" + +#. type: node +#: doc/guix.texi:181 doc/guix.texi:5386 doc/guix.texi:6930 +#, no-wrap +msgid "Invoking guix graph" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:181 doc/guix.texi:5386 +msgid "Visualizing the graph of packages." +msgstr "" + +#. type: node +#: doc/guix.texi:181 doc/guix.texi:5386 doc/guix.texi:7109 +#, no-wrap +msgid "Invoking guix environment" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:181 doc/guix.texi:5386 +msgid "Setting up development environments." +msgstr "" + +#. type: node +#: doc/guix.texi:181 doc/guix.texi:5386 doc/guix.texi:7428 +#, no-wrap +msgid "Invoking guix publish" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:181 doc/guix.texi:5386 +msgid "Sharing substitutes." +msgstr "" + +#. type: node +#: doc/guix.texi:181 doc/guix.texi:5386 doc/guix.texi:7645 +#, no-wrap +msgid "Invoking guix challenge" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:181 doc/guix.texi:5386 +msgid "Challenging substitute servers." +msgstr "" + +#. type: node +#: doc/guix.texi:181 doc/guix.texi:5386 doc/guix.texi:7784 +#, no-wrap +msgid "Invoking guix copy" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:181 doc/guix.texi:5386 +msgid "Copying to and from a remote store." +msgstr "" + +#. type: node +#: doc/guix.texi:181 doc/guix.texi:5386 doc/guix.texi:7847 +#, no-wrap +msgid "Invoking guix container" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:181 doc/guix.texi:5386 +msgid "Process isolation." +msgstr "" + +#. type: node +#: doc/guix.texi:181 doc/guix.texi:5386 doc/guix.texi:7901 +#, no-wrap +msgid "Invoking guix weather" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:181 doc/guix.texi:5386 +msgid "Assessing substitute availability." +msgstr "" + +#. type: section +#: doc/guix.texi:183 doc/guix.texi:5389 +#, no-wrap +msgid "Invoking @command{guix build}" +msgstr "" + +#. type: subsection +#: doc/guix.texi:188 doc/guix.texi:5440 doc/guix.texi:5442 doc/guix.texi:5443 +#, no-wrap +msgid "Common Build Options" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:188 doc/guix.texi:5440 +msgid "Build options for most commands." +msgstr "" + +#. type: subsection +#: doc/guix.texi:188 doc/guix.texi:5440 doc/guix.texi:5584 doc/guix.texi:5585 +#, no-wrap +msgid "Package Transformation Options" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:188 doc/guix.texi:5440 +msgid "Creating variants of packages." +msgstr "" + +#. type: subsection +#: doc/guix.texi:188 doc/guix.texi:5440 doc/guix.texi:5684 doc/guix.texi:5685 +#, no-wrap +msgid "Additional Build Options" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:188 doc/guix.texi:5440 +msgid "Options specific to 'guix build'." +msgstr "" + +#. type: subsection +#: doc/guix.texi:188 doc/guix.texi:5440 doc/guix.texi:5888 doc/guix.texi:5889 +#, no-wrap +msgid "Debugging Build Failures" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:188 doc/guix.texi:5440 +msgid "Real life packaging experience." +msgstr "" + +#. type: section +#: doc/guix.texi:200 doc/guix.texi:202 doc/guix.texi:8053 doc/guix.texi:8058 doc/guix.texi:8059 +#, no-wrap +msgid "System Installation" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:200 doc/guix.texi:8053 +msgid "Installing the whole operating system." +msgstr "" + +#. type: section +#: doc/guix.texi:200 doc/guix.texi:212 doc/guix.texi:8053 doc/guix.texi:8674 doc/guix.texi:8675 +#, no-wrap +msgid "System Configuration" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:200 doc/guix.texi:8053 +msgid "Configuring the operating system." +msgstr "" + +#. type: section +#: doc/guix.texi:200 doc/guix.texi:8053 doc/guix.texi:21306 doc/guix.texi:21307 +#, no-wrap +msgid "Documentation" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:200 doc/guix.texi:8053 +msgid "Browsing software user manuals." +msgstr "" + +#. type: section +#: doc/guix.texi:200 doc/guix.texi:8053 doc/guix.texi:21370 doc/guix.texi:21371 +#, no-wrap +msgid "Installing Debugging Files" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:200 doc/guix.texi:8053 +msgid "Feeding the debugger." +msgstr "" + +#. type: section +#: doc/guix.texi:200 doc/guix.texi:8053 doc/guix.texi:21436 doc/guix.texi:21437 +#, no-wrap +msgid "Security Updates" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:200 doc/guix.texi:8053 +msgid "Deploying security fixes quickly." +msgstr "" + +#. type: section +#: doc/guix.texi:200 doc/guix.texi:8053 doc/guix.texi:21556 doc/guix.texi:21557 +#, no-wrap +msgid "Package Modules" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:200 doc/guix.texi:8053 +msgid "Packages from the programmer's viewpoint." +msgstr "" + +#. type: section +#: doc/guix.texi:200 doc/guix.texi:265 doc/guix.texi:8053 doc/guix.texi:21610 doc/guix.texi:21611 +#, no-wrap +msgid "Packaging Guidelines" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:200 doc/guix.texi:8053 +msgid "Growing the distribution." +msgstr "" + +#. type: section +#: doc/guix.texi:200 doc/guix.texi:8053 doc/guix.texi:22061 doc/guix.texi:22062 +#, no-wrap +msgid "Bootstrapping" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:200 doc/guix.texi:8053 +msgid "GNU/Linux built from scratch." +msgstr "" + +#. type: node +#: doc/guix.texi:200 doc/guix.texi:8053 doc/guix.texi:22245 +#, no-wrap +msgid "Porting" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:200 doc/guix.texi:8053 +msgid "Targeting another platform or kernel." +msgstr "" + +#. type: subsection +#: doc/guix.texi:210 doc/guix.texi:1126 doc/guix.texi:8090 doc/guix.texi:8092 doc/guix.texi:8093 +#, no-wrap +msgid "Limitations" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:210 doc/guix.texi:8090 +msgid "What you can expect." +msgstr "" + +#. type: subsection +#: doc/guix.texi:210 doc/guix.texi:8090 doc/guix.texi:8136 doc/guix.texi:8137 +#, no-wrap +msgid "Hardware Considerations" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:210 doc/guix.texi:8090 +msgid "Supported hardware." +msgstr "" + +#. type: subsection +#: doc/guix.texi:210 doc/guix.texi:8090 doc/guix.texi:8171 doc/guix.texi:8172 +#, no-wrap +msgid "USB Stick and DVD Installation" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:210 doc/guix.texi:8090 +msgid "Preparing the installation medium." +msgstr "" + +#. type: subsection +#: doc/guix.texi:210 doc/guix.texi:8090 doc/guix.texi:8269 doc/guix.texi:8270 +#, no-wrap +msgid "Preparing for Installation" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:210 doc/guix.texi:8090 +msgid "Networking, partitioning, etc." +msgstr "" + +#. type: subsection +#: doc/guix.texi:210 doc/guix.texi:8090 doc/guix.texi:8508 doc/guix.texi:8509 +#, no-wrap +msgid "Proceeding with the Installation" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:210 doc/guix.texi:8090 +msgid "The real thing." +msgstr "" + +#. type: node +#: doc/guix.texi:210 doc/guix.texi:8090 doc/guix.texi:8605 +#, no-wrap +msgid "Installing GuixSD in a VM" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:210 doc/guix.texi:8090 +msgid "GuixSD playground." +msgstr "" + +#. type: subsection +#: doc/guix.texi:210 doc/guix.texi:8090 doc/guix.texi:8659 doc/guix.texi:8660 +#, no-wrap +msgid "Building the Installation Image" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:210 doc/guix.texi:8090 +msgid "How this comes to be." +msgstr "" + +#. type: subsection +#: doc/guix.texi:228 doc/guix.texi:8715 doc/guix.texi:8717 doc/guix.texi:8718 +#, no-wrap +msgid "Using the Configuration System" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:228 doc/guix.texi:8715 +msgid "Customizing your GNU system." +msgstr "" + +#. type: node +#: doc/guix.texi:228 doc/guix.texi:8715 doc/guix.texi:8933 +#, no-wrap +msgid "operating-system Reference" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:228 doc/guix.texi:8715 +msgid "Detail of operating-system declarations." +msgstr "" + +#. type: subsection +#: doc/guix.texi:228 doc/guix.texi:8715 doc/guix.texi:9087 doc/guix.texi:9088 +#, no-wrap +msgid "File Systems" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:228 doc/guix.texi:8715 +msgid "Configuring file system mounts." +msgstr "" + +#. type: subsection +#: doc/guix.texi:228 doc/guix.texi:8715 doc/guix.texi:9250 doc/guix.texi:9251 +#, no-wrap +msgid "Mapped Devices" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:228 doc/guix.texi:8715 +msgid "Block device extra processing." +msgstr "" + +#. type: subsection +#: doc/guix.texi:228 doc/guix.texi:8715 doc/guix.texi:9371 doc/guix.texi:9372 +#, no-wrap +msgid "User Accounts" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:228 doc/guix.texi:8715 +msgid "Specifying user accounts." +msgstr "" + +#. type: subsection +#: doc/guix.texi:228 doc/guix.texi:1449 doc/guix.texi:8715 doc/guix.texi:9506 doc/guix.texi:9507 +#, no-wrap +msgid "Locales" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:228 doc/guix.texi:8715 +msgid "Language and cultural convention settings." +msgstr "" + +#. type: subsection +#: doc/guix.texi:228 doc/guix.texi:230 doc/guix.texi:8715 doc/guix.texi:9646 doc/guix.texi:9647 +#, no-wrap +msgid "Services" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:228 doc/guix.texi:8715 +msgid "Specifying system services." +msgstr "" + +#. type: subsection +#: doc/guix.texi:228 doc/guix.texi:8715 doc/guix.texi:19675 doc/guix.texi:19676 +#, no-wrap +msgid "Setuid Programs" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:228 doc/guix.texi:8715 +msgid "Programs running with root privileges." +msgstr "" + +#. type: subsection +#: doc/guix.texi:228 doc/guix.texi:1594 doc/guix.texi:8715 doc/guix.texi:19721 doc/guix.texi:19722 +#, no-wrap +msgid "X.509 Certificates" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:228 doc/guix.texi:8715 +msgid "Authenticating HTTPS servers." +msgstr "" + +#. type: subsection +#: doc/guix.texi:228 doc/guix.texi:1492 doc/guix.texi:8715 doc/guix.texi:19784 doc/guix.texi:19785 +#, no-wrap +msgid "Name Service Switch" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:228 doc/guix.texi:8715 +msgid "Configuring libc's name service switch." +msgstr "" + +#. type: subsection +#: doc/guix.texi:228 doc/guix.texi:8715 doc/guix.texi:19922 doc/guix.texi:19923 +#, no-wrap +msgid "Initial RAM Disk" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:228 doc/guix.texi:8715 +msgid "Linux-Libre bootstrapping." +msgstr "" + +#. type: subsection +#: doc/guix.texi:228 doc/guix.texi:8715 doc/guix.texi:20082 doc/guix.texi:20083 +#, no-wrap +msgid "Bootloader Configuration" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:228 doc/guix.texi:8715 +msgid "Configuring the boot loader." +msgstr "" + +#. type: node +#: doc/guix.texi:228 doc/guix.texi:8715 doc/guix.texi:20253 +#, no-wrap +msgid "Invoking guix system" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:228 doc/guix.texi:8715 +msgid "Instantiating a system configuration." +msgstr "" + +#. type: node +#: doc/guix.texi:228 doc/guix.texi:8715 doc/guix.texi:20678 +#, no-wrap +msgid "Running GuixSD in a VM" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:228 doc/guix.texi:8715 +msgid "How to run GuixSD in a virtual machine." +msgstr "" + +#. type: subsection +#: doc/guix.texi:228 doc/guix.texi:258 doc/guix.texi:8715 doc/guix.texi:20789 doc/guix.texi:20790 +#, no-wrap +msgid "Defining Services" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:228 doc/guix.texi:8715 +msgid "Adding new service definitions." +msgstr "" + +#. type: subsubsection +#: doc/guix.texi:256 doc/guix.texi:9718 doc/guix.texi:9720 doc/guix.texi:9721 +#, no-wrap +msgid "Base Services" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:256 doc/guix.texi:9718 +msgid "Essential system services." +msgstr "" + +#. type: subsubsection +#: doc/guix.texi:256 doc/guix.texi:9718 doc/guix.texi:10488 doc/guix.texi:10489 +#, no-wrap +msgid "Scheduled Job Execution" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:256 doc/guix.texi:9718 +msgid "The mcron service." +msgstr "" + +#. type: subsubsection +#: doc/guix.texi:256 doc/guix.texi:9718 doc/guix.texi:10583 doc/guix.texi:10584 +#, no-wrap +msgid "Log Rotation" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:256 doc/guix.texi:9718 +msgid "The rottlog service." +msgstr "" + +#. type: subsubsection +#: doc/guix.texi:256 doc/guix.texi:9718 doc/guix.texi:10685 doc/guix.texi:10686 +#, no-wrap +msgid "Networking Services" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:256 doc/guix.texi:9718 +msgid "Network setup, SSH daemon, etc." +msgstr "" + +#. type: subsubsection +#: doc/guix.texi:256 doc/guix.texi:9718 doc/guix.texi:11386 doc/guix.texi:11387 +#, no-wrap +msgid "X Window" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:256 doc/guix.texi:9718 +msgid "Graphical display." +msgstr "" + +#. type: subsubsection +#: doc/guix.texi:256 doc/guix.texi:9718 doc/guix.texi:11632 doc/guix.texi:11633 +#, no-wrap +msgid "Printing Services" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:256 doc/guix.texi:9718 +msgid "Local and remote printer support." +msgstr "" + +#. type: subsubsection +#: doc/guix.texi:256 doc/guix.texi:9718 doc/guix.texi:12469 doc/guix.texi:12470 +#, no-wrap +msgid "Desktop Services" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:256 doc/guix.texi:9718 +msgid "D-Bus and desktop services." +msgstr "" + +#. type: subsubsection +#: doc/guix.texi:256 doc/guix.texi:9718 doc/guix.texi:12762 doc/guix.texi:12763 +#, no-wrap +msgid "Database Services" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:256 doc/guix.texi:9718 +msgid "SQL databases, key-value stores, etc." +msgstr "" + +#. type: subsubsection +#: doc/guix.texi:256 doc/guix.texi:9718 doc/guix.texi:12886 doc/guix.texi:12887 +#, no-wrap +msgid "Mail Services" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:256 doc/guix.texi:9718 +msgid "IMAP, POP3, SMTP, and all that." +msgstr "" + +#. type: subsubsection +#: doc/guix.texi:256 doc/guix.texi:9718 doc/guix.texi:14338 doc/guix.texi:14339 +#, no-wrap +msgid "Messaging Services" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:256 doc/guix.texi:9718 +msgid "Messaging services." +msgstr "" + +#. type: subsubsection +#: doc/guix.texi:256 doc/guix.texi:9718 doc/guix.texi:14806 doc/guix.texi:14807 +#, no-wrap +msgid "Telephony Services" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:256 doc/guix.texi:9718 +msgid "Telephony services." +msgstr "" + +#. type: subsubsection +#: doc/guix.texi:256 doc/guix.texi:9718 doc/guix.texi:15011 doc/guix.texi:15012 +#, no-wrap +msgid "Monitoring Services" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:256 doc/guix.texi:9718 +msgid "Monitoring services." +msgstr "" + +#. type: subsubsection +#: doc/guix.texi:256 doc/guix.texi:9718 doc/guix.texi:15164 doc/guix.texi:15165 +#, no-wrap +msgid "Kerberos Services" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:256 doc/guix.texi:9718 +msgid "Kerberos services." +msgstr "" + +#. type: subsubsection +#: doc/guix.texi:256 doc/guix.texi:9718 doc/guix.texi:15290 doc/guix.texi:15291 +#, no-wrap +msgid "Web Services" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:256 doc/guix.texi:9718 +msgid "Web servers." +msgstr "" + +#. type: subsubsection +#: doc/guix.texi:256 doc/guix.texi:9718 doc/guix.texi:15899 doc/guix.texi:15900 +#, no-wrap +msgid "Certificate Services" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:256 doc/guix.texi:9718 +msgid "TLS certificates via Let's Encrypt." +msgstr "" + +#. type: subsubsection +#: doc/guix.texi:256 doc/guix.texi:9718 doc/guix.texi:16045 doc/guix.texi:16046 +#, no-wrap +msgid "DNS Services" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:256 doc/guix.texi:9718 +msgid "DNS daemons." +msgstr "" + +#. type: subsubsection +#: doc/guix.texi:256 doc/guix.texi:9718 doc/guix.texi:16449 doc/guix.texi:16450 +#, no-wrap +msgid "VPN Services" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:256 doc/guix.texi:9718 +msgid "VPN daemons." +msgstr "" + +#. type: subsubsection +#: doc/guix.texi:256 doc/guix.texi:9718 doc/guix.texi:16807 doc/guix.texi:16808 +#, no-wrap +msgid "Network File System" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:256 doc/guix.texi:9718 +msgid "NFS related services." +msgstr "" + +#. type: subsubsection +#: doc/guix.texi:256 doc/guix.texi:9718 doc/guix.texi:16922 doc/guix.texi:16923 +#, no-wrap +msgid "Continuous Integration" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:256 doc/guix.texi:9718 +msgid "The Cuirass service." +msgstr "" + +#. type: subsubsection +#: doc/guix.texi:256 doc/guix.texi:9718 doc/guix.texi:17018 doc/guix.texi:17019 +#, no-wrap +msgid "Power management Services" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:256 doc/guix.texi:9718 +msgid "The TLP tool." +msgstr "" + +#. type: subsubsection +#: doc/guix.texi:256 doc/guix.texi:9718 doc/guix.texi:17546 doc/guix.texi:17547 +#, no-wrap +msgid "Audio Services" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:256 doc/guix.texi:9718 +msgid "The MPD." +msgstr "" + +#. type: node +#: doc/guix.texi:256 doc/guix.texi:9718 doc/guix.texi:17596 +#, no-wrap +msgid "Virtualization Services" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:256 doc/guix.texi:9718 +msgid "Virtualization services." +msgstr "" + +#. type: subsubsection +#: doc/guix.texi:256 doc/guix.texi:9718 doc/guix.texi:18389 doc/guix.texi:18390 +#, no-wrap +msgid "Version Control Services" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:256 doc/guix.texi:9718 +msgid "Providing remote access to Git repositories." +msgstr "" + +#. type: subsubsection +#: doc/guix.texi:256 doc/guix.texi:9718 doc/guix.texi:19483 doc/guix.texi:19484 +#, no-wrap +msgid "Game Services" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:256 doc/guix.texi:9718 +msgid "Game servers." +msgstr "" + +#. type: subsubsection +#: doc/guix.texi:256 doc/guix.texi:9718 doc/guix.texi:19514 doc/guix.texi:19515 +#, no-wrap +msgid "Miscellaneous Services" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:256 doc/guix.texi:9718 +msgid "Other services." +msgstr "" + +#. type: subsubsection +#: doc/guix.texi:263 doc/guix.texi:20801 doc/guix.texi:20803 doc/guix.texi:20804 +#, no-wrap +msgid "Service Composition" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:263 doc/guix.texi:20801 +msgid "The model for composing services." +msgstr "" + +#. type: subsubsection +#: doc/guix.texi:263 doc/guix.texi:20801 doc/guix.texi:20859 doc/guix.texi:20860 +#, no-wrap +msgid "Service Types and Services" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:263 doc/guix.texi:20801 +msgid "Types and services." +msgstr "" + +#. type: subsubsection +#: doc/guix.texi:263 doc/guix.texi:20801 doc/guix.texi:20996 doc/guix.texi:20997 +#, no-wrap +msgid "Service Reference" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:263 doc/guix.texi:20801 +msgid "API reference." +msgstr "" + +#. type: subsubsection +#: doc/guix.texi:263 doc/guix.texi:20801 doc/guix.texi:21221 doc/guix.texi:21222 +#, no-wrap +msgid "Shepherd Services" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:263 doc/guix.texi:20801 +msgid "A particular type of service." +msgstr "" + +#. type: subsection +#: doc/guix.texi:274 doc/guix.texi:21685 doc/guix.texi:21687 doc/guix.texi:21688 +#, no-wrap +msgid "Software Freedom" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:274 doc/guix.texi:21685 +msgid "What may go into the distribution." +msgstr "" + +#. type: subsection +#: doc/guix.texi:274 doc/guix.texi:21685 doc/guix.texi:21715 doc/guix.texi:21716 +#, no-wrap +msgid "Package Naming" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:274 doc/guix.texi:21685 +msgid "What's in a name?" +msgstr "" + +#. type: subsection +#: doc/guix.texi:274 doc/guix.texi:21685 doc/guix.texi:21740 doc/guix.texi:21741 +#, no-wrap +msgid "Version Numbers" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:274 doc/guix.texi:21685 +msgid "When the name is not enough." +msgstr "" + +#. type: subsection +#: doc/guix.texi:274 doc/guix.texi:21685 doc/guix.texi:21831 doc/guix.texi:21832 +#, no-wrap +msgid "Synopses and Descriptions" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:274 doc/guix.texi:21685 +msgid "Helping users find the right package." +msgstr "" + +#. type: subsection +#: doc/guix.texi:274 doc/guix.texi:21685 doc/guix.texi:21911 doc/guix.texi:21912 +#, no-wrap +msgid "Python Modules" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:274 doc/guix.texi:21685 +msgid "A touch of British comedy." +msgstr "" + +#. type: subsection +#: doc/guix.texi:274 doc/guix.texi:21685 doc/guix.texi:21986 doc/guix.texi:21987 +#, no-wrap +msgid "Perl Modules" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:274 doc/guix.texi:21685 +msgid "Little pearls." +msgstr "" + +#. type: subsection +#: doc/guix.texi:274 doc/guix.texi:21685 doc/guix.texi:22002 doc/guix.texi:22003 +#, no-wrap +msgid "Java Packages" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:274 doc/guix.texi:21685 +msgid "Coffee break." +msgstr "" + +#. type: subsection +#: doc/guix.texi:274 doc/guix.texi:21685 doc/guix.texi:22022 doc/guix.texi:22023 +#, no-wrap +msgid "Fonts" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:274 doc/guix.texi:21685 +msgid "Fond of fonts." +msgstr "" + +#. type: menuentry +#: doc/guix.texi:282 +msgid "Building from Git" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:282 +msgid "The latest and greatest." +msgstr "" + +#. type: menuentry +#: doc/guix.texi:282 +msgid "Running Guix Before It Is Installed" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:282 +msgid "Hacker tricks." +msgstr "" + +#. type: menuentry +#: doc/guix.texi:282 +msgid "The Perfect Setup" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:282 +msgid "The right tools." +msgstr "" + +#. type: menuentry +#: doc/guix.texi:282 doc/guix.texi:284 +msgid "Coding Style" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:282 +msgid "Hygiene of the contributor." +msgstr "" + +#. type: menuentry +#: doc/guix.texi:282 +msgid "Submitting Patches" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:282 +msgid "Share your work." +msgstr "" + +#. type: menuentry +#: doc/guix.texi:289 +msgid "Programming Paradigm" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:289 +msgid "How to compose your elements." +msgstr "" + +#. type: menuentry +#: doc/guix.texi:289 +msgid "Modules" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:289 +msgid "Where to store your code?" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:289 +msgid "Data Types and Pattern Matching" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:289 +msgid "Implementing data structures." +msgstr "" + +#. type: menuentry +#: doc/guix.texi:289 +msgid "Formatting Code" +msgstr "" + +#. type: menuentry +#: doc/guix.texi:289 +msgid "Writing conventions." +msgstr "" + +#. type: cindex +#: doc/guix.texi:297 +#, no-wrap +msgid "purpose" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:304 +msgid "" +"GNU Guix@footnote{``Guix'' is pronounced like ``geeks'', or ``ɡiːks'' using " +"the international phonetic alphabet (IPA).} is a package management tool for " +"the GNU system. Guix makes it easy for unprivileged users to install, " +"upgrade, or remove packages, to roll back to a previous package set, to " +"build packages from source, and generally assists with the creation and " +"maintenance of software environments." +msgstr "" + +#. type: cindex +#: doc/guix.texi:305 +#, no-wrap +msgid "user interfaces" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:310 +msgid "" +"Guix provides a command-line package management interface (@pxref{Invoking " +"guix package}), a set of command-line utilities (@pxref{Utilities}), as well " +"as Scheme programming interfaces (@pxref{Programming Interface})." +msgstr "" + +#. type: cindex +#: doc/guix.texi:310 +#, no-wrap +msgid "build daemon" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:314 +msgid "" +"Its @dfn{build daemon} is responsible for building packages on behalf of " +"users (@pxref{Setting Up the Daemon}) and for downloading pre-built binaries " +"from authorized sources (@pxref{Substitutes})." +msgstr "" + +#. type: cindex +#: doc/guix.texi:315 +#, no-wrap +msgid "extensibility of the distribution" +msgstr "" + +#. type: cindex +#: doc/guix.texi:316 doc/guix.texi:21578 +#, no-wrap +msgid "customization, of packages" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:325 +msgid "" +"Guix includes package definitions for many GNU and non-GNU packages, all of " +"which @uref{https://www.gnu.org/philosophy/free-sw.html, respect the user's " +"computing freedom}. It is @emph{extensible}: users can write their own " +"package definitions (@pxref{Defining Packages}) and make them available as " +"independent package modules (@pxref{Package Modules}). It is also " +"@emph{customizable}: users can @emph{derive} specialized package definitions " +"from existing ones, including from the command line (@pxref{Package " +"Transformation Options})." +msgstr "" + +#. type: cindex +#: doc/guix.texi:326 doc/guix.texi:7984 doc/guix.texi:8062 +#, no-wrap +msgid "Guix System Distribution" +msgstr "" + +#. type: cindex +#: doc/guix.texi:327 doc/guix.texi:7985 +#, no-wrap +msgid "GuixSD" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:336 +msgid "" +"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})." +msgstr "" + +#. type: cindex +#: doc/guix.texi:337 +#, no-wrap +msgid "functional package management" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:352 +msgid "" +"Under the hood, Guix implements the @dfn{functional package management} " +"discipline pioneered by Nix (@pxref{Acknowledgments}). In Guix, the package " +"build and installation process is seen as a @emph{function}, in the " +"mathematical sense. That function takes inputs, such as build scripts, a " +"compiler, and libraries, and returns an installed package. As a pure " +"function, its result depends solely on its inputs---for instance, it cannot " +"refer to software or scripts that were not explicitly passed as inputs. A " +"build function always produces the same result when passed a given set of " +"inputs. It cannot alter the environment of the running system in any way; " +"for instance, it cannot create, modify, or delete files outside of its build " +"and installation directories. This is achieved by running build processes " +"in isolated environments (or @dfn{containers}), where only their explicit " +"inputs are visible." +msgstr "" + +#. type: cindex +#: doc/guix.texi:353 doc/guix.texi:4186 +#, no-wrap +msgid "store" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:360 +msgid "" +"The result of package build functions is @dfn{cached} in the file system, in " +"a special directory called @dfn{the store} (@pxref{The Store}). Each " +"package is installed in a directory of its own in the store---by default " +"under @file{/gnu/store}. The directory name contains a hash of all the " +"inputs used to build that package; thus, changing an input yields a " +"different directory name." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:364 +msgid "" +"This approach is the foundation for the salient features of Guix: support " +"for transactional package upgrade and rollback, per-user installation, and " +"garbage collection of packages (@pxref{Features})." +msgstr "" + +#. type: cindex +#: doc/guix.texi:370 +#, no-wrap +msgid "installing Guix" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:375 +msgid "" +"GNU Guix is available for download from its website at " +"@url{http://www.gnu.org/software/guix/}. This section describes the " +"software requirements of Guix, as well as how to install it and get ready to " +"use it." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:380 +msgid "" +"Note that this section is concerned with the installation of the package " +"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}." +msgstr "" + +#. type: cindex +#: doc/guix.texi:381 doc/guix.texi:1444 +#, no-wrap +msgid "foreign distro" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:387 +msgid "" +"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." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:390 +msgid "" +"Once installed, Guix can be updated by running @command{guix pull} " +"(@pxref{Invoking guix pull})." +msgstr "" + +#. type: cindex +#: doc/guix.texi:403 +#, no-wrap +msgid "installing Guix from binaries" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:409 +msgid "" +"This section describes how to install Guix on an arbitrary system from a " +"self-contained tarball providing binaries for Guix and for all its " +"dependencies. This is often quicker than installing from source, which is " +"described in the next sections. The only requirement is to have " +"GNU@tie{}tar and Xz." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:414 +msgid "" +"We provide a " +"@uref{https://git.savannah.gnu.org/cgit/guix.git/plain/etc/guix-install.sh, " +"shell installer script}, which automates the download, installation, and " +"initial configuration of Guix. It should be run as the root user." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:416 +msgid "Installing goes along these lines:" +msgstr "" + +#. type: cindex +#: doc/guix.texi:419 +#, no-wrap +msgid "downloading Guix binary" +msgstr "" + +#. type: enumerate +#: doc/guix.texi:424 +msgid "" +"Download the binary tarball from " +"@indicateurl{ftp://alpha.gnu.org/gnu/guix/guix-binary-@value{VERSION}.@var{system}.tar.xz}, " +"where @var{system} is @code{x86_64-linux} for an @code{x86_64} machine " +"already running the kernel Linux, and so on." +msgstr "" + +#. type: enumerate +#: doc/guix.texi:428 +msgid "" +"Make sure to download the associated @file{.sig} file and to verify the " +"authenticity of the tarball against it, along these lines:" +msgstr "" + +#. type: example +#: doc/guix.texi:432 +#, no-wrap +msgid "" +"$ wget " +"ftp://alpha.gnu.org/gnu/guix/guix-binary-@value{VERSION}.@var{system}.tar.xz.sig\n" +"$ gpg --verify guix-binary-@value{VERSION}.@var{system}.tar.xz.sig\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:436 doc/guix.texi:8198 +msgid "" +"If that command fails because you do not have the required public key, then " +"run this command to import it:" +msgstr "" + +#. type: example +#: doc/guix.texi:439 doc/guix.texi:8201 +#, no-wrap +msgid "$ gpg --keyserver pgp.mit.edu --recv-keys @value{OPENPGP-SIGNING-KEY-ID}\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:444 doc/guix.texi:8206 +msgid "and rerun the @code{gpg --verify} command." +msgstr "" + +#. type: enumerate +#: doc/guix.texi:448 +msgid "" +"Now, you need to become the @code{root} user. Depending on your " +"distribution, you may have to run @code{su -} or @code{sudo -i}. As " +"@code{root}, run:" +msgstr "" + +#. type: example +#: doc/guix.texi:454 +#, no-wrap +msgid "" +"# cd /tmp\n" +"# tar --warning=no-timestamp -xf \\\n" +" guix-binary-@value{VERSION}.@var{system}.tar.xz\n" +"# mv var/guix /var/ && mv gnu /\n" +msgstr "" + +#. type: enumerate +#: doc/guix.texi:459 +msgid "" +"This creates @file{/gnu/store} (@pxref{The Store}) and @file{/var/guix}. " +"The latter contains a ready-to-use profile for @code{root} (see next step.)" +msgstr "" + +#. type: enumerate +#: doc/guix.texi:462 +msgid "" +"Do @emph{not} unpack the tarball on a working Guix system since that would " +"overwrite its own essential files." +msgstr "" + +#. type: enumerate +#: doc/guix.texi:472 +msgid "" +"The @code{--warning=no-timestamp} option makes sure GNU@tie{}tar does not " +"emit warnings about ``implausibly old time stamps'' (such warnings were " +"triggered by GNU@tie{}tar 1.26 and older; recent versions are fine.) They " +"stem from the fact that all the files in the archive have their modification " +"time set to zero (which means January 1st, 1970.) This is done on purpose " +"to make sure the archive content is independent of its creation time, thus " +"making it reproducible." +msgstr "" + +#. type: enumerate +#: doc/guix.texi:475 +msgid "Make @code{root}'s profile available under @file{~root/.guix-profile}:" +msgstr "" + +#. type: example +#: doc/guix.texi:479 +#, no-wrap +msgid "" +"# ln -sf /var/guix/profiles/per-user/root/guix-profile \\\n" +" ~root/.guix-profile\n" +msgstr "" + +#. type: enumerate +#: doc/guix.texi:483 +msgid "" +"Source @file{etc/profile} to augment @code{PATH} and other relevant " +"environment variables:" +msgstr "" + +#. type: example +#: doc/guix.texi:487 +#, no-wrap +msgid "" +"# GUIX_PROFILE=\"`echo ~root`/.guix-profile\" ; \\\n" +" source $GUIX_PROFILE/etc/profile\n" +msgstr "" + +#. type: enumerate +#: doc/guix.texi:492 +msgid "" +"Create the group and user accounts for build users as explained below " +"(@pxref{Build Environment Setup})." +msgstr "" + +#. type: enumerate +#: doc/guix.texi:495 +msgid "Run the daemon, and set it to automatically start on boot." +msgstr "" + +#. type: enumerate +#: doc/guix.texi:498 +msgid "" +"If your host distro uses the systemd init system, this can be achieved with " +"these commands:" +msgstr "" + +#. type: example +#: doc/guix.texi:510 +#, no-wrap +msgid "" +"# cp ~root/.guix-profile/lib/systemd/system/guix-daemon.service \\\n" +" /etc/systemd/system/\n" +"# systemctl start guix-daemon && systemctl enable guix-daemon\n" +msgstr "" + +#. type: itemize +#: doc/guix.texi:513 doc/guix.texi:7635 +msgid "If your host distro uses the Upstart init system:" +msgstr "" + +#. type: example +#: doc/guix.texi:518 +#, no-wrap +msgid "" +"# initctl reload-configuration\n" +"# cp ~root/.guix-profile/lib/upstart/system/guix-daemon.conf /etc/init/\n" +"# start guix-daemon\n" +msgstr "" + +#. type: enumerate +#: doc/guix.texi:521 +msgid "Otherwise, you can still start the daemon manually with:" +msgstr "" + +#. type: example +#: doc/guix.texi:524 +#, no-wrap +msgid "# ~root/.guix-profile/bin/guix-daemon --build-users-group=guixbuild\n" +msgstr "" + +#. type: enumerate +#: doc/guix.texi:529 +msgid "" +"Make the @command{guix} command available to other users on the machine, for " +"instance with:" +msgstr "" + +#. type: example +#: doc/guix.texi:534 +#, no-wrap +msgid "" +"# mkdir -p /usr/local/bin\n" +"# cd /usr/local/bin\n" +"# ln -s /var/guix/profiles/per-user/root/guix-profile/bin/guix\n" +msgstr "" + +#. type: enumerate +#: doc/guix.texi:538 +msgid "" +"It is also a good idea to make the Info version of this manual available " +"there:" +msgstr "" + +#. type: example +#: doc/guix.texi:544 +#, no-wrap +msgid "" +"# mkdir -p /usr/local/share/info\n" +"# cd /usr/local/share/info\n" +"# for i in /var/guix/profiles/per-user/root/guix-profile/share/info/* ;\n" +" do ln -s $i ; done\n" +msgstr "" + +#. type: enumerate +#: doc/guix.texi:550 +msgid "" +"That way, assuming @file{/usr/local/share/info} is in the search path, " +"running @command{info guix} will open this manual (@pxref{Other Info " +"Directories,,, texinfo, GNU Texinfo}, for more details on changing the Info " +"search path.)" +msgstr "" + +#. type: cindex +#: doc/guix.texi:552 doc/guix.texi:2304 doc/guix.texi:10194 +#, no-wrap +msgid "substitutes, authorization thereof" +msgstr "" + +#. type: enumerate +#: doc/guix.texi:555 +msgid "" +"To use substitutes from @code{hydra.gnu.org} or one of its mirrors " +"(@pxref{Substitutes}), authorize them:" +msgstr "" + +#. type: example +#: doc/guix.texi:558 +#, no-wrap +msgid "" +"# guix archive --authorize < " +"~root/.guix-profile/share/guix/hydra.gnu.org.pub\n" +msgstr "" + +#. type: enumerate +#: doc/guix.texi:563 +msgid "" +"Each user may need to perform a few additional steps to make their Guix " +"environment ready for use, @pxref{Application Setup}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:566 +msgid "Voilà, the installation is complete!" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:569 +msgid "" +"You can confirm that Guix is working by installing a sample package into the " +"root profile:" +msgstr "" + +#. type: example +#: doc/guix.texi:572 +#, no-wrap +msgid "# guix package -i hello\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:579 +msgid "" +"The @code{guix} package must remain available in @code{root}'s profile, or " +"it would become subject to garbage collection---in which case you would find " +"yourself badly handicapped by the lack of the @command{guix} command. In " +"other words, do not remove @code{guix} by running @code{guix package -r " +"guix}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:582 +msgid "" +"The binary installation tarball can be (re)produced and verified simply by " +"running the following command in the Guix source tree:" +msgstr "" + +#. type: example +#: doc/guix.texi:585 +#, no-wrap +msgid "make guix-binary.@var{system}.tar.xz\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:589 +msgid "... which, in turn, runs:" +msgstr "" + +#. type: example +#: doc/guix.texi:592 +#, no-wrap +msgid "guix pack -s @var{system} --localstatedir guix\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:595 +msgid "@xref{Invoking guix pack}, for more info on this handy tool." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:603 +msgid "" +"This section lists requirements when building Guix from source. The build " +"procedure for Guix is the same as for other GNU software, and is not covered " +"here. Please see the files @file{README} and @file{INSTALL} in the Guix " +"source tree for additional details." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:605 +msgid "GNU Guix depends on the following packages:" +msgstr "" + +#. type: item +#: doc/guix.texi:607 +#, no-wrap +msgid "@url{http://gnu.org/software/guile/, GNU Guile}, version 2.0.13 or" +msgstr "" + +#. type: itemize +#: doc/guix.texi:609 +msgid "later, including 2.2.x;" +msgstr "" + +#. type: item +#: doc/guix.texi:609 +#, no-wrap +msgid "@url{http://gnupg.org/, GNU libgcrypt};" +msgstr "" + +#. type: itemize +#: doc/guix.texi:614 +msgid "" +"@uref{http://gnutls.org/, GnuTLS}, specifically its Guile bindings " +"(@pxref{Guile Preparations, how to install the GnuTLS bindings for Guile,, " +"gnutls-guile, GnuTLS-Guile});" +msgstr "" + +#. type: itemize +#: doc/guix.texi:618 +msgid "" +"@uref{https://gitlab.com/guile-git/guile-git, Guile-Git}, from August 2017 " +"or later;" +msgstr "" + +#. type: item +#: doc/guix.texi:618 +#, no-wrap +msgid "@url{http://zlib.net, zlib};" +msgstr "" + +#. type: item +#: doc/guix.texi:619 +#, no-wrap +msgid "@url{http://www.gnu.org/software/make/, GNU Make}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:623 +msgid "The following dependencies are optional:" +msgstr "" + +#. type: itemize +#: doc/guix.texi:631 +msgid "" +"Installing @url{http://savannah.nongnu.org/projects/guile-json/, Guile-JSON} " +"will allow you to use the @command{guix import pypi} command " +"(@pxref{Invoking guix import}). It is of interest primarily for developers " +"and not for casual users." +msgstr "" + +#. type: itemize +#: doc/guix.texi:638 +msgid "" +"Support for build offloading (@pxref{Daemon Offload Setup}) and " +"@command{guix copy} (@pxref{Invoking guix copy}) depends on " +"@uref{https://github.com/artyom-poptsov/guile-ssh, Guile-SSH}, version " +"0.10.2 or later." +msgstr "" + +#. type: itemize +#: doc/guix.texi:642 +msgid "" +"When @url{http://www.bzip.org, libbz2} is available, @command{guix-daemon} " +"can use it to compress build logs." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:646 +msgid "" +"Unless @code{--disable-daemon} was passed to @command{configure}, the " +"following packages are also needed:" +msgstr "" + +#. type: item +#: doc/guix.texi:648 +#, no-wrap +msgid "@url{http://sqlite.org, SQLite 3};" +msgstr "" + +#. type: item +#: doc/guix.texi:649 +#, no-wrap +msgid "@url{http://gcc.gnu.org, GCC's g++}, with support for the" +msgstr "" + +#. type: itemize +#: doc/guix.texi:651 +msgid "C++11 standard." +msgstr "" + +#. type: cindex +#: doc/guix.texi:653 +#, no-wrap +msgid "state directory" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:661 +msgid "" +"When configuring Guix on a system that already has a Guix installation, be " +"sure to specify the same state directory as the existing installation using " +"the @code{--localstatedir} option of the @command{configure} script " +"(@pxref{Directory Variables, @code{localstatedir},, standards, GNU Coding " +"Standards}). The @command{configure} script protects against unintended " +"misconfiguration of @var{localstatedir} so you do not inadvertently corrupt " +"your store (@pxref{The Store})." +msgstr "" + +#. type: cindex +#: doc/guix.texi:662 +#, no-wrap +msgid "Nix, compatibility" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:667 +msgid "" +"When a working installation of @url{http://nixos.org/nix/, the Nix package " +"manager} is available, you can instead configure Guix with " +"@code{--disable-daemon}. In that case, Nix replaces the three dependencies " +"above." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:677 +msgid "" +"Guix is compatible with Nix, so it is possible to share the same store " +"between both. To do so, you must pass @command{configure} not only the same " +"@code{--with-store-dir} value, but also the same @code{--localstatedir} " +"value. The latter is essential because it specifies where the database that " +"stores metadata about the store is located, among other things. The default " +"values for Nix are @code{--with-store-dir=/nix/store} and " +"@code{--localstatedir=/nix/var}. Note that @code{--disable-daemon} is not " +"required if your goal is to share the store with Nix." +msgstr "" + +#. type: cindex +#: doc/guix.texi:681 +#, no-wrap +msgid "test suite" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:687 +msgid "" +"After a successful @command{configure} and @code{make} run, it is a good " +"idea to run the test suite. It can help catch issues with the setup or " +"environment, or bugs in Guix itself---and really, reporting test failures is " +"a good way to help improve the software. To run the test suite, type:" +msgstr "" + +#. type: example +#: doc/guix.texi:690 +#, no-wrap +msgid "make check\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:697 +msgid "" +"Test cases can run in parallel: you can use the @code{-j} option of " +"GNU@tie{}make to speed things up. The first run may take a few minutes on a " +"recent machine; subsequent runs will be faster because the store that is " +"created for test purposes will already have various things in cache." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:700 +msgid "" +"It is also possible to run a subset of the tests by defining the " +"@code{TESTS} makefile variable as in this example:" +msgstr "" + +#. type: example +#: doc/guix.texi:703 +#, no-wrap +msgid "make check TESTS=\"tests/store.scm tests/cpio.scm\"\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:708 +msgid "" +"By default, tests results are displayed at a file level. In order to see " +"the details of every individual test cases, it is possible to define the " +"@code{SCM_LOG_DRIVER_FLAGS} makefile variable as in this example:" +msgstr "" + +#. type: example +#: doc/guix.texi:711 +#, no-wrap +msgid "make check TESTS=\"tests/base64.scm\" SCM_LOG_DRIVER_FLAGS=\"--brief=no\"\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:717 +msgid "" +"Upon failure, please email @email{bug-guix@@gnu.org} and attach the " +"@file{test-suite.log} file. Please specify the Guix version being used as " +"well as version numbers of the dependencies (@pxref{Requirements}) in your " +"message." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:721 +msgid "" +"Guix also comes with a whole-system test suite that tests complete GuixSD " +"operating system instances. It can only run on systems where Guix is " +"already installed, using:" +msgstr "" + +#. type: example +#: doc/guix.texi:724 +#, no-wrap +msgid "make check-system\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:728 +msgid "or, again, by defining @code{TESTS} to select a subset of tests to run:" +msgstr "" + +#. type: example +#: doc/guix.texi:731 +#, no-wrap +msgid "make check-system TESTS=\"basic mcron\"\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:739 +msgid "" +"These system tests are defined in the @code{(gnu tests @dots{})} modules. " +"They work by running the operating systems under test with lightweight " +"instrumentation in a virtual machine (VM). They can be computationally " +"intensive or rather cheap, depending on whether substitutes are available " +"for their dependencies (@pxref{Substitutes}). Some of them require a lot of " +"storage space to hold VM images." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:742 +msgid "" +"Again in case of test failures, please send @email{bug-guix@@gnu.org} all " +"the details." +msgstr "" + +#. type: cindex +#: doc/guix.texi:746 +#, no-wrap +msgid "daemon" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:754 +msgid "" +"Operations such as building a package or running the garbage collector are " +"all performed by a specialized process, the @dfn{build daemon}, on behalf of " +"clients. Only the daemon may access the store and its associated database. " +"Thus, any operation that manipulates the store goes through the daemon. For " +"instance, command-line tools such as @command{guix package} and " +"@command{guix build} communicate with the daemon (@i{via} remote procedure " +"calls) to instruct it what to do." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:758 +msgid "" +"The following sections explain how to prepare the build daemon's " +"environment. See also @ref{Substitutes}, for information on how to allow " +"the daemon to download pre-built binaries." +msgstr "" + +#. type: cindex +#: doc/guix.texi:768 doc/guix.texi:1193 +#, no-wrap +msgid "build environment" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:776 +msgid "" +"In a standard multi-user setup, Guix and its daemon---the " +"@command{guix-daemon} program---are installed by the system administrator; " +"@file{/gnu/store} is owned by @code{root} and @command{guix-daemon} runs as " +"@code{root}. Unprivileged users may use Guix tools to build packages or " +"otherwise access the store, and the daemon will do it on their behalf, " +"ensuring that the store is kept in a consistent state, and allowing built " +"packages to be shared among users." +msgstr "" + +#. type: cindex +#: doc/guix.texi:777 +#, no-wrap +msgid "build users" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:788 +msgid "" +"When @command{guix-daemon} runs as @code{root}, you may not want package " +"build processes themselves to run as @code{root} too, for obvious security " +"reasons. To avoid that, a special pool of @dfn{build users} should be " +"created for use by build processes started by the daemon. These build users " +"need not have a shell and a home directory: they will just be used when the " +"daemon drops @code{root} privileges in build processes. Having several such " +"users allows the daemon to launch distinct build processes under separate " +"UIDs, which guarantees that they do not interfere with each other---an " +"essential feature since builds are regarded as pure functions " +"(@pxref{Introduction})." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:791 +msgid "" +"On a GNU/Linux system, a build user pool may be created like this (using " +"Bash syntax and the @code{shadow} commands):" +msgstr "" + +#. type: example +#: doc/guix.texi:803 +#, no-wrap +msgid "" +"# groupadd --system guixbuild\n" +"# for i in `seq -w 1 10`;\n" +" do\n" +" useradd -g guixbuild -G guixbuild \\\n" +" -d /var/empty -s `which nologin` \\\n" +" -c \"Guix build user $i\" --system \\\n" +" guixbuilder$i;\n" +" done\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:813 +msgid "" +"The number of build users determines how many build jobs may run in " +"parallel, as specified by the @option{--max-jobs} option (@pxref{Invoking " +"guix-daemon, @option{--max-jobs}}). To use @command{guix system vm} and " +"related commands, you may need to add the build users to the @code{kvm} " +"group so they can access @file{/dev/kvm}, using @code{-G guixbuild,kvm} " +"instead of @code{-G guixbuild} (@pxref{Invoking guix system})." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:822 +msgid "" +"The @code{guix-daemon} program may then be run as @code{root} with the " +"following command@footnote{If your machine uses the systemd init system, " +"dropping the @file{@var{prefix}/lib/systemd/system/guix-daemon.service} file " +"in @file{/etc/systemd/system} will ensure that @command{guix-daemon} is " +"automatically started. Similarly, if your machine uses the Upstart init " +"system, drop the @file{@var{prefix}/lib/upstart/system/guix-daemon.conf} " +"file in @file{/etc/init}.}:" +msgstr "" + +#. type: example +#: doc/guix.texi:825 doc/guix.texi:1186 +#, no-wrap +msgid "# guix-daemon --build-users-group=guixbuild\n" +msgstr "" + +#. type: cindex +#: doc/guix.texi:827 doc/guix.texi:1191 +#, no-wrap +msgid "chroot" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:832 +msgid "" +"This way, the daemon starts build processes in a chroot, under one of the " +"@code{guixbuilder} users. On GNU/Linux, by default, the chroot environment " +"contains nothing but:" +msgstr "" + +#. type: itemize +#: doc/guix.texi:840 +msgid "" +"a minimal @code{/dev} directory, created mostly independently from the host " +"@code{/dev}@footnote{``Mostly'', because while the set of files that appear " +"in the chroot's @code{/dev} is fixed, most of these files can only be " +"created if the host has them.};" +msgstr "" + +#. type: itemize +#: doc/guix.texi:844 +msgid "" +"the @code{/proc} directory; it only shows the processes of the container " +"since a separate PID name space is used;" +msgstr "" + +#. type: itemize +#: doc/guix.texi:848 +msgid "" +"@file{/etc/passwd} with an entry for the current user and an entry for user " +"@file{nobody};" +msgstr "" + +#. type: itemize +#: doc/guix.texi:851 +msgid "@file{/etc/group} with an entry for the user's group;" +msgstr "" + +#. type: itemize +#: doc/guix.texi:855 +msgid "" +"@file{/etc/hosts} with an entry that maps @code{localhost} to " +"@code{127.0.0.1};" +msgstr "" + +#. type: itemize +#: doc/guix.texi:858 +msgid "a writable @file{/tmp} directory." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:867 +msgid "" +"You can influence the directory where the daemon stores build trees @i{via} " +"the @code{TMPDIR} environment variable. However, the build tree within the " +"chroot is always called @file{/tmp/guix-build-@var{name}.drv-0}, where " +"@var{name} is the derivation name---e.g., @code{coreutils-8.24}. This way, " +"the value of @code{TMPDIR} does not leak inside build environments, which " +"avoids discrepancies in cases where build processes capture the name of " +"their build tree." +msgstr "" + +#. type: vindex +#: doc/guix.texi:868 doc/guix.texi:2411 +#, no-wrap +msgid "http_proxy" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:872 +msgid "" +"The daemon also honors the @code{http_proxy} environment variable for HTTP " +"downloads it performs, be it for fixed-output derivations " +"(@pxref{Derivations}) or for substitutes (@pxref{Substitutes})." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:880 +msgid "" +"If you are installing Guix as an unprivileged user, it is still possible to " +"run @command{guix-daemon} provided you pass @code{--disable-chroot}. " +"However, build processes will not be isolated from one another, and not from " +"the rest of the system. Thus, build processes may interfere with each " +"other, and may access programs, libraries, and other files available on the " +"system---making it much harder to view them as @emph{pure} functions." +msgstr "" + +#. type: subsection +#: doc/guix.texi:883 +#, no-wrap +msgid "Using the Offload Facility" +msgstr "" + +#. type: cindex +#: doc/guix.texi:885 +#, no-wrap +msgid "offloading" +msgstr "" + +#. type: cindex +#: doc/guix.texi:886 doc/guix.texi:1247 +#, no-wrap +msgid "build hook" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:900 +msgid "" +"When desired, the build daemon can @dfn{offload} derivation builds to other " +"machines running Guix, using the @code{offload} @dfn{build " +"hook}@footnote{This feature is available only when " +"@uref{https://github.com/artyom-poptsov/guile-ssh, Guile-SSH} is present.}. " +"When that feature is enabled, a list of user-specified build machines is " +"read from @file{/etc/guix/machines.scm}; every time a build is requested, " +"for instance via @code{guix build}, the daemon attempts to offload it to one " +"of the machines that satisfy the constraints of the derivation, in " +"particular its system type---e.g., @file{x86_64-linux}. Missing " +"prerequisites for the build are copied over SSH to the target machine, which " +"then proceeds with the build; upon success the output(s) of the build are " +"copied back to the initial machine." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:902 +msgid "The @file{/etc/guix/machines.scm} file typically looks like this:" +msgstr "" + +#. type: example +#: doc/guix.texi:910 +#, no-wrap +msgid "" +"(list (build-machine\n" +" (name \"eightysix.example.org\")\n" +" (system \"x86_64-linux\")\n" +" (host-key \"ssh-ed25519 AAAAC3Nza@dots{}\")\n" +" (user \"bob\")\n" +" (speed 2.)) ;incredibly fast!\n" +"\n" +msgstr "" + +#. type: example +#: doc/guix.texi:919 +#, no-wrap +msgid "" +" (build-machine\n" +" (name \"meeps.example.org\")\n" +" (system \"mips64el-linux\")\n" +" (host-key \"ssh-rsa AAAAB3Nza@dots{}\")\n" +" (user \"alice\")\n" +" (private-key\n" +" (string-append (getenv \"HOME\")\n" +" \"/.ssh/identity-for-guix\"))))\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:925 +msgid "" +"In the example above we specify a list of two build machines, one for the " +"@code{x86_64} architecture and one for the @code{mips64el} architecture." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:934 +msgid "" +"In fact, this file is---not surprisingly!---a Scheme file that is evaluated " +"when the @code{offload} hook is started. Its return value must be a list of " +"@code{build-machine} objects. While this example shows a fixed list of " +"build machines, one could imagine, say, using DNS-SD to return a list of " +"potential build machines discovered in the local network " +"(@pxref{Introduction, Guile-Avahi,, guile-avahi, Using Avahi in Guile Scheme " +"Programs}). The @code{build-machine} data type is detailed below." +msgstr "" + +#. type: deftp +#: doc/guix.texi:935 +#, no-wrap +msgid "{Data Type} build-machine" +msgstr "" + +#. type: deftp +#: doc/guix.texi:938 +msgid "" +"This data type represents build machines to which the daemon may offload " +"builds. The important fields are:" +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:941 doc/guix.texi:3402 doc/guix.texi:9406 doc/guix.texi:9470 doc/guix.texi:9565 doc/guix.texi:10955 doc/guix.texi:14992 doc/guix.texi:15225 doc/guix.texi:15358 doc/guix.texi:15632 doc/guix.texi:15673 doc/guix.texi:19618 doc/guix.texi:19635 doc/guix.texi:19901 doc/guix.texi:21109 +#, no-wrap +msgid "name" +msgstr "" + +#. type: table +#: doc/guix.texi:943 +msgid "The host name of the remote machine." +msgstr "" + +#. type: item +#: doc/guix.texi:944 +#, no-wrap +msgid "system" +msgstr "" + +#. type: table +#: doc/guix.texi:946 +msgid "The system type of the remote machine---e.g., @code{\"x86_64-linux\"}." +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:947 doc/guix.texi:10965 +#, no-wrap +msgid "user" +msgstr "" + +#. type: table +#: doc/guix.texi:951 +msgid "" +"The user account to use when connecting to the remote machine over SSH. " +"Note that the SSH key pair must @emph{not} be passphrase-protected, to allow " +"non-interactive logins." +msgstr "" + +#. type: item +#: doc/guix.texi:952 +#, no-wrap +msgid "host-key" +msgstr "" + +#. type: table +#: doc/guix.texi:956 +msgid "" +"This must be the machine's SSH @dfn{public host key} in OpenSSH format. " +"This is used to authenticate the machine when we connect to it. It is a " +"long string that looks like this:" +msgstr "" + +#. type: example +#: doc/guix.texi:959 +#, no-wrap +msgid "ssh-ed25519 AAAAC3NzaC@dots{}mde+UhL hint@@example.org\n" +msgstr "" + +#. type: table +#: doc/guix.texi:964 +msgid "" +"If the machine is running the OpenSSH daemon, @command{sshd}, the host key " +"can be found in a file such as @file{/etc/ssh/ssh_host_ed25519_key.pub}." +msgstr "" + +#. type: table +#: doc/guix.texi:969 +msgid "" +"If the machine is running the SSH daemon of GNU@tie{}lsh, @command{lshd}, " +"the host key is in @file{/etc/lsh/host-key.pub} or a similar file. It can " +"be converted to the OpenSSH format using @command{lsh-export-key} " +"(@pxref{Converting keys,,, lsh, LSH Manual}):" +msgstr "" + +#. type: example +#: doc/guix.texi:973 +#, no-wrap +msgid "" +"$ lsh-export-key --openssh < /etc/lsh/host-key.pub \n" +"ssh-rsa AAAAB3NzaC1yc2EAAAAEOp8FoQAAAQEAs1eB46LV@dots{}\n" +msgstr "" + +#. type: deftp +#: doc/guix.texi:978 +msgid "A number of optional fields may be specified:" +msgstr "" + +#. type: item +#: doc/guix.texi:981 +#, no-wrap +msgid "@code{port} (default: @code{22})" +msgstr "" + +#. type: table +#: doc/guix.texi:983 +msgid "Port number of SSH server on the machine." +msgstr "" + +#. type: item +#: doc/guix.texi:984 +#, no-wrap +msgid "@code{private-key} (default: @file{~root/.ssh/id_rsa})" +msgstr "" + +#. type: table +#: doc/guix.texi:987 +msgid "" +"The SSH private key file to use when connecting to the machine, in OpenSSH " +"format." +msgstr "" + +#. type: table +#: doc/guix.texi:990 +msgid "" +"Note that the default value is the private key @emph{of the root account}. " +"Make sure it exists if you use the default." +msgstr "" + +#. type: item +#: doc/guix.texi:991 +#, no-wrap +msgid "@code{compression} (default: @code{\"zlib@@openssh.com,zlib\"})" +msgstr "" + +#. type: item +#: doc/guix.texi:992 doc/guix.texi:10422 +#, no-wrap +msgid "@code{compression-level} (default: @code{3})" +msgstr "" + +#. type: table +#: doc/guix.texi:994 +msgid "The SSH-level compression methods and compression level requested." +msgstr "" + +#. type: table +#: doc/guix.texi:997 +msgid "" +"Note that offloading relies on SSH compression to reduce bandwidth usage " +"when transferring files to and from build machines." +msgstr "" + +#. type: item +#: doc/guix.texi:998 +#, no-wrap +msgid "@code{daemon-socket} (default: @code{\"/var/guix/daemon-socket/socket\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:1001 +msgid "" +"File name of the Unix-domain socket @command{guix-daemon} is listening to on " +"that machine." +msgstr "" + +#. type: item +#: doc/guix.texi:1002 +#, no-wrap +msgid "@code{parallel-builds} (default: @code{1})" +msgstr "" + +#. type: table +#: doc/guix.texi:1004 +msgid "The number of builds that may run in parallel on the machine." +msgstr "" + +#. type: item +#: doc/guix.texi:1005 +#, no-wrap +msgid "@code{speed} (default: @code{1.0})" +msgstr "" + +#. type: table +#: doc/guix.texi:1008 +msgid "" +"A ``relative speed factor''. The offload scheduler will tend to prefer " +"machines with a higher speed factor." +msgstr "" + +#. type: item +#: doc/guix.texi:1009 +#, no-wrap +msgid "@code{features} (default: @code{'()})" +msgstr "" + +#. type: table +#: doc/guix.texi:1014 +msgid "" +"A list of strings denoting specific features supported by the machine. An " +"example is @code{\"kvm\"} for machines that have the KVM Linux modules and " +"corresponding hardware support. Derivations can request features by name, " +"and they will be scheduled on matching build machines." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1022 +msgid "" +"The @code{guile} command must be in the search path on the build machines. " +"In addition, the Guix modules must be in @code{$GUILE_LOAD_PATH} on the " +"build machine---you can check whether this is the case by running:" +msgstr "" + +#. type: example +#: doc/guix.texi:1025 +#, no-wrap +msgid "ssh build-machine guile -c \"'(use-modules (guix config))'\"\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1032 +msgid "" +"There is one last thing to do once @file{machines.scm} is in place. As " +"explained above, when offloading, files are transferred back and forth " +"between the machine stores. For this to work, you first need to generate a " +"key pair on each machine to allow the daemon to export signed archives of " +"files from the store (@pxref{Invoking guix archive}):" +msgstr "" + +#. type: example +#: doc/guix.texi:1035 +#, no-wrap +msgid "# guix archive --generate-key\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1040 +msgid "" +"Each build machine must authorize the key of the master machine so that it " +"accepts store items it receives from the master:" +msgstr "" + +#. type: example +#: doc/guix.texi:1043 +#, no-wrap +msgid "# guix archive --authorize < master-public-key.txt\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1047 +msgid "Likewise, the master machine must authorize the key of each build machine." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1053 +msgid "" +"All the fuss with keys is here to express pairwise mutual trust relations " +"between the master and the build machines. Concretely, when the master " +"receives files from a build machine (and @i{vice versa}), its build daemon " +"can make sure they are genuine, have not been tampered with, and that they " +"are signed by an authorized key." +msgstr "" + +#. type: cindex +#: doc/guix.texi:1054 +#, no-wrap +msgid "offload test" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1057 +msgid "" +"To test whether your setup is operational, run this command on the master " +"node:" +msgstr "" + +#. type: example +#: doc/guix.texi:1060 +#, no-wrap +msgid "# guix offload test\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1066 +msgid "" +"This will attempt to connect to each of the build machines specified in " +"@file{/etc/guix/machines.scm}, make sure Guile and the Guix modules are " +"available on each machine, attempt to export to the machine and import from " +"it, and report any error in the process." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1069 +msgid "" +"If you want to test a different machine file, just specify it on the command " +"line:" +msgstr "" + +#. type: example +#: doc/guix.texi:1072 +#, no-wrap +msgid "# guix offload test machines-qualif.scm\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1076 +msgid "" +"Last, you can test the subset of the machines whose name matches a regular " +"expression like this:" +msgstr "" + +#. type: example +#: doc/guix.texi:1079 +#, no-wrap +msgid "# guix offload test machines.scm '\\.gnu\\.org$'\n" +msgstr "" + +#. type: cindex +#: doc/guix.texi:1081 +#, no-wrap +msgid "offload status" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1084 +msgid "" +"To display the current load of all build hosts, run this command on the main " +"node:" +msgstr "" + +#. type: example +#: doc/guix.texi:1087 +#, no-wrap +msgid "# guix offload status\n" +msgstr "" + +#. type: cindex +#: doc/guix.texi:1093 +#, no-wrap +msgid "SELinux, daemon policy" +msgstr "" + +#. type: cindex +#: doc/guix.texi:1094 +#, no-wrap +msgid "mandatory access control, SELinux" +msgstr "" + +#. type: cindex +#: doc/guix.texi:1095 +#, no-wrap +msgid "security, guix-daemon" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1101 +msgid "" +"Guix includes an SELinux policy file at @file{etc/guix-daemon.cil} that can " +"be installed on a system where SELinux is enabled, in order to label Guix " +"files and to specify the expected behavior of the daemon. Since GuixSD does " +"not provide an SELinux base policy, the daemon policy cannot be used on " +"GuixSD." +msgstr "" + +#. type: subsubsection +#: doc/guix.texi:1102 +#, no-wrap +msgid "Installing the SELinux policy" +msgstr "" + +#. type: cindex +#: doc/guix.texi:1103 +#, no-wrap +msgid "SELinux, policy installation" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1105 +msgid "To install the policy run this command as root:" +msgstr "" + +#. type: example +#: doc/guix.texi:1108 +#, no-wrap +msgid "semodule -i etc/guix-daemon.cil\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1112 +msgid "" +"Then relabel the file system with @code{restorecon} or by a different " +"mechanism provided by your system." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1117 +msgid "" +"Once the policy is installed, the file system has been relabeled, and the " +"daemon has been restarted, it should be running in the @code{guix_daemon_t} " +"context. You can confirm this with the following command:" +msgstr "" + +#. type: example +#: doc/guix.texi:1120 +#, no-wrap +msgid "ps -Zax | grep guix-daemon\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1125 +msgid "" +"Monitor the SELinux log files as you run a command like @code{guix build " +"hello} to convince yourself that SELinux permits all necessary operations." +msgstr "" + +#. type: cindex +#: doc/guix.texi:1127 +#, no-wrap +msgid "SELinux, limitations" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1132 +msgid "" +"This policy is not perfect. Here is a list of limitations or quirks that " +"should be considered when deploying the provided SELinux policy for the Guix " +"daemon." +msgstr "" + +#. type: enumerate +#: doc/guix.texi:1139 +msgid "" +"@code{guix_daemon_socket_t} isn’t actually used. None of the socket " +"operations involve contexts that have anything to do with " +"@code{guix_daemon_socket_t}. It doesn’t hurt to have this unused label, but " +"it would be preferrable to define socket rules for only this label." +msgstr "" + +#. type: enumerate +#: doc/guix.texi:1150 +msgid "" +"@code{guix gc} cannot access arbitrary links to profiles. By design, the " +"file label of the destination of a symlink is independent of the file label " +"of the link itself. Although all profiles under $localstatedir are " +"labelled, the links to these profiles inherit the label of the directory " +"they are in. For links in the user’s home directory this will be " +"@code{user_home_t}. But for links from the root user’s home directory, or " +"@file{/tmp}, or the HTTP server’s working directory, etc, this won’t work. " +"@code{guix gc} would be prevented from reading and following these links." +msgstr "" + +#. type: enumerate +#: doc/guix.texi:1155 +msgid "" +"The daemon’s feature to listen for TCP connections might no longer work. " +"This might require extra rules, because SELinux treats network sockets " +"differently from files." +msgstr "" + +#. type: enumerate +#: doc/guix.texi:1166 +msgid "" +"Currently all files with a name matching the regular expression " +"@code{/gnu/store/.+-(guix-.+|profile)/bin/guix-daemon} are assigned the " +"label @code{guix_daemon_exec_t}; this means that @emph{any} file with that " +"name in any profile would be permitted to run in the @code{guix_daemon_t} " +"domain. This is not ideal. An attacker could build a package that provides " +"this executable and convince a user to install and run it, which lifts it " +"into the @code{guix_daemon_t} domain. At that point SELinux could not " +"prevent it from accessing files that are allowed for processes in that " +"domain." +msgstr "" + +#. type: enumerate +#: doc/guix.texi:1174 +msgid "" +"We could generate a much more restrictive policy at installation time, so " +"that only the @emph{exact} file name of the currently installed " +"@code{guix-daemon} executable would be labelled with " +"@code{guix_daemon_exec_t}, instead of using a broad regular expression. The " +"downside is that root would have to install or upgrade the policy at " +"installation time whenever the Guix package that provides the effectively " +"running @code{guix-daemon} executable is upgraded." +msgstr "" + +#. type: section +#: doc/guix.texi:1177 +#, no-wrap +msgid "Invoking @command{guix-daemon}" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1183 +msgid "" +"The @command{guix-daemon} program implements all the functionality to access " +"the store. This includes launching build processes, running the garbage " +"collector, querying the availability of a build result, etc. It is normally " +"run as @code{root} like this:" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1190 +msgid "For details on how to set it up, @pxref{Setting Up the Daemon}." +msgstr "" + +#. type: cindex +#: doc/guix.texi:1192 +#, no-wrap +msgid "container, build environment" +msgstr "" + +#. type: cindex +#: doc/guix.texi:1194 doc/guix.texi:1732 doc/guix.texi:2392 doc/guix.texi:7648 +#, no-wrap +msgid "reproducible builds" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1206 +msgid "" +"By default, @command{guix-daemon} launches build processes under different " +"UIDs, taken from the build group specified with @code{--build-users-group}. " +"In addition, each build process is run in a chroot environment that only " +"contains the subset of the store that the build process depends on, as " +"specified by its derivation (@pxref{Programming Interface, derivation}), " +"plus a set of specific system directories. By default, the latter contains " +"@file{/dev} and @file{/dev/pts}. Furthermore, on GNU/Linux, the build " +"environment is a @dfn{container}: in addition to having its own file system " +"tree, it has a separate mount name space, its own PID name space, network " +"name space, etc. This helps achieve reproducible builds (@pxref{Features})." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1215 +msgid "" +"When the daemon performs a build on behalf of the user, it creates a build " +"directory under @file{/tmp} or under the directory specified by its " +"@code{TMPDIR} environment variable; this directory is shared with the " +"container for the duration of the build. Be aware that using a directory " +"other than @file{/tmp} can affect build results---for example, with a longer " +"directory name, a build process that uses Unix-domain sockets might hit the " +"name length limitation for @code{sun_path}, which it would otherwise not " +"hit." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1219 +msgid "" +"The build directory is automatically deleted upon completion, unless the " +"build failed and the client specified @option{--keep-failed} " +"(@pxref{Invoking guix build, @option{--keep-failed}})." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1221 +msgid "The following command-line options are supported:" +msgstr "" + +#. type: item +#: doc/guix.texi:1223 +#, no-wrap +msgid "--build-users-group=@var{group}" +msgstr "" + +#. type: table +#: doc/guix.texi:1226 +msgid "" +"Take users from @var{group} to run build processes (@pxref{Setting Up the " +"Daemon, build users})." +msgstr "" + +#. type: item +#: doc/guix.texi:1227 doc/guix.texi:5498 +#, no-wrap +msgid "--no-substitutes" +msgstr "" + +#. type: cindex +#: doc/guix.texi:1228 doc/guix.texi:1744 doc/guix.texi:2248 +#, no-wrap +msgid "substitutes" +msgstr "" + +#. type: table +#: doc/guix.texi:1232 doc/guix.texi:5502 +msgid "" +"Do not use substitutes for build products. That is, always build things " +"locally instead of allowing downloads of pre-built binaries " +"(@pxref{Substitutes})." +msgstr "" + +#. type: table +#: doc/guix.texi:1236 +msgid "" +"When the daemon runs with @code{--no-substitutes}, clients can still " +"explicitly enable substitution @i{via} the @code{set-build-options} remote " +"procedure call (@pxref{The Store})." +msgstr "" + +#. type: item +#: doc/guix.texi:1237 doc/guix.texi:5485 doc/guix.texi:6897 doc/guix.texi:7773 doc/guix.texi:7961 +#, no-wrap +msgid "--substitute-urls=@var{urls}" +msgstr "" + +#. type: anchor{#1} +#: doc/guix.texi:1243 +msgid "daemon-substitute-urls" +msgstr "" + +#. type: table +#: doc/guix.texi:1243 +msgid "" +"Consider @var{urls} the default whitespace-separated list of substitute " +"source URLs. When this option is omitted, " +"@indicateurl{https://mirror.hydra.gnu.org https://hydra.gnu.org} is used " +"(@code{mirror.hydra.gnu.org} is a mirror of @code{hydra.gnu.org})." +msgstr "" + +#. type: table +#: doc/guix.texi:1246 +msgid "" +"This means that substitutes may be downloaded from @var{urls}, as long as " +"they are signed by a trusted signature (@pxref{Substitutes})." +msgstr "" + +#. type: item +#: doc/guix.texi:1248 doc/guix.texi:5523 +#, no-wrap +msgid "--no-build-hook" +msgstr "" + +#. type: table +#: doc/guix.texi:1250 +msgid "Do not use the @dfn{build hook}." +msgstr "" + +#. type: table +#: doc/guix.texi:1254 +msgid "" +"The build hook is a helper program that the daemon can start and to which it " +"submits build requests. This mechanism is used to offload builds to other " +"machines (@pxref{Daemon Offload Setup})." +msgstr "" + +#. type: item +#: doc/guix.texi:1255 +#, no-wrap +msgid "--cache-failures" +msgstr "" + +#. type: table +#: doc/guix.texi:1257 +msgid "Cache build failures. By default, only successful builds are cached." +msgstr "" + +#. type: table +#: doc/guix.texi:1262 +msgid "" +"When this option is used, @command{guix gc --list-failures} can be used to " +"query the set of store items marked as failed; @command{guix gc " +"--clear-failures} removes store items from the set of cached failures. " +"@xref{Invoking guix gc}." +msgstr "" + +#. type: item +#: doc/guix.texi:1263 doc/guix.texi:5547 +#, no-wrap +msgid "--cores=@var{n}" +msgstr "" + +#. type: itemx +#: doc/guix.texi:1264 doc/guix.texi:5548 +#, no-wrap +msgid "-c @var{n}" +msgstr "" + +#. type: table +#: doc/guix.texi:1267 +msgid "" +"Use @var{n} CPU cores to build each derivation; @code{0} means as many as " +"available." +msgstr "" + +#. type: table +#: doc/guix.texi:1271 +msgid "" +"The default value is @code{0}, but it may be overridden by clients, such as " +"the @code{--cores} option of @command{guix build} (@pxref{Invoking guix " +"build})." +msgstr "" + +#. type: table +#: doc/guix.texi:1275 +msgid "" +"The effect is to define the @code{NIX_BUILD_CORES} environment variable in " +"the build process, which can then use it to exploit internal " +"parallelism---for instance, by running @code{make -j$NIX_BUILD_CORES}." +msgstr "" + +#. type: item +#: doc/guix.texi:1276 doc/guix.texi:5552 +#, no-wrap +msgid "--max-jobs=@var{n}" +msgstr "" + +#. type: itemx +#: doc/guix.texi:1277 doc/guix.texi:5553 +#, no-wrap +msgid "-M @var{n}" +msgstr "" + +#. type: table +#: doc/guix.texi:1282 +msgid "" +"Allow at most @var{n} build jobs in parallel. The default value is " +"@code{1}. Setting it to @code{0} means that no builds will be performed " +"locally; instead, the daemon will offload builds (@pxref{Daemon Offload " +"Setup}), or simply fail." +msgstr "" + +#. type: item +#: doc/guix.texi:1283 doc/guix.texi:5528 +#, no-wrap +msgid "--max-silent-time=@var{seconds}" +msgstr "" + +#. type: table +#: doc/guix.texi:1286 doc/guix.texi:5531 +msgid "" +"When the build or substitution process remains silent for more than " +"@var{seconds}, terminate it and report a build failure." +msgstr "" + +#. type: table +#: doc/guix.texi:1288 doc/guix.texi:1297 +msgid "The default value is @code{0}, which disables the timeout." +msgstr "" + +#. type: table +#: doc/guix.texi:1291 +msgid "" +"The value specified here can be overridden by clients (@pxref{Common Build " +"Options, @code{--max-silent-time}})." +msgstr "" + +#. type: item +#: doc/guix.texi:1292 doc/guix.texi:5535 +#, no-wrap +msgid "--timeout=@var{seconds}" +msgstr "" + +#. type: table +#: doc/guix.texi:1295 doc/guix.texi:5538 +msgid "" +"Likewise, when the build or substitution process lasts for more than " +"@var{seconds}, terminate it and report a build failure." +msgstr "" + +#. type: table +#: doc/guix.texi:1300 +msgid "" +"The value specified here can be overridden by clients (@pxref{Common Build " +"Options, @code{--timeout}})." +msgstr "" + +#. type: item +#: doc/guix.texi:1301 +#, no-wrap +msgid "--rounds=@var{N}" +msgstr "" + +#. type: table +#: doc/guix.texi:1306 +msgid "" +"Build each derivation @var{n} times in a row, and raise an error if " +"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})." +msgstr "" + +#. type: table +#: doc/guix.texi:1310 doc/guix.texi:5830 +msgid "" +"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." +msgstr "" + +#. type: item +#: doc/guix.texi:1311 +#, no-wrap +msgid "--debug" +msgstr "" + +#. type: table +#: doc/guix.texi:1313 +msgid "Produce debugging output." +msgstr "" + +#. type: table +#: doc/guix.texi:1317 +msgid "" +"This is useful to debug daemon start-up issues, but then it may be " +"overridden by clients, for example the @code{--verbosity} option of " +"@command{guix build} (@pxref{Invoking guix build})." +msgstr "" + +#. type: item +#: doc/guix.texi:1318 +#, no-wrap +msgid "--chroot-directory=@var{dir}" +msgstr "" + +#. type: table +#: doc/guix.texi:1320 +msgid "Add @var{dir} to the build chroot." +msgstr "" + +#. type: table +#: doc/guix.texi:1326 +msgid "" +"Doing this may change the result of build processes---for instance if they " +"use optional dependencies found in @var{dir} when it is available, and not " +"otherwise. For that reason, it is not recommended to do so. Instead, make " +"sure that each derivation declares all the inputs that it needs." +msgstr "" + +#. type: item +#: doc/guix.texi:1327 +#, no-wrap +msgid "--disable-chroot" +msgstr "" + +#. type: table +#: doc/guix.texi:1329 +msgid "Disable chroot builds." +msgstr "" + +#. type: table +#: doc/guix.texi:1334 +msgid "" +"Using this option is not recommended since, again, it would allow build " +"processes to gain access to undeclared dependencies. It is necessary, " +"though, when @command{guix-daemon} is running under an unprivileged user " +"account." +msgstr "" + +#. type: item +#: doc/guix.texi:1335 +#, no-wrap +msgid "--log-compression=@var{type}" +msgstr "" + +#. type: table +#: doc/guix.texi:1338 +msgid "" +"Compress build logs according to @var{type}, one of @code{gzip}, " +"@code{bzip2}, or @code{none}." +msgstr "" + +#. type: table +#: doc/guix.texi:1342 +msgid "" +"Unless @code{--lose-logs} is used, all the build logs are kept in the " +"@var{localstatedir}. To save space, the daemon automatically compresses " +"them with bzip2 by default." +msgstr "" + +#. type: item +#: doc/guix.texi:1343 +#, no-wrap +msgid "--disable-deduplication" +msgstr "" + +#. type: cindex +#: doc/guix.texi:1344 doc/guix.texi:2708 +#, no-wrap +msgid "deduplication" +msgstr "" + +#. type: table +#: doc/guix.texi:1346 +msgid "Disable automatic file ``deduplication'' in the store." +msgstr "" + +#. type: table +#: doc/guix.texi:1353 +msgid "" +"By default, files added to the store are automatically ``deduplicated'': if " +"a newly added file is identical to another one found in the store, the " +"daemon makes the new file a hard link to the other file. This can " +"noticeably reduce disk usage, at the expense of slightly increased " +"input/output load at the end of a build process. This option disables this " +"optimization." +msgstr "" + +#. type: item +#: doc/guix.texi:1354 +#, no-wrap +msgid "--gc-keep-outputs[=yes|no]" +msgstr "" + +#. type: table +#: doc/guix.texi:1357 +msgid "" +"Tell whether the garbage collector (GC) must keep outputs of live " +"derivations." +msgstr "" + +#. type: cindex +#: doc/guix.texi:1358 doc/guix.texi:2543 +#, no-wrap +msgid "GC roots" +msgstr "" + +#. type: cindex +#: doc/guix.texi:1359 doc/guix.texi:2544 +#, no-wrap +msgid "garbage collector roots" +msgstr "" + +#. type: table +#: doc/guix.texi:1364 +msgid "" +"When set to ``yes'', the GC will keep the outputs of any live derivation " +"available in the store---the @code{.drv} files. The default is ``no'', " +"meaning that derivation outputs are kept only if they are GC roots. " +"@xref{Invoking guix gc}, for more on GC roots." +msgstr "" + +#. type: item +#: doc/guix.texi:1365 +#, no-wrap +msgid "--gc-keep-derivations[=yes|no]" +msgstr "" + +#. type: table +#: doc/guix.texi:1368 +msgid "" +"Tell whether the garbage collector (GC) must keep derivations corresponding " +"to live outputs." +msgstr "" + +#. type: table +#: doc/guix.texi:1373 +msgid "" +"When set to ``yes'', as is the case by default, the GC keeps " +"derivations---i.e., @code{.drv} files---as long as at least one of their " +"outputs is live. This allows users to keep track of the origins of items in " +"their store. Setting it to ``no'' saves a bit of disk space." +msgstr "" + +#. type: table +#: doc/guix.texi:1380 +msgid "" +"Note that when both @code{--gc-keep-derivations} and " +"@code{--gc-keep-outputs} are used, the effect is to keep all the build " +"prerequisites (the sources, compiler, libraries, and other build-time tools) " +"of live objects in the store, regardless of whether these prerequisites are " +"live. This is convenient for developers since it saves rebuilds or " +"downloads." +msgstr "" + +#. type: item +#: doc/guix.texi:1381 +#, no-wrap +msgid "--impersonate-linux-2.6" +msgstr "" + +#. type: table +#: doc/guix.texi:1384 +msgid "" +"On Linux-based systems, impersonate Linux 2.6. This means that the kernel's " +"@code{uname} system call will report 2.6 as the release number." +msgstr "" + +#. type: table +#: doc/guix.texi:1387 +msgid "" +"This might be helpful to build programs that (usually wrongfully) depend on " +"the kernel version number." +msgstr "" + +#. type: item +#: doc/guix.texi:1388 +#, no-wrap +msgid "--lose-logs" +msgstr "" + +#. type: table +#: doc/guix.texi:1391 +msgid "" +"Do not keep build logs. By default they are kept under " +"@code{@var{localstatedir}/guix/log}." +msgstr "" + +#. type: item +#: doc/guix.texi:1392 doc/guix.texi:2890 doc/guix.texi:5783 doc/guix.texi:6924 doc/guix.texi:7332 doc/guix.texi:7966 doc/guix.texi:20003 doc/guix.texi:20547 +#, no-wrap +msgid "--system=@var{system}" +msgstr "" + +#. type: table +#: doc/guix.texi:1396 +msgid "" +"Assume @var{system} as the current system type. By default it is the " +"architecture/kernel pair found at configure time, such as " +"@code{x86_64-linux}." +msgstr "" + +#. type: item +#: doc/guix.texi:1397 +#, no-wrap +msgid "--listen=@var{endpoint}" +msgstr "" + +#. type: table +#: doc/guix.texi:1402 +msgid "" +"Listen for connections on @var{endpoint}. @var{endpoint} is interpreted as " +"the file name of a Unix-domain socket if it starts with @code{/} (slash " +"sign). Otherwise, @var{endpoint} is interpreted as a host name or host name " +"and port to listen to. Here are a few examples:" +msgstr "" + +#. type: item +#: doc/guix.texi:1404 +#, no-wrap +msgid "--listen=/gnu/var/daemon" +msgstr "" + +#. type: table +#: doc/guix.texi:1407 +msgid "" +"Listen for connections on the @file{/gnu/var/daemon} Unix-domain socket, " +"creating it if needed." +msgstr "" + +#. type: item +#: doc/guix.texi:1408 +#, no-wrap +msgid "--listen=localhost" +msgstr "" + +#. type: cindex +#: doc/guix.texi:1409 doc/guix.texi:4235 +#, no-wrap +msgid "daemon, remote access" +msgstr "" + +#. type: cindex +#: doc/guix.texi:1410 doc/guix.texi:4236 +#, no-wrap +msgid "remote access to the daemon" +msgstr "" + +#. type: cindex +#: doc/guix.texi:1411 doc/guix.texi:4237 +#, no-wrap +msgid "daemon, cluster setup" +msgstr "" + +#. type: cindex +#: doc/guix.texi:1412 doc/guix.texi:4238 +#, no-wrap +msgid "clusters, daemon setup" +msgstr "" + +#. type: table +#: doc/guix.texi:1415 +msgid "" +"Listen for TCP connections on the network interface corresponding to " +"@code{localhost}, on port 44146." +msgstr "" + +#. type: item +#: doc/guix.texi:1416 +#, no-wrap +msgid "--listen=128.0.0.42:1234" +msgstr "" + +#. type: table +#: doc/guix.texi:1419 +msgid "" +"Listen for TCP connections on the network interface corresponding to " +"@code{128.0.0.42}, on port 1234." +msgstr "" + +#. type: table +#: doc/guix.texi:1426 +msgid "" +"This option can be repeated multiple times, in which case " +"@command{guix-daemon} accepts connections on all the specified endpoints. " +"Users can tell client commands what endpoint to connect to by setting the " +"@code{GUIX_DAEMON_SOCKET} environment variable (@pxref{The Store, " +"@code{GUIX_DAEMON_SOCKET}})." +msgstr "" + +#. type: quotation +#: doc/guix.texi:1427 doc/guix.texi:2325 doc/guix.texi:2789 doc/guix.texi:2952 doc/guix.texi:4205 doc/guix.texi:4273 doc/guix.texi:5788 doc/guix.texi:7224 doc/guix.texi:7851 doc/guix.texi:8069 doc/guix.texi:8280 doc/guix.texi:11446 doc/guix.texi:20330 doc/guix.texi:20528 doc/guix.texi:20615 doc/guix.texi:21459 +#, no-wrap +msgid "Note" +msgstr "" + +#. type: quotation +#: doc/guix.texi:1433 +msgid "" +"The daemon protocol is @emph{unauthenticated and unencrypted}. Using " +"@code{--listen=@var{host}} is suitable on local networks, such as clusters, " +"where only trusted nodes may connect to the build daemon. In other cases " +"where remote access to the daemon is needed, we recommend using Unix-domain " +"sockets along with SSH." +msgstr "" + +#. type: table +#: doc/guix.texi:1438 +msgid "" +"When @code{--listen} is omitted, @command{guix-daemon} listens for " +"connections on the Unix-domain socket located at " +"@file{@var{localstatedir}/guix/daemon-socket/socket}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1448 +msgid "" +"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." +msgstr "" + +#. type: anchor{#1} +#: doc/guix.texi:1452 +msgid "locales-and-locpath" +msgstr "" + +#. type: cindex +#: doc/guix.texi:1452 +#, no-wrap +msgid "locales, when not on GuixSD" +msgstr "" + +#. type: vindex +#: doc/guix.texi:1453 doc/guix.texi:9549 +#, no-wrap +msgid "LOCPATH" +msgstr "" + +#. type: vindex +#: doc/guix.texi:1454 +#, no-wrap +msgid "GUIX_LOCPATH" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1459 +msgid "" +"Packages installed @i{via} Guix will not use the locale data of the host " +"system. Instead, you must first install one of the locale packages " +"available with Guix and then define the @code{GUIX_LOCPATH} environment " +"variable:" +msgstr "" + +#. type: example +#: doc/guix.texi:1463 +#, no-wrap +msgid "" +"$ guix package -i glibc-locales\n" +"$ export GUIX_LOCPATH=$HOME/.guix-profile/lib/locale\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1469 +msgid "" +"Note that the @code{glibc-locales} package contains data for all the locales " +"supported by the GNU@tie{}libc and weighs in at around 110@tie{}MiB. " +"Alternatively, the @code{glibc-utf8-locales} is smaller but limited to a few " +"UTF-8 locales." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1473 +msgid "" +"The @code{GUIX_LOCPATH} variable plays a role similar to @code{LOCPATH} " +"(@pxref{Locale Names, @code{LOCPATH},, libc, The GNU C Library Reference " +"Manual}). There are two important differences though:" +msgstr "" + +#. type: enumerate +#: doc/guix.texi:1480 +msgid "" +"@code{GUIX_LOCPATH} is honored only by the libc in Guix, and not by the libc " +"provided by foreign distros. Thus, using @code{GUIX_LOCPATH} allows you to " +"make sure the programs of the foreign distro will not end up loading " +"incompatible locale data." +msgstr "" + +#. type: enumerate +#: doc/guix.texi:1487 +msgid "" +"libc suffixes each entry of @code{GUIX_LOCPATH} with @code{/X.Y}, where " +"@code{X.Y} is the libc version---e.g., @code{2.22}. This means that, should " +"your Guix profile contain a mixture of programs linked against different " +"libc version, each libc version will only try to load locale data in the " +"right format." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1491 +msgid "" +"This is important because the locale data format used by different libc " +"versions may be incompatible." +msgstr "" + +#. type: cindex +#: doc/guix.texi:1494 +#, no-wrap +msgid "name service switch, glibc" +msgstr "" + +#. type: cindex +#: doc/guix.texi:1495 +#, no-wrap +msgid "NSS (name service switch), glibc" +msgstr "" + +#. type: cindex +#: doc/guix.texi:1496 +#, no-wrap +msgid "nscd (name service caching daemon)" +msgstr "" + +#. type: cindex +#: doc/guix.texi:1497 +#, no-wrap +msgid "name service caching daemon (nscd)" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1504 +msgid "" +"When using Guix on a foreign distro, we @emph{strongly recommend} that the " +"system run the GNU C library's @dfn{name service cache daemon}, " +"@command{nscd}, which should be listening on the @file{/var/run/nscd/socket} " +"socket. Failing to do that, applications installed with Guix may fail to " +"look up host names or user accounts, or may even crash. The next paragraphs " +"explain why." +msgstr "" + +#. type: file{#1} +#: doc/guix.texi:1505 +#, no-wrap +msgid "nsswitch.conf" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1510 +msgid "" +"The GNU C library implements a @dfn{name service switch} (NSS), which is an " +"extensible mechanism for ``name lookups'' in general: host name resolution, " +"user accounts, and more (@pxref{Name Service Switch,,, libc, The GNU C " +"Library Reference Manual})." +msgstr "" + +#. type: cindex +#: doc/guix.texi:1511 +#, no-wrap +msgid "Network information service (NIS)" +msgstr "" + +#. type: cindex +#: doc/guix.texi:1512 +#, no-wrap +msgid "NIS (Network information service)" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1521 +msgid "" +"Being extensible, the NSS supports @dfn{plugins}, which provide new name " +"lookup implementations: for example, the @code{nss-mdns} plugin allow " +"resolution of @code{.local} host names, the @code{nis} plugin allows user " +"account lookup using the Network information service (NIS), and so on. " +"These extra ``lookup services'' are configured system-wide in " +"@file{/etc/nsswitch.conf}, and all the programs running on the system honor " +"those settings (@pxref{NSS Configuration File,,, libc, The GNU C Reference " +"Manual})." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1531 +msgid "" +"When they perform a name lookup---for instance by calling the " +"@code{getaddrinfo} function in C---applications first try to connect to the " +"nscd; on success, nscd performs name lookups on their behalf. If the nscd " +"is not running, then they perform the name lookup by themselves, by loading " +"the name lookup services into their own address space and running it. These " +"name lookup services---the @file{libnss_*.so} files---are @code{dlopen}'d, " +"but they may come from the host system's C library, rather than from the C " +"library the application is linked against (the C library coming from Guix)." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1536 +msgid "" +"And this is where the problem is: if your application is linked against " +"Guix's C library (say, glibc 2.24) and tries to load NSS plugins from " +"another C library (say, @code{libnss_mdns.so} for glibc 2.22), it will " +"likely crash or have its name lookups fail unexpectedly." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1541 +msgid "" +"Running @command{nscd} on the system, among other advantages, eliminates " +"this binary incompatibility problem because those @code{libnss_*.so} files " +"are loaded in the @command{nscd} process, not in applications themselves." +msgstr "" + +#. type: subsection +#: doc/guix.texi:1542 +#, no-wrap +msgid "X11 Fonts" +msgstr "" + +#. type: cindex +#: doc/guix.texi:1544 doc/guix.texi:22025 +#, no-wrap +msgid "fonts" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1552 +msgid "" +"The majority of graphical applications use Fontconfig to locate and load " +"fonts and perform X11-client-side rendering. The @code{fontconfig} package " +"in Guix looks for fonts in @file{$HOME/.guix-profile} by default. Thus, to " +"allow graphical applications installed with Guix to display fonts, you have " +"to install fonts with Guix as well. Essential font packages include " +"@code{gs-fonts}, @code{font-dejavu}, and @code{font-gnu-freefont-ttf}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1559 +msgid "" +"To display text written in Chinese languages, Japanese, or Korean in " +"graphical applications, consider installing " +"@code{font-adobe-source-han-sans} or @code{font-wqy-zenhei}. The former has " +"multiple outputs, one per language family (@pxref{Packages with Multiple " +"Outputs}). For instance, the following command installs fonts for Chinese " +"languages:" +msgstr "" + +#. type: example +#: doc/guix.texi:1562 +#, no-wrap +msgid "guix package -i font-adobe-source-han-sans:cn\n" +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:1564 +#, no-wrap +msgid "xterm" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1568 +msgid "" +"Older programs such as @command{xterm} do not use Fontconfig and instead " +"rely on server-side font rendering. Such programs require to specify a full " +"name of a font using XLFD (X Logical Font Description), like this:" +msgstr "" + +#. type: example +#: doc/guix.texi:1571 +#, no-wrap +msgid "-*-dejavu sans-medium-r-normal-*-*-100-*-*-*-*-*-1\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1575 +msgid "" +"To be able to use such full names for the TrueType fonts installed in your " +"Guix profile, you need to extend the font path of the X server:" +msgstr "" + +#. type: example +#: doc/guix.texi:1580 +#, no-wrap +msgid "" +"xset +fp $(dirname $(readlink -f " +"~/.guix-profile/share/fonts/truetype/fonts.dir))\n" +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:1582 +#, no-wrap +msgid "xlsfonts" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1585 +msgid "" +"After that, you can run @code{xlsfonts} (from @code{xlsfonts} package) to " +"make sure your TrueType fonts are listed there." +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:1586 +#, no-wrap +msgid "fc-cache" +msgstr "" + +#. type: cindex +#: doc/guix.texi:1587 +#, no-wrap +msgid "font cache" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1593 +msgid "" +"After installing fonts you may have to refresh the font cache to use them in " +"applications. The same applies when applications installed via Guix do not " +"seem to find fonts. To force rebuilding of the font cache run " +"@code{fc-cache -f}. The @code{fc-cache} command is provided by the " +"@code{fontconfig} package." +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:1596 doc/guix.texi:19742 +#, no-wrap +msgid "nss-certs" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1599 +msgid "" +"The @code{nss-certs} package provides X.509 certificates, which allow " +"programs to authenticate Web servers accessed over HTTPS." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1604 +msgid "" +"When using Guix on a foreign distro, you can install this package and define " +"the relevant environment variables so that packages know where to look for " +"certificates. @xref{X.509 Certificates}, for detailed information." +msgstr "" + +#. type: subsection +#: doc/guix.texi:1605 +#, no-wrap +msgid "Emacs Packages" +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:1607 +#, no-wrap +msgid "emacs" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1618 +msgid "" +"When you install Emacs packages with Guix, the elisp files may be placed " +"either in @file{$HOME/.guix-profile/share/emacs/site-lisp/} or in " +"sub-directories of " +"@file{$HOME/.guix-profile/share/emacs/site-lisp/guix.d/}. The latter " +"directory exists because potentially there may exist thousands of Emacs " +"packages and storing all their files in a single directory may not be " +"reliable (because of name conflicts). So we think using a separate " +"directory for each package is a good idea. It is very similar to how the " +"Emacs package system organizes the file structure (@pxref{Package Files,,, " +"emacs, The GNU Emacs Manual})." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1624 +msgid "" +"By default, Emacs (installed with Guix) ``knows'' where these packages are " +"placed, so you do not need to perform any configuration. If, for some " +"reason, you want to avoid auto-loading Emacs packages installed with Guix, " +"you can do so by running Emacs with @code{--no-site-file} option " +"(@pxref{Init File,,, emacs, The GNU Emacs Manual})." +msgstr "" + +#. type: subsection +#: doc/guix.texi:1625 +#, no-wrap +msgid "The GCC toolchain" +msgstr "" + +#. type: cindex +#: doc/guix.texi:1627 +#, no-wrap +msgid "GCC" +msgstr "" + +#. type: cindex +#: doc/guix.texi:1628 +#, no-wrap +msgid "ld-wrapper" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1637 +msgid "" +"Guix offers individual compiler packages such as @code{gcc} but if you are " +"in need of a complete toolchain for compiling and linking source code what " +"you really want is the @code{gcc-toolchain} package. This package provides " +"a complete GCC toolchain for C/C++ development, including GCC itself, the " +"GNU C Library (headers and binaries, plus debugging symbols in the " +"@code{debug} output), Binutils, and a linker wrapper." +msgstr "" + +#. type: cindex +#: doc/guix.texi:1638 +#, no-wrap +msgid "attempt to use impure library, error message" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1648 +msgid "" +"The wrapper's purpose is to inspect the @code{-L} and @code{-l} switches " +"passed to the linker, add corresponding @code{-rpath} arguments, and invoke " +"the actual linker with this new set of arguments. By default, the linker " +"wrapper refuses to link to libraries outside the store to ensure " +"``purity''. This can be annoying when using the toolchain to link with " +"local libraries. To allow references to libraries outside the store you " +"need to define the environment variable " +"@code{GUIX_LD_WRAPPER_ALLOW_IMPURITIES}." +msgstr "" + +#. type: cindex +#: doc/guix.texi:1655 +#, no-wrap +msgid "packages" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1660 +msgid "" +"The purpose of GNU Guix is to allow users to easily install, upgrade, and " +"remove software packages, without having to know about their build " +"procedures or dependencies. Guix also goes beyond this obvious set of " +"features." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1668 +msgid "" +"This chapter describes the main features of Guix, as well as the package " +"management tools it provides. Along with the command-line interface " +"described below (@pxref{Invoking guix package, @code{guix package}}), you " +"may also use the Emacs-Guix interface (@pxref{Top,,, emacs-guix, The " +"Emacs-Guix Reference Manual}), after installing @code{emacs-guix} package " +"(run @kbd{M-x guix-help} command to start with it):" +msgstr "" + +#. type: example +#: doc/guix.texi:1671 +#, no-wrap +msgid "guix package -i emacs-guix\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1690 +msgid "" +"When using Guix, each package ends up in the @dfn{package store}, in its own " +"directory---something that resembles @file{/gnu/store/xxx-package-1.2}, " +"where @code{xxx} is a base32 string." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1695 +msgid "" +"Instead of referring to these directories, users have their own " +"@dfn{profile}, which points to the packages that they actually want to use. " +"These profiles are stored within each user's home directory, at " +"@code{$HOME/.guix-profile}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1703 +msgid "" +"For example, @code{alice} installs GCC 4.7.2. As a result, " +"@file{/home/alice/.guix-profile/bin/gcc} points to " +"@file{/gnu/store/@dots{}-gcc-4.7.2/bin/gcc}. Now, on the same machine, " +"@code{bob} had already installed GCC 4.8.0. The profile of @code{bob} " +"simply continues to point to " +"@file{/gnu/store/@dots{}-gcc-4.8.0/bin/gcc}---i.e., both versions of GCC " +"coexist on the same system without any interference." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1707 +msgid "" +"The @command{guix package} command is the central tool to manage packages " +"(@pxref{Invoking guix package}). It operates on the per-user profiles, and " +"can be used @emph{with normal user privileges}." +msgstr "" + +#. type: cindex +#: doc/guix.texi:1708 doc/guix.texi:1777 +#, no-wrap +msgid "transactions" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1715 +msgid "" +"The command provides the obvious install, remove, and upgrade operations. " +"Each invocation is actually a @emph{transaction}: either the specified " +"operation succeeds, or nothing happens. Thus, if the @command{guix package} " +"process is terminated during the transaction, or if a power outage occurs " +"during the transaction, then the user's profile remains in its previous " +"state, and remains usable." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1723 +msgid "" +"In addition, any package transaction may be @emph{rolled back}. So, if, for " +"example, an upgrade installs a new version of a package that turns out to " +"have a serious bug, users may roll back to the previous instance of their " +"profile, which was known to work well. Similarly, the global system " +"configuration on GuixSD is subject to transactional upgrades and roll-back " +"(@pxref{Using the Configuration System})." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1730 +msgid "" +"All packages in the package store may be @emph{garbage-collected}. Guix can " +"determine which packages are still referenced by user profiles, and remove " +"those that are provably no longer referenced (@pxref{Invoking guix gc}). " +"Users may also explicitly remove old generations of their profile so that " +"the packages they refer to can be collected." +msgstr "" + +#. type: cindex +#: doc/guix.texi:1731 +#, no-wrap +msgid "reproducibility" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1743 +msgid "" +"Finally, Guix takes a @dfn{purely functional} approach to package " +"management, as described in the introduction (@pxref{Introduction}). Each " +"@file{/gnu/store} package directory name contains a hash of all the inputs " +"that were used to build that package---compiler, libraries, build scripts, " +"etc. This direct correspondence allows users to make sure a given package " +"installation matches the current state of their distribution. It also helps " +"maximize @dfn{build reproducibility}: thanks to the isolated build " +"environments that are used, a given build is likely to yield bit-identical " +"files when performed on different machines (@pxref{Invoking guix-daemon, " +"container})." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1754 +msgid "" +"This foundation allows Guix to support @dfn{transparent binary/source " +"deployment}. When a pre-built binary for a @file{/gnu/store} item is " +"available from an external source---a @dfn{substitute}, Guix just downloads " +"it and unpacks it; otherwise, it builds the package from source, locally " +"(@pxref{Substitutes}). Because build results are usually bit-for-bit " +"reproducible, users do not have to trust servers that provide substitutes: " +"they can force a local build and @emph{challenge} providers (@pxref{Invoking " +"guix challenge})." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1760 +msgid "" +"Control over the build environment is a feature that is also useful for " +"developers. The @command{guix environment} command allows developers of a " +"package to quickly set up the right development environment for their " +"package, without having to manually install the dependencies of the package " +"into their profile (@pxref{Invoking guix environment})." +msgstr "" + +#. type: section +#: doc/guix.texi:1762 +#, no-wrap +msgid "Invoking @command{guix package}" +msgstr "" + +#. type: cindex +#: doc/guix.texi:1764 +#, no-wrap +msgid "installing packages" +msgstr "" + +#. type: cindex +#: doc/guix.texi:1765 +#, no-wrap +msgid "removing packages" +msgstr "" + +#. type: cindex +#: doc/guix.texi:1766 +#, no-wrap +msgid "package installation" +msgstr "" + +#. type: cindex +#: doc/guix.texi:1767 +#, no-wrap +msgid "package removal" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1773 +msgid "" +"The @command{guix package} command is the tool that allows users to install, " +"upgrade, and remove packages, as well as rolling back to previous " +"configurations. It operates only on the user's own profile, and works with " +"normal user privileges (@pxref{Features}). Its syntax is:" +msgstr "" + +#. type: example +#: doc/guix.texi:1776 +#, no-wrap +msgid "guix package @var{options}\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1782 +msgid "" +"Primarily, @var{options} specifies the operations to be performed during the " +"transaction. Upon completion, a new profile is created, but previous " +"@dfn{generations} of the profile remain available, should the user want to " +"roll back." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1785 +msgid "" +"For example, to remove @code{lua} and install @code{guile} and " +"@code{guile-cairo} in a single transaction:" +msgstr "" + +#. type: example +#: doc/guix.texi:1788 +#, no-wrap +msgid "guix package -r lua -i guile guile-cairo\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1794 +msgid "" +"@command{guix package} also supports a @dfn{declarative approach} whereby " +"the user specifies the exact set of packages to be available and passes it " +"@i{via} the @option{--manifest} option (@pxref{profile-manifest, " +"@option{--manifest}})." +msgstr "" + +#. type: cindex +#: doc/guix.texi:1795 +#, no-wrap +msgid "profile" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1801 +msgid "" +"For each user, a symlink to the user's default profile is automatically " +"created in @file{$HOME/.guix-profile}. This symlink always points to the " +"current generation of the user's default profile. Thus, users can add " +"@file{$HOME/.guix-profile/bin} to their @code{PATH} environment variable, " +"and so on." +msgstr "" + +#. type: cindex +#: doc/guix.texi:1801 doc/guix.texi:1998 +#, no-wrap +msgid "search paths" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1806 +msgid "" +"If you are not using the Guix System Distribution, consider adding the " +"following lines to your @file{~/.bash_profile} (@pxref{Bash Startup Files,,, " +"bash, The GNU Bash Reference Manual}) so that newly-spawned shells get all " +"the right environment variable definitions:" +msgstr "" + +#. type: example +#: doc/guix.texi:1810 +#, no-wrap +msgid "" +"GUIX_PROFILE=\"$HOME/.guix-profile\" ; \\\n" +"source \"$HOME/.guix-profile/etc/profile\"\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1821 +msgid "" +"In a multi-user setup, user profiles are stored in a place registered as a " +"@dfn{garbage-collector root}, which @file{$HOME/.guix-profile} points to " +"(@pxref{Invoking guix gc}). That directory is normally " +"@code{@var{localstatedir}/guix/profiles/per-user/@var{user}}, where " +"@var{localstatedir} is the value passed to @code{configure} as " +"@code{--localstatedir}, and @var{user} is the user name. The " +"@file{per-user} directory is created when @command{guix-daemon} is started, " +"and the @var{user} sub-directory is created by @command{guix package}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:1823 +msgid "The @var{options} can be among the following:" +msgstr "" + +#. type: item +#: doc/guix.texi:1826 +#, no-wrap +msgid "--install=@var{package} @dots{}" +msgstr "" + +#. type: itemx +#: doc/guix.texi:1827 +#, no-wrap +msgid "-i @var{package} @dots{}" +msgstr "" + +#. type: table +#: doc/guix.texi:1829 +msgid "Install the specified @var{package}s." +msgstr "" + +#. type: table +#: doc/guix.texi:1834 +msgid "" +"Each @var{package} may specify either a simple package name, such as " +"@code{guile}, or a package name followed by an at-sign and version number, " +"such as @code{guile@@1.8.8} or simply @code{guile@@1.8} (in the latter case, " +"the newest version prefixed by @code{1.8} is selected.)" +msgstr "" + +#. type: table +#: doc/guix.texi:1842 +msgid "" +"If no version number is specified, the newest available version will be " +"selected. In addition, @var{package} may contain a colon, followed by the " +"name of one of the outputs of the package, as in @code{gcc:doc} or " +"@code{binutils@@2.22:lib} (@pxref{Packages with Multiple Outputs}). " +"Packages with a corresponding name (and optionally version) are searched for " +"among the GNU distribution modules (@pxref{Package Modules})." +msgstr "" + +#. type: cindex +#: doc/guix.texi:1843 +#, no-wrap +msgid "propagated inputs" +msgstr "" + +#. type: table +#: doc/guix.texi:1849 +msgid "" +"Sometimes packages have @dfn{propagated inputs}: these are dependencies that " +"automatically get installed along with the required package " +"(@pxref{package-propagated-inputs, @code{propagated-inputs} in " +"@code{package} objects}, for information about propagated inputs in package " +"definitions)." +msgstr "" + +#. type: anchor{#1} +#: doc/guix.texi:1856 +msgid "package-cmd-propagated-inputs" +msgstr "" + +#. type: table +#: doc/guix.texi:1856 +msgid "" +"An example is the GNU MPC library: its C header files refer to those of the " +"GNU MPFR library, which in turn refer to those of the GMP library. Thus, " +"when installing MPC, the MPFR and GMP libraries also get installed in the " +"profile; removing MPC also removes MPFR and GMP---unless they had also been " +"explicitly installed by the user." +msgstr "" + +#. type: table +#: doc/guix.texi:1861 +msgid "" +"Besides, packages sometimes rely on the definition of environment variables " +"for their search paths (see explanation of @code{--search-paths} below). " +"Any missing or possibly incorrect environment variable definitions are " +"reported here." +msgstr "" + +#. type: item +#: doc/guix.texi:1862 +#, no-wrap +msgid "--install-from-expression=@var{exp}" +msgstr "" + +#. type: itemx +#: doc/guix.texi:1863 +#, no-wrap +msgid "-e @var{exp}" +msgstr "" + +#. type: table +#: doc/guix.texi:1865 +msgid "Install the package @var{exp} evaluates to." +msgstr "" + +#. type: table +#: doc/guix.texi:1870 +msgid "" +"@var{exp} must be a Scheme expression that evaluates to a @code{<package>} " +"object. This option is notably useful to disambiguate between same-named " +"variants of a package, with expressions such as @code{(@@ (gnu packages " +"base) guile-final)}." +msgstr "" + +#. type: table +#: doc/guix.texi:1874 +msgid "" +"Note that this option installs the first output of the specified package, " +"which may be insufficient when needing a specific output of a " +"multiple-output package." +msgstr "" + +#. type: item +#: doc/guix.texi:1875 +#, no-wrap +msgid "--install-from-file=@var{file}" +msgstr "" + +#. type: itemx +#: doc/guix.texi:1876 doc/guix.texi:5699 +#, no-wrap +msgid "-f @var{file}" +msgstr "" + +#. type: table +#: doc/guix.texi:1878 +msgid "Install the package that the code within @var{file} evaluates to." +msgstr "" + +#. type: table +#: doc/guix.texi:1881 doc/guix.texi:7283 +msgid "" +"As an example, @var{file} might contain a definition like this " +"(@pxref{Defining Packages}):" +msgstr "" + +#. type: example +#: doc/guix.texi:1884 doc/guix.texi:5709 +#, no-wrap +msgid "@verbatiminclude package-hello.scm\n" +msgstr "" + +#. type: table +#: doc/guix.texi:1890 +msgid "" +"Developers may find it useful to include such a @file{guix.scm} file in the " +"root of their project source tree that can be used to test development " +"snapshots and create reproducible development environments (@pxref{Invoking " +"guix environment})." +msgstr "" + +#. type: item +#: doc/guix.texi:1891 +#, no-wrap +msgid "--remove=@var{package} @dots{}" +msgstr "" + +#. type: itemx +#: doc/guix.texi:1892 +#, no-wrap +msgid "-r @var{package} @dots{}" +msgstr "" + +#. type: table +#: doc/guix.texi:1894 +msgid "Remove the specified @var{package}s." +msgstr "" + +#. type: table +#: doc/guix.texi:1899 +msgid "" +"As for @code{--install}, each @var{package} may specify a version number " +"and/or output name in addition to the package name. For instance, @code{-r " +"glibc:debug} would remove the @code{debug} output of @code{glibc}." +msgstr "" + +#. type: item +#: doc/guix.texi:1900 +#, no-wrap +msgid "--upgrade[=@var{regexp} @dots{}]" +msgstr "" + +#. type: itemx +#: doc/guix.texi:1901 +#, no-wrap +msgid "-u [@var{regexp} @dots{}]" +msgstr "" + +#. type: cindex +#: doc/guix.texi:1902 +#, no-wrap +msgid "upgrading packages" +msgstr "" + +#. type: table +#: doc/guix.texi:1906 +msgid "" +"Upgrade all the installed packages. If one or more @var{regexp}s are " +"specified, upgrade only installed packages whose name matches a " +"@var{regexp}. Also see the @code{--do-not-upgrade} option below." +msgstr "" + +#. type: table +#: doc/guix.texi:1911 +msgid "" +"Note that this upgrades package to the latest version of packages found in " +"the distribution currently installed. To update your distribution, you " +"should regularly run @command{guix pull} (@pxref{Invoking guix pull})." +msgstr "" + +#. type: item +#: doc/guix.texi:1912 +#, no-wrap +msgid "--do-not-upgrade[=@var{regexp} @dots{}]" +msgstr "" + +#. type: table +#: doc/guix.texi:1917 +msgid "" +"When used together with the @code{--upgrade} option, do @emph{not} upgrade " +"any packages whose name matches a @var{regexp}. For example, to upgrade all " +"packages in the current profile except those containing the substring " +"``emacs'':" +msgstr "" + +#. type: example +#: doc/guix.texi:1920 +#, no-wrap +msgid "$ guix package --upgrade . --do-not-upgrade emacs\n" +msgstr "" + +#. type: anchor{#1} +#: doc/guix.texi:1922 +#, no-wrap +msgid "profile-manifest" +msgstr "" + +#. type: item +#: doc/guix.texi:1922 doc/guix.texi:2877 doc/guix.texi:6577 doc/guix.texi:7288 doc/guix.texi:7972 +#, no-wrap +msgid "--manifest=@var{file}" +msgstr "" + +#. type: itemx +#: doc/guix.texi:1923 doc/guix.texi:2878 doc/guix.texi:6578 doc/guix.texi:7289 +#, no-wrap +msgid "-m @var{file}" +msgstr "" + +#. type: cindex +#: doc/guix.texi:1924 +#, no-wrap +msgid "profile declaration" +msgstr "" + +#. type: cindex +#: doc/guix.texi:1925 +#, no-wrap +msgid "profile manifest" +msgstr "" + +#. type: table +#: doc/guix.texi:1928 +msgid "" +"Create a new generation of the profile from the manifest object returned by " +"the Scheme code in @var{file}." +msgstr "" + +#. type: table +#: doc/guix.texi:1934 +msgid "" +"This allows you to @emph{declare} the profile's contents rather than " +"constructing it through a sequence of @code{--install} and similar " +"commands. The advantage is that @var{file} can be put under version " +"control, copied to different machines to reproduce the same profile, and so " +"on." +msgstr "" + +#. type: table +#: doc/guix.texi:1938 +msgid "" +"@var{file} must return a @dfn{manifest} object, which is roughly a list of " +"packages:" +msgstr "" + +#. type: findex +#: doc/guix.texi:1939 +#, no-wrap +msgid "packages->manifest" +msgstr "" + +#. type: example +#: doc/guix.texi:1942 +#, no-wrap +msgid "" +"(use-package-modules guile emacs)\n" +"\n" +msgstr "" + +#. type: example +#: doc/guix.texi:1948 +#, no-wrap +msgid "" +"(packages->manifest\n" +" (list emacs\n" +" guile-2.0\n" +" ;; Use a specific package output.\n" +" (list guile-2.0 \"debug\")))\n" +msgstr "" + +#. type: findex +#: doc/guix.texi:1950 +#, no-wrap +msgid "specifications->manifest" +msgstr "" + +#. type: table +#: doc/guix.texi:1957 +msgid "" +"In this example we have to know which modules define the @code{emacs} and " +"@code{guile-2.0} variables to provide the right @code{use-package-modules} " +"line, which can be cumbersome. We can instead provide regular package " +"specifications and let @code{specifications->manifest} look up the " +"corresponding package objects, like this:" +msgstr "" + +#. type: example +#: doc/guix.texi:1961 +#, no-wrap +msgid "" +"(specifications->manifest\n" +" '(\"emacs\" \"guile@@2.2\" \"guile@@2.2:debug\"))\n" +msgstr "" + +#. type: item +#: doc/guix.texi:1963 +#, no-wrap +msgid "--roll-back" +msgstr "" + +#. type: cindex +#: doc/guix.texi:1964 doc/guix.texi:20382 +#, no-wrap +msgid "rolling back" +msgstr "" + +#. type: cindex +#: doc/guix.texi:1965 +#, no-wrap +msgid "undoing transactions" +msgstr "" + +#. type: cindex +#: doc/guix.texi:1966 +#, no-wrap +msgid "transactions, undoing" +msgstr "" + +#. type: table +#: doc/guix.texi:1969 +msgid "" +"Roll back to the previous @dfn{generation} of the profile---i.e., undo the " +"last transaction." +msgstr "" + +#. type: table +#: doc/guix.texi:1972 +msgid "" +"When combined with options such as @code{--install}, roll back occurs before " +"any other actions." +msgstr "" + +#. type: table +#: doc/guix.texi:1976 +msgid "" +"When rolling back from the first generation that actually contains installed " +"packages, the profile is made to point to the @dfn{zeroth generation}, which " +"contains no files apart from its own metadata." +msgstr "" + +#. type: table +#: doc/guix.texi:1980 +msgid "" +"After having rolled back, installing, removing, or upgrading packages " +"overwrites previous future generations. Thus, the history of the " +"generations in a profile is always linear." +msgstr "" + +#. type: item +#: doc/guix.texi:1981 +#, no-wrap +msgid "--switch-generation=@var{pattern}" +msgstr "" + +#. type: itemx +#: doc/guix.texi:1982 +#, no-wrap +msgid "-S @var{pattern}" +msgstr "" + +#. type: cindex +#: doc/guix.texi:1983 doc/guix.texi:2181 doc/guix.texi:20340 +#, no-wrap +msgid "generations" +msgstr "" + +#. type: table +#: doc/guix.texi:1985 +msgid "Switch to a particular generation defined by @var{pattern}." +msgstr "" + +#. type: table +#: doc/guix.texi:1991 +msgid "" +"@var{pattern} may be either a generation number or a number prefixed with " +"``+'' or ``-''. The latter means: move forward/backward by a specified " +"number of generations. For example, if you want to return to the latest " +"generation after @code{--roll-back}, use @code{--switch-generation=+1}." +msgstr "" + +#. type: table +#: doc/guix.texi:1996 +msgid "" +"The difference between @code{--roll-back} and @code{--switch-generation=-1} " +"is that @code{--switch-generation} will not make a zeroth generation, so if " +"a specified generation does not exist, the current generation will not be " +"changed." +msgstr "" + +#. type: item +#: doc/guix.texi:1997 +#, no-wrap +msgid "--search-paths[=@var{kind}]" +msgstr "" + +#. type: table +#: doc/guix.texi:2003 +msgid "" +"Report environment variable definitions, in Bash syntax, that may be needed " +"in order to use the set of installed packages. These environment variables " +"are used to specify @dfn{search paths} for files used by some of the " +"installed packages." +msgstr "" + +#. type: table +#: doc/guix.texi:2011 +msgid "" +"For example, GCC needs the @code{CPATH} and @code{LIBRARY_PATH} environment " +"variables to be defined so it can look for headers and libraries in the " +"user's profile (@pxref{Environment Variables,,, gcc, Using the GNU Compiler " +"Collection (GCC)}). If GCC and, say, the C library are installed in the " +"profile, then @code{--search-paths} will suggest setting these variables to " +"@code{@var{profile}/include} and @code{@var{profile}/lib}, respectively." +msgstr "" + +#. type: table +#: doc/guix.texi:2014 +msgid "The typical use case is to define these environment variables in the shell:" +msgstr "" + +#. type: example +#: doc/guix.texi:2017 +#, no-wrap +msgid "$ eval `guix package --search-paths`\n" +msgstr "" + +#. type: table +#: doc/guix.texi:2023 +msgid "" +"@var{kind} may be one of @code{exact}, @code{prefix}, or @code{suffix}, " +"meaning that the returned environment variable definitions will either be " +"exact settings, or prefixes or suffixes of the current value of these " +"variables. When omitted, @var{kind} defaults to @code{exact}." +msgstr "" + +#. type: table +#: doc/guix.texi:2026 +msgid "" +"This option can also be used to compute the @emph{combined} search paths of " +"several profiles. Consider this example:" +msgstr "" + +#. type: example +#: doc/guix.texi:2031 +#, no-wrap +msgid "" +"$ guix package -p foo -i guile\n" +"$ guix package -p bar -i guile-json\n" +"$ guix package -p foo -p bar --search-paths\n" +msgstr "" + +#. type: table +#: doc/guix.texi:2036 +msgid "" +"The last command above reports about the @code{GUILE_LOAD_PATH} variable, " +"even though, taken individually, neither @file{foo} nor @file{bar} would " +"lead to that recommendation." +msgstr "" + +#. type: item +#: doc/guix.texi:2038 +#, no-wrap +msgid "--profile=@var{profile}" +msgstr "" + +#. type: itemx +#: doc/guix.texi:2039 +#, no-wrap +msgid "-p @var{profile}" +msgstr "" + +#. type: table +#: doc/guix.texi:2041 +msgid "Use @var{profile} instead of the user's default profile." +msgstr "" + +#. type: cindex +#: doc/guix.texi:2042 +#, no-wrap +msgid "collisions, in a profile" +msgstr "" + +#. type: cindex +#: doc/guix.texi:2043 +#, no-wrap +msgid "colliding packages in profiles" +msgstr "" + +#. type: cindex +#: doc/guix.texi:2044 +#, no-wrap +msgid "profile collisions" +msgstr "" + +#. type: item +#: doc/guix.texi:2045 +#, no-wrap +msgid "--allow-collisions" +msgstr "" + +#. type: table +#: doc/guix.texi:2047 +msgid "Allow colliding packages in the new profile. Use at your own risk!" +msgstr "" + +#. type: table +#: doc/guix.texi:2051 +msgid "" +"By default, @command{guix package} reports as an error @dfn{collisions} in " +"the profile. Collisions happen when two or more different versions or " +"variants of a given package end up in the profile." +msgstr "" + +#. type: item +#: doc/guix.texi:2052 doc/guix.texi:2754 doc/guix.texi:7777 +#, no-wrap +msgid "--verbose" +msgstr "" + +#. type: table +#: doc/guix.texi:2055 +msgid "" +"Produce verbose output. In particular, emit the build log of the " +"environment on the standard error port." +msgstr "" + +#. type: item +#: doc/guix.texi:2056 doc/guix.texi:2773 doc/guix.texi:2931 +#, no-wrap +msgid "--bootstrap" +msgstr "" + +#. type: table +#: doc/guix.texi:2059 +msgid "" +"Use the bootstrap Guile to build the profile. This option is only useful to " +"distribution developers." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2065 +msgid "" +"In addition to these actions, @command{guix package} supports the following " +"options to query the current state of a profile, or the availability of " +"packages:" +msgstr "" + +#. type: item +#: doc/guix.texi:2068 +#, no-wrap +msgid "--search=@var{regexp}" +msgstr "" + +#. type: itemx +#: doc/guix.texi:2069 +#, no-wrap +msgid "-s @var{regexp}" +msgstr "" + +#. type: cindex +#: doc/guix.texi:2070 +#, no-wrap +msgid "searching for packages" +msgstr "" + +#. type: table +#: doc/guix.texi:2075 +msgid "" +"List the available packages whose name, synopsis, or description matches " +"@var{regexp}, sorted by relevance. Print all the metadata of matching " +"packages in @code{recutils} format (@pxref{Top, GNU recutils databases,, " +"recutils, GNU recutils manual})." +msgstr "" + +#. type: table +#: doc/guix.texi:2078 +msgid "" +"This allows specific fields to be extracted using the @command{recsel} " +"command, for instance:" +msgstr "" + +#. type: example +#: doc/guix.texi:2084 +#, no-wrap +msgid "" +"$ guix package -s malloc | recsel -p name,version,relevance\n" +"name: jemalloc\n" +"version: 4.5.0\n" +"relevance: 6\n" +"\n" +msgstr "" + +#. type: example +#: doc/guix.texi:2088 +#, no-wrap +msgid "" +"name: glibc\n" +"version: 2.25\n" +"relevance: 1\n" +"\n" +msgstr "" + +#. type: example +#: doc/guix.texi:2092 +#, no-wrap +msgid "" +"name: libgc\n" +"version: 7.6.0\n" +"relevance: 1\n" +msgstr "" + +#. type: table +#: doc/guix.texi:2096 +msgid "" +"Similarly, to show the name of all the packages available under the terms of " +"the GNU@tie{}LGPL version 3:" +msgstr "" + +#. type: example +#: doc/guix.texi:2100 +#, no-wrap +msgid "" +"$ guix package -s \"\" | recsel -p name -e 'license ~ \"LGPL 3\"'\n" +"name: elfutils\n" +"\n" +msgstr "" + +#. type: example +#: doc/guix.texi:2103 +#, no-wrap +msgid "" +"name: gmp\n" +"@dots{}\n" +msgstr "" + +#. type: table +#: doc/guix.texi:2108 +msgid "" +"It is also possible to refine search results using several @code{-s} flags. " +"For example, the following command returns a list of board games:" +msgstr "" + +#. type: example +#: doc/guix.texi:2113 +#, no-wrap +msgid "" +"$ guix package -s '\\<board\\>' -s game | recsel -p name\n" +"name: gnubg\n" +"@dots{}\n" +msgstr "" + +#. type: table +#: doc/guix.texi:2119 +msgid "" +"If we were to omit @code{-s game}, we would also get software packages that " +"deal with printed circuit boards; removing the angle brackets around " +"@code{board} would further add packages that have to do with keyboards." +msgstr "" + +#. type: table +#: doc/guix.texi:2123 +msgid "" +"And now for a more elaborate example. The following command searches for " +"cryptographic libraries, filters out Haskell, Perl, Python, and Ruby " +"libraries, and prints the name and synopsis of the matching packages:" +msgstr "" + +#. type: example +#: doc/guix.texi:2127 +#, no-wrap +msgid "" +"$ guix package -s crypto -s library | \\\n" +" recsel -e '! (name ~ \"^(ghc|perl|python|ruby)\")' -p name,synopsis\n" +msgstr "" + +#. type: table +#: doc/guix.texi:2132 +msgid "" +"@xref{Selection Expressions,,, recutils, GNU recutils manual}, for more " +"information on @dfn{selection expressions} for @code{recsel -e}." +msgstr "" + +#. type: item +#: doc/guix.texi:2133 +#, no-wrap +msgid "--show=@var{package}" +msgstr "" + +#. type: table +#: doc/guix.texi:2137 +msgid "" +"Show details about @var{package}, taken from the list of available packages, " +"in @code{recutils} format (@pxref{Top, GNU recutils databases,, recutils, " +"GNU recutils manual})." +msgstr "" + +#. type: example +#: doc/guix.texi:2142 +#, no-wrap +msgid "" +"$ guix package --show=python | recsel -p name,version\n" +"name: python\n" +"version: 2.7.6\n" +"\n" +msgstr "" + +#. type: example +#: doc/guix.texi:2145 +#, no-wrap +msgid "" +"name: python\n" +"version: 3.3.5\n" +msgstr "" + +#. type: table +#: doc/guix.texi:2149 +msgid "" +"You may also specify the full name of a package to only get details about a " +"specific version of it:" +msgstr "" + +#. type: example +#: doc/guix.texi:2153 +#, no-wrap +msgid "" +"$ guix package --show=python@@3.4 | recsel -p name,version\n" +"name: python\n" +"version: 3.4.3\n" +msgstr "" + +#. type: item +#: doc/guix.texi:2157 +#, no-wrap +msgid "--list-installed[=@var{regexp}]" +msgstr "" + +#. type: itemx +#: doc/guix.texi:2158 +#, no-wrap +msgid "-I [@var{regexp}]" +msgstr "" + +#. type: table +#: doc/guix.texi:2162 +msgid "" +"List the currently installed packages in the specified profile, with the " +"most recently installed packages shown last. When @var{regexp} is " +"specified, list only installed packages whose name matches @var{regexp}." +msgstr "" + +#. type: table +#: doc/guix.texi:2168 +msgid "" +"For each installed package, print the following items, separated by tabs: " +"the package name, its version string, the part of the package that is " +"installed (for instance, @code{out} for the default output, @code{include} " +"for its headers, etc.), and the path of this package in the store." +msgstr "" + +#. type: item +#: doc/guix.texi:2169 +#, no-wrap +msgid "--list-available[=@var{regexp}]" +msgstr "" + +#. type: itemx +#: doc/guix.texi:2170 +#, no-wrap +msgid "-A [@var{regexp}]" +msgstr "" + +#. type: table +#: doc/guix.texi:2174 +msgid "" +"List packages currently available in the distribution for this system " +"(@pxref{GNU Distribution}). When @var{regexp} is specified, list only " +"installed packages whose name matches @var{regexp}." +msgstr "" + +#. type: table +#: doc/guix.texi:2178 +msgid "" +"For each package, print the following items separated by tabs: its name, its " +"version string, the parts of the package (@pxref{Packages with Multiple " +"Outputs}), and the source location of its definition." +msgstr "" + +#. type: item +#: doc/guix.texi:2179 +#, no-wrap +msgid "--list-generations[=@var{pattern}]" +msgstr "" + +#. type: itemx +#: doc/guix.texi:2180 +#, no-wrap +msgid "-l [@var{pattern}]" +msgstr "" + +#. type: table +#: doc/guix.texi:2186 +msgid "" +"Return a list of generations along with their creation dates; for each " +"generation, show the installed packages, with the most recently installed " +"packages shown last. Note that the zeroth generation is never shown." +msgstr "" + +#. type: table +#: doc/guix.texi:2191 +msgid "" +"For each installed package, print the following items, separated by tabs: " +"the name of a package, its version string, the part of the package that is " +"installed (@pxref{Packages with Multiple Outputs}), and the location of this " +"package in the store." +msgstr "" + +#. type: table +#: doc/guix.texi:2194 +msgid "" +"When @var{pattern} is used, the command returns only matching generations. " +"Valid patterns include:" +msgstr "" + +#. type: item +#: doc/guix.texi:2196 +#, no-wrap +msgid "@emph{Integers and comma-separated integers}. Both patterns denote" +msgstr "" + +#. type: itemize +#: doc/guix.texi:2199 +msgid "" +"generation numbers. For instance, @code{--list-generations=1} returns the " +"first one." +msgstr "" + +#. type: itemize +#: doc/guix.texi:2202 +msgid "" +"And @code{--list-generations=1,8,2} outputs three generations in the " +"specified order. Neither spaces nor trailing commas are allowed." +msgstr "" + +#. type: item +#: doc/guix.texi:2203 +#, no-wrap +msgid "@emph{Ranges}. @code{--list-generations=2..9} prints the" +msgstr "" + +#. type: itemize +#: doc/guix.texi:2206 +msgid "" +"specified generations and everything in between. Note that the start of a " +"range must be smaller than its end." +msgstr "" + +#. type: itemize +#: doc/guix.texi:2210 +msgid "" +"It is also possible to omit the endpoint. For example, " +"@code{--list-generations=2..}, returns all generations starting from the " +"second one." +msgstr "" + +#. type: item +#: doc/guix.texi:2211 +#, no-wrap +msgid "@emph{Durations}. You can also get the last @emph{N}@tie{}days, weeks," +msgstr "" + +#. type: itemize +#: doc/guix.texi:2215 +msgid "" +"or months by passing an integer along with the first letter of the " +"duration. For example, @code{--list-generations=20d} lists generations that " +"are up to 20 days old." +msgstr "" + +#. type: item +#: doc/guix.texi:2217 +#, no-wrap +msgid "--delete-generations[=@var{pattern}]" +msgstr "" + +#. type: itemx +#: doc/guix.texi:2218 +#, no-wrap +msgid "-d [@var{pattern}]" +msgstr "" + +#. type: table +#: doc/guix.texi:2221 +msgid "" +"When @var{pattern} is omitted, delete all generations except the current " +"one." +msgstr "" + +#. type: table +#: doc/guix.texi:2227 +msgid "" +"This command accepts the same patterns as @option{--list-generations}. When " +"@var{pattern} is specified, delete the matching generations. When " +"@var{pattern} specifies a duration, generations @emph{older} than the " +"specified duration match. For instance, @code{--delete-generations=1m} " +"deletes generations that are more than one month old." +msgstr "" + +#. type: table +#: doc/guix.texi:2230 +msgid "" +"If the current generation matches, it is @emph{not} deleted. Also, the " +"zeroth generation is never deleted." +msgstr "" + +#. type: table +#: doc/guix.texi:2233 +msgid "" +"Note that deleting generations prevents rolling back to them. Consequently, " +"this command must be used with care." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2244 +msgid "" +"Finally, since @command{guix package} may actually start build processes, it " +"supports all the common build options (@pxref{Common Build Options}). It " +"also supports package transformation options, such as @option{--with-source} " +"(@pxref{Package Transformation Options}). However, note that package " +"transformations are lost when upgrading; to preserve transformations across " +"upgrades, you should define your own package variant in a Guile module and " +"add it to @code{GUIX_PACKAGE_PATH} (@pxref{Defining Packages})." +msgstr "" + +#. type: cindex +#: doc/guix.texi:2249 +#, no-wrap +msgid "pre-built binaries" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2255 +msgid "" +"Guix supports transparent source/binary deployment, which means that it can " +"either build things locally, or download pre-built items from a server, or " +"both. We call these pre-built items @dfn{substitutes}---they are " +"substitutes for local build results. In many cases, downloading a " +"substitute is much faster than building things locally." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2260 +msgid "" +"Substitutes can be anything resulting from a derivation build " +"(@pxref{Derivations}). Of course, in the common case, they are pre-built " +"package binaries, but source tarballs, for instance, which also result from " +"derivation builds, can be available as substitutes." +msgstr "" + +#. type: cindex +#: doc/guix.texi:2273 +#, no-wrap +msgid "hydra" +msgstr "" + +#. type: cindex +#: doc/guix.texi:2274 +#, no-wrap +msgid "build farm" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2284 +msgid "" +"The @code{mirror.hydra.gnu.org} server is a front-end to an official build " +"farm that builds packages from Guix continuously for some architectures, and " +"makes them available as substitutes. This is the default source of " +"substitutes; it can be overridden by passing the @option{--substitute-urls} " +"option either to @command{guix-daemon} (@pxref{daemon-substitute-urls,, " +"@code{guix-daemon --substitute-urls}}) or to client tools such as " +"@command{guix package} (@pxref{client-substitute-urls,, client " +"@option{--substitute-urls} option})." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2290 +msgid "" +"Substitute URLs can be either HTTP or HTTPS. HTTPS is recommended because " +"communications are encrypted; conversely, using HTTP makes all " +"communications visible to an eavesdropper, who could use the information " +"gathered to determine, for instance, whether your system has unpatched " +"security vulnerabilities." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2299 +msgid "" +"Substitutes from the official build farm are enabled by default when using " +"the Guix System Distribution (@pxref{GNU Distribution}). However, they are " +"disabled by default when using Guix on a foreign distribution, unless you " +"have explicitly enabled them via one of the recommended installation steps " +"(@pxref{Installation}). The following paragraphs describe how to enable or " +"disable substitutes for the official build farm; the same procedure can also " +"be used to enable substitutes for any other substitute server." +msgstr "" + +#. type: cindex +#: doc/guix.texi:2303 +#, no-wrap +msgid "security" +msgstr "" + +#. type: cindex +#: doc/guix.texi:2305 +#, no-wrap +msgid "access control list (ACL), for substitutes" +msgstr "" + +#. type: cindex +#: doc/guix.texi:2306 +#, no-wrap +msgid "ACL (access control list), for substitutes" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2313 +msgid "" +"To allow Guix to download substitutes from @code{hydra.gnu.org} or a mirror " +"thereof, you must add its public key to the access control list (ACL) of " +"archive imports, using the @command{guix archive} command (@pxref{Invoking " +"guix archive}). Doing so implies that you trust @code{hydra.gnu.org} to not " +"be compromised and to serve genuine substitutes." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2320 +msgid "" +"The public key for @code{hydra.gnu.org} is installed along with Guix, in " +"@code{@var{prefix}/share/guix/hydra.gnu.org.pub}, where @var{prefix} is the " +"installation prefix of Guix. If you installed Guix from source, make sure " +"you checked the GPG signature of @file{guix-@value{VERSION}.tar.gz}, which " +"contains this public key file. Then, you can run something like this:" +msgstr "" + +#. type: example +#: doc/guix.texi:2323 +#, no-wrap +msgid "# guix archive --authorize < @var{prefix}/share/guix/hydra.gnu.org.pub\n" +msgstr "" + +#. type: quotation +#: doc/guix.texi:2329 +msgid "" +"Similarly, the @file{berlin.guixsd.org.pub} file contains the public key for " +"the project's new build farm, reachable at " +"@indicateurl{https://berlin.guixsd.org}." +msgstr "" + +#. type: quotation +#: doc/guix.texi:2334 +msgid "" +"As of this writing @code{berlin.guixsd.org} is being upgraded so it can " +"better scale up, but you might want to give it a try. It is backed by 20 " +"x86_64/i686 build nodes and may be able to provide substitutes more quickly " +"than @code{mirror.hydra.gnu.org}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2338 +msgid "" +"Once this is in place, the output of a command like @code{guix build} should " +"change from something like:" +msgstr "" + +#. type: example +#: doc/guix.texi:2347 +#, no-wrap +msgid "" +"$ guix build emacs --dry-run\n" +"The following derivations would be built:\n" +" /gnu/store/yr7bnx8xwcayd6j95r2clmkdl1qh688w-emacs-24.3.drv\n" +" /gnu/store/x8qsh1hlhgjx6cwsjyvybnfv2i37z23w-dbus-1.6.4.tar.gz.drv\n" +" " +"/gnu/store/1ixwp12fl950d15h2cj11c73733jay0z-alsa-lib-1.0.27.1.tar.bz2.drv\n" +" /gnu/store/nlma1pw0p603fpfiqy7kn4zm105r5dmw-util-linux-2.21.drv\n" +"@dots{}\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2351 +msgid "to something like:" +msgstr "" + +#. type: example +#: doc/guix.texi:2360 +#, no-wrap +msgid "" +"$ guix build emacs --dry-run\n" +"112.3 MB would be downloaded:\n" +" /gnu/store/pk3n22lbq6ydamyymqkkz7i69wiwjiwi-emacs-24.3\n" +" /gnu/store/2ygn4ncnhrpr61rssa6z0d9x22si0va3-libjpeg-8d\n" +" /gnu/store/71yz6lgx4dazma9dwn2mcjxaah9w77jq-cairo-1.12.16\n" +" /gnu/store/7zdhgp0n1518lvfn8mb96sxqfmvqrl7v-libxrender-0.9.7\n" +"@dots{}\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2365 +msgid "" +"This indicates that substitutes from @code{hydra.gnu.org} are usable and " +"will be downloaded, when possible, for future builds." +msgstr "" + +#. type: cindex +#: doc/guix.texi:2366 +#, no-wrap +msgid "substitutes, how to disable" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2372 +msgid "" +"The substitute mechanism can be disabled globally by running " +"@code{guix-daemon} with @code{--no-substitutes} (@pxref{Invoking " +"guix-daemon}). It can also be disabled temporarily by passing the " +"@code{--no-substitutes} option to @command{guix package}, @command{guix " +"build}, and other command-line tools." +msgstr "" + +#. type: cindex +#: doc/guix.texi:2376 +#, no-wrap +msgid "digital signatures" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2380 +msgid "" +"Guix detects and raises an error when attempting to use a substitute that " +"has been tampered with. Likewise, it ignores substitutes that are not " +"signed, or that are not signed by one of the keys listed in the ACL." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2386 +msgid "" +"There is one exception though: if an unauthorized server provides " +"substitutes that are @emph{bit-for-bit identical} to those provided by an " +"authorized server, then the unauthorized server becomes eligible for " +"downloads. For example, assume we have chosen two substitute servers with " +"this option:" +msgstr "" + +#. type: example +#: doc/guix.texi:2389 +#, no-wrap +msgid "--substitute-urls=\"https://a.example.org https://b.example.org\"\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2400 +msgid "" +"If the ACL contains only the key for @code{b.example.org}, and if " +"@code{a.example.org} happens to serve the @emph{exact same} substitutes, " +"then Guix will download substitutes from @code{a.example.org} because it " +"comes first in the list and can be considered a mirror of " +"@code{b.example.org}. In practice, independent build machines usually " +"produce the same binaries, thanks to bit-reproducible builds (see below)." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2407 +msgid "" +"When using HTTPS, the server's X.509 certificate is @emph{not} validated (in " +"other words, the server is not authenticated), contrary to what HTTPS " +"clients such as Web browsers usually do. This is because Guix authenticates " +"substitute information itself, as explained above, which is what we care " +"about (whereas X.509 certificates are about authenticating bindings between " +"domain names and public keys.)" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2419 +msgid "" +"Substitutes are downloaded over HTTP or HTTPS. The @code{http_proxy} " +"environment variable can be set in the environment of @command{guix-daemon} " +"and is honored for downloads of substitutes. Note that the value of " +"@code{http_proxy} in the environment where @command{guix build}, " +"@command{guix package}, and other client commands are run has " +"@emph{absolutely no effect}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2428 +msgid "" +"Even when a substitute for a derivation is available, sometimes the " +"substitution attempt will fail. This can happen for a variety of reasons: " +"the substitute server might be offline, the substitute may recently have " +"been deleted, the connection might have been interrupted, etc." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2442 +msgid "" +"When substitutes are enabled and a substitute for a derivation is available, " +"but the substitution attempt fails, Guix will attempt to build the " +"derivation locally depending on whether or not @code{--fallback} was given " +"(@pxref{fallback-option,, common build option @code{--fallback}}). " +"Specifically, if @code{--fallback} was omitted, then no local build will be " +"performed, and the derivation is considered to have failed. However, if " +"@code{--fallback} was given, then Guix will attempt to build the derivation " +"locally, and the success or failure of the derivation depends on the success " +"or failure of the local build. Note that when substitutes are disabled or " +"no substitute is available for the derivation in question, a local build " +"will @emph{always} be performed, regardless of whether or not " +"@code{--fallback} was given." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2447 +msgid "" +"To get an idea of how many substitutes are available right now, you can try " +"running the @command{guix weather} command (@pxref{Invoking guix weather}). " +"This command provides statistics on the substitutes provided by a server." +msgstr "" + +#. type: cindex +#: doc/guix.texi:2451 +#, no-wrap +msgid "trust, of pre-built binaries" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2461 +msgid "" +"Today, each individual's control over their own computing is at the mercy of " +"institutions, corporations, and groups with enough power and determination " +"to subvert the computing infrastructure and exploit its weaknesses. While " +"using @code{hydra.gnu.org} substitutes can be convenient, we encourage users " +"to also build on their own, or even run their own build farm, such that " +"@code{hydra.gnu.org} is less of an interesting target. One way to help is " +"by publishing the software you build using @command{guix publish} so that " +"others have one more choice of server to download substitutes from " +"(@pxref{Invoking guix publish})." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2473 +msgid "" +"Guix has the foundations to maximize build reproducibility " +"(@pxref{Features}). In most cases, independent builds of a given package or " +"derivation should yield bit-identical results. Thus, through a diverse set " +"of independent package builds, we can strengthen the integrity of our " +"systems. The @command{guix challenge} command aims to help users assess " +"substitute servers, and to assist developers in finding out about " +"non-deterministic package builds (@pxref{Invoking guix challenge}). " +"Similarly, the @option{--check} option of @command{guix build} allows users " +"to check whether previously-installed substitutes are genuine by rebuilding " +"them locally (@pxref{build-check, @command{guix build --check}})." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2477 +msgid "" +"In the future, we want Guix to have support to publish and retrieve binaries " +"to/from other users, in a peer-to-peer fashion. If you would like to " +"discuss this project, join us on @email{guix-devel@@gnu.org}." +msgstr "" + +#. type: cindex +#: doc/guix.texi:2481 +#, no-wrap +msgid "multiple-output packages" +msgstr "" + +#. type: cindex +#: doc/guix.texi:2482 +#, no-wrap +msgid "package outputs" +msgstr "" + +#. type: cindex +#: doc/guix.texi:2483 +#, no-wrap +msgid "outputs" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2493 +msgid "" +"Often, packages defined in Guix have a single @dfn{output}---i.e., the " +"source package leads to exactly one directory in the store. When running " +"@command{guix package -i glibc}, one installs the default output of the GNU " +"libc package; the default output is called @code{out}, but its name can be " +"omitted as shown in this command. In this particular case, the default " +"output of @code{glibc} contains all the C header files, shared libraries, " +"static libraries, Info documentation, and other supporting files." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2501 +msgid "" +"Sometimes it is more appropriate to separate the various types of files " +"produced from a single source package into separate outputs. For instance, " +"the GLib C library (used by GTK+ and related packages) installs more than " +"20 MiB of reference documentation as HTML pages. To save space for users " +"who do not need it, the documentation goes to a separate output, called " +"@code{doc}. To install the main GLib output, which contains everything but " +"the documentation, one would run:" +msgstr "" + +#. type: example +#: doc/guix.texi:2504 +#, no-wrap +msgid "guix package -i glib\n" +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:2506 doc/guix.texi:21276 +#, no-wrap +msgid "documentation" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2508 +msgid "The command to install its documentation is:" +msgstr "" + +#. type: example +#: doc/guix.texi:2511 +#, no-wrap +msgid "guix package -i glib:doc\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2522 +msgid "" +"Some packages install programs with different ``dependency footprints''. " +"For instance, the WordNet package installs both command-line tools and " +"graphical user interfaces (GUIs). The former depend solely on the C " +"library, whereas the latter depend on Tcl/Tk and the underlying X " +"libraries. In this case, we leave the command-line tools in the default " +"output, whereas the GUIs are in a separate output. This allows users who do " +"not need the GUIs to save space. The @command{guix size} command can help " +"find out about such situations (@pxref{Invoking guix size}). @command{guix " +"graph} can also be helpful (@pxref{Invoking guix graph})." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2530 +msgid "" +"There are several such multiple-output packages in the GNU distribution. " +"Other conventional output names include @code{lib} for libraries and " +"possibly header files, @code{bin} for stand-alone programs, and @code{debug} " +"for debugging information (@pxref{Installing Debugging Files}). The outputs " +"of a packages are listed in the third column of the output of @command{guix " +"package --list-available} (@pxref{Invoking guix package})." +msgstr "" + +#. type: section +#: doc/guix.texi:2533 +#, no-wrap +msgid "Invoking @command{guix gc}" +msgstr "" + +#. type: cindex +#: doc/guix.texi:2535 +#, no-wrap +msgid "garbage collector" +msgstr "" + +#. type: cindex +#: doc/guix.texi:2536 +#, no-wrap +msgid "disk space" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2542 +msgid "" +"Packages that are installed, but not used, may be @dfn{garbage-collected}. " +"The @command{guix gc} command allows users to explicitly run the garbage " +"collector to reclaim space from the @file{/gnu/store} directory. It is the " +"@emph{only} way to remove files from @file{/gnu/store}---removing files or " +"directories manually may break it beyond repair!" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2553 +msgid "" +"The garbage collector has a set of known @dfn{roots}: any file under " +"@file{/gnu/store} reachable from a root is considered @dfn{live} and cannot " +"be deleted; any other file is considered @dfn{dead} and may be deleted. The " +"set of garbage collector roots (``GC roots'' for short) includes default " +"user profiles; by default, the symlinks under @file{/var/guix/gcroots} " +"represent these GC roots. New GC roots can be added with @command{guix " +"build --root}, for example (@pxref{Invoking guix build})." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2559 +msgid "" +"Prior to running @code{guix gc --collect-garbage} to make space, it is often " +"useful to remove old generations from user profiles; that way, old package " +"builds referenced by those generations can be reclaimed. This is achieved " +"by running @code{guix package --delete-generations} (@pxref{Invoking guix " +"package})." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2563 +msgid "" +"Our recommendation is to run a garbage collection periodically, or when you " +"are short on disk space. For instance, to guarantee that at least 5@tie{}GB " +"are available on your disk, simply run:" +msgstr "" + +#. type: example +#: doc/guix.texi:2566 +#, no-wrap +msgid "guix gc -F 5G\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2575 +msgid "" +"It is perfectly safe to run as a non-interactive periodic job " +"(@pxref{Scheduled Job Execution}, for how to set up such a job on GuixSD). " +"Running @command{guix gc} with no arguments will collect as much garbage as " +"it can, but that is often inconvenient: you may find yourself having to " +"rebuild or re-download software that is ``dead'' from the GC viewpoint but " +"that is necessary to build other pieces of software---e.g., the compiler " +"tool chain." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2581 +msgid "" +"The @command{guix gc} command has three modes of operation: it can be used " +"to garbage-collect any dead files (the default), to delete specific files " +"(the @code{--delete} option), to print garbage-collector information, or for " +"more advanced queries. The garbage collection options are as follows:" +msgstr "" + +#. type: item +#: doc/guix.texi:2583 +#, no-wrap +msgid "--collect-garbage[=@var{min}]" +msgstr "" + +#. type: itemx +#: doc/guix.texi:2584 +#, no-wrap +msgid "-C [@var{min}]" +msgstr "" + +#. type: table +#: doc/guix.texi:2588 +msgid "" +"Collect garbage---i.e., unreachable @file{/gnu/store} files and " +"sub-directories. This is the default operation when no option is specified." +msgstr "" + +#. type: table +#: doc/guix.texi:2593 +msgid "" +"When @var{min} is given, stop once @var{min} bytes have been collected. " +"@var{min} may be a number of bytes, or it may include a unit as a suffix, " +"such as @code{MiB} for mebibytes and @code{GB} for gigabytes (@pxref{Block " +"size, size specifications,, coreutils, GNU Coreutils})." +msgstr "" + +#. type: table +#: doc/guix.texi:2595 +msgid "When @var{min} is omitted, collect all the garbage." +msgstr "" + +#. type: item +#: doc/guix.texi:2596 +#, no-wrap +msgid "--free-space=@var{free}" +msgstr "" + +#. type: itemx +#: doc/guix.texi:2597 +#, no-wrap +msgid "-F @var{free}" +msgstr "" + +#. type: table +#: doc/guix.texi:2601 +msgid "" +"Collect garbage until @var{free} space is available under @file{/gnu/store}, " +"if possible; @var{free} denotes storage space, such as @code{500MiB}, as " +"described above." +msgstr "" + +#. type: table +#: doc/guix.texi:2604 +msgid "" +"When @var{free} or more is already available in @file{/gnu/store}, do " +"nothing and exit immediately." +msgstr "" + +#. type: item +#: doc/guix.texi:2605 +#, no-wrap +msgid "--delete" +msgstr "" + +#. type: itemx +#: doc/guix.texi:2606 doc/guix.texi:5840 doc/guix.texi:20553 +#, no-wrap +msgid "-d" +msgstr "" + +#. type: table +#: doc/guix.texi:2610 +msgid "" +"Attempt to delete all the store files and directories specified as " +"arguments. This fails if some of the files are not in the store, or if they " +"are still live." +msgstr "" + +#. type: item +#: doc/guix.texi:2611 +#, no-wrap +msgid "--list-failures" +msgstr "" + +#. type: table +#: doc/guix.texi:2613 +msgid "List store items corresponding to cached build failures." +msgstr "" + +#. type: table +#: doc/guix.texi:2617 +msgid "" +"This prints nothing unless the daemon was started with " +"@option{--cache-failures} (@pxref{Invoking guix-daemon, " +"@option{--cache-failures}})." +msgstr "" + +#. type: item +#: doc/guix.texi:2618 +#, no-wrap +msgid "--clear-failures" +msgstr "" + +#. type: table +#: doc/guix.texi:2620 +msgid "Remove the specified store items from the failed-build cache." +msgstr "" + +#. type: table +#: doc/guix.texi:2623 +msgid "" +"Again, this option only makes sense when the daemon is started with " +"@option{--cache-failures}. Otherwise, it does nothing." +msgstr "" + +#. type: item +#: doc/guix.texi:2624 +#, no-wrap +msgid "--list-dead" +msgstr "" + +#. type: table +#: doc/guix.texi:2627 +msgid "" +"Show the list of dead files and directories still present in the " +"store---i.e., files and directories no longer reachable from any root." +msgstr "" + +#. type: item +#: doc/guix.texi:2628 +#, no-wrap +msgid "--list-live" +msgstr "" + +#. type: table +#: doc/guix.texi:2630 +msgid "Show the list of live store files and directories." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2634 +msgid "In addition, the references among existing store files can be queried:" +msgstr "" + +#. type: item +#: doc/guix.texi:2637 +#, no-wrap +msgid "--references" +msgstr "" + +#. type: itemx +#: doc/guix.texi:2638 +#, no-wrap +msgid "--referrers" +msgstr "" + +#. type: cindex +#: doc/guix.texi:2639 doc/guix.texi:6935 +#, no-wrap +msgid "package dependencies" +msgstr "" + +#. type: table +#: doc/guix.texi:2642 +msgid "" +"List the references (respectively, the referrers) of store files given as " +"arguments." +msgstr "" + +#. type: item +#: doc/guix.texi:2643 +#, no-wrap +msgid "--requisites" +msgstr "" + +#. type: itemx +#: doc/guix.texi:2644 +#, no-wrap +msgid "-R" +msgstr "" + +#. type: item +#: doc/guix.texi:2645 doc/guix.texi:6819 doc/guix.texi:6843 doc/guix.texi:6907 +#, no-wrap +msgid "closure" +msgstr "" + +#. type: table +#: doc/guix.texi:2650 +msgid "" +"List the requisites of the store files passed as arguments. Requisites " +"include the store files themselves, their references, and the references of " +"these, recursively. In other words, the returned list is the " +"@dfn{transitive closure} of the store files." +msgstr "" + +#. type: table +#: doc/guix.texi:2654 +msgid "" +"@xref{Invoking guix size}, for a tool to profile the size of the closure of " +"an element. @xref{Invoking guix graph}, for a tool to visualize the graph " +"of references." +msgstr "" + +#. type: item +#: doc/guix.texi:2655 +#, no-wrap +msgid "--derivers" +msgstr "" + +#. type: item +#: doc/guix.texi:2656 doc/guix.texi:3122 doc/guix.texi:7020 +#, no-wrap +msgid "derivation" +msgstr "" + +#. type: table +#: doc/guix.texi:2659 +msgid "" +"Return the derivation(s) leading to the given store items " +"(@pxref{Derivations})." +msgstr "" + +#. type: table +#: doc/guix.texi:2661 +msgid "For example, this command:" +msgstr "" + +#. type: example +#: doc/guix.texi:2664 +#, no-wrap +msgid "guix gc --derivers `guix package -I ^emacs$ | cut -f4`\n" +msgstr "" + +#. type: table +#: doc/guix.texi:2669 +msgid "" +"returns the @file{.drv} file(s) leading to the @code{emacs} package " +"installed in your profile." +msgstr "" + +#. type: table +#: doc/guix.texi:2673 +msgid "" +"Note that there may be zero matching @file{.drv} files, for instance because " +"these files have been garbage-collected. There can also be more than one " +"matching @file{.drv} due to fixed-output derivations." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2677 +msgid "" +"Lastly, the following options allow you to check the integrity of the store " +"and to control disk usage." +msgstr "" + +#. type: item +#: doc/guix.texi:2680 +#, no-wrap +msgid "--verify[=@var{options}]" +msgstr "" + +#. type: cindex +#: doc/guix.texi:2681 +#, no-wrap +msgid "integrity, of the store" +msgstr "" + +#. type: cindex +#: doc/guix.texi:2682 +#, no-wrap +msgid "integrity checking" +msgstr "" + +#. type: table +#: doc/guix.texi:2684 +msgid "Verify the integrity of the store." +msgstr "" + +#. type: table +#: doc/guix.texi:2687 +msgid "" +"By default, make sure that all the store items marked as valid in the " +"database of the daemon actually exist in @file{/gnu/store}." +msgstr "" + +#. type: table +#: doc/guix.texi:2690 +msgid "" +"When provided, @var{options} must be a comma-separated list containing one " +"or more of @code{contents} and @code{repair}." +msgstr "" + +#. type: table +#: doc/guix.texi:2696 +msgid "" +"When passing @option{--verify=contents}, the daemon computes the content " +"hash of each store item and compares it against its hash in the database. " +"Hash mismatches are reported as data corruptions. Because it traverses " +"@emph{all the files in the store}, this command can take a long time, " +"especially on systems with a slow disk drive." +msgstr "" + +#. type: cindex +#: doc/guix.texi:2697 +#, no-wrap +msgid "repairing the store" +msgstr "" + +#. type: cindex +#: doc/guix.texi:2698 doc/guix.texi:5833 +#, no-wrap +msgid "corruption, recovering from" +msgstr "" + +#. type: table +#: doc/guix.texi:2706 +msgid "" +"Using @option{--verify=repair} or @option{--verify=contents,repair} causes " +"the daemon to try to repair corrupt store items by fetching substitutes for " +"them (@pxref{Substitutes}). Because repairing is not atomic, and thus " +"potentially dangerous, it is available only to the system administrator. A " +"lightweight alternative, when you know exactly which items in the store are " +"corrupt, is @command{guix build --repair} (@pxref{Invoking guix build})." +msgstr "" + +#. type: item +#: doc/guix.texi:2707 +#, no-wrap +msgid "--optimize" +msgstr "" + +#. type: table +#: doc/guix.texi:2711 +msgid "" +"Optimize the store by hard-linking identical files---this is " +"@dfn{deduplication}." +msgstr "" + +#. type: table +#: doc/guix.texi:2717 +msgid "" +"The daemon performs deduplication after each successful build or archive " +"import, unless it was started with @code{--disable-deduplication} " +"(@pxref{Invoking guix-daemon, @code{--disable-deduplication}}). Thus, this " +"option is primarily useful when the daemon was running with " +"@code{--disable-deduplication}." +msgstr "" + +#. type: section +#: doc/guix.texi:2721 +#, no-wrap +msgid "Invoking @command{guix pull}" +msgstr "" + +#. type: cindex +#: doc/guix.texi:2723 +#, no-wrap +msgid "upgrading Guix" +msgstr "" + +#. type: cindex +#: doc/guix.texi:2724 +#, no-wrap +msgid "updating Guix" +msgstr "" + +#. type: command{#1} +#: doc/guix.texi:2725 +#, no-wrap +msgid "guix pull" +msgstr "" + +#. type: cindex +#: doc/guix.texi:2726 +#, no-wrap +msgid "pull" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2733 +msgid "" +"Packages are installed or upgraded to the latest version available in the " +"distribution currently available on your local machine. To update that " +"distribution, along with the Guix tools, you must run @command{guix pull}: " +"the command downloads the latest Guix source code and package descriptions, " +"and deploys it. Source code is downloaded from a @uref{https://git-scm.com, " +"Git} repository." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2739 +msgid "" +"On completion, @command{guix package} will use packages and package versions " +"from this just-retrieved copy of Guix. Not only that, but all the Guix " +"commands and Scheme modules will also be taken from that latest version. " +"New @command{guix} sub-commands added by the update also become available." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2749 +msgid "" +"Any user can update their Guix copy using @command{guix pull}, and the " +"effect is limited to the user who run @command{guix pull}. For instance, " +"when user @code{root} runs @command{guix pull}, this has no effect on the " +"version of Guix that user @code{alice} sees, and vice versa@footnote{Under " +"the hood, @command{guix pull} updates the @file{~/.config/guix/latest} " +"symbolic link to point to the latest Guix, and the @command{guix} command " +"loads code from there. Currently, the only way to roll back an invocation " +"of @command{guix pull} is to manually update this symlink to point to the " +"previous Guix.}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2752 +msgid "" +"The @command{guix pull} command is usually invoked with no arguments, but it " +"supports the following options:" +msgstr "" + +#. type: table +#: doc/guix.texi:2756 +msgid "Produce verbose output, writing build logs to the standard error output." +msgstr "" + +#. type: item +#: doc/guix.texi:2757 +#, no-wrap +msgid "--url=@var{url}" +msgstr "" + +#. type: table +#: doc/guix.texi:2759 +msgid "Download Guix from the Git repository at @var{url}." +msgstr "" + +#. type: vindex +#: doc/guix.texi:2760 +#, no-wrap +msgid "GUIX_PULL_URL" +msgstr "" + +#. type: table +#: doc/guix.texi:2764 +msgid "" +"By default, the source is taken from its canonical Git repository at " +"@code{gnu.org}, for the stable branch of Guix. To use a different source, " +"set the @code{GUIX_PULL_URL} environment variable." +msgstr "" + +#. type: item +#: doc/guix.texi:2765 +#, no-wrap +msgid "--commit=@var{commit}" +msgstr "" + +#. type: table +#: doc/guix.texi:2768 +msgid "" +"Deploy @var{commit}, a valid Git commit ID represented as a hexadecimal " +"string." +msgstr "" + +#. type: item +#: doc/guix.texi:2769 +#, no-wrap +msgid "--branch=@var{branch}" +msgstr "" + +#. type: table +#: doc/guix.texi:2772 +msgid "" +"Deploy the tip of @var{branch}, the name of a Git branch available on the " +"repository at @var{url}." +msgstr "" + +#. type: table +#: doc/guix.texi:2776 +msgid "" +"Use the bootstrap Guile to build the latest Guix. This option is only " +"useful to Guix developers." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2780 +msgid "" +"In addition, @command{guix pull} supports all the common build options " +"(@pxref{Common Build Options})." +msgstr "" + +#. type: section +#: doc/guix.texi:2782 +#, no-wrap +msgid "Invoking @command{guix pack}" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2788 +msgid "" +"Occasionally you want to pass software to people who are not (yet!) lucky " +"enough to be using Guix. You'd tell them to run @command{guix package -i " +"@var{something}}, but that's not possible in this case. This is where " +"@command{guix pack} comes in." +msgstr "" + +#. type: quotation +#: doc/guix.texi:2793 +msgid "" +"If you are looking for ways to exchange binaries among machines that already " +"run Guix, @pxref{Invoking guix copy}, @ref{Invoking guix publish}, and " +"@ref{Invoking guix archive}." +msgstr "" + +#. type: cindex +#: doc/guix.texi:2795 +#, no-wrap +msgid "pack" +msgstr "" + +#. type: cindex +#: doc/guix.texi:2796 +#, no-wrap +msgid "bundle" +msgstr "" + +#. type: cindex +#: doc/guix.texi:2797 +#, no-wrap +msgid "application bundle" +msgstr "" + +#. type: cindex +#: doc/guix.texi:2798 +#, no-wrap +msgid "software bundle" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2807 +msgid "" +"The @command{guix pack} command creates a shrink-wrapped @dfn{pack} or " +"@dfn{software bundle}: it creates a tarball or some other archive containing " +"the binaries of the software you're interested in, and all its " +"dependencies. The resulting archive can be used on any machine that does " +"not have Guix, and people can run the exact same binaries as those you have " +"with Guix. The pack itself is created in a bit-reproducible fashion, so " +"anyone can verify that it really contains the build results that you pretend " +"to be shipping." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2810 +msgid "" +"For example, to create a bundle containing Guile, Emacs, Geiser, and all " +"their dependencies, you can run:" +msgstr "" + +#. type: example +#: doc/guix.texi:2815 +#, no-wrap +msgid "" +"$ guix pack guile emacs geiser\n" +"@dots{}\n" +"/gnu/store/@dots{}-pack.tar.gz\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2823 +msgid "" +"The result here is a tarball containing a @file{/gnu/store} directory with " +"all the relevant packages. The resulting tarball contains a @dfn{profile} " +"with the three packages of interest; the profile is the same as would be " +"created by @command{guix package -i}. It is this mechanism that is used to " +"create Guix's own standalone binary tarball (@pxref{Binary Installation})." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2828 +msgid "" +"Users of this pack would have to run " +"@file{/gnu/store/@dots{}-profile/bin/guile} to run Guile, which you may find " +"inconvenient. To work around it, you can create, say, a @file{/opt/gnu/bin} " +"symlink to the profile:" +msgstr "" + +#. type: example +#: doc/guix.texi:2831 +#, no-wrap +msgid "guix pack -S /opt/gnu/bin=bin guile emacs geiser\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2835 +msgid "That way, users can happily type @file{/opt/gnu/bin/guile} and enjoy." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2838 +msgid "" +"Alternatively, you can produce a pack in the Docker image format using the " +"following command:" +msgstr "" + +#. type: example +#: doc/guix.texi:2841 +#, no-wrap +msgid "guix pack -f docker guile emacs geiser\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2848 +msgid "" +"The result is a tarball that can be passed to the @command{docker load} " +"command. See the " +"@uref{https://docs.docker.com/engine/reference/commandline/load/, Docker " +"documentation} for more information." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2850 +msgid "Several command-line options allow you to customize your pack:" +msgstr "" + +#. type: item +#: doc/guix.texi:2852 +#, no-wrap +msgid "--format=@var{format}" +msgstr "" + +#. type: itemx +#: doc/guix.texi:2853 +#, no-wrap +msgid "-f @var{format}" +msgstr "" + +#. type: table +#: doc/guix.texi:2855 +msgid "Produce a pack in the given @var{format}." +msgstr "" + +#. type: table +#: doc/guix.texi:2857 +msgid "The available formats are:" +msgstr "" + +#. type: item +#: doc/guix.texi:2859 +#, no-wrap +msgid "tarball" +msgstr "" + +#. type: table +#: doc/guix.texi:2862 +msgid "" +"This is the default format. It produces a tarball containing all the " +"specified binaries and symlinks." +msgstr "" + +#. type: item +#: doc/guix.texi:2863 +#, no-wrap +msgid "docker" +msgstr "" + +#. type: table +#: doc/guix.texi:2867 +msgid "" +"This produces a tarball that follows the " +"@uref{https://github.com/docker/docker/blob/master/image/spec/v1.2.md, " +"Docker Image Specification}." +msgstr "" + +#. type: item +#: doc/guix.texi:2869 doc/guix.texi:5711 doc/guix.texi:6536 doc/guix.texi:7097 doc/guix.texi:7247 doc/guix.texi:20539 +#, no-wrap +msgid "--expression=@var{expr}" +msgstr "" + +#. type: itemx +#: doc/guix.texi:2870 doc/guix.texi:5712 doc/guix.texi:6537 doc/guix.texi:7098 doc/guix.texi:7248 doc/guix.texi:20540 +#, no-wrap +msgid "-e @var{expr}" +msgstr "" + +#. type: table +#: doc/guix.texi:2872 doc/guix.texi:6539 doc/guix.texi:7100 +msgid "Consider the package @var{expr} evaluates to." +msgstr "" + +#. type: table +#: doc/guix.texi:2876 +msgid "" +"This has the same purpose as the same-named option in @command{guix build} " +"(@pxref{Additional Build Options, @code{--expression} in @command{guix " +"build}})." +msgstr "" + +#. type: table +#: doc/guix.texi:2881 +msgid "" +"Use the packages contained in the manifest object returned by the Scheme " +"code in @var{file}." +msgstr "" + +#. type: table +#: doc/guix.texi:2889 +msgid "" +"This has a similar purpose as the same-named option in @command{guix " +"package} (@pxref{profile-manifest, @option{--manifest}}) and uses the same " +"manifest files. It allows you to define a collection of packages once and " +"use it both for creating profiles and for creating archives for use on " +"machines that do not have Guix installed. Note that you can specify " +"@emph{either} a manifest file @emph{or} a list of packages, but not both." +msgstr "" + +#. type: itemx +#: doc/guix.texi:2891 doc/guix.texi:5784 doc/guix.texi:6925 doc/guix.texi:7333 doc/guix.texi:7967 doc/guix.texi:20548 +#, no-wrap +msgid "-s @var{system}" +msgstr "" + +#. type: table +#: doc/guix.texi:2894 doc/guix.texi:5787 +msgid "" +"Attempt to build for @var{system}---e.g., @code{i686-linux}---instead of the " +"system type of the build host." +msgstr "" + +#. type: item +#: doc/guix.texi:2895 doc/guix.texi:5808 +#, no-wrap +msgid "--target=@var{triplet}" +msgstr "" + +#. type: cindex +#: doc/guix.texi:2896 doc/guix.texi:3322 doc/guix.texi:5809 +#, no-wrap +msgid "cross-compilation" +msgstr "" + +#. type: table +#: doc/guix.texi:2900 doc/guix.texi:5813 +msgid "" +"Cross-build for @var{triplet}, which must be a valid GNU triplet, such as " +"@code{\"mips64el-linux-gnu\"} (@pxref{Specifying target triplets, GNU " +"configuration triplets,, autoconf, Autoconf})." +msgstr "" + +#. type: item +#: doc/guix.texi:2901 +#, no-wrap +msgid "--compression=@var{tool}" +msgstr "" + +#. type: itemx +#: doc/guix.texi:2902 +#, no-wrap +msgid "-C @var{tool}" +msgstr "" + +#. type: table +#: doc/guix.texi:2905 +msgid "" +"Compress the resulting tarball using @var{tool}---one of @code{gzip}, " +"@code{bzip2}, @code{xz}, @code{lzip}, or @code{none} for no compression." +msgstr "" + +#. type: item +#: doc/guix.texi:2906 +#, no-wrap +msgid "--symlink=@var{spec}" +msgstr "" + +#. type: itemx +#: doc/guix.texi:2907 +#, no-wrap +msgid "-S @var{spec}" +msgstr "" + +#. type: table +#: doc/guix.texi:2910 +msgid "" +"Add the symlinks specified by @var{spec} to the pack. This option can " +"appear several times." +msgstr "" + +#. type: table +#: doc/guix.texi:2914 +msgid "" +"@var{spec} has the form @code{@var{source}=@var{target}}, where @var{source} " +"is the symlink that will be created and @var{target} is the symlink target." +msgstr "" + +#. type: table +#: doc/guix.texi:2917 +msgid "" +"For instance, @code{-S /opt/gnu/bin=bin} creates a @file{/opt/gnu/bin} " +"symlink pointing to the @file{bin} sub-directory of the profile." +msgstr "" + +#. type: item +#: doc/guix.texi:2918 +#, no-wrap +msgid "--localstatedir" +msgstr "" + +#. type: table +#: doc/guix.texi:2921 +msgid "" +"Include the ``local state directory'', @file{/var/guix}, in the resulting " +"pack." +msgstr "" + +#. type: table +#: doc/guix.texi:2927 +msgid "" +"@file{/var/guix} contains the store database (@pxref{The Store}) as well as " +"garbage-collector roots (@pxref{Invoking guix gc}). Providing it in the " +"pack means that the store is ``complete'' and manageable by Guix; not " +"providing it pack means that the store is ``dead'': items cannot be added to " +"it or removed from it after extraction of the pack." +msgstr "" + +#. type: table +#: doc/guix.texi:2930 +msgid "" +"One use case for this is the Guix self-contained binary tarball " +"(@pxref{Binary Installation})." +msgstr "" + +#. type: table +#: doc/guix.texi:2934 +msgid "" +"Use the bootstrap binaries to build the pack. This option is only useful to " +"Guix developers." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2939 +msgid "" +"In addition, @command{guix pack} supports all the common build options " +"(@pxref{Common Build Options}) and all the package transformation options " +"(@pxref{Package Transformation Options})." +msgstr "" + +#. type: section +#: doc/guix.texi:2942 +#, no-wrap +msgid "Invoking @command{guix archive}" +msgstr "" + +#. type: command{#1} +#: doc/guix.texi:2944 +#, no-wrap +msgid "guix archive" +msgstr "" + +#. type: cindex +#: doc/guix.texi:2945 +#, no-wrap +msgid "archive" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2951 +msgid "" +"The @command{guix archive} command allows users to @dfn{export} files from " +"the store into a single archive, and to later @dfn{import} them on a machine " +"that runs Guix. In particular, it allows store files to be transferred from " +"one machine to the store on another machine." +msgstr "" + +#. type: quotation +#: doc/guix.texi:2955 +msgid "" +"If you're looking for a way to produce archives in a format suitable for " +"tools other than Guix, @pxref{Invoking guix pack}." +msgstr "" + +#. type: cindex +#: doc/guix.texi:2957 +#, no-wrap +msgid "exporting store items" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2959 +msgid "To export store files as an archive to standard output, run:" +msgstr "" + +#. type: example +#: doc/guix.texi:2962 +#, no-wrap +msgid "guix archive --export @var{options} @var{specifications}...\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2969 +msgid "" +"@var{specifications} may be either store file names or package " +"specifications, as for @command{guix package} (@pxref{Invoking guix " +"package}). For instance, the following command creates an archive " +"containing the @code{gui} output of the @code{git} package and the main " +"output of @code{emacs}:" +msgstr "" + +#. type: example +#: doc/guix.texi:2972 +#, no-wrap +msgid "guix archive --export git:gui /gnu/store/...-emacs-24.3 > great.nar\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2977 +msgid "" +"If the specified packages are not built yet, @command{guix archive} " +"automatically builds them. The build process may be controlled with the " +"common build options (@pxref{Common Build Options})." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2980 +msgid "" +"To transfer the @code{emacs} package to a machine connected over SSH, one " +"would run:" +msgstr "" + +#. type: example +#: doc/guix.texi:2983 +#, no-wrap +msgid "guix archive --export -r emacs | ssh the-machine guix archive --import\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:2988 +msgid "" +"Similarly, a complete user profile may be transferred from one machine to " +"another like this:" +msgstr "" + +#. type: example +#: doc/guix.texi:2992 +#, no-wrap +msgid "" +"guix archive --export -r $(readlink -f ~/.guix-profile) | \\\n" +" ssh the-machine guix-archive --import\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:3002 +msgid "" +"However, note that, in both examples, all of @code{emacs} and the profile as " +"well as all of their dependencies are transferred (due to @code{-r}), " +"regardless of what is already available in the store on the target machine. " +"The @code{--missing} option can help figure out which items are missing from " +"the target store. The @command{guix copy} command simplifies and optimizes " +"this whole process, so this is probably what you should use in this case " +"(@pxref{Invoking guix copy})." +msgstr "" + +#. type: cindex +#: doc/guix.texi:3003 +#, no-wrap +msgid "nar, archive format" +msgstr "" + +#. type: cindex +#: doc/guix.texi:3004 +#, no-wrap +msgid "normalized archive (nar)" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:3014 +msgid "" +"Archives are stored in the ``normalized archive'' or ``nar'' format, which " +"is comparable in spirit to `tar', but with differences that make it more " +"appropriate for our purposes. First, rather than recording all Unix " +"metadata for each file, the nar format only mentions the file type (regular, " +"directory, or symbolic link); Unix permissions and owner/group are " +"dismissed. Second, the order in which directory entries are stored always " +"follows the order of file names according to the C locale collation order. " +"This makes archive production fully deterministic." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:3020 +msgid "" +"When exporting, the daemon digitally signs the contents of the archive, and " +"that digital signature is appended. When importing, the daemon verifies the " +"signature and rejects the import in case of an invalid signature or if the " +"signing key is not authorized." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:3022 +msgid "The main options are:" +msgstr "" + +#. type: item +#: doc/guix.texi:3024 +#, no-wrap +msgid "--export" +msgstr "" + +#. type: table +#: doc/guix.texi:3027 +msgid "" +"Export the specified store files or packages (see below.) Write the " +"resulting archive to the standard output." +msgstr "" + +#. type: table +#: doc/guix.texi:3030 +msgid "" +"Dependencies are @emph{not} included in the output, unless " +"@code{--recursive} is passed." +msgstr "" + +#. type: itemx +#: doc/guix.texi:3031 doc/guix.texi:6080 +#, no-wrap +msgid "-r" +msgstr "" + +#. type: item +#: doc/guix.texi:3032 doc/guix.texi:6079 +#, no-wrap +msgid "--recursive" +msgstr "" + +#. type: table +#: doc/guix.texi:3037 +msgid "" +"When combined with @code{--export}, this instructs @command{guix archive} to " +"include dependencies of the given items in the archive. Thus, the resulting " +"archive is self-contained: it contains the closure of the exported store " +"items." +msgstr "" + +#. type: item +#: doc/guix.texi:3038 +#, no-wrap +msgid "--import" +msgstr "" + +#. type: table +#: doc/guix.texi:3043 +msgid "" +"Read an archive from the standard input, and import the files listed therein " +"into the store. Abort if the archive has an invalid digital signature, or " +"if it is signed by a public key not among the authorized keys (see " +"@code{--authorize} below.)" +msgstr "" + +#. type: item +#: doc/guix.texi:3044 +#, no-wrap +msgid "--missing" +msgstr "" + +#. type: table +#: doc/guix.texi:3048 +msgid "" +"Read a list of store file names from the standard input, one per line, and " +"write on the standard output the subset of these files missing from the " +"store." +msgstr "" + +#. type: item +#: doc/guix.texi:3049 +#, no-wrap +msgid "--generate-key[=@var{parameters}]" +msgstr "" + +#. type: cindex +#: doc/guix.texi:3050 +#, no-wrap +msgid "signing, archives" +msgstr "" + +#. type: table +#: doc/guix.texi:3055 +msgid "" +"Generate a new key pair for the daemon. This is a prerequisite before " +"archives can be exported with @code{--export}. Note that this operation " +"usually takes time, because it needs to gather enough entropy to generate " +"the key pair." +msgstr "" + +#. type: table +#: doc/guix.texi:3065 +msgid "" +"The generated key pair is typically stored under @file{/etc/guix}, in " +"@file{signing-key.pub} (public key) and @file{signing-key.sec} (private key, " +"which must be kept secret.) When @var{parameters} is omitted, an ECDSA key " +"using the Ed25519 curve is generated, or, for Libgcrypt versions before " +"1.6.0, it is a 4096-bit RSA key. Alternatively, @var{parameters} can " +"specify @code{genkey} parameters suitable for Libgcrypt (@pxref{General " +"public-key related Functions, @code{gcry_pk_genkey},, gcrypt, The Libgcrypt " +"Reference Manual})." +msgstr "" + +#. type: item +#: doc/guix.texi:3066 +#, no-wrap +msgid "--authorize" +msgstr "" + +#. type: cindex +#: doc/guix.texi:3067 +#, no-wrap +msgid "authorizing, archives" +msgstr "" + +#. type: table +#: doc/guix.texi:3071 +msgid "" +"Authorize imports signed by the public key passed on standard input. The " +"public key must be in ``s-expression advanced format''---i.e., the same " +"format as the @file{signing-key.pub} file." +msgstr "" + +#. type: table +#: doc/guix.texi:3078 +msgid "" +"The list of authorized keys is kept in the human-editable file " +"@file{/etc/guix/acl}. The file contains " +"@url{http://people.csail.mit.edu/rivest/Sexp.txt, ``advanced-format " +"s-expressions''} and is structured as an access-control list in the " +"@url{http://theworld.com/~cme/spki.txt, Simple Public-Key Infrastructure " +"(SPKI)}." +msgstr "" + +#. type: item +#: doc/guix.texi:3079 +#, no-wrap +msgid "--extract=@var{directory}" +msgstr "" + +#. type: itemx +#: doc/guix.texi:3080 +#, no-wrap +msgid "-x @var{directory}" +msgstr "" + +#. type: table +#: doc/guix.texi:3084 +msgid "" +"Read a single-item archive as served by substitute servers " +"(@pxref{Substitutes}) and extract it to @var{directory}. This is a " +"low-level operation needed in only very narrow use cases; see below." +msgstr "" + +#. type: table +#: doc/guix.texi:3087 +msgid "" +"For example, the following command extracts the substitute for Emacs served " +"by @code{hydra.gnu.org} to @file{/tmp/emacs}:" +msgstr "" + +#. type: example +#: doc/guix.texi:3092 +#, no-wrap +msgid "" +"$ wget -O - \\\n" +" https://hydra.gnu.org/nar/@dots{}-emacs-24.5 \\\n" +" | bunzip2 | guix archive -x /tmp/emacs\n" +msgstr "" + +#. type: table +#: doc/guix.texi:3099 +msgid "" +"Single-item archives are different from multiple-item archives produced by " +"@command{guix archive --export}; they contain a single store item, and they " +"do @emph{not} embed a signature. Thus this operation does @emph{no} " +"signature verification and its output should be considered unsafe." +msgstr "" + +#. type: table +#: doc/guix.texi:3102 +msgid "" +"The primary purpose of this operation is to facilitate inspection of archive " +"contents coming from possibly untrusted substitute servers." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:3115 +msgid "" +"GNU Guix provides several Scheme programming interfaces (APIs) to define, " +"build, and query packages. The first interface allows users to write " +"high-level package definitions. These definitions refer to familiar " +"packaging concepts, such as the name and version of a package, its build " +"system, and its dependencies. These definitions can then be turned into " +"concrete build actions." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:3121 +msgid "" +"Build actions are performed by the Guix daemon, on behalf of users. In a " +"standard setup, the daemon has write access to the store---the " +"@file{/gnu/store} directory---whereas users do not. The recommended setup " +"also has the daemon perform builds in chroots, under a specific build users, " +"to minimize interference with the rest of the system." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:3130 +msgid "" +"Lower-level APIs are available to interact with the daemon and the store. " +"To instruct the daemon to perform a build action, users actually provide it " +"with a @dfn{derivation}. A derivation is a low-level representation of the " +"build actions to be taken, and the environment in which they should " +"occur---derivations are to package definitions what assembly is to C " +"programs. The term ``derivation'' comes from the fact that build results " +"@emph{derive} from them." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:3133 +msgid "" +"This chapter describes all these APIs in turn, starting from high-level " +"package definitions." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:3150 +msgid "" +"The high-level interface to package definitions is implemented in the " +"@code{(guix packages)} and @code{(guix build-system)} modules. As an " +"example, the package definition, or @dfn{recipe}, for the GNU Hello package " +"looks like this:" +msgstr "" + +#. type: example +#: doc/guix.texi:3158 +#, no-wrap +msgid "" +"(define-module (gnu packages hello)\n" +" #:use-module (guix packages)\n" +" #:use-module (guix download)\n" +" #:use-module (guix build-system gnu)\n" +" #:use-module (guix licenses)\n" +" #:use-module (gnu packages gawk))\n" +"\n" +msgstr "" + +#. type: example +#: doc/guix.texi:3177 +#, no-wrap +msgid "" +"(define-public hello\n" +" (package\n" +" (name \"hello\")\n" +" (version \"2.10\")\n" +" (source (origin\n" +" (method url-fetch)\n" +" (uri (string-append \"mirror://gnu/hello/hello-\" version\n" +" \".tar.gz\"))\n" +" (sha256\n" +" (base32\n" +" " +"\"0ssi1wpaf7plaswqqjwigppsg5fyh99vdlb9kzl7c9lng89ndq1i\"))))\n" +" (build-system gnu-build-system)\n" +" (arguments '(#:configure-flags '(\"--enable-silent-rules\")))\n" +" (inputs `((\"gawk\" ,gawk)))\n" +" (synopsis \"Hello, GNU world: An example GNU package\")\n" +" (description \"Guess what GNU Hello prints!\")\n" +" (home-page \"http://www.gnu.org/software/hello/\")\n" +" (license gpl3+)))\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:3187 +msgid "" +"Without being a Scheme expert, the reader may have guessed the meaning of " +"the various fields here. This expression binds the variable @code{hello} to " +"a @code{<package>} object, which is essentially a record (@pxref{SRFI-9, " +"Scheme records,, guile, GNU Guile Reference Manual}). This package object " +"can be inspected using procedures found in the @code{(guix packages)} " +"module; for instance, @code{(package-name hello)} " +"returns---surprise!---@code{\"hello\"}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:3191 +msgid "" +"With luck, you may be able to import part or all of the definition of the " +"package you are interested in from another repository, using the @code{guix " +"import} command (@pxref{Invoking guix import})." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:3197 +msgid "" +"In the example above, @var{hello} is defined in a module of its own, " +"@code{(gnu packages hello)}. Technically, this is not strictly necessary, " +"but it is convenient to do so: all the packages defined in modules under " +"@code{(gnu packages @dots{})} are automatically known to the command-line " +"tools (@pxref{Package Modules})." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:3199 +msgid "There are a few points worth noting in the above package definition:" +msgstr "" + +#. type: itemize +#: doc/guix.texi:3206 +msgid "" +"The @code{source} field of the package is an @code{<origin>} object " +"(@pxref{origin Reference}, for the complete reference). Here, the " +"@code{url-fetch} method from @code{(guix download)} is used, meaning that " +"the source is a file to be downloaded over FTP or HTTP." +msgstr "" + +#. type: itemize +#: doc/guix.texi:3209 +msgid "" +"The @code{mirror://gnu} prefix instructs @code{url-fetch} to use one of the " +"GNU mirrors defined in @code{(guix download)}." +msgstr "" + +#. type: itemize +#: doc/guix.texi:3216 +msgid "" +"The @code{sha256} field specifies the expected SHA256 hash of the file being " +"downloaded. It is mandatory, and allows Guix to check the integrity of the " +"file. The @code{(base32 @dots{})} form introduces the base32 representation " +"of the hash. You can obtain this information with @code{guix download} " +"(@pxref{Invoking guix download}) and @code{guix hash} (@pxref{Invoking guix " +"hash})." +msgstr "" + +#. type: cindex +#: doc/guix.texi:3217 +#, no-wrap +msgid "patches" +msgstr "" + +#. type: itemize +#: doc/guix.texi:3221 +msgid "" +"When needed, the @code{origin} form can also have a @code{patches} field " +"listing patches to be applied, and a @code{snippet} field giving a Scheme " +"expression to modify the source code." +msgstr "" + +#. type: cindex +#: doc/guix.texi:3223 +#, no-wrap +msgid "GNU Build System" +msgstr "" + +#. type: itemize +#: doc/guix.texi:3229 +msgid "" +"The @code{build-system} field specifies the procedure to build the package " +"(@pxref{Build Systems}). Here, @var{gnu-build-system} represents the " +"familiar GNU Build System, where packages may be configured, built, and " +"installed with the usual @code{./configure && make && make check && make " +"install} command sequence." +msgstr "" + +#. type: itemize +#: doc/guix.texi:3235 +msgid "" +"The @code{arguments} field specifies options for the build system " +"(@pxref{Build Systems}). Here it is interpreted by @var{gnu-build-system} " +"as a request run @file{configure} with the @code{--enable-silent-rules} " +"flag." +msgstr "" + +#. type: findex +#: doc/guix.texi:3236 doc/guix.texi:3239 +#, no-wrap +msgid "quote" +msgstr "" + +#. type: cindex +#: doc/guix.texi:3237 +#, no-wrap +msgid "quoting" +msgstr "" + +#. type: findex +#: doc/guix.texi:3238 +#, no-wrap +msgid "'" +msgstr "" + +#. type: itemize +#: doc/guix.texi:3247 +msgid "" +"What about these quote (@code{'}) characters? They are Scheme syntax to " +"introduce a literal list; @code{'} is synonymous with @code{quote}. " +"@xref{Expression Syntax, quoting,, guile, GNU Guile Reference Manual}, for " +"details. Here the value of the @code{arguments} field is a list of " +"arguments passed to the build system down the road, as with @code{apply} " +"(@pxref{Fly Evaluation, @code{apply},, guile, GNU Guile Reference Manual})." +msgstr "" + +#. type: itemize +#: doc/guix.texi:3253 +msgid "" +"The hash-colon (@code{#:}) sequence defines a Scheme @dfn{keyword} " +"(@pxref{Keywords,,, guile, GNU Guile Reference Manual}), and " +"@code{#:configure-flags} is a keyword used to pass a keyword argument to the " +"build system (@pxref{Coding With Keywords,,, guile, GNU Guile Reference " +"Manual})." +msgstr "" + +#. type: itemize +#: doc/guix.texi:3259 +msgid "" +"The @code{inputs} field specifies inputs to the build process---i.e., " +"build-time or run-time dependencies of the package. Here, we define an " +"input called @code{\"gawk\"} whose value is that of the @var{gawk} variable; " +"@var{gawk} is itself bound to a @code{<package>} object." +msgstr "" + +#. type: cindex +#: doc/guix.texi:3260 +#, no-wrap +msgid "backquote (quasiquote)" +msgstr "" + +#. type: findex +#: doc/guix.texi:3261 +#, no-wrap +msgid "`" +msgstr "" + +#. type: findex +#: doc/guix.texi:3262 +#, no-wrap +msgid "quasiquote" +msgstr "" + +#. type: cindex +#: doc/guix.texi:3263 +#, no-wrap +msgid "comma (unquote)" +msgstr "" + +#. type: findex +#: doc/guix.texi:3264 +#, no-wrap +msgid "," +msgstr "" + +#. type: findex +#: doc/guix.texi:3265 +#, no-wrap +msgid "unquote" +msgstr "" + +#. type: findex +#: doc/guix.texi:3266 +#, no-wrap +msgid ",@@" +msgstr "" + +#. type: findex +#: doc/guix.texi:3267 +#, no-wrap +msgid "unquote-splicing" +msgstr "" + +#. type: itemize +#: doc/guix.texi:3273 +msgid "" +"Again, @code{`} (a backquote, synonymous with @code{quasiquote}) allows us " +"to introduce a literal list in the @code{inputs} field, while @code{,} (a " +"comma, synonymous with @code{unquote}) allows us to insert a value in that " +"list (@pxref{Expression Syntax, unquote,, guile, GNU Guile Reference " +"Manual})." +msgstr "" + +#. type: itemize +#: doc/guix.texi:3277 +msgid "" +"Note that GCC, Coreutils, Bash, and other essential tools do not need to be " +"specified as inputs here. Instead, @var{gnu-build-system} takes care of " +"ensuring that they are present (@pxref{Build Systems})." +msgstr "" + +#. type: itemize +#: doc/guix.texi:3281 +msgid "" +"However, any other dependencies need to be specified in the @code{inputs} " +"field. Any dependency not specified here will simply be unavailable to the " +"build process, possibly leading to a build failure." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:3284 +msgid "@xref{package Reference}, for a full description of possible fields." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:3295 +msgid "" +"Once a package definition is in place, the package may actually be built " +"using the @code{guix build} command-line tool (@pxref{Invoking guix build}), " +"troubleshooting any build failures you encounter (@pxref{Debugging Build " +"Failures}). You can easily jump back to the package definition using the " +"@command{guix edit} command (@pxref{Invoking guix edit}). @xref{Packaging " +"Guidelines}, for more information on how to test package definitions, and " +"@ref{Invoking guix lint}, for information on how to check a definition for " +"style conformance." +msgstr "" + +#. type: vindex +#: doc/guix.texi:3295 +#, no-wrap +msgid "GUIX_PACKAGE_PATH" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:3299 +msgid "" +"Lastly, @pxref{Package Modules}, for information on how to extend the " +"distribution by adding your own package definitions to " +"@code{GUIX_PACKAGE_PATH}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:3303 +msgid "" +"Finally, updating the package definition to a new upstream version can be " +"partly automated by the @command{guix refresh} command (@pxref{Invoking guix " +"refresh})." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:3309 +msgid "" +"Behind the scenes, a derivation corresponding to the @code{<package>} object " +"is first computed by the @code{package-derivation} procedure. That " +"derivation is stored in a @code{.drv} file under @file{/gnu/store}. The " +"build actions it prescribes may then be realized by using the " +"@code{build-derivations} procedure (@pxref{The Store})." +msgstr "" + +#. type: deffn +#: doc/guix.texi:3310 +#, no-wrap +msgid "" +"{Scheme Procedure} package-derivation @var{store} @var{package} " +"[@var{system}]" +msgstr "" + +#. type: deffn +#: doc/guix.texi:3313 +msgid "" +"Return the @code{<derivation>} object of @var{package} for @var{system} " +"(@pxref{Derivations})." +msgstr "" + +#. type: deffn +#: doc/guix.texi:3319 +msgid "" +"@var{package} must be a valid @code{<package>} object, and @var{system} must " +"be a string denoting the target system type---e.g., @code{\"x86_64-linux\"} " +"for an x86_64 Linux-based GNU system. @var{store} must be a connection to " +"the daemon, which operates on the store (@pxref{The Store})." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:3325 +msgid "" +"Similarly, it is possible to compute a derivation that cross-builds a " +"package for some other system:" +msgstr "" + +#. type: deffn +#: doc/guix.texi:3326 +#, no-wrap +msgid "{Scheme Procedure} package-cross-derivation @var{store} @" +msgstr "" + +#. type: deffn +#: doc/guix.texi:3330 +msgid "" +"@var{package} @var{target} [@var{system}] Return the @code{<derivation>} " +"object of @var{package} cross-built from @var{system} to @var{target}." +msgstr "" + +#. type: deffn +#: doc/guix.texi:3335 +msgid "" +"@var{target} must be a valid GNU triplet denoting the target hardware and " +"operating system, such as @code{\"mips64el-linux-gnu\"} " +"(@pxref{Configuration Names, GNU configuration triplets,, configure, GNU " +"Configure and Build System})." +msgstr "" + +#. type: cindex +#: doc/guix.texi:3337 +#, no-wrap +msgid "package transformations" +msgstr "" + +#. type: cindex +#: doc/guix.texi:3338 +#, no-wrap +msgid "input rewriting" +msgstr "" + +#. type: cindex +#: doc/guix.texi:3339 +#, no-wrap +msgid "dependency tree rewriting" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:3343 +msgid "" +"Packages can be manipulated in arbitrary ways. An example of a useful " +"transformation is @dfn{input rewriting}, whereby the dependency tree of a " +"package is rewritten by replacing specific inputs by others:" +msgstr "" + +#. type: deffn +#: doc/guix.texi:3344 +#, no-wrap +msgid "{Scheme Procedure} package-input-rewriting @var{replacements} @" +msgstr "" + +#. type: deffn +#: doc/guix.texi:3351 +msgid "" +"[@var{rewrite-name}] Return a procedure that, when passed a package, " +"replaces its direct and indirect dependencies (but not its implicit inputs) " +"according to @var{replacements}. @var{replacements} is a list of package " +"pairs; the first element of each pair is the package to replace, and the " +"second one is the replacement." +msgstr "" + +#. type: deffn +#: doc/guix.texi:3354 +msgid "" +"Optionally, @var{rewrite-name} is a one-argument procedure that takes the " +"name of a package and returns its new name after rewrite." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:3358 +msgid "Consider this example:" +msgstr "" + +#. type: example +#: doc/guix.texi:3364 +#, no-wrap +msgid "" +"(define libressl-instead-of-openssl\n" +" ;; This is a procedure to replace OPENSSL by LIBRESSL,\n" +" ;; recursively.\n" +" (package-input-rewriting `((,openssl . ,libressl))))\n" +"\n" +msgstr "" + +#. type: example +#: doc/guix.texi:3367 +#, no-wrap +msgid "" +"(define git-with-libressl\n" +" (libressl-instead-of-openssl git))\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:3375 +msgid "" +"Here we first define a rewriting procedure that replaces @var{openssl} with " +"@var{libressl}. Then we use it to define a @dfn{variant} of the @var{git} " +"package that uses @var{libressl} instead of @var{openssl}. This is exactly " +"what the @option{--with-input} command-line option does (@pxref{Package " +"Transformation Options, @option{--with-input}})." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:3379 +msgid "" +"A more generic procedure to rewrite a package dependency graph is " +"@code{package-mapping}: it supports arbitrary changes to nodes in the graph." +msgstr "" + +#. type: deffn +#: doc/guix.texi:3380 +#, no-wrap +msgid "{Scheme Procedure} package-mapping @var{proc} [@var{cut?}]" +msgstr "" + +#. type: deffn +#: doc/guix.texi:3384 +msgid "" +"Return a procedure that, given a package, applies @var{proc} to all the " +"packages depended on and returns the resulting package. The procedure stops " +"recursion when @var{cut?} returns true for a given package." +msgstr "" + +#. type: subsection +#: doc/guix.texi:3393 +#, no-wrap +msgid "@code{package} Reference" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:3397 +msgid "" +"This section summarizes all the options available in @code{package} " +"declarations (@pxref{Defining Packages})." +msgstr "" + +#. type: deftp +#: doc/guix.texi:3398 +#, no-wrap +msgid "{Data Type} package" +msgstr "" + +#. type: deftp +#: doc/guix.texi:3400 +msgid "This is the data type representing a package recipe." +msgstr "" + +#. type: table +#: doc/guix.texi:3404 +msgid "The name of the package, as a string." +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:3405 +#, no-wrap +msgid "version" +msgstr "" + +#. type: table +#: doc/guix.texi:3407 +msgid "The version of the package, as a string." +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:3408 doc/guix.texi:6743 doc/guix.texi:9281 doc/guix.texi:9569 +#, no-wrap +msgid "source" +msgstr "" + +#. type: table +#: doc/guix.texi:3415 +msgid "" +"An object telling how the source code for the package should be acquired. " +"Most of the time, this is an @code{origin} object, which denotes a file " +"fetched from the Internet (@pxref{origin Reference}). It can also be any " +"other ``file-like'' object such as a @code{local-file}, which denotes a file " +"from the local file system (@pxref{G-Expressions, @code{local-file}})." +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:3416 +#, no-wrap +msgid "build-system" +msgstr "" + +#. type: table +#: doc/guix.texi:3419 +msgid "" +"The build system that should be used to build the package (@pxref{Build " +"Systems})." +msgstr "" + +#. type: item +#: doc/guix.texi:3420 doc/guix.texi:10973 +#, no-wrap +msgid "@code{arguments} (default: @code{'()})" +msgstr "" + +#. type: table +#: doc/guix.texi:3423 +msgid "" +"The arguments that should be passed to the build system. This is a list, " +"typically containing sequential keyword-value pairs." +msgstr "" + +#. type: item +#: doc/guix.texi:3424 +#, no-wrap +msgid "@code{inputs} (default: @code{'()})" +msgstr "" + +#. type: itemx +#: doc/guix.texi:3425 +#, no-wrap +msgid "@code{native-inputs} (default: @code{'()})" +msgstr "" + +#. type: itemx +#: doc/guix.texi:3426 +#, no-wrap +msgid "@code{propagated-inputs} (default: @code{'()})" +msgstr "" + +#. type: cindex +#: doc/guix.texi:3427 +#, no-wrap +msgid "inputs, of packages" +msgstr "" + +#. type: table +#: doc/guix.texi:3435 +msgid "" +"These fields list dependencies of the package. Each one is a list of " +"tuples, where each tuple has a label for the input (a string) as its first " +"element, a package, origin, or derivation as its second element, and " +"optionally the name of the output thereof that should be used, which " +"defaults to @code{\"out\"} (@pxref{Packages with Multiple Outputs}, for more " +"on package outputs). For example, the list below specifies three inputs:" +msgstr "" + +#. type: example +#: doc/guix.texi:3440 +#, no-wrap +msgid "" +"`((\"libffi\" ,libffi)\n" +" (\"libunistring\" ,libunistring)\n" +" (\"glib:bin\" ,glib \"bin\")) ;the \"bin\" output of Glib\n" +msgstr "" + +#. type: cindex +#: doc/guix.texi:3442 +#, no-wrap +msgid "cross compilation, package dependencies" +msgstr "" + +#. type: table +#: doc/guix.texi:3448 +msgid "" +"The distinction between @code{native-inputs} and @code{inputs} is necessary " +"when considering cross-compilation. When cross-compiling, dependencies " +"listed in @code{inputs} are built for the @emph{target} architecture; " +"conversely, dependencies listed in @code{native-inputs} are built for the " +"architecture of the @emph{build} machine." +msgstr "" + +#. type: table +#: doc/guix.texi:3453 +msgid "" +"@code{native-inputs} is typically used to list tools needed at build time, " +"but not at run time, such as Autoconf, Automake, pkg-config, Gettext, or " +"Bison. @command{guix lint} can report likely mistakes in this area " +"(@pxref{Invoking guix lint})." +msgstr "" + +#. type: anchor{#1} +#: doc/guix.texi:3460 +msgid "package-propagated-inputs" +msgstr "" + +#. type: table +#: doc/guix.texi:3460 +msgid "" +"Lastly, @code{propagated-inputs} is similar to @code{inputs}, but the " +"specified packages will be automatically installed alongside the package " +"they belong to (@pxref{package-cmd-propagated-inputs, @command{guix " +"package}}, for information on how @command{guix package} deals with " +"propagated inputs.)" +msgstr "" + +#. type: table +#: doc/guix.texi:3464 +msgid "" +"For example this is necessary when a C/C++ library needs headers of another " +"library to compile, or when a pkg-config file refers to another one @i{via} " +"its @code{Requires} field." +msgstr "" + +#. type: table +#: doc/guix.texi:3471 +msgid "" +"Another example where @code{propagated-inputs} is useful is for languages " +"that lack a facility to record the run-time search path akin to the " +"@code{RUNPATH} of ELF files; this includes Guile, Python, Perl, and more. " +"To ensure that libraries written in those languages can find library code " +"they depend on at run time, run-time dependencies must be listed in " +"@code{propagated-inputs} rather than @code{inputs}." +msgstr "" + +#. type: item +#: doc/guix.texi:3472 +#, no-wrap +msgid "@code{self-native-input?} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:3475 +msgid "" +"This is a Boolean field telling whether the package should use itself as a " +"native input when cross-compiling." +msgstr "" + +#. type: item +#: doc/guix.texi:3476 +#, no-wrap +msgid "@code{outputs} (default: @code{'(\"out\")})" +msgstr "" + +#. type: table +#: doc/guix.texi:3479 +msgid "" +"The list of output names of the package. @xref{Packages with Multiple " +"Outputs}, for typical uses of additional outputs." +msgstr "" + +#. type: item +#: doc/guix.texi:3480 +#, no-wrap +msgid "@code{native-search-paths} (default: @code{'()})" +msgstr "" + +#. type: itemx +#: doc/guix.texi:3481 +#, no-wrap +msgid "@code{search-paths} (default: @code{'()})" +msgstr "" + +#. type: table +#: doc/guix.texi:3484 +msgid "" +"A list of @code{search-path-specification} objects describing search-path " +"environment variables honored by the package." +msgstr "" + +#. type: item +#: doc/guix.texi:3485 +#, no-wrap +msgid "@code{replacement} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:3489 +msgid "" +"This must be either @code{#f} or a package object that will be used as a " +"@dfn{replacement} for this package. @xref{Security Updates, grafts}, for " +"details." +msgstr "" + +#. type: item +#: doc/guix.texi:3490 doc/guix.texi:6735 +#, no-wrap +msgid "synopsis" +msgstr "" + +#. type: table +#: doc/guix.texi:3492 +msgid "A one-line description of the package." +msgstr "" + +#. type: item +#: doc/guix.texi:3493 doc/guix.texi:6736 doc/guix.texi:20982 +#, no-wrap +msgid "description" +msgstr "" + +#. type: table +#: doc/guix.texi:3495 +msgid "A more elaborate description of the package." +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:3496 +#, no-wrap +msgid "license" +msgstr "" + +#. type: cindex +#: doc/guix.texi:3497 +#, no-wrap +msgid "license, of packages" +msgstr "" + +#. type: table +#: doc/guix.texi:3500 +msgid "" +"The license of the package; a value from @code{(guix licenses)}, or a list " +"of such values." +msgstr "" + +#. type: itemx +#: doc/guix.texi:3501 doc/guix.texi:6744 +#, no-wrap +msgid "home-page" +msgstr "" + +#. type: table +#: doc/guix.texi:3503 +msgid "The URL to the home-page of the package, as a string." +msgstr "" + +#. type: item +#: doc/guix.texi:3504 +#, no-wrap +msgid "@code{supported-systems} (default: @var{%supported-systems})" +msgstr "" + +#. type: table +#: doc/guix.texi:3507 +msgid "" +"The list of systems supported by the package, as strings of the form " +"@code{architecture-kernel}, for example @code{\"x86_64-linux\"}." +msgstr "" + +#. type: item +#: doc/guix.texi:3508 +#, no-wrap +msgid "@code{maintainers} (default: @code{'()})" +msgstr "" + +#. type: table +#: doc/guix.texi:3510 +msgid "The list of maintainers of the package, as @code{maintainer} objects." +msgstr "" + +#. type: item +#: doc/guix.texi:3511 +#, no-wrap +msgid "@code{location} (default: source location of the @code{package} form)" +msgstr "" + +#. type: table +#: doc/guix.texi:3515 +msgid "" +"The source location of the package. It is useful to override this when " +"inheriting from another package, in which case this field is not " +"automatically corrected." +msgstr "" + +#. type: subsection +#: doc/guix.texi:3520 +#, no-wrap +msgid "@code{origin} Reference" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:3524 +msgid "" +"This section summarizes all the options available in @code{origin} " +"declarations (@pxref{Defining Packages})." +msgstr "" + +#. type: deftp +#: doc/guix.texi:3525 +#, no-wrap +msgid "{Data Type} origin" +msgstr "" + +#. type: deftp +#: doc/guix.texi:3527 +msgid "This is the data type representing a source code origin." +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:3529 doc/guix.texi:15651 +#, no-wrap +msgid "uri" +msgstr "" + +#. type: table +#: doc/guix.texi:3534 +msgid "" +"An object containing the URI of the source. The object type depends on the " +"@code{method} (see below). For example, when using the @var{url-fetch} " +"method of @code{(guix download)}, the valid @code{uri} values are: a URL " +"represented as a string, or a list thereof." +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:3535 +#, no-wrap +msgid "method" +msgstr "" + +#. type: table +#: doc/guix.texi:3537 +msgid "A procedure that handles the URI." +msgstr "" + +#. type: table +#: doc/guix.texi:3539 +msgid "Examples include:" +msgstr "" + +#. type: item +#: doc/guix.texi:3541 +#, no-wrap +msgid "@var{url-fetch} from @code{(guix download)}" +msgstr "" + +#. type: table +#: doc/guix.texi:3544 +msgid "" +"download a file from the HTTP, HTTPS, or FTP URL specified in the @code{uri} " +"field;" +msgstr "" + +#. type: vindex +#: doc/guix.texi:3545 doc/guix.texi:6097 +#, no-wrap +msgid "git-fetch" +msgstr "" + +#. type: item +#: doc/guix.texi:3546 +#, no-wrap +msgid "@var{git-fetch} from @code{(guix git-download)}" +msgstr "" + +#. type: table +#: doc/guix.texi:3550 +msgid "" +"clone the Git version control repository, and check out the revision " +"specified in the @code{uri} field as a @code{git-reference} object; a " +"@code{git-reference} looks like this:" +msgstr "" + +#. type: example +#: doc/guix.texi:3555 +#, no-wrap +msgid "" +"(git-reference\n" +" (url \"git://git.debian.org/git/pkg-shadow/shadow\")\n" +" (commit \"v4.1.5.1\"))\n" +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:3558 +#, no-wrap +msgid "sha256" +msgstr "" + +#. type: table +#: doc/guix.texi:3562 +msgid "" +"A bytevector containing the SHA-256 hash of the source. Typically the " +"@code{base32} form is used here to generate the bytevector from a base-32 " +"string." +msgstr "" + +#. type: table +#: doc/guix.texi:3566 +msgid "" +"You can obtain this information using @code{guix download} (@pxref{Invoking " +"guix download}) or @code{guix hash} (@pxref{Invoking guix hash})." +msgstr "" + +#. type: item +#: doc/guix.texi:3567 +#, no-wrap +msgid "@code{file-name} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:3573 +msgid "" +"The file name under which the source code should be saved. When this is " +"@code{#f}, a sensible default value will be used in most cases. In case the " +"source is fetched from a URL, the file name from the URL will be used. For " +"version control checkouts, it is recommended to provide the file name " +"explicitly because the default is not very descriptive." +msgstr "" + +#. type: item +#: doc/guix.texi:3574 +#, no-wrap +msgid "@code{patches} (default: @code{'()})" +msgstr "" + +#. type: table +#: doc/guix.texi:3577 +msgid "" +"A list of file names, origins, or file-like objects (@pxref{G-Expressions, " +"file-like objects}) pointing to patches to be applied to the source." +msgstr "" + +#. type: table +#: doc/guix.texi:3581 +msgid "" +"This list of patches must be unconditional. In particular, it cannot depend " +"on the value of @code{%current-system} or @code{%current-target-system}." +msgstr "" + +#. type: item +#: doc/guix.texi:3582 +#, no-wrap +msgid "@code{snippet} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:3586 +msgid "" +"A G-expression (@pxref{G-Expressions}) or S-expression that will be run in " +"the source directory. This is a convenient way to modify the source, " +"sometimes more convenient than a patch." +msgstr "" + +#. type: item +#: doc/guix.texi:3587 +#, no-wrap +msgid "@code{patch-flags} (default: @code{'(\"-p1\")})" +msgstr "" + +#. type: table +#: doc/guix.texi:3590 +msgid "" +"A list of command-line flags that should be passed to the @code{patch} " +"command." +msgstr "" + +#. type: item +#: doc/guix.texi:3591 +#, no-wrap +msgid "@code{patch-inputs} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:3595 +msgid "" +"Input packages or derivations to the patching process. When this is " +"@code{#f}, the usual set of inputs necessary for patching are provided, such " +"as GNU@tie{}Patch." +msgstr "" + +#. type: item +#: doc/guix.texi:3596 +#, no-wrap +msgid "@code{modules} (default: @code{'()})" +msgstr "" + +#. type: table +#: doc/guix.texi:3599 +msgid "" +"A list of Guile modules that should be loaded during the patching process " +"and while running the code in the @code{snippet} field." +msgstr "" + +#. type: item +#: doc/guix.texi:3600 +#, no-wrap +msgid "@code{patch-guile} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:3603 +msgid "" +"The Guile package that should be used in the patching process. When this is " +"@code{#f}, a sensible default is used." +msgstr "" + +#. type: cindex +#: doc/guix.texi:3610 +#, no-wrap +msgid "build system" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:3615 +msgid "" +"Each package definition specifies a @dfn{build system} and arguments for " +"that build system (@pxref{Defining Packages}). This @code{build-system} " +"field represents the build procedure of the package, as well as implicit " +"dependencies of that build procedure." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:3619 +msgid "" +"Build systems are @code{<build-system>} objects. The interface to create " +"and manipulate them is provided by the @code{(guix build-system)} module, " +"and actual build systems are exported by specific modules." +msgstr "" + +#. type: cindex +#: doc/guix.texi:3620 +#, no-wrap +msgid "bag (low-level package representation)" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:3627 +msgid "" +"Under the hood, build systems first compile package objects to @dfn{bags}. " +"A @dfn{bag} is like a package, but with less ornamentation---in other words, " +"a bag is a lower-level representation of a package, which includes all the " +"inputs of that package, including some that were implicitly added by the " +"build system. This intermediate representation is then compiled to a " +"derivation (@pxref{Derivations})." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:3635 +msgid "" +"Build systems accept an optional list of @dfn{arguments}. In package " +"definitions, these are passed @i{via} the @code{arguments} field " +"(@pxref{Defining Packages}). They are typically keyword arguments " +"(@pxref{Optional Arguments, keyword arguments in Guile,, guile, GNU Guile " +"Reference Manual}). The value of these arguments is usually evaluated in " +"the @dfn{build stratum}---i.e., by a Guile process launched by the daemon " +"(@pxref{Derivations})." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:3639 +msgid "" +"The main build system is @var{gnu-build-system}, which implements the " +"standard build procedure for GNU and many other packages. It is provided by " +"the @code{(guix build-system gnu)} module." +msgstr "" + +#. type: defvr +#: doc/guix.texi:3640 +#, no-wrap +msgid "{Scheme Variable} gnu-build-system" +msgstr "" + +#. type: defvr +#: doc/guix.texi:3644 +msgid "" +"@var{gnu-build-system} represents the GNU Build System, and variants thereof " +"(@pxref{Configuration, configuration and makefile conventions,, standards, " +"GNU Coding Standards})." +msgstr "" + +#. type: cindex +#: doc/guix.texi:3645 +#, no-wrap +msgid "build phases" +msgstr "" + +#. type: defvr +#: doc/guix.texi:3652 +msgid "" +"In a nutshell, packages using it are configured, built, and installed with " +"the usual @code{./configure && make && make check && make install} command " +"sequence. In practice, a few additional steps are often needed. All these " +"steps are split up in separate @dfn{phases}, notably@footnote{Please see the " +"@code{(guix build gnu-build-system)} modules for more details about the " +"build phases.}:" +msgstr "" + +#. type: item +#: doc/guix.texi:3654 +#, no-wrap +msgid "unpack" +msgstr "" + +#. type: table +#: doc/guix.texi:3658 +msgid "" +"Unpack the source tarball, and change the current directory to the extracted " +"source tree. If the source is actually a directory, copy it to the build " +"tree, and enter that directory." +msgstr "" + +#. type: item +#: doc/guix.texi:3659 +#, no-wrap +msgid "patch-source-shebangs" +msgstr "" + +#. type: table +#: doc/guix.texi:3663 +msgid "" +"Patch shebangs encountered in source files so they refer to the right store " +"file names. For instance, this changes @code{#!/bin/sh} to " +"@code{#!/gnu/store/@dots{}-bash-4.3/bin/sh}." +msgstr "" + +#. type: item +#: doc/guix.texi:3664 doc/guix.texi:4130 +#, no-wrap +msgid "configure" +msgstr "" + +#. type: table +#: doc/guix.texi:3668 +msgid "" +"Run the @file{configure} script with a number of default options, such as " +"@code{--prefix=/gnu/store/@dots{}}, as well as the options specified by the " +"@code{#:configure-flags} argument." +msgstr "" + +#. type: item +#: doc/guix.texi:3669 doc/guix.texi:4135 doc/guix.texi:20392 +#, no-wrap +msgid "build" +msgstr "" + +#. type: table +#: doc/guix.texi:3673 +msgid "" +"Run @code{make} with the list of flags specified with @code{#:make-flags}. " +"If the @code{#:parallel-build?} argument is true (the default), build with " +"@code{make -j}." +msgstr "" + +#. type: item +#: doc/guix.texi:3674 doc/guix.texi:4139 +#, no-wrap +msgid "check" +msgstr "" + +#. type: table +#: doc/guix.texi:3679 +msgid "" +"Run @code{make check}, or some other target specified with " +"@code{#:test-target}, unless @code{#:tests? #f} is passed. If the " +"@code{#:parallel-tests?} argument is true (the default), run @code{make " +"check -j}." +msgstr "" + +#. type: item +#: doc/guix.texi:3680 doc/guix.texi:4143 +#, no-wrap +msgid "install" +msgstr "" + +#. type: table +#: doc/guix.texi:3682 +msgid "Run @code{make install} with the flags listed in @code{#:make-flags}." +msgstr "" + +#. type: item +#: doc/guix.texi:3683 +#, no-wrap +msgid "patch-shebangs" +msgstr "" + +#. type: table +#: doc/guix.texi:3685 +msgid "Patch shebangs on the installed executable files." +msgstr "" + +#. type: item +#: doc/guix.texi:3686 +#, no-wrap +msgid "strip" +msgstr "" + +#. type: table +#: doc/guix.texi:3690 +msgid "" +"Strip debugging symbols from ELF files (unless @code{#:strip-binaries?} is " +"false), copying them to the @code{debug} output when available " +"(@pxref{Installing Debugging Files})." +msgstr "" + +#. type: vindex +#: doc/guix.texi:3692 +#, no-wrap +msgid "%standard-phases" +msgstr "" + +#. type: defvr +#: doc/guix.texi:3697 +msgid "" +"The build-side module @code{(guix build gnu-build-system)} defines " +"@var{%standard-phases} as the default list of build phases. " +"@var{%standard-phases} is a list of symbol/procedure pairs, where the " +"procedure implements the actual phase." +msgstr "" + +#. type: defvr +#: doc/guix.texi:3700 +msgid "" +"The list of phases used for a particular package can be changed with the " +"@code{#:phases} parameter. For instance, passing:" +msgstr "" + +#. type: example +#: doc/guix.texi:3703 +#, no-wrap +msgid "#:phases (modify-phases %standard-phases (delete 'configure))\n" +msgstr "" + +#. type: defvr +#: doc/guix.texi:3707 +msgid "" +"means that all the phases described above will be used, except the " +"@code{configure} phase." +msgstr "" + +#. type: defvr +#: doc/guix.texi:3714 +msgid "" +"In addition, this build system ensures that the ``standard'' environment for " +"GNU packages is available. This includes tools such as GCC, libc, " +"Coreutils, Bash, Make, Diffutils, grep, and sed (see the @code{(guix " +"build-system gnu)} module for a complete list). We call these the " +"@dfn{implicit inputs} of a package, because package definitions do not have " +"to mention them." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:3721 +msgid "" +"Other @code{<build-system>} objects are defined to support other conventions " +"and tools used by free software packages. They inherit most of " +"@var{gnu-build-system}, and differ mainly in the set of inputs implicitly " +"added to the build process, and in the list of phases executed. Some of " +"these build systems are listed below." +msgstr "" + +#. type: defvr +#: doc/guix.texi:3722 +#, no-wrap +msgid "{Scheme Variable} ant-build-system" +msgstr "" + +#. type: defvr +#: doc/guix.texi:3726 +msgid "" +"This variable is exported by @code{(guix build-system ant)}. It implements " +"the build procedure for Java packages that can be built with " +"@url{http://ant.apache.org/, Ant build tool}." +msgstr "" + +#. type: defvr +#: doc/guix.texi:3731 +msgid "" +"It adds both @code{ant} and the @dfn{Java Development Kit} (JDK) as provided " +"by the @code{icedtea} package to the set of inputs. Different packages can " +"be specified with the @code{#:ant} and @code{#:jdk} parameters, " +"respectively." +msgstr "" + +#. type: defvr +#: doc/guix.texi:3737 +msgid "" +"When the original package does not provide a suitable Ant build file, the " +"parameter @code{#:jar-name} can be used to generate a minimal Ant build file " +"@file{build.xml} with tasks to build the specified jar archive. In this " +"case the parameter @code{#:source-dir} can be used to specify the source " +"sub-directory, defaulting to ``src''." +msgstr "" + +#. type: defvr +#: doc/guix.texi:3745 +msgid "" +"The @code{#:main-class} parameter can be used with the minimal ant buildfile " +"to specify the main class of the resulting jar. This makes the jar file " +"executable. The @code{#:test-include} parameter can be used to specify the " +"list of junit tests to run. It defaults to @code{(list \"**/*Test.java\")}. " +"The @code{#:test-exclude} can be used to disable some tests. It defaults to " +"@code{(list \"**/Abstract*.java\")}, because abstract classes cannot be run " +"as tests." +msgstr "" + +#. type: defvr +#: doc/guix.texi:3749 +msgid "" +"The parameter @code{#:build-target} can be used to specify the Ant task that " +"should be run during the @code{build} phase. By default the ``jar'' task " +"will be run." +msgstr "" + +#. type: defvr +#: doc/guix.texi:3752 +#, no-wrap +msgid "{Scheme Variable} asdf-build-system/source" +msgstr "" + +#. type: defvrx +#: doc/guix.texi:3753 +#, no-wrap +msgid "{Scheme Variable} asdf-build-system/sbcl" +msgstr "" + +#. type: defvrx +#: doc/guix.texi:3754 +#, no-wrap +msgid "{Scheme Variable} asdf-build-system/ecl" +msgstr "" + +#. type: defvr +#: doc/guix.texi:3760 +msgid "" +"These variables, exported by @code{(guix build-system asdf)}, implement " +"build procedures for Common Lisp packages using " +"@url{https://common-lisp.net/project/asdf/, ``ASDF''}. ASDF is a system " +"definition facility for Common Lisp programs and libraries." +msgstr "" + +#. type: defvr +#: doc/guix.texi:3767 +msgid "" +"The @code{asdf-build-system/source} system installs the packages in source " +"form, and can be loaded using any common lisp implementation, via ASDF. The " +"others, such as @code{asdf-build-system/sbcl}, install binary systems in the " +"format which a particular implementation understands. These build systems " +"can also be used to produce executable programs, or lisp images which " +"contain a set of packages pre-loaded." +msgstr "" + +#. type: defvr +#: doc/guix.texi:3771 +msgid "" +"The build system uses naming conventions. For binary packages, the package " +"name should be prefixed with the lisp implementation, such as @code{sbcl-} " +"for @code{asdf-build-system/sbcl}." +msgstr "" + +#. type: defvr +#: doc/guix.texi:3775 +msgid "" +"Additionally, the corresponding source package should be labeled using the " +"same convention as python packages (see @ref{Python Modules}), using the " +"@code{cl-} prefix." +msgstr "" + +#. type: defvr +#: doc/guix.texi:3780 +msgid "" +"For binary packages, each system should be defined as a Guix package. If " +"one package @code{origin} contains several systems, package variants can be " +"created in order to build all the systems. Source packages, which use " +"@code{asdf-build-system/source}, may contain several systems." +msgstr "" + +#. type: defvr +#: doc/guix.texi:3787 +msgid "" +"In order to create executable programs and images, the build-side procedures " +"@code{build-program} and @code{build-image} can be used. They should be " +"called in a build phase after the @code{create-symlinks} phase, so that the " +"system which was just built can be used within the resulting image. " +"@code{build-program} requires a list of Common Lisp expressions to be passed " +"as the @code{#:entry-program} argument." +msgstr "" + +#. type: defvr +#: doc/guix.texi:3796 +msgid "" +"If the system is not defined within its own @code{.asd} file of the same " +"name, then the @code{#:asd-file} parameter should be used to specify which " +"file the system is defined in. Furthermore, if the package defines a system " +"for its tests in a separate file, it will be loaded before the tests are run " +"if it is specified by the @code{#:test-asd-file} parameter. If it is not " +"set, the files @code{<system>-tests.asd}, @code{<system>-test.asd}, " +"@code{tests.asd}, and @code{test.asd} will be tried if they exist." +msgstr "" + +#. type: defvr +#: doc/guix.texi:3800 +msgid "" +"If for some reason the package must be named in a different way than the " +"naming conventions suggest, the @code{#:asd-system-name} parameter can be " +"used to specify the name of the system." +msgstr "" + +#. type: defvr +#: doc/guix.texi:3803 +#, no-wrap +msgid "{Scheme Variable} cargo-build-system" +msgstr "" + +#. type: cindex +#: doc/guix.texi:3804 +#, no-wrap +msgid "Rust programming language" +msgstr "" + +#. type: cindex +#: doc/guix.texi:3805 +#, no-wrap +msgid "Cargo (Rust build system)" +msgstr "" + +#. type: defvr +#: doc/guix.texi:3809 +msgid "" +"This variable is exported by @code{(guix build-system cargo)}. It supports " +"builds of packages using Cargo, the build tool of the " +"@uref{https://www.rust-lang.org, Rust programming language}." +msgstr "" + +#. type: defvr +#: doc/guix.texi:3814 +msgid "" +"In its @code{configure} phase, this build system replaces dependencies " +"specified in the @file{Carto.toml} file with inputs to the Guix package. " +"The @code{install} phase installs the binaries, and it also installs the " +"source code and @file{Cargo.toml} file." +msgstr "" + +#. type: defvr +#: doc/guix.texi:3816 +#, no-wrap +msgid "{Scheme Variable} cmake-build-system" +msgstr "" + +#. type: defvr +#: doc/guix.texi:3820 +msgid "" +"This variable is exported by @code{(guix build-system cmake)}. It " +"implements the build procedure for packages using the " +"@url{http://www.cmake.org, CMake build tool}." +msgstr "" + +#. type: defvr +#: doc/guix.texi:3824 +msgid "" +"It automatically adds the @code{cmake} package to the set of inputs. Which " +"package is used can be specified with the @code{#:cmake} parameter." +msgstr "" + +#. type: defvr +#: doc/guix.texi:3831 +msgid "" +"The @code{#:configure-flags} parameter is taken as a list of flags passed to " +"the @command{cmake} command. The @code{#:build-type} parameter specifies in " +"abstract terms the flags passed to the compiler; it defaults to " +"@code{\"RelWithDebInfo\"} (short for ``release mode with debugging " +"information''), which roughly means that code is compiled with @code{-O2 " +"-g}, as is the case for Autoconf-based packages by default." +msgstr "" + +#. type: defvr +#: doc/guix.texi:3833 +#, no-wrap +msgid "{Scheme Variable} go-build-system" +msgstr "" + +#. type: defvr +#: doc/guix.texi:3838 +msgid "" +"This variable is exported by @code{(guix build-system go)}. It implements a " +"build procedure for Go packages using the standard " +"@url{https://golang.org/cmd/go/#hdr-Compile_packages_and_dependencies, Go " +"build mechanisms}." +msgstr "" + +#. type: defvr +#: doc/guix.texi:3849 +msgid "" +"The user is expected to provide a value for the key @code{#:import-path} " +"and, in some cases, @code{#:unpack-path}. The " +"@url{https://golang.org/doc/code.html#ImportPaths, import path} corresponds " +"to the file system path expected by the package's build scripts and any " +"referring packages, and provides a unique way to refer to a Go package. It " +"is typically based on a combination of the package source code's remote URI " +"and file system hierarchy structure. In some cases, you will need to unpack " +"the package's source code to a different directory structure than the one " +"indicated by the import path, and @code{#:unpack-path} should be used in " +"such cases." +msgstr "" + +#. type: defvr +#: doc/guix.texi:3854 +msgid "" +"Packages that provide Go libraries should be installed along with their " +"source code. The key @code{#:install-source?}, which defaults to @code{#t}, " +"controls whether or not the source code is installed. It can be set to " +"@code{#f} for packages that only provide executable files." +msgstr "" + +#. type: defvr +#: doc/guix.texi:3856 +#, no-wrap +msgid "{Scheme Variable} glib-or-gtk-build-system" +msgstr "" + +#. type: defvr +#: doc/guix.texi:3859 +msgid "" +"This variable is exported by @code{(guix build-system glib-or-gtk)}. It is " +"intended for use with packages making use of GLib or GTK+." +msgstr "" + +#. type: defvr +#: doc/guix.texi:3862 +msgid "" +"This build system adds the following two phases to the ones defined by " +"@var{gnu-build-system}:" +msgstr "" + +#. type: item +#: doc/guix.texi:3864 doc/guix.texi:4159 +#, no-wrap +msgid "glib-or-gtk-wrap" +msgstr "" + +#. type: table +#: doc/guix.texi:3871 +msgid "" +"The phase @code{glib-or-gtk-wrap} ensures that programs in @file{bin/} are " +"able to find GLib ``schemas'' and " +"@uref{https://developer.gnome.org/gtk3/stable/gtk-running.html, GTK+ " +"modules}. This is achieved by wrapping the programs in launch scripts that " +"appropriately set the @code{XDG_DATA_DIRS} and @code{GTK_PATH} environment " +"variables." +msgstr "" + +#. type: table +#: doc/guix.texi:3878 +msgid "" +"It is possible to exclude specific package outputs from that wrapping " +"process by listing their names in the " +"@code{#:glib-or-gtk-wrap-excluded-outputs} parameter. This is useful when " +"an output is known not to contain any GLib or GTK+ binaries, and where " +"wrapping would gratuitously add a dependency of that output on GLib and " +"GTK+." +msgstr "" + +#. type: item +#: doc/guix.texi:3879 doc/guix.texi:4163 +#, no-wrap +msgid "glib-or-gtk-compile-schemas" +msgstr "" + +#. type: table +#: doc/guix.texi:3887 +msgid "" +"The phase @code{glib-or-gtk-compile-schemas} makes sure that all " +"@uref{https://developer.gnome.org/gio/stable/glib-compile-schemas.html, " +"GSettings schemas} of GLib are compiled. Compilation is performed by the " +"@command{glib-compile-schemas} program. It is provided by the package " +"@code{glib:bin} which is automatically imported by the build system. The " +"@code{glib} package providing @command{glib-compile-schemas} can be " +"specified with the @code{#:glib} parameter." +msgstr "" + +#. type: defvr +#: doc/guix.texi:3890 +msgid "Both phases are executed after the @code{install} phase." +msgstr "" + +#. type: defvr +#: doc/guix.texi:3892 +#, no-wrap +msgid "{Scheme Variable} minify-build-system" +msgstr "" + +#. type: defvr +#: doc/guix.texi:3895 +msgid "" +"This variable is exported by @code{(guix build-system minify)}. It " +"implements a minification procedure for simple JavaScript packages." +msgstr "" + +#. type: defvr +#: doc/guix.texi:3901 +msgid "" +"It adds @code{uglify-js} to the set of inputs and uses it to compress all " +"JavaScript files in the @file{src} directory. A different minifier package " +"can be specified with the @code{#:uglify-js} parameter, but it is expected " +"that the package writes the minified code to the standard output." +msgstr "" + +#. type: defvr +#: doc/guix.texi:3905 +msgid "" +"When the input JavaScript files are not all located in the @file{src} " +"directory, the parameter @code{#:javascript-files} can be used to specify a " +"list of file names to feed to the minifier." +msgstr "" + +#. type: defvr +#: doc/guix.texi:3907 +#, no-wrap +msgid "{Scheme Variable} ocaml-build-system" +msgstr "" + +#. type: defvr +#: doc/guix.texi:3913 +msgid "" +"This variable is exported by @code{(guix build-system ocaml)}. It " +"implements a build procedure for @uref{https://ocaml.org, OCaml} packages, " +"which consists of choosing the correct set of commands to run for each " +"package. OCaml packages can expect many different commands to be run. This " +"build system will try some of them." +msgstr "" + +#. type: defvr +#: doc/guix.texi:3923 +msgid "" +"When the package has a @file{setup.ml} file present at the top-level, it " +"will run @code{ocaml setup.ml -configure}, @code{ocaml setup.ml -build} and " +"@code{ocaml setup.ml -install}. The build system will assume that this file " +"was generated by @uref{http://oasis.forge.ocamlcore.org/, OASIS} and will " +"take care of setting the prefix and enabling tests if they are not " +"disabled. You can pass configure and build flags with the " +"@code{#:configure-flags} and @code{#:build-flags}. The @code{#:test-flags} " +"key can be passed to change the set of flags used to enable tests. The " +"@code{#:use-make?} key can be used to bypass this system in the build and " +"install phases." +msgstr "" + +#. type: defvr +#: doc/guix.texi:3928 +msgid "" +"When the package has a @file{configure} file, it is assumed that it is a " +"hand-made configure script that requires a different argument format than in " +"the @code{gnu-build-system}. You can add more flags with the " +"@code{#:configure-flags} key." +msgstr "" + +#. type: defvr +#: doc/guix.texi:3932 +msgid "" +"When the package has a @file{Makefile} file (or @code{#:use-make?} is " +"@code{#t}), it will be used and more flags can be passed to the build and " +"install phases with the @code{#:make-flags} key." +msgstr "" + +#. type: defvr +#: doc/guix.texi:3940 +msgid "" +"Finally, some packages do not have these files and use a somewhat standard " +"location for its build system. In that case, the build system will run " +"@code{ocaml pkg/pkg.ml} or @code{ocaml pkg/build.ml} and take care of " +"providing the path to the required findlib module. Additional flags can be " +"passed via the @code{#:build-flags} key. Install is taken care of by " +"@command{opam-installer}. In this case, the @code{opam} package must be " +"added to the @code{native-inputs} field of the package definition." +msgstr "" + +#. type: defvr +#: doc/guix.texi:3948 +msgid "" +"Note that most OCaml packages assume they will be installed in the same " +"directory as OCaml, which is not what we want in guix. In particular, they " +"will install @file{.so} files in their module's directory, which is usually " +"fine because it is in the OCaml compiler directory. In guix though, these " +"libraries cannot be found and we use @code{CAML_LD_LIBRARY_PATH}. This " +"variable points to @file{lib/ocaml/site-lib/stubslibs} and this is where " +"@file{.so} libraries should be installed." +msgstr "" + +#. type: defvr +#: doc/guix.texi:3950 +#, no-wrap +msgid "{Scheme Variable} python-build-system" +msgstr "" + +#. type: defvr +#: doc/guix.texi:3955 +msgid "" +"This variable is exported by @code{(guix build-system python)}. It " +"implements the more or less standard build procedure used by Python " +"packages, which consists in running @code{python setup.py build} and then " +"@code{python setup.py install --prefix=/gnu/store/@dots{}}." +msgstr "" + +#. type: defvr +#: doc/guix.texi:3959 +msgid "" +"For packages that install stand-alone Python programs under @code{bin/}, it " +"takes care of wrapping these programs so that their @code{PYTHONPATH} " +"environment variable points to all the Python libraries they depend on." +msgstr "" + +#. type: defvr +#: doc/guix.texi:3965 +msgid "" +"Which Python package is used to perform the build can be specified with the " +"@code{#:python} parameter. This is a useful way to force a package to be " +"built for a specific version of the Python interpreter, which might be " +"necessary if the package is only compatible with a single interpreter " +"version." +msgstr "" + +#. type: defvr +#: doc/guix.texi:3970 +msgid "" +"By default guix calls @code{setup.py} under control of @code{setuptools}, " +"much like @command{pip} does. Some packages are not compatible with " +"setuptools (and pip), thus you can disable this by setting the " +"@code{#:use-setuptools} parameter to @code{#f}." +msgstr "" + +#. type: defvr +#: doc/guix.texi:3972 +#, no-wrap +msgid "{Scheme Variable} perl-build-system" +msgstr "" + +#. type: defvr +#: doc/guix.texi:3984 +msgid "" +"This variable is exported by @code{(guix build-system perl)}. It implements " +"the standard build procedure for Perl packages, which either consists in " +"running @code{perl Build.PL --prefix=/gnu/store/@dots{}}, followed by " +"@code{Build} and @code{Build install}; or in running @code{perl Makefile.PL " +"PREFIX=/gnu/store/@dots{}}, followed by @code{make} and @code{make install}, " +"depending on which of @code{Build.PL} or @code{Makefile.PL} is present in " +"the package distribution. Preference is given to the former if both " +"@code{Build.PL} and @code{Makefile.PL} exist in the package distribution. " +"This preference can be reversed by specifying @code{#t} for the " +"@code{#:make-maker?} parameter." +msgstr "" + +#. type: defvr +#: doc/guix.texi:3988 +msgid "" +"The initial @code{perl Makefile.PL} or @code{perl Build.PL} invocation " +"passes flags specified by the @code{#:make-maker-flags} or " +"@code{#:module-build-flags} parameter, respectively." +msgstr "" + +#. type: defvr +#: doc/guix.texi:3990 +msgid "Which Perl package is used can be specified with @code{#:perl}." +msgstr "" + +#. type: defvr +#: doc/guix.texi:3992 +#, no-wrap +msgid "{Scheme Variable} r-build-system" +msgstr "" + +#. type: defvr +#: doc/guix.texi:4000 +msgid "" +"This variable is exported by @code{(guix build-system r)}. It implements " +"the build procedure used by @uref{http://r-project.org, R} packages, which " +"essentially is little more than running @code{R CMD INSTALL " +"--library=/gnu/store/@dots{}} in an environment where @code{R_LIBS_SITE} " +"contains the paths to all R package inputs. Tests are run after " +"installation using the R function @code{tools::testInstalledPackage}." +msgstr "" + +#. type: defvr +#: doc/guix.texi:4002 +#, no-wrap +msgid "{Scheme Variable} texlive-build-system" +msgstr "" + +#. type: defvr +#: doc/guix.texi:4007 +msgid "" +"This variable is exported by @code{(guix build-system texlive)}. It is used " +"to build TeX packages in batch mode with a specified engine. The build " +"system sets the @code{TEXINPUTS} variable to find all TeX source files in " +"the inputs." +msgstr "" + +#. type: defvr +#: doc/guix.texi:4016 +msgid "" +"By default it runs @code{luatex} on all files ending on @code{ins}. A " +"different engine and format can be specified with the @code{#:tex-format} " +"argument. Different build targets can be specified with the " +"@code{#:build-targets} argument, which expects a list of file names. The " +"build system adds only @code{texlive-bin} and @code{texlive-latex-base} " +"(both from @code{(gnu packages tex}) to the inputs. Both can be overridden " +"with the arguments @code{#:texlive-bin} and @code{#:texlive-latex-base}, " +"respectively." +msgstr "" + +#. type: defvr +#: doc/guix.texi:4019 +msgid "" +"The @code{#:tex-directory} parameter tells the build system where to install " +"the built files under the texmf tree." +msgstr "" + +#. type: defvr +#: doc/guix.texi:4021 +#, no-wrap +msgid "{Scheme Variable} ruby-build-system" +msgstr "" + +#. type: defvr +#: doc/guix.texi:4025 +msgid "" +"This variable is exported by @code{(guix build-system ruby)}. It implements " +"the RubyGems build procedure used by Ruby packages, which involves running " +"@code{gem build} followed by @code{gem install}." +msgstr "" + +#. type: defvr +#: doc/guix.texi:4033 +msgid "" +"The @code{source} field of a package that uses this build system typically " +"references a gem archive, since this is the format that Ruby developers use " +"when releasing their software. The build system unpacks the gem archive, " +"potentially patches the source, runs the test suite, repackages the gem, and " +"installs it. Additionally, directories and tarballs may be referenced to " +"allow building unreleased gems from Git or a traditional source release " +"tarball." +msgstr "" + +#. type: defvr +#: doc/guix.texi:4037 +msgid "" +"Which Ruby package is used can be specified with the @code{#:ruby} " +"parameter. A list of additional flags to be passed to the @command{gem} " +"command can be specified with the @code{#:gem-flags} parameter." +msgstr "" + +#. type: defvr +#: doc/guix.texi:4039 +#, no-wrap +msgid "{Scheme Variable} waf-build-system" +msgstr "" + +#. type: defvr +#: doc/guix.texi:4045 +msgid "" +"This variable is exported by @code{(guix build-system waf)}. It implements " +"a build procedure around the @code{waf} script. The common " +"phases---@code{configure}, @code{build}, and @code{install}---are " +"implemented by passing their names as arguments to the @code{waf} script." +msgstr "" + +#. type: defvr +#: doc/guix.texi:4049 +msgid "" +"The @code{waf} script is executed by the Python interpreter. Which Python " +"package is used to run the script can be specified with the @code{#:python} " +"parameter." +msgstr "" + +#. type: defvr +#: doc/guix.texi:4051 +#, no-wrap +msgid "{Scheme Variable} scons-build-system" +msgstr "" + +#. type: defvr +#: doc/guix.texi:4057 +msgid "" +"This variable is exported by @code{(guix build-system scons)}. It " +"implements the build procedure used by the SCons software construction " +"tool. This build system runs @code{scons} to build the package, @code{scons " +"test} to run tests, and then @code{scons install} to install the package." +msgstr "" + +#. type: defvr +#: doc/guix.texi:4062 +msgid "" +"Additional flags to be passed to @code{scons} can be specified with the " +"@code{#:scons-flags} parameter. The version of Python used to run SCons can " +"be specified by selecting the appropriate SCons package with the " +"@code{#:scons} parameter." +msgstr "" + +#. type: defvr +#: doc/guix.texi:4064 +#, no-wrap +msgid "{Scheme Variable} haskell-build-system" +msgstr "" + +#. type: defvr +#: doc/guix.texi:4078 +msgid "" +"This variable is exported by @code{(guix build-system haskell)}. It " +"implements the Cabal build procedure used by Haskell packages, which " +"involves running @code{runhaskell Setup.hs configure " +"--prefix=/gnu/store/@dots{}} and @code{runhaskell Setup.hs build}. Instead " +"of installing the package by running @code{runhaskell Setup.hs install}, to " +"avoid trying to register libraries in the read-only compiler store " +"directory, the build system uses @code{runhaskell Setup.hs copy}, followed " +"by @code{runhaskell Setup.hs register}. In addition, the build system " +"generates the package documentation by running @code{runhaskell Setup.hs " +"haddock}, unless @code{#:haddock? #f} is passed. Optional Haddock " +"parameters can be passed with the help of the @code{#:haddock-flags} " +"parameter. If the file @code{Setup.hs} is not found, the build system looks " +"for @code{Setup.lhs} instead." +msgstr "" + +#. type: defvr +#: doc/guix.texi:4081 +msgid "" +"Which Haskell compiler is used can be specified with the @code{#:haskell} " +"parameter which defaults to @code{ghc}." +msgstr "" + +#. type: defvr +#: doc/guix.texi:4083 +#, no-wrap +msgid "{Scheme Variable} dub-build-system" +msgstr "" + +#. type: defvr +#: doc/guix.texi:4088 +msgid "" +"This variable is exported by @code{(guix build-system dub)}. It implements " +"the Dub build procedure used by D packages, which involves running @code{dub " +"build} and @code{dub run}. Installation is done by copying the files " +"manually." +msgstr "" + +#. type: defvr +#: doc/guix.texi:4091 +msgid "" +"Which D compiler is used can be specified with the @code{#:ldc} parameter " +"which defaults to @code{ldc}." +msgstr "" + +#. type: defvr +#: doc/guix.texi:4093 +#, no-wrap +msgid "{Scheme Variable} emacs-build-system" +msgstr "" + +#. type: defvr +#: doc/guix.texi:4097 +msgid "" +"This variable is exported by @code{(guix build-system emacs)}. It " +"implements an installation procedure similar to the packaging system of " +"Emacs itself (@pxref{Packages,,, emacs, The GNU Emacs Manual})." +msgstr "" + +#. type: defvr +#: doc/guix.texi:4104 +msgid "" +"It first creates the @code{@var{package}-autoloads.el} file, then it byte " +"compiles all Emacs Lisp files. Differently from the Emacs packaging system, " +"the Info documentation files are moved to the standard documentation " +"directory and the @file{dir} file is deleted. Each package is installed in " +"its own directory under @file{share/emacs/site-lisp/guix.d}." +msgstr "" + +#. type: defvr +#: doc/guix.texi:4106 +#, no-wrap +msgid "{Scheme Variable} font-build-system" +msgstr "" + +#. type: defvr +#: doc/guix.texi:4112 +msgid "" +"This variable is exported by @code{(guix build-system font)}. It implements " +"an installation procedure for font packages where upstream provides " +"pre-compiled TrueType, OpenType, etc. font files that merely need to be " +"copied into place. It copies font files to standard locations in the output " +"directory." +msgstr "" + +#. type: defvr +#: doc/guix.texi:4114 +#, no-wrap +msgid "{Scheme Variable} meson-build-system" +msgstr "" + +#. type: defvr +#: doc/guix.texi:4118 +msgid "" +"This variable is exported by @code{(guix build-system meson)}. It " +"implements the build procedure for packages that use " +"@url{http://mesonbuild.com, Meson} as their build system." +msgstr "" + +#. type: defvr +#: doc/guix.texi:4124 +msgid "" +"It adds both Meson and @uref{https://ninja-build.org/, Ninja} to the set of " +"inputs, and they can be changed with the parameters @code{#:meson} and " +"@code{#:ninja} if needed. The default Meson is @code{meson-for-build}, " +"which is special because it doesn't clear the @code{RUNPATH} of binaries and " +"libraries when they are installed." +msgstr "" + +#. type: defvr +#: doc/guix.texi:4127 +msgid "" +"This build system is an extension of @var{gnu-build-system}, but with the " +"following phases changed to some specific for Meson:" +msgstr "" + +#. type: table +#: doc/guix.texi:4134 +msgid "" +"The phase runs @code{meson} with the flags specified in " +"@code{#:configure-flags}. The flag @code{--build-type} is always set to " +"@code{plain} unless something else is specified in @code{#:build-type}." +msgstr "" + +#. type: table +#: doc/guix.texi:4138 +msgid "" +"The phase runs @code{ninja} to build the package in parallel by default, but " +"this can be changed with @code{#:parallel-build?}." +msgstr "" + +#. type: table +#: doc/guix.texi:4142 +msgid "" +"The phase runs @code{ninja} with the target specified in " +"@code{#:test-target}, which is @code{\"test\"} by default." +msgstr "" + +#. type: table +#: doc/guix.texi:4145 +msgid "The phase runs @code{ninja install} and can not be changed." +msgstr "" + +#. type: defvr +#: doc/guix.texi:4148 +msgid "Apart from that, the build system also adds the following phases:" +msgstr "" + +#. type: item +#: doc/guix.texi:4151 +#, no-wrap +msgid "fix-runpath" +msgstr "" + +#. type: table +#: doc/guix.texi:4158 +msgid "" +"This phase ensures that all binaries can find the libraries they need. It " +"searches for required libraries in subdirectories of the package being " +"built, and adds those to @code{RUNPATH} where needed. It also removes " +"references to libraries left over from the build phase by " +"@code{meson-for-build}, such as test dependencies, that aren't actually " +"required for the program to run." +msgstr "" + +#. type: table +#: doc/guix.texi:4162 doc/guix.texi:4166 +msgid "" +"This phase is the phase provided by @code{glib-or-gtk-build-system}, and it " +"is not enabled by default. It can be enabled with @code{#:glib-or-gtk?}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:4173 +msgid "" +"Lastly, for packages that do not need anything as sophisticated, a " +"``trivial'' build system is provided. It is trivial in the sense that it " +"provides basically no support: it does not pull any implicit inputs, and " +"does not have a notion of build phases." +msgstr "" + +#. type: defvr +#: doc/guix.texi:4174 +#, no-wrap +msgid "{Scheme Variable} trivial-build-system" +msgstr "" + +#. type: defvr +#: doc/guix.texi:4176 +msgid "This variable is exported by @code{(guix build-system trivial)}." +msgstr "" + +#. type: defvr +#: doc/guix.texi:4181 +msgid "" +"This build system requires a @code{#:builder} argument. This argument must " +"be a Scheme expression that builds the package output(s)---as with " +"@code{build-expression->derivation} (@pxref{Derivations, " +"@code{build-expression->derivation}})." +msgstr "" + +#. type: cindex +#: doc/guix.texi:4187 +#, no-wrap +msgid "store items" +msgstr "" + +#. type: cindex +#: doc/guix.texi:4188 +#, no-wrap +msgid "store paths" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:4199 +msgid "" +"Conceptually, the @dfn{store} is the place where derivations that have been " +"built successfully are stored---by default, @file{/gnu/store}. " +"Sub-directories in the store are referred to as @dfn{store items} or " +"sometimes @dfn{store paths}. The store has an associated database that " +"contains information such as the store paths referred to by each store path, " +"and the list of @emph{valid} store items---results of successful builds. " +"This database resides in @file{@var{localstatedir}/guix/db}, where " +"@var{localstatedir} is the state directory specified @i{via} " +"@option{--localstatedir} at configure time, usually @file{/var}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:4204 +msgid "" +"The store is @emph{always} accessed by the daemon on behalf of its clients " +"(@pxref{Invoking guix-daemon}). To manipulate the store, clients connect to " +"the daemon over a Unix-domain socket, send requests to it, and read the " +"result---these are remote procedure calls, or RPCs." +msgstr "" + +#. type: quotation +#: doc/guix.texi:4209 +msgid "" +"Users must @emph{never} modify files under @file{/gnu/store} directly. This " +"would lead to inconsistencies and break the immutability assumptions of " +"Guix's functional model (@pxref{Introduction})." +msgstr "" + +#. type: quotation +#: doc/guix.texi:4213 +msgid "" +"@xref{Invoking guix gc, @command{guix gc --verify}}, for information on how " +"to check the integrity of the store and attempt recovery from accidental " +"modifications." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:4220 +msgid "" +"The @code{(guix store)} module provides procedures to connect to the daemon, " +"and to perform RPCs. These are described below. By default, " +"@code{open-connection}, and thus all the @command{guix} commands, connect to " +"the local daemon or to the URI specified by the @code{GUIX_DAEMON_SOCKET} " +"environment variable." +msgstr "" + +#. type: defvr +#: doc/guix.texi:4221 +#, no-wrap +msgid "{Environment Variable} GUIX_DAEMON_SOCKET" +msgstr "" + +#. type: defvr +#: doc/guix.texi:4226 +msgid "" +"When set, the value of this variable should be a file name or a URI " +"designating the daemon endpoint. When it is a file name, it denotes a " +"Unix-domain socket to connect to. In addition to file names, the supported " +"URI schemes are:" +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:4228 doc/guix.texi:15361 +#, no-wrap +msgid "file" +msgstr "" + +#. type: itemx +#: doc/guix.texi:4229 +#, no-wrap +msgid "unix" +msgstr "" + +#. type: table +#: doc/guix.texi:4233 +msgid "" +"These are for Unix-domain sockets. " +"@code{file:///var/guix/daemon-socket/socket} is equivalent to " +"@file{/var/guix/daemon-socket/socket}." +msgstr "" + +#. type: item +#: doc/guix.texi:4234 +#, no-wrap +msgid "guix" +msgstr "" + +#. type: table +#: doc/guix.texi:4242 +msgid "" +"These URIs denote connections over TCP/IP, without encryption nor " +"authentication of the remote host. The URI must specify the host name and " +"optionally a port number (by default port 44146 is used):" +msgstr "" + +#. type: example +#: doc/guix.texi:4245 +#, no-wrap +msgid "guix://master.guix.example.org:1234\n" +msgstr "" + +#. type: table +#: doc/guix.texi:4250 +msgid "" +"This setup is suitable on local networks, such as clusters, where only " +"trusted nodes may connect to the build daemon at " +"@code{master.guix.example.org}." +msgstr "" + +#. type: table +#: doc/guix.texi:4254 +msgid "" +"The @code{--listen} option of @command{guix-daemon} can be used to instruct " +"it to listen for TCP connections (@pxref{Invoking guix-daemon, " +"@code{--listen}})." +msgstr "" + +#. type: item +#: doc/guix.texi:4255 +#, no-wrap +msgid "ssh" +msgstr "" + +#. type: cindex +#: doc/guix.texi:4256 +#, no-wrap +msgid "SSH access to build daemons" +msgstr "" + +#. type: table +#: doc/guix.texi:4260 +msgid "" +"These URIs allow you to connect to a remote daemon over SSH@footnote{This " +"feature requires Guile-SSH (@pxref{Requirements}).}. A typical URL might " +"look like this:" +msgstr "" + +#. type: example +#: doc/guix.texi:4263 +#, no-wrap +msgid "ssh://charlie@@guix.example.org:22\n" +msgstr "" + +#. type: table +#: doc/guix.texi:4267 +msgid "" +"As for @command{guix copy}, the usual OpenSSH client configuration files are " +"honored (@pxref{Invoking guix copy})." +msgstr "" + +#. type: defvr +#: doc/guix.texi:4270 +msgid "Additional URI schemes may be supported in the future." +msgstr "" + +#. type: quotation +#: doc/guix.texi:4277 +msgid "" +"The ability to connect to remote build daemons is considered experimental as " +"of @value{VERSION}. Please get in touch with us to share any problems or " +"suggestions you may have (@pxref{Contributing})." +msgstr "" + +#. type: deffn +#: doc/guix.texi:4280 +#, no-wrap +msgid "{Scheme Procedure} open-connection [@var{uri}] [#:reserve-space? #t]" +msgstr "" + +#. type: deffn +#: doc/guix.texi:4285 +msgid "" +"Connect to the daemon over the Unix-domain socket at @var{uri} (a string). " +"When @var{reserve-space?} is true, instruct it to reserve a little bit of " +"extra space on the file system so that the garbage collector can still " +"operate should the disk become full. Return a server object." +msgstr "" + +#. type: deffn +#: doc/guix.texi:4288 +msgid "" +"@var{file} defaults to @var{%default-socket-path}, which is the normal " +"location given the options that were passed to @command{configure}." +msgstr "" + +#. type: deffn +#: doc/guix.texi:4290 +#, no-wrap +msgid "{Scheme Procedure} close-connection @var{server}" +msgstr "" + +#. type: deffn +#: doc/guix.texi:4292 +msgid "Close the connection to @var{server}." +msgstr "" + +#. type: defvr +#: doc/guix.texi:4294 +#, no-wrap +msgid "{Scheme Variable} current-build-output-port" +msgstr "" + +#. type: defvr +#: doc/guix.texi:4297 +msgid "" +"This variable is bound to a SRFI-39 parameter, which refers to the port " +"where build and error logs sent by the daemon should be written." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:4301 +msgid "Procedures that make RPCs all take a server object as their first argument." +msgstr "" + +#. type: deffn +#: doc/guix.texi:4302 +#, no-wrap +msgid "{Scheme Procedure} valid-path? @var{server} @var{path}" +msgstr "" + +#. type: cindex +#: doc/guix.texi:4303 +#, no-wrap +msgid "invalid store items" +msgstr "" + +#. type: deffn +#: doc/guix.texi:4308 +msgid "" +"Return @code{#t} when @var{path} designates a valid store item and @code{#f} " +"otherwise (an invalid item may exist on disk but still be invalid, for " +"instance because it is the result of an aborted or failed build.)" +msgstr "" + +#. type: deffn +#: doc/guix.texi:4311 +msgid "" +"A @code{&nix-protocol-error} condition is raised if @var{path} is not " +"prefixed by the store directory (@file{/gnu/store})." +msgstr "" + +#. type: deffn +#: doc/guix.texi:4313 +#, no-wrap +msgid "" +"{Scheme Procedure} add-text-to-store @var{server} @var{name} @var{text} " +"[@var{references}]" +msgstr "" + +#. type: deffn +#: doc/guix.texi:4317 +msgid "" +"Add @var{text} under file @var{name} in the store, and return its store " +"path. @var{references} is the list of store paths referred to by the " +"resulting store path." +msgstr "" + +#. type: deffn +#: doc/guix.texi:4319 +#, no-wrap +msgid "{Scheme Procedure} build-derivations @var{server} @var{derivations}" +msgstr "" + +#. type: deffn +#: doc/guix.texi:4323 +msgid "" +"Build @var{derivations} (a list of @code{<derivation>} objects or derivation " +"paths), and return when the worker is done building them. Return @code{#t} " +"on success." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:4329 +msgid "" +"Note that the @code{(guix monads)} module provides a monad as well as " +"monadic versions of the above procedures, with the goal of making it more " +"convenient to work with code that accesses the store (@pxref{The Store " +"Monad})." +msgstr "" + +#. type: i{#1} +#: doc/guix.texi:4332 +msgid "This section is currently incomplete." +msgstr "" + +#. type: cindex +#: doc/guix.texi:4336 +#, no-wrap +msgid "derivations" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:4340 +msgid "" +"Low-level build actions and the environment in which they are performed are " +"represented by @dfn{derivations}. A derivation contains the following " +"pieces of information:" +msgstr "" + +#. type: itemize +#: doc/guix.texi:4345 +msgid "" +"The outputs of the derivation---derivations produce at least one file or " +"directory in the store, but may produce more." +msgstr "" + +#. type: itemize +#: doc/guix.texi:4349 +msgid "" +"The inputs of the derivations, which may be other derivations or plain files " +"in the store (patches, build scripts, etc.)" +msgstr "" + +#. type: itemize +#: doc/guix.texi:4352 +msgid "The system type targeted by the derivation---e.g., @code{x86_64-linux}." +msgstr "" + +#. type: itemize +#: doc/guix.texi:4356 +msgid "" +"The file name of a build script in the store, along with the arguments to be " +"passed." +msgstr "" + +#. type: itemize +#: doc/guix.texi:4359 +msgid "A list of environment variables to be defined." +msgstr "" + +#. type: cindex +#: doc/guix.texi:4362 +#, no-wrap +msgid "derivation path" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:4370 +msgid "" +"Derivations allow clients of the daemon to communicate build actions to the " +"store. They exist in two forms: as an in-memory representation, both on the " +"client- and daemon-side, and as files in the store whose name end in " +"@code{.drv}---these files are referred to as @dfn{derivation paths}. " +"Derivations paths can be passed to the @code{build-derivations} procedure to " +"perform the build actions they prescribe (@pxref{The Store})." +msgstr "" + +#. type: cindex +#: doc/guix.texi:4371 +#, no-wrap +msgid "fixed-output derivations" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:4378 +msgid "" +"Operations such as file downloads and version-control checkouts for which " +"the expected content hash is known in advance are modeled as " +"@dfn{fixed-output derivations}. Unlike regular derivations, the outputs of " +"a fixed-output derivation are independent of its inputs---e.g., a source " +"code download produces the same result regardless of the download method and " +"tools being used." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:4383 +msgid "" +"The @code{(guix derivations)} module provides a representation of " +"derivations as Scheme objects, along with procedures to create and otherwise " +"manipulate derivations. The lowest-level primitive to create a derivation " +"is the @code{derivation} procedure:" +msgstr "" + +#. type: deffn +#: doc/guix.texi:4384 +#, no-wrap +msgid "{Scheme Procedure} derivation @var{store} @var{name} @var{builder} @" +msgstr "" + +#. type: deffn +#: doc/guix.texi:4393 +msgid "" +"@var{args} [#:outputs '(\"out\")] [#:hash #f] [#:hash-algo #f] @ " +"[#:recursive? #f] [#:inputs '()] [#:env-vars '()] @ [#:system " +"(%current-system)] [#:references-graphs #f] @ [#:allowed-references #f] " +"[#:disallowed-references #f] @ [#:leaked-env-vars #f] [#:local-build? #f] @ " +"[#:substitutable? #t] Build a derivation with the given arguments, and " +"return the resulting @code{<derivation>} object." +msgstr "" + +#. type: deffn +#: doc/guix.texi:4400 +msgid "" +"When @var{hash} and @var{hash-algo} are given, a @dfn{fixed-output " +"derivation} is created---i.e., one whose result is known in advance, such as " +"a file download. If, in addition, @var{recursive?} is true, then that fixed " +"output may be an executable file or a directory and @var{hash} must be the " +"hash of an archive containing this output." +msgstr "" + +#. type: deffn +#: doc/guix.texi:4405 +msgid "" +"When @var{references-graphs} is true, it must be a list of file name/store " +"path pairs. In that case, the reference graph of each store path is " +"exported in the build environment in the corresponding file, in a simple " +"text format." +msgstr "" + +#. type: deffn +#: doc/guix.texi:4410 +msgid "" +"When @var{allowed-references} is true, it must be a list of store items or " +"outputs that the derivation's output may refer to. Likewise, " +"@var{disallowed-references}, if true, must be a list of things the outputs " +"may @emph{not} refer to." +msgstr "" + +#. type: deffn +#: doc/guix.texi:4417 +msgid "" +"When @var{leaked-env-vars} is true, it must be a list of strings denoting " +"environment variables that are allowed to ``leak'' from the daemon's " +"environment to the build environment. This is only applicable to " +"fixed-output derivations---i.e., when @var{hash} is true. The main use is " +"to allow variables such as @code{http_proxy} to be passed to derivations " +"that download files." +msgstr "" + +#. type: deffn +#: doc/guix.texi:4422 +msgid "" +"When @var{local-build?} is true, declare that the derivation is not a good " +"candidate for offloading and should rather be built locally (@pxref{Daemon " +"Offload Setup}). This is the case for small derivations where the costs of " +"data transfers would outweigh the benefits." +msgstr "" + +#. type: deffn +#: doc/guix.texi:4427 +msgid "" +"When @var{substitutable?} is false, declare that substitutes of the " +"derivation's output should not be used (@pxref{Substitutes}). This is " +"useful, for instance, when building packages that capture details of the " +"host CPU instruction set." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:4433 +msgid "" +"Here's an example with a shell script as its builder, assuming @var{store} " +"is an open connection to the daemon, and @var{bash} points to a Bash " +"executable in the store:" +msgstr "" + +#. type: lisp +#: doc/guix.texi:4438 +#, no-wrap +msgid "" +"(use-modules (guix utils)\n" +" (guix store)\n" +" (guix derivations))\n" +"\n" +msgstr "" + +#. type: lisp +#: doc/guix.texi:4447 +#, no-wrap +msgid "" +"(let ((builder ; add the Bash script to the store\n" +" (add-text-to-store store \"my-builder.sh\"\n" +" \"echo hello world > $out\\n\" '())))\n" +" (derivation store \"foo\"\n" +" bash `(\"-e\" ,builder)\n" +" #:inputs `((,bash) (,builder))\n" +" #:env-vars '((\"HOME\" . \"/homeless\"))))\n" +"@result{} #<derivation /gnu/store/@dots{}-foo.drv => " +"/gnu/store/@dots{}-foo>\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:4454 +msgid "" +"As can be guessed, this primitive is cumbersome to use directly. A better " +"approach is to write build scripts in Scheme, of course! The best course of " +"action for that is to write the build code as a ``G-expression'', and to " +"pass it to @code{gexp->derivation}. For more information, " +"@pxref{G-Expressions}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:4459 +msgid "" +"Once upon a time, @code{gexp->derivation} did not exist and constructing " +"derivations with build code written in Scheme was achieved with " +"@code{build-expression->derivation}, documented below. This procedure is " +"now deprecated in favor of the much nicer @code{gexp->derivation}." +msgstr "" + +#. type: deffn +#: doc/guix.texi:4460 +#, no-wrap +msgid "{Scheme Procedure} build-expression->derivation @var{store} @" +msgstr "" + +#. type: deffn +#: doc/guix.texi:4476 +msgid "" +"@var{name} @var{exp} @ [#:system (%current-system)] [#:inputs '()] @ " +"[#:outputs '(\"out\")] [#:hash #f] [#:hash-algo #f] @ [#:recursive? #f] " +"[#:env-vars '()] [#:modules '()] @ [#:references-graphs #f] " +"[#:allowed-references #f] @ [#:disallowed-references #f] @ [#:local-build? " +"#f] [#:substitutable? #t] [#:guile-for-build #f] Return a derivation that " +"executes Scheme expression @var{exp} as a builder for derivation " +"@var{name}. @var{inputs} must be a list of @code{(name drv-path sub-drv)} " +"tuples; when @var{sub-drv} is omitted, @code{\"out\"} is assumed. " +"@var{modules} is a list of names of Guile modules from the current search " +"path to be copied in the store, compiled, and made available in the load " +"path during the execution of @var{exp}---e.g., @code{((guix build utils) " +"(guix build gnu-build-system))}." +msgstr "" + +#. type: deffn +#: doc/guix.texi:4484 +msgid "" +"@var{exp} is evaluated in an environment where @code{%outputs} is bound to a " +"list of output/path pairs, and where @code{%build-inputs} is bound to a list " +"of string/output-path pairs made from @var{inputs}. Optionally, " +"@var{env-vars} is a list of string pairs specifying the name and value of " +"environment variables visible to the builder. The builder terminates by " +"passing the result of @var{exp} to @code{exit}; thus, when @var{exp} returns " +"@code{#f}, the build is considered to have failed." +msgstr "" + +#. type: deffn +#: doc/guix.texi:4488 +msgid "" +"@var{exp} is built using @var{guile-for-build} (a derivation). When " +"@var{guile-for-build} is omitted or is @code{#f}, the value of the " +"@code{%guile-for-build} fluid is used instead." +msgstr "" + +#. type: deffn +#: doc/guix.texi:4493 +msgid "" +"See the @code{derivation} procedure for the meaning of " +"@var{references-graphs}, @var{allowed-references}, " +"@var{disallowed-references}, @var{local-build?}, and @var{substitutable?}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:4498 +msgid "" +"Here's an example of a single-output derivation that creates a directory " +"containing one file:" +msgstr "" + +#. type: lisp +#: doc/guix.texi:4506 +#, no-wrap +msgid "" +"(let ((builder '(let ((out (assoc-ref %outputs \"out\")))\n" +" (mkdir out) ; create /gnu/store/@dots{}-goo\n" +" (call-with-output-file (string-append out \"/test\")\n" +" (lambda (p)\n" +" (display '(hello guix) p))))))\n" +" (build-expression->derivation store \"goo\" builder))\n" +"\n" +msgstr "" + +#. type: lisp +#: doc/guix.texi:4508 +#, no-wrap +msgid "@result{} #<derivation /gnu/store/@dots{}-goo.drv => @dots{}>\n" +msgstr "" + +#. type: cindex +#: doc/guix.texi:4514 +#, no-wrap +msgid "monad" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:4520 +msgid "" +"The procedures that operate on the store described in the previous sections " +"all take an open connection to the build daemon as their first argument. " +"Although the underlying model is functional, they either have side effects " +"or depend on the current state of the store." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:4526 +msgid "" +"The former is inconvenient: the connection to the build daemon has to be " +"carried around in all those functions, making it impossible to compose " +"functions that do not take that parameter with functions that do. The " +"latter can be problematic: since store operations have side effects and/or " +"depend on external state, they have to be properly sequenced." +msgstr "" + +#. type: cindex +#: doc/guix.texi:4527 +#, no-wrap +msgid "monadic values" +msgstr "" + +#. type: cindex +#: doc/guix.texi:4528 +#, no-wrap +msgid "monadic functions" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:4538 +msgid "" +"This is where the @code{(guix monads)} module comes in. This module " +"provides a framework for working with @dfn{monads}, and a particularly " +"useful monad for our uses, the @dfn{store monad}. Monads are a construct " +"that allows two things: associating ``context'' with values (in our case, " +"the context is the store), and building sequences of computations (here " +"computations include accesses to the store). Values in a monad---values " +"that carry this additional context---are called @dfn{monadic values}; " +"procedures that return such values are called @dfn{monadic procedures}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:4540 +msgid "Consider this ``normal'' procedure:" +msgstr "" + +#. type: example +#: doc/guix.texi:4549 +#, no-wrap +msgid "" +"(define (sh-symlink store)\n" +" ;; Return a derivation that symlinks the 'bash' executable.\n" +" (let* ((drv (package-derivation store bash))\n" +" (out (derivation->output-path drv))\n" +" (sh (string-append out \"/bin/bash\")))\n" +" (build-expression->derivation store \"sh\"\n" +" `(symlink ,sh %output))))\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:4553 +msgid "" +"Using @code{(guix monads)} and @code{(guix gexp)}, it may be rewritten as a " +"monadic function:" +msgstr "" + +#. type: example +#: doc/guix.texi:4561 +#, no-wrap +msgid "" +"(define (sh-symlink)\n" +" ;; Same, but return a monadic value.\n" +" (mlet %store-monad ((drv (package->derivation bash)))\n" +" (gexp->derivation \"sh\"\n" +" #~(symlink (string-append #$drv \"/bin/bash\")\n" +" #$output))))\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:4568 +msgid "" +"There are several things to note in the second version: the @code{store} " +"parameter is now implicit and is ``threaded'' in the calls to the " +"@code{package->derivation} and @code{gexp->derivation} monadic procedures, " +"and the monadic value returned by @code{package->derivation} is @dfn{bound} " +"using @code{mlet} instead of plain @code{let}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:4572 +msgid "" +"As it turns out, the call to @code{package->derivation} can even be omitted " +"since it will take place implicitly, as we will see later " +"(@pxref{G-Expressions}):" +msgstr "" + +#. type: example +#: doc/guix.texi:4578 +#, no-wrap +msgid "" +"(define (sh-symlink)\n" +" (gexp->derivation \"sh\"\n" +" #~(symlink (string-append #$bash \"/bin/bash\")\n" +" #$output)))\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:4587 +msgid "" +"Calling the monadic @code{sh-symlink} has no effect. As someone once said, " +"``you exit a monad like you exit a building on fire: by running''. So, to " +"exit the monad and get the desired effect, one must use " +"@code{run-with-store}:" +msgstr "" + +#. type: example +#: doc/guix.texi:4591 +#, no-wrap +msgid "" +"(run-with-store (open-connection) (sh-symlink))\n" +"@result{} /gnu/store/...-sh-symlink\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:4597 +msgid "" +"Note that the @code{(guix monad-repl)} module extends the Guile REPL with " +"new ``meta-commands'' to make it easier to deal with monadic procedures: " +"@code{run-in-store}, and @code{enter-store-monad}. The former is used to " +"``run'' a single monadic value through the store:" +msgstr "" + +#. type: example +#: doc/guix.texi:4601 +#, no-wrap +msgid "" +"scheme@@(guile-user)> ,run-in-store (package->derivation hello)\n" +"$1 = #<derivation /gnu/store/@dots{}-hello-2.9.drv => @dots{}>\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:4605 +msgid "" +"The latter enters a recursive REPL, where all the return values are " +"automatically run through the store:" +msgstr "" + +#. type: example +#: doc/guix.texi:4614 +#, no-wrap +msgid "" +"scheme@@(guile-user)> ,enter-store-monad\n" +"store-monad@@(guile-user) [1]> (package->derivation hello)\n" +"$2 = #<derivation /gnu/store/@dots{}-hello-2.9.drv => @dots{}>\n" +"store-monad@@(guile-user) [1]> (text-file \"foo\" \"Hello!\")\n" +"$3 = \"/gnu/store/@dots{}-foo\"\n" +"store-monad@@(guile-user) [1]> ,q\n" +"scheme@@(guile-user)>\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:4619 +msgid "" +"Note that non-monadic values cannot be returned in the @code{store-monad} " +"REPL." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:4622 +msgid "" +"The main syntactic forms to deal with monads in general are provided by the " +"@code{(guix monads)} module and are described below." +msgstr "" + +#. type: deffn +#: doc/guix.texi:4623 +#, no-wrap +msgid "{Scheme Syntax} with-monad @var{monad} @var{body} ..." +msgstr "" + +#. type: deffn +#: doc/guix.texi:4626 +msgid "" +"Evaluate any @code{>>=} or @code{return} forms in @var{body} as being in " +"@var{monad}." +msgstr "" + +#. type: deffn +#: doc/guix.texi:4628 +#, no-wrap +msgid "{Scheme Syntax} return @var{val}" +msgstr "" + +#. type: deffn +#: doc/guix.texi:4630 +msgid "Return a monadic value that encapsulates @var{val}." +msgstr "" + +#. type: deffn +#: doc/guix.texi:4632 +#, no-wrap +msgid "{Scheme Syntax} >>= @var{mval} @var{mproc} ..." +msgstr "" + +#. type: deffn +#: doc/guix.texi:4639 +msgid "" +"@dfn{Bind} monadic value @var{mval}, passing its ``contents'' to monadic " +"procedures @var{mproc}@dots{}@footnote{This operation is commonly referred " +"to as ``bind'', but that name denotes an unrelated procedure in Guile. Thus " +"we use this somewhat cryptic symbol inherited from the Haskell language.}. " +"There can be one @var{mproc} or several of them, as in this example:" +msgstr "" + +#. type: example +#: doc/guix.texi:4647 +#, no-wrap +msgid "" +"(run-with-state\n" +" (with-monad %state-monad\n" +" (>>= (return 1)\n" +" (lambda (x) (return (+ 1 x)))\n" +" (lambda (x) (return (* 2 x)))))\n" +" 'some-state)\n" +"\n" +msgstr "" + +#. type: example +#: doc/guix.texi:4650 +#, no-wrap +msgid "" +"@result{} 4\n" +"@result{} some-state\n" +msgstr "" + +#. type: deffn +#: doc/guix.texi:4653 +#, no-wrap +msgid "{Scheme Syntax} mlet @var{monad} ((@var{var} @var{mval}) ...) @" +msgstr "" + +#. type: deffn +#: doc/guix.texi:4655 +msgid "@var{body} ..." +msgstr "" + +#. type: deffnx +#: doc/guix.texi:4655 +#, no-wrap +msgid "{Scheme Syntax} mlet* @var{monad} ((@var{var} @var{mval}) ...) @" +msgstr "" + +#. type: deffn +#: doc/guix.texi:4667 +msgid "" +"@var{body} ... Bind the variables @var{var} to the monadic values " +"@var{mval} in @var{body}, which is a sequence of expressions. As with the " +"bind operator, this can be thought of as ``unpacking'' the raw, non-monadic " +"value ``contained'' in @var{mval} and making @var{var} refer to that raw, " +"non-monadic value within the scope of the @var{body}. The form (@var{var} " +"-> @var{val}) binds @var{var} to the ``normal'' value @var{val}, as per " +"@code{let}. The binding operations occur in sequence from left to right. " +"The last expression of @var{body} must be a monadic expression, and its " +"result will become the result of the @code{mlet} or @code{mlet*} when run in " +"the @var{monad}." +msgstr "" + +#. type: deffn +#: doc/guix.texi:4670 +msgid "" +"@code{mlet*} is to @code{mlet} what @code{let*} is to @code{let} " +"(@pxref{Local Bindings,,, guile, GNU Guile Reference Manual})." +msgstr "" + +#. type: deffn +#: doc/guix.texi:4672 +#, no-wrap +msgid "{Scheme System} mbegin @var{monad} @var{mexp} ..." +msgstr "" + +#. type: deffn +#: doc/guix.texi:4676 +msgid "" +"Bind @var{mexp} and the following monadic expressions in sequence, returning " +"the result of the last expression. Every expression in the sequence must be " +"a monadic expression." +msgstr "" + +#. type: deffn +#: doc/guix.texi:4680 +msgid "" +"This is akin to @code{mlet}, except that the return values of the monadic " +"expressions are ignored. In that sense, it is analogous to @code{begin}, " +"but applied to monadic expressions." +msgstr "" + +#. type: deffn +#: doc/guix.texi:4682 +#, no-wrap +msgid "{Scheme System} mwhen @var{condition} @var{mexp0} @var{mexp*} ..." +msgstr "" + +#. type: deffn +#: doc/guix.texi:4687 +msgid "" +"When @var{condition} is true, evaluate the sequence of monadic expressions " +"@var{mexp0}..@var{mexp*} as in an @code{mbegin}. When @var{condition} is " +"false, return @code{*unspecified*} in the current monad. Every expression " +"in the sequence must be a monadic expression." +msgstr "" + +#. type: deffn +#: doc/guix.texi:4689 +#, no-wrap +msgid "{Scheme System} munless @var{condition} @var{mexp0} @var{mexp*} ..." +msgstr "" + +#. type: deffn +#: doc/guix.texi:4694 +msgid "" +"When @var{condition} is false, evaluate the sequence of monadic expressions " +"@var{mexp0}..@var{mexp*} as in an @code{mbegin}. When @var{condition} is " +"true, return @code{*unspecified*} in the current monad. Every expression in " +"the sequence must be a monadic expression." +msgstr "" + +#. type: cindex +#: doc/guix.texi:4696 +#, no-wrap +msgid "state monad" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:4700 +msgid "" +"The @code{(guix monads)} module provides the @dfn{state monad}, which allows " +"an additional value---the state---to be @emph{threaded} through monadic " +"procedure calls." +msgstr "" + +#. type: defvr +#: doc/guix.texi:4701 +#, no-wrap +msgid "{Scheme Variable} %state-monad" +msgstr "" + +#. type: defvr +#: doc/guix.texi:4704 +msgid "" +"The state monad. Procedures in the state monad can access and change the " +"state that is threaded." +msgstr "" + +#. type: defvr +#: doc/guix.texi:4708 +msgid "" +"Consider the example below. The @code{square} procedure returns a value in " +"the state monad. It returns the square of its argument, but also increments " +"the current state value:" +msgstr "" + +#. type: example +#: doc/guix.texi:4715 +#, no-wrap +msgid "" +"(define (square x)\n" +" (mlet %state-monad ((count (current-state)))\n" +" (mbegin %state-monad\n" +" (set-current-state (+ 1 count))\n" +" (return (* x x)))))\n" +"\n" +msgstr "" + +#. type: example +#: doc/guix.texi:4719 +#, no-wrap +msgid "" +"(run-with-state (sequence %state-monad (map square (iota 3))) 0)\n" +"@result{} (0 1 4)\n" +"@result{} 3\n" +msgstr "" + +#. type: defvr +#: doc/guix.texi:4723 +msgid "" +"When ``run'' through @var{%state-monad}, we obtain that additional state " +"value, which is the number of @code{square} calls." +msgstr "" + +#. type: deffn +#: doc/guix.texi:4725 +#, no-wrap +msgid "{Monadic Procedure} current-state" +msgstr "" + +#. type: deffn +#: doc/guix.texi:4727 +msgid "Return the current state as a monadic value." +msgstr "" + +#. type: deffn +#: doc/guix.texi:4729 +#, no-wrap +msgid "{Monadic Procedure} set-current-state @var{value}" +msgstr "" + +#. type: deffn +#: doc/guix.texi:4732 +msgid "" +"Set the current state to @var{value} and return the previous state as a " +"monadic value." +msgstr "" + +#. type: deffn +#: doc/guix.texi:4734 +#, no-wrap +msgid "{Monadic Procedure} state-push @var{value}" +msgstr "" + +#. type: deffn +#: doc/guix.texi:4737 +msgid "" +"Push @var{value} to the current state, which is assumed to be a list, and " +"return the previous state as a monadic value." +msgstr "" + +#. type: deffn +#: doc/guix.texi:4739 +#, no-wrap +msgid "{Monadic Procedure} state-pop" +msgstr "" + +#. type: deffn +#: doc/guix.texi:4742 +msgid "" +"Pop a value from the current state and return it as a monadic value. The " +"state is assumed to be a list." +msgstr "" + +#. type: deffn +#: doc/guix.texi:4744 +#, no-wrap +msgid "{Scheme Procedure} run-with-state @var{mval} [@var{state}]" +msgstr "" + +#. type: deffn +#: doc/guix.texi:4747 +msgid "" +"Run monadic value @var{mval} starting with @var{state} as the initial " +"state. Return two values: the resulting value, and the resulting state." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:4751 +msgid "" +"The main interface to the store monad, provided by the @code{(guix store)} " +"module, is as follows." +msgstr "" + +#. type: defvr +#: doc/guix.texi:4752 +#, no-wrap +msgid "{Scheme Variable} %store-monad" +msgstr "" + +#. type: defvr +#: doc/guix.texi:4754 +msgid "The store monad---an alias for @var{%state-monad}." +msgstr "" + +#. type: defvr +#: doc/guix.texi:4758 +msgid "" +"Values in the store monad encapsulate accesses to the store. When its " +"effect is needed, a value of the store monad must be ``evaluated'' by " +"passing it to the @code{run-with-store} procedure (see below.)" +msgstr "" + +#. type: deffn +#: doc/guix.texi:4760 +#, no-wrap +msgid "" +"{Scheme Procedure} run-with-store @var{store} @var{mval} [#:guile-for-build] " +"[#:system (%current-system)]" +msgstr "" + +#. type: deffn +#: doc/guix.texi:4763 +msgid "" +"Run @var{mval}, a monadic value in the store monad, in @var{store}, an open " +"store connection." +msgstr "" + +#. type: deffn +#: doc/guix.texi:4765 +#, no-wrap +msgid "{Monadic Procedure} text-file @var{name} @var{text} [@var{references}]" +msgstr "" + +#. type: deffn +#: doc/guix.texi:4769 +msgid "" +"Return as a monadic value the absolute file name in the store of the file " +"containing @var{text}, a string. @var{references} is a list of store items " +"that the resulting text file refers to; it defaults to the empty list." +msgstr "" + +#. type: deffn +#: doc/guix.texi:4771 +#, no-wrap +msgid "{Monadic Procedure} interned-file @var{file} [@var{name}] @" +msgstr "" + +#. type: deffn +#: doc/guix.texi:4776 +msgid "" +"[#:recursive? #t] [#:select? (const #t)] Return the name of @var{file} once " +"interned in the store. Use @var{name} as its store name, or the basename of " +"@var{file} if @var{name} is omitted." +msgstr "" + +#. type: deffn +#: doc/guix.texi:4780 doc/guix.texi:5159 +msgid "" +"When @var{recursive?} is true, the contents of @var{file} are added " +"recursively; if @var{file} designates a flat file and @var{recursive?} is " +"true, its contents are added, and its permission bits are kept." +msgstr "" + +#. type: deffn +#: doc/guix.texi:4785 doc/guix.texi:5164 +msgid "" +"When @var{recursive?} is true, call @code{(@var{select?} @var{file} " +"@var{stat})} for each directory entry, where @var{file} is the entry's " +"absolute file name and @var{stat} is the result of @code{lstat}; exclude " +"entries for which @var{select?} does not return true." +msgstr "" + +#. type: deffn +#: doc/guix.texi:4787 +msgid "The example below adds a file to the store, under two different names:" +msgstr "" + +#. type: example +#: doc/guix.texi:4793 +#, no-wrap +msgid "" +"(run-with-store (open-connection)\n" +" (mlet %store-monad ((a (interned-file \"README\"))\n" +" (b (interned-file \"README\" \"LEGU-MIN\")))\n" +" (return (list a b))))\n" +"\n" +msgstr "" + +#. type: example +#: doc/guix.texi:4795 +#, no-wrap +msgid "" +"@result{} (\"/gnu/store/rwm@dots{}-README\" " +"\"/gnu/store/44i@dots{}-LEGU-MIN\")\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:4801 +msgid "" +"The @code{(guix packages)} module exports the following package-related " +"monadic procedures:" +msgstr "" + +#. type: deffn +#: doc/guix.texi:4802 +#, no-wrap +msgid "{Monadic Procedure} package-file @var{package} [@var{file}] @" +msgstr "" + +#. type: deffn +#: doc/guix.texi:4810 +msgid "" +"[#:system (%current-system)] [#:target #f] @ [#:output \"out\"] Return as a " +"monadic value in the absolute file name of @var{file} within the " +"@var{output} directory of @var{package}. When @var{file} is omitted, return " +"the name of the @var{output} directory of @var{package}. When @var{target} " +"is true, use it as a cross-compilation target triplet." +msgstr "" + +#. type: deffn +#: doc/guix.texi:4812 +#, no-wrap +msgid "{Monadic Procedure} package->derivation @var{package} [@var{system}]" +msgstr "" + +#. type: deffnx +#: doc/guix.texi:4813 +#, no-wrap +msgid "{Monadic Procedure} package->cross-derivation @var{package} @" +msgstr "" + +#. type: deffn +#: doc/guix.texi:4817 +msgid "" +"@var{target} [@var{system}] Monadic version of @code{package-derivation} and " +"@code{package-cross-derivation} (@pxref{Defining Packages})." +msgstr "" + +#. type: cindex +#: doc/guix.texi:4823 +#, no-wrap +msgid "G-expression" +msgstr "" + +#. type: cindex +#: doc/guix.texi:4824 +#, no-wrap +msgid "build code quoting" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:4830 +msgid "" +"So we have ``derivations'', which represent a sequence of build actions to " +"be performed to produce an item in the store (@pxref{Derivations}). These " +"build actions are performed when asking the daemon to actually build the " +"derivations; they are run by the daemon in a container (@pxref{Invoking " +"guix-daemon})." +msgstr "" + +#. type: cindex +#: doc/guix.texi:4831 +#, no-wrap +msgid "strata of code" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:4843 +msgid "" +"It should come as no surprise that we like to write these build actions in " +"Scheme. When we do that, we end up with two @dfn{strata} of Scheme " +"code@footnote{The term @dfn{stratum} in this context was coined by Manuel " +"Serrano et al.@: in the context of their work on Hop. Oleg Kiselyov, who " +"has written insightful " +"@url{http://okmij.org/ftp/meta-programming/#meta-scheme, essays and code on " +"this topic}, refers to this kind of code generation as @dfn{staging}.}: the " +"``host code''---code that defines packages, talks to the daemon, etc.---and " +"the ``build code''---code that actually performs build actions, such as " +"making directories, invoking @command{make}, etc." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:4850 +msgid "" +"To describe a derivation and its build actions, one typically needs to embed " +"build code inside host code. It boils down to manipulating build code as " +"data, and the homoiconicity of Scheme---code has a direct representation as " +"data---comes in handy for that. But we need more than the normal " +"@code{quasiquote} mechanism in Scheme to construct build expressions." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:4859 +msgid "" +"The @code{(guix gexp)} module implements @dfn{G-expressions}, a form of " +"S-expressions adapted to build expressions. G-expressions, or @dfn{gexps}, " +"consist essentially of three syntactic forms: @code{gexp}, @code{ungexp}, " +"and @code{ungexp-splicing} (or simply: @code{#~}, @code{#$}, and " +"@code{#$@@}), which are comparable to @code{quasiquote}, @code{unquote}, and " +"@code{unquote-splicing}, respectively (@pxref{Expression Syntax, " +"@code{quasiquote},, guile, GNU Guile Reference Manual}). However, there are " +"major differences:" +msgstr "" + +#. type: itemize +#: doc/guix.texi:4864 +msgid "" +"Gexps are meant to be written to a file and run or manipulated by other " +"processes." +msgstr "" + +#. type: itemize +#: doc/guix.texi:4869 +msgid "" +"When a high-level object such as a package or derivation is unquoted inside " +"a gexp, the result is as if its output file name had been introduced." +msgstr "" + +#. type: itemize +#: doc/guix.texi:4874 +msgid "" +"Gexps carry information about the packages or derivations they refer to, and " +"these dependencies are automatically added as inputs to the build processes " +"that use them." +msgstr "" + +#. type: cindex +#: doc/guix.texi:4876 doc/guix.texi:5346 +#, no-wrap +msgid "lowering, of high-level objects in gexps" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:4886 +msgid "" +"This mechanism is not limited to package and derivation objects: " +"@dfn{compilers} able to ``lower'' other high-level objects to derivations or " +"files in the store can be defined, such that these objects can also be " +"inserted into gexps. For example, a useful type of high-level objects that " +"can be inserted in a gexp is ``file-like objects'', which make it easy to " +"add files to the store and to refer to them in derivations and such (see " +"@code{local-file} and @code{plain-file} below.)" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:4888 +msgid "To illustrate the idea, here is an example of a gexp:" +msgstr "" + +#. type: example +#: doc/guix.texi:4896 +#, no-wrap +msgid "" +"(define build-exp\n" +" #~(begin\n" +" (mkdir #$output)\n" +" (chdir #$output)\n" +" (symlink (string-append #$coreutils \"/bin/ls\")\n" +" \"list-files\")))\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:4901 +msgid "" +"This gexp can be passed to @code{gexp->derivation}; we obtain a derivation " +"that builds a directory containing exactly one symlink to " +"@file{/gnu/store/@dots{}-coreutils-8.22/bin/ls}:" +msgstr "" + +#. type: example +#: doc/guix.texi:4904 +#, no-wrap +msgid "(gexp->derivation \"the-thing\" build-exp)\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:4912 +msgid "" +"As one would expect, the @code{\"/gnu/store/@dots{}-coreutils-8.22\"} string " +"is substituted to the reference to the @var{coreutils} package in the actual " +"build code, and @var{coreutils} is automatically made an input to the " +"derivation. Likewise, @code{#$output} (equivalent to @code{(ungexp " +"output)}) is replaced by a string containing the directory name of the " +"output of the derivation." +msgstr "" + +#. type: cindex +#: doc/guix.texi:4913 +#, no-wrap +msgid "cross compilation" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:4919 +msgid "" +"In a cross-compilation context, it is useful to distinguish between " +"references to the @emph{native} build of a package---that can run on the " +"host---versus references to cross builds of a package. To that end, the " +"@code{#+} plays the same role as @code{#$}, but is a reference to a native " +"package build:" +msgstr "" + +#. type: example +#: doc/guix.texi:4929 +#, no-wrap +msgid "" +"(gexp->derivation \"vi\"\n" +" #~(begin\n" +" (mkdir #$output)\n" +" (system* (string-append #+coreutils \"/bin/ln\")\n" +" \"-s\"\n" +" (string-append #$emacs \"/bin/emacs\")\n" +" (string-append #$output \"/bin/vi\")))\n" +" #:target \"mips64el-linux-gnu\")\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:4935 +msgid "" +"In the example above, the native build of @var{coreutils} is used, so that " +"@command{ln} can actually run on the host; but then the cross-compiled build " +"of @var{emacs} is referenced." +msgstr "" + +#. type: cindex +#: doc/guix.texi:4936 +#, no-wrap +msgid "imported modules, for gexps" +msgstr "" + +#. type: findex +#: doc/guix.texi:4937 +#, no-wrap +msgid "with-imported-modules" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:4942 +msgid "" +"Another gexp feature is @dfn{imported modules}: sometimes you want to be " +"able to use certain Guile modules from the ``host environment'' in the gexp, " +"so those modules should be imported in the ``build environment''. The " +"@code{with-imported-modules} form allows you to express that:" +msgstr "" + +#. type: example +#: doc/guix.texi:4953 +#, no-wrap +msgid "" +"(let ((build (with-imported-modules '((guix build utils))\n" +" #~(begin\n" +" (use-modules (guix build utils))\n" +" (mkdir-p (string-append #$output \"/bin\"))))))\n" +" (gexp->derivation \"empty-dir\"\n" +" #~(begin\n" +" #$build\n" +" (display \"success!\\n\")\n" +" #t)))\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:4959 +msgid "" +"In this example, the @code{(guix build utils)} module is automatically " +"pulled into the isolated build environment of our gexp, such that " +"@code{(use-modules (guix build utils))} works as expected." +msgstr "" + +#. type: cindex +#: doc/guix.texi:4960 +#, no-wrap +msgid "module closure" +msgstr "" + +#. type: findex +#: doc/guix.texi:4961 +#, no-wrap +msgid "source-module-closure" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:4968 +msgid "" +"Usually you want the @emph{closure} of the module to be imported---i.e., the " +"module itself and all the modules it depends on---rather than just the " +"module; failing to do that, attempts to use the module will fail because of " +"missing dependent modules. The @code{source-module-closure} procedure " +"computes the closure of a module by looking at its source file headers, " +"which comes in handy in this case:" +msgstr "" + +#. type: example +#: doc/guix.texi:4971 +#, no-wrap +msgid "" +"(use-modules (guix modules)) ;for 'source-module-closure'\n" +"\n" +msgstr "" + +#. type: example +#: doc/guix.texi:4980 +#, no-wrap +msgid "" +"(with-imported-modules (source-module-closure\n" +" '((guix build utils)\n" +" (gnu build vm)))\n" +" (gexp->derivation \"something-with-vms\"\n" +" #~(begin\n" +" (use-modules (guix build utils)\n" +" (gnu build vm))\n" +" @dots{})))\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:4983 +msgid "The syntactic form to construct gexps is summarized below." +msgstr "" + +#. type: deffn +#: doc/guix.texi:4984 +#, no-wrap +msgid "{Scheme Syntax} #~@var{exp}" +msgstr "" + +#. type: deffnx +#: doc/guix.texi:4985 +#, no-wrap +msgid "{Scheme Syntax} (gexp @var{exp})" +msgstr "" + +#. type: deffn +#: doc/guix.texi:4988 +msgid "" +"Return a G-expression containing @var{exp}. @var{exp} may contain one or " +"more of the following forms:" +msgstr "" + +#. type: item +#: doc/guix.texi:4990 +#, no-wrap +msgid "#$@var{obj}" +msgstr "" + +#. type: itemx +#: doc/guix.texi:4991 +#, no-wrap +msgid "(ungexp @var{obj})" +msgstr "" + +#. type: table +#: doc/guix.texi:4996 +msgid "" +"Introduce a reference to @var{obj}. @var{obj} may have one of the supported " +"types, for example a package or a derivation, in which case the " +"@code{ungexp} form is replaced by its output file name---e.g., " +"@code{\"/gnu/store/@dots{}-coreutils-8.22}." +msgstr "" + +#. type: table +#: doc/guix.texi:4999 +msgid "" +"If @var{obj} is a list, it is traversed and references to supported objects " +"are substituted similarly." +msgstr "" + +#. type: table +#: doc/guix.texi:5002 +msgid "" +"If @var{obj} is another gexp, its contents are inserted and its dependencies " +"are added to those of the containing gexp." +msgstr "" + +#. type: table +#: doc/guix.texi:5004 +msgid "If @var{obj} is another kind of object, it is inserted as is." +msgstr "" + +#. type: item +#: doc/guix.texi:5005 +#, no-wrap +msgid "#$@var{obj}:@var{output}" +msgstr "" + +#. type: itemx +#: doc/guix.texi:5006 +#, no-wrap +msgid "(ungexp @var{obj} @var{output})" +msgstr "" + +#. type: table +#: doc/guix.texi:5010 +msgid "" +"This is like the form above, but referring explicitly to the @var{output} of " +"@var{obj}---this is useful when @var{obj} produces multiple outputs " +"(@pxref{Packages with Multiple Outputs})." +msgstr "" + +#. type: item +#: doc/guix.texi:5011 +#, no-wrap +msgid "#+@var{obj}" +msgstr "" + +#. type: itemx +#: doc/guix.texi:5012 +#, no-wrap +msgid "#+@var{obj}:output" +msgstr "" + +#. type: itemx +#: doc/guix.texi:5013 +#, no-wrap +msgid "(ungexp-native @var{obj})" +msgstr "" + +#. type: itemx +#: doc/guix.texi:5014 +#, no-wrap +msgid "(ungexp-native @var{obj} @var{output})" +msgstr "" + +#. type: table +#: doc/guix.texi:5017 +msgid "" +"Same as @code{ungexp}, but produces a reference to the @emph{native} build " +"of @var{obj} when used in a cross compilation context." +msgstr "" + +#. type: item +#: doc/guix.texi:5018 +#, no-wrap +msgid "#$output[:@var{output}]" +msgstr "" + +#. type: itemx +#: doc/guix.texi:5019 +#, no-wrap +msgid "(ungexp output [@var{output}])" +msgstr "" + +#. type: table +#: doc/guix.texi:5022 +msgid "" +"Insert a reference to derivation output @var{output}, or to the main output " +"when @var{output} is omitted." +msgstr "" + +#. type: table +#: doc/guix.texi:5024 +msgid "This only makes sense for gexps passed to @code{gexp->derivation}." +msgstr "" + +#. type: item +#: doc/guix.texi:5025 +#, no-wrap +msgid "#$@@@var{lst}" +msgstr "" + +#. type: itemx +#: doc/guix.texi:5026 +#, no-wrap +msgid "(ungexp-splicing @var{lst})" +msgstr "" + +#. type: table +#: doc/guix.texi:5029 +msgid "" +"Like the above, but splices the contents of @var{lst} inside the containing " +"list." +msgstr "" + +#. type: item +#: doc/guix.texi:5030 +#, no-wrap +msgid "#+@@@var{lst}" +msgstr "" + +#. type: itemx +#: doc/guix.texi:5031 +#, no-wrap +msgid "(ungexp-native-splicing @var{lst})" +msgstr "" + +#. type: table +#: doc/guix.texi:5034 +msgid "" +"Like the above, but refers to native builds of the objects listed in " +"@var{lst}." +msgstr "" + +#. type: deffn +#: doc/guix.texi:5039 +msgid "" +"G-expressions created by @code{gexp} or @code{#~} are run-time objects of " +"the @code{gexp?} type (see below.)" +msgstr "" + +#. type: deffn +#: doc/guix.texi:5041 +#, no-wrap +msgid "{Scheme Syntax} with-imported-modules @var{modules} @var{body}@dots{}" +msgstr "" + +#. type: deffn +#: doc/guix.texi:5044 +msgid "" +"Mark the gexps defined in @var{body}@dots{} as requiring @var{modules} in " +"their execution environment." +msgstr "" + +#. type: deffn +#: doc/guix.texi:5048 +msgid "" +"Each item in @var{modules} can be the name of a module, such as @code{(guix " +"build utils)}, or it can be a module name, followed by an arrow, followed by " +"a file-like object:" +msgstr "" + +#. type: example +#: doc/guix.texi:5054 +#, no-wrap +msgid "" +"`((guix build utils)\n" +" (guix gcrypt)\n" +" ((guix config) => ,(scheme-file \"config.scm\"\n" +" #~(define-module @dots{}))))\n" +msgstr "" + +#. type: deffn +#: doc/guix.texi:5059 +msgid "" +"In the example above, the first two modules are taken from the search path, " +"and the last one is created from the given file-like object." +msgstr "" + +#. type: deffn +#: doc/guix.texi:5063 +msgid "" +"This form has @emph{lexical} scope: it has an effect on the gexps directly " +"defined in @var{body}@dots{}, but not on those defined, say, in procedures " +"called from @var{body}@dots{}." +msgstr "" + +#. type: deffn +#: doc/guix.texi:5065 +#, no-wrap +msgid "{Scheme Procedure} gexp? @var{obj}" +msgstr "" + +#. type: deffn +#: doc/guix.texi:5067 +msgid "Return @code{#t} if @var{obj} is a G-expression." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:5073 +msgid "" +"G-expressions are meant to be written to disk, either as code building some " +"derivation, or as plain files in the store. The monadic procedures below " +"allow you to do that (@pxref{The Store Monad}, for more information about " +"monads.)" +msgstr "" + +#. type: deffn +#: doc/guix.texi:5074 +#, no-wrap +msgid "{Monadic Procedure} gexp->derivation @var{name} @var{exp} @" +msgstr "" + +#. type: deffn +#: doc/guix.texi:5090 +msgid "" +"[#:system (%current-system)] [#:target #f] [#:graft? #t] @ [#:hash #f] " +"[#:hash-algo #f] @ [#:recursive? #f] [#:env-vars '()] [#:modules '()] @ " +"[#:module-path @var{%load-path}] @ [#:references-graphs #f] " +"[#:allowed-references #f] @ [#:disallowed-references #f] @ " +"[#:leaked-env-vars #f] @ [#:script-name (string-append @var{name} " +"\"-builder\")] @ [#:deprecation-warnings #f] @ [#:local-build? #f] " +"[#:substitutable? #t] [#:guile-for-build #f] Return a derivation @var{name} " +"that runs @var{exp} (a gexp) with @var{guile-for-build} (a derivation) on " +"@var{system}; @var{exp} is stored in a file called @var{script-name}. When " +"@var{target} is true, it is used as the cross-compilation target triplet for " +"packages referred to by @var{exp}." +msgstr "" + +#. type: deffn +#: doc/guix.texi:5098 +msgid "" +"@var{modules} is deprecated in favor of @code{with-imported-modules}. Its " +"meaning is to make @var{modules} available in the evaluation context of " +"@var{exp}; @var{modules} is a list of names of Guile modules searched in " +"@var{module-path} to be copied in the store, compiled, and made available in " +"the load path during the execution of @var{exp}---e.g., @code{((guix build " +"utils) (guix build gnu-build-system))}." +msgstr "" + +#. type: deffn +#: doc/guix.texi:5101 +msgid "" +"@var{graft?} determines whether packages referred to by @var{exp} should be " +"grafted when applicable." +msgstr "" + +#. type: deffn +#: doc/guix.texi:5104 +msgid "" +"When @var{references-graphs} is true, it must be a list of tuples of one of " +"the following forms:" +msgstr "" + +#. type: example +#: doc/guix.texi:5111 +#, no-wrap +msgid "" +"(@var{file-name} @var{package})\n" +"(@var{file-name} @var{package} @var{output})\n" +"(@var{file-name} @var{derivation})\n" +"(@var{file-name} @var{derivation} @var{output})\n" +"(@var{file-name} @var{store-item})\n" +msgstr "" + +#. type: deffn +#: doc/guix.texi:5117 +msgid "" +"The right-hand-side of each element of @var{references-graphs} is " +"automatically made an input of the build process of @var{exp}. In the build " +"environment, each @var{file-name} contains the reference graph of the " +"corresponding item, in a simple text format." +msgstr "" + +#. type: deffn +#: doc/guix.texi:5123 +msgid "" +"@var{allowed-references} must be either @code{#f} or a list of output names " +"and packages. In the latter case, the list denotes store items that the " +"result is allowed to refer to. Any reference to another store item will " +"lead to a build error. Similarly for @var{disallowed-references}, which can " +"list items that must not be referenced by the outputs." +msgstr "" + +#. type: deffn +#: doc/guix.texi:5126 +msgid "" +"@var{deprecation-warnings} determines whether to show deprecation warnings " +"while compiling modules. It can be @code{#f}, @code{#t}, or " +"@code{'detailed}." +msgstr "" + +#. type: deffn +#: doc/guix.texi:5128 +msgid "The other arguments are as for @code{derivation} (@pxref{Derivations})." +msgstr "" + +#. type: cindex +#: doc/guix.texi:5130 +#, no-wrap +msgid "file-like objects" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:5135 +msgid "" +"The @code{local-file}, @code{plain-file}, @code{computed-file}, " +"@code{program-file}, and @code{scheme-file} procedures below return " +"@dfn{file-like objects}. That is, when unquoted in a G-expression, these " +"objects lead to a file in the store. Consider this G-expression:" +msgstr "" + +#. type: example +#: doc/guix.texi:5139 +#, no-wrap +msgid "" +"#~(system* #$(file-append glibc \"/sbin/nscd\") \"-f\"\n" +" #$(local-file \"/tmp/my-nscd.conf\"))\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:5148 +msgid "" +"The effect here is to ``intern'' @file{/tmp/my-nscd.conf} by copying it to " +"the store. Once expanded, for instance @i{via} @code{gexp->derivation}, the " +"G-expression refers to that copy under @file{/gnu/store}; thus, modifying or " +"removing the file in @file{/tmp} does not have any effect on what the " +"G-expression does. @code{plain-file} can be used similarly; it differs in " +"that the file content is directly passed as a string." +msgstr "" + +#. type: deffn +#: doc/guix.texi:5149 +#, no-wrap +msgid "{Scheme Procedure} local-file @var{file} [@var{name}] @" +msgstr "" + +#. type: deffn +#: doc/guix.texi:5155 +msgid "" +"[#:recursive? #f] [#:select? (const #t)] Return an object representing local " +"file @var{file} to add to the store; this object can be used in a gexp. If " +"@var{file} is a relative file name, it is looked up relative to the source " +"file where this form appears. @var{file} will be added to the store under " +"@var{name}--by default the base name of @var{file}." +msgstr "" + +#. type: deffn +#: doc/guix.texi:5167 +msgid "" +"This is the declarative counterpart of the @code{interned-file} monadic " +"procedure (@pxref{The Store Monad, @code{interned-file}})." +msgstr "" + +#. type: deffn +#: doc/guix.texi:5169 +#, no-wrap +msgid "{Scheme Procedure} plain-file @var{name} @var{content}" +msgstr "" + +#. type: deffn +#: doc/guix.texi:5172 +msgid "" +"Return an object representing a text file called @var{name} with the given " +"@var{content} (a string) to be added to the store." +msgstr "" + +#. type: deffn +#: doc/guix.texi:5174 +msgid "This is the declarative counterpart of @code{text-file}." +msgstr "" + +#. type: deffn +#: doc/guix.texi:5176 +#, no-wrap +msgid "{Scheme Procedure} computed-file @var{name} @var{gexp} @" +msgstr "" + +#. type: deffn +#: doc/guix.texi:5181 +msgid "" +"[#:options '(#:local-build? #t)] Return an object representing the store " +"item @var{name}, a file or directory computed by @var{gexp}. @var{options} " +"is a list of additional arguments to pass to @code{gexp->derivation}." +msgstr "" + +#. type: deffn +#: doc/guix.texi:5183 +msgid "This is the declarative counterpart of @code{gexp->derivation}." +msgstr "" + +#. type: deffn +#: doc/guix.texi:5185 +#, no-wrap +msgid "{Monadic Procedure} gexp->script @var{name} @var{exp} @" +msgstr "" + +#. type: deffn +#: doc/guix.texi:5190 +msgid "" +"[#:guile (default-guile)] [#:module-path %load-path] Return an executable " +"script @var{name} that runs @var{exp} using @var{guile}, with @var{exp}'s " +"imported modules in its search path. Look up @var{exp}'s modules in " +"@var{module-path}." +msgstr "" + +#. type: deffn +#: doc/guix.texi:5193 +msgid "" +"The example below builds a script that simply invokes the @command{ls} " +"command:" +msgstr "" + +#. type: example +#: doc/guix.texi:5196 +#, no-wrap +msgid "" +"(use-modules (guix gexp) (gnu packages base))\n" +"\n" +msgstr "" + +#. type: example +#: doc/guix.texi:5200 +#, no-wrap +msgid "" +"(gexp->script \"list-files\"\n" +" #~(execl #$(file-append coreutils \"/bin/ls\")\n" +" \"ls\"))\n" +msgstr "" + +#. type: deffn +#: doc/guix.texi:5205 +msgid "" +"When ``running'' it through the store (@pxref{The Store Monad, " +"@code{run-with-store}}), we obtain a derivation that produces an executable " +"file @file{/gnu/store/@dots{}-list-files} along these lines:" +msgstr "" + +#. type: example +#: doc/guix.texi:5210 +#, no-wrap +msgid "" +"#!/gnu/store/@dots{}-guile-2.0.11/bin/guile -ds\n" +"!#\n" +"(execl \"/gnu/store/@dots{}-coreutils-8.22\"/bin/ls\" \"ls\")\n" +msgstr "" + +#. type: deffn +#: doc/guix.texi:5213 +#, no-wrap +msgid "{Scheme Procedure} program-file @var{name} @var{exp} @" +msgstr "" + +#. type: deffn +#: doc/guix.texi:5218 +msgid "" +"[#:guile #f] [#:module-path %load-path] Return an object representing the " +"executable store item @var{name} that runs @var{gexp}. @var{guile} is the " +"Guile package used to execute that script. Imported modules of @var{gexp} " +"are looked up in @var{module-path}." +msgstr "" + +#. type: deffn +#: doc/guix.texi:5220 +msgid "This is the declarative counterpart of @code{gexp->script}." +msgstr "" + +#. type: deffn +#: doc/guix.texi:5222 +#, no-wrap +msgid "{Monadic Procedure} gexp->file @var{name} @var{exp} @" +msgstr "" + +#. type: deffn +#: doc/guix.texi:5229 +msgid "" +"[#:set-load-path? #t] [#:module-path %load-path] @ [#:splice? #f] @ [#:guile " +"(default-guile)] Return a derivation that builds a file @var{name} " +"containing @var{exp}. When @var{splice?} is true, @var{exp} is considered " +"to be a list of expressions that will be spliced in the resulting file." +msgstr "" + +#. type: deffn +#: doc/guix.texi:5234 +msgid "" +"When @var{set-load-path?} is true, emit code in the resulting file to set " +"@code{%load-path} and @code{%load-compiled-path} to honor @var{exp}'s " +"imported modules. Look up @var{exp}'s modules in @var{module-path}." +msgstr "" + +#. type: deffn +#: doc/guix.texi:5237 +msgid "" +"The resulting file holds references to all the dependencies of @var{exp} or " +"a subset thereof." +msgstr "" + +#. type: deffn +#: doc/guix.texi:5239 +#, no-wrap +msgid "{Scheme Procedure} scheme-file @var{name} @var{exp} [#:splice? #f]" +msgstr "" + +#. type: deffn +#: doc/guix.texi:5242 +msgid "" +"Return an object representing the Scheme file @var{name} that contains " +"@var{exp}." +msgstr "" + +#. type: deffn +#: doc/guix.texi:5244 +msgid "This is the declarative counterpart of @code{gexp->file}." +msgstr "" + +#. type: deffn +#: doc/guix.texi:5246 +#, no-wrap +msgid "{Monadic Procedure} text-file* @var{name} @var{text} @dots{}" +msgstr "" + +#. type: deffn +#: doc/guix.texi:5252 +msgid "" +"Return as a monadic value a derivation that builds a text file containing " +"all of @var{text}. @var{text} may list, in addition to strings, objects of " +"any type that can be used in a gexp: packages, derivations, local file " +"objects, etc. The resulting store file holds references to all these." +msgstr "" + +#. type: deffn +#: doc/guix.texi:5257 +msgid "" +"This variant should be preferred over @code{text-file} anytime the file to " +"create will reference items from the store. This is typically the case when " +"building a configuration file that embeds store file names, like this:" +msgstr "" + +#. type: example +#: doc/guix.texi:5265 +#, no-wrap +msgid "" +"(define (profile.sh)\n" +" ;; Return the name of a shell script in the store that\n" +" ;; initializes the 'PATH' environment variable.\n" +" (text-file* \"profile.sh\"\n" +" \"export PATH=\" coreutils \"/bin:\"\n" +" grep \"/bin:\" sed \"/bin\\n\"))\n" +msgstr "" + +#. type: deffn +#: doc/guix.texi:5270 +msgid "" +"In this example, the resulting @file{/gnu/store/@dots{}-profile.sh} file " +"will reference @var{coreutils}, @var{grep}, and @var{sed}, thereby " +"preventing them from being garbage-collected during its lifetime." +msgstr "" + +#. type: deffn +#: doc/guix.texi:5272 +#, no-wrap +msgid "{Scheme Procedure} mixed-text-file @var{name} @var{text} @dots{}" +msgstr "" + +#. type: deffn +#: doc/guix.texi:5276 +msgid "" +"Return an object representing store file @var{name} containing @var{text}. " +"@var{text} is a sequence of strings and file-like objects, as in:" +msgstr "" + +#. type: example +#: doc/guix.texi:5280 +#, no-wrap +msgid "" +"(mixed-text-file \"profile\"\n" +" \"export PATH=\" coreutils \"/bin:\" grep \"/bin\")\n" +msgstr "" + +#. type: deffn +#: doc/guix.texi:5283 +msgid "This is the declarative counterpart of @code{text-file*}." +msgstr "" + +#. type: deffn +#: doc/guix.texi:5285 +#, no-wrap +msgid "{Scheme Procedure} file-union @var{name} @var{files}" +msgstr "" + +#. type: deffn +#: doc/guix.texi:5290 +msgid "" +"Return a @code{<computed-file>} that builds a directory containing all of " +"@var{files}. Each item in @var{files} must be a two-element list where the " +"first element is the file name to use in the new directory, and the second " +"element is a gexp denoting the target file. Here's an example:" +msgstr "" + +#. type: example +#: doc/guix.texi:5297 +#, no-wrap +msgid "" +"(file-union \"etc\"\n" +" `((\"hosts\" ,(plain-file \"hosts\"\n" +" \"127.0.0.1 localhost\"))\n" +" (\"bashrc\" ,(plain-file \"bashrc\"\n" +" \"alias ls='ls --color'\"))))\n" +msgstr "" + +#. type: deffn +#: doc/guix.texi:5300 +msgid "This yields an @code{etc} directory containing these two files." +msgstr "" + +#. type: deffn +#: doc/guix.texi:5302 +#, no-wrap +msgid "{Scheme Procedure} directory-union @var{name} @var{things}" +msgstr "" + +#. type: deffn +#: doc/guix.texi:5305 +msgid "" +"Return a directory that is the union of @var{things}, where @var{things} is " +"a list of file-like objects denoting directories. For example:" +msgstr "" + +#. type: example +#: doc/guix.texi:5308 +#, no-wrap +msgid "(directory-union \"guile+emacs\" (list guile emacs))\n" +msgstr "" + +#. type: deffn +#: doc/guix.texi:5311 +msgid "" +"yields a directory that is the union of the @code{guile} and @code{emacs} " +"packages." +msgstr "" + +#. type: deffn +#: doc/guix.texi:5313 +#, no-wrap +msgid "{Scheme Procedure} file-append @var{obj} @var{suffix} @dots{}" +msgstr "" + +#. type: deffn +#: doc/guix.texi:5317 +msgid "" +"Return a file-like object that expands to the concatenation of @var{obj} and " +"@var{suffix}, where @var{obj} is a lowerable object and each @var{suffix} is " +"a string." +msgstr "" + +#. type: deffn +#: doc/guix.texi:5319 +msgid "As an example, consider this gexp:" +msgstr "" + +#. type: example +#: doc/guix.texi:5324 +#, no-wrap +msgid "" +"(gexp->script \"run-uname\"\n" +" #~(system* #$(file-append coreutils\n" +" \"/bin/uname\")))\n" +msgstr "" + +#. type: deffn +#: doc/guix.texi:5327 +msgid "The same effect could be achieved with:" +msgstr "" + +#. type: example +#: doc/guix.texi:5332 +#, no-wrap +msgid "" +"(gexp->script \"run-uname\"\n" +" #~(system* (string-append #$coreutils\n" +" \"/bin/uname\")))\n" +msgstr "" + +#. type: deffn +#: doc/guix.texi:5338 +msgid "" +"There is one difference though: in the @code{file-append} case, the " +"resulting script contains the absolute file name as a string, whereas in the " +"second case, the resulting script contains a @code{(string-append @dots{})} " +"expression to construct the file name @emph{at run time}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:5345 +msgid "" +"Of course, in addition to gexps embedded in ``host'' code, there are also " +"modules containing build tools. To make it clear that they are meant to be " +"used in the build stratum, these modules are kept in the @code{(guix build " +"@dots{})} name space." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:5351 +msgid "" +"Internally, high-level objects are @dfn{lowered}, using their compiler, to " +"either derivations or store items. For instance, lowering a package yields " +"a derivation, and lowering a @code{plain-file} yields a store item. This is " +"achieved using the @code{lower-object} monadic procedure." +msgstr "" + +#. type: deffn +#: doc/guix.texi:5352 +#, no-wrap +msgid "{Monadic Procedure} lower-object @var{obj} [@var{system}] @" +msgstr "" + +#. type: deffn +#: doc/guix.texi:5358 +msgid "" +"[#:target #f] Return as a value in @var{%store-monad} the derivation or " +"store item corresponding to @var{obj} for @var{system}, cross-compiling for " +"@var{target} if @var{target} is true. @var{obj} must be an object that has " +"an associated gexp compiler, such as a @code{<package>}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:5369 +msgid "" +"This section describes Guix command-line utilities. Some of them are " +"primarily targeted at developers and users who write new package " +"definitions, while others are more generally useful. They complement the " +"Scheme programming interface of Guix in a convenient way." +msgstr "" + +#. type: cindex +#: doc/guix.texi:5391 +#, no-wrap +msgid "package building" +msgstr "" + +#. type: command{#1} +#: doc/guix.texi:5392 +#, no-wrap +msgid "guix build" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:5398 +msgid "" +"The @command{guix build} command builds packages or derivations and their " +"dependencies, and prints the resulting store paths. Note that it does not " +"modify the user's profile---this is the job of the @command{guix package} " +"command (@pxref{Invoking guix package}). Thus, it is mainly useful for " +"distribution developers." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:5400 doc/guix.texi:6057 doc/guix.texi:6124 doc/guix.texi:6793 doc/guix.texi:7123 doc/guix.texi:7453 doc/guix.texi:7758 doc/guix.texi:7824 doc/guix.texi:7863 +msgid "The general syntax is:" +msgstr "" + +#. type: example +#: doc/guix.texi:5403 +#, no-wrap +msgid "guix build @var{options} @var{package-or-derivation}@dots{}\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:5408 +msgid "" +"As an example, the following command builds the latest versions of Emacs and " +"of Guile, displays their build logs, and finally displays the resulting " +"directories:" +msgstr "" + +#. type: example +#: doc/guix.texi:5411 +#, no-wrap +msgid "guix build emacs guile\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:5414 +msgid "Similarly, the following command builds all the available packages:" +msgstr "" + +#. type: example +#: doc/guix.texi:5418 +#, no-wrap +msgid "" +"guix build --quiet --keep-going \\\n" +" `guix package -A | cut -f1,2 --output-delimiter=@@`\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:5426 +msgid "" +"@var{package-or-derivation} may be either the name of a package found in the " +"software distribution such as @code{coreutils} or @code{coreutils@@8.20}, or " +"a derivation such as @file{/gnu/store/@dots{}-coreutils-8.19.drv}. In the " +"former case, a package with the corresponding name (and optionally version) " +"is searched for among the GNU distribution modules (@pxref{Package " +"Modules})." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:5431 +msgid "" +"Alternatively, the @code{--expression} option may be used to specify a " +"Scheme expression that evaluates to a package; this is useful when " +"disambiguating among several same-named packages or package variants is " +"needed." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:5434 +msgid "" +"There may be zero or more @var{options}. The available options are " +"described in the subsections below." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:5449 +msgid "" +"A number of options that control the build process are common to " +"@command{guix build} and other commands that can spawn builds, such as " +"@command{guix package} or @command{guix archive}. These are the following:" +msgstr "" + +#. type: item +#: doc/guix.texi:5452 +#, no-wrap +msgid "--load-path=@var{directory}" +msgstr "" + +#. type: itemx +#: doc/guix.texi:5453 +#, no-wrap +msgid "-L @var{directory}" +msgstr "" + +#. type: table +#: doc/guix.texi:5456 +msgid "" +"Add @var{directory} to the front of the package module search path " +"(@pxref{Package Modules})." +msgstr "" + +#. type: table +#: doc/guix.texi:5459 +msgid "" +"This allows users to define their own packages and make them visible to the " +"command-line tools." +msgstr "" + +#. type: item +#: doc/guix.texi:5460 +#, no-wrap +msgid "--keep-failed" +msgstr "" + +#. type: itemx +#: doc/guix.texi:5461 +#, no-wrap +msgid "-K" +msgstr "" + +#. type: table +#: doc/guix.texi:5467 +msgid "" +"Keep the build tree of failed builds. Thus, if a build fails, its build " +"tree is kept under @file{/tmp}, in a directory whose name is shown at the " +"end of the build log. This is useful when debugging build issues. " +"@xref{Debugging Build Failures}, for tips and tricks on how to debug build " +"issues." +msgstr "" + +#. type: item +#: doc/guix.texi:5468 +#, no-wrap +msgid "--keep-going" +msgstr "" + +#. type: itemx +#: doc/guix.texi:5469 +#, no-wrap +msgid "-k" +msgstr "" + +#. type: table +#: doc/guix.texi:5472 +msgid "" +"Keep going when some of the derivations fail to build; return only once all " +"the builds have either completed or failed." +msgstr "" + +#. type: table +#: doc/guix.texi:5475 +msgid "" +"The default behavior is to stop as soon as one of the specified derivations " +"has failed." +msgstr "" + +#. type: item +#: doc/guix.texi:5476 +#, no-wrap +msgid "--dry-run" +msgstr "" + +#. type: itemx +#: doc/guix.texi:5477 +#, no-wrap +msgid "-n" +msgstr "" + +#. type: table +#: doc/guix.texi:5479 +msgid "Do not build the derivations." +msgstr "" + +#. type: anchor{#1} +#: doc/guix.texi:5481 +msgid "fallback-option" +msgstr "" + +#. type: item +#: doc/guix.texi:5481 +#, no-wrap +msgid "--fallback" +msgstr "" + +#. type: table +#: doc/guix.texi:5484 +msgid "" +"When substituting a pre-built binary fails, fall back to building packages " +"locally (@pxref{Substitution Failure})." +msgstr "" + +#. type: anchor{#1} +#: doc/guix.texi:5490 +msgid "client-substitute-urls" +msgstr "" + +#. type: table +#: doc/guix.texi:5490 +msgid "" +"Consider @var{urls} the whitespace-separated list of substitute source URLs, " +"overriding the default list of URLs of @command{guix-daemon} " +"(@pxref{daemon-substitute-urls,, @command{guix-daemon} URLs})." +msgstr "" + +#. type: table +#: doc/guix.texi:5494 +msgid "" +"This means that substitutes may be downloaded from @var{urls}, provided they " +"are signed by a key authorized by the system administrator " +"(@pxref{Substitutes})." +msgstr "" + +#. type: table +#: doc/guix.texi:5497 +msgid "When @var{urls} is the empty string, substitutes are effectively disabled." +msgstr "" + +#. type: item +#: doc/guix.texi:5503 +#, no-wrap +msgid "--no-grafts" +msgstr "" + +#. type: table +#: doc/guix.texi:5507 +msgid "" +"Do not ``graft'' packages. In practice, this means that package updates " +"available as grafts are not applied. @xref{Security Updates}, for more " +"information on grafts." +msgstr "" + +#. type: item +#: doc/guix.texi:5508 +#, no-wrap +msgid "--rounds=@var{n}" +msgstr "" + +#. type: table +#: doc/guix.texi:5511 +msgid "" +"Build each derivation @var{n} times in a row, and raise an error if " +"consecutive build results are not bit-for-bit identical." +msgstr "" + +#. type: table +#: doc/guix.texi:5516 +msgid "" +"This is a useful way to detect non-deterministic builds processes. " +"Non-deterministic build processes are a problem because they make it " +"practically impossible for users to @emph{verify} whether third-party " +"binaries are genuine. @xref{Invoking guix challenge}, for more." +msgstr "" + +#. type: table +#: doc/guix.texi:5522 +msgid "" +"Note that, currently, the differing build results are not kept around, so " +"you will have to manually investigate in case of an error---e.g., by " +"stashing one of the build results with @code{guix archive --export} " +"(@pxref{Invoking guix archive}), then rebuilding, and finally comparing the " +"two results." +msgstr "" + +#. type: table +#: doc/guix.texi:5527 +msgid "" +"Do not attempt to offload builds @i{via} the ``build hook'' of the daemon " +"(@pxref{Daemon Offload Setup}). That is, always build things locally " +"instead of offloading builds to remote machines." +msgstr "" + +#. type: table +#: doc/guix.texi:5534 +msgid "" +"By default, the daemon's setting is honored (@pxref{Invoking guix-daemon, " +"@code{--max-silent-time}})." +msgstr "" + +#. type: table +#: doc/guix.texi:5541 +msgid "" +"By default, the daemon's setting is honored (@pxref{Invoking guix-daemon, " +"@code{--timeout}})." +msgstr "" + +#. type: item +#: doc/guix.texi:5542 +#, no-wrap +msgid "--verbosity=@var{level}" +msgstr "" + +#. type: table +#: doc/guix.texi:5546 +msgid "" +"Use the given verbosity level. @var{level} must be an integer between 0 and " +"5; higher means more verbose output. Setting a level of 4 or more may be " +"helpful when debugging setup issues with the build daemon." +msgstr "" + +#. type: table +#: doc/guix.texi:5551 +msgid "" +"Allow the use of up to @var{n} CPU cores for the build. The special value " +"@code{0} means to use as many CPU cores as available." +msgstr "" + +#. type: table +#: doc/guix.texi:5557 +msgid "" +"Allow at most @var{n} build jobs in parallel. @xref{Invoking guix-daemon, " +"@code{--max-jobs}}, for details about this option and the equivalent " +"@command{guix-daemon} option." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:5564 +msgid "" +"Behind the scenes, @command{guix build} is essentially an interface to the " +"@code{package-derivation} procedure of the @code{(guix packages)} module, " +"and to the @code{build-derivations} procedure of the @code{(guix " +"derivations)} module." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:5568 +msgid "" +"In addition to options explicitly passed on the command line, @command{guix " +"build} and other @command{guix} commands that support building honor the " +"@code{GUIX_BUILD_OPTIONS} environment variable." +msgstr "" + +#. type: defvr +#: doc/guix.texi:5569 +#, no-wrap +msgid "{Environment Variable} GUIX_BUILD_OPTIONS" +msgstr "" + +#. type: defvr +#: doc/guix.texi:5574 +msgid "" +"Users can define this variable to a list of command line options that will " +"automatically be used by @command{guix build} and other @command{guix} " +"commands that can perform builds, as in the example below:" +msgstr "" + +#. type: example +#: doc/guix.texi:5577 +#, no-wrap +msgid "$ export GUIX_BUILD_OPTIONS=\"--no-substitutes -c 2 -L /foo/bar\"\n" +msgstr "" + +#. type: defvr +#: doc/guix.texi:5581 +msgid "" +"These options are parsed independently, and the result is appended to the " +"parsed command-line options." +msgstr "" + +#. type: cindex +#: doc/guix.texi:5587 +#, no-wrap +msgid "package variants" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:5595 +msgid "" +"Another set of command-line options supported by @command{guix build} and " +"also @command{guix package} are @dfn{package transformation options}. These " +"are options that make it possible to define @dfn{package variants}---for " +"instance, packages built from different source code. This is a convenient " +"way to create customized packages on the fly without having to type in the " +"definitions of package variants (@pxref{Defining Packages})." +msgstr "" + +#. type: item +#: doc/guix.texi:5598 +#, no-wrap +msgid "--with-source=@var{source}" +msgstr "" + +#. type: itemx +#: doc/guix.texi:5599 +#, no-wrap +msgid "--with-source=@var{package}=@var{source}" +msgstr "" + +#. type: itemx +#: doc/guix.texi:5600 +#, no-wrap +msgid "--with-source=@var{package}@@@var{version}=@var{source}" +msgstr "" + +#. type: table +#: doc/guix.texi:5605 +msgid "" +"Use @var{source} as the source of @var{package}, and @var{version} as its " +"version number. @var{source} must be a file name or a URL, as for " +"@command{guix download} (@pxref{Invoking guix download})." +msgstr "" + +#. type: table +#: doc/guix.texi:5611 +msgid "" +"When @var{package} is omitted, it is taken to be the package name specified " +"on the command line that matches the base of @var{source}---e.g., if " +"@var{source} is @code{/src/guile-2.0.10.tar.gz}, the corresponding package " +"is @code{guile}." +msgstr "" + +#. type: table +#: doc/guix.texi:5614 +msgid "" +"Likewise, when @var{version} is omitted, the version string is inferred from " +"@var{source}; in the previous example, it is @code{2.0.10}." +msgstr "" + +#. type: table +#: doc/guix.texi:5619 +msgid "" +"This option allows users to try out versions of packages other than the one " +"provided by the distribution. The example below downloads " +"@file{ed-1.7.tar.gz} from a GNU mirror and uses that as the source for the " +"@code{ed} package:" +msgstr "" + +#. type: example +#: doc/guix.texi:5622 +#, no-wrap +msgid "guix build ed --with-source=mirror://gnu/ed/ed-1.7.tar.gz\n" +msgstr "" + +#. type: table +#: doc/guix.texi:5626 +msgid "" +"As a developer, @code{--with-source} makes it easy to test release " +"candidates:" +msgstr "" + +#. type: example +#: doc/guix.texi:5629 +#, no-wrap +msgid "guix build guile --with-source=../guile-2.0.9.219-e1bb7.tar.xz\n" +msgstr "" + +#. type: table +#: doc/guix.texi:5632 +msgid "@dots{} or to build from a checkout in a pristine environment:" +msgstr "" + +#. type: example +#: doc/guix.texi:5636 +#, no-wrap +msgid "" +"$ git clone git://git.sv.gnu.org/guix.git\n" +"$ guix build guix --with-source=guix@@1.0=./guix\n" +msgstr "" + +#. type: item +#: doc/guix.texi:5638 +#, no-wrap +msgid "--with-input=@var{package}=@var{replacement}" +msgstr "" + +#. type: table +#: doc/guix.texi:5643 +msgid "" +"Replace dependency on @var{package} by a dependency on @var{replacement}. " +"@var{package} must be a package name, and @var{replacement} must be a " +"package specification such as @code{guile} or @code{guile@@1.8}." +msgstr "" + +#. type: table +#: doc/guix.texi:5647 +msgid "" +"For instance, the following command builds Guix, but replaces its dependency " +"on the current stable version of Guile with a dependency on the legacy " +"version of Guile, @code{guile@@2.0}:" +msgstr "" + +#. type: example +#: doc/guix.texi:5650 +#, no-wrap +msgid "guix build --with-input=guile=guile@@2.0 guix\n" +msgstr "" + +#. type: table +#: doc/guix.texi:5655 +msgid "" +"This is a recursive, deep replacement. So in this example, both @code{guix} " +"and its dependency @code{guile-json} (which also depends on @code{guile}) " +"get rebuilt against @code{guile@@2.0}." +msgstr "" + +#. type: table +#: doc/guix.texi:5658 +msgid "" +"This is implemented using the @code{package-input-rewriting} Scheme " +"procedure (@pxref{Defining Packages, @code{package-input-rewriting}})." +msgstr "" + +#. type: item +#: doc/guix.texi:5659 +#, no-wrap +msgid "--with-graft=@var{package}=@var{replacement}" +msgstr "" + +#. type: table +#: doc/guix.texi:5665 +msgid "" +"This is similar to @code{--with-input} but with an important difference: " +"instead of rebuilding the whole dependency chain, @var{replacement} is built " +"and then @dfn{grafted} onto the binaries that were initially referring to " +"@var{package}. @xref{Security Updates}, for more information on grafts." +msgstr "" + +#. type: table +#: doc/guix.texi:5669 +msgid "" +"For example, the command below grafts version 3.5.4 of GnuTLS onto Wget and " +"all its dependencies, replacing references to the version of GnuTLS they " +"currently refer to:" +msgstr "" + +#. type: example +#: doc/guix.texi:5672 +#, no-wrap +msgid "guix build --with-graft=gnutls=gnutls@@3.5.4 wget\n" +msgstr "" + +#. type: table +#: doc/guix.texi:5681 +msgid "" +"This has the advantage of being much faster than rebuilding everything. But " +"there is a caveat: it works if and only if @var{package} and " +"@var{replacement} are strictly compatible---for example, if they provide a " +"library, the application binary interface (ABI) of those libraries must be " +"compatible. If @var{replacement} is somehow incompatible with " +"@var{package}, then the resulting package may be unusable. Use with care!" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:5689 +msgid "" +"The command-line options presented below are specific to @command{guix " +"build}." +msgstr "" + +#. type: item +#: doc/guix.texi:5692 +#, no-wrap +msgid "--quiet" +msgstr "" + +#. type: itemx +#: doc/guix.texi:5693 +#, no-wrap +msgid "-q" +msgstr "" + +#. type: table +#: doc/guix.texi:5697 +msgid "" +"Build quietly, without displaying the build log. Upon completion, the build " +"log is kept in @file{/var} (or similar) and can always be retrieved using " +"the @option{--log-file} option." +msgstr "" + +#. type: item +#: doc/guix.texi:5698 +#, no-wrap +msgid "--file=@var{file}" +msgstr "" + +#. type: table +#: doc/guix.texi:5703 +msgid "" +"Build the package or derivation that the code within @var{file} evaluates " +"to." +msgstr "" + +#. type: table +#: doc/guix.texi:5706 +msgid "" +"As an example, @var{file} might contain a package definition like this " +"(@pxref{Defining Packages}):" +msgstr "" + +#. type: table +#: doc/guix.texi:5714 +msgid "Build the package or derivation @var{expr} evaluates to." +msgstr "" + +#. type: table +#: doc/guix.texi:5718 +msgid "" +"For example, @var{expr} may be @code{(@@ (gnu packages guile) guile-1.8)}, " +"which unambiguously designates this specific variant of version 1.8 of " +"Guile." +msgstr "" + +#. type: table +#: doc/guix.texi:5722 +msgid "" +"Alternatively, @var{expr} may be a G-expression, in which case it is used as " +"a build program passed to @code{gexp->derivation} (@pxref{G-Expressions})." +msgstr "" + +#. type: table +#: doc/guix.texi:5726 +msgid "" +"Lastly, @var{expr} may refer to a zero-argument monadic procedure " +"(@pxref{The Store Monad}). The procedure must return a derivation as a " +"monadic value, which is then passed through @code{run-with-store}." +msgstr "" + +#. type: item +#: doc/guix.texi:5727 +#, no-wrap +msgid "--source" +msgstr "" + +#. type: itemx +#: doc/guix.texi:5728 +#, no-wrap +msgid "-S" +msgstr "" + +#. type: table +#: doc/guix.texi:5731 +msgid "" +"Build the source derivations of the packages, rather than the packages " +"themselves." +msgstr "" + +#. type: table +#: doc/guix.texi:5735 +msgid "" +"For instance, @code{guix build -S gcc} returns something like " +"@file{/gnu/store/@dots{}-gcc-4.7.2.tar.bz2}, which is the GCC source " +"tarball." +msgstr "" + +#. type: table +#: doc/guix.texi:5739 +msgid "" +"The returned source tarball is the result of applying any patches and code " +"snippets specified in the package @code{origin} (@pxref{Defining Packages})." +msgstr "" + +#. type: item +#: doc/guix.texi:5740 +#, no-wrap +msgid "--sources" +msgstr "" + +#. type: table +#: doc/guix.texi:5747 +msgid "" +"Fetch and return the source of @var{package-or-derivation} and all their " +"dependencies, recursively. This is a handy way to obtain a local copy of " +"all the source code needed to build @var{packages}, allowing you to " +"eventually build them even without network access. It is an extension of " +"the @code{--source} option and can accept one of the following optional " +"argument values:" +msgstr "" + +#. type: item +#: doc/guix.texi:5749 doc/guix.texi:6974 +#, no-wrap +msgid "package" +msgstr "" + +#. type: table +#: doc/guix.texi:5752 +msgid "" +"This value causes the @code{--sources} option to behave in the same way as " +"the @code{--source} option." +msgstr "" + +#. type: item +#: doc/guix.texi:5753 doc/guix.texi:11753 +#, no-wrap +msgid "all" +msgstr "" + +#. type: table +#: doc/guix.texi:5756 +msgid "" +"Build the source derivations of all packages, including any source that " +"might be listed as @code{inputs}. This is the default value." +msgstr "" + +#. type: example +#: doc/guix.texi:5762 +#, no-wrap +msgid "" +"$ guix build --sources tzdata\n" +"The following derivations will be built:\n" +" /gnu/store/@dots{}-tzdata2015b.tar.gz.drv\n" +" /gnu/store/@dots{}-tzcode2015b.tar.gz.drv\n" +msgstr "" + +#. type: item +#: doc/guix.texi:5764 +#, no-wrap +msgid "transitive" +msgstr "" + +#. type: table +#: doc/guix.texi:5768 +msgid "" +"Build the source derivations of all packages, as well of all transitive " +"inputs to the packages. This can be used e.g. to prefetch package source " +"for later offline building." +msgstr "" + +#. type: example +#: doc/guix.texi:5779 +#, no-wrap +msgid "" +"$ guix build --sources=transitive tzdata\n" +"The following derivations will be built:\n" +" /gnu/store/@dots{}-tzcode2015b.tar.gz.drv\n" +" /gnu/store/@dots{}-findutils-4.4.2.tar.xz.drv\n" +" /gnu/store/@dots{}-grep-2.21.tar.xz.drv\n" +" /gnu/store/@dots{}-coreutils-8.23.tar.xz.drv\n" +" /gnu/store/@dots{}-make-4.1.tar.xz.drv\n" +" /gnu/store/@dots{}-bash-4.3.tar.xz.drv\n" +"@dots{}\n" +msgstr "" + +#. type: quotation +#: doc/guix.texi:5792 +msgid "" +"The @code{--system} flag is for @emph{native} compilation and must not be " +"confused with cross-compilation. See @code{--target} below for information " +"on cross-compilation." +msgstr "" + +#. type: table +#: doc/guix.texi:5798 +msgid "" +"An example use of this is on Linux-based systems, which can emulate " +"different personalities. For instance, passing @code{--system=i686-linux} " +"on an @code{x86_64-linux} system allows you to build packages in a complete " +"32-bit environment." +msgstr "" + +#. type: table +#: doc/guix.texi:5803 +msgid "" +"Similarly, when transparent emulation with QEMU and @code{binfmt_misc} is " +"enabled (@pxref{Virtualization Services, @code{qemu-binfmt-service-type}}), " +"you can build for any system for which a QEMU @code{binfmt_misc} handler is " +"installed." +msgstr "" + +#. type: table +#: doc/guix.texi:5807 +msgid "" +"Builds for a system other than that of the machine you are using can also be " +"offloaded to a remote machine of the right architecture. @xref{Daemon " +"Offload Setup}, for more information on offloading." +msgstr "" + +#. type: anchor{#1} +#: doc/guix.texi:5815 +msgid "build-check" +msgstr "" + +#. type: item +#: doc/guix.texi:5815 +#, no-wrap +msgid "--check" +msgstr "" + +#. type: cindex +#: doc/guix.texi:5816 +#, no-wrap +msgid "determinism, checking" +msgstr "" + +#. type: cindex +#: doc/guix.texi:5817 +#, no-wrap +msgid "reproducibility, checking" +msgstr "" + +#. type: table +#: doc/guix.texi:5821 +msgid "" +"Rebuild @var{package-or-derivation}, which are already available in the " +"store, and raise an error if the build results are not bit-for-bit " +"identical." +msgstr "" + +#. type: table +#: doc/guix.texi:5826 +msgid "" +"This mechanism allows you to check whether previously installed 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." +msgstr "" + +#. type: item +#: doc/guix.texi:5831 +#, no-wrap +msgid "--repair" +msgstr "" + +#. type: cindex +#: doc/guix.texi:5832 +#, no-wrap +msgid "repairing store items" +msgstr "" + +#. type: table +#: doc/guix.texi:5836 +msgid "" +"Attempt to repair the specified store items, if they are corrupt, by " +"re-downloading or rebuilding them." +msgstr "" + +#. type: table +#: doc/guix.texi:5838 +msgid "This operation is not atomic and thus restricted to @code{root}." +msgstr "" + +#. type: item +#: doc/guix.texi:5839 +#, no-wrap +msgid "--derivations" +msgstr "" + +#. type: table +#: doc/guix.texi:5843 +msgid "Return the derivation paths, not the output paths, of the given packages." +msgstr "" + +#. type: item +#: doc/guix.texi:5844 doc/guix.texi:7231 doc/guix.texi:20580 +#, no-wrap +msgid "--root=@var{file}" +msgstr "" + +#. type: itemx +#: doc/guix.texi:5845 doc/guix.texi:7232 doc/guix.texi:20581 +#, no-wrap +msgid "-r @var{file}" +msgstr "" + +#. type: cindex +#: doc/guix.texi:5846 +#, no-wrap +msgid "GC roots, adding" +msgstr "" + +#. type: cindex +#: doc/guix.texi:5847 +#, no-wrap +msgid "garbage collector roots, adding" +msgstr "" + +#. type: table +#: doc/guix.texi:5850 doc/guix.texi:20584 +msgid "" +"Make @var{file} a symlink to the result, and register it as a garbage " +"collector root." +msgstr "" + +#. type: table +#: doc/guix.texi:5856 +msgid "" +"Consequently, the results of this @command{guix build} invocation are " +"protected from garbage collection until @var{file} is removed. When that " +"option is omitted, build results are eligible for garbage collection as soon " +"as the build completes. @xref{Invoking guix gc}, for more on GC roots." +msgstr "" + +#. type: item +#: doc/guix.texi:5857 +#, no-wrap +msgid "--log-file" +msgstr "" + +#. type: cindex +#: doc/guix.texi:5858 +#, no-wrap +msgid "build logs, access" +msgstr "" + +#. type: table +#: doc/guix.texi:5862 +msgid "" +"Return the build log file names or URLs for the given " +"@var{package-or-derivation}, or raise an error if build logs are missing." +msgstr "" + +#. type: table +#: doc/guix.texi:5865 +msgid "" +"This works regardless of how packages or derivations are specified. For " +"instance, the following invocations are equivalent:" +msgstr "" + +#. type: example +#: doc/guix.texi:5871 +#, no-wrap +msgid "" +"guix build --log-file `guix build -d guile`\n" +"guix build --log-file `guix build guile`\n" +"guix build --log-file guile\n" +"guix build --log-file -e '(@@ (gnu packages guile) guile-2.0)'\n" +msgstr "" + +#. type: table +#: doc/guix.texi:5876 +msgid "" +"If a log is unavailable locally, and unless @code{--no-substitutes} is " +"passed, the command looks for a corresponding log on one of the substitute " +"servers (as specified with @code{--substitute-urls}.)" +msgstr "" + +#. type: table +#: doc/guix.texi:5879 +msgid "" +"So for instance, imagine you want to see the build log of GDB on MIPS, but " +"you are actually on an @code{x86_64} machine:" +msgstr "" + +#. type: example +#: doc/guix.texi:5883 +#, no-wrap +msgid "" +"$ guix build --log-file gdb -s mips64el-linux\n" +"https://hydra.gnu.org/log/@dots{}-gdb-7.10\n" +msgstr "" + +#. type: table +#: doc/guix.texi:5886 +msgid "You can freely access a huge library of build logs!" +msgstr "" + +#. type: cindex +#: doc/guix.texi:5891 +#, no-wrap +msgid "build failures, debugging" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:5897 +msgid "" +"When defining a new package (@pxref{Defining Packages}), you will probably " +"find yourself spending some time debugging and tweaking the build until it " +"succeeds. To do that, you need to operate the build commands yourself in an " +"environment as close as possible to the one the build daemon uses." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:5902 +msgid "" +"To that end, the first thing to do is to use the @option{--keep-failed} or " +"@option{-K} option of @command{guix build}, which will keep the failed build " +"tree in @file{/tmp} or whatever directory you specified as @code{TMPDIR} " +"(@pxref{Invoking guix build, @code{--keep-failed}})." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:5908 +msgid "" +"From there on, you can @command{cd} to the failed build tree and source the " +"@file{environment-variables} file, which contains all the environment " +"variable definitions that were in place when the build failed. So let's say " +"you're debugging a build failure in package @code{foo}; a typical session " +"would look like this:" +msgstr "" + +#. type: example +#: doc/guix.texi:5915 +#, no-wrap +msgid "" +"$ guix build foo -K\n" +"@dots{} @i{build fails}\n" +"$ cd /tmp/guix-build-foo.drv-0\n" +"$ source ./environment-variables\n" +"$ cd foo-1.2\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:5919 +msgid "" +"Now, you can invoke commands as if you were the daemon (almost) and " +"troubleshoot your build process." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:5925 +msgid "" +"Sometimes it happens that, for example, a package's tests pass when you run " +"them manually but they fail when the daemon runs them. This can happen " +"because the daemon runs builds in containers where, unlike in our " +"environment above, network access is missing, @file{/bin/sh} does not exist, " +"etc. (@pxref{Build Environment Setup})." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:5928 +msgid "" +"In such cases, you may need to run inspect the build process from within a " +"container similar to the one the build daemon creates:" +msgstr "" + +#. type: example +#: doc/guix.texi:5936 +#, no-wrap +msgid "" +"$ guix build -K foo\n" +"@dots{}\n" +"$ cd /tmp/guix-build-foo.drv-0\n" +"$ guix environment --no-grafts -C foo --ad-hoc strace gdb\n" +"[env]# source ./environment-variables\n" +"[env]# cd foo-1.2\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:5945 +msgid "" +"Here, @command{guix environment -C} creates a container and spawns a new " +"shell in it (@pxref{Invoking guix environment}). The @command{--ad-hoc " +"strace gdb} part adds the @command{strace} and @command{gdb} commands to the " +"container, which would may find handy while debugging. The " +"@option{--no-grafts} option makes sure we get the exact same environment, " +"with ungrafted packages (@pxref{Security Updates}, for more info on grafts)." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:5948 +msgid "" +"To get closer to a container like that used by the build daemon, we can " +"remove @file{/bin/sh}:" +msgstr "" + +#. type: example +#: doc/guix.texi:5951 +#, no-wrap +msgid "[env]# rm /bin/sh\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:5955 +msgid "" +"(Don't worry, this is harmless: this is all happening in the throw-away " +"container created by @command{guix environment}.)" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:5958 +msgid "" +"The @command{strace} command is probably not in the search path, but we can " +"run:" +msgstr "" + +#. type: example +#: doc/guix.texi:5961 +#, no-wrap +msgid "[env]# $GUIX_ENVIRONMENT/bin/strace -f -o log make check\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:5966 +msgid "" +"In this way, not only you will have reproduced the environment variables the " +"daemon uses, you will also be running the build process in a container " +"similar to the one the daemon uses." +msgstr "" + +#. type: section +#: doc/guix.texi:5969 +#, no-wrap +msgid "Invoking @command{guix edit}" +msgstr "" + +#. type: command{#1} +#: doc/guix.texi:5971 +#, no-wrap +msgid "guix edit" +msgstr "" + +#. type: cindex +#: doc/guix.texi:5972 +#, no-wrap +msgid "package definition, editing" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:5977 +msgid "" +"So many packages, so many source files! The @command{guix edit} command " +"facilitates the life of users and packagers by pointing their editor at the " +"source file containing the definition of the specified packages. For " +"instance:" +msgstr "" + +#. type: example +#: doc/guix.texi:5980 +#, no-wrap +msgid "guix edit gcc@@4.9 vim\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:5986 +msgid "" +"launches the program specified in the @code{VISUAL} or in the @code{EDITOR} " +"environment variable to view the recipe of GCC@tie{}4.9.3 and that of Vim." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:5992 +msgid "" +"If you are using a Guix Git checkout (@pxref{Building from Git}), or have " +"created your own packages on @code{GUIX_PACKAGE_PATH} (@pxref{Defining " +"Packages}), you will be able to edit the package recipes. Otherwise, you " +"will be able to examine the read-only recipes for packages currently in the " +"store." +msgstr "" + +#. type: section +#: doc/guix.texi:5995 +#, no-wrap +msgid "Invoking @command{guix download}" +msgstr "" + +#. type: command{#1} +#: doc/guix.texi:5997 +#, no-wrap +msgid "guix download" +msgstr "" + +#. type: cindex +#: doc/guix.texi:5998 +#, no-wrap +msgid "downloading package sources" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:6005 +msgid "" +"When writing a package definition, developers typically need to download a " +"source tarball, compute its SHA256 hash, and write that hash in the package " +"definition (@pxref{Defining Packages}). The @command{guix download} tool " +"helps with this task: it downloads a file from the given URI, adds it to the " +"store, and prints both its file name in the store and its SHA256 hash." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:6012 +msgid "" +"The fact that the downloaded file is added to the store saves bandwidth: " +"when the developer eventually tries to build the newly defined package with " +"@command{guix build}, the source tarball will not have to be downloaded " +"again because it is already in the store. It is also a convenient way to " +"temporarily stash files, which may be deleted eventually (@pxref{Invoking " +"guix gc})." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:6020 +msgid "" +"The @command{guix download} command supports the same URIs as used in " +"package definitions. In particular, it supports @code{mirror://} URIs. " +"@code{https} URIs (HTTP over TLS) are supported @emph{provided} the Guile " +"bindings for GnuTLS are available in the user's environment; when they are " +"not available, an error is raised. @xref{Guile Preparations, how to install " +"the GnuTLS bindings for Guile,, gnutls-guile, GnuTLS-Guile}, for more " +"information." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:6025 +msgid "" +"@command{guix download} verifies HTTPS server certificates by loading the " +"certificates of X.509 authorities from the directory pointed to by the " +"@code{SSL_CERT_DIR} environment variable (@pxref{X.509 Certificates}), " +"unless @option{--no-check-certificate} is used." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:6027 doc/guix.texi:7511 +msgid "The following options are available:" +msgstr "" + +#. type: item +#: doc/guix.texi:6029 doc/guix.texi:6068 +#, no-wrap +msgid "--format=@var{fmt}" +msgstr "" + +#. type: itemx +#: doc/guix.texi:6030 doc/guix.texi:6069 +#, no-wrap +msgid "-f @var{fmt}" +msgstr "" + +#. type: table +#: doc/guix.texi:6033 +msgid "" +"Write the hash in the format specified by @var{fmt}. For more information " +"on the valid values for @var{fmt}, @pxref{Invoking guix hash}." +msgstr "" + +#. type: item +#: doc/guix.texi:6034 +#, no-wrap +msgid "--no-check-certificate" +msgstr "" + +#. type: table +#: doc/guix.texi:6036 +msgid "Do not validate the X.509 certificates of HTTPS servers." +msgstr "" + +#. type: table +#: doc/guix.texi:6040 +msgid "" +"When using this option, you have @emph{absolutely no guarantee} that you are " +"communicating with the authentic server responsible for the given URL, which " +"makes you vulnerable to ``man-in-the-middle'' attacks." +msgstr "" + +#. type: item +#: doc/guix.texi:6041 +#, no-wrap +msgid "--output=@var{file}" +msgstr "" + +#. type: itemx +#: doc/guix.texi:6042 +#, no-wrap +msgid "-o @var{file}" +msgstr "" + +#. type: table +#: doc/guix.texi:6045 +msgid "Save the downloaded file to @var{file} instead of adding it to the store." +msgstr "" + +#. type: section +#: doc/guix.texi:6048 +#, no-wrap +msgid "Invoking @command{guix hash}" +msgstr "" + +#. type: command{#1} +#: doc/guix.texi:6050 +#, no-wrap +msgid "guix hash" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:6055 +msgid "" +"The @command{guix hash} command computes the SHA256 hash of a file. It is " +"primarily a convenience tool for anyone contributing to the distribution: it " +"computes the cryptographic hash of a file, which can be used in the " +"definition of a package (@pxref{Defining Packages})." +msgstr "" + +#. type: example +#: doc/guix.texi:6060 +#, no-wrap +msgid "guix hash @var{option} @var{file}\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:6065 +msgid "" +"When @var{file} is @code{-} (a hyphen), @command{guix hash} computes the " +"hash of data read from standard input. @command{guix hash} has the " +"following options:" +msgstr "" + +#. type: table +#: doc/guix.texi:6071 +msgid "Write the hash in the format specified by @var{fmt}." +msgstr "" + +#. type: table +#: doc/guix.texi:6074 +msgid "" +"Supported formats: @code{nix-base32}, @code{base32}, @code{base16} " +"(@code{hex} and @code{hexadecimal} can be used as well)." +msgstr "" + +#. type: table +#: doc/guix.texi:6078 +msgid "" +"If the @option{--format} option is not specified, @command{guix hash} will " +"output the hash in @code{nix-base32}. This representation is used in the " +"definitions of packages." +msgstr "" + +#. type: table +#: doc/guix.texi:6082 +msgid "Compute the hash on @var{file} recursively." +msgstr "" + +#. type: table +#: doc/guix.texi:6091 +msgid "" +"In this case, the hash is computed on an archive containing @var{file}, " +"including its children if it is a directory. Some of the metadata of " +"@var{file} is part of the archive; for instance, when @var{file} is a " +"regular file, the hash is different depending on whether @var{file} is " +"executable or not. Metadata such as time stamps has no impact on the hash " +"(@pxref{Invoking guix archive})." +msgstr "" + +#. type: item +#: doc/guix.texi:6092 +#, no-wrap +msgid "--exclude-vcs" +msgstr "" + +#. type: itemx +#: doc/guix.texi:6093 +#, no-wrap +msgid "-x" +msgstr "" + +#. type: table +#: doc/guix.texi:6096 +msgid "" +"When combined with @option{--recursive}, exclude version control system " +"directories (@file{.bzr}, @file{.git}, @file{.hg}, etc.)" +msgstr "" + +#. type: table +#: doc/guix.texi:6101 +msgid "" +"As an example, here is how you would compute the hash of a Git checkout, " +"which is useful when using the @code{git-fetch} method (@pxref{origin " +"Reference}):" +msgstr "" + +#. type: example +#: doc/guix.texi:6106 +#, no-wrap +msgid "" +"$ git clone http://example.org/foo.git\n" +"$ cd foo\n" +"$ guix hash -rx .\n" +msgstr "" + +#. type: cindex +#: doc/guix.texi:6110 doc/guix.texi:6115 +#, no-wrap +msgid "Invoking @command{guix import}" +msgstr "" + +#. type: cindex +#: doc/guix.texi:6112 +#, no-wrap +msgid "importing packages" +msgstr "" + +#. type: cindex +#: doc/guix.texi:6113 +#, no-wrap +msgid "package import" +msgstr "" + +#. type: cindex +#: doc/guix.texi:6114 +#, no-wrap +msgid "package conversion" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:6122 +msgid "" +"The @command{guix import} command is useful for people who would like to add " +"a package to the distribution with as little work as possible---a legitimate " +"demand. The command knows of a few repositories from which it can " +"``import'' package metadata. The result is a package definition, or a " +"template thereof, in the format we know (@pxref{Defining Packages})." +msgstr "" + +#. type: example +#: doc/guix.texi:6127 +#, no-wrap +msgid "guix import @var{importer} @var{options}@dots{}\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:6133 +msgid "" +"@var{importer} specifies the source from which to import package metadata, " +"and @var{options} specifies a package identifier and other options specific " +"to @var{importer}. Currently, the available ``importers'' are:" +msgstr "" + +#. type: item +#: doc/guix.texi:6135 doc/guix.texi:6588 +#, no-wrap +msgid "gnu" +msgstr "" + +#. type: table +#: doc/guix.texi:6139 +msgid "" +"Import metadata for the given GNU package. This provides a template for the " +"latest version of that GNU package, including the hash of its source " +"tarball, and its canonical synopsis and description." +msgstr "" + +#. type: table +#: doc/guix.texi:6142 +msgid "" +"Additional information such as the package dependencies and its license " +"needs to be figured out manually." +msgstr "" + +#. type: table +#: doc/guix.texi:6145 +msgid "" +"For example, the following command returns a package definition for " +"GNU@tie{}Hello:" +msgstr "" + +#. type: example +#: doc/guix.texi:6148 +#, no-wrap +msgid "guix import gnu hello\n" +msgstr "" + +#. type: table +#: doc/guix.texi:6151 doc/guix.texi:6369 doc/guix.texi:6414 doc/guix.texi:6438 +msgid "Specific command-line options are:" +msgstr "" + +#. type: item +#: doc/guix.texi:6153 doc/guix.texi:6689 +#, no-wrap +msgid "--key-download=@var{policy}" +msgstr "" + +#. type: table +#: doc/guix.texi:6157 +msgid "" +"As for @code{guix refresh}, specify the policy to handle missing OpenPGP " +"keys when verifying the package signature. @xref{Invoking guix refresh, " +"@code{--key-download}}." +msgstr "" + +#. type: item +#: doc/guix.texi:6159 doc/guix.texi:6160 doc/guix.texi:6606 +#, no-wrap +msgid "pypi" +msgstr "" + +#. type: table +#: doc/guix.texi:6168 +msgid "" +"Import metadata from the @uref{https://pypi.python.org/, Python Package " +"Index}@footnote{This functionality requires Guile-JSON to be installed. " +"@xref{Requirements}.}. Information is taken from the JSON-formatted " +"description available at @code{pypi.python.org} and usually includes all the " +"relevant information, including package dependencies. For maximum " +"efficiency, it is recommended to install the @command{unzip} utility, so " +"that the importer can unzip Python wheels and gather data from them." +msgstr "" + +#. type: table +#: doc/guix.texi:6171 +msgid "" +"The command below imports metadata for the @code{itsdangerous} Python " +"package:" +msgstr "" + +#. type: example +#: doc/guix.texi:6174 +#, no-wrap +msgid "guix import pypi itsdangerous\n" +msgstr "" + +#. type: item +#: doc/guix.texi:6176 doc/guix.texi:6177 doc/guix.texi:6608 +#, no-wrap +msgid "gem" +msgstr "" + +#. type: table +#: doc/guix.texi:6188 +msgid "" +"Import metadata from @uref{https://rubygems.org/, RubyGems}@footnote{This " +"functionality requires Guile-JSON to be installed. @xref{Requirements}.}. " +"Information is taken from the JSON-formatted description available at " +"@code{rubygems.org} and includes most relevant information, including " +"runtime dependencies. There are some caveats, however. The metadata " +"doesn't distinguish between synopses and descriptions, so the same string is " +"used for both fields. Additionally, the details of non-Ruby dependencies " +"required to build native extensions is unavailable and left as an exercise " +"to the packager." +msgstr "" + +#. type: table +#: doc/guix.texi:6190 +msgid "The command below imports metadata for the @code{rails} Ruby package:" +msgstr "" + +#. type: example +#: doc/guix.texi:6193 +#, no-wrap +msgid "guix import gem rails\n" +msgstr "" + +#. type: item +#: doc/guix.texi:6195 doc/guix.texi:6604 +#, no-wrap +msgid "cpan" +msgstr "" + +#. type: cindex +#: doc/guix.texi:6196 +#, no-wrap +msgid "CPAN" +msgstr "" + +#. type: table +#: doc/guix.texi:6206 +msgid "" +"Import metadata from @uref{https://www.metacpan.org/, " +"MetaCPAN}@footnote{This functionality requires Guile-JSON to be installed. " +"@xref{Requirements}.}. Information is taken from the JSON-formatted " +"metadata provided through @uref{https://fastapi.metacpan.org/, MetaCPAN's " +"API} and includes most relevant information, such as module dependencies. " +"License information should be checked closely. If Perl is available in the " +"store, then the @code{corelist} utility will be used to filter core modules " +"out of the list of dependencies." +msgstr "" + +#. type: table +#: doc/guix.texi:6209 +msgid "" +"The command command below imports metadata for the @code{Acme::Boolean} Perl " +"module:" +msgstr "" + +#. type: example +#: doc/guix.texi:6212 +#, no-wrap +msgid "guix import cpan Acme::Boolean\n" +msgstr "" + +#. type: item +#: doc/guix.texi:6214 doc/guix.texi:6600 +#, no-wrap +msgid "cran" +msgstr "" + +#. type: cindex +#: doc/guix.texi:6215 +#, no-wrap +msgid "CRAN" +msgstr "" + +#. type: cindex +#: doc/guix.texi:6216 +#, no-wrap +msgid "Bioconductor" +msgstr "" + +#. type: table +#: doc/guix.texi:6220 +msgid "" +"Import metadata from @uref{https://cran.r-project.org/, CRAN}, the central " +"repository for the @uref{http://r-project.org, GNU@tie{}R statistical and " +"graphical environment}." +msgstr "" + +#. type: table +#: doc/guix.texi:6222 +msgid "Information is extracted from the @code{DESCRIPTION} file of the package." +msgstr "" + +#. type: table +#: doc/guix.texi:6225 +msgid "The command command below imports metadata for the @code{Cairo} R package:" +msgstr "" + +#. type: example +#: doc/guix.texi:6228 +#, no-wrap +msgid "guix import cran Cairo\n" +msgstr "" + +#. type: table +#: doc/guix.texi:6233 +msgid "" +"When @code{--recursive} is added, the importer will traverse the dependency " +"graph of the given upstream package recursively and generate package " +"expressions for all those packages that are not yet in Guix." +msgstr "" + +#. type: table +#: doc/guix.texi:6238 +msgid "" +"When @code{--archive=bioconductor} is added, metadata is imported from " +"@uref{https://www.bioconductor.org/, Bioconductor}, a repository of R " +"packages for for the analysis and comprehension of high-throughput genomic " +"data in bioinformatics." +msgstr "" + +#. type: table +#: doc/guix.texi:6241 +msgid "" +"Information is extracted from the @code{DESCRIPTION} file of a package " +"published on the web interface of the Bioconductor SVN repository." +msgstr "" + +#. type: table +#: doc/guix.texi:6244 +msgid "The command below imports metadata for the @code{GenomicRanges} R package:" +msgstr "" + +#. type: example +#: doc/guix.texi:6247 +#, no-wrap +msgid "guix import cran --archive=bioconductor GenomicRanges\n" +msgstr "" + +#. type: item +#: doc/guix.texi:6249 +#, no-wrap +msgid "texlive" +msgstr "" + +#. type: cindex +#: doc/guix.texi:6250 +#, no-wrap +msgid "TeX Live" +msgstr "" + +#. type: cindex +#: doc/guix.texi:6251 +#, no-wrap +msgid "CTAN" +msgstr "" + +#. type: table +#: doc/guix.texi:6255 +msgid "" +"Import metadata from @uref{http://www.ctan.org/, CTAN}, the comprehensive " +"TeX archive network for TeX packages that are part of the " +"@uref{https://www.tug.org/texlive/, TeX Live distribution}." +msgstr "" + +#. type: table +#: doc/guix.texi:6260 +msgid "" +"Information about the package is obtained through the XML API provided by " +"CTAN, while the source code is downloaded from the SVN repository of the Tex " +"Live project. This is done because the CTAN does not keep versioned " +"archives." +msgstr "" + +#. type: table +#: doc/guix.texi:6263 +msgid "" +"The command command below imports metadata for the @code{fontspec} TeX " +"package:" +msgstr "" + +#. type: example +#: doc/guix.texi:6266 +#, no-wrap +msgid "guix import texlive fontspec\n" +msgstr "" + +#. type: table +#: doc/guix.texi:6272 +msgid "" +"When @code{--archive=DIRECTORY} is added, the source code is downloaded not " +"from the @file{latex} sub-directory of the @file{texmf-dist/source} tree in " +"the TeX Live SVN repository, but from the specified sibling directory under " +"the same root." +msgstr "" + +#. type: table +#: doc/guix.texi:6276 +msgid "" +"The command below imports metadata for the @code{ifxetex} package from CTAN " +"while fetching the sources from the directory @file{texmf/source/generic}:" +msgstr "" + +#. type: example +#: doc/guix.texi:6279 +#, no-wrap +msgid "guix import texlive --archive=generic ifxetex\n" +msgstr "" + +#. type: item +#: doc/guix.texi:6281 +#, no-wrap +msgid "json" +msgstr "" + +#. type: cindex +#: doc/guix.texi:6282 +#, no-wrap +msgid "JSON, import" +msgstr "" + +#. type: table +#: doc/guix.texi:6287 +msgid "" +"Import package metadata from a local JSON file@footnote{This functionality " +"requires Guile-JSON to be installed. @xref{Requirements}.}. Consider the " +"following example package definition in JSON format:" +msgstr "" + +#. type: example +#: doc/guix.texi:6300 +#, no-wrap +msgid "" +"@{\n" +" \"name\": \"hello\",\n" +" \"version\": \"2.10\",\n" +" \"source\": \"mirror://gnu/hello/hello-2.10.tar.gz\",\n" +" \"build-system\": \"gnu\",\n" +" \"home-page\": \"https://www.gnu.org/software/hello/\",\n" +" \"synopsis\": \"Hello, GNU world: An example GNU package\",\n" +" \"description\": \"GNU Hello prints a greeting.\",\n" +" \"license\": \"GPL-3.0+\",\n" +" \"native-inputs\": [\"gcc@@6\"]\n" +"@}\n" +msgstr "" + +#. type: table +#: doc/guix.texi:6306 +msgid "" +"The field names are the same as for the @code{<package>} record " +"(@xref{Defining Packages}). References to other packages are provided as " +"JSON lists of quoted package specification strings such as @code{guile} or " +"@code{guile@@2.0}." +msgstr "" + +#. type: table +#: doc/guix.texi:6309 +msgid "" +"The importer also supports a more explicit source definition using the " +"common fields for @code{<origin>} records:" +msgstr "" + +#. type: example +#: doc/guix.texi:6322 +#, no-wrap +msgid "" +"@{\n" +" @dots{}\n" +" \"source\": @{\n" +" \"method\": \"url-fetch\",\n" +" \"uri\": \"mirror://gnu/hello/hello-2.10.tar.gz\",\n" +" \"sha256\": @{\n" +" \"base32\": \"0ssi1wpaf7plaswqqjwigppsg5fyh99vdlb9kzl7c9lng89ndq1i\"\n" +" @}\n" +" @}\n" +" @dots{}\n" +"@}\n" +msgstr "" + +#. type: table +#: doc/guix.texi:6326 +msgid "" +"The command below reads metadata from the JSON file @code{hello.json} and " +"outputs a package expression:" +msgstr "" + +#. type: example +#: doc/guix.texi:6329 +#, no-wrap +msgid "guix import json hello.json\n" +msgstr "" + +#. type: item +#: doc/guix.texi:6331 +#, no-wrap +msgid "nix" +msgstr "" + +#. type: table +#: doc/guix.texi:6340 +msgid "" +"Import metadata from a local copy of the source of the " +"@uref{http://nixos.org/nixpkgs/, Nixpkgs distribution}@footnote{This relies " +"on the @command{nix-instantiate} command of @uref{http://nixos.org/nix/, " +"Nix}.}. Package definitions in Nixpkgs are typically written in a mixture " +"of Nix-language and Bash code. This command only imports the high-level " +"package structure that is written in the Nix language. It normally includes " +"all the basic fields of a package definition." +msgstr "" + +#. type: table +#: doc/guix.texi:6343 +msgid "" +"When importing a GNU package, the synopsis and descriptions are replaced by " +"their canonical upstream variant." +msgstr "" + +#. type: table +#: doc/guix.texi:6345 +msgid "Usually, you will first need to do:" +msgstr "" + +#. type: example +#: doc/guix.texi:6348 +#, no-wrap +msgid "export NIX_REMOTE=daemon\n" +msgstr "" + +#. type: table +#: doc/guix.texi:6352 +msgid "so that @command{nix-instantiate} does not try to open the Nix database." +msgstr "" + +#. type: table +#: doc/guix.texi:6356 +msgid "" +"As an example, the command below imports the package definition of " +"LibreOffice (more precisely, it imports the definition of the package bound " +"to the @code{libreoffice} top-level attribute):" +msgstr "" + +#. type: example +#: doc/guix.texi:6359 +#, no-wrap +msgid "guix import nix ~/path/to/nixpkgs libreoffice\n" +msgstr "" + +#. type: item +#: doc/guix.texi:6361 doc/guix.texi:6362 doc/guix.texi:6612 +#, no-wrap +msgid "hackage" +msgstr "" + +#. type: table +#: doc/guix.texi:6367 +msgid "" +"Import metadata from the Haskell community's central package archive " +"@uref{https://hackage.haskell.org/, Hackage}. Information is taken from " +"Cabal files and includes all the relevant information, including package " +"dependencies." +msgstr "" + +#. type: item +#: doc/guix.texi:6371 +#, no-wrap +msgid "--stdin" +msgstr "" + +#. type: itemx +#: doc/guix.texi:6372 +#, no-wrap +msgid "-s" +msgstr "" + +#. type: table +#: doc/guix.texi:6374 +msgid "Read a Cabal file from standard input." +msgstr "" + +#. type: item +#: doc/guix.texi:6374 doc/guix.texi:6416 +#, no-wrap +msgid "--no-test-dependencies" +msgstr "" + +#. type: itemx +#: doc/guix.texi:6375 doc/guix.texi:6417 +#, no-wrap +msgid "-t" +msgstr "" + +#. type: table +#: doc/guix.texi:6377 doc/guix.texi:6419 +msgid "Do not include dependencies required only by the test suites." +msgstr "" + +#. type: item +#: doc/guix.texi:6377 +#, no-wrap +msgid "--cabal-environment=@var{alist}" +msgstr "" + +#. type: itemx +#: doc/guix.texi:6378 +#, no-wrap +msgid "-e @var{alist}" +msgstr "" + +#. type: table +#: doc/guix.texi:6387 +msgid "" +"@var{alist} is a Scheme alist defining the environment in which the Cabal " +"conditionals are evaluated. The accepted keys are: @code{os}, @code{arch}, " +"@code{impl} and a string representing the name of a flag. The value " +"associated with a flag has to be either the symbol @code{true} or " +"@code{false}. The value associated with other keys has to conform to the " +"Cabal file format definition. The default value associated with the keys " +"@code{os}, @code{arch} and @code{impl} is @samp{linux}, @samp{x86_64} and " +"@samp{ghc}, respectively." +msgstr "" + +#. type: table +#: doc/guix.texi:6392 +msgid "" +"The command below imports metadata for the latest version of the @code{HTTP} " +"Haskell package without including test dependencies and specifying the value " +"of the flag @samp{network-uri} as @code{false}:" +msgstr "" + +#. type: example +#: doc/guix.texi:6395 +#, no-wrap +msgid "guix import hackage -t -e \"'((\\\"network-uri\\\" . false))\" HTTP\n" +msgstr "" + +#. type: table +#: doc/guix.texi:6399 +msgid "" +"A specific package version may optionally be specified by following the " +"package name by an at-sign and a version number as in the following example:" +msgstr "" + +#. type: example +#: doc/guix.texi:6402 +#, no-wrap +msgid "guix import hackage mtl@@2.1.3.1\n" +msgstr "" + +#. type: item +#: doc/guix.texi:6404 doc/guix.texi:6405 doc/guix.texi:6614 +#, no-wrap +msgid "stackage" +msgstr "" + +#. type: table +#: doc/guix.texi:6412 +msgid "" +"The @code{stackage} importer is a wrapper around the @code{hackage} one. It " +"takes a package name, looks up the package version included in a long-term " +"support (LTS) @uref{https://www.stackage.org, Stackage} release and uses the " +"@code{hackage} importer to retrieve its metadata. Note that it is up to you " +"to select an LTS release compatible with the GHC compiler used by Guix." +msgstr "" + +#. type: item +#: doc/guix.texi:6419 +#, no-wrap +msgid "--lts-version=@var{version}" +msgstr "" + +#. type: itemx +#: doc/guix.texi:6420 +#, no-wrap +msgid "-r @var{version}" +msgstr "" + +#. type: table +#: doc/guix.texi:6423 +msgid "" +"@var{version} is the desired LTS release version. If omitted the latest " +"release is used." +msgstr "" + +#. type: table +#: doc/guix.texi:6427 +msgid "" +"The command below imports metadata for the @code{HTTP} Haskell package " +"included in the LTS Stackage release version 7.18:" +msgstr "" + +#. type: example +#: doc/guix.texi:6430 +#, no-wrap +msgid "guix import stackage --lts-version=7.18 HTTP\n" +msgstr "" + +#. type: item +#: doc/guix.texi:6432 doc/guix.texi:6433 doc/guix.texi:6598 +#, no-wrap +msgid "elpa" +msgstr "" + +#. type: table +#: doc/guix.texi:6436 +msgid "" +"Import metadata from an Emacs Lisp Package Archive (ELPA) package repository " +"(@pxref{Packages,,, emacs, The GNU Emacs Manual})." +msgstr "" + +#. type: item +#: doc/guix.texi:6440 +#, no-wrap +msgid "--archive=@var{repo}" +msgstr "" + +#. type: itemx +#: doc/guix.texi:6441 +#, no-wrap +msgid "-a @var{repo}" +msgstr "" + +#. type: table +#: doc/guix.texi:6445 +msgid "" +"@var{repo} identifies the archive repository from which to retrieve the " +"information. Currently the supported repositories and their identifiers " +"are:" +msgstr "" + +#. type: itemize +#: doc/guix.texi:6449 +msgid "" +"@uref{http://elpa.gnu.org/packages, GNU}, selected by the @code{gnu} " +"identifier. This is the default." +msgstr "" + +#. type: itemize +#: doc/guix.texi:6455 +msgid "" +"Packages from @code{elpa.gnu.org} are signed with one of the keys contained " +"in the GnuPG keyring at @file{share/emacs/25.1/etc/package-keyring.gpg} (or " +"similar) in the @code{emacs} package (@pxref{Package Installation, ELPA " +"package signatures,, emacs, The GNU Emacs Manual})." +msgstr "" + +#. type: itemize +#: doc/guix.texi:6459 +msgid "" +"@uref{http://stable.melpa.org/packages, MELPA-Stable}, selected by the " +"@code{melpa-stable} identifier." +msgstr "" + +#. type: itemize +#: doc/guix.texi:6463 +msgid "" +"@uref{http://melpa.org/packages, MELPA}, selected by the @code{melpa} " +"identifier." +msgstr "" + +#. type: item +#: doc/guix.texi:6466 doc/guix.texi:6467 doc/guix.texi:6616 +#, no-wrap +msgid "crate" +msgstr "" + +#. type: table +#: doc/guix.texi:6470 +msgid "" +"Import metadata from the crates.io Rust package repository " +"@uref{https://crates.io, crates.io}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:6475 +msgid "" +"The structure of the @command{guix import} code is modular. It would be " +"useful to have more importers for other package formats, and your help is " +"welcome here (@pxref{Contributing})." +msgstr "" + +#. type: section +#: doc/guix.texi:6477 +#, no-wrap +msgid "Invoking @command{guix refresh}" +msgstr "" + +#. type: command{#1} +#: doc/guix.texi:6479 +#, no-wrap +msgid "guix refresh" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:6484 +msgid "" +"The primary audience of the @command{guix refresh} command is developers of " +"the GNU software distribution. By default, it reports any packages provided " +"by the distribution that are outdated compared to the latest upstream " +"version, like this:" +msgstr "" + +#. type: example +#: doc/guix.texi:6489 +#, no-wrap +msgid "" +"$ guix refresh\n" +"gnu/packages/gettext.scm:29:13: gettext would be upgraded from 0.18.1.1 to " +"0.18.2.1\n" +"gnu/packages/glib.scm:77:12: glib would be upgraded from 2.34.3 to 2.37.0\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:6493 +msgid "" +"Alternately, one can specify packages to consider, in which case a warning " +"is emitted for packages that lack an updater:" +msgstr "" + +#. type: example +#: doc/guix.texi:6498 +#, no-wrap +msgid "" +"$ guix refresh coreutils guile guile-ssh\n" +"gnu/packages/ssh.scm:205:2: warning: no updater for guile-ssh\n" +"gnu/packages/guile.scm:136:12: guile would be upgraded from 2.0.12 to " +"2.0.13\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:6507 +msgid "" +"@command{guix refresh} browses the upstream repository of each package and " +"determines the highest version number of the releases therein. The command " +"knows how to update specific types of packages: GNU packages, ELPA packages, " +"etc.---see the documentation for @option{--type} below. There are many " +"packages, though, for which it lacks a method to determine whether a new " +"upstream release is available. However, the mechanism is extensible, so " +"feel free to get in touch with us to add a new method!" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:6512 +msgid "" +"Sometimes the upstream name differs from the package name used in Guix, and " +"@command{guix refresh} needs a little help. Most updaters honor the " +"@code{upstream-name} property in package definitions, which can be used to " +"that effect:" +msgstr "" + +#. type: example +#: doc/guix.texi:6519 +#, no-wrap +msgid "" +"(define-public network-manager\n" +" (package\n" +" (name \"network-manager\")\n" +" ;; @dots{}\n" +" (properties '((upstream-name . \"NetworkManager\")))))\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:6531 +msgid "" +"When passed @code{--update}, it modifies distribution source files to update " +"the version numbers and source tarball hashes of those package recipes " +"(@pxref{Defining Packages}). This is achieved by downloading each package's " +"latest source tarball and its associated OpenPGP signature, authenticating " +"the downloaded tarball against its signature using @command{gpg}, and " +"finally computing its hash. When the public key used to sign the tarball is " +"missing from the user's keyring, an attempt is made to automatically " +"retrieve it from a public key server; when this is successful, the key is " +"added to the user's keyring; otherwise, @command{guix refresh} reports an " +"error." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:6533 +msgid "The following options are supported:" +msgstr "" + +#. type: table +#: doc/guix.texi:6541 doc/guix.texi:7102 +msgid "This is useful to precisely refer to a package, as in this example:" +msgstr "" + +#. type: example +#: doc/guix.texi:6544 +#, no-wrap +msgid "guix refresh -l -e '(@@@@ (gnu packages commencement) glibc-final)'\n" +msgstr "" + +#. type: table +#: doc/guix.texi:6548 +msgid "" +"This command lists the dependents of the ``final'' libc (essentially all the " +"packages.)" +msgstr "" + +#. type: item +#: doc/guix.texi:6549 +#, no-wrap +msgid "--update" +msgstr "" + +#. type: itemx +#: doc/guix.texi:6550 +#, no-wrap +msgid "-u" +msgstr "" + +#. type: table +#: doc/guix.texi:6554 +msgid "" +"Update distribution source files (package recipes) in place. This is " +"usually run from a checkout of the Guix source tree (@pxref{Running Guix " +"Before It Is Installed}):" +msgstr "" + +#. type: example +#: doc/guix.texi:6557 +#, no-wrap +msgid "$ ./pre-inst-env guix refresh -s non-core -u\n" +msgstr "" + +#. type: table +#: doc/guix.texi:6560 +msgid "@xref{Defining Packages}, for more information on package definitions." +msgstr "" + +#. type: item +#: doc/guix.texi:6561 +#, no-wrap +msgid "--select=[@var{subset}]" +msgstr "" + +#. type: itemx +#: doc/guix.texi:6562 +#, no-wrap +msgid "-s @var{subset}" +msgstr "" + +#. type: table +#: doc/guix.texi:6565 +msgid "" +"Select all the packages in @var{subset}, one of @code{core} or " +"@code{non-core}." +msgstr "" + +#. type: table +#: doc/guix.texi:6572 +msgid "" +"The @code{core} subset refers to all the packages at the core of the " +"distribution---i.e., packages that are used to build ``everything else''. " +"This includes GCC, libc, Binutils, Bash, etc. Usually, changing one of " +"these packages in the distribution entails a rebuild of all the others. " +"Thus, such updates are an inconvenience to users in terms of build time or " +"bandwidth used to achieve the upgrade." +msgstr "" + +#. type: table +#: doc/guix.texi:6576 +msgid "" +"The @code{non-core} subset refers to the remaining packages. It is " +"typically useful in cases where an update of the core packages would be " +"inconvenient." +msgstr "" + +#. type: table +#: doc/guix.texi:6581 +msgid "" +"Select all the packages from the manifest in @var{file}. This is useful to " +"check if any packages of the user manifest can be updated." +msgstr "" + +#. type: item +#: doc/guix.texi:6582 +#, no-wrap +msgid "--type=@var{updater}" +msgstr "" + +#. type: itemx +#: doc/guix.texi:6583 +#, no-wrap +msgid "-t @var{updater}" +msgstr "" + +#. type: table +#: doc/guix.texi:6586 +msgid "" +"Select only packages handled by @var{updater} (may be a comma-separated list " +"of updaters). Currently, @var{updater} may be one of:" +msgstr "" + +#. type: table +#: doc/guix.texi:6590 +msgid "the updater for GNU packages;" +msgstr "" + +#. type: item +#: doc/guix.texi:6590 +#, no-wrap +msgid "gnome" +msgstr "" + +#. type: table +#: doc/guix.texi:6592 +msgid "the updater for GNOME packages;" +msgstr "" + +#. type: item +#: doc/guix.texi:6592 +#, no-wrap +msgid "kde" +msgstr "" + +#. type: table +#: doc/guix.texi:6594 +msgid "the updater for KDE packages;" +msgstr "" + +#. type: item +#: doc/guix.texi:6594 +#, no-wrap +msgid "xorg" +msgstr "" + +#. type: table +#: doc/guix.texi:6596 +msgid "the updater for X.org packages;" +msgstr "" + +#. type: item +#: doc/guix.texi:6596 +#, no-wrap +msgid "kernel.org" +msgstr "" + +#. type: table +#: doc/guix.texi:6598 +msgid "the updater for packages hosted on kernel.org;" +msgstr "" + +#. type: table +#: doc/guix.texi:6600 +msgid "the updater for @uref{http://elpa.gnu.org/, ELPA} packages;" +msgstr "" + +#. type: table +#: doc/guix.texi:6602 +msgid "the updater for @uref{https://cran.r-project.org/, CRAN} packages;" +msgstr "" + +#. type: item +#: doc/guix.texi:6602 +#, no-wrap +msgid "bioconductor" +msgstr "" + +#. type: table +#: doc/guix.texi:6604 +msgid "" +"the updater for @uref{https://www.bioconductor.org/, Bioconductor} R " +"packages;" +msgstr "" + +#. type: table +#: doc/guix.texi:6606 +msgid "the updater for @uref{http://www.cpan.org/, CPAN} packages;" +msgstr "" + +#. type: table +#: doc/guix.texi:6608 +msgid "the updater for @uref{https://pypi.python.org, PyPI} packages." +msgstr "" + +#. type: table +#: doc/guix.texi:6610 +msgid "the updater for @uref{https://rubygems.org, RubyGems} packages." +msgstr "" + +#. type: item +#: doc/guix.texi:6610 +#, no-wrap +msgid "github" +msgstr "" + +#. type: table +#: doc/guix.texi:6612 +msgid "the updater for @uref{https://github.com, GitHub} packages." +msgstr "" + +#. type: table +#: doc/guix.texi:6614 +msgid "the updater for @uref{https://hackage.haskell.org, Hackage} packages." +msgstr "" + +#. type: table +#: doc/guix.texi:6616 +msgid "the updater for @uref{https://www.stackage.org, Stackage} packages." +msgstr "" + +#. type: table +#: doc/guix.texi:6618 +msgid "the updater for @uref{https://crates.io, Crates} packages." +msgstr "" + +#. type: table +#: doc/guix.texi:6622 +msgid "" +"For instance, the following command only checks for updates of Emacs " +"packages hosted at @code{elpa.gnu.org} and for updates of CRAN packages:" +msgstr "" + +#. type: example +#: doc/guix.texi:6627 +#, no-wrap +msgid "" +"$ guix refresh --type=elpa,cran\n" +"gnu/packages/statistics.scm:819:13: r-testthat would be upgraded from 0.10.0 " +"to 0.11.0\n" +"gnu/packages/emacs.scm:856:13: emacs-auctex would be upgraded from 11.88.6 " +"to 11.88.9\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:6633 +msgid "" +"In addition, @command{guix refresh} can be passed one or more package names, " +"as in this example:" +msgstr "" + +#. type: example +#: doc/guix.texi:6636 +#, no-wrap +msgid "$ ./pre-inst-env guix refresh -u emacs idutils gcc@@4.8\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:6642 +msgid "" +"The command above specifically updates the @code{emacs} and @code{idutils} " +"packages. The @code{--select} option would have no effect in this case." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:6647 +msgid "" +"When considering whether to upgrade a package, it is sometimes convenient to " +"know which packages would be affected by the upgrade and should be checked " +"for compatibility. For this the following option may be used when passing " +"@command{guix refresh} one or more package names:" +msgstr "" + +#. type: item +#: doc/guix.texi:6650 +#, no-wrap +msgid "--list-updaters" +msgstr "" + +#. type: itemx +#: doc/guix.texi:6651 +#, no-wrap +msgid "-L" +msgstr "" + +#. type: table +#: doc/guix.texi:6653 +msgid "List available updaters and exit (see @option{--type} above.)" +msgstr "" + +#. type: table +#: doc/guix.texi:6656 +msgid "" +"For each updater, display the fraction of packages it covers; at the end, " +"display the fraction of packages covered by all these updaters." +msgstr "" + +#. type: item +#: doc/guix.texi:6657 +#, no-wrap +msgid "--list-dependent" +msgstr "" + +#. type: itemx +#: doc/guix.texi:6658 doc/guix.texi:6803 +#, no-wrap +msgid "-l" +msgstr "" + +#. type: table +#: doc/guix.texi:6661 +msgid "" +"List top-level dependent packages that would need to be rebuilt as a result " +"of upgrading one or more packages." +msgstr "" + +#. type: table +#: doc/guix.texi:6665 +msgid "" +"@xref{Invoking guix graph, the @code{reverse-package} type of @command{guix " +"graph}}, for information on how to visualize the list of dependents of a " +"package." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:6671 +msgid "" +"Be aware that the @code{--list-dependent} option only @emph{approximates} " +"the rebuilds that would be required as a result of an upgrade. More " +"rebuilds might be required under some circumstances." +msgstr "" + +#. type: example +#: doc/guix.texi:6676 +#, no-wrap +msgid "" +"$ guix refresh --list-dependent flex\n" +"Building the following 120 packages would ensure 213 dependent packages are " +"rebuilt:\n" +"hop@@2.4.0 geiser@@0.4 notmuch@@0.18 mu@@0.9.9.5 cflow@@1.4 idutils@@4.6 " +"@dots{}\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:6680 +msgid "" +"The command above lists a set of packages that could be built to check for " +"compatibility with an upgraded @code{flex} package." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:6682 +msgid "The following options can be used to customize GnuPG operation:" +msgstr "" + +#. type: item +#: doc/guix.texi:6685 +#, no-wrap +msgid "--gpg=@var{command}" +msgstr "" + +#. type: table +#: doc/guix.texi:6688 +msgid "" +"Use @var{command} as the GnuPG 2.x command. @var{command} is searched for " +"in @code{$PATH}." +msgstr "" + +#. type: table +#: doc/guix.texi:6692 +msgid "Handle missing OpenPGP keys according to @var{policy}, which may be one of:" +msgstr "" + +#. type: item +#: doc/guix.texi:6694 doc/guix.texi:13670 +#, no-wrap +msgid "always" +msgstr "" + +#. type: table +#: doc/guix.texi:6697 +msgid "" +"Always download missing OpenPGP keys from the key server, and add them to " +"the user's GnuPG keyring." +msgstr "" + +#. type: item +#: doc/guix.texi:6698 doc/guix.texi:13672 +#, no-wrap +msgid "never" +msgstr "" + +#. type: table +#: doc/guix.texi:6700 +msgid "Never try to download missing OpenPGP keys. Instead just bail out." +msgstr "" + +#. type: item +#: doc/guix.texi:6701 +#, no-wrap +msgid "interactive" +msgstr "" + +#. type: table +#: doc/guix.texi:6704 +msgid "" +"When a package signed with an unknown OpenPGP key is encountered, ask the " +"user whether to download it or not. This is the default behavior." +msgstr "" + +#. type: item +#: doc/guix.texi:6706 +#, no-wrap +msgid "--key-server=@var{host}" +msgstr "" + +#. type: table +#: doc/guix.texi:6708 +msgid "Use @var{host} as the OpenPGP key server when importing a public key." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:6721 +msgid "" +"The @code{github} updater uses the @uref{https://developer.github.com/v3/, " +"GitHub API} to query for new releases. When used repeatedly e.g. when " +"refreshing all packages, GitHub will eventually refuse to answer any further " +"API requests. By default 60 API requests per hour are allowed, and a full " +"refresh on all GitHub packages in Guix requires more than this. " +"Authentication with GitHub through the use of an API token alleviates these " +"limits. To use an API token, set the environment variable " +"@code{GUIX_GITHUB_TOKEN} to a token procured from " +"@uref{https://github.com/settings/tokens} or otherwise." +msgstr "" + +#. type: section +#: doc/guix.texi:6724 +#, no-wrap +msgid "Invoking @command{guix lint}" +msgstr "" + +#. type: command{#1} +#: doc/guix.texi:6726 +#, no-wrap +msgid "guix lint" +msgstr "" + +#. type: cindex +#: doc/guix.texi:6727 +#, no-wrap +msgid "package, checking for errors" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:6733 +msgid "" +"The @command{guix lint} command is meant to help package developers avoid " +"common errors and use a consistent style. It runs a number of checks on a " +"given set of packages in order to find common mistakes in their " +"definitions. Available @dfn{checkers} include (see @code{--list-checkers} " +"for a complete list):" +msgstr "" + +#. type: table +#: doc/guix.texi:6739 +msgid "" +"Validate certain typographical and stylistic rules about package " +"descriptions and synopses." +msgstr "" + +#. type: item +#: doc/guix.texi:6740 +#, no-wrap +msgid "inputs-should-be-native" +msgstr "" + +#. type: table +#: doc/guix.texi:6742 +msgid "Identify inputs that should most likely be native inputs." +msgstr "" + +#. type: itemx +#: doc/guix.texi:6745 +#, no-wrap +msgid "mirror-url" +msgstr "" + +#. type: itemx +#: doc/guix.texi:6746 +#, no-wrap +msgid "source-file-name" +msgstr "" + +#. type: table +#: doc/guix.texi:6752 +msgid "" +"Probe @code{home-page} and @code{source} URLs and report those that are " +"invalid. Suggest a @code{mirror://} URL when applicable. Check that the " +"source file name is meaningful, e.g. is not just a version number or " +"``git-checkout'', without a declared @code{file-name} (@pxref{origin " +"Reference})." +msgstr "" + +#. type: item +#: doc/guix.texi:6753 +#, no-wrap +msgid "cve" +msgstr "" + +#. type: cindex +#: doc/guix.texi:6754 doc/guix.texi:21440 +#, no-wrap +msgid "security vulnerabilities" +msgstr "" + +#. type: cindex +#: doc/guix.texi:6755 +#, no-wrap +msgid "CVE, Common Vulnerabilities and Exposures" +msgstr "" + +#. type: table +#: doc/guix.texi:6760 +msgid "" +"Report known vulnerabilities found in the Common Vulnerabilities and " +"Exposures (CVE) databases of the current and past year " +"@uref{https://nvd.nist.gov/download.cfm#CVE_FEED, published by the US NIST}." +msgstr "" + +#. type: table +#: doc/guix.texi:6762 +msgid "To view information about a particular vulnerability, visit pages such as:" +msgstr "" + +#. type: indicateurl{#1} +#: doc/guix.texi:6766 +msgid "https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-YYYY-ABCD" +msgstr "" + +#. type: indicateurl{#1} +#: doc/guix.texi:6768 +msgid "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-YYYY-ABCD" +msgstr "" + +#. type: table +#: doc/guix.texi:6773 +msgid "" +"where @code{CVE-YYYY-ABCD} is the CVE identifier---e.g., " +"@code{CVE-2015-7554}." +msgstr "" + +#. type: table +#: doc/guix.texi:6778 +msgid "" +"Package developers can specify in package recipes the " +"@uref{https://nvd.nist.gov/cpe.cfm,Common Platform Enumeration (CPE)} name " +"and version of the package when they differ from the name that Guix uses, as " +"in this example:" +msgstr "" + +#. type: example +#: doc/guix.texi:6785 +#, no-wrap +msgid "" +"(package\n" +" (name \"grub\")\n" +" ;; @dots{}\n" +" ;; CPE calls this package \"grub2\".\n" +" (properties '((cpe-name . \"grub2\"))))\n" +msgstr "" + +#. type: item +#: doc/guix.texi:6787 +#, no-wrap +msgid "formatting" +msgstr "" + +#. type: table +#: doc/guix.texi:6790 +msgid "" +"Warn about obvious source code formatting issues: trailing white space, use " +"of tabulations, etc." +msgstr "" + +#. type: example +#: doc/guix.texi:6796 +#, no-wrap +msgid "guix lint @var{options} @var{package}@dots{}\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:6800 +msgid "" +"If no package is given on the command line, then all packages are checked. " +"The @var{options} may be zero or more of the following:" +msgstr "" + +#. type: item +#: doc/guix.texi:6802 +#, no-wrap +msgid "--list-checkers" +msgstr "" + +#. type: table +#: doc/guix.texi:6806 +msgid "" +"List and describe all the available checkers that will be run on packages " +"and exit." +msgstr "" + +#. type: item +#: doc/guix.texi:6807 +#, no-wrap +msgid "--checkers" +msgstr "" + +#. type: itemx +#: doc/guix.texi:6808 +#, no-wrap +msgid "-c" +msgstr "" + +#. type: table +#: doc/guix.texi:6811 +msgid "" +"Only enable the checkers specified in a comma-separated list using the names " +"returned by @code{--list-checkers}." +msgstr "" + +#. type: section +#: doc/guix.texi:6815 +#, no-wrap +msgid "Invoking @command{guix size}" +msgstr "" + +#. type: cindex +#: doc/guix.texi:6817 +#, no-wrap +msgid "size" +msgstr "" + +#. type: cindex +#: doc/guix.texi:6818 +#, no-wrap +msgid "package size" +msgstr "" + +#. type: command{#1} +#: doc/guix.texi:6820 +#, no-wrap +msgid "guix size" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:6827 +msgid "" +"The @command{guix size} command helps package developers profile the disk " +"usage of packages. It is easy to overlook the impact of an additional " +"dependency added to a package, or the impact of using a single output for a " +"package that could easily be split (@pxref{Packages with Multiple " +"Outputs}). Such are the typical issues that @command{guix size} can " +"highlight." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:6831 +msgid "" +"The command can be passed a package specification such as @code{gcc@@4.8} or " +"@code{guile:debug}, or a file name in the store. Consider this example:" +msgstr "" + +#. type: example +#: doc/guix.texi:6841 +#, no-wrap +msgid "" +"$ guix size coreutils\n" +"store item total self\n" +"/gnu/store/@dots{}-coreutils-8.23 70.0 13.9 19.8%\n" +"/gnu/store/@dots{}-gmp-6.0.0a 55.3 2.5 3.6%\n" +"/gnu/store/@dots{}-acl-2.2.52 53.7 0.5 0.7%\n" +"/gnu/store/@dots{}-attr-2.4.46 53.2 0.3 0.5%\n" +"/gnu/store/@dots{}-gcc-4.8.4-lib 52.9 15.7 22.4%\n" +"/gnu/store/@dots{}-glibc-2.21 37.2 37.2 53.1%\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:6847 +msgid "" +"The store items listed here constitute the @dfn{transitive closure} of " +"Coreutils---i.e., Coreutils and all its dependencies, recursively---as would " +"be returned by:" +msgstr "" + +#. type: example +#: doc/guix.texi:6850 +#, no-wrap +msgid "$ guix gc -R /gnu/store/@dots{}-coreutils-8.23\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:6858 +msgid "" +"Here the output shows three columns next to store items. The first column, " +"labeled ``total'', shows the size in mebibytes (MiB) of the closure of the " +"store item---that is, its own size plus the size of all its dependencies. " +"The next column, labeled ``self'', shows the size of the item itself. The " +"last column shows the ratio of the size of the item itself to the space " +"occupied by all the items listed here." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:6863 +msgid "" +"In this example, we see that the closure of Coreutils weighs in at " +"70@tie{}MiB, half of which is taken by libc. (That libc represents a large " +"fraction of the closure is not a problem @i{per se} because it is always " +"available on the system anyway.)" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:6869 +msgid "" +"When the package passed to @command{guix size} is available in the store, " +"@command{guix size} queries the daemon to determine its dependencies, and " +"measures its size in the store, similar to @command{du -ms --apparent-size} " +"(@pxref{du invocation,,, coreutils, GNU Coreutils})." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:6874 +msgid "" +"When the given package is @emph{not} in the store, @command{guix size} " +"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." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:6876 +msgid "You can also specify several package names:" +msgstr "" + +#. type: example +#: doc/guix.texi:6886 +#, no-wrap +msgid "" +"$ guix size coreutils grep sed bash\n" +"store item total self\n" +"/gnu/store/@dots{}-coreutils-8.24 77.8 13.8 13.4%\n" +"/gnu/store/@dots{}-grep-2.22 73.1 0.8 0.8%\n" +"/gnu/store/@dots{}-bash-4.3.42 72.3 4.7 4.6%\n" +"/gnu/store/@dots{}-readline-6.3 67.6 1.2 1.2%\n" +"@dots{}\n" +"total: 102.3 MiB\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:6892 +msgid "" +"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." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:6894 +msgid "The available options are:" +msgstr "" + +#. type: table +#: doc/guix.texi:6900 +msgid "" +"Use substitute information from @var{urls}. @xref{client-substitute-urls, " +"the same option for @code{guix build}}." +msgstr "" + +#. type: item +#: doc/guix.texi:6901 +#, no-wrap +msgid "--sort=@var{key}" +msgstr "" + +#. type: table +#: doc/guix.texi:6903 +msgid "Sort lines according to @var{key}, one of the following options:" +msgstr "" + +#. type: item +#: doc/guix.texi:6905 +#, no-wrap +msgid "self" +msgstr "" + +#. type: table +#: doc/guix.texi:6907 +msgid "the size of each item (the default);" +msgstr "" + +#. type: table +#: doc/guix.texi:6909 +msgid "the total size of the item's closure." +msgstr "" + +#. type: item +#: doc/guix.texi:6911 +#, no-wrap +msgid "--map-file=@var{file}" +msgstr "" + +#. type: table +#: doc/guix.texi:6913 +msgid "Write a graphical map of disk usage in PNG format to @var{file}." +msgstr "" + +#. type: table +#: doc/guix.texi:6915 +msgid "For the example above, the map looks like this:" +msgstr "" + +#. type: table +#: doc/guix.texi:6918 +msgid "" +"@image{images/coreutils-size-map,5in,, map of Coreutils disk usage produced " +"by @command{guix size}}" +msgstr "" + +#. type: table +#: doc/guix.texi:6923 +msgid "" +"This option requires that " +"@uref{http://wingolog.org/software/guile-charting/, Guile-Charting} be " +"installed and visible in Guile's module search path. When that is not the " +"case, @command{guix size} fails as it tries to load it." +msgstr "" + +#. type: table +#: doc/guix.texi:6927 +msgid "Consider packages for @var{system}---e.g., @code{x86_64-linux}." +msgstr "" + +#. type: section +#: doc/guix.texi:6931 +#, no-wrap +msgid "Invoking @command{guix graph}" +msgstr "" + +#. type: cindex +#: doc/guix.texi:6933 +#, no-wrap +msgid "DAG" +msgstr "" + +#. type: command{#1} +#: doc/guix.texi:6934 +#, no-wrap +msgid "guix graph" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:6948 +msgid "" +"Packages and their dependencies form a @dfn{graph}, specifically a directed " +"acyclic graph (DAG). It can quickly become difficult to have a mental model " +"of the package DAG, so the @command{guix graph} command provides a visual " +"representation of the DAG. By default, @command{guix graph} emits a DAG " +"representation in the input format of @uref{http://www.graphviz.org/, " +"Graphviz}, so its output can be passed directly to the @command{dot} command " +"of Graphviz. It can also emit an HTML page with embedded JavaScript code to " +"display a ``chord diagram'' in a Web browser, using the " +"@uref{https://d3js.org/, d3.js} library, or emit Cypher queries to construct " +"a graph in a graph database supporting the @uref{http://www.opencypher.org/, " +"openCypher} query language. The general syntax is:" +msgstr "" + +#. type: example +#: doc/guix.texi:6951 +#, no-wrap +msgid "guix graph @var{options} @var{package}@dots{}\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:6956 +msgid "" +"For example, the following command generates a PDF file representing the " +"package DAG for the GNU@tie{}Core Utilities, showing its build-time " +"dependencies:" +msgstr "" + +#. type: example +#: doc/guix.texi:6959 +#, no-wrap +msgid "guix graph coreutils | dot -Tpdf > dag.pdf\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:6962 +msgid "The output looks like this:" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:6964 +msgid "@image{images/coreutils-graph,2in,,Dependency graph of the GNU Coreutils}" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:6966 +msgid "Nice little graph, no?" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:6972 +msgid "" +"But there is more than one graph! The one above is concise: it is the graph " +"of package objects, omitting implicit inputs such as GCC, libc, grep, etc. " +"It is often useful to have such a concise graph, but sometimes one may want " +"to see more details. @command{guix graph} supports several types of graphs, " +"allowing you to choose the level of detail:" +msgstr "" + +#. type: table +#: doc/guix.texi:6978 +msgid "" +"This is the default type used in the example above. It shows the DAG of " +"package objects, excluding implicit dependencies. It is concise, but " +"filters out many details." +msgstr "" + +#. type: item +#: doc/guix.texi:6979 +#, no-wrap +msgid "reverse-package" +msgstr "" + +#. type: table +#: doc/guix.texi:6981 +msgid "This shows the @emph{reverse} DAG of packages. For example:" +msgstr "" + +#. type: example +#: doc/guix.texi:6984 +#, no-wrap +msgid "guix graph --type=reverse-package ocaml\n" +msgstr "" + +#. type: table +#: doc/guix.texi:6987 +msgid "... yields the graph of packages that depend on OCaml." +msgstr "" + +#. type: table +#: doc/guix.texi:6992 +msgid "" +"Note that for core packages this can yield huge graphs. If all you want is " +"to know the number of packages that depend on a given package, use " +"@command{guix refresh --list-dependent} (@pxref{Invoking guix refresh, " +"@option{--list-dependent}})." +msgstr "" + +#. type: item +#: doc/guix.texi:6993 +#, no-wrap +msgid "bag-emerged" +msgstr "" + +#. type: table +#: doc/guix.texi:6995 +msgid "This is the package DAG, @emph{including} implicit inputs." +msgstr "" + +#. type: table +#: doc/guix.texi:6997 +msgid "For instance, the following command:" +msgstr "" + +#. type: example +#: doc/guix.texi:7000 +#, no-wrap +msgid "guix graph --type=bag-emerged coreutils | dot -Tpdf > dag.pdf\n" +msgstr "" + +#. type: table +#: doc/guix.texi:7003 +msgid "... yields this bigger graph:" +msgstr "" + +#. type: table +#: doc/guix.texi:7005 +msgid "" +"@image{images/coreutils-bag-graph,,5in,Detailed dependency graph of the GNU " +"Coreutils}" +msgstr "" + +#. type: table +#: doc/guix.texi:7008 +msgid "" +"At the bottom of the graph, we see all the implicit inputs of " +"@var{gnu-build-system} (@pxref{Build Systems, @code{gnu-build-system}})." +msgstr "" + +#. type: table +#: doc/guix.texi:7012 +msgid "" +"Now, note that the dependencies of these implicit inputs---that is, the " +"@dfn{bootstrap dependencies} (@pxref{Bootstrapping})---are not shown here, " +"for conciseness." +msgstr "" + +#. type: item +#: doc/guix.texi:7013 +#, no-wrap +msgid "bag" +msgstr "" + +#. type: table +#: doc/guix.texi:7016 +msgid "" +"Similar to @code{bag-emerged}, but this time including all the bootstrap " +"dependencies." +msgstr "" + +#. type: item +#: doc/guix.texi:7017 +#, no-wrap +msgid "bag-with-origins" +msgstr "" + +#. type: table +#: doc/guix.texi:7019 +msgid "Similar to @code{bag}, but also showing origins and their dependencies." +msgstr "" + +#. type: table +#: doc/guix.texi:7025 +msgid "" +"This is the most detailed representation: It shows the DAG of derivations " +"(@pxref{Derivations}) and plain store items. Compared to the above " +"representation, many additional nodes are visible, including build scripts, " +"patches, Guile modules, etc." +msgstr "" + +#. type: table +#: doc/guix.texi:7028 +msgid "" +"For this type of graph, it is also possible to pass a @file{.drv} file name " +"instead of a package name, as in:" +msgstr "" + +#. type: example +#: doc/guix.texi:7031 +#, no-wrap +msgid "guix graph -t derivation `guix system build -d my-config.scm`\n" +msgstr "" + +#. type: item +#: doc/guix.texi:7033 +#, no-wrap +msgid "module" +msgstr "" + +#. type: table +#: doc/guix.texi:7037 +msgid "" +"This is the graph of @dfn{package modules} (@pxref{Package Modules}). For " +"example, the following command shows the graph for the package module that " +"defines the @code{guile} package:" +msgstr "" + +#. type: example +#: doc/guix.texi:7040 +#, no-wrap +msgid "guix graph -t module guile | dot -Tpdf > module-graph.pdf\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:7045 +msgid "" +"All the types above correspond to @emph{build-time dependencies}. The " +"following graph type represents the @emph{run-time dependencies}:" +msgstr "" + +#. type: item +#: doc/guix.texi:7047 +#, no-wrap +msgid "references" +msgstr "" + +#. type: table +#: doc/guix.texi:7050 +msgid "" +"This is the graph of @dfn{references} of a package output, as returned by " +"@command{guix gc --references} (@pxref{Invoking guix gc})." +msgstr "" + +#. type: table +#: doc/guix.texi:7053 +msgid "" +"If the given package output is not available in the store, @command{guix " +"graph} attempts to obtain dependency information from substitutes." +msgstr "" + +#. type: table +#: doc/guix.texi:7057 +msgid "" +"Here you can also pass a store file name instead of a package name. For " +"example, the command below produces the reference graph of your profile " +"(which can be big!):" +msgstr "" + +#. type: example +#: doc/guix.texi:7060 +#, no-wrap +msgid "guix graph -t references `readlink -f ~/.guix-profile`\n" +msgstr "" + +#. type: item +#: doc/guix.texi:7062 +#, no-wrap +msgid "referrers" +msgstr "" + +#. type: table +#: doc/guix.texi:7065 +msgid "" +"This is the graph of the @dfn{referrers} of a store item, as returned by " +"@command{guix gc --referrers} (@pxref{Invoking guix gc})." +msgstr "" + +#. type: table +#: doc/guix.texi:7071 +msgid "" +"This relies exclusively on local information from your store. For instance, " +"let us suppose that the current Inkscape is available in 10 profiles on your " +"machine; @command{guix graph -t referrers inkscape} will show a graph rooted " +"at Inkscape and with those 10 profiles linked to it." +msgstr "" + +#. type: table +#: doc/guix.texi:7074 +msgid "" +"It can help determine what is preventing a store item from being garbage " +"collected." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:7078 +msgid "The available options are the following:" +msgstr "" + +#. type: item +#: doc/guix.texi:7080 +#, no-wrap +msgid "--type=@var{type}" +msgstr "" + +#. type: itemx +#: doc/guix.texi:7081 doc/guix.texi:20558 +#, no-wrap +msgid "-t @var{type}" +msgstr "" + +#. type: table +#: doc/guix.texi:7084 +msgid "" +"Produce a graph output of @var{type}, where @var{type} must be one of the " +"values listed above." +msgstr "" + +#. type: item +#: doc/guix.texi:7085 +#, no-wrap +msgid "--list-types" +msgstr "" + +#. type: table +#: doc/guix.texi:7087 +msgid "List the supported graph types." +msgstr "" + +#. type: item +#: doc/guix.texi:7088 +#, no-wrap +msgid "--backend=@var{backend}" +msgstr "" + +#. type: itemx +#: doc/guix.texi:7089 +#, no-wrap +msgid "-b @var{backend}" +msgstr "" + +#. type: table +#: doc/guix.texi:7091 +msgid "Produce a graph using the selected @var{backend}." +msgstr "" + +#. type: item +#: doc/guix.texi:7092 +#, no-wrap +msgid "--list-backends" +msgstr "" + +#. type: table +#: doc/guix.texi:7094 +msgid "List the supported graph backends." +msgstr "" + +#. type: table +#: doc/guix.texi:7096 +msgid "Currently, the available backends are Graphviz and d3.js." +msgstr "" + +#. type: example +#: doc/guix.texi:7105 +#, no-wrap +msgid "guix graph -e '(@@@@ (gnu packages commencement) gnu-make-final)'\n" +msgstr "" + +#. type: section +#: doc/guix.texi:7110 +#, no-wrap +msgid "Invoking @command{guix environment}" +msgstr "" + +#. type: cindex +#: doc/guix.texi:7112 +#, no-wrap +msgid "reproducible build environments" +msgstr "" + +#. type: cindex +#: doc/guix.texi:7113 +#, no-wrap +msgid "development environments" +msgstr "" + +#. type: command{#1} +#: doc/guix.texi:7114 +#, no-wrap +msgid "guix environment" +msgstr "" + +#. type: cindex +#: doc/guix.texi:7115 +#, no-wrap +msgid "environment, package build environment" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:7121 +msgid "" +"The purpose of @command{guix environment} is to assist hackers in creating " +"reproducible development environments without polluting their package " +"profile. The @command{guix environment} tool takes one or more packages, " +"builds all of their inputs, and creates a shell environment to use them." +msgstr "" + +#. type: example +#: doc/guix.texi:7126 +#, no-wrap +msgid "guix environment @var{options} @var{package}@dots{}\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:7130 +msgid "" +"The following example spawns a new shell set up for the development of " +"GNU@tie{}Guile:" +msgstr "" + +#. type: example +#: doc/guix.texi:7133 +#, no-wrap +msgid "guix environment guile\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:7150 +msgid "" +"If the needed dependencies are not built yet, @command{guix environment} " +"automatically builds them. The environment of the new shell is an augmented " +"version of the environment that @command{guix environment} was run in. It " +"contains the necessary search paths for building the given package added to " +"the existing environment variables. To create a ``pure'' environment, in " +"which the original environment variables have been unset, use the " +"@code{--pure} option@footnote{Users sometimes wrongfully augment environment " +"variables such as @code{PATH} in their @file{~/.bashrc} file. As a " +"consequence, when @code{guix environment} launches it, Bash may read " +"@file{~/.bashrc}, thereby introducing ``impurities'' in these environment " +"variables. It is an error to define such environment variables in " +"@file{.bashrc}; instead, they should be defined in @file{.bash_profile}, " +"which is sourced only by log-in shells. @xref{Bash Startup Files,,, bash, " +"The GNU Bash Reference Manual}, for details on Bash start-up files.}." +msgstr "" + +#. type: vindex +#: doc/guix.texi:7151 +#, no-wrap +msgid "GUIX_ENVIRONMENT" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:7157 +msgid "" +"@command{guix environment} defines the @code{GUIX_ENVIRONMENT} variable in " +"the shell it spawns; its value is the file name of the profile of this " +"environment. This allows users to, say, define a specific prompt for " +"development environments in their @file{.bashrc} (@pxref{Bash Startup " +"Files,,, bash, The GNU Bash Reference Manual}):" +msgstr "" + +#. type: example +#: doc/guix.texi:7163 +#, no-wrap +msgid "" +"if [ -n \"$GUIX_ENVIRONMENT\" ]\n" +"then\n" +" export PS1=\"\\u@@\\h \\w [dev]\\$ \"\n" +"fi\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:7167 +msgid "... or to browse the profile:" +msgstr "" + +#. type: example +#: doc/guix.texi:7170 +#, no-wrap +msgid "$ ls \"$GUIX_ENVIRONMENT/bin\"\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:7176 +msgid "" +"Additionally, more than one package may be specified, in which case the " +"union of the inputs for the given packages are used. For example, the " +"command below spawns a shell where all of the dependencies of both Guile and " +"Emacs are available:" +msgstr "" + +#. type: example +#: doc/guix.texi:7179 +#, no-wrap +msgid "guix environment guile emacs\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:7184 +msgid "" +"Sometimes an interactive shell session is not desired. An arbitrary command " +"may be invoked by placing the @code{--} token to separate the command from " +"the rest of the arguments:" +msgstr "" + +#. type: example +#: doc/guix.texi:7187 +#, no-wrap +msgid "guix environment guile -- make -j4\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:7193 +msgid "" +"In other situations, it is more convenient to specify the list of packages " +"needed in the environment. For example, the following command runs " +"@command{python} from an environment containing Python@tie{}2.7 and NumPy:" +msgstr "" + +#. type: example +#: doc/guix.texi:7196 +#, no-wrap +msgid "guix environment --ad-hoc python2-numpy python-2.7 -- python\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:7207 +msgid "" +"Furthermore, one might want the dependencies of a package and also some " +"additional packages that are not build-time or runtime dependencies, but are " +"useful when developing nonetheless. Because of this, the @code{--ad-hoc} " +"flag is positional. Packages appearing before @code{--ad-hoc} are " +"interpreted as packages whose dependencies will be added to the " +"environment. Packages appearing after are interpreted as packages that will " +"be added to the environment directly. For example, the following command " +"creates a Guix development environment that additionally includes Git and " +"strace:" +msgstr "" + +#. type: example +#: doc/guix.texi:7210 +#, no-wrap +msgid "guix environment guix --ad-hoc git strace\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:7219 +msgid "" +"Sometimes it is desirable to isolate the environment as much as possible, " +"for maximal purity and reproducibility. In particular, when using Guix on a " +"host distro that is not GuixSD, it is desirable to prevent access to " +"@file{/usr/bin} and other system-wide resources from the development " +"environment. For example, the following command spawns a Guile REPL in a " +"``container'' where only the store and the current working directory are " +"mounted:" +msgstr "" + +#. type: example +#: doc/guix.texi:7222 +#, no-wrap +msgid "guix environment --ad-hoc --container guile -- guile\n" +msgstr "" + +#. type: quotation +#: doc/guix.texi:7226 +msgid "The @code{--container} option requires Linux-libre 3.19 or newer." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:7229 +msgid "The available options are summarized below." +msgstr "" + +#. type: cindex +#: doc/guix.texi:7233 +#, no-wrap +msgid "persistent environment" +msgstr "" + +#. type: cindex +#: doc/guix.texi:7234 +#, no-wrap +msgid "garbage collector root, for environments" +msgstr "" + +#. type: table +#: doc/guix.texi:7237 +msgid "" +"Make @var{file} a symlink to the profile for this environment, and register " +"it as a garbage collector root." +msgstr "" + +#. type: table +#: doc/guix.texi:7240 +msgid "" +"This is useful if you want to protect your environment from garbage " +"collection, to make it ``persistent''." +msgstr "" + +#. type: table +#: doc/guix.texi:7246 +msgid "" +"When this option is omitted, the environment is protected from garbage " +"collection only for the duration of the @command{guix environment} session. " +"This means that next time you recreate the same environment, you could have " +"to rebuild or re-download packages. @xref{Invoking guix gc}, for more on GC " +"roots." +msgstr "" + +#. type: table +#: doc/guix.texi:7251 +msgid "" +"Create an environment for the package or list of packages that @var{expr} " +"evaluates to." +msgstr "" + +#. type: table +#: doc/guix.texi:7253 +msgid "For example, running:" +msgstr "" + +#. type: example +#: doc/guix.texi:7256 +#, no-wrap +msgid "guix environment -e '(@@ (gnu packages maths) petsc-openmpi)'\n" +msgstr "" + +#. type: table +#: doc/guix.texi:7260 +msgid "" +"starts a shell with the environment for this specific variant of the PETSc " +"package." +msgstr "" + +#. type: table +#: doc/guix.texi:7262 +msgid "Running:" +msgstr "" + +#. type: example +#: doc/guix.texi:7265 +#, no-wrap +msgid "guix environment --ad-hoc -e '(@@ (gnu) %base-packages)'\n" +msgstr "" + +#. type: table +#: doc/guix.texi:7268 +msgid "starts a shell with all the GuixSD base packages available." +msgstr "" + +#. type: table +#: doc/guix.texi:7271 +msgid "" +"The above commands only use the default output of the given packages. To " +"select other outputs, two element tuples can be specified:" +msgstr "" + +#. type: example +#: doc/guix.texi:7274 +#, no-wrap +msgid "" +"guix environment --ad-hoc -e '(list (@@ (gnu packages bash) bash) " +"\"include\")'\n" +msgstr "" + +#. type: item +#: doc/guix.texi:7276 +#, no-wrap +msgid "--load=@var{file}" +msgstr "" + +#. type: itemx +#: doc/guix.texi:7277 +#, no-wrap +msgid "-l @var{file}" +msgstr "" + +#. type: table +#: doc/guix.texi:7280 +msgid "" +"Create an environment for the package or list of packages that the code " +"within @var{file} evaluates to." +msgstr "" + +#. type: example +#: doc/guix.texi:7286 +#, no-wrap +msgid "@verbatiminclude environment-gdb.scm\n" +msgstr "" + +#. type: table +#: doc/guix.texi:7292 +msgid "" +"Create an environment for the packages contained in the manifest object " +"returned by the Scheme code in @var{file}." +msgstr "" + +#. type: table +#: doc/guix.texi:7296 +msgid "" +"This is similar to the same-named option in @command{guix package} " +"(@pxref{profile-manifest, @option{--manifest}}) and uses the same manifest " +"files." +msgstr "" + +#. type: item +#: doc/guix.texi:7297 +#, no-wrap +msgid "--ad-hoc" +msgstr "" + +#. type: table +#: doc/guix.texi:7302 +msgid "" +"Include all specified packages in the resulting environment, as if an @i{ad " +"hoc} package were defined with them as inputs. This option is useful for " +"quickly creating an environment without having to write a package expression " +"to contain the desired inputs." +msgstr "" + +#. type: table +#: doc/guix.texi:7304 +msgid "For instance, the command:" +msgstr "" + +#. type: example +#: doc/guix.texi:7307 +#, no-wrap +msgid "guix environment --ad-hoc guile guile-sdl -- guile\n" +msgstr "" + +#. type: table +#: doc/guix.texi:7311 +msgid "" +"runs @command{guile} in an environment where Guile and Guile-SDL are " +"available." +msgstr "" + +#. type: table +#: doc/guix.texi:7316 +msgid "" +"Note that this example implicitly asks for the default output of " +"@code{guile} and @code{guile-sdl}, but it is possible to ask for a specific " +"output---e.g., @code{glib:bin} asks for the @code{bin} output of @code{glib} " +"(@pxref{Packages with Multiple Outputs})." +msgstr "" + +#. type: table +#: doc/guix.texi:7322 +msgid "" +"This option may be composed with the default behavior of @command{guix " +"environment}. Packages appearing before @code{--ad-hoc} are interpreted as " +"packages whose dependencies will be added to the environment, the default " +"behavior. Packages appearing after are interpreted as packages that will be " +"added to the environment directly." +msgstr "" + +#. type: item +#: doc/guix.texi:7323 +#, no-wrap +msgid "--pure" +msgstr "" + +#. type: table +#: doc/guix.texi:7327 +msgid "" +"Unset existing environment variables when building the new environment. " +"This has the effect of creating an environment in which search paths only " +"contain package inputs." +msgstr "" + +#. type: item +#: doc/guix.texi:7328 +#, no-wrap +msgid "--search-paths" +msgstr "" + +#. type: table +#: doc/guix.texi:7331 +msgid "Display the environment variable definitions that make up the environment." +msgstr "" + +#. type: table +#: doc/guix.texi:7335 +msgid "Attempt to build for @var{system}---e.g., @code{i686-linux}." +msgstr "" + +#. type: item +#: doc/guix.texi:7336 +#, no-wrap +msgid "--container" +msgstr "" + +#. type: itemx +#: doc/guix.texi:7337 +#, no-wrap +msgid "-C" +msgstr "" + +#. type: item +#: doc/guix.texi:7338 doc/guix.texi:7849 doc/guix.texi:20507 +#, no-wrap +msgid "container" +msgstr "" + +#. type: table +#: doc/guix.texi:7346 +msgid "" +"Run @var{command} within an isolated container. The current working " +"directory outside the container is mapped inside the container. " +"Additionally, unless overridden with @code{--user}, a dummy home directory " +"is created that matches the current user's home directory, and " +"@file{/etc/passwd} is configured accordingly. The spawned process runs as " +"the current user outside the container, but has root privileges in the " +"context of the container." +msgstr "" + +#. type: item +#: doc/guix.texi:7347 +#, no-wrap +msgid "--network" +msgstr "" + +#. type: itemx +#: doc/guix.texi:7348 +#, no-wrap +msgid "-N" +msgstr "" + +#. type: table +#: doc/guix.texi:7352 +msgid "" +"For containers, share the network namespace with the host system. " +"Containers created without this flag only have access to the loopback " +"device." +msgstr "" + +#. type: item +#: doc/guix.texi:7353 +#, no-wrap +msgid "--link-profile" +msgstr "" + +#. type: itemx +#: doc/guix.texi:7354 +#, no-wrap +msgid "-P" +msgstr "" + +#. type: table +#: doc/guix.texi:7361 +msgid "" +"For containers, link the environment profile to @file{~/.guix-profile} " +"within the container. This is equivalent to running the command @command{ln " +"-s $GUIX_ENVIRONMENT ~/.guix-profile} within the container. Linking will " +"fail and abort the environment if the directory already exists, which will " +"certainly be the case if @command{guix environment} was invoked in the " +"user's home directory." +msgstr "" + +#. type: table +#: doc/guix.texi:7368 +msgid "" +"Certain packages are configured to look in @code{~/.guix-profile} for " +"configuration files and data;@footnote{For example, the @code{fontconfig} " +"package inspects @file{~/.guix-profile/share/fonts} for additional fonts.} " +"@code{--link-profile} allows these programs to behave as expected within the " +"environment." +msgstr "" + +#. type: item +#: doc/guix.texi:7369 doc/guix.texi:7521 +#, no-wrap +msgid "--user=@var{user}" +msgstr "" + +#. type: itemx +#: doc/guix.texi:7370 doc/guix.texi:7522 +#, no-wrap +msgid "-u @var{user}" +msgstr "" + +#. type: table +#: doc/guix.texi:7376 +msgid "" +"For containers, use the username @var{user} in place of the current user. " +"The generated @file{/etc/passwd} entry within the container will contain the " +"name @var{user}; the home directory will be @file{/home/USER}; and no user " +"GECOS data will be copied. @var{user} need not exist on the system." +msgstr "" + +#. type: table +#: doc/guix.texi:7381 +msgid "" +"Additionally, any shared or exposed path (see @code{--share} and " +"@code{--expose} respectively) whose target is within the current user's home " +"directory will be remapped relative to @file{/home/USER}; this includes the " +"automatic mapping of the current working directory." +msgstr "" + +#. type: example +#: doc/guix.texi:7388 +#, no-wrap +msgid "" +"# will expose paths as /home/foo/wd, /home/foo/test, and /home/foo/target\n" +"cd $HOME/wd\n" +"guix environment --container --user=foo \\\n" +" --expose=$HOME/test \\\n" +" --expose=/tmp/target=$HOME/target\n" +msgstr "" + +#. type: table +#: doc/guix.texi:7393 +msgid "" +"While this will limit the leaking of user identity through home paths and " +"each of the user fields, this is only one useful component of a broader " +"privacy/anonymity solution---not one in and of itself." +msgstr "" + +#. type: item +#: doc/guix.texi:7394 +#, no-wrap +msgid "--expose=@var{source}[=@var{target}]" +msgstr "" + +#. type: table +#: doc/guix.texi:7399 +msgid "" +"For containers, expose the file system @var{source} from the host system as " +"the read-only file system @var{target} within the container. If " +"@var{target} is not specified, @var{source} is used as the target mount " +"point in the container." +msgstr "" + +#. type: table +#: doc/guix.texi:7403 +msgid "" +"The example below spawns a Guile REPL in a container in which the user's " +"home directory is accessible read-only via the @file{/exchange} directory:" +msgstr "" + +#. type: example +#: doc/guix.texi:7406 +#, no-wrap +msgid "" +"guix environment --container --expose=$HOME=/exchange --ad-hoc guile -- " +"guile\n" +msgstr "" + +#. type: item +#: doc/guix.texi:7408 +#, no-wrap +msgid "--share=@var{source}[=@var{target}]" +msgstr "" + +#. type: table +#: doc/guix.texi:7413 +msgid "" +"For containers, share the file system @var{source} from the host system as " +"the writable file system @var{target} within the container. If @var{target} " +"is not specified, @var{source} is used as the target mount point in the " +"container." +msgstr "" + +#. type: table +#: doc/guix.texi:7417 +msgid "" +"The example below spawns a Guile REPL in a container in which the user's " +"home directory is accessible for both reading and writing via the " +"@file{/exchange} directory:" +msgstr "" + +#. type: example +#: doc/guix.texi:7420 +#, no-wrap +msgid "" +"guix environment --container --share=$HOME=/exchange --ad-hoc guile -- " +"guile\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:7426 +msgid "" +"@command{guix environment} also supports all of the common build options " +"that @command{guix build} supports (@pxref{Common Build Options})." +msgstr "" + +#. type: section +#: doc/guix.texi:7429 +#, no-wrap +msgid "Invoking @command{guix publish}" +msgstr "" + +#. type: command{#1} +#: doc/guix.texi:7431 +#, no-wrap +msgid "guix publish" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:7435 +msgid "" +"The purpose of @command{guix publish} is to enable users to easily share " +"their store with others, who can then use it as a substitute server " +"(@pxref{Substitutes})." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:7441 +msgid "" +"When @command{guix publish} runs, it spawns an HTTP server which allows " +"anyone with network access to obtain substitutes from it. This means that " +"any machine running Guix can also act as if it were a build farm, since the " +"HTTP interface is compatible with Hydra, the software behind the " +"@code{hydra.gnu.org} build farm." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:7447 +msgid "" +"For security, each substitute is signed, allowing recipients to check their " +"authenticity and integrity (@pxref{Substitutes}). Because @command{guix " +"publish} uses the signing key of the system, which is only readable by the " +"system administrator, it must be started as root; the @code{--user} option " +"makes it drop root privileges early on." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:7451 +msgid "" +"The signing key pair must be generated before @command{guix publish} is " +"launched, using @command{guix archive --generate-key} (@pxref{Invoking guix " +"archive})." +msgstr "" + +#. type: example +#: doc/guix.texi:7456 +#, no-wrap +msgid "guix publish @var{options}@dots{}\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:7460 +msgid "" +"Running @command{guix publish} without any additional arguments will spawn " +"an HTTP server on port 8080:" +msgstr "" + +#. type: example +#: doc/guix.texi:7463 +#, no-wrap +msgid "guix publish\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:7467 +msgid "" +"Once a publishing server has been authorized (@pxref{Invoking guix " +"archive}), the daemon may download substitutes from it:" +msgstr "" + +#. type: example +#: doc/guix.texi:7470 +#, no-wrap +msgid "guix-daemon --substitute-urls=http://example.org:8080\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:7479 +msgid "" +"By default, @command{guix publish} compresses archives on the fly as it " +"serves them. This ``on-the-fly'' mode is convenient in that it requires no " +"setup and is immediately available. However, when serving lots of clients, " +"we recommend using the @option{--cache} option, which enables caching of the " +"archives before they are sent to clients---see below for details. The " +"@command{guix weather} command provides a handy way to check what a server " +"provides (@pxref{Invoking guix weather})." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:7486 +msgid "" +"As a bonus, @command{guix publish} also serves as a content-addressed mirror " +"for source files referenced in @code{origin} records (@pxref{origin " +"Reference}). For instance, assuming @command{guix publish} is running on " +"@code{example.org}, the following URL returns the raw " +"@file{hello-2.10.tar.gz} file with the given SHA256 hash (represented in " +"@code{nix-base32} format, @pxref{Invoking guix hash}):" +msgstr "" + +#. type: example +#: doc/guix.texi:7489 +#, no-wrap +msgid "http://example.org/file/hello-2.10.tar.gz/sha256/0ssi1@dots{}ndq1i\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:7493 +msgid "" +"Obviously, these URLs only work for files that are in the store; in other " +"cases, they return 404 (``Not Found'')." +msgstr "" + +#. type: cindex +#: doc/guix.texi:7494 +#, no-wrap +msgid "build logs, publication" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:7496 +msgid "Build logs are available from @code{/log} URLs like:" +msgstr "" + +#. type: example +#: doc/guix.texi:7499 +#, no-wrap +msgid "http://example.org/log/gwspk@dots{}-guile-2.2.3\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:7509 +msgid "" +"When @command{guix-daemon} is configured to save compressed build logs, as " +"is the case by default (@pxref{Invoking guix-daemon}), @code{/log} URLs " +"return the compressed log as-is, with an appropriate @code{Content-Type} " +"and/or @code{Content-Encoding} header. We recommend running " +"@command{guix-daemon} with @code{--log-compression=gzip} since Web browsers " +"can automatically decompress it, which is not the case with bzip2 " +"compression." +msgstr "" + +#. type: item +#: doc/guix.texi:7513 +#, no-wrap +msgid "--port=@var{port}" +msgstr "" + +#. type: itemx +#: doc/guix.texi:7514 +#, no-wrap +msgid "-p @var{port}" +msgstr "" + +#. type: table +#: doc/guix.texi:7516 +msgid "Listen for HTTP requests on @var{port}." +msgstr "" + +#. type: item +#: doc/guix.texi:7517 doc/guix.texi:16987 +#, no-wrap +msgid "--listen=@var{host}" +msgstr "" + +#. type: table +#: doc/guix.texi:7520 +msgid "" +"Listen on the network interface for @var{host}. The default is to accept " +"connections from any interface." +msgstr "" + +#. type: table +#: doc/guix.texi:7525 +msgid "" +"Change privileges to @var{user} as soon as possible---i.e., once the server " +"socket is open and the signing key has been read." +msgstr "" + +#. type: item +#: doc/guix.texi:7526 +#, no-wrap +msgid "--compression[=@var{level}]" +msgstr "" + +#. type: itemx +#: doc/guix.texi:7527 +#, no-wrap +msgid "-C [@var{level}]" +msgstr "" + +#. type: table +#: doc/guix.texi:7532 +msgid "" +"Compress data using the given @var{level}. When @var{level} is zero, " +"disable compression. The range 1 to 9 corresponds to different gzip " +"compression levels: 1 is the fastest, and 9 is the best (CPU-intensive). " +"The default is 3." +msgstr "" + +#. type: table +#: doc/guix.texi:7541 +msgid "" +"Unless @option{--cache} is used, compression occurs on the fly and the " +"compressed streams are not cached. Thus, to reduce load on the machine that " +"runs @command{guix publish}, it may be a good idea to choose a low " +"compression level, to run @command{guix publish} behind a caching proxy, or " +"to use @option{--cache}. Using @option{--cache} has the advantage that it " +"allows @command{guix publish} to add @code{Content-Length} HTTP header to " +"its responses." +msgstr "" + +#. type: item +#: doc/guix.texi:7542 +#, no-wrap +msgid "--cache=@var{directory}" +msgstr "" + +#. type: itemx +#: doc/guix.texi:7543 +#, no-wrap +msgid "-c @var{directory}" +msgstr "" + +#. type: table +#: doc/guix.texi:7546 +msgid "" +"Cache archives and meta-data (@code{.narinfo} URLs) to @var{directory} and " +"only serve archives that are in cache." +msgstr "" + +#. type: table +#: doc/guix.texi:7554 +msgid "" +"When this option is omitted, archives and meta-data are created on-the-fly. " +"This can reduce the available bandwidth, especially when compression is " +"enabled, since this may become CPU-bound. Another drawback of the default " +"mode is that the length of archives is not known in advance, so " +"@command{guix publish} does not add a @code{Content-Length} HTTP header to " +"its responses, which in turn prevents clients from knowing the amount of " +"data being downloaded." +msgstr "" + +#. type: table +#: doc/guix.texi:7562 +msgid "" +"Conversely, when @option{--cache} is used, the first request for a store " +"item (@i{via} a @code{.narinfo} URL) returns 404 and triggers a background " +"process to @dfn{bake} the archive---computing its @code{.narinfo} and " +"compressing the archive, if needed. Once the archive is cached in " +"@var{directory}, subsequent requests succeed and are served directly from " +"the cache, which guarantees that clients get the best possible bandwidth." +msgstr "" + +#. type: table +#: doc/guix.texi:7566 +msgid "" +"The ``baking'' process is performed by worker threads. By default, one " +"thread per CPU core is created, but this can be customized. See " +"@option{--workers} below." +msgstr "" + +#. type: table +#: doc/guix.texi:7569 +msgid "" +"When @option{--ttl} is used, cached entries are automatically deleted when " +"they have expired." +msgstr "" + +#. type: item +#: doc/guix.texi:7570 +#, no-wrap +msgid "--workers=@var{N}" +msgstr "" + +#. type: table +#: doc/guix.texi:7573 +msgid "" +"When @option{--cache} is used, request the allocation of @var{N} worker " +"threads to ``bake'' archives." +msgstr "" + +#. type: item +#: doc/guix.texi:7574 +#, no-wrap +msgid "--ttl=@var{ttl}" +msgstr "" + +#. type: table +#: doc/guix.texi:7578 +msgid "" +"Produce @code{Cache-Control} HTTP headers that advertise a time-to-live " +"(TTL) of @var{ttl}. @var{ttl} must denote a duration: @code{5d} means 5 " +"days, @code{1m} means 1 month, and so on." +msgstr "" + +#. type: table +#: doc/guix.texi:7583 +msgid "" +"This allows the user's Guix to keep substitute information in cache for " +"@var{ttl}. However, note that @code{guix publish} does not itself guarantee " +"that the store items it provides will indeed remain available for as long as " +"@var{ttl}." +msgstr "" + +#. type: table +#: doc/guix.texi:7587 +msgid "" +"Additionally, when @option{--cache} is used, cached entries that have not " +"been accessed for @var{ttl} and that no longer have a corresponding item in " +"the store, may be deleted." +msgstr "" + +#. type: item +#: doc/guix.texi:7588 +#, no-wrap +msgid "--nar-path=@var{path}" +msgstr "" + +#. type: table +#: doc/guix.texi:7591 +msgid "" +"Use @var{path} as the prefix for the URLs of ``nar'' files (@pxref{Invoking " +"guix archive, normalized archives})." +msgstr "" + +#. type: table +#: doc/guix.texi:7595 +msgid "" +"By default, nars are served at a URL such as " +"@code{/nar/gzip/@dots{}-coreutils-8.25}. This option allows you to change " +"the @code{/nar} part to @var{path}." +msgstr "" + +#. type: item +#: doc/guix.texi:7596 +#, no-wrap +msgid "--public-key=@var{file}" +msgstr "" + +#. type: itemx +#: doc/guix.texi:7597 +#, no-wrap +msgid "--private-key=@var{file}" +msgstr "" + +#. type: table +#: doc/guix.texi:7600 +msgid "" +"Use the specific @var{file}s as the public/private key pair used to sign the " +"store items being published." +msgstr "" + +#. type: table +#: doc/guix.texi:7607 +msgid "" +"The files must correspond to the same key pair (the private key is used for " +"signing and the public key is merely advertised in the signature metadata). " +"They must contain keys in the canonical s-expression format as produced by " +"@command{guix archive --generate-key} (@pxref{Invoking guix archive}). By " +"default, @file{/etc/guix/signing-key.pub} and " +"@file{/etc/guix/signing-key.sec} are used." +msgstr "" + +#. type: item +#: doc/guix.texi:7608 +#, no-wrap +msgid "--repl[=@var{port}]" +msgstr "" + +#. type: itemx +#: doc/guix.texi:7609 +#, no-wrap +msgid "-r [@var{port}]" +msgstr "" + +#. type: table +#: doc/guix.texi:7613 +msgid "" +"Spawn a Guile REPL server (@pxref{REPL Servers,,, guile, GNU Guile Reference " +"Manual}) on @var{port} (37146 by default). This is used primarily for " +"debugging a running @command{guix publish} server." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:7619 +msgid "" +"Enabling @command{guix publish} on a GuixSD system is a one-liner: just " +"instantiate a @code{guix-publish-service-type} service in the " +"@code{services} field of the @code{operating-system} declaration " +"(@pxref{guix-publish-service-type, @code{guix-publish-service-type}})." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:7622 +msgid "" +"If you are instead running Guix on a ``foreign distro'', follow these " +"instructions:”" +msgstr "" + +#. type: itemize +#: doc/guix.texi:7626 +msgid "If your host distro uses the systemd init system:" +msgstr "" + +#. type: example +#: doc/guix.texi:7631 +#, no-wrap +msgid "" +"# ln -s ~root/.guix-profile/lib/systemd/system/guix-publish.service \\\n" +" /etc/systemd/system/\n" +"# systemctl start guix-publish && systemctl enable guix-publish\n" +msgstr "" + +#. type: example +#: doc/guix.texi:7639 +#, no-wrap +msgid "" +"# ln -s ~root/.guix-profile/lib/upstart/system/guix-publish.conf " +"/etc/init/\n" +"# start guix-publish\n" +msgstr "" + +#. type: itemize +#: doc/guix.texi:7643 +msgid "Otherwise, proceed similarly with your distro's init system." +msgstr "" + +#. type: section +#: doc/guix.texi:7646 +#, no-wrap +msgid "Invoking @command{guix challenge}" +msgstr "" + +#. type: cindex +#: doc/guix.texi:7649 +#, no-wrap +msgid "verifiable builds" +msgstr "" + +#. type: command{#1} +#: doc/guix.texi:7650 +#, no-wrap +msgid "guix challenge" +msgstr "" + +#. type: cindex +#: doc/guix.texi:7651 +#, no-wrap +msgid "challenge" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:7656 +msgid "" +"Do the binaries provided by this server really correspond to the source code " +"it claims to build? Is a package build process deterministic? These are the " +"questions the @command{guix challenge} command attempts to answer." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:7664 +msgid "" +"The former is obviously an important question: Before using a substitute " +"server (@pxref{Substitutes}), one had better @emph{verify} that it provides " +"the right binaries, and thus @emph{challenge} it. The latter is what " +"enables the former: If package builds are deterministic, then independent " +"builds of the package should yield the exact same result, bit for bit; if a " +"server provides a binary different from the one obtained locally, it may be " +"either corrupt or malicious." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:7673 +msgid "" +"We know that the hash that shows up in @file{/gnu/store} file names is the " +"hash of all the inputs of the process that built the file or " +"directory---compilers, libraries, build scripts, " +"etc. (@pxref{Introduction}). Assuming deterministic build processes, one " +"store file name should map to exactly one build output. @command{guix " +"challenge} checks whether there is, indeed, a single mapping by comparing " +"the build outputs of several independent builds of any given store item." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:7675 +msgid "The command output looks like this:" +msgstr "" + +#. type: smallexample +#: doc/guix.texi:7692 +#, no-wrap +msgid "" +"$ guix challenge --substitute-urls=\"https://hydra.gnu.org " +"https://guix.example.org\"\n" +"updating list of substitutes from 'https://hydra.gnu.org'... 100.0%\n" +"updating list of substitutes from 'https://guix.example.org'... 100.0%\n" +"/gnu/store/@dots{}-openssl-1.0.2d contents differ:\n" +" local hash: 0725l22r5jnzazaacncwsvp9kgf42266ayyp814v7djxs7nk963q\n" +" https://hydra.gnu.org/nar/@dots{}-openssl-1.0.2d: " +"0725l22r5jnzazaacncwsvp9kgf42266ayyp814v7djxs7nk963q\n" +" https://guix.example.org/nar/@dots{}-openssl-1.0.2d: " +"1zy4fmaaqcnjrzzajkdn3f5gmjk754b43qkq47llbyak9z0qjyim\n" +"/gnu/store/@dots{}-git-2.5.0 contents differ:\n" +" local hash: 00p3bmryhjxrhpn2gxs2fy0a15lnip05l97205pgbk5ra395hyha\n" +" https://hydra.gnu.org/nar/@dots{}-git-2.5.0: " +"069nb85bv4d4a6slrwjdy8v1cn4cwspm3kdbmyb81d6zckj3nq9f\n" +" https://guix.example.org/nar/@dots{}-git-2.5.0: " +"0mdqa9w1p6cmli6976v4wi0sw9r4p5prkj7lzfd1877wk11c9c73\n" +"/gnu/store/@dots{}-pius-2.1.1 contents differ:\n" +" local hash: 0k4v3m9z1zp8xzzizb7d8kjj72f9172xv078sq4wl73vnq9ig3ax\n" +" https://hydra.gnu.org/nar/@dots{}-pius-2.1.1: " +"0k4v3m9z1zp8xzzizb7d8kjj72f9172xv078sq4wl73vnq9ig3ax\n" +" https://guix.example.org/nar/@dots{}-pius-2.1.1: " +"1cy25x1a4fzq5rk0pmvc8xhwyffnqz95h2bpvqsz2mpvlbccy0gs\n" +"\n" +msgstr "" + +#. type: smallexample +#: doc/guix.texi:7694 +#, no-wrap +msgid "" +"@dots{}\n" +"\n" +msgstr "" + +#. type: smallexample +#: doc/guix.texi:7699 +#, no-wrap +msgid "" +"6,406 store items were analyzed:\n" +" - 4,749 (74.1%) were identical\n" +" - 525 (8.2%) differed\n" +" - 1,132 (17.7%) were inconclusive\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:7707 +msgid "" +"In this example, @command{guix challenge} first scans the store to determine " +"the set of locally-built derivations---as opposed to store items that were " +"downloaded from a substitute server---and then queries all the substitute " +"servers. It then reports those store items for which the servers obtained a " +"result different from the local build." +msgstr "" + +#. type: cindex +#: doc/guix.texi:7708 +#, no-wrap +msgid "non-determinism, in package builds" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:7719 +msgid "" +"As an example, @code{guix.example.org} always gets a different answer. " +"Conversely, @code{hydra.gnu.org} agrees with local builds, except in the " +"case of Git. This might indicate that the build process of Git is " +"non-deterministic, meaning that its output varies as a function of various " +"things that Guix does not fully control, in spite of building packages in " +"isolated environments (@pxref{Features}). Most common sources of " +"non-determinism include the addition of timestamps in build results, the " +"inclusion of random numbers, and directory listings sorted by inode number. " +"See @uref{https://reproducible-builds.org/docs/}, for more information." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:7722 +msgid "" +"To find out what is wrong with this Git binary, we can do something along " +"these lines (@pxref{Invoking guix archive}):" +msgstr "" + +#. type: example +#: doc/guix.texi:7727 +#, no-wrap +msgid "" +"$ wget -q -O - https://hydra.gnu.org/nar/@dots{}-git-2.5.0 \\\n" +" | guix archive -x /tmp/git\n" +"$ diff -ur --no-dereference /gnu/store/@dots{}-git.2.5.0 /tmp/git\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:7736 +msgid "" +"This command shows the difference between the files resulting from the local " +"build, and the files resulting from the build on @code{hydra.gnu.org} " +"(@pxref{Overview, Comparing and Merging Files,, diffutils, Comparing and " +"Merging Files}). The @command{diff} command works great for text files. " +"When binary files differ, a better option is @uref{https://diffoscope.org/, " +"Diffoscope}, a tool that helps visualize differences for all kinds of files." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:7744 +msgid "" +"Once you have done that work, you can tell whether the differences are due " +"to a non-deterministic build process or to a malicious server. We try hard " +"to remove sources of non-determinism in packages to make it easier to verify " +"substitutes, but of course, this is a process that involves not just Guix, " +"but a large part of the free software community. In the meantime, " +"@command{guix challenge} is one tool to help address the problem." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:7748 +msgid "" +"If you are writing packages for Guix, you are encouraged to check whether " +"@code{hydra.gnu.org} and other substitute servers obtain the same build " +"result as you did with:" +msgstr "" + +#. type: example +#: doc/guix.texi:7751 +#, no-wrap +msgid "$ guix challenge @var{package}\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:7756 +msgid "" +"where @var{package} is a package specification such as @code{guile@@2.0} or " +"@code{glibc:debug}." +msgstr "" + +#. type: example +#: doc/guix.texi:7761 +#, no-wrap +msgid "guix challenge @var{options} [@var{packages}@dots{}]\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:7768 +msgid "" +"When a difference is found between the hash of a locally-built item and that " +"of a server-provided substitute, or among substitutes provided by different " +"servers, the command displays it as in the example above and its exit code " +"is 2 (other non-zero exit codes denote other kinds of errors.)" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:7770 +msgid "The one option that matters is:" +msgstr "" + +#. type: table +#: doc/guix.texi:7776 +msgid "" +"Consider @var{urls} the whitespace-separated list of substitute source URLs " +"to compare to." +msgstr "" + +#. type: itemx +#: doc/guix.texi:7778 +#, no-wrap +msgid "-v" +msgstr "" + +#. type: table +#: doc/guix.texi:7781 +msgid "" +"Show details about matches (identical contents) in addition to information " +"about mismatches." +msgstr "" + +#. type: section +#: doc/guix.texi:7785 +#, no-wrap +msgid "Invoking @command{guix copy}" +msgstr "" + +#. type: cindex +#: doc/guix.texi:7787 +#, no-wrap +msgid "copy, of store items, over SSH" +msgstr "" + +#. type: cindex +#: doc/guix.texi:7788 +#, no-wrap +msgid "SSH, copy of store items" +msgstr "" + +#. type: cindex +#: doc/guix.texi:7789 +#, no-wrap +msgid "sharing store items across machines" +msgstr "" + +#. type: cindex +#: doc/guix.texi:7790 +#, no-wrap +msgid "transferring store items across machines" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:7797 +msgid "" +"The @command{guix copy} command copies items from the store of one machine " +"to that of another machine over a secure shell (SSH) " +"connection@footnote{This command is available only when Guile-SSH was " +"found. @xref{Requirements}, for details.}. For example, the following " +"command copies the @code{coreutils} package, the user's profile, and all " +"their dependencies over to @var{host}, logged in as @var{user}:" +msgstr "" + +#. type: example +#: doc/guix.texi:7801 +#, no-wrap +msgid "" +"guix copy --to=@var{user}@@@var{host} \\\n" +" coreutils `readlink -f ~/.guix-profile`\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:7805 +msgid "" +"If some of the items to be copied are already present on @var{host}, they " +"are not actually sent." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:7808 +msgid "" +"The command below retrieves @code{libreoffice} and @code{gimp} from " +"@var{host}, assuming they are available there:" +msgstr "" + +#. type: example +#: doc/guix.texi:7811 +#, no-wrap +msgid "guix copy --from=@var{host} libreoffice gimp\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:7816 +msgid "" +"The SSH connection is established using the Guile-SSH client, which is " +"compatible with OpenSSH: it honors @file{~/.ssh/known_hosts} and " +"@file{~/.ssh/config}, and uses the SSH agent for authentication." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:7822 +msgid "" +"The key used to sign items that are sent must be accepted by the remote " +"machine. Likewise, the key used by the remote machine to sign items you are " +"retrieving must be in @file{/etc/guix/acl} so it is accepted by your own " +"daemon. @xref{Invoking guix archive}, for more information about store item " +"authentication." +msgstr "" + +#. type: example +#: doc/guix.texi:7827 +#, no-wrap +msgid "guix copy [--to=@var{spec}|--from=@var{spec}] @var{items}@dots{}\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:7830 +msgid "You must always specify one of the following options:" +msgstr "" + +#. type: item +#: doc/guix.texi:7832 +#, no-wrap +msgid "--to=@var{spec}" +msgstr "" + +#. type: itemx +#: doc/guix.texi:7833 +#, no-wrap +msgid "--from=@var{spec}" +msgstr "" + +#. type: table +#: doc/guix.texi:7837 +msgid "" +"Specify the host to send to or receive from. @var{spec} must be an SSH spec " +"such as @code{example.org}, @code{charlie@@example.org}, or " +"@code{charlie@@example.org:2222}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:7841 +msgid "" +"The @var{items} can be either package names, such as @code{gimp}, or store " +"items, such as @file{/gnu/store/@dots{}-idutils-4.6}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:7845 +msgid "" +"When specifying the name of a package to send, it is first built if needed, " +"unless @option{--dry-run} was specified. Common build options are supported " +"(@pxref{Common Build Options})." +msgstr "" + +#. type: section +#: doc/guix.texi:7848 +#, no-wrap +msgid "Invoking @command{guix container}" +msgstr "" + +#. type: command{#1} +#: doc/guix.texi:7850 +#, no-wrap +msgid "guix container" +msgstr "" + +#. type: quotation +#: doc/guix.texi:7854 +msgid "" +"As of version @value{VERSION}, this tool is experimental. The interface is " +"subject to radical change in the future." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:7861 +msgid "" +"The purpose of @command{guix container} is to manipulate processes running " +"within an isolated environment, commonly known as a ``container'', typically " +"created by the @command{guix environment} (@pxref{Invoking guix " +"environment}) and @command{guix system container} (@pxref{Invoking guix " +"system}) commands." +msgstr "" + +#. type: example +#: doc/guix.texi:7866 +#, no-wrap +msgid "guix container @var{action} @var{options}@dots{}\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:7870 +msgid "" +"@var{action} specifies the operation to perform with a container, and " +"@var{options} specifies the context-specific arguments for the action." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:7872 +msgid "The following actions are available:" +msgstr "" + +#. type: item +#: doc/guix.texi:7874 +#, no-wrap +msgid "exec" +msgstr "" + +#. type: table +#: doc/guix.texi:7876 +msgid "Execute a command within the context of a running container." +msgstr "" + +#. type: table +#: doc/guix.texi:7878 +msgid "The syntax is:" +msgstr "" + +#. type: example +#: doc/guix.texi:7881 +#, no-wrap +msgid "guix container exec @var{pid} @var{program} @var{arguments}@dots{}\n" +msgstr "" + +#. type: table +#: doc/guix.texi:7887 +msgid "" +"@var{pid} specifies the process ID of the running container. @var{program} " +"specifies an executable file name within the root file system of the " +"container. @var{arguments} are the additional options that will be passed " +"to @var{program}." +msgstr "" + +#. type: table +#: doc/guix.texi:7891 +msgid "" +"The following command launches an interactive login shell inside a GuixSD " +"container, started by @command{guix system container}, and whose process ID " +"is 9001:" +msgstr "" + +#. type: example +#: doc/guix.texi:7894 +#, no-wrap +msgid "guix container exec 9001 /run/current-system/profile/bin/bash --login\n" +msgstr "" + +#. type: table +#: doc/guix.texi:7898 +msgid "" +"Note that the @var{pid} cannot be the parent process of a container. It " +"must be PID 1 of the container or one of its child processes." +msgstr "" + +#. type: section +#: doc/guix.texi:7902 +#, no-wrap +msgid "Invoking @command{guix weather}" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:7911 +msgid "" +"Occasionally you're grumpy because substitutes are lacking and you end up " +"building packages by yourself (@pxref{Substitutes}). The @command{guix " +"weather} command reports on substitute availability on the specified servers " +"so you can have an idea of whether you'll be grumpy today. It can sometimes " +"be useful info as a user, but it is primarily useful to people running " +"@command{guix publish} (@pxref{Invoking guix publish})." +msgstr "" + +#. type: cindex +#: doc/guix.texi:7912 +#, no-wrap +msgid "statistics, for substitutes" +msgstr "" + +#. type: cindex +#: doc/guix.texi:7913 +#, no-wrap +msgid "availability of substitutes" +msgstr "" + +#. type: cindex +#: doc/guix.texi:7914 +#, no-wrap +msgid "substitute availability" +msgstr "" + +#. type: cindex +#: doc/guix.texi:7915 +#, no-wrap +msgid "weather, substitute availability" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:7917 +msgid "Here's a sample run:" +msgstr "" + +#. type: example +#: doc/guix.texi:7929 +#, no-wrap +msgid "" +"$ guix weather --substitute-urls=https://guix.example.org\n" +"computing 5,872 package derivations for x86_64-linux...\n" +"looking for 6,128 store items on https://guix.example.org..\n" +"updating list of substitutes from 'https://guix.example.org'... 100.0%\n" +"https://guix.example.org\n" +" 43.4% substitutes available (2,658 out of 6,128)\n" +" 7,032.5 MiB of nars (compressed)\n" +" 19,824.2 MiB on disk (uncompressed)\n" +" 0.030 seconds per request (182.9 seconds in total)\n" +" 33.5 requests per second\n" +"\n" +msgstr "" + +#. type: example +#: doc/guix.texi:7939 +#, no-wrap +msgid "" +" 9.8% (342 out of 3,470) of the missing items are queued\n" +" 867 queued builds\n" +" x86_64-linux: 518 (59.7%)\n" +" i686-linux: 221 (25.5%)\n" +" aarch64-linux: 128 (14.8%)\n" +" build rate: 23.41 builds per hour\n" +" x86_64-linux: 11.16 builds per hour\n" +" i686-linux: 6.03 builds per hour\n" +" aarch64-linux: 6.41 builds per hour\n" +msgstr "" + +#. type: cindex +#: doc/guix.texi:7941 +#, no-wrap +msgid "continuous integration, statistics" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:7950 +msgid "" +"As you can see, it reports the fraction of all the packages for which " +"substitutes are available on the server---regardless of whether substitutes " +"are enabled, and regardless of whether this server's signing key is " +"authorized. It also reports the size of the compressed archives (``nars'') " +"provided by the server, the size the corresponding store items occupy in the " +"store (assuming deduplication is turned off), and the server's throughput. " +"The second part gives continuous integration (CI) statistics, if the server " +"supports it." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:7956 +msgid "" +"To achieve that, @command{guix weather} queries over HTTP(S) meta-data " +"(@dfn{narinfos}) for all the relevant store items. Like @command{guix " +"challenge}, it ignores signatures on those substitutes, which is innocuous " +"since the command only gathers statistics and cannot install those " +"substitutes." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:7959 +msgid "" +"Among other things, it is possible to query specific system types and " +"specific package sets. The available options are listed below." +msgstr "" + +#. type: table +#: doc/guix.texi:7965 +msgid "" +"@var{urls} is the space-separated list of substitute server URLs to query. " +"When this option is omitted, the default set of substitute servers is " +"queried." +msgstr "" + +#. type: table +#: doc/guix.texi:7971 +msgid "" +"Query substitutes for @var{system}---e.g., @code{aarch64-linux}. This " +"option can be repeated, in which case @command{guix weather} will query " +"substitutes for several system types." +msgstr "" + +#. type: table +#: doc/guix.texi:7977 +msgid "" +"Instead of querying substitutes for all the packages, only ask for those " +"specified in @var{file}. @var{file} must contain a @dfn{manifest}, as with " +"the @code{-m} option of @command{guix package} (@pxref{Invoking guix " +"package})." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:7995 +msgid "" +"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." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8001 +msgid "" +"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}):" +msgstr "" + +#. type: example +#: doc/guix.texi:8004 +#, no-wrap +msgid "guix package --list-available\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8010 +msgid "" +"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." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8012 +msgid "Packages are currently available on the following platforms:" +msgstr "" + +#. type: item +#: doc/guix.texi:8015 doc/guix.texi:8180 +#, no-wrap +msgid "x86_64-linux" +msgstr "" + +#. type: table +#: doc/guix.texi:8017 +msgid "Intel/AMD @code{x86_64} architecture, Linux-Libre kernel;" +msgstr "" + +#. type: item +#: doc/guix.texi:8018 doc/guix.texi:8183 +#, no-wrap +msgid "i686-linux" +msgstr "" + +#. type: table +#: doc/guix.texi:8020 +msgid "Intel 32-bit architecture (IA32), Linux-Libre kernel;" +msgstr "" + +#. type: item +#: doc/guix.texi:8021 +#, no-wrap +msgid "armhf-linux" +msgstr "" + +#. type: table +#: doc/guix.texi:8025 +msgid "" +"ARMv7-A architecture with hard float, Thumb-2 and NEON, using the EABI " +"hard-float application binary interface (ABI), and Linux-Libre kernel." +msgstr "" + +#. type: item +#: doc/guix.texi:8026 +#, no-wrap +msgid "aarch64-linux" +msgstr "" + +#. type: table +#: doc/guix.texi:8030 +msgid "" +"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!" +msgstr "" + +#. type: item +#: doc/guix.texi:8031 +#, no-wrap +msgid "mips64el-linux" +msgstr "" + +#. type: table +#: doc/guix.texi:8034 +msgid "" +"little-endian 64-bit MIPS processors, specifically the Loongson series, n32 " +"ABI, and Linux-Libre kernel." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8038 +msgid "GuixSD itself is currently only available on @code{i686} and @code{x86_64}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8042 +msgid "" +"For information on porting to other architectures or kernels, " +"@pxref{Porting}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8057 +msgid "" +"Building this distribution is a cooperative effort, and you are invited to " +"join! @xref{Contributing}, for information about how you can help." +msgstr "" + +#. type: cindex +#: doc/guix.texi:8061 +#, no-wrap +msgid "installing GuixSD" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8067 +msgid "" +"This section explains how to install the Guix System Distribution (GuixSD) " +"on a machine. The Guix package manager can also be installed on top of a " +"running GNU/Linux system, @pxref{Installation}." +msgstr "" + +#. type: quotation +#: doc/guix.texi:8076 +msgid "" +"You are reading this documentation with an Info reader. For details on how " +"to use it, hit the @key{RET} key (``return'' or ``enter'') on the link that " +"follows: @pxref{Top, Info reader,, info-stnd, Stand-alone GNU Info}. Hit " +"@kbd{l} afterwards to come back here." +msgstr "" + +#. type: quotation +#: doc/guix.texi:8079 +msgid "" +"Alternately, run @command{info info} in another tty to keep the manual " +"available." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8104 +msgid "" +"As of version @value{VERSION}, the Guix System Distribution (GuixSD) is not " +"production-ready. It may contain bugs and lack important features. Thus, " +"if you are looking for a stable production system that respects your freedom " +"as a computer user, a good solution at this point is to consider " +"@url{http://www.gnu.org/distros/free-distros.html, one of the more " +"established GNU/Linux distributions}. We hope you can soon switch to the " +"GuixSD without fear, of course. In the meantime, you can also keep using " +"your distribution and try out the package manager on top of it " +"(@pxref{Installation})." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8107 +msgid "" +"Before you proceed with the installation, be aware of the following " +"noteworthy limitations applicable to version @value{VERSION}:" +msgstr "" + +#. type: itemize +#: doc/guix.texi:8113 +msgid "" +"The installation process does not include a graphical user interface and " +"requires familiarity with GNU/Linux (see the following subsections to get a " +"feel of what that means.)" +msgstr "" + +#. type: itemize +#: doc/guix.texi:8116 +msgid "Support for the Logical Volume Manager (LVM) is missing." +msgstr "" + +#. type: itemize +#: doc/guix.texi:8120 +msgid "" +"More and more system services are provided (@pxref{Services}), but some may " +"be missing." +msgstr "" + +#. type: itemize +#: doc/guix.texi:8124 +msgid "" +"More than 6,500 packages are available, but you might occasionally find that " +"a useful package is missing." +msgstr "" + +#. type: itemize +#: doc/guix.texi:8129 +msgid "" +"GNOME, Xfce, LXDE, and Enlightenment are available (@pxref{Desktop " +"Services}), as well as a number of X11 window managers. However, some " +"graphical applications may be missing, as well as KDE." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8134 +msgid "" +"You have been warned! But more than a disclaimer, this is an invitation to " +"report issues (and success stories!), and to join us in improving it. " +"@xref{Contributing}, for more info." +msgstr "" + +#. type: cindex +#: doc/guix.texi:8139 +#, no-wrap +msgid "hardware support on GuixSD" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8148 +msgid "" +"GNU@tie{}GuixSD focuses on respecting the user's computing freedom. It " +"builds around the kernel Linux-libre, which means that only hardware for " +"which free software drivers and firmware exist is supported. Nowadays, a " +"wide range of off-the-shelf hardware is supported on GNU/Linux-libre---from " +"keyboards to graphics cards to scanners and Ethernet controllers. " +"Unfortunately, there are still areas where hardware vendors deny users " +"control over their own computing, and such hardware is not supported on " +"GuixSD." +msgstr "" + +#. type: cindex +#: doc/guix.texi:8149 +#, no-wrap +msgid "WiFi, hardware support" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8158 +msgid "" +"One of the main areas where free drivers or firmware are lacking is WiFi " +"devices. WiFi devices known to work include those using Atheros chips " +"(AR9271 and AR7010), which corresponds to the @code{ath9k} Linux-libre " +"driver, and those using Broadcom/AirForce chips (BCM43xx with Wireless-Core " +"Revision 5), which corresponds to the @code{b43-open} Linux-libre driver. " +"Free firmware exists for both and is available out-of-the-box on GuixSD, as " +"part of @var{%base-firmware} (@pxref{operating-system Reference, " +"@code{firmware}})." +msgstr "" + +#. type: cindex +#: doc/guix.texi:8159 +#, no-wrap +msgid "RYF, Respects Your Freedom" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8165 +msgid "" +"The @uref{https://www.fsf.org/, Free Software Foundation} runs " +"@uref{https://www.fsf.org/ryf, @dfn{Respects Your Freedom}} (RYF), a " +"certification program for hardware products that respect your freedom and " +"your privacy and ensure that you have control over your device. We " +"encourage you to check the list of RYF-certified devices." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8169 +msgid "" +"Another useful resource is the @uref{https://www.h-node.org/, H-Node} web " +"site. It contains a catalog of hardware devices with information about " +"their support in GNU/Linux." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8178 +msgid "" +"An ISO-9660 installation image that can be written to a USB stick or burnt " +"to a DVD can be downloaded from " +"@indicateurl{ftp://alpha.gnu.org/gnu/guix/guixsd-install-@value{VERSION}.@var{system}.iso.xz}, " +"where @var{system} is one of:" +msgstr "" + +#. type: table +#: doc/guix.texi:8182 +msgid "for a GNU/Linux system on Intel/AMD-compatible 64-bit CPUs;" +msgstr "" + +#. type: table +#: doc/guix.texi:8185 +msgid "for a 32-bit GNU/Linux system on Intel-compatible CPUs." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8190 +msgid "" +"Make sure to download the associated @file{.sig} file and to verify the " +"authenticity of the image against it, along these lines:" +msgstr "" + +#. type: example +#: doc/guix.texi:8194 +#, no-wrap +msgid "" +"$ wget " +"ftp://alpha.gnu.org/gnu/guix/guixsd-install-@value{VERSION}.@var{system}.iso.xz.sig\n" +"$ gpg --verify guixsd-install-@value{VERSION}.@var{system}.iso.xz.sig\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8209 +msgid "" +"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." +msgstr "" + +#. type: unnumberedsubsubsec +#: doc/guix.texi:8210 +#, no-wrap +msgid "Copying to a USB Stick" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8213 +msgid "To copy the image to a USB stick, follow these steps:" +msgstr "" + +#. type: enumerate +#: doc/guix.texi:8217 doc/guix.texi:8242 +msgid "Decompress the image using the @command{xz} command:" +msgstr "" + +#. type: example +#: doc/guix.texi:8220 doc/guix.texi:8245 +#, no-wrap +msgid "xz -d guixsd-install-@value{VERSION}.@var{system}.iso.xz\n" +msgstr "" + +#. type: enumerate +#: doc/guix.texi:8226 +msgid "" +"Insert a USB stick of 1@tie{}GiB or more into your machine, and determine " +"its device name. Assuming that the USB stick is known as @file{/dev/sdX}, " +"copy the image with:" +msgstr "" + +#. type: example +#: doc/guix.texi:8230 +#, no-wrap +msgid "" +"dd if=guixsd-install-@value{VERSION}.x86_64-linux.iso of=/dev/sdX\n" +"sync\n" +msgstr "" + +#. type: enumerate +#: doc/guix.texi:8233 +msgid "Access to @file{/dev/sdX} usually requires root privileges." +msgstr "" + +#. type: unnumberedsubsubsec +#: doc/guix.texi:8235 +#, no-wrap +msgid "Burning on a DVD" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8238 +msgid "To copy the image to a DVD, follow these steps:" +msgstr "" + +#. type: enumerate +#: doc/guix.texi:8251 +msgid "" +"Insert a blank DVD into your machine, and determine its device name. " +"Assuming that the DVD drive is known as @file{/dev/srX}, copy the image " +"with:" +msgstr "" + +#. type: example +#: doc/guix.texi:8254 +#, no-wrap +msgid "" +"growisofs -dvd-compat -Z " +"/dev/srX=guixsd-install-@value{VERSION}.x86_64.iso\n" +msgstr "" + +#. type: enumerate +#: doc/guix.texi:8257 +msgid "Access to @file{/dev/srX} usually requires root privileges." +msgstr "" + +#. type: unnumberedsubsubsec +#: doc/guix.texi:8259 +#, no-wrap +msgid "Booting" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8264 +msgid "" +"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 BIOS or " +"UEFI boot menu, where you can choose to boot from the USB stick." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8267 +msgid "" +"@xref{Installing GuixSD in a VM}, if, instead, you would like to install " +"GuixSD in a virtual machine (VM)." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8279 +msgid "" +"Once you have successfully booted your computer using the installation " +"medium, you should end up with a root prompt. Several console TTYs are " +"configured and can be used to run commands as root. 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." +msgstr "" + +#. type: quotation +#: doc/guix.texi:8284 +msgid "" +"Installation requires access to the Internet so that any missing " +"dependencies of your system configuration can be downloaded. See the " +"``Networking'' section below." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8290 +msgid "" +"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})." +msgstr "" + +#. type: subsubsection +#: doc/guix.texi:8291 +#, no-wrap +msgid "Keyboard Layout" +msgstr "" + +#. type: cindex +#: doc/guix.texi:8293 doc/guix.texi:10364 +#, no-wrap +msgid "keyboard layout" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8297 +msgid "" +"The installation image uses the US qwerty keyboard layout. If you want to " +"change it, you can use the @command{loadkeys} command. For example, the " +"following command selects the Dvorak keyboard layout:" +msgstr "" + +#. type: example +#: doc/guix.texi:8300 +#, no-wrap +msgid "loadkeys dvorak\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8305 +msgid "" +"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." +msgstr "" + +#. type: subsubsection +#: doc/guix.texi:8306 +#, no-wrap +msgid "Networking" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8309 +msgid "Run the following command see what your network interfaces are called:" +msgstr "" + +#. type: example +#: doc/guix.texi:8312 +#, no-wrap +msgid "ifconfig -a\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8316 +msgid "@dots{} or, using the GNU/Linux-specific @command{ip} command:" +msgstr "" + +#. type: example +#: doc/guix.texi:8319 +#, no-wrap +msgid "ip a\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8326 +msgid "" +"Wired interfaces have a name starting with @samp{e}; for example, the " +"interface corresponding to the first on-board Ethernet controller is called " +"@samp{eno1}. Wireless interfaces have a name starting with @samp{w}, like " +"@samp{w1p2s0}." +msgstr "" + +#. type: item +#: doc/guix.texi:8328 +#, no-wrap +msgid "Wired connection" +msgstr "" + +#. type: table +#: doc/guix.texi:8331 +msgid "" +"To configure a wired network run the following command, substituting " +"@var{interface} with the name of the wired interface you want to use." +msgstr "" + +#. type: example +#: doc/guix.texi:8334 +#, no-wrap +msgid "ifconfig @var{interface} up\n" +msgstr "" + +#. type: item +#: doc/guix.texi:8336 +#, no-wrap +msgid "Wireless connection" +msgstr "" + +#. type: cindex +#: doc/guix.texi:8337 doc/guix.texi:10718 +#, no-wrap +msgid "wireless" +msgstr "" + +#. type: cindex +#: doc/guix.texi:8338 doc/guix.texi:10719 +#, no-wrap +msgid "WiFi" +msgstr "" + +#. type: table +#: doc/guix.texi:8343 +msgid "" +"To configure wireless networking, you can create a configuration file for " +"the @command{wpa_supplicant} configuration tool (its location is not " +"important) using one of the available text editors such as @command{nano}:" +msgstr "" + +#. type: example +#: doc/guix.texi:8346 +#, no-wrap +msgid "nano wpa_supplicant.conf\n" +msgstr "" + +#. type: table +#: doc/guix.texi:8351 +msgid "" +"As an example, the following stanza can go to this file and will work for " +"many wireless networks, provided you give the actual SSID and passphrase for " +"the network you are connecting to:" +msgstr "" + +#. type: example +#: doc/guix.texi:8358 +#, no-wrap +msgid "" +"network=@{\n" +" ssid=\"@var{my-ssid}\"\n" +" key_mgmt=WPA-PSK\n" +" psk=\"the network's secret passphrase\"\n" +"@}\n" +msgstr "" + +#. type: table +#: doc/guix.texi:8363 +msgid "" +"Start the wireless service and run it in the background with the following " +"command (substitute @var{interface} with the name of the network interface " +"you want to use):" +msgstr "" + +#. type: example +#: doc/guix.texi:8366 +#, no-wrap +msgid "wpa_supplicant -c wpa_supplicant.conf -i @var{interface} -B\n" +msgstr "" + +#. type: table +#: doc/guix.texi:8369 +msgid "Run @command{man wpa_supplicant} for more information." +msgstr "" + +#. type: cindex +#: doc/guix.texi:8371 +#, no-wrap +msgid "DHCP" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8374 +msgid "" +"At this point, you need to acquire an IP address. On a network where IP " +"addresses are automatically assigned @i{via} DHCP, you can run:" +msgstr "" + +#. type: example +#: doc/guix.texi:8377 +#, no-wrap +msgid "dhclient -v @var{interface}\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8380 +msgid "Try to ping a server to see if networking is up and running:" +msgstr "" + +#. type: example +#: doc/guix.texi:8383 +#, no-wrap +msgid "ping -c 3 gnu.org\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8387 +msgid "" +"Setting up network access is almost always a requirement because the image " +"does not contain all the software and tools that may be needed." +msgstr "" + +#. type: cindex +#: doc/guix.texi:8388 +#, no-wrap +msgid "installing over SSH" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8391 +msgid "" +"If you want to, you can continue the installation remotely by starting an " +"SSH server:" +msgstr "" + +#. type: example +#: doc/guix.texi:8394 +#, no-wrap +msgid "herd start ssh-daemon\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8398 +msgid "" +"Make sure to either set a password with @command{passwd}, or configure " +"OpenSSH public key authentication before logging in." +msgstr "" + +#. type: subsubsection +#: doc/guix.texi:8399 +#, no-wrap +msgid "Disk Partitioning" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8403 +msgid "" +"Unless this has already been done, the next step is to partition, and then " +"format the target partition(s)." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8408 +msgid "" +"The installation image includes several partitioning tools, including Parted " +"(@pxref{Overview,,, parted, GNU Parted User Manual}), @command{fdisk}, and " +"@command{cfdisk}. Run it and set up your disk with the partition layout you " +"want:" +msgstr "" + +#. type: example +#: doc/guix.texi:8411 +#, no-wrap +msgid "cfdisk\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8417 +msgid "" +"If your disk uses the GUID Partition Table (GPT) format and you plan to " +"install BIOS-based GRUB (which is the default), make sure a BIOS Boot " +"Partition is available (@pxref{BIOS installation,,, grub, GNU GRUB manual})." +msgstr "" + +#. type: cindex +#: doc/guix.texi:8418 +#, no-wrap +msgid "EFI, installation" +msgstr "" + +#. type: cindex +#: doc/guix.texi:8419 +#, no-wrap +msgid "UEFI, installation" +msgstr "" + +#. type: cindex +#: doc/guix.texi:8420 +#, no-wrap +msgid "ESP, EFI system partition" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8424 +msgid "" +"If you instead wish to use EFI-based GRUB, a FAT32 @dfn{EFI System " +"Partition} (ESP) is required. This partition should be mounted at " +"@file{/boot/efi} and must have the @code{esp} flag set. E.g., for " +"@command{parted}:" +msgstr "" + +#. type: example +#: doc/guix.texi:8427 +#, no-wrap +msgid "parted /dev/sda set 1 esp on\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8435 +msgid "" +"Once you are done partitioning the target hard disk drive, you have to " +"create a file system on the relevant partition(s)@footnote{Currently GuixSD " +"only supports ext4 and btrfs file systems. In particular, code that reads " +"file system UUIDs and labels only works for these file system types.}. For " +"the ESP, if you have one and assuming it is @file{/dev/sda2}, run:" +msgstr "" + +#. type: example +#: doc/guix.texi:8438 +#, no-wrap +msgid "mkfs.fat -F32 /dev/sda2\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8446 +msgid "" +"Preferably, assign file systems a label so that you can easily and reliably " +"refer to them in @code{file-system} declarations (@pxref{File Systems}). " +"This is typically done using the @code{-L} option of @command{mkfs.ext4} and " +"related commands. So, assuming the target root partition lives at " +"@file{/dev/sda1}, a file system with the label @code{my-root} can be created " +"with:" +msgstr "" + +#. type: example +#: doc/guix.texi:8449 +#, no-wrap +msgid "mkfs.ext4 -L my-root /dev/sda1\n" +msgstr "" + +#. type: cindex +#: doc/guix.texi:8451 doc/guix.texi:8840 +#, no-wrap +msgid "encrypted disk" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8458 +msgid "" +"If you are instead planning to encrypt the root partition, you can use the " +"Cryptsetup/LUKS utilities to do that (see @inlinefmtifelse{html, " +"@uref{https://linux.die.net/man/8/cryptsetup, @code{man cryptsetup}}, " +"@code{man cryptsetup}} for more information.) Assuming you want to store " +"the root partition on @file{/dev/sda1}, the command sequence would be along " +"these lines:" +msgstr "" + +#. type: example +#: doc/guix.texi:8463 +#, no-wrap +msgid "" +"cryptsetup luksFormat /dev/sda1\n" +"cryptsetup open --type luks /dev/sda1 my-partition\n" +"mkfs.ext4 -L my-root /dev/mapper/my-partition\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8468 +msgid "" +"Once that is done, mount the target file system under @file{/mnt} with a " +"command like (again, assuming @code{my-root} is the label of the root file " +"system):" +msgstr "" + +#. type: example +#: doc/guix.texi:8471 +#, no-wrap +msgid "mount LABEL=my-root /mnt\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8477 +msgid "" +"Also mount any other file systems you would like to use on the target system " +"relative to this path. If you have @file{/boot} on a separate partition for " +"example, mount it at @file{/mnt/boot} now so it is found by @code{guix " +"system init} afterwards." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8482 +msgid "" +"Finally, if you plan to use one or more swap partitions (@pxref{Memory " +"Concepts, swap space,, libc, The GNU C Library Reference Manual}), make sure " +"to initialize them with @command{mkswap}. Assuming you have one swap " +"partition on @file{/dev/sda2}, you would run:" +msgstr "" + +#. type: example +#: doc/guix.texi:8486 +#, no-wrap +msgid "" +"mkswap /dev/sda2\n" +"swapon /dev/sda2\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8494 +msgid "" +"Alternatively, you may use a swap file. For example, assuming that in the " +"new system you want to use the file @file{/swapfile} as a swap file, you " +"would run@footnote{This example will work for many types of file systems " +"(e.g., ext4). However, for copy-on-write file systems (e.g., btrfs), the " +"required steps may be different. For details, see the manual pages for " +"@command{mkswap} and @command{swapon}.}:" +msgstr "" + +#. type: example +#: doc/guix.texi:8502 +#, no-wrap +msgid "" +"# This is 10 GiB of swap space. Adjust \"count\" to change the size.\n" +"dd if=/dev/zero of=/mnt/swapfile bs=1MiB count=10240\n" +"# For security, make the file readable and writable only by root.\n" +"chmod 600 /mnt/swapfile\n" +"mkswap /mnt/swapfile\n" +"swapon /mnt/swapfile\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8507 +msgid "" +"Note that if you have encrypted the root partition and created a swap 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." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8513 +msgid "" +"With the target partitions ready and the target root mounted on @file{/mnt}, " +"we're ready to go. First, run:" +msgstr "" + +#. type: example +#: doc/guix.texi:8516 +#, no-wrap +msgid "herd start cow-store /mnt\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8523 +msgid "" +"This makes @file{/gnu/store} copy-on-write, such that packages added to it " +"during the installation phase are written to the target disk on @file{/mnt} " +"rather than kept in memory. This is necessary because the first phase of " +"the @command{guix system init} command (see below) entails downloads or " +"builds to @file{/gnu/store} which, initially, is an in-memory file system." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8534 +msgid "" +"Next, you have to edit a file and provide the declaration of the operating " +"system to be installed. To that end, the installation system comes with " +"three text editors. We recommend GNU nano (@pxref{Top,,, nano, GNU nano " +"Manual}), which supports syntax highlighting and parentheses matching; other " +"editors include GNU Zile (an Emacs clone), and nvi (a clone of the original " +"BSD @command{vi} editor). We strongly recommend storing that file on the " +"target root file system, say, as @file{/mnt/etc/config.scm}. Failing to do " +"that, you will have lost your configuration file once you have rebooted into " +"the newly-installed system." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8541 +msgid "" +"@xref{Using the Configuration System}, for an overview of the configuration " +"file. The example configurations discussed in that section are available " +"under @file{/etc/configuration} in the installation image. Thus, to get " +"started with a system configuration providing a graphical display server (a " +"``desktop'' system), you can run something along these lines:" +msgstr "" + +#. type: example +#: doc/guix.texi:8546 +#, no-wrap +msgid "" +"# mkdir /mnt/etc\n" +"# cp /etc/configuration/desktop.scm /mnt/etc/config.scm\n" +"# nano /mnt/etc/config.scm\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8550 +msgid "" +"You should pay attention to what your configuration file contains, and in " +"particular:" +msgstr "" + +#. type: itemize +#: doc/guix.texi:8560 +msgid "" +"Make sure the @code{bootloader-configuration} form refers to the target you " +"want to install GRUB on. It should mention @code{grub-bootloader} if you " +"are installing GRUB in the legacy way, or @code{grub-efi-bootloader} for " +"newer UEFI systems. For legacy systems, the @code{target} field names a " +"device, like @code{/dev/sda}; for UEFI systems it names a path to a mounted " +"EFI partition, like @code{/boot/efi}, and do make sure the path is actually " +"mounted." +msgstr "" + +#. type: itemize +#: doc/guix.texi:8566 +msgid "" +"Be sure that your file system labels match the value of their respective " +"@code{device} fields in your @code{file-system} configuration, assuming your " +"@code{file-system} configuration sets the value of @code{title} to " +"@code{'label}." +msgstr "" + +#. type: itemize +#: doc/guix.texi:8570 +msgid "" +"If there are encrypted or RAID partitions, make sure to add a " +"@code{mapped-devices} field to describe them (@pxref{Mapped Devices})." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8575 +msgid "" +"Once you are done preparing the configuration file, the new system must be " +"initialized (remember that the target root file system is mounted under " +"@file{/mnt}):" +msgstr "" + +#. type: example +#: doc/guix.texi:8578 +#, no-wrap +msgid "guix system init /mnt/etc/config.scm /mnt\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8585 +msgid "" +"This copies all the necessary files and installs GRUB on @file{/dev/sdX}, " +"unless you pass the @option{--no-bootloader} option. For more information, " +"@pxref{Invoking guix system}. This command may trigger downloads or builds " +"of missing packages, which can take some time." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8592 +msgid "" +"Once that command has completed---and hopefully succeeded!---you can run " +"@command{reboot} and boot into the new system. The @code{root} password 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})." +msgstr "" + +#. type: cindex +#: doc/guix.texi:8593 +#, no-wrap +msgid "upgrading GuixSD" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8600 +msgid "" +"From then on, you can update GuixSD whenever you want by running " +"@command{guix pull} as @code{root} (@pxref{Invoking guix pull}), and then " +"running @command{guix system reconfigure} to build a new system generation " +"with the latest packages and services (@pxref{Invoking guix system}). We " +"recommend doing that regularly so that your system includes the latest " +"security updates (@pxref{Security Updates})." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8604 +msgid "" +"Join us on @code{#guix} on the Freenode IRC network or on " +"@file{guix-devel@@gnu.org} to share your experience---good or not so good." +msgstr "" + +#. type: subsection +#: doc/guix.texi:8606 +#, no-wrap +msgid "Installing GuixSD in a Virtual Machine" +msgstr "" + +#. type: cindex +#: doc/guix.texi:8608 +#, no-wrap +msgid "virtual machine, GuixSD installation" +msgstr "" + +#. type: cindex +#: doc/guix.texi:8609 +#, no-wrap +msgid "virtual private server (VPS)" +msgstr "" + +#. type: cindex +#: doc/guix.texi:8610 +#, no-wrap +msgid "VPS (virtual private server)" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8614 +msgid "" +"If you'd like to install GuixSD in a virtual machine (VM) or on a virtual " +"private server (VPS) rather than on your beloved machine, this section is " +"for you." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8617 +msgid "" +"To boot a @uref{http://qemu.org/,QEMU} VM for installing GuixSD in a disk " +"image, follow these steps:" +msgstr "" + +#. type: enumerate +#: doc/guix.texi:8622 +msgid "" +"First, retrieve and decompress the GuixSD installation image as described " +"previously (@pxref{USB Stick and DVD Installation})." +msgstr "" + +#. type: enumerate +#: doc/guix.texi:8626 +msgid "" +"Create a disk image that will hold the installed system. To make a " +"qcow2-formatted disk image, use the @command{qemu-img} command:" +msgstr "" + +#. type: example +#: doc/guix.texi:8629 +#, no-wrap +msgid "qemu-img create -f qcow2 guixsd.img 50G\n" +msgstr "" + +#. type: enumerate +#: doc/guix.texi:8633 +msgid "" +"The resulting file will be much smaller than 50 GB (typically less than 1 " +"MB), but it will grow as the virtualized storage device is filled up." +msgstr "" + +#. type: enumerate +#: doc/guix.texi:8636 +msgid "Boot the USB installation image in an VM:" +msgstr "" + +#. type: example +#: doc/guix.texi:8642 +#, no-wrap +msgid "" +"qemu-system-x86_64 -m 1024 -smp 1 \\\n" +" -net user -net nic,model=virtio -boot menu=on \\\n" +" -drive file=guixsd-install-@value{VERSION}.@var{system}.iso \\\n" +" -drive file=guixsd.img\n" +msgstr "" + +#. type: enumerate +#: doc/guix.texi:8645 +msgid "The ordering of the drives matters." +msgstr "" + +#. type: enumerate +#: doc/guix.texi:8649 +msgid "" +"In the VM console, quickly press the @kbd{F12} key to enter the boot menu. " +"Then press the @kbd{2} key and the @kbd{RET} key to validate your selection." +msgstr "" + +#. type: enumerate +#: doc/guix.texi:8653 +msgid "" +"You're now root in the VM, proceed with the installation process. " +"@xref{Preparing for Installation}, and follow the instructions." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8658 +msgid "" +"Once installation is complete, you can boot the system that's on your " +"@file{guixsd.img} image. @xref{Running GuixSD in a VM}, for how to do that." +msgstr "" + +#. type: cindex +#: doc/guix.texi:8662 +#, no-wrap +msgid "installation image" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8665 +msgid "" +"The installation image described above was built using the @command{guix " +"system} command, specifically:" +msgstr "" + +#. type: example +#: doc/guix.texi:8668 +#, no-wrap +msgid "guix system disk-image gnu/system/install.scm\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8673 +msgid "" +"Have a look at @file{gnu/system/install.scm} in the source tree, and see " +"also @ref{Invoking guix system} for more information about the installation " +"image." +msgstr "" + +#. type: cindex +#: doc/guix.texi:8677 +#, no-wrap +msgid "system configuration" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8683 +msgid "" +"The Guix System Distribution supports a consistent whole-system " +"configuration mechanism. By that we mean that all aspects of the global " +"system configuration---such as the available system services, timezone and " +"locale settings, user accounts---are declared in a single place. Such a " +"@dfn{system configuration} can be @dfn{instantiated}---i.e., effected." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8693 +msgid "" +"One of the advantages of putting all the system configuration under the " +"control of Guix is that it supports transactional system upgrades, and makes " +"it possible to roll back to a previous system instantiation, should " +"something go wrong with the new one (@pxref{Features}). Another advantage " +"is that it makes it easy to replicate the exact same configuration across " +"different machines, or at different points in time, without having to resort " +"to additional administration tools layered on top of the own tools of the " +"system." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8698 +msgid "" +"This section describes this mechanism. First we focus on the system " +"administrator's viewpoint---explaining how the system is configured and " +"instantiated. Then we show how this mechanism can be extended, for instance " +"to support new system services." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8725 +msgid "" +"The operating system is configured by providing an @code{operating-system} " +"declaration in a file that can then be passed to the @command{guix system} " +"command (@pxref{Invoking guix system}). A simple setup, with the default " +"system services, the default Linux-Libre kernel, initial RAM disk, and boot " +"loader looks like this:" +msgstr "" + +#. type: findex +#: doc/guix.texi:8726 +#, no-wrap +msgid "operating-system" +msgstr "" + +#. type: include +#: doc/guix.texi:8728 +#, no-wrap +msgid "os-config-bare-bones.texi" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8735 +msgid "" +"This example should be self-describing. Some of the fields defined above, " +"such as @code{host-name} and @code{bootloader}, are mandatory. Others, such " +"as @code{packages} and @code{services}, can be omitted, in which case they " +"get a default value." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8740 +msgid "" +"Below we discuss the effect of some of the most important fields " +"(@pxref{operating-system Reference}, for details about all the available " +"fields), and how to @dfn{instantiate} the operating system using " +"@command{guix system}." +msgstr "" + +#. type: unnumberedsubsubsec +#: doc/guix.texi:8741 +#, no-wrap +msgid "Globally-Visible Packages" +msgstr "" + +#. type: vindex +#: doc/guix.texi:8743 +#, no-wrap +msgid "%base-packages" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8756 +msgid "" +"The @code{packages} field lists packages that will be globally visible on " +"the system, for all user accounts---i.e., in every user's @code{PATH} " +"environment variable---in addition to the per-user profiles (@pxref{Invoking " +"guix package}). The @var{%base-packages} variable provides all the tools " +"one would expect for basic user and administrator tasks---including the GNU " +"Core Utilities, the GNU Networking Utilities, the GNU Zile lightweight text " +"editor, @command{find}, @command{grep}, etc. The example above adds " +"GNU@tie{}Screen and OpenSSH to those, taken from the @code{(gnu packages " +"screen)} and @code{(gnu packages ssh)} modules (@pxref{Package Modules}). " +"The @code{(list package output)} syntax can be used to add a specific output " +"of a package:" +msgstr "" + +#. type: lisp +#: doc/guix.texi:8760 +#, no-wrap +msgid "" +"(use-modules (gnu packages))\n" +"(use-modules (gnu packages dns))\n" +"\n" +msgstr "" + +#. type: lisp +#: doc/guix.texi:8765 +#, no-wrap +msgid "" +"(operating-system\n" +" ;; ...\n" +" (packages (cons (list bind \"utils\")\n" +" %base-packages)))\n" +msgstr "" + +#. type: findex +#: doc/guix.texi:8767 +#, no-wrap +msgid "specification->package" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8776 +msgid "" +"Referring to packages by variable name, like @code{bind} above, has the " +"advantage of being unambiguous; it also allows typos and such to be " +"diagnosed right away as ``unbound variables''. The downside is that one " +"needs to know which module defines which package, and to augment the " +"@code{use-package-modules} line accordingly. To avoid that, one can use the " +"@code{specification->package} procedure of the @code{(gnu packages)} module, " +"which returns the best package for a given name or name and version:" +msgstr "" + +#. type: lisp +#: doc/guix.texi:8779 +#, no-wrap +msgid "" +"(use-modules (gnu packages))\n" +"\n" +msgstr "" + +#. type: lisp +#: doc/guix.texi:8785 +#, no-wrap +msgid "" +"(operating-system\n" +" ;; ...\n" +" (packages (append (map specification->package\n" +" '(\"tcpdump\" \"htop\" \"gnupg@@2.0\"))\n" +" %base-packages)))\n" +msgstr "" + +#. type: unnumberedsubsubsec +#: doc/guix.texi:8787 +#, no-wrap +msgid "System Services" +msgstr "" + +#. type: cindex +#: doc/guix.texi:8789 doc/guix.texi:19888 doc/guix.texi:20806 +#, no-wrap +msgid "services" +msgstr "" + +#. type: vindex +#: doc/guix.texi:8790 +#, no-wrap +msgid "%base-services" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8800 +msgid "" +"The @code{services} field lists @dfn{system services} to be made available " +"when the system starts (@pxref{Services}). The @code{operating-system} " +"declaration above specifies that, in addition to the basic services, we want " +"the @command{lshd} secure shell daemon listening on port 2222 " +"(@pxref{Networking Services, @code{lsh-service}}). Under the hood, " +"@code{lsh-service} arranges so that @code{lshd} is started with the right " +"command-line options, possibly with supporting configuration files generated " +"as needed (@pxref{Defining Services})." +msgstr "" + +#. type: cindex +#: doc/guix.texi:8801 +#, no-wrap +msgid "customization, of services" +msgstr "" + +#. type: findex +#: doc/guix.texi:8802 +#, no-wrap +msgid "modify-services" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8806 +msgid "" +"Occasionally, instead of using the base services as is, you will want to " +"customize them. To do this, use @code{modify-services} (@pxref{Service " +"Reference, @code{modify-services}}) to modify the list." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8811 +msgid "" +"For example, suppose you want to modify @code{guix-daemon} and Mingetty (the " +"console log-in) in the @var{%base-services} list (@pxref{Base Services, " +"@code{%base-services}}). To do that, you can write the following in your " +"operating system declaration:" +msgstr "" + +#. type: lisp +#: doc/guix.texi:8824 +#, no-wrap +msgid "" +"(define %my-services\n" +" ;; My very own list of services.\n" +" (modify-services %base-services\n" +" (guix-service-type config =>\n" +" (guix-configuration\n" +" (inherit config)\n" +" (use-substitutes? #f)\n" +" (extra-options '(\"--gc-keep-derivations\"))))\n" +" (mingetty-service-type config =>\n" +" (mingetty-configuration\n" +" (inherit config)))))\n" +"\n" +msgstr "" + +#. type: lisp +#: doc/guix.texi:8828 +#, no-wrap +msgid "" +"(operating-system\n" +" ;; @dots{}\n" +" (services %my-services))\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8839 +msgid "" +"This changes the configuration---i.e., the service parameters---of the " +"@code{guix-service-type} instance, and that of all the " +"@code{mingetty-service-type} instances in the @var{%base-services} list. " +"Observe how this is accomplished: first, we arrange for the original " +"configuration to be bound to the identifier @code{config} in the @var{body}, " +"and then we write the @var{body} so that it evaluates to the desired " +"configuration. In particular, notice how we use @code{inherit} to create a " +"new configuration which has the same values as the old configuration, but " +"with a few modifications." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8846 +msgid "" +"The configuration for a typical ``desktop'' usage, with an encrypted root " +"partition, the X11 display server, GNOME and Xfce (users can choose which of " +"these desktop environments to use at the log-in screen by pressing " +"@kbd{F1}), network management, power management, and more, would look like " +"this:" +msgstr "" + +#. type: include +#: doc/guix.texi:8848 +#, no-wrap +msgid "os-config-desktop.texi" +msgstr "" + +#. type: cindex +#: doc/guix.texi:8851 +#, no-wrap +msgid "UEFI" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8854 +msgid "" +"A graphical UEFI system with a choice of lightweight window managers instead " +"of full-blown desktop environments would look like this:" +msgstr "" + +#. type: include +#: doc/guix.texi:8856 +#, no-wrap +msgid "os-config-lightweight-desktop.texi" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8862 +msgid "" +"This example refers to the @file{/boot/efi} file system by its UUID, " +"@code{1234-ABCD}. Replace this UUID with the right UUID on your system, as " +"returned by the @command{blkid} command." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8866 +msgid "" +"@xref{Desktop Services}, for the exact list of services provided by " +"@var{%desktop-services}. @xref{X.509 Certificates}, for background " +"information about the @code{nss-certs} package that is used here." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8873 +msgid "" +"Again, @var{%desktop-services} is just a list of service objects. If you " +"want to remove services from there, you can do so using the procedures for " +"list filtering (@pxref{SRFI-1 Filtering and Partitioning,,, guile, GNU Guile " +"Reference Manual}). For instance, the following expression returns a list " +"that contains all the services in @var{%desktop-services} minus the Avahi " +"service:" +msgstr "" + +#. type: example +#: doc/guix.texi:8878 +#, no-wrap +msgid "" +"(remove (lambda (service)\n" +" (eq? (service-kind service) avahi-service-type))\n" +" %desktop-services)\n" +msgstr "" + +#. type: unnumberedsubsubsec +#: doc/guix.texi:8880 +#, no-wrap +msgid "Instantiating the System" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8887 +msgid "" +"Assuming the @code{operating-system} declaration is stored in the " +"@file{my-system-config.scm} file, the @command{guix system reconfigure " +"my-system-config.scm} command instantiates that configuration, and makes it " +"the default GRUB boot entry (@pxref{Invoking guix system})." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8895 +msgid "" +"The normal way to change the system configuration is by updating this file " +"and re-running @command{guix system reconfigure}. One should never have to " +"touch files in @file{/etc} or to run commands that modify the system state " +"such as @command{useradd} or @command{grub-install}. In fact, you must " +"avoid that since that would not only void your warranty but also prevent you " +"from rolling back to previous versions of your system, should you ever need " +"to." +msgstr "" + +#. type: cindex +#: doc/guix.texi:8896 +#, no-wrap +msgid "roll-back, of the operating system" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8906 +msgid "" +"Speaking of roll-back, each time you run @command{guix system reconfigure}, " +"a new @dfn{generation} of the system is created---without modifying or " +"deleting previous generations. Old system generations get an entry in the " +"bootloader boot menu, allowing you to boot them in case something went wrong " +"with the latest generation. Reassuring, no? The @command{guix system " +"list-generations} command lists the system generations available on disk. " +"It is also possible to roll back the system via the commands @command{guix " +"system roll-back} and @command{guix system switch-generation}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8912 +msgid "" +"Although the command @command{guix system reconfigure} will not modify " +"previous generations, must take care when the current generation is not the " +"latest (e.g., after invoking @command{guix system roll-back}), since the " +"operation might overwrite a later generation (@pxref{Invoking guix system})." +msgstr "" + +#. type: unnumberedsubsubsec +#: doc/guix.texi:8913 +#, no-wrap +msgid "The Programming Interface" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8918 +msgid "" +"At the Scheme level, the bulk of an @code{operating-system} declaration is " +"instantiated with the following monadic procedure (@pxref{The Store Monad}):" +msgstr "" + +#. type: deffn +#: doc/guix.texi:8919 +#, no-wrap +msgid "{Monadic Procedure} operating-system-derivation os" +msgstr "" + +#. type: deffn +#: doc/guix.texi:8922 +msgid "" +"Return a derivation that builds @var{os}, an @code{operating-system} object " +"(@pxref{Derivations})." +msgstr "" + +#. type: deffn +#: doc/guix.texi:8926 +msgid "" +"The output of the derivation is a single directory that refers to all the " +"packages, configuration files, and other supporting files needed to " +"instantiate @var{os}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8931 +msgid "" +"This procedure is provided by the @code{(gnu system)} module. Along with " +"@code{(gnu services)} (@pxref{Services}), this module contains the guts of " +"GuixSD. Make sure to visit it!" +msgstr "" + +#. type: subsection +#: doc/guix.texi:8934 +#, no-wrap +msgid "@code{operating-system} Reference" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:8939 +msgid "" +"This section summarizes all the options available in @code{operating-system} " +"declarations (@pxref{Using the Configuration System})." +msgstr "" + +#. type: deftp +#: doc/guix.texi:8940 +#, no-wrap +msgid "{Data Type} operating-system" +msgstr "" + +#. type: deftp +#: doc/guix.texi:8944 +msgid "" +"This is the data type representing an operating system configuration. By " +"that, we mean all the global system configuration, not per-user " +"configuration (@pxref{Using the Configuration System})." +msgstr "" + +#. type: item +#: doc/guix.texi:8946 +#, no-wrap +msgid "@code{kernel} (default: @var{linux-libre})" +msgstr "" + +#. type: table +#: doc/guix.texi:8950 +msgid "" +"The package object of the operating system kernel to use@footnote{Currently " +"only the Linux-libre kernel is supported. In the future, it will be " +"possible to use the GNU@tie{}Hurd.}." +msgstr "" + +#. type: item +#: doc/guix.texi:8951 +#, no-wrap +msgid "@code{kernel-arguments} (default: @code{'()})" +msgstr "" + +#. type: table +#: doc/guix.texi:8954 +msgid "" +"List of strings or gexps representing additional arguments to pass on the " +"command-line of the kernel---e.g., @code{(\"console=ttyS0\")}." +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:8955 doc/guix.texi:20085 doc/guix.texi:20104 +#, no-wrap +msgid "bootloader" +msgstr "" + +#. type: table +#: doc/guix.texi:8957 +msgid "" +"The system bootloader configuration object. @xref{Bootloader " +"Configuration}." +msgstr "" + +#. type: item +#: doc/guix.texi:8958 +#, no-wrap +msgid "@code{initrd-modules} (default: @code{%base-initrd-modules})" +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:8959 doc/guix.texi:19925 doc/guix.texi:20028 doc/guix.texi:20223 +#, no-wrap +msgid "initrd" +msgstr "" + +#. type: cindex +#: doc/guix.texi:8960 doc/guix.texi:19926 doc/guix.texi:20029 +#, no-wrap +msgid "initial RAM disk" +msgstr "" + +#. type: table +#: doc/guix.texi:8963 +msgid "" +"The list of Linux kernel modules that need to be available in the initial " +"RAM disk. @xref{Initial RAM Disk}." +msgstr "" + +#. type: item +#: doc/guix.texi:8964 +#, no-wrap +msgid "@code{initrd} (default: @code{base-initrd})" +msgstr "" + +#. type: table +#: doc/guix.texi:8968 +msgid "" +"A monadic procedure that returns an initial RAM disk for the Linux kernel. " +"This field is provided to support low-level customization and should rarely " +"be needed for casual use. @xref{Initial RAM Disk}." +msgstr "" + +#. type: item +#: doc/guix.texi:8969 +#, no-wrap +msgid "@code{firmware} (default: @var{%base-firmware})" +msgstr "" + +#. type: cindex +#: doc/guix.texi:8970 +#, no-wrap +msgid "firmware" +msgstr "" + +#. type: table +#: doc/guix.texi:8972 +msgid "List of firmware packages loadable by the operating system kernel." +msgstr "" + +#. type: table +#: doc/guix.texi:8977 +msgid "" +"The default includes firmware needed for Atheros- and Broadcom-based WiFi " +"devices (Linux-libre modules @code{ath9k} and @code{b43-open}, " +"respectively). @xref{Hardware Considerations}, for more info on supported " +"hardware." +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:8978 +#, no-wrap +msgid "host-name" +msgstr "" + +#. type: table +#: doc/guix.texi:8980 +msgid "The host name." +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:8981 +#, no-wrap +msgid "hosts-file" +msgstr "" + +#. type: cindex +#: doc/guix.texi:8982 +#, no-wrap +msgid "hosts file" +msgstr "" + +#. type: table +#: doc/guix.texi:8987 +msgid "" +"A file-like object (@pxref{G-Expressions, file-like objects}) for use as " +"@file{/etc/hosts} (@pxref{Host Names,,, libc, The GNU C Library Reference " +"Manual}). The default is a file with entries for @code{localhost} and " +"@var{host-name}." +msgstr "" + +#. type: item +#: doc/guix.texi:8988 +#, no-wrap +msgid "@code{mapped-devices} (default: @code{'()})" +msgstr "" + +#. type: table +#: doc/guix.texi:8990 +msgid "A list of mapped devices. @xref{Mapped Devices}." +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:8991 +#, no-wrap +msgid "file-systems" +msgstr "" + +#. type: table +#: doc/guix.texi:8993 +msgid "A list of file systems. @xref{File Systems}." +msgstr "" + +#. type: item +#: doc/guix.texi:8994 +#, no-wrap +msgid "@code{swap-devices} (default: @code{'()})" +msgstr "" + +#. type: cindex +#: doc/guix.texi:8995 +#, no-wrap +msgid "swap devices" +msgstr "" + +#. type: table +#: doc/guix.texi:9002 +msgid "" +"A list of strings identifying devices or files to be used for ``swap space'' " +"(@pxref{Memory Concepts,,, libc, The GNU C Library Reference Manual}). For " +"example, @code{'(\"/dev/sda3\")} or @code{'(\"/swapfile\")}. It is possible " +"to specify a swap file in a file system on a mapped device, provided that " +"the necessary device mapping and file system are also specified. " +"@xref{Mapped Devices} and @ref{File Systems}." +msgstr "" + +#. type: item +#: doc/guix.texi:9003 +#, no-wrap +msgid "@code{users} (default: @code{%base-user-accounts})" +msgstr "" + +#. type: itemx +#: doc/guix.texi:9004 +#, no-wrap +msgid "@code{groups} (default: @var{%base-groups})" +msgstr "" + +#. type: table +#: doc/guix.texi:9006 +msgid "List of user accounts and groups. @xref{User Accounts}." +msgstr "" + +#. type: table +#: doc/guix.texi:9009 +msgid "" +"If the @code{users} list lacks a user account with UID@tie{}0, a ``root'' " +"account with UID@tie{}0 is automatically added." +msgstr "" + +#. type: item +#: doc/guix.texi:9010 +#, no-wrap +msgid "@code{skeletons} (default: @code{(default-skeletons)})" +msgstr "" + +#. type: table +#: doc/guix.texi:9014 +msgid "" +"A list target file name/file-like object tuples (@pxref{G-Expressions, " +"file-like objects}). These are the skeleton files that will be added to the " +"home directory of newly-created user accounts." +msgstr "" + +#. type: table +#: doc/guix.texi:9016 +msgid "For instance, a valid value may look like this:" +msgstr "" + +#. type: example +#: doc/guix.texi:9022 +#, no-wrap +msgid "" +"`((\".bashrc\" ,(plain-file \"bashrc\" \"echo Hello\\n\"))\n" +" (\".guile\" ,(plain-file \"guile\"\n" +" \"(use-modules (ice-9 readline))\n" +" (activate-readline)\")))\n" +msgstr "" + +#. type: item +#: doc/guix.texi:9024 +#, no-wrap +msgid "@code{issue} (default: @var{%default-issue})" +msgstr "" + +#. type: table +#: doc/guix.texi:9027 +msgid "" +"A string denoting the contents of the @file{/etc/issue} file, which is " +"displayed when users log in on a text console." +msgstr "" + +#. type: item +#: doc/guix.texi:9028 +#, no-wrap +msgid "@code{packages} (default: @var{%base-packages})" +msgstr "" + +#. type: table +#: doc/guix.texi:9031 +msgid "" +"The set of packages installed in the global profile, which is accessible at " +"@file{/run/current-system/profile}." +msgstr "" + +#. type: table +#: doc/guix.texi:9035 +msgid "" +"The default set includes core utilities and it is good practice to install " +"non-core utilities in user profiles (@pxref{Invoking guix package})." +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:9036 +#, no-wrap +msgid "timezone" +msgstr "" + +#. type: table +#: doc/guix.texi:9038 +msgid "A timezone identifying string---e.g., @code{\"Europe/Paris\"}." +msgstr "" + +#. type: table +#: doc/guix.texi:9042 +msgid "" +"You can run the @command{tzselect} command to find out which timezone string " +"corresponds to your region. Choosing an invalid timezone name causes " +"@command{guix system} to fail." +msgstr "" + +#. type: item +#: doc/guix.texi:9043 +#, no-wrap +msgid "@code{locale} (default: @code{\"en_US.utf8\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:9046 +msgid "" +"The name of the default locale (@pxref{Locale Names,,, libc, The GNU C " +"Library Reference Manual}). @xref{Locales}, for more information." +msgstr "" + +#. type: item +#: doc/guix.texi:9047 +#, no-wrap +msgid "@code{locale-definitions} (default: @var{%default-locale-definitions})" +msgstr "" + +#. type: table +#: doc/guix.texi:9050 +msgid "" +"The list of locale definitions to be compiled and that may be used at run " +"time. @xref{Locales}." +msgstr "" + +#. type: item +#: doc/guix.texi:9051 +#, no-wrap +msgid "@code{locale-libcs} (default: @code{(list @var{glibc})})" +msgstr "" + +#. type: table +#: doc/guix.texi:9055 +msgid "" +"The list of GNU@tie{}libc packages whose locale data and tools are used to " +"build the locale definitions. @xref{Locales}, for compatibility " +"considerations that justify this option." +msgstr "" + +#. type: item +#: doc/guix.texi:9056 +#, no-wrap +msgid "@code{name-service-switch} (default: @var{%default-nss})" +msgstr "" + +#. type: table +#: doc/guix.texi:9060 +msgid "" +"Configuration of the libc name service switch (NSS)---a " +"@code{<name-service-switch>} object. @xref{Name Service Switch}, for " +"details." +msgstr "" + +#. type: item +#: doc/guix.texi:9061 +#, no-wrap +msgid "@code{services} (default: @var{%base-services})" +msgstr "" + +#. type: table +#: doc/guix.texi:9063 +msgid "A list of service objects denoting system services. @xref{Services}." +msgstr "" + +#. type: item +#: doc/guix.texi:9064 +#, no-wrap +msgid "@code{pam-services} (default: @code{(base-pam-services)})" +msgstr "" + +#. type: cindex +#: doc/guix.texi:9065 +#, no-wrap +msgid "PAM" +msgstr "" + +#. type: cindex +#: doc/guix.texi:9066 +#, no-wrap +msgid "pluggable authentication modules" +msgstr "" + +#. type: table +#: doc/guix.texi:9069 +msgid "Linux @dfn{pluggable authentication module} (PAM) services." +msgstr "" + +#. type: item +#: doc/guix.texi:9070 +#, no-wrap +msgid "@code{setuid-programs} (default: @var{%setuid-programs})" +msgstr "" + +#. type: table +#: doc/guix.texi:9073 +msgid "" +"List of string-valued G-expressions denoting setuid programs. @xref{Setuid " +"Programs}." +msgstr "" + +#. type: item +#: doc/guix.texi:9074 +#, no-wrap +msgid "@code{sudoers-file} (default: @var{%sudoers-specification})" +msgstr "" + +#. type: cindex +#: doc/guix.texi:9075 +#, no-wrap +msgid "sudoers file" +msgstr "" + +#. type: table +#: doc/guix.texi:9078 +msgid "" +"The contents of the @file{/etc/sudoers} file as a file-like object " +"(@pxref{G-Expressions, @code{local-file} and @code{plain-file}})." +msgstr "" + +#. type: table +#: doc/guix.texi:9083 +msgid "" +"This file specifies which users can use the @command{sudo} command, what " +"they are allowed to do, and what privileges they may gain. The default is " +"that only @code{root} and members of the @code{wheel} group may use " +"@code{sudo}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:9094 +msgid "" +"The list of file systems to be mounted is specified in the " +"@code{file-systems} field of the operating system declaration (@pxref{Using " +"the Configuration System}). Each file system is declared using the " +"@code{file-system} form, like this:" +msgstr "" + +#. type: example +#: doc/guix.texi:9100 +#, no-wrap +msgid "" +"(file-system\n" +" (mount-point \"/home\")\n" +" (device \"/dev/sda3\")\n" +" (type \"ext4\"))\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:9104 +msgid "" +"As usual, some of the fields are mandatory---those shown in the example " +"above---while others can be omitted. These are described below." +msgstr "" + +#. type: deftp +#: doc/guix.texi:9105 +#, no-wrap +msgid "{Data Type} file-system" +msgstr "" + +#. type: deftp +#: doc/guix.texi:9108 +msgid "" +"Objects of this type represent file systems to be mounted. They contain the " +"following members:" +msgstr "" + +#. type: item +#: doc/guix.texi:9110 doc/guix.texi:9294 +#, no-wrap +msgid "type" +msgstr "" + +#. type: table +#: doc/guix.texi:9113 +msgid "" +"This is a string specifying the type of the file system---e.g., " +"@code{\"ext4\"}." +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:9114 +#, no-wrap +msgid "mount-point" +msgstr "" + +#. type: table +#: doc/guix.texi:9116 +msgid "This designates the place where the file system is to be mounted." +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:9117 +#, no-wrap +msgid "device" +msgstr "" + +#. type: table +#: doc/guix.texi:9121 +msgid "" +"This names the ``source'' of the file system. By default it is the name of " +"a node under @file{/dev}, but its meaning depends on the @code{title} field " +"described below." +msgstr "" + +#. type: item +#: doc/guix.texi:9122 +#, no-wrap +msgid "@code{title} (default: @code{'device})" +msgstr "" + +#. type: table +#: doc/guix.texi:9125 +msgid "" +"This is a symbol that specifies how the @code{device} field is to be " +"interpreted." +msgstr "" + +#. type: table +#: doc/guix.texi:9130 +msgid "" +"When it is the symbol @code{device}, then the @code{device} field is " +"interpreted as a file name; when it is @code{label}, then @code{device} is " +"interpreted as a file system label name; when it is @code{uuid}, " +"@code{device} is interpreted as a file system unique identifier (UUID)." +msgstr "" + +#. type: table +#: doc/guix.texi:9138 +msgid "" +"UUIDs may be converted from their string representation (as shown by the " +"@command{tune2fs -l} command) using the @code{uuid} form@footnote{The " +"@code{uuid} form expects 16-byte UUIDs as defined in " +"@uref{https://tools.ietf.org/html/rfc4122, RFC@tie{}4122}. This is the form " +"of UUID used by the ext2 family of file systems and others, but it is " +"different from ``UUIDs'' found in FAT file systems, for instance.}, like " +"this:" +msgstr "" + +#. type: example +#: doc/guix.texi:9145 +#, no-wrap +msgid "" +"(file-system\n" +" (mount-point \"/home\")\n" +" (type \"ext4\")\n" +" (title 'uuid)\n" +" (device (uuid \"4dab5feb-d176-45de-b287-9b0a6e4c01cb\")))\n" +msgstr "" + +#. type: table +#: doc/guix.texi:9154 +msgid "" +"The @code{label} and @code{uuid} options offer a way to refer to file " +"systems without having to hard-code their actual device name@footnote{Note " +"that, while it is tempting to use @file{/dev/disk/by-uuid} and similar " +"device names to achieve the same result, this is not recommended: These " +"special device nodes are created by the udev daemon and may be unavailable " +"at the time the device is mounted.}." +msgstr "" + +#. type: table +#: doc/guix.texi:9161 +msgid "" +"However, when the source of a file system is a mapped device (@pxref{Mapped " +"Devices}), its @code{device} field @emph{must} refer to the mapped device " +"name---e.g., @file{/dev/mapper/root-partition}---and consequently " +"@code{title} must be set to @code{'device}. This is required so that the " +"system knows that mounting the file system depends on having the " +"corresponding device mapping established." +msgstr "" + +#. type: item +#: doc/guix.texi:9162 +#, no-wrap +msgid "@code{flags} (default: @code{'()})" +msgstr "" + +#. type: table +#: doc/guix.texi:9167 +msgid "" +"This is a list of symbols denoting mount flags. Recognized flags include " +"@code{read-only}, @code{bind-mount}, @code{no-dev} (disallow access to " +"special files), @code{no-suid} (ignore setuid and setgid bits), and " +"@code{no-exec} (disallow program execution.)" +msgstr "" + +#. type: item +#: doc/guix.texi:9168 +#, no-wrap +msgid "@code{options} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:9170 +msgid "This is either @code{#f}, or a string denoting mount options." +msgstr "" + +#. type: item +#: doc/guix.texi:9171 +#, no-wrap +msgid "@code{mount?} (default: @code{#t})" +msgstr "" + +#. type: table +#: doc/guix.texi:9176 +msgid "" +"This value indicates whether to automatically mount the file system when the " +"system is brought up. When set to @code{#f}, the file system gets an entry " +"in @file{/etc/fstab} (read by the @command{mount} command) but is not " +"automatically mounted." +msgstr "" + +#. type: item +#: doc/guix.texi:9177 +#, no-wrap +msgid "@code{needed-for-boot?} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:9182 +msgid "" +"This Boolean value indicates whether the file system is needed when " +"booting. If that is true, then the file system is mounted when the initial " +"RAM disk (initrd) is loaded. This is always the case, for instance, for the " +"root file system." +msgstr "" + +#. type: item +#: doc/guix.texi:9183 +#, no-wrap +msgid "@code{check?} (default: @code{#t})" +msgstr "" + +#. type: table +#: doc/guix.texi:9186 +msgid "" +"This Boolean indicates whether the file system needs to be checked for " +"errors before being mounted." +msgstr "" + +#. type: item +#: doc/guix.texi:9187 +#, no-wrap +msgid "@code{create-mount-point?} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:9189 +msgid "When true, the mount point is created if it does not exist yet." +msgstr "" + +#. type: item +#: doc/guix.texi:9190 +#, no-wrap +msgid "@code{dependencies} (default: @code{'()})" +msgstr "" + +#. type: table +#: doc/guix.texi:9194 +msgid "" +"This is a list of @code{<file-system>} or @code{<mapped-device>} objects " +"representing file systems that must be mounted or mapped devices that must " +"be opened before (and unmounted or closed after) this one." +msgstr "" + +#. type: table +#: doc/guix.texi:9198 +msgid "" +"As an example, consider a hierarchy of mounts: @file{/sys/fs/cgroup} is a " +"dependency of @file{/sys/fs/cgroup/cpu} and @file{/sys/fs/cgroup/memory}." +msgstr "" + +#. type: table +#: doc/guix.texi:9201 +msgid "" +"Another example is a file system that depends on a mapped device, for " +"example for an encrypted partition (@pxref{Mapped Devices})." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:9206 +msgid "The @code{(gnu system file-systems)} exports the following useful variables." +msgstr "" + +#. type: defvr +#: doc/guix.texi:9207 +#, no-wrap +msgid "{Scheme Variable} %base-file-systems" +msgstr "" + +#. type: defvr +#: doc/guix.texi:9212 +msgid "" +"These are essential file systems that are required on normal systems, such " +"as @var{%pseudo-terminal-file-system} and @var{%immutable-store} (see " +"below.) Operating system declarations should always contain at least these." +msgstr "" + +#. type: defvr +#: doc/guix.texi:9214 +#, no-wrap +msgid "{Scheme Variable} %pseudo-terminal-file-system" +msgstr "" + +#. type: defvr +#: doc/guix.texi:9220 +msgid "" +"This is the file system to be mounted as @file{/dev/pts}. It supports " +"@dfn{pseudo-terminals} created @i{via} @code{openpty} and similar functions " +"(@pxref{Pseudo-Terminals,,, libc, The GNU C Library Reference Manual}). " +"Pseudo-terminals are used by terminal emulators such as @command{xterm}." +msgstr "" + +#. type: defvr +#: doc/guix.texi:9222 +#, no-wrap +msgid "{Scheme Variable} %shared-memory-file-system" +msgstr "" + +#. type: defvr +#: doc/guix.texi:9226 +msgid "" +"This file system is mounted as @file{/dev/shm} and is used to support memory " +"sharing across processes (@pxref{Memory-mapped I/O, @code{shm_open},, libc, " +"The GNU C Library Reference Manual})." +msgstr "" + +#. type: defvr +#: doc/guix.texi:9228 +#, no-wrap +msgid "{Scheme Variable} %immutable-store" +msgstr "" + +#. type: defvr +#: doc/guix.texi:9233 +msgid "" +"This file system performs a read-only ``bind mount'' of @file{/gnu/store}, " +"making it read-only for all the users including @code{root}. This prevents " +"against accidental modification by software running as @code{root} or by " +"system administrators." +msgstr "" + +#. type: defvr +#: doc/guix.texi:9236 +msgid "" +"The daemon itself is still able to write to the store: it remounts it " +"read-write in its own ``name space.''" +msgstr "" + +#. type: defvr +#: doc/guix.texi:9238 +#, no-wrap +msgid "{Scheme Variable} %binary-format-file-system" +msgstr "" + +#. type: defvr +#: doc/guix.texi:9242 +msgid "" +"The @code{binfmt_misc} file system, which allows handling of arbitrary " +"executable file types to be delegated to user space. This requires the " +"@code{binfmt.ko} kernel module to be loaded." +msgstr "" + +#. type: defvr +#: doc/guix.texi:9244 +#, no-wrap +msgid "{Scheme Variable} %fuse-control-file-system" +msgstr "" + +#. type: defvr +#: doc/guix.texi:9248 +msgid "" +"The @code{fusectl} file system, which allows unprivileged users to mount and " +"unmount user-space FUSE file systems. This requires the @code{fuse.ko} " +"kernel module to be loaded." +msgstr "" + +#. type: cindex +#: doc/guix.texi:9253 +#, no-wrap +msgid "device mapping" +msgstr "" + +#. type: cindex +#: doc/guix.texi:9254 +#, no-wrap +msgid "mapped devices" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:9272 +msgid "" +"The Linux kernel has a notion of @dfn{device mapping}: a block device, such " +"as a hard disk partition, can be @dfn{mapped} into another device, usually " +"in @code{/dev/mapper/}, with additional processing over the data that flows " +"through it@footnote{Note that the GNU@tie{}Hurd makes no difference between " +"the concept of a ``mapped device'' and that of a file system: both boil down " +"to @emph{translating} input/output operations made on a file to operations " +"on its backing store. Thus, the Hurd implements mapped devices, like file " +"systems, using the generic @dfn{translator} mechanism (@pxref{Translators,,, " +"hurd, The GNU Hurd Reference Manual}).}. A typical example is encryption " +"device mapping: all writes to the mapped device are encrypted, and all reads " +"are deciphered, transparently. Guix extends this notion by considering any " +"device or set of devices that are @dfn{transformed} in some way to create a " +"new device; for instance, RAID devices are obtained by @dfn{assembling} " +"several other devices, such as hard disks or partitions, into a new one that " +"behaves as one partition. Other examples, not yet implemented, are LVM " +"logical volumes." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:9275 +msgid "" +"Mapped devices are declared using the @code{mapped-device} form, defined as " +"follows; for examples, see below." +msgstr "" + +#. type: deftp +#: doc/guix.texi:9276 +#, no-wrap +msgid "{Data Type} mapped-device" +msgstr "" + +#. type: deftp +#: doc/guix.texi:9279 +msgid "" +"Objects of this type represent device mappings that will be made when the " +"system boots up." +msgstr "" + +#. type: table +#: doc/guix.texi:9285 +msgid "" +"This is either a string specifying the name of the block device to be " +"mapped, such as @code{\"/dev/sda3\"}, or a list of such strings when several " +"devices need to be assembled for creating a new one." +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:9286 doc/guix.texi:20117 +#, no-wrap +msgid "target" +msgstr "" + +#. type: table +#: doc/guix.texi:9293 +msgid "" +"This string specifies the name of the resulting mapped device. For kernel " +"mappers such as encrypted devices of type @code{luks-device-mapping}, " +"specifying @code{\"my-partition\"} leads to the creation of the " +"@code{\"/dev/mapper/my-partition\"} device. For RAID devices of type " +"@code{raid-device-mapping}, the full device name such as @code{\"/dev/md0\"} " +"needs to be given." +msgstr "" + +#. type: table +#: doc/guix.texi:9297 +msgid "" +"This must be a @code{mapped-device-kind} object, which specifies how " +"@var{source} is mapped to @var{target}." +msgstr "" + +#. type: defvr +#: doc/guix.texi:9300 +#, no-wrap +msgid "{Scheme Variable} luks-device-mapping" +msgstr "" + +#. type: defvr +#: doc/guix.texi:9304 +msgid "" +"This defines LUKS block device encryption using the @command{cryptsetup} " +"command from the package with the same name. It relies on the " +"@code{dm-crypt} Linux kernel module." +msgstr "" + +#. type: defvr +#: doc/guix.texi:9306 +#, no-wrap +msgid "{Scheme Variable} raid-device-mapping" +msgstr "" + +#. type: defvr +#: doc/guix.texi:9311 +msgid "" +"This defines a RAID device, which is assembled using the @code{mdadm} " +"command from the package with the same name. It requires a Linux kernel " +"module for the appropriate RAID level to be loaded, such as @code{raid456} " +"for RAID-4, RAID-5 or RAID-6, or @code{raid10} for RAID-10." +msgstr "" + +#. type: cindex +#: doc/guix.texi:9313 +#, no-wrap +msgid "disk encryption" +msgstr "" + +#. type: cindex +#: doc/guix.texi:9314 +#, no-wrap +msgid "LUKS" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:9322 +msgid "" +"The following example specifies a mapping from @file{/dev/sda3} to " +"@file{/dev/mapper/home} using LUKS---the " +"@url{https://gitlab.com/cryptsetup/cryptsetup,Linux Unified Key Setup}, a " +"standard mechanism for disk encryption. The @file{/dev/mapper/home} device " +"can then be used as the @code{device} of a @code{file-system} declaration " +"(@pxref{File Systems})." +msgstr "" + +#. type: example +#: doc/guix.texi:9328 +#, no-wrap +msgid "" +"(mapped-device\n" +" (source \"/dev/sda3\")\n" +" (target \"home\")\n" +" (type luks-device-mapping))\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:9333 +msgid "" +"Alternatively, to become independent of device numbering, one may obtain the " +"LUKS UUID (@dfn{unique identifier}) of the source device by a command like:" +msgstr "" + +#. type: example +#: doc/guix.texi:9336 +#, no-wrap +msgid "cryptsetup luksUUID /dev/sda3\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:9339 +msgid "and use it as follows:" +msgstr "" + +#. type: example +#: doc/guix.texi:9345 +#, no-wrap +msgid "" +"(mapped-device\n" +" (source (uuid \"cb67fc72-0d54-4c88-9d4b-b225f30b0f44\"))\n" +" (target \"home\")\n" +" (type luks-device-mapping))\n" +msgstr "" + +#. type: cindex +#: doc/guix.texi:9347 +#, no-wrap +msgid "swap encryption" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:9353 +msgid "" +"It is also desirable to encrypt swap space, since swap space may contain " +"sensitive data. One way to accomplish that is to use a swap file in a file " +"system on a device mapped via LUKS encryption. In this way, the swap file " +"is encrypted because the entire device is encrypted. @xref{Preparing for " +"Installation,,Disk Partitioning}, for an example." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:9356 +msgid "" +"A RAID device formed of the partitions @file{/dev/sda1} and @file{/dev/sdb1} " +"may be declared as follows:" +msgstr "" + +#. type: example +#: doc/guix.texi:9362 +#, no-wrap +msgid "" +"(mapped-device\n" +" (source (list \"/dev/sda1\" \"/dev/sdb1\"))\n" +" (target \"/dev/md0\")\n" +" (type raid-device-mapping))\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:9369 +msgid "" +"The @file{/dev/md0} device can then be used as the @code{device} of a " +"@code{file-system} declaration (@pxref{File Systems}). Note that the RAID " +"level need not be given; it is chosen during the initial creation and " +"formatting of the RAID device and is determined automatically later." +msgstr "" + +#. type: cindex +#: doc/guix.texi:9374 +#, no-wrap +msgid "users" +msgstr "" + +#. type: cindex +#: doc/guix.texi:9375 +#, no-wrap +msgid "accounts" +msgstr "" + +#. type: cindex +#: doc/guix.texi:9376 +#, no-wrap +msgid "user accounts" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:9380 +msgid "" +"User accounts and groups are entirely managed through the " +"@code{operating-system} declaration. They are specified with the " +"@code{user-account} and @code{user-group} forms:" +msgstr "" + +#. type: example +#: doc/guix.texi:9391 +#, no-wrap +msgid "" +"(user-account\n" +" (name \"alice\")\n" +" (group \"users\")\n" +" (supplementary-groups '(\"wheel\" ;allow use of sudo, etc.\n" +" \"audio\" ;sound card\n" +" \"video\" ;video devices such as webcams\n" +" \"cdrom\")) ;the good ol' CD-ROM\n" +" (comment \"Bob's sister\")\n" +" (home-directory \"/home/alice\"))\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:9400 +msgid "" +"When booting or upon completion of @command{guix system reconfigure}, the " +"system ensures that only the user accounts and groups specified in the " +"@code{operating-system} declaration exist, and with the specified " +"properties. Thus, account or group creations or modifications made by " +"directly invoking commands such as @command{useradd} are lost upon " +"reconfiguration or reboot. This ensures that the system remains exactly as " +"declared." +msgstr "" + +#. type: deftp +#: doc/guix.texi:9401 +#, no-wrap +msgid "{Data Type} user-account" +msgstr "" + +#. type: deftp +#: doc/guix.texi:9404 +msgid "" +"Objects of this type represent user accounts. The following members may be " +"specified:" +msgstr "" + +#. type: table +#: doc/guix.texi:9408 +msgid "The name of the user account." +msgstr "" + +#. type: itemx +#: doc/guix.texi:9409 doc/guix.texi:19879 +#, no-wrap +msgid "group" +msgstr "" + +#. type: cindex +#: doc/guix.texi:9410 doc/guix.texi:9459 +#, no-wrap +msgid "groups" +msgstr "" + +#. type: table +#: doc/guix.texi:9413 +msgid "" +"This is the name (a string) or identifier (a number) of the user group this " +"account belongs to." +msgstr "" + +#. type: item +#: doc/guix.texi:9414 +#, no-wrap +msgid "@code{supplementary-groups} (default: @code{'()})" +msgstr "" + +#. type: table +#: doc/guix.texi:9417 +msgid "" +"Optionally, this can be defined as a list of group names that this account " +"belongs to." +msgstr "" + +#. type: item +#: doc/guix.texi:9418 +#, no-wrap +msgid "@code{uid} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:9422 +msgid "" +"This is the user ID for this account (a number), or @code{#f}. In the " +"latter case, a number is automatically chosen by the system when the account " +"is created." +msgstr "" + +#. type: item +#: doc/guix.texi:9423 +#, no-wrap +msgid "@code{comment} (default: @code{\"\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:9425 +msgid "A comment about the account, such as the account owner's full name." +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:9426 +#, no-wrap +msgid "home-directory" +msgstr "" + +#. type: table +#: doc/guix.texi:9428 +msgid "This is the name of the home directory for the account." +msgstr "" + +#. type: item +#: doc/guix.texi:9429 +#, no-wrap +msgid "@code{create-home-directory?} (default: @code{#t})" +msgstr "" + +#. type: table +#: doc/guix.texi:9432 +msgid "" +"Indicates whether the home directory of this account should be created if it " +"does not exist yet." +msgstr "" + +#. type: item +#: doc/guix.texi:9433 +#, no-wrap +msgid "@code{shell} (default: Bash)" +msgstr "" + +#. type: table +#: doc/guix.texi:9436 +msgid "" +"This is a G-expression denoting the file name of a program to be used as the " +"shell (@pxref{G-Expressions})." +msgstr "" + +#. type: item +#: doc/guix.texi:9437 doc/guix.texi:9477 +#, no-wrap +msgid "@code{system?} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:9441 +msgid "" +"This Boolean value indicates whether the account is a ``system'' account. " +"System accounts are sometimes treated specially; for instance, graphical " +"login managers do not list them." +msgstr "" + +#. type: anchor{#1} +#: doc/guix.texi:9443 +msgid "user-account-password" +msgstr "" + +#. type: item +#: doc/guix.texi:9443 doc/guix.texi:9481 +#, no-wrap +msgid "@code{password} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:9449 +msgid "" +"You would normally leave this field to @code{#f}, initialize user passwords " +"as @code{root} with the @command{passwd} command, and then let users change " +"it with @command{passwd}. Passwords set with @command{passwd} are of course " +"preserved across reboot and reconfiguration." +msgstr "" + +#. type: table +#: doc/guix.texi:9455 +msgid "" +"If you @emph{do} want to have a preset password for an account, then this " +"field must contain the encrypted password, as a string. @xref{crypt,,, " +"libc, The GNU C Library Reference Manual}, for more information on password " +"encryption, and @ref{Encryption,,, guile, GNU Guile Reference Manual}, for " +"information on Guile's @code{crypt} procedure." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:9461 +msgid "User group declarations are even simpler:" +msgstr "" + +#. type: example +#: doc/guix.texi:9464 +#, no-wrap +msgid "(user-group (name \"students\"))\n" +msgstr "" + +#. type: deftp +#: doc/guix.texi:9466 +#, no-wrap +msgid "{Data Type} user-group" +msgstr "" + +#. type: deftp +#: doc/guix.texi:9468 +msgid "This type is for, well, user groups. There are just a few fields:" +msgstr "" + +#. type: table +#: doc/guix.texi:9472 +msgid "The name of the group." +msgstr "" + +#. type: item +#: doc/guix.texi:9473 +#, no-wrap +msgid "@code{id} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:9476 +msgid "" +"The group identifier (a number). If @code{#f}, a new number is " +"automatically allocated when the group is created." +msgstr "" + +#. type: table +#: doc/guix.texi:9480 +msgid "" +"This Boolean value indicates whether the group is a ``system'' group. " +"System groups have low numerical IDs." +msgstr "" + +#. type: table +#: doc/guix.texi:9484 +msgid "" +"What, user groups can have a password? Well, apparently yes. Unless " +"@code{#f}, this field specifies the password of the group." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:9490 +msgid "For convenience, a variable lists all the basic user groups one may expect:" +msgstr "" + +#. type: defvr +#: doc/guix.texi:9491 +#, no-wrap +msgid "{Scheme Variable} %base-groups" +msgstr "" + +#. type: defvr +#: doc/guix.texi:9496 +msgid "" +"This is the list of basic user groups that users and/or packages expect to " +"be present on the system. This includes groups such as ``root'', ``wheel'', " +"and ``users'', as well as groups used to control access to specific devices " +"such as ``audio'', ``disk'', and ``cdrom''." +msgstr "" + +#. type: defvr +#: doc/guix.texi:9498 +#, no-wrap +msgid "{Scheme Variable} %base-user-accounts" +msgstr "" + +#. type: defvr +#: doc/guix.texi:9501 +msgid "" +"This is the list of basic system accounts that programs may expect to find " +"on a GNU/Linux system, such as the ``nobody'' account." +msgstr "" + +#. type: defvr +#: doc/guix.texi:9504 +msgid "" +"Note that the ``root'' account is not included here. It is a special-case " +"and is automatically added whether or not it is specified." +msgstr "" + +#. type: cindex +#: doc/guix.texi:9509 +#, no-wrap +msgid "locale" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:9516 +msgid "" +"A @dfn{locale} defines cultural conventions for a particular language and " +"region of the world (@pxref{Locales,,, libc, The GNU C Library Reference " +"Manual}). Each locale has a name that typically has the form " +"@code{@var{language}_@var{territory}.@var{codeset}}---e.g., " +"@code{fr_LU.utf8} designates the locale for the French language, with " +"cultural conventions from Luxembourg, and using the UTF-8 encoding." +msgstr "" + +#. type: cindex +#: doc/guix.texi:9517 +#, no-wrap +msgid "locale definition" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:9521 +msgid "" +"Usually, you will want to specify the default locale for the machine using " +"the @code{locale} field of the @code{operating-system} declaration " +"(@pxref{operating-system Reference, @code{locale}})." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:9530 +msgid "" +"The selected locale is automatically added to the @dfn{locale definitions} " +"known to the system if needed, with its codeset inferred from its " +"name---e.g., @code{bo_CN.utf8} will be assumed to use the @code{UTF-8} " +"codeset. Additional locale definitions can be specified in the " +"@code{locale-definitions} slot of @code{operating-system}---this is useful, " +"for instance, if the codeset could not be inferred from the locale name. " +"The default set of locale definitions includes some widely used locales, but " +"not all the available locales, in order to save space." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:9533 +msgid "" +"For instance, to add the North Frisian locale for Germany, the value of that " +"field may be:" +msgstr "" + +#. type: example +#: doc/guix.texi:9538 +#, no-wrap +msgid "" +"(cons (locale-definition\n" +" (name \"fy_DE.utf8\") (source \"fy_DE\"))\n" +" %default-locale-definitions)\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:9542 +msgid "" +"Likewise, to save space, one might want @code{locale-definitions} to list " +"only the locales that are actually used, as in:" +msgstr "" + +#. type: example +#: doc/guix.texi:9547 +#, no-wrap +msgid "" +"(list (locale-definition\n" +" (name \"ja_JP.eucjp\") (source \"ja_JP\")\n" +" (charset \"EUC-JP\")))\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:9556 +msgid "" +"The compiled locale definitions are available at " +"@file{/run/current-system/locale/X.Y}, where @code{X.Y} is the libc version, " +"which is the default location where the GNU@tie{}libc provided by Guix looks " +"for locale data. This can be overridden using the @code{LOCPATH} " +"environment variable (@pxref{locales-and-locpath, @code{LOCPATH} and locale " +"packages})." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:9559 +msgid "" +"The @code{locale-definition} form is provided by the @code{(gnu system " +"locale)} module. Details are given below." +msgstr "" + +#. type: deftp +#: doc/guix.texi:9560 +#, no-wrap +msgid "{Data Type} locale-definition" +msgstr "" + +#. type: deftp +#: doc/guix.texi:9562 +msgid "This is the data type of a locale definition." +msgstr "" + +#. type: table +#: doc/guix.texi:9568 +msgid "" +"The name of the locale. @xref{Locale Names,,, libc, The GNU C Library " +"Reference Manual}, for more information on locale names." +msgstr "" + +#. type: table +#: doc/guix.texi:9572 +msgid "" +"The name of the source for that locale. This is typically the " +"@code{@var{language}_@var{territory}} part of the locale name." +msgstr "" + +#. type: item +#: doc/guix.texi:9573 +#, no-wrap +msgid "@code{charset} (default: @code{\"UTF-8\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:9577 +msgid "" +"The ``character set'' or ``code set'' for that locale, " +"@uref{http://www.iana.org/assignments/character-sets, as defined by IANA}." +msgstr "" + +#. type: defvr +#: doc/guix.texi:9581 +#, no-wrap +msgid "{Scheme Variable} %default-locale-definitions" +msgstr "" + +#. type: defvr +#: doc/guix.texi:9585 +msgid "" +"A list of commonly used UTF-8 locales, used as the default value of the " +"@code{locale-definitions} field of @code{operating-system} declarations." +msgstr "" + +#. type: cindex +#: doc/guix.texi:9586 +#, no-wrap +msgid "locale name" +msgstr "" + +#. type: cindex +#: doc/guix.texi:9587 +#, no-wrap +msgid "normalized codeset in locale names" +msgstr "" + +#. type: defvr +#: doc/guix.texi:9593 +msgid "" +"These locale definitions use the @dfn{normalized codeset} for the part that " +"follows the dot in the name (@pxref{Using gettextized software, normalized " +"codeset,, libc, The GNU C Library Reference Manual}). So for instance it " +"has @code{uk_UA.utf8} but @emph{not}, say, @code{uk_UA.UTF-8}." +msgstr "" + +#. type: subsubsection +#: doc/guix.texi:9595 +#, no-wrap +msgid "Locale Data Compatibility Considerations" +msgstr "" + +#. type: cindex +#: doc/guix.texi:9597 +#, no-wrap +msgid "incompatibility, of locale data" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:9604 +msgid "" +"@code{operating-system} declarations provide a @code{locale-libcs} field to " +"specify the GNU@tie{}libc packages that are used to compile locale " +"declarations (@pxref{operating-system Reference}). ``Why would I care?'', " +"you may ask. Well, it turns out that the binary format of locale data is " +"occasionally incompatible from one libc version to another." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:9616 +msgid "" +"For instance, a program linked against libc version 2.21 is unable to read " +"locale data produced with libc 2.22; worse, that program @emph{aborts} " +"instead of simply ignoring the incompatible locale data@footnote{Versions " +"2.23 and later of GNU@tie{}libc will simply skip the incompatible locale " +"data, which is already an improvement.}. Similarly, a program linked " +"against libc 2.22 can read most, but not all, of the locale data from libc " +"2.21 (specifically, @code{LC_COLLATE} data is incompatible); thus calls to " +"@code{setlocale} may fail, but programs will not abort." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:9621 +msgid "" +"The ``problem'' in GuixSD is that users have a lot of freedom: They can " +"choose whether and when to upgrade software in their profiles, and might be " +"using a libc version different from the one the system administrator used to " +"build the system-wide locale data." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:9625 +msgid "" +"Fortunately, unprivileged users can also install their own locale data and " +"define @var{GUIX_LOCPATH} accordingly (@pxref{locales-and-locpath, " +"@code{GUIX_LOCPATH} and locale packages})." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:9632 +msgid "" +"Still, it is best if the system-wide locale data at " +"@file{/run/current-system/locale} is built for all the libc versions " +"actually in use on the system, so that all the programs can access it---this " +"is especially crucial on a multi-user system. To do that, the administrator " +"can specify several libc packages in the @code{locale-libcs} field of " +"@code{operating-system}:" +msgstr "" + +#. type: example +#: doc/guix.texi:9635 +#, no-wrap +msgid "" +"(use-package-modules base)\n" +"\n" +msgstr "" + +#. type: example +#: doc/guix.texi:9639 +#, no-wrap +msgid "" +"(operating-system\n" +" ;; @dots{}\n" +" (locale-libcs (list glibc-2.21 (canonical-package glibc))))\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:9644 +msgid "" +"This example would lead to a system containing locale definitions for both " +"libc 2.21 and the current version of libc in " +"@file{/run/current-system/locale}." +msgstr "" + +#. type: cindex +#: doc/guix.texi:9649 +#, no-wrap +msgid "system services" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:9655 +msgid "" +"An important part of preparing an @code{operating-system} declaration is " +"listing @dfn{system services} and their configuration (@pxref{Using the " +"Configuration System}). System services are typically daemons launched when " +"the system boots, or other actions needed at that time---e.g., configuring " +"network access." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:9662 +msgid "" +"GuixSD has a broad definition of ``service'' (@pxref{Service Composition}), " +"but many services are managed by the GNU@tie{}Shepherd (@pxref{Shepherd " +"Services}). On a running system, the @command{herd} command allows you to " +"list the available services, show their status, start and stop them, or do " +"other specific operations (@pxref{Jump Start,,, shepherd, The GNU Shepherd " +"Manual}). For example:" +msgstr "" + +#. type: example +#: doc/guix.texi:9665 +#, no-wrap +msgid "# herd status\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:9670 +msgid "" +"The above command, run as @code{root}, lists the currently defined " +"services. The @command{herd doc} command shows a synopsis of the given " +"service:" +msgstr "" + +#. type: example +#: doc/guix.texi:9674 +#, no-wrap +msgid "" +"# herd doc nscd\n" +"Run libc's name service cache daemon (nscd).\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:9679 +msgid "" +"The @command{start}, @command{stop}, and @command{restart} sub-commands have " +"the effect you would expect. For instance, the commands below stop the nscd " +"service and restart the Xorg display server:" +msgstr "" + +#. type: example +#: doc/guix.texi:9686 +#, no-wrap +msgid "" +"# herd stop nscd\n" +"Service nscd has been stopped.\n" +"# herd restart xorg-server\n" +"Service xorg-server has been stopped.\n" +"Service xorg-server has been started.\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:9691 +msgid "" +"The following sections document the available services, starting with the " +"core services, that may be used in an @code{operating-system} declaration." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:9726 +msgid "" +"The @code{(gnu services base)} module provides definitions for the basic " +"services that one expects from the system. The services exported by this " +"module are listed below." +msgstr "" + +#. type: defvr +#: doc/guix.texi:9727 +#, no-wrap +msgid "{Scheme Variable} %base-services" +msgstr "" + +#. type: defvr +#: doc/guix.texi:9733 +msgid "" +"This variable contains a list of basic services (@pxref{Service Types and " +"Services}, for more information on service objects) one would expect from " +"the system: a login service (mingetty) on each tty, syslogd, the libc name " +"service cache daemon (nscd), the udev device manager, and more." +msgstr "" + +#. type: defvr +#: doc/guix.texi:9738 +msgid "" +"This is the default value of the @code{services} field of " +"@code{operating-system} declarations. Usually, when customizing a system, " +"you will want to append services to @var{%base-services}, like this:" +msgstr "" + +#. type: example +#: doc/guix.texi:9741 +#, no-wrap +msgid "(cons* (avahi-service) (lsh-service) %base-services)\n" +msgstr "" + +#. type: defvr +#: doc/guix.texi:9744 +#, no-wrap +msgid "{Scheme Variable} special-files-service-type" +msgstr "" + +#. type: defvr +#: doc/guix.texi:9747 +msgid "" +"This is the service that sets up ``special files'' such as @file{/bin/sh}; " +"an instance of it is part of @code{%base-services}." +msgstr "" + +#. type: defvr +#: doc/guix.texi:9751 +msgid "" +"The value associated with @code{special-files-service-type} services must be " +"a list of tuples where the first element is the ``special file'' and the " +"second element is its target. By default it is:" +msgstr "" + +#. type: file{#1} +#: doc/guix.texi:9752 +#, no-wrap +msgid "/bin/sh" +msgstr "" + +#. type: cindex +#: doc/guix.texi:9753 +#, no-wrap +msgid "@file{sh}, in @file{/bin}" +msgstr "" + +#. type: example +#: doc/guix.texi:9756 +#, no-wrap +msgid "`((\"/bin/sh\" ,(file-append @var{bash} \"/bin/sh\")))\n" +msgstr "" + +#. type: file{#1} +#: doc/guix.texi:9758 +#, no-wrap +msgid "/usr/bin/env" +msgstr "" + +#. type: cindex +#: doc/guix.texi:9759 +#, no-wrap +msgid "@file{env}, in @file{/usr/bin}" +msgstr "" + +#. type: defvr +#: doc/guix.texi:9762 +msgid "" +"If you want to add, say, @code{/usr/bin/env} to your system, you can change " +"it to:" +msgstr "" + +#. type: example +#: doc/guix.texi:9766 +#, no-wrap +msgid "" +"`((\"/bin/sh\" ,(file-append @var{bash} \"/bin/sh\"))\n" +" (\"/usr/bin/env\" ,(file-append @var{coreutils} \"/bin/env\")))\n" +msgstr "" + +#. type: defvr +#: doc/guix.texi:9773 +msgid "" +"Since this is part of @code{%base-services}, you can use " +"@code{modify-services} to customize the set of special files (@pxref{Service " +"Reference, @code{modify-services}}). But the simple way to add a special " +"file is @i{via} the @code{extra-special-file} procedure (see below.)" +msgstr "" + +#. type: deffn +#: doc/guix.texi:9775 +#, no-wrap +msgid "{Scheme Procedure} extra-special-file @var{file} @var{target}" +msgstr "" + +#. type: deffn +#: doc/guix.texi:9777 +msgid "Use @var{target} as the ``special file'' @var{file}." +msgstr "" + +#. type: deffn +#: doc/guix.texi:9781 +msgid "" +"For example, adding the following lines to the @code{services} field of your " +"operating system declaration leads to a @file{/usr/bin/env} symlink:" +msgstr "" + +#. type: example +#: doc/guix.texi:9785 +#, no-wrap +msgid "" +"(extra-special-file \"/usr/bin/env\"\n" +" (file-append coreutils \"/bin/env\"))\n" +msgstr "" + +#. type: deffn +#: doc/guix.texi:9788 +#, no-wrap +msgid "{Scheme Procedure} host-name-service @var{name}" +msgstr "" + +#. type: deffn +#: doc/guix.texi:9790 +msgid "Return a service that sets the host name to @var{name}." +msgstr "" + +#. type: deffn +#: doc/guix.texi:9792 +#, no-wrap +msgid "{Scheme Procedure} login-service @var{config}" +msgstr "" + +#. type: deffn +#: doc/guix.texi:9796 +msgid "" +"Return a service to run login according to @var{config}, a " +"@code{<login-configuration>} object, which specifies the message of the day, " +"among other things." +msgstr "" + +#. type: deftp +#: doc/guix.texi:9798 +#, no-wrap +msgid "{Data Type} login-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:9800 +msgid "This is the data type representing the configuration of login." +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:9803 +#, no-wrap +msgid "motd" +msgstr "" + +#. type: cindex +#: doc/guix.texi:9804 +#, no-wrap +msgid "message of the day" +msgstr "" + +#. type: table +#: doc/guix.texi:9806 +msgid "A file-like object containing the ``message of the day''." +msgstr "" + +#. type: item +#: doc/guix.texi:9807 doc/guix.texi:11424 +#, no-wrap +msgid "@code{allow-empty-passwords?} (default: @code{#t})" +msgstr "" + +#. type: table +#: doc/guix.texi:9810 +msgid "" +"Allow empty passwords by default so that first-time users can log in when " +"the 'root' account has just been created." +msgstr "" + +#. type: deffn +#: doc/guix.texi:9814 +#, no-wrap +msgid "{Scheme Procedure} mingetty-service @var{config}" +msgstr "" + +#. type: deffn +#: doc/guix.texi:9818 +msgid "" +"Return a service to run mingetty according to @var{config}, a " +"@code{<mingetty-configuration>} object, which specifies the tty to run, " +"among other things." +msgstr "" + +#. type: deftp +#: doc/guix.texi:9820 +#, no-wrap +msgid "{Data Type} mingetty-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:9823 +msgid "" +"This is the data type representing the configuration of Mingetty, which " +"provides the default implementation of virtual console log-in." +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:9826 doc/guix.texi:9862 +#, no-wrap +msgid "tty" +msgstr "" + +#. type: table +#: doc/guix.texi:9828 +msgid "The name of the console this Mingetty runs on---e.g., @code{\"tty1\"}." +msgstr "" + +#. type: item +#: doc/guix.texi:9829 doc/guix.texi:9891 +#, no-wrap +msgid "@code{auto-login} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:9833 +msgid "" +"When true, this field must be a string denoting the user name under which " +"the system automatically logs in. When it is @code{#f}, a user name and " +"password must be entered to log in." +msgstr "" + +#. type: item +#: doc/guix.texi:9834 +#, no-wrap +msgid "@code{login-program} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:9838 +msgid "" +"This must be either @code{#f}, in which case the default log-in program is " +"used (@command{login} from the Shadow tool suite), or a gexp denoting the " +"name of the log-in program." +msgstr "" + +#. type: item +#: doc/guix.texi:9839 +#, no-wrap +msgid "@code{login-pause?} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:9842 +msgid "" +"When set to @code{#t} in conjunction with @var{auto-login}, the user will " +"have to press a key before the log-in shell is launched." +msgstr "" + +#. type: item +#: doc/guix.texi:9843 +#, no-wrap +msgid "@code{mingetty} (default: @var{mingetty})" +msgstr "" + +#. type: table +#: doc/guix.texi:9845 +msgid "The Mingetty package to use." +msgstr "" + +#. type: deffn +#: doc/guix.texi:9849 +#, no-wrap +msgid "{Scheme Procedure} agetty-service @var{config}" +msgstr "" + +#. type: deffn +#: doc/guix.texi:9853 +msgid "" +"Return a service to run agetty according to @var{config}, an " +"@code{<agetty-configuration>} object, which specifies the tty to run, among " +"other things." +msgstr "" + +#. type: deftp +#: doc/guix.texi:9855 +#, no-wrap +msgid "{Data Type} agetty-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:9859 +msgid "" +"This is the data type representing the configuration of agetty, which " +"implements virtual and serial console log-in. See the @code{agetty(8)} man " +"page for more information." +msgstr "" + +#. type: table +#: doc/guix.texi:9866 +msgid "" +"The name of the console this agetty runs on, as a string---e.g., " +"@code{\"ttyS0\"}. This argument is optional, it will default to a reasonable " +"default serial port used by the kernel Linux." +msgstr "" + +#. type: table +#: doc/guix.texi:9870 +msgid "" +"For this, if there is a value for an option @code{agetty.tty} in the kernel " +"command line, agetty will extract the device name of the serial port from it " +"and use that." +msgstr "" + +#. type: table +#: doc/guix.texi:9874 +msgid "" +"If not and if there is a value for an option @code{console} with a tty in " +"the Linux command line, agetty will extract the device name of the serial " +"port from it and use that." +msgstr "" + +#. type: table +#: doc/guix.texi:9878 +msgid "" +"In both cases, agetty will leave the other serial device settings (baud rate " +"etc.) alone---in the hope that Linux pinned them to the correct values." +msgstr "" + +#. type: item +#: doc/guix.texi:9879 +#, no-wrap +msgid "@code{baud-rate} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:9882 +msgid "" +"A string containing a comma-separated list of one or more baud rates, in " +"descending order." +msgstr "" + +#. type: item +#: doc/guix.texi:9883 +#, no-wrap +msgid "@code{term} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:9886 +msgid "A string containing the value used for the @code{TERM} environment variable." +msgstr "" + +#. type: item +#: doc/guix.texi:9887 +#, no-wrap +msgid "@code{eight-bits?} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:9890 +msgid "" +"When @code{#t}, the tty is assumed to be 8-bit clean, and parity detection " +"is disabled." +msgstr "" + +#. type: table +#: doc/guix.texi:9894 +msgid "" +"When passed a login name, as a string, the specified user will be logged in " +"automatically without prompting for their login name or password." +msgstr "" + +#. type: item +#: doc/guix.texi:9895 +#, no-wrap +msgid "@code{no-reset?} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:9897 +msgid "When @code{#t}, don't reset terminal cflags (control modes)." +msgstr "" + +#. type: item +#: doc/guix.texi:9898 +#, no-wrap +msgid "@code{host} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:9901 +msgid "" +"This accepts a string containing the \"login_host\", which will be written " +"into the @file{/var/run/utmpx} file." +msgstr "" + +#. type: item +#: doc/guix.texi:9902 +#, no-wrap +msgid "@code{remote?} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:9906 +msgid "" +"When set to @code{#t} in conjunction with @var{host}, this will add an " +"@code{-r} fakehost option to the command line of the login program specified " +"in @var{login-program}." +msgstr "" + +#. type: item +#: doc/guix.texi:9907 +#, no-wrap +msgid "@code{flow-control?} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:9909 +msgid "When set to @code{#t}, enable hardware (RTS/CTS) flow control." +msgstr "" + +#. type: item +#: doc/guix.texi:9910 +#, no-wrap +msgid "@code{no-issue?} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:9913 +msgid "" +"When set to @code{#t}, the contents of the @file{/etc/issue} file will not " +"be displayed before presenting the login prompt." +msgstr "" + +#. type: item +#: doc/guix.texi:9914 +#, no-wrap +msgid "@code{init-string} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:9917 +msgid "" +"This accepts a string that will be sent to the tty or modem before sending " +"anything else. It can be used to initialize a modem." +msgstr "" + +#. type: item +#: doc/guix.texi:9918 +#, no-wrap +msgid "@code{no-clear?} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:9921 +msgid "" +"When set to @code{#t}, agetty will not clear the screen before showing the " +"login prompt." +msgstr "" + +#. type: item +#: doc/guix.texi:9922 +#, no-wrap +msgid "@code{login-program} (default: (file-append shadow \"/bin/login\"))" +msgstr "" + +#. type: table +#: doc/guix.texi:9926 +msgid "" +"This must be either a gexp denoting the name of a log-in program, or unset, " +"in which case the default value is the @command{login} from the Shadow tool " +"suite." +msgstr "" + +#. type: item +#: doc/guix.texi:9927 +#, no-wrap +msgid "@code{local-line} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:9931 +msgid "" +"Control the CLOCAL line flag. This accepts one of three symbols as " +"arguments, @code{'auto}, @code{'always}, or @code{'never}. If @code{#f}, the " +"default value chosen by agetty is @code{'auto}." +msgstr "" + +#. type: item +#: doc/guix.texi:9932 +#, no-wrap +msgid "@code{extract-baud?} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:9935 +msgid "" +"When set to @code{#t}, instruct agetty to try to extract the baud rate from " +"the status messages produced by certain types of modems." +msgstr "" + +#. type: item +#: doc/guix.texi:9936 +#, no-wrap +msgid "@code{skip-login?} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:9940 +msgid "" +"When set to @code{#t}, do not prompt the user for a login name. This can be " +"used with @var{login-program} field to use non-standard login systems." +msgstr "" + +#. type: item +#: doc/guix.texi:9941 +#, no-wrap +msgid "@code{no-newline?} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:9944 +msgid "" +"When set to @code{#t}, do not print a newline before printing the " +"@file{/etc/issue} file." +msgstr "" + +#. type: item +#: doc/guix.texi:9946 +#, no-wrap +msgid "@code{login-options} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:9951 +msgid "" +"This option accepts a string containing options that are passed to the login " +"program. When used with the @var{login-program}, be aware that a malicious " +"user could try to enter a login name containing embedded options that could " +"be parsed by the login program." +msgstr "" + +#. type: item +#: doc/guix.texi:9952 +#, no-wrap +msgid "@code{login-pause} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:9956 +msgid "" +"When set to @code{#t}, wait for any key before showing the login prompt. " +"This can be used in conjunction with @var{auto-login} to save memory by " +"lazily spawning shells." +msgstr "" + +#. type: item +#: doc/guix.texi:9957 +#, no-wrap +msgid "@code{chroot} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:9960 +msgid "" +"Change root to the specified directory. This option accepts a directory " +"path as a string." +msgstr "" + +#. type: item +#: doc/guix.texi:9961 +#, no-wrap +msgid "@code{hangup?} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:9964 +msgid "" +"Use the Linux system call @code{vhangup} to do a virtual hangup of the " +"specified terminal." +msgstr "" + +#. type: item +#: doc/guix.texi:9965 +#, no-wrap +msgid "@code{keep-baud?} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:9969 +msgid "" +"When set to @code{#t}, try to keep the existing baud rate. The baud rates " +"from @var{baud-rate} are used when agetty receives a @key{BREAK} character." +msgstr "" + +#. type: item +#: doc/guix.texi:9970 +#, no-wrap +msgid "@code{timeout} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:9973 +msgid "" +"When set to an integer value, terminate if no user name could be read within " +"@var{timeout} seconds." +msgstr "" + +#. type: item +#: doc/guix.texi:9974 +#, no-wrap +msgid "@code{detect-case?} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:9980 +msgid "" +"When set to @code{#t}, turn on support for detecting an uppercase-only " +"terminal. This setting will detect a login name containing only uppercase " +"letters as indicating an uppercase-only terminal and turn on some " +"upper-to-lower case conversions. Note that this will not support Unicode " +"characters." +msgstr "" + +#. type: item +#: doc/guix.texi:9981 +#, no-wrap +msgid "@code{wait-cr?} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:9986 +msgid "" +"When set to @code{#t}, wait for the user or modem to send a carriage-return " +"or linefeed character before displaying @file{/etc/issue} or login prompt. " +"This is typically used with the @var{init-string} option." +msgstr "" + +#. type: item +#: doc/guix.texi:9987 +#, no-wrap +msgid "@code{no-hints?} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:9990 +msgid "When set to @code{#t}, do not print hints about Num, Caps, and Scroll locks." +msgstr "" + +#. type: item +#: doc/guix.texi:9991 +#, no-wrap +msgid "@code{no-hostname?} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:9994 +msgid "" +"By default, the hostname is printed. When this option is set to @code{#t}, " +"no hostname will be shown at all." +msgstr "" + +#. type: item +#: doc/guix.texi:9995 +#, no-wrap +msgid "@code{long-hostname?} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:9999 +msgid "" +"By default, the hostname is only printed until the first dot. When this " +"option is set to @code{#t}, the fully qualified hostname by " +"@code{gethostname} or @code{getaddrinfo} is shown." +msgstr "" + +#. type: item +#: doc/guix.texi:10000 +#, no-wrap +msgid "@code{erase-characters} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:10003 +msgid "" +"This option accepts a string of additional characters that should be " +"interpreted as backspace when the user types their login name." +msgstr "" + +#. type: item +#: doc/guix.texi:10004 +#, no-wrap +msgid "@code{kill-characters} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:10008 +msgid "" +"This option accepts a string that should be interpreted to mean \"ignore all " +"previous characters\" (also called a \"kill\" character) when the types " +"their login name." +msgstr "" + +#. type: item +#: doc/guix.texi:10009 +#, no-wrap +msgid "@code{chdir} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:10012 +msgid "" +"This option accepts, as a string, a directory path that will be changed to " +"before login." +msgstr "" + +#. type: item +#: doc/guix.texi:10013 +#, no-wrap +msgid "@code{delay} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:10016 +msgid "" +"This options accepts, as an integer, the number of seconds to sleep before " +"opening the tty and displaying the login prompt." +msgstr "" + +#. type: item +#: doc/guix.texi:10017 +#, no-wrap +msgid "@code{nice} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:10020 +msgid "" +"This option accepts, as an integer, the nice value with which to run the " +"@command{login} program." +msgstr "" + +#. type: item +#: doc/guix.texi:10021 doc/guix.texi:10221 +#, no-wrap +msgid "@code{extra-options} (default: @code{'()})" +msgstr "" + +#. type: table +#: doc/guix.texi:10024 +msgid "" +"This option provides an \"escape hatch\" for the user to provide arbitrary " +"command-line arguments to @command{agetty} as a list of strings." +msgstr "" + +#. type: deffn +#: doc/guix.texi:10028 +#, no-wrap +msgid "{Scheme Procedure} kmscon-service-type @var{config}" +msgstr "" + +#. type: deffn +#: doc/guix.texi:10032 +msgid "" +"Return a service to run " +"@uref{https://www.freedesktop.org/wiki/Software/kmscon,kmscon} according to " +"@var{config}, a @code{<kmscon-configuration>} object, which specifies the " +"tty to run, among other things." +msgstr "" + +#. type: deftp +#: doc/guix.texi:10034 +#, no-wrap +msgid "{Data Type} kmscon-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:10037 +msgid "" +"This is the data type representing the configuration of Kmscon, which " +"implements virtual console log-in." +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:10040 +#, no-wrap +msgid "virtual-terminal" +msgstr "" + +#. type: table +#: doc/guix.texi:10042 +msgid "The name of the console this Kmscon runs on---e.g., @code{\"tty1\"}." +msgstr "" + +#. type: item +#: doc/guix.texi:10043 +#, no-wrap +msgid "" +"@code{login-program} (default: @code{#~(string-append #$shadow " +"\"/bin/login\")})" +msgstr "" + +#. type: table +#: doc/guix.texi:10046 +msgid "" +"A gexp denoting the name of the log-in program. The default log-in program " +"is @command{login} from the Shadow tool suite." +msgstr "" + +#. type: item +#: doc/guix.texi:10047 +#, no-wrap +msgid "@code{login-arguments} (default: @code{'(\"-p\")})" +msgstr "" + +#. type: table +#: doc/guix.texi:10049 +msgid "A list of arguments to pass to @command{login}." +msgstr "" + +#. type: item +#: doc/guix.texi:10050 +#, no-wrap +msgid "@code{hardware-acceleration?} (default: #f)" +msgstr "" + +#. type: table +#: doc/guix.texi:10052 +msgid "Whether to use hardware acceleration." +msgstr "" + +#. type: item +#: doc/guix.texi:10053 +#, no-wrap +msgid "@code{kmscon} (default: @var{kmscon})" +msgstr "" + +#. type: table +#: doc/guix.texi:10055 +msgid "The Kmscon package to use." +msgstr "" + +#. type: cindex +#: doc/guix.texi:10059 +#, no-wrap +msgid "name service cache daemon" +msgstr "" + +#. type: cindex +#: doc/guix.texi:10060 +#, no-wrap +msgid "nscd" +msgstr "" + +#. type: deffn +#: doc/guix.texi:10061 +#, no-wrap +msgid "{Scheme Procedure} nscd-service [@var{config}] [#:glibc glibc] @" +msgstr "" + +#. type: deffn +#: doc/guix.texi:10066 +msgid "" +"[#:name-services '()] Return a service that runs the libc name service cache " +"daemon (nscd) with the given @var{config}---an @code{<nscd-configuration>} " +"object. @xref{Name Service Switch}, for an example." +msgstr "" + +#. type: defvr +#: doc/guix.texi:10068 +#, no-wrap +msgid "{Scheme Variable} %nscd-default-configuration" +msgstr "" + +#. type: defvr +#: doc/guix.texi:10072 +msgid "" +"This is the default @code{<nscd-configuration>} value (see below) used by " +"@code{nscd-service}. It uses the caches defined by " +"@var{%nscd-default-caches}; see below." +msgstr "" + +#. type: deftp +#: doc/guix.texi:10074 +#, no-wrap +msgid "{Data Type} nscd-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:10077 +msgid "" +"This is the data type representing the name service cache daemon (nscd) " +"configuration." +msgstr "" + +#. type: item +#: doc/guix.texi:10080 +#, no-wrap +msgid "@code{name-services} (default: @code{'()})" +msgstr "" + +#. type: table +#: doc/guix.texi:10083 +msgid "" +"List of packages denoting @dfn{name services} that must be visible to the " +"nscd---e.g., @code{(list @var{nss-mdns})}." +msgstr "" + +#. type: item +#: doc/guix.texi:10084 +#, no-wrap +msgid "@code{glibc} (default: @var{glibc})" +msgstr "" + +#. type: table +#: doc/guix.texi:10087 +msgid "" +"Package object denoting the GNU C Library providing the @command{nscd} " +"command." +msgstr "" + +#. type: item +#: doc/guix.texi:10088 +#, no-wrap +msgid "@code{log-file} (default: @code{\"/var/log/nscd.log\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:10091 +msgid "" +"Name of the nscd log file. This is where debugging output goes when " +"@code{debug-level} is strictly positive." +msgstr "" + +#. type: item +#: doc/guix.texi:10092 +#, no-wrap +msgid "@code{debug-level} (default: @code{0})" +msgstr "" + +#. type: table +#: doc/guix.texi:10095 +msgid "" +"Integer denoting the debugging levels. Higher numbers mean that more " +"debugging output is logged." +msgstr "" + +#. type: item +#: doc/guix.texi:10096 +#, no-wrap +msgid "@code{caches} (default: @var{%nscd-default-caches})" +msgstr "" + +#. type: table +#: doc/guix.texi:10099 +msgid "List of @code{<nscd-cache>} objects denoting things to be cached; see below." +msgstr "" + +#. type: deftp +#: doc/guix.texi:10103 +#, no-wrap +msgid "{Data Type} nscd-cache" +msgstr "" + +#. type: deftp +#: doc/guix.texi:10105 +msgid "Data type representing a cache database of nscd and its parameters." +msgstr "" + +#. type: cindex +#: doc/guix.texi:10108 doc/guix.texi:12765 +#, no-wrap +msgid "database" +msgstr "" + +#. type: table +#: doc/guix.texi:10113 +msgid "" +"This is a symbol representing the name of the database to be cached. Valid " +"values are @code{passwd}, @code{group}, @code{hosts}, and @code{services}, " +"which designate the corresponding NSS database (@pxref{NSS Basics,,, libc, " +"The GNU C Library Reference Manual})." +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:10114 +#, no-wrap +msgid "positive-time-to-live" +msgstr "" + +#. type: itemx +#: doc/guix.texi:10115 +#, no-wrap +msgid "@code{negative-time-to-live} (default: @code{20})" +msgstr "" + +#. type: table +#: doc/guix.texi:10118 +msgid "" +"A number representing the number of seconds during which a positive or " +"negative lookup result remains in cache." +msgstr "" + +#. type: item +#: doc/guix.texi:10119 +#, no-wrap +msgid "@code{check-files?} (default: @code{#t})" +msgstr "" + +#. type: table +#: doc/guix.texi:10122 +msgid "Whether to check for updates of the files corresponding to @var{database}." +msgstr "" + +#. type: table +#: doc/guix.texi:10126 +msgid "" +"For instance, when @var{database} is @code{hosts}, setting this flag " +"instructs nscd to check for updates in @file{/etc/hosts} and to take them " +"into account." +msgstr "" + +#. type: item +#: doc/guix.texi:10127 +#, no-wrap +msgid "@code{persistent?} (default: @code{#t})" +msgstr "" + +#. type: table +#: doc/guix.texi:10129 +msgid "Whether the cache should be stored persistently on disk." +msgstr "" + +#. type: item +#: doc/guix.texi:10130 +#, no-wrap +msgid "@code{shared?} (default: @code{#t})" +msgstr "" + +#. type: table +#: doc/guix.texi:10132 +msgid "Whether the cache should be shared among users." +msgstr "" + +#. type: item +#: doc/guix.texi:10133 +#, no-wrap +msgid "@code{max-database-size} (default: 32@tie{}MiB)" +msgstr "" + +#. type: table +#: doc/guix.texi:10135 +msgid "Maximum size in bytes of the database cache." +msgstr "" + +#. type: defvr +#: doc/guix.texi:10142 +#, no-wrap +msgid "{Scheme Variable} %nscd-default-caches" +msgstr "" + +#. type: defvr +#: doc/guix.texi:10145 +msgid "" +"List of @code{<nscd-cache>} objects used by default by " +"@code{nscd-configuration} (see above)." +msgstr "" + +#. type: defvr +#: doc/guix.texi:10151 +msgid "" +"It enables persistent and aggressive caching of service and host name " +"lookups. The latter provides better host name lookup performance, " +"resilience in the face of unreliable name servers, and also better " +"privacy---often the result of host name lookups is in local cache, so " +"external name servers do not even need to be queried." +msgstr "" + +#. type: anchor{#1} +#: doc/guix.texi:10154 +msgid "syslog-configuration-type" +msgstr "" + +#. type: cindex +#: doc/guix.texi:10154 doc/guix.texi:10170 +#, no-wrap +msgid "syslog" +msgstr "" + +#. type: cindex +#: doc/guix.texi:10155 doc/guix.texi:10588 +#, no-wrap +msgid "logging" +msgstr "" + +#. type: deftp +#: doc/guix.texi:10156 +#, no-wrap +msgid "{Data Type} syslog-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:10158 +msgid "This data type represents the configuration of the syslog daemon." +msgstr "" + +#. type: item +#: doc/guix.texi:10160 +#, no-wrap +msgid "" +"@code{syslogd} (default: @code{#~(string-append #$inetutils " +"\"/libexec/syslogd\")})" +msgstr "" + +#. type: table +#: doc/guix.texi:10162 +msgid "The syslog daemon to use." +msgstr "" + +#. type: item +#: doc/guix.texi:10163 +#, no-wrap +msgid "@code{config-file} (default: @code{%default-syslog.conf})" +msgstr "" + +#. type: table +#: doc/guix.texi:10165 +msgid "The syslog configuration file to use." +msgstr "" + +#. type: anchor{#1} +#: doc/guix.texi:10170 +msgid "syslog-service" +msgstr "" + +#. type: deffn +#: doc/guix.texi:10171 +#, no-wrap +msgid "{Scheme Procedure} syslog-service @var{config}" +msgstr "" + +#. type: deffn +#: doc/guix.texi:10173 +msgid "Return a service that runs a syslog daemon according to @var{config}." +msgstr "" + +#. type: deffn +#: doc/guix.texi:10176 +msgid "" +"@xref{syslogd invocation,,, inetutils, GNU Inetutils}, for more information " +"on the configuration file syntax." +msgstr "" + +#. type: anchor{#1} +#: doc/guix.texi:10179 +msgid "guix-configuration-type" +msgstr "" + +#. type: deftp +#: doc/guix.texi:10179 +#, no-wrap +msgid "{Data Type} guix-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:10182 +msgid "" +"This data type represents the configuration of the Guix build daemon. " +"@xref{Invoking guix-daemon}, for more information." +msgstr "" + +#. type: item +#: doc/guix.texi:10184 +#, no-wrap +msgid "@code{guix} (default: @var{guix})" +msgstr "" + +#. type: table +#: doc/guix.texi:10186 doc/guix.texi:10414 +msgid "The Guix package to use." +msgstr "" + +#. type: item +#: doc/guix.texi:10187 +#, no-wrap +msgid "@code{build-group} (default: @code{\"guixbuild\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:10189 +msgid "Name of the group for build user accounts." +msgstr "" + +#. type: item +#: doc/guix.texi:10190 +#, no-wrap +msgid "@code{build-accounts} (default: @code{10})" +msgstr "" + +#. type: table +#: doc/guix.texi:10192 +msgid "Number of build user accounts to create." +msgstr "" + +#. type: item +#: doc/guix.texi:10193 +#, no-wrap +msgid "@code{authorize-key?} (default: @code{#t})" +msgstr "" + +#. type: table +#: doc/guix.texi:10198 +msgid "" +"Whether to authorize the substitute keys listed in " +"@code{authorized-keys}---by default that of @code{hydra.gnu.org} " +"(@pxref{Substitutes})." +msgstr "" + +#. type: vindex +#: doc/guix.texi:10199 +#, no-wrap +msgid "%default-authorized-guix-keys" +msgstr "" + +#. type: item +#: doc/guix.texi:10200 +#, no-wrap +msgid "@code{authorized-keys} (default: @var{%default-authorized-guix-keys})" +msgstr "" + +#. type: table +#: doc/guix.texi:10204 +msgid "" +"The list of authorized key files for archive imports, as a list of " +"string-valued gexps (@pxref{Invoking guix archive}). By default, it " +"contains that of @code{hydra.gnu.org} (@pxref{Substitutes})." +msgstr "" + +#. type: item +#: doc/guix.texi:10205 +#, no-wrap +msgid "@code{use-substitutes?} (default: @code{#t})" +msgstr "" + +#. type: table +#: doc/guix.texi:10207 +msgid "Whether to use substitutes." +msgstr "" + +#. type: item +#: doc/guix.texi:10208 +#, no-wrap +msgid "@code{substitute-urls} (default: @var{%default-substitute-urls})" +msgstr "" + +#. type: table +#: doc/guix.texi:10210 +msgid "The list of URLs where to look for substitutes by default." +msgstr "" + +#. type: item +#: doc/guix.texi:10211 +#, no-wrap +msgid "@code{max-silent-time} (default: @code{0})" +msgstr "" + +#. type: itemx +#: doc/guix.texi:10212 +#, no-wrap +msgid "@code{timeout} (default: @code{0})" +msgstr "" + +#. type: table +#: doc/guix.texi:10216 +msgid "" +"The number of seconds of silence and the number of seconds of activity, " +"respectively, after which a build process times out. A value of zero " +"disables the timeout." +msgstr "" + +#. type: item +#: doc/guix.texi:10217 +#, no-wrap +msgid "@code{log-compression} (default: @code{'bzip2})" +msgstr "" + +#. type: table +#: doc/guix.texi:10220 +msgid "" +"The type of compression used for build logs---one of @code{gzip}, " +"@code{bzip2}, or @code{none}." +msgstr "" + +#. type: table +#: doc/guix.texi:10223 +msgid "List of extra command-line options for @command{guix-daemon}." +msgstr "" + +#. type: item +#: doc/guix.texi:10224 +#, no-wrap +msgid "@code{log-file} (default: @code{\"/var/log/guix-daemon.log\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:10227 +msgid "" +"File where @command{guix-daemon}'s standard output and standard error are " +"written." +msgstr "" + +#. type: item +#: doc/guix.texi:10228 +#, no-wrap +msgid "@code{http-proxy} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:10231 +msgid "" +"The HTTP proxy used for downloading fixed-output derivations and " +"substitutes." +msgstr "" + +#. type: item +#: doc/guix.texi:10232 +#, no-wrap +msgid "@code{tmpdir} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:10234 +msgid "A directory path where the @command{guix-daemon} will perform builds." +msgstr "" + +#. type: deffn +#: doc/guix.texi:10238 +#, no-wrap +msgid "{Scheme Procedure} guix-service @var{config}" +msgstr "" + +#. type: deffn +#: doc/guix.texi:10241 +msgid "Return a service that runs the Guix build daemon according to @var{config}." +msgstr "" + +#. type: deffn +#: doc/guix.texi:10243 +#, no-wrap +msgid "{Scheme Procedure} udev-service [#:udev @var{eudev} #:rules @code{'()}]" +msgstr "" + +#. type: deffn +#: doc/guix.texi:10248 +msgid "" +"Run @var{udev}, which populates the @file{/dev} directory dynamically. udev " +"rules can be provided as a list of files through the @var{rules} variable. " +"The procedures @var{udev-rule} and @var{file->udev-rule} from @code{(gnu " +"services base)} simplify the creation of such rule files." +msgstr "" + +#. type: deffn +#: doc/guix.texi:10249 +#, no-wrap +msgid "{Scheme Procedure} udev-rule [@var{file-name} @var{contents}]" +msgstr "" + +#. type: deffn +#: doc/guix.texi:10252 +msgid "" +"Return a udev-rule file named @var{file-name} containing the rules defined " +"by the @var{contents} literal." +msgstr "" + +#. type: deffn +#: doc/guix.texi:10256 +msgid "" +"In the following example, a rule for a USB device is defined to be stored in " +"the file @file{90-usb-thing.rules}. The rule runs a script upon detecting a " +"USB device with a given product identifier." +msgstr "" + +#. type: example +#: doc/guix.texi:10264 +#, no-wrap +msgid "" +"(define %example-udev-rule\n" +" (udev-rule\n" +" \"90-usb-thing.rules\"\n" +" (string-append \"ACTION==\\\"add\\\", SUBSYSTEM==\\\"usb\\\", \"\n" +" \"ATTR@{product@}==\\\"Example\\\", \"\n" +" \"RUN+=\\\"/path/to/script\\\"\")))\n" +msgstr "" + +#. type: deffn +#: doc/guix.texi:10268 +msgid "Here we show how the default @var{udev-service} can be extended with it." +msgstr "" + +#. type: example +#: doc/guix.texi:10278 +#, no-wrap +msgid "" +"(operating-system\n" +" ;; @dots{}\n" +" (services\n" +" (modify-services %desktop-services\n" +" (udev-service-type config =>\n" +" (udev-configuration (inherit config)\n" +" (rules (append (udev-configuration-rules config)\n" +" (list %example-udev-rule))))))))\n" +msgstr "" + +#. type: deffn +#: doc/guix.texi:10280 +#, no-wrap +msgid "{Scheme Procedure} file->udev-rule [@var{file-name} @var{file}]" +msgstr "" + +#. type: deffn +#: doc/guix.texi:10283 +msgid "" +"Return a udev file named @var{file-name} containing the rules defined within " +"@var{file}, a file-like object." +msgstr "" + +#. type: deffn +#: doc/guix.texi:10285 +msgid "The following example showcases how we can use an existing rule file." +msgstr "" + +#. type: example +#: doc/guix.texi:10290 +#, no-wrap +msgid "" +"(use-modules (guix download) ;for url-fetch\n" +" (guix packages) ;for origin\n" +" ;; @dots{})\n" +"\n" +msgstr "" + +#. type: example +#: doc/guix.texi:10301 +#, no-wrap +msgid "" +"(define %android-udev-rules\n" +" (file->udev-rule\n" +" \"51-android-udev.rules\"\n" +" (let ((version \"20170910\"))\n" +" (origin\n" +" (method url-fetch)\n" +" (uri (string-append \"https://raw.githubusercontent.com/M0Rf30/\"\n" +" \"android-udev-rules/\" version " +"\"/51-android.rules\"))\n" +" (sha256\n" +" (base32 " +"\"0lmmagpyb6xsq6zcr2w1cyx9qmjqmajkvrdbhjx32gqf1d9is003\"))))))\n" +msgstr "" + +#. type: deffn +#: doc/guix.texi:10310 +msgid "" +"Additionally, Guix package definitions can be included in @var{rules} in " +"order to extend the udev rules with the definitions found under their " +"@file{lib/udev/rules.d} sub-directory. In lieu of the previous " +"@var{file->udev-rule} example, we could have used the " +"@var{android-udev-rules} package which exists in Guix in the @code{(gnu " +"packages android)} module." +msgstr "" + +#. type: deffn +#: doc/guix.texi:10319 +msgid "" +"The following example shows how to use the @var{android-udev-rules} package " +"so that the Android tool @command{adb} can detect devices without root " +"privileges. It also details how to create the @code{adbusers} group, which " +"is required for the proper functioning of the rules defined within the " +"@var{android-udev-rules} package. To create such a group, we must define it " +"both as part of the @var{supplementary-groups} of our @var{user-account} " +"declaration, as well as in the @var{groups} field of the " +"@var{operating-system} record." +msgstr "" + +#. type: example +#: doc/guix.texi:10324 +#, no-wrap +msgid "" +"(use-modules (gnu packages android) ;for android-udev-rules\n" +" (gnu system shadow) ;for user-group\n" +" ;; @dots{})\n" +"\n" +msgstr "" + +#. type: example +#: doc/guix.texi:10333 +#, no-wrap +msgid "" +"(operating-system\n" +" ;; @dots{}\n" +" (users (cons (user-acount\n" +" ;; @dots{}\n" +" (supplementary-groups\n" +" '(\"adbusers\" ;for adb\n" +" \"wheel\" \"netdev\" \"audio\" \"video\"))\n" +" ;; @dots{})))\n" +"\n" +msgstr "" + +#. type: example +#: doc/guix.texi:10336 +#, no-wrap +msgid "" +" (groups (cons (user-group (system? #t) (name \"adbusers\"))\n" +" %base-groups))\n" +"\n" +msgstr "" + +#. type: example +#: doc/guix.texi:10338 +#, no-wrap +msgid "" +" ;; @dots{}\n" +"\n" +msgstr "" + +#. type: example +#: doc/guix.texi:10345 +#, no-wrap +msgid "" +" (services\n" +" (modify-services %desktop-services\n" +" (udev-service-type config =>\n" +" (udev-configuration (inherit config)\n" +" (rules (cons* android-udev-rules\n" +" (udev-configuration-rules config))))))))\n" +msgstr "" + +#. type: defvr +#: doc/guix.texi:10348 +#, no-wrap +msgid "{Scheme Variable} urandom-seed-service-type" +msgstr "" + +#. type: defvr +#: doc/guix.texi:10353 +msgid "" +"Save some entropy in @var{%random-seed-file} to seed @file{/dev/urandom} " +"when rebooting. It also tries to seed @file{/dev/urandom} from " +"@file{/dev/hwrng} while booting, if @file{/dev/hwrng} exists and is " +"readable." +msgstr "" + +#. type: defvr +#: doc/guix.texi:10355 +#, no-wrap +msgid "{Scheme Variable} %random-seed-file" +msgstr "" + +#. type: defvr +#: doc/guix.texi:10359 +msgid "" +"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}." +msgstr "" + +#. type: cindex +#: doc/guix.texi:10361 +#, no-wrap +msgid "keymap" +msgstr "" + +#. type: cindex +#: doc/guix.texi:10362 +#, no-wrap +msgid "keyboard" +msgstr "" + +#. type: deffn +#: doc/guix.texi:10363 +#, no-wrap +msgid "{Scheme Procedure} console-keymap-service @var{files} ..." +msgstr "" + +#. type: deffn +#: doc/guix.texi:10368 +msgid "" +"Return a service to load console keymaps from @var{files} using " +"@command{loadkeys} command. Most likely, you want to load some default " +"keymap, which can be done like this:" +msgstr "" + +#. type: example +#: doc/guix.texi:10371 +#, no-wrap +msgid "(console-keymap-service \"dvorak\")\n" +msgstr "" + +#. type: deffn +#: doc/guix.texi:10375 +msgid "" +"Or, for example, for a Swedish keyboard, you may need to combine the " +"following keymaps:" +msgstr "" + +#. type: example +#: doc/guix.texi:10377 +#, no-wrap +msgid "(console-keymap-service \"se-lat6\" \"se-fi-lat6\")\n" +msgstr "" + +#. type: deffn +#: doc/guix.texi:10381 +msgid "" +"Also you can specify a full file name (or file names) of your keymap(s). " +"See @code{man loadkeys} for details." +msgstr "" + +#. type: cindex +#: doc/guix.texi:10384 +#, no-wrap +msgid "mouse" +msgstr "" + +#. type: cindex +#: doc/guix.texi:10385 +#, no-wrap +msgid "gpm" +msgstr "" + +#. type: deffn +#: doc/guix.texi:10386 +#, no-wrap +msgid "{Scheme Procedure} gpm-service [#:gpm @var{gpm}] @" +msgstr "" + +#. type: deffn +#: doc/guix.texi:10392 +msgid "" +"[#:options] Run @var{gpm}, the general-purpose mouse daemon, with the given " +"command-line @var{options}. GPM allows users to use the mouse in the " +"console, notably to select, copy, and paste text. The default value of " +"@var{options} uses the @code{ps2} protocol, which works for both USB and " +"PS/2 mice." +msgstr "" + +#. type: deffn +#: doc/guix.texi:10394 +msgid "This service is not part of @var{%base-services}." +msgstr "" + +#. type: anchor{#1} +#: doc/guix.texi:10397 +msgid "guix-publish-service-type" +msgstr "" + +#. type: deffn +#: doc/guix.texi:10397 +#, no-wrap +msgid "{Scheme Variable} guix-publish-service-type" +msgstr "" + +#. type: deffn +#: doc/guix.texi:10401 +msgid "" +"This is the service type for @command{guix publish} (@pxref{Invoking guix " +"publish}). Its value must be a @code{guix-configuration} object, as " +"described below." +msgstr "" + +#. type: deffn +#: doc/guix.texi:10405 +msgid "" +"This assumes that @file{/etc/guix} already contains a signing key pair as " +"created by @command{guix archive --generate-key} (@pxref{Invoking guix " +"archive}). If that is not the case, the service will fail to start." +msgstr "" + +#. type: deftp +#: doc/guix.texi:10407 +#, no-wrap +msgid "{Data Type} guix-publish-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:10410 +msgid "Data type representing the configuration of the @code{guix publish} service." +msgstr "" + +#. type: item +#: doc/guix.texi:10412 +#, no-wrap +msgid "@code{guix} (default: @code{guix})" +msgstr "" + +#. type: item +#: doc/guix.texi:10415 +#, no-wrap +msgid "@code{port} (default: @code{80})" +msgstr "" + +#. type: table +#: doc/guix.texi:10417 +msgid "The TCP port to listen for connections." +msgstr "" + +#. type: item +#: doc/guix.texi:10418 +#, no-wrap +msgid "@code{host} (default: @code{\"localhost\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:10421 +msgid "" +"The host (and thus, network interface) to listen to. Use @code{\"0.0.0.0\"} " +"to listen on all the network interfaces." +msgstr "" + +#. type: table +#: doc/guix.texi:10426 +msgid "" +"The gzip compression level at which substitutes are compressed. Use " +"@code{0} to disable compression altogether, and @code{9} to get the best " +"compression ratio at the expense of increased CPU usage." +msgstr "" + +#. type: item +#: doc/guix.texi:10427 +#, no-wrap +msgid "@code{nar-path} (default: @code{\"nar\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:10430 +msgid "" +"The URL path at which ``nars'' can be fetched. @xref{Invoking guix publish, " +"@code{--nar-path}}, for details." +msgstr "" + +#. type: item +#: doc/guix.texi:10431 +#, no-wrap +msgid "@code{cache} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:10437 +msgid "" +"When it is @code{#f}, disable caching and instead generate archives on " +"demand. Otherwise, this should be the name of a directory---e.g., " +"@code{\"/var/cache/guix/publish\"}---where @command{guix publish} caches " +"archives and meta-data ready to be sent. @xref{Invoking guix publish, " +"@option{--cache}}, for more information on the tradeoffs involved." +msgstr "" + +#. type: item +#: doc/guix.texi:10438 +#, no-wrap +msgid "@code{workers} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:10442 +msgid "" +"When it is an integer, this is the number of worker threads used for " +"caching; when @code{#f}, the number of processors is used. @xref{Invoking " +"guix publish, @option{--workers}}, for more information." +msgstr "" + +#. type: item +#: doc/guix.texi:10443 +#, no-wrap +msgid "@code{ttl} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:10447 +msgid "" +"When it is an integer, this denotes the @dfn{time-to-live} in seconds of the " +"published archives. @xref{Invoking guix publish, @option{--ttl}}, for more " +"information." +msgstr "" + +#. type: anchor{#1} +#: doc/guix.texi:10451 +msgid "rngd-service" +msgstr "" + +#. type: deffn +#: doc/guix.texi:10451 +#, no-wrap +msgid "{Scheme Procedure} rngd-service [#:rng-tools @var{rng-tools}] @" +msgstr "" + +#. type: deffn +#: doc/guix.texi:10456 +msgid "" +"[#:device \"/dev/hwrng\"] Return a service that runs the @command{rngd} " +"program from @var{rng-tools} to add @var{device} to the kernel's entropy " +"pool. The service will fail if @var{device} does not exist." +msgstr "" + +#. type: anchor{#1} +#: doc/guix.texi:10459 +msgid "pam-limits-service" +msgstr "" + +#. type: cindex +#: doc/guix.texi:10459 +#, no-wrap +msgid "session limits" +msgstr "" + +#. type: cindex +#: doc/guix.texi:10460 +#, no-wrap +msgid "ulimit" +msgstr "" + +#. type: cindex +#: doc/guix.texi:10461 +#, no-wrap +msgid "priority" +msgstr "" + +#. type: cindex +#: doc/guix.texi:10462 +#, no-wrap +msgid "realtime" +msgstr "" + +#. type: cindex +#: doc/guix.texi:10463 +#, no-wrap +msgid "jackd" +msgstr "" + +#. type: deffn +#: doc/guix.texi:10464 +#, no-wrap +msgid "{Scheme Procedure} pam-limits-service [#:limits @code{'()}]" +msgstr "" + +#. type: deffn +#: doc/guix.texi:10471 +msgid "" +"Return a service that installs a configuration file for the " +"@uref{http://linux-pam.org/Linux-PAM-html/sag-pam_limits.html, " +"@code{pam_limits} module}. The procedure optionally takes a list of " +"@code{pam-limits-entry} values, which can be used to specify @code{ulimit} " +"limits and nice priority limits to user sessions." +msgstr "" + +#. type: deffn +#: doc/guix.texi:10474 +msgid "" +"The following limits definition sets two hard and soft limits for all login " +"sessions of users in the @code{realtime} group:" +msgstr "" + +#. type: example +#: doc/guix.texi:10480 +#, no-wrap +msgid "" +"(pam-limits-service\n" +" (list\n" +" (pam-limits-entry \"@@realtime\" 'both 'rtprio 99)\n" +" (pam-limits-entry \"@@realtime\" 'both 'memlock 'unlimited)))\n" +msgstr "" + +#. type: deffn +#: doc/guix.texi:10486 +msgid "" +"The first entry increases the maximum realtime priority for non-privileged " +"processes; the second entry lifts any restriction of the maximum address " +"space that can be locked in memory. These settings are commonly used for " +"real-time audio systems." +msgstr "" + +#. type: cindex +#: doc/guix.texi:10491 +#, no-wrap +msgid "cron" +msgstr "" + +#. type: cindex +#: doc/guix.texi:10492 +#, no-wrap +msgid "mcron" +msgstr "" + +#. type: cindex +#: doc/guix.texi:10493 +#, no-wrap +msgid "scheduling jobs" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:10500 +msgid "" +"The @code{(gnu services mcron)} module provides an interface to " +"GNU@tie{}mcron, a daemon to run jobs at scheduled times (@pxref{Top,,, " +"mcron, GNU@tie{}mcron}). GNU@tie{}mcron is similar to the traditional Unix " +"@command{cron} daemon; the main difference is that it is implemented in " +"Guile Scheme, which provides a lot of flexibility when specifying the " +"scheduling of jobs and their actions." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:10508 +msgid "" +"The example below defines an operating system that runs the " +"@command{updatedb} (@pxref{Invoking updatedb,,, find, Finding Files}) and " +"the @command{guix gc} commands (@pxref{Invoking guix gc}) daily, as well as " +"the @command{mkid} command on behalf of an unprivileged user (@pxref{mkid " +"invocation,,, idutils, ID Database Utilities}). It uses gexps to introduce " +"job definitions that are passed to mcron (@pxref{G-Expressions})." +msgstr "" + +#. type: lisp +#: doc/guix.texi:10512 +#, no-wrap +msgid "" +"(use-modules (guix) (gnu) (gnu services mcron))\n" +"(use-package-modules base idutils)\n" +"\n" +msgstr "" + +#. type: lisp +#: doc/guix.texi:10521 +#, no-wrap +msgid "" +"(define updatedb-job\n" +" ;; Run 'updatedb' at 3AM every day. Here we write the\n" +" ;; job's action as a Scheme procedure.\n" +" #~(job '(next-hour '(3))\n" +" (lambda ()\n" +" (execl (string-append #$findutils \"/bin/updatedb\")\n" +" \"updatedb\"\n" +" \"--prunepaths=/tmp /var/tmp /gnu/store\"))))\n" +"\n" +msgstr "" + +#. type: lisp +#: doc/guix.texi:10527 +#, no-wrap +msgid "" +"(define garbage-collector-job\n" +" ;; Collect garbage 5 minutes after midnight every day.\n" +" ;; The job's action is a shell command.\n" +" #~(job \"5 0 * * *\" ;Vixie cron syntax\n" +" \"guix gc -F 1G\"))\n" +"\n" +msgstr "" + +#. type: lisp +#: doc/guix.texi:10534 +#, no-wrap +msgid "" +"(define idutils-job\n" +" ;; Update the index database as user \"charlie\" at 12:15PM\n" +" ;; and 19:15PM. This runs from the user's home directory.\n" +" #~(job '(next-minute-from (next-hour '(12 19)) '(15))\n" +" (string-append #$idutils \"/bin/mkid src\")\n" +" #:user \"charlie\"))\n" +"\n" +msgstr "" + +#. type: lisp +#: doc/guix.texi:10541 +#, no-wrap +msgid "" +"(operating-system\n" +" ;; @dots{}\n" +" (services (cons (mcron-service (list garbage-collector-job\n" +" updatedb-job\n" +" idutils-job))\n" +" %base-services)))\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:10546 +msgid "" +"@xref{Guile Syntax, mcron job specifications,, mcron, GNU@tie{}mcron}, for " +"more information on mcron job specifications. Below is the reference of the " +"mcron service." +msgstr "" + +#. type: deffn +#: doc/guix.texi:10547 +#, no-wrap +msgid "{Scheme Procedure} mcron-service @var{jobs} [#:mcron @var{mcron}]" +msgstr "" + +#. type: deffn +#: doc/guix.texi:10550 +msgid "" +"Return an mcron service running @var{mcron} that schedules @var{jobs}, a " +"list of gexps denoting mcron job specifications." +msgstr "" + +#. type: deffn +#: doc/guix.texi:10552 +msgid "This is a shorthand for:" +msgstr "" + +#. type: example +#: doc/guix.texi:10555 +#, no-wrap +msgid "" +"(service mcron-service-type\n" +" (mcron-configuration (mcron mcron) (jobs jobs)))\n" +msgstr "" + +#. type: defvr +#: doc/guix.texi:10558 +#, no-wrap +msgid "{Scheme Variable} mcron-service-type" +msgstr "" + +#. type: defvr +#: doc/guix.texi:10561 +msgid "" +"This is the type of the @code{mcron} service, whose value is an " +"@code{mcron-configuration} object." +msgstr "" + +#. type: defvr +#: doc/guix.texi:10566 +msgid "" +"This service type can be the target of a service extension that provides it " +"additional job specifications (@pxref{Service Composition}). In other " +"words, it is possible to define services that provide additional mcron jobs " +"to run." +msgstr "" + +#. type: deftp +#: doc/guix.texi:10568 +#, no-wrap +msgid "{Data Type} mcron-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:10570 +msgid "Data type representing the configuration of mcron." +msgstr "" + +#. type: item +#: doc/guix.texi:10572 +#, no-wrap +msgid "@code{mcron} (default: @var{mcron})" +msgstr "" + +#. type: table +#: doc/guix.texi:10574 +msgid "The mcron package to use." +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:10575 doc/guix.texi:10634 +#, no-wrap +msgid "jobs" +msgstr "" + +#. type: table +#: doc/guix.texi:10579 +msgid "" +"This is a list of gexps (@pxref{G-Expressions}), where each gexp corresponds " +"to an mcron job specification (@pxref{Syntax, mcron job specifications,, " +"mcron, GNU@tie{}mcron})." +msgstr "" + +#. type: cindex +#: doc/guix.texi:10586 +#, no-wrap +msgid "rottlog" +msgstr "" + +#. type: cindex +#: doc/guix.texi:10587 +#, no-wrap +msgid "log rotation" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:10594 +msgid "" +"Log files such as those found in @file{/var/log} tend to grow endlessly, so " +"it's a good idea to @dfn{rotate} them once in a while---i.e., archive their " +"contents in separate files, possibly compressed. The @code{(gnu services " +"admin)} module provides an interface to GNU@tie{}Rot[t]log, a log rotation " +"tool (@pxref{Top,,, rottlog, GNU Rot[t]log Manual})." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:10597 +msgid "" +"The example below defines an operating system that provides log rotation " +"with the default settings, for commonly encountered log files." +msgstr "" + +#. type: lisp +#: doc/guix.texi:10602 +#, no-wrap +msgid "" +"(use-modules (guix) (gnu))\n" +"(use-service-modules admin mcron)\n" +"(use-package-modules base idutils)\n" +"\n" +msgstr "" + +#. type: lisp +#: doc/guix.texi:10607 +#, no-wrap +msgid "" +"(operating-system\n" +" ;; @dots{}\n" +" (services (cons (service rottlog-service-type)\n" +" %base-services)))\n" +msgstr "" + +#. type: defvr +#: doc/guix.texi:10609 +#, no-wrap +msgid "{Scheme Variable} rottlog-service-type" +msgstr "" + +#. type: defvr +#: doc/guix.texi:10612 +msgid "" +"This is the type of the Rottlog service, whose value is a " +"@code{rottlog-configuration} object." +msgstr "" + +#. type: defvr +#: doc/guix.texi:10615 +msgid "" +"Other services can extend this one with new @code{log-rotation} objects (see " +"below), thereby augmenting the set of files to be rotated." +msgstr "" + +#. type: defvr +#: doc/guix.texi:10618 +msgid "" +"This service type can define mcron jobs (@pxref{Scheduled Job Execution}) to " +"run the rottlog service." +msgstr "" + +#. type: deftp +#: doc/guix.texi:10620 +#, no-wrap +msgid "{Data Type} rottlog-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:10622 +msgid "Data type representing the configuration of rottlog." +msgstr "" + +#. type: item +#: doc/guix.texi:10624 +#, no-wrap +msgid "@code{rottlog} (default: @code{rottlog})" +msgstr "" + +#. type: table +#: doc/guix.texi:10626 +msgid "The Rottlog package to use." +msgstr "" + +#. type: item +#: doc/guix.texi:10627 +#, no-wrap +msgid "@code{rc-file} (default: @code{(file-append rottlog \"/etc/rc\")})" +msgstr "" + +#. type: table +#: doc/guix.texi:10630 +msgid "" +"The Rottlog configuration file to use (@pxref{Mandatory RC Variables,,, " +"rottlog, GNU Rot[t]log Manual})." +msgstr "" + +#. type: item +#: doc/guix.texi:10631 +#, no-wrap +msgid "@code{rotations} (default: @code{%default-rotations})" +msgstr "" + +#. type: table +#: doc/guix.texi:10633 +msgid "A list of @code{log-rotation} objects as defined below." +msgstr "" + +#. type: table +#: doc/guix.texi:10637 +msgid "" +"This is a list of gexps where each gexp corresponds to an mcron job " +"specification (@pxref{Scheduled Job Execution})." +msgstr "" + +#. type: deftp +#: doc/guix.texi:10640 +#, no-wrap +msgid "{Data Type} log-rotation" +msgstr "" + +#. type: deftp +#: doc/guix.texi:10642 +msgid "Data type representing the rotation of a group of log files." +msgstr "" + +#. type: deftp +#: doc/guix.texi:10646 +msgid "" +"Taking an example from the Rottlog manual (@pxref{Period Related File " +"Examples,,, rottlog, GNU Rot[t]log Manual}), a log rotation might be defined " +"like this:" +msgstr "" + +#. type: example +#: doc/guix.texi:10655 +#, no-wrap +msgid "" +"(log-rotation\n" +" (frequency 'daily)\n" +" (files '(\"/var/log/apache/*\"))\n" +" (options '(\"storedir apache-archives\"\n" +" \"rotate 6\"\n" +" \"notifempty\"\n" +" \"nocompress\")))\n" +msgstr "" + +#. type: deftp +#: doc/guix.texi:10658 +msgid "The list of fields is as follows:" +msgstr "" + +#. type: item +#: doc/guix.texi:10660 +#, no-wrap +msgid "@code{frequency} (default: @code{'weekly})" +msgstr "" + +#. type: table +#: doc/guix.texi:10662 +msgid "The log rotation frequency, a symbol." +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:10663 +#, no-wrap +msgid "files" +msgstr "" + +#. type: table +#: doc/guix.texi:10665 +msgid "The list of files or file glob patterns to rotate." +msgstr "" + +#. type: item +#: doc/guix.texi:10666 +#, no-wrap +msgid "@code{options} (default: @code{'()})" +msgstr "" + +#. type: table +#: doc/guix.texi:10669 +msgid "" +"The list of rottlog options for this rotation (@pxref{Configuration " +"parameters,,, rottlog, GNU Rot[t]lg Manual})." +msgstr "" + +#. type: item +#: doc/guix.texi:10670 +#, no-wrap +msgid "@code{post-rotate} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:10672 +msgid "Either @code{#f} or a gexp to execute once the rotation has completed." +msgstr "" + +#. type: defvr +#: doc/guix.texi:10675 +#, no-wrap +msgid "{Scheme Variable} %default-rotations" +msgstr "" + +#. type: defvr +#: doc/guix.texi:10678 +msgid "" +"Specifies weekly rotation of @var{%rotated-files} and a couple of other " +"files." +msgstr "" + +#. type: defvr +#: doc/guix.texi:10680 +#, no-wrap +msgid "{Scheme Variable} %rotated-files" +msgstr "" + +#. type: defvr +#: doc/guix.texi:10683 +msgid "" +"The list of syslog-controlled files to be rotated. By default it is: " +"@code{'(\"/var/log/messages\" \"/var/log/secure\")}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:10690 +msgid "" +"The @code{(gnu services networking)} module provides services to configure " +"the network interface." +msgstr "" + +#. type: cindex +#: doc/guix.texi:10691 +#, no-wrap +msgid "DHCP, networking service" +msgstr "" + +#. type: deffn +#: doc/guix.texi:10692 +#, no-wrap +msgid "{Scheme Procedure} dhcp-client-service [#:dhcp @var{isc-dhcp}]" +msgstr "" + +#. type: deffn +#: doc/guix.texi:10695 +msgid "" +"Return a service that runs @var{dhcp}, a Dynamic Host Configuration Protocol " +"(DHCP) client, on all the non-loopback network interfaces." +msgstr "" + +#. type: defvr +#: doc/guix.texi:10697 +#, no-wrap +msgid "{Scheme Variable} static-networking-service-type" +msgstr "" + +#. type: defvr +#: doc/guix.texi:10700 +msgid "This is the type for statically-configured network interfaces." +msgstr "" + +#. type: deffn +#: doc/guix.texi:10702 +#, no-wrap +msgid "{Scheme Procedure} static-networking-service @var{interface} @var{ip} @" +msgstr "" + +#. type: deffn +#: doc/guix.texi:10710 +msgid "" +"[#:netmask #f] [#:gateway #f] [#:name-servers @code{'()}] [#:requirement " +"@code{'(udev)}] Return a service that starts @var{interface} with address " +"@var{ip}. If @var{netmask} is true, use it as the network mask. If " +"@var{gateway} is true, it must be a string specifying the default network " +"gateway. @var{requirement} can be used to declare a dependency on another " +"service before configuring the interface." +msgstr "" + +#. type: deffn +#: doc/guix.texi:10715 +msgid "" +"This procedure can be called several times, one for each network interface " +"of interest. Behind the scenes what it does is extend " +"@code{static-networking-service-type} with additional network interfaces to " +"handle." +msgstr "" + +#. type: cindex +#: doc/guix.texi:10717 +#, no-wrap +msgid "wicd" +msgstr "" + +#. type: cindex +#: doc/guix.texi:10720 +#, no-wrap +msgid "network management" +msgstr "" + +#. type: deffn +#: doc/guix.texi:10721 +#, no-wrap +msgid "{Scheme Procedure} wicd-service [#:wicd @var{wicd}]" +msgstr "" + +#. type: deffn +#: doc/guix.texi:10724 +msgid "" +"Return a service that runs @url{https://launchpad.net/wicd,Wicd}, a network " +"management daemon that aims to simplify wired and wireless networking." +msgstr "" + +#. type: deffn +#: doc/guix.texi:10729 +msgid "" +"This service adds the @var{wicd} package to the global profile, providing " +"several commands to interact with the daemon and configure networking: " +"@command{wicd-client}, a graphical user interface, and the " +"@command{wicd-cli} and @command{wicd-curses} user interfaces." +msgstr "" + +#. type: cindex +#: doc/guix.texi:10731 +#, no-wrap +msgid "NetworkManager" +msgstr "" + +#. type: defvr +#: doc/guix.texi:10733 +#, no-wrap +msgid "{Scheme Variable} network-manager-service-type" +msgstr "" + +#. type: defvr +#: doc/guix.texi:10738 +msgid "" +"This is the service type for the " +"@uref{https://wiki.gnome.org/Projects/NetworkManager, NetworkManager} " +"service. The value for this service type is a " +"@code{network-manager-configuration} record." +msgstr "" + +#. type: defvr +#: doc/guix.texi:10741 +msgid "This service is part of @code{%desktop-services} (@pxref{Desktop Services})." +msgstr "" + +#. type: deftp +#: doc/guix.texi:10743 +#, no-wrap +msgid "{Data Type} network-manager-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:10745 +msgid "Data type representing the configuration of NetworkManager." +msgstr "" + +#. type: item +#: doc/guix.texi:10747 +#, no-wrap +msgid "@code{network-manager} (default: @code{network-manager})" +msgstr "" + +#. type: table +#: doc/guix.texi:10749 +msgid "The NetworkManager package to use." +msgstr "" + +#. type: item +#: doc/guix.texi:10750 +#, no-wrap +msgid "@code{dns} (default: @code{\"default\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:10753 +msgid "" +"Processing mode for DNS, which affects how NetworkManager uses the " +"@code{resolv.conf} configuration file." +msgstr "" + +#. type: item +#: doc/guix.texi:10755 +#, no-wrap +msgid "default" +msgstr "" + +#. type: table +#: doc/guix.texi:10758 +msgid "" +"NetworkManager will update @code{resolv.conf} to reflect the nameservers " +"provided by currently active connections." +msgstr "" + +#. type: item +#: doc/guix.texi:10759 +#, no-wrap +msgid "dnsmasq" +msgstr "" + +#. type: table +#: doc/guix.texi:10763 +msgid "" +"NetworkManager will run @code{dnsmasq} as a local caching nameserver, using " +"a \"split DNS\" configuration if you are connected to a VPN, and then update " +"@code{resolv.conf} to point to the local nameserver." +msgstr "" + +#. type: item +#: doc/guix.texi:10764 doc/guix.texi:11750 +#, no-wrap +msgid "none" +msgstr "" + +#. type: table +#: doc/guix.texi:10766 +msgid "NetworkManager will not modify @code{resolv.conf}." +msgstr "" + +#. type: item +#: doc/guix.texi:10768 +#, no-wrap +msgid "@code{vpn-plugins} (default: @code{'()})" +msgstr "" + +#. type: table +#: doc/guix.texi:10772 +msgid "" +"This is the list of available plugins for virtual private networks (VPNs). " +"An example of this is the @code{network-manager-openvpn} package, which " +"allows NetworkManager to manage VPNs @i{via} OpenVPN." +msgstr "" + +#. type: cindex +#: doc/guix.texi:10776 +#, no-wrap +msgid "Connman" +msgstr "" + +#. type: deffn +#: doc/guix.texi:10777 +#, no-wrap +msgid "{Scheme Variable} connman-service-type" +msgstr "" + +#. type: deffn +#: doc/guix.texi:10780 +msgid "" +"This is the service type to run @url{https://01.org/connman,Connman}, a " +"network connection manager." +msgstr "" + +#. type: deffn +#: doc/guix.texi:10783 +msgid "Its value must be an @code{connman-configuration} record as in this example:" +msgstr "" + +#. type: example +#: doc/guix.texi:10788 +#, no-wrap +msgid "" +"(service connman-service-type\n" +" (connman-configuration\n" +" (disable-vpn? #t)))\n" +msgstr "" + +#. type: deffn +#: doc/guix.texi:10791 +msgid "See below for details about @code{connman-configuration}." +msgstr "" + +#. type: deftp +#: doc/guix.texi:10793 +#, no-wrap +msgid "{Data Type} connman-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:10795 +msgid "Data Type representing the configuration of connman." +msgstr "" + +#. type: item +#: doc/guix.texi:10797 +#, no-wrap +msgid "@code{connman} (default: @var{connman})" +msgstr "" + +#. type: table +#: doc/guix.texi:10799 +msgid "The connman package to use." +msgstr "" + +#. type: item +#: doc/guix.texi:10800 +#, no-wrap +msgid "@code{disable-vpn?} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:10802 +msgid "When true, enable connman's vpn plugin." +msgstr "" + +#. type: cindex +#: doc/guix.texi:10805 +#, no-wrap +msgid "WPA Supplicant" +msgstr "" + +#. type: defvr +#: doc/guix.texi:10806 +#, no-wrap +msgid "{Scheme Variable} wpa-supplicant-service-type" +msgstr "" + +#. type: defvr +#: doc/guix.texi:10811 +msgid "" +"This is the service type to run @url{https://w1.fi/wpa_supplicant/,WPA " +"supplicant}, an authentication daemon required to authenticate against " +"encrypted WiFi or ethernet networks. It is configured to listen for " +"requests on D-Bus." +msgstr "" + +#. type: defvr +#: doc/guix.texi:10814 +msgid "" +"The value of this service is the @code{wpa-supplicant} package to use. " +"Thus, it can be instantiated like this:" +msgstr "" + +#. type: lisp +#: doc/guix.texi:10817 +#, no-wrap +msgid "" +"(use-modules (gnu services networking))\n" +"\n" +msgstr "" + +#. type: lisp +#: doc/guix.texi:10819 +#, no-wrap +msgid "(service wpa-supplicant-service-type)\n" +msgstr "" + +#. type: cindex +#: doc/guix.texi:10822 +#, no-wrap +msgid "NTP" +msgstr "" + +#. type: cindex +#: doc/guix.texi:10823 +#, no-wrap +msgid "real time clock" +msgstr "" + +#. type: deffn +#: doc/guix.texi:10824 +#, no-wrap +msgid "{Scheme Procedure} ntp-service [#:ntp @var{ntp}] @" +msgstr "" + +#. type: deffn +#: doc/guix.texi:10832 +msgid "" +"[#:servers @var{%ntp-servers}] @ [#:allow-large-adjustment? #f] Return a " +"service that runs the daemon from @var{ntp}, the @uref{http://www.ntp.org, " +"Network Time Protocol package}. The daemon will keep the system clock " +"synchronized with that of @var{servers}. @var{allow-large-adjustment?} " +"determines whether @command{ntpd} is allowed to make an initial adjustment " +"of more than 1,000 seconds." +msgstr "" + +#. type: defvr +#: doc/guix.texi:10834 +#, no-wrap +msgid "{Scheme Variable} %ntp-servers" +msgstr "" + +#. type: defvr +#: doc/guix.texi:10836 +msgid "List of host names used as the default NTP servers." +msgstr "" + +#. type: cindex +#: doc/guix.texi:10838 +#, no-wrap +msgid "OpenNTPD" +msgstr "" + +#. type: deffn +#: doc/guix.texi:10839 +#, no-wrap +msgid "{Scheme Procedure} openntpd-service-type" +msgstr "" + +#. type: deffn +#: doc/guix.texi:10843 +msgid "" +"Run the @command{ntpd}, the Network Time Protocol (NTP) daemon, as " +"implemented by @uref{http://www.openntpd.org, OpenNTPD}. The daemon will " +"keep the system clock synchronized with that of the given servers." +msgstr "" + +#. type: example +#: doc/guix.texi:10853 +#, no-wrap +msgid "" +"(service\n" +" openntpd-service-type\n" +" (openntpd-configuration\n" +" (listen-on '(\"127.0.0.1\" \"::1\"))\n" +" (sensor '(\"udcf0 correction 70000\"))\n" +" (constraint-from '(\"www.gnu.org\"))\n" +" (constraints-from '(\"https://www.google.com/\"))\n" +" (allow-large-adjustment? #t)))\n" +"\n" +msgstr "" + +#. type: deftp +#: doc/guix.texi:10857 +#, no-wrap +msgid "{Data Type} openntpd-configuration" +msgstr "" + +#. type: item +#: doc/guix.texi:10859 +#, no-wrap +msgid "@code{openntpd} (default: @code{(file-append openntpd \"/sbin/ntpd\")})" +msgstr "" + +#. type: table +#: doc/guix.texi:10861 +msgid "The openntpd executable to use." +msgstr "" + +#. type: item +#: doc/guix.texi:10861 +#, no-wrap +msgid "@code{listen-on} (default: @code{'(\"127.0.0.1\" \"::1\")})" +msgstr "" + +#. type: table +#: doc/guix.texi:10863 +msgid "A list of local IP addresses or hostnames the ntpd daemon should listen on." +msgstr "" + +#. type: item +#: doc/guix.texi:10863 +#, no-wrap +msgid "@code{query-from} (default: @code{'()})" +msgstr "" + +#. type: table +#: doc/guix.texi:10865 +msgid "A list of local IP address the ntpd daemon should use for outgoing queries." +msgstr "" + +#. type: item +#: doc/guix.texi:10865 +#, no-wrap +msgid "@code{sensor} (default: @code{'()})" +msgstr "" + +#. type: table +#: doc/guix.texi:10870 +msgid "" +"Specify a list of timedelta sensor devices ntpd should use. @code{ntpd} " +"will listen to each sensor that acutally exists and ignore non-existant " +"ones. See @uref{https://man.openbsd.org/ntpd.conf, upstream documentation} " +"for more information." +msgstr "" + +#. type: item +#: doc/guix.texi:10870 +#, no-wrap +msgid "@code{server} (default: @var{%ntp-servers})" +msgstr "" + +#. type: table +#: doc/guix.texi:10872 +msgid "" +"Specify a list of IP addresses or hostnames of NTP servers to synchronize " +"to." +msgstr "" + +#. type: item +#: doc/guix.texi:10872 +#, no-wrap +msgid "@code{servers} (default: @code{'()})" +msgstr "" + +#. type: table +#: doc/guix.texi:10874 +msgid "Specify a list of IP addresses or hostnames of NTP pools to synchronize to." +msgstr "" + +#. type: item +#: doc/guix.texi:10874 +#, no-wrap +msgid "@code{constraint-from} (default: @code{'()})" +msgstr "" + +#. type: table +#: doc/guix.texi:10881 +msgid "" +"@code{ntpd} can be configured to query the ‘Date’ from trusted HTTPS servers " +"via TLS. This time information is not used for precision but acts as an " +"authenticated constraint, thereby reducing the impact of unauthenticated NTP " +"man-in-the-middle attacks. Specify a list of URLs, IP addresses or " +"hostnames of HTTPS servers to provide a constraint." +msgstr "" + +#. type: item +#: doc/guix.texi:10881 +#, no-wrap +msgid "@code{constraints-from} (default: @code{'()})" +msgstr "" + +#. type: table +#: doc/guix.texi:10885 +msgid "" +"As with constraint from, specify a list of URLs, IP addresses or hostnames " +"of HTTPS servers to provide a constraint. Should the hostname resolve to " +"multiple IP addresses, @code{ntpd} will calculate a median constraint from " +"all of them." +msgstr "" + +#. type: item +#: doc/guix.texi:10885 +#, no-wrap +msgid "@code{allow-large-adjustment?} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:10888 +msgid "" +"Determines if @code{ntpd} is allowed to make an initial adjustment of more " +"than 180 seconds." +msgstr "" + +#. type: cindex +#: doc/guix.texi:10891 +#, no-wrap +msgid "inetd" +msgstr "" + +#. type: deffn +#: doc/guix.texi:10892 +#, no-wrap +msgid "{Scheme variable} inetd-service-type" +msgstr "" + +#. type: deffn +#: doc/guix.texi:10897 +msgid "" +"This service runs the @command{inetd} (@pxref{inetd invocation,,, inetutils, " +"GNU Inetutils}) daemon. @command{inetd} listens for connections on internet " +"sockets, and lazily starts the specified server program when a connection is " +"made on one of these sockets." +msgstr "" + +#. type: deffn +#: doc/guix.texi:10903 +msgid "" +"The value of this service is an @code{inetd-configuration} object. The " +"following example configures the @command{inetd} daemon to provide the " +"built-in @command{echo} service, as well as an smtp service which forwards " +"smtp traffic over ssh to a server @code{smtp-server} behind a gateway " +"@code{hostname}:" +msgstr "" + +#. type: example +#: doc/guix.texi:10926 +#, no-wrap +msgid "" +"(service\n" +" inetd-service-type\n" +" (inetd-configuration\n" +" (entries (list\n" +" (inetd-entry\n" +" (name \"echo\")\n" +" (socket-type 'stream)\n" +" (protocol \"tcp\")\n" +" (wait? #f)\n" +" (user \"root\"))\n" +" (inetd-entry\n" +" (node \"127.0.0.1\")\n" +" (name \"smtp\")\n" +" (socket-type 'stream)\n" +" (protocol \"tcp\")\n" +" (wait? #f)\n" +" (user \"root\")\n" +" (program (file-append openssh \"/bin/ssh\"))\n" +" (arguments\n" +" '(\"ssh\" \"-qT\" \"-i\" \"/path/to/ssh_key\"\n" +" \"-W\" \"smtp-server:25\" \"user@@hostname\")))))\n" +msgstr "" + +#. type: deffn +#: doc/guix.texi:10929 +msgid "See below for more details about @code{inetd-configuration}." +msgstr "" + +#. type: deftp +#: doc/guix.texi:10931 +#, no-wrap +msgid "{Data Type} inetd-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:10933 +msgid "Data type representing the configuration of @command{inetd}." +msgstr "" + +#. type: item +#: doc/guix.texi:10935 +#, no-wrap +msgid "@code{program} (default: @code{(file-append inetutils \"/libexec/inetd\")})" +msgstr "" + +#. type: table +#: doc/guix.texi:10937 +msgid "The @command{inetd} executable to use." +msgstr "" + +#. type: item +#: doc/guix.texi:10938 doc/guix.texi:16195 +#, no-wrap +msgid "@code{entries} (default: @code{'()})" +msgstr "" + +#. type: table +#: doc/guix.texi:10941 +msgid "" +"A list of @command{inetd} service entries. Each entry should be created by " +"the @code{inetd-entry} constructor." +msgstr "" + +#. type: deftp +#: doc/guix.texi:10944 +#, no-wrap +msgid "{Data Type} inetd-entry" +msgstr "" + +#. type: deftp +#: doc/guix.texi:10948 +msgid "" +"Data type representing an entry in the @command{inetd} configuration. Each " +"entry corresponds to a socket where @command{inetd} will listen for " +"requests." +msgstr "" + +#. type: item +#: doc/guix.texi:10950 +#, no-wrap +msgid "@code{node} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:10955 +msgid "" +"Optional string, a comma-separated list of local addresses @command{inetd} " +"should use when listening for this service. @xref{Configuration file,,, " +"inetutils, GNU Inetutils} for a complete description of all options." +msgstr "" + +#. type: table +#: doc/guix.texi:10957 +msgid "A string, the name must correspond to an entry in @code{/etc/services}." +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:10957 +#, no-wrap +msgid "socket-type" +msgstr "" + +#. type: table +#: doc/guix.texi:10960 +msgid "" +"One of @code{'stream}, @code{'dgram}, @code{'raw}, @code{'rdm} or " +"@code{'seqpacket}." +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:10960 +#, no-wrap +msgid "protocol" +msgstr "" + +#. type: table +#: doc/guix.texi:10962 +msgid "A string, must correspond to an entry in @code{/etc/protocols}." +msgstr "" + +#. type: item +#: doc/guix.texi:10962 +#, no-wrap +msgid "@code{wait?} (default: @code{#t})" +msgstr "" + +#. type: table +#: doc/guix.texi:10965 +msgid "" +"Whether @command{inetd} should wait for the server to exit before listening " +"to new service requests." +msgstr "" + +#. type: table +#: doc/guix.texi:10970 +msgid "" +"A string containing the user (and, optionally, group) name of the user as " +"whom the server should run. The group name can be specified in a suffix, " +"separated by a colon or period, i.e. @code{\"user\"}, @code{\"user:group\"} " +"or @code{\"user.group\"}." +msgstr "" + +#. type: item +#: doc/guix.texi:10970 +#, no-wrap +msgid "@code{program} (default: @code{\"internal\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:10973 +msgid "" +"The server program which will serve the requests, or @code{\"internal\"} if " +"@command{inetd} should use a built-in service." +msgstr "" + +#. type: table +#: doc/guix.texi:10978 +msgid "" +"A list strings or file-like objects, which are the server program's " +"arguments, starting with the zeroth argument, i.e. the name of the program " +"itself. For @command{inetd}'s internal services, this entry must be " +"@code{'()} or @code{'(\"internal\")}." +msgstr "" + +#. type: deftp +#: doc/guix.texi:10982 +msgid "" +"@xref{Configuration file,,, inetutils, GNU Inetutils} for a more detailed " +"discussion of each configuration field." +msgstr "" + +#. type: cindex +#: doc/guix.texi:10984 +#, no-wrap +msgid "Tor" +msgstr "" + +#. type: deffn +#: doc/guix.texi:10985 +#, no-wrap +msgid "{Scheme Procedure} tor-service [@var{config-file}] [#:tor @var{tor}]" +msgstr "" + +#. type: deffn +#: doc/guix.texi:10988 +msgid "" +"Return a service to run the @uref{https://torproject.org, Tor} anonymous " +"networking daemon." +msgstr "" + +#. type: deffn +#: doc/guix.texi:10993 +msgid "" +"The daemon runs as the @code{tor} unprivileged user. It is passed " +"@var{config-file}, a file-like object, with an additional @code{User tor} " +"line and lines for hidden services added via @code{tor-hidden-service}. Run " +"@command{man tor} for information about the configuration file." +msgstr "" + +#. type: cindex +#: doc/guix.texi:10995 +#, no-wrap +msgid "hidden service" +msgstr "" + +#. type: deffn +#: doc/guix.texi:10996 +#, no-wrap +msgid "{Scheme Procedure} tor-hidden-service @var{name} @var{mapping}" +msgstr "" + +#. type: deffn +#: doc/guix.texi:10999 +msgid "" +"Define a new Tor @dfn{hidden service} called @var{name} and implementing " +"@var{mapping}. @var{mapping} is a list of port/host tuples, such as:" +msgstr "" + +#. type: example +#: doc/guix.texi:11003 +#, no-wrap +msgid "" +" '((22 \"127.0.0.1:22\")\n" +" (80 \"127.0.0.1:8080\"))\n" +msgstr "" + +#. type: deffn +#: doc/guix.texi:11007 +msgid "" +"In this example, port 22 of the hidden service is mapped to local port 22, " +"and port 80 is mapped to local port 8080." +msgstr "" + +#. type: deffn +#: doc/guix.texi:11011 +msgid "" +"This creates a @file{/var/lib/tor/hidden-services/@var{name}} directory, " +"where the @file{hostname} file contains the @code{.onion} host name for the " +"hidden service." +msgstr "" + +#. type: deffn +#: doc/guix.texi:11014 +msgid "" +"See @uref{https://www.torproject.org/docs/tor-hidden-service.html.en, the " +"Tor project's documentation} for more information." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:11017 +msgid "The @code{(gnu services rsync)} module provides the following services:" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:11021 +msgid "" +"You might want an rsync daemon if you have files that you want available so " +"anyone (or just yourself) can download existing files or upload new files." +msgstr "" + +#. type: deffn +#: doc/guix.texi:11022 +#, no-wrap +msgid "{Scheme Variable} rsync-service-type" +msgstr "" + +#. type: deffn +#: doc/guix.texi:11025 +msgid "" +"This is the type for the @uref{https://rsync.samba.org, rsync} rsync daemon, " +"@command{rsync-configuration} record as in this example:" +msgstr "" + +#. type: example +#: doc/guix.texi:11028 +#, no-wrap +msgid "(service rsync-service-type)\n" +msgstr "" + +#. type: deffn +#: doc/guix.texi:11031 +msgid "See below for details about @code{rsync-configuration}." +msgstr "" + +#. type: deftp +#: doc/guix.texi:11033 +#, no-wrap +msgid "{Data Type} rsync-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:11035 +msgid "Data type representing the configuration for @code{rsync-service}." +msgstr "" + +#. type: item +#: doc/guix.texi:11037 +#, no-wrap +msgid "@code{package} (default: @var{rsync})" +msgstr "" + +#. type: table +#: doc/guix.texi:11039 +msgid "@code{rsync} package to use." +msgstr "" + +#. type: item +#: doc/guix.texi:11040 +#, no-wrap +msgid "@code{port-number} (default: @code{873})" +msgstr "" + +#. type: table +#: doc/guix.texi:11044 +msgid "" +"TCP port on which @command{rsync} listens for incoming connections. If port " +"is less than @code{1024} @command{rsync} needs to be started as the " +"@code{root} user and group." +msgstr "" + +#. type: item +#: doc/guix.texi:11045 +#, no-wrap +msgid "@code{pid-file} (default: @code{\"/var/run/rsyncd/rsyncd.pid\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:11047 +msgid "Name of the file where @command{rsync} writes its PID." +msgstr "" + +#. type: item +#: doc/guix.texi:11048 +#, no-wrap +msgid "@code{lock-file} (default: @code{\"/var/run/rsyncd/rsyncd.lock\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:11050 +msgid "Name of the file where @command{rsync} writes its lock file." +msgstr "" + +#. type: item +#: doc/guix.texi:11051 +#, no-wrap +msgid "@code{log-file} (default: @code{\"/var/log/rsyncd.log\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:11053 +msgid "Name of the file where @command{rsync} writes its log file." +msgstr "" + +#. type: item +#: doc/guix.texi:11054 +#, no-wrap +msgid "@code{use-chroot?} (default: @var{#t})" +msgstr "" + +#. type: table +#: doc/guix.texi:11056 +msgid "Whether to use chroot for @command{rsync} shared directory." +msgstr "" + +#. type: item +#: doc/guix.texi:11057 +#, no-wrap +msgid "@code{share-path} (default: @file{/srv/rsync})" +msgstr "" + +#. type: table +#: doc/guix.texi:11059 +msgid "Location of the @command{rsync} shared directory." +msgstr "" + +#. type: item +#: doc/guix.texi:11060 +#, no-wrap +msgid "@code{share-comment} (default: @code{\"Rsync share\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:11062 +msgid "Comment of the @command{rsync} shared directory." +msgstr "" + +#. type: item +#: doc/guix.texi:11063 +#, no-wrap +msgid "@code{read-only?} (default: @var{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:11065 +msgid "Read-write permissions to shared directory." +msgstr "" + +#. type: item +#: doc/guix.texi:11066 +#, no-wrap +msgid "@code{timeout} (default: @code{300})" +msgstr "" + +#. type: table +#: doc/guix.texi:11068 +msgid "I/O timeout in seconds." +msgstr "" + +#. type: item +#: doc/guix.texi:11069 +#, no-wrap +msgid "@code{user} (default: @var{\"root\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:11071 +msgid "Owner of the @code{rsync} process." +msgstr "" + +#. type: item +#: doc/guix.texi:11072 +#, no-wrap +msgid "@code{group} (default: @var{\"root\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:11074 +msgid "Group of the @code{rsync} process." +msgstr "" + +#. type: item +#: doc/guix.texi:11075 +#, no-wrap +msgid "@code{uid} (default: @var{\"rsyncd\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:11078 +msgid "" +"User name or user ID that file transfers to and from that module should take " +"place as when the daemon was run as @code{root}." +msgstr "" + +#. type: item +#: doc/guix.texi:11079 +#, no-wrap +msgid "@code{gid} (default: @var{\"rsyncd\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:11081 +msgid "Group name or group ID that will be used when accessing the module." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:11086 +msgid "Furthermore, @code{(gnu services ssh)} provides the following services." +msgstr "" + +#. type: cindex +#: doc/guix.texi:11086 doc/guix.texi:11125 doc/guix.texi:20746 +#, no-wrap +msgid "SSH" +msgstr "" + +#. type: cindex +#: doc/guix.texi:11087 doc/guix.texi:11126 doc/guix.texi:20747 +#, no-wrap +msgid "SSH server" +msgstr "" + +#. type: deffn +#: doc/guix.texi:11089 +#, no-wrap +msgid "{Scheme Procedure} lsh-service [#:host-key \"/etc/lsh/host-key\"] @" +msgstr "" + +#. type: deffn +#: doc/guix.texi:11098 +msgid "" +"[#:daemonic? #t] [#:interfaces '()] [#:port-number 22] @ " +"[#:allow-empty-passwords? #f] [#:root-login? #f] @ [#:syslog-output? #t] " +"[#:x11-forwarding? #t] @ [#:tcp/ip-forwarding? #t] " +"[#:password-authentication? #t] @ [#:public-key-authentication? #t] " +"[#:initialize? #t] Run the @command{lshd} program from @var{lsh} to listen " +"on port @var{port-number}. @var{host-key} must designate a file containing " +"the host key, and readable only by root." +msgstr "" + +#. type: deffn +#: doc/guix.texi:11104 +msgid "" +"When @var{daemonic?} is true, @command{lshd} will detach from the " +"controlling terminal and log its output to syslogd, unless one sets " +"@var{syslog-output?} to false. Obviously, it also makes lsh-service depend " +"on existence of syslogd service. When @var{pid-file?} is true, " +"@command{lshd} writes its PID to the file called @var{pid-file}." +msgstr "" + +#. type: deffn +#: doc/guix.texi:11108 +msgid "" +"When @var{initialize?} is true, automatically create the seed and host key " +"upon service activation if they do not exist yet. This may take long and " +"require interaction." +msgstr "" + +#. type: deffn +#: doc/guix.texi:11113 +msgid "" +"When @var{initialize?} is false, it is up to the user to initialize the " +"randomness generator (@pxref{lsh-make-seed,,, lsh, LSH Manual}), and to " +"create a key pair with the private key stored in file @var{host-key} " +"(@pxref{lshd basics,,, lsh, LSH Manual})." +msgstr "" + +#. type: deffn +#: doc/guix.texi:11117 +msgid "" +"When @var{interfaces} is empty, lshd listens for connections on all the " +"network interfaces; otherwise, @var{interfaces} must be a list of host names " +"or addresses." +msgstr "" + +#. type: deffn +#: doc/guix.texi:11121 +msgid "" +"@var{allow-empty-passwords?} specifies whether to accept log-ins with empty " +"passwords, and @var{root-login?} specifies whether to accept log-ins as " +"root." +msgstr "" + +#. type: deffn +#: doc/guix.texi:11123 +msgid "The other options should be self-descriptive." +msgstr "" + +#. type: deffn +#: doc/guix.texi:11127 +#, no-wrap +msgid "{Scheme Variable} openssh-service-type" +msgstr "" + +#. type: deffn +#: doc/guix.texi:11131 +msgid "" +"This is the type for the @uref{http://www.openssh.org, OpenSSH} secure shell " +"daemon, @command{sshd}. Its value must be an @code{openssh-configuration} " +"record as in this example:" +msgstr "" + +#. type: example +#: doc/guix.texi:11140 +#, no-wrap +msgid "" +"(service openssh-service-type\n" +" (openssh-configuration\n" +" (x11-forwarding? #t)\n" +" (permit-root-login 'without-password)\n" +" (authorized-keys\n" +" `((\"alice\" ,(local-file \"alice.pub\"))\n" +" (\"bob\" ,(local-file \"bob.pub\"))))))\n" +msgstr "" + +#. type: deffn +#: doc/guix.texi:11143 +msgid "See below for details about @code{openssh-configuration}." +msgstr "" + +#. type: deffn +#: doc/guix.texi:11146 +msgid "This service can be extended with extra authorized keys, as in this example:" +msgstr "" + +#. type: example +#: doc/guix.texi:11151 +#, no-wrap +msgid "" +"(service-extension openssh-service-type\n" +" (const `((\"charlie\"\n" +" ,(local-file \"charlie.pub\")))))\n" +msgstr "" + +#. type: deftp +#: doc/guix.texi:11154 +#, no-wrap +msgid "{Data Type} openssh-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:11156 +msgid "This is the configuration record for OpenSSH's @command{sshd}." +msgstr "" + +#. type: item +#: doc/guix.texi:11158 +#, no-wrap +msgid "@code{pid-file} (default: @code{\"/var/run/sshd.pid\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:11160 +msgid "Name of the file where @command{sshd} writes its PID." +msgstr "" + +#. type: item +#: doc/guix.texi:11161 +#, no-wrap +msgid "@code{port-number} (default: @code{22})" +msgstr "" + +#. type: table +#: doc/guix.texi:11163 +msgid "TCP port on which @command{sshd} listens for incoming connections." +msgstr "" + +#. type: item +#: doc/guix.texi:11164 +#, no-wrap +msgid "@code{permit-root-login} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:11169 +msgid "" +"This field determines whether and when to allow logins as root. If " +"@code{#f}, root logins are disallowed; if @code{#t}, they are allowed. If " +"it's the symbol @code{'without-password}, then root logins are permitted but " +"not with password-based authentication." +msgstr "" + +#. type: item +#: doc/guix.texi:11170 doc/guix.texi:11303 +#, no-wrap +msgid "@code{allow-empty-passwords?} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:11173 +msgid "When true, users with empty passwords may log in. When false, they may not." +msgstr "" + +#. type: item +#: doc/guix.texi:11174 doc/guix.texi:11306 +#, no-wrap +msgid "@code{password-authentication?} (default: @code{#t})" +msgstr "" + +#. type: table +#: doc/guix.texi:11177 +msgid "" +"When true, users may log in with their password. When false, they have " +"other authentication methods." +msgstr "" + +#. type: item +#: doc/guix.texi:11178 +#, no-wrap +msgid "@code{public-key-authentication?} (default: @code{#t})" +msgstr "" + +#. type: table +#: doc/guix.texi:11181 +msgid "" +"When true, users may log in using public key authentication. When false, " +"users have to use other authentication method." +msgstr "" + +#. type: table +#: doc/guix.texi:11184 +msgid "" +"Authorized public keys are stored in @file{~/.ssh/authorized_keys}. This is " +"used only by protocol version 2." +msgstr "" + +#. type: item +#: doc/guix.texi:11185 +#, no-wrap +msgid "@code{x11-forwarding?} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:11189 +msgid "" +"When true, forwarding of X11 graphical client connections is enabled---in " +"other words, @command{ssh} options @option{-X} and @option{-Y} will work." +msgstr "" + +#. type: item +#: doc/guix.texi:11190 +#, no-wrap +msgid "@code{challenge-response-authentication?} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:11193 +msgid "" +"Specifies whether challenge response authentication is allowed (e.g. via " +"PAM)." +msgstr "" + +#. type: item +#: doc/guix.texi:11194 +#, no-wrap +msgid "@code{use-pam?} (default: @code{#t})" +msgstr "" + +#. type: table +#: doc/guix.texi:11200 +msgid "" +"Enables the Pluggable Authentication Module interface. If set to @code{#t}, " +"this will enable PAM authentication using " +"@code{challenge-response-authentication?} and " +"@code{password-authentication?}, in addition to PAM account and session " +"module processing for all authentication types." +msgstr "" + +#. type: table +#: doc/guix.texi:11205 +msgid "" +"Because PAM challenge response authentication usually serves an equivalent " +"role to password authentication, you should disable either " +"@code{challenge-response-authentication?} or " +"@code{password-authentication?}." +msgstr "" + +#. type: item +#: doc/guix.texi:11206 +#, no-wrap +msgid "@code{print-last-log?} (default: @code{#t})" +msgstr "" + +#. type: table +#: doc/guix.texi:11209 +msgid "" +"Specifies whether @command{sshd} should print the date and time of the last " +"user login when a user logs in interactively." +msgstr "" + +#. type: item +#: doc/guix.texi:11210 +#, no-wrap +msgid "@code{subsystems} (default: @code{'((\"sftp\" \"internal-sftp\"))})" +msgstr "" + +#. type: table +#: doc/guix.texi:11212 +msgid "Configures external subsystems (e.g. file transfer daemon)." +msgstr "" + +#. type: table +#: doc/guix.texi:11216 +msgid "" +"This is a list of two-element lists, each of which containing the subsystem " +"name and a command (with optional arguments) to execute upon subsystem " +"request." +msgstr "" + +#. type: table +#: doc/guix.texi:11219 +msgid "" +"The command @command{internal-sftp} implements an in-process SFTP server. " +"Alternately, one can specify the @command{sftp-server} command:" +msgstr "" + +#. type: example +#: doc/guix.texi:11224 +#, no-wrap +msgid "" +"(service openssh-service-type\n" +" (openssh-configuration\n" +" (subsystems\n" +" `((\"sftp\" ,(file-append openssh " +"\"/libexec/sftp-server\"))))))\n" +msgstr "" + +#. type: item +#: doc/guix.texi:11226 +#, no-wrap +msgid "@code{accepted-environment} (default: @code{'()})" +msgstr "" + +#. type: table +#: doc/guix.texi:11228 +msgid "List of strings describing which environment variables may be exported." +msgstr "" + +#. type: table +#: doc/guix.texi:11231 +msgid "" +"Each string gets on its own line. See the @code{AcceptEnv} option in " +"@code{man sshd_config}." +msgstr "" + +#. type: table +#: doc/guix.texi:11236 +msgid "" +"This example allows ssh-clients to export the @code{COLORTERM} variable. It " +"is set by terminal emulators, which support colors. You can use it in your " +"shell's ressource file to enable colors for the prompt and commands if this " +"variable is set." +msgstr "" + +#. type: example +#: doc/guix.texi:11241 +#, no-wrap +msgid "" +"(service openssh-service-type\n" +" (openssh-configuration\n" +" (accepted-environment '(\"COLORTERM\"))))\n" +msgstr "" + +#. type: item +#: doc/guix.texi:11243 +#, no-wrap +msgid "@code{authorized-keys} (default: @code{'()})" +msgstr "" + +#. type: cindex +#: doc/guix.texi:11244 +#, no-wrap +msgid "authorized keys, SSH" +msgstr "" + +#. type: cindex +#: doc/guix.texi:11245 +#, no-wrap +msgid "SSH authorized keys" +msgstr "" + +#. type: table +#: doc/guix.texi:11249 +msgid "" +"This is the list of authorized keys. Each element of the list is a user " +"name followed by one or more file-like objects that represent SSH public " +"keys. For example:" +msgstr "" + +#. type: example +#: doc/guix.texi:11256 +#, no-wrap +msgid "" +"(openssh-configuration\n" +" (authorized-keys\n" +" `((\"rekado\" ,(local-file \"rekado.pub\"))\n" +" (\"chris\" ,(local-file \"chris.pub\"))\n" +" (\"root\" ,(local-file \"rekado.pub\") ,(local-file " +"\"chris.pub\")))))\n" +msgstr "" + +#. type: table +#: doc/guix.texi:11261 +msgid "" +"registers the specified public keys for user accounts @code{rekado}, " +"@code{chris}, and @code{root}." +msgstr "" + +#. type: table +#: doc/guix.texi:11264 +msgid "" +"Additional authorized keys can be specified @i{via} " +"@code{service-extension}." +msgstr "" + +#. type: table +#: doc/guix.texi:11267 +msgid "" +"Note that this does @emph{not} interfere with the use of " +"@file{~/.ssh/authorized_keys}." +msgstr "" + +#. type: deffn +#: doc/guix.texi:11270 +#, no-wrap +msgid "{Scheme Procedure} dropbear-service [@var{config}]" +msgstr "" + +#. type: deffn +#: doc/guix.texi:11274 +msgid "" +"Run the @uref{https://matt.ucc.asn.au/dropbear/dropbear.html,Dropbear SSH " +"daemon} with the given @var{config}, a @code{<dropbear-configuration>} " +"object." +msgstr "" + +#. type: deffn +#: doc/guix.texi:11277 +msgid "" +"For example, to specify a Dropbear service listening on port 1234, add this " +"call to the operating system's @code{services} field:" +msgstr "" + +#. type: example +#: doc/guix.texi:11281 +#, no-wrap +msgid "" +"(dropbear-service (dropbear-configuration\n" +" (port-number 1234)))\n" +msgstr "" + +#. type: deftp +#: doc/guix.texi:11284 +#, no-wrap +msgid "{Data Type} dropbear-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:11286 +msgid "This data type represents the configuration of a Dropbear SSH daemon." +msgstr "" + +#. type: item +#: doc/guix.texi:11288 +#, no-wrap +msgid "@code{dropbear} (default: @var{dropbear})" +msgstr "" + +#. type: table +#: doc/guix.texi:11290 +msgid "The Dropbear package to use." +msgstr "" + +#. type: item +#: doc/guix.texi:11291 +#, no-wrap +msgid "@code{port-number} (default: 22)" +msgstr "" + +#. type: table +#: doc/guix.texi:11293 +msgid "The TCP port where the daemon waits for incoming connections." +msgstr "" + +#. type: item +#: doc/guix.texi:11294 +#, no-wrap +msgid "@code{syslog-output?} (default: @code{#t})" +msgstr "" + +#. type: table +#: doc/guix.texi:11296 +msgid "Whether to enable syslog output." +msgstr "" + +#. type: item +#: doc/guix.texi:11297 +#, no-wrap +msgid "@code{pid-file} (default: @code{\"/var/run/dropbear.pid\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:11299 +msgid "File name of the daemon's PID file." +msgstr "" + +#. type: item +#: doc/guix.texi:11300 +#, no-wrap +msgid "@code{root-login?} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:11302 +msgid "Whether to allow @code{root} logins." +msgstr "" + +#. type: table +#: doc/guix.texi:11305 +msgid "Whether to allow empty passwords." +msgstr "" + +#. type: table +#: doc/guix.texi:11308 +msgid "Whether to enable password-based authentication." +msgstr "" + +#. type: defvr +#: doc/guix.texi:11311 +#, no-wrap +msgid "{Scheme Variable} %facebook-host-aliases" +msgstr "" + +#. type: defvr +#: doc/guix.texi:11317 +msgid "" +"This variable contains a string for use in @file{/etc/hosts} (@pxref{Host " +"Names,,, libc, The GNU C Library Reference Manual}). Each line contains a " +"entry that maps a known server name of the Facebook on-line service---e.g., " +"@code{www.facebook.com}---to the local host---@code{127.0.0.1} or its IPv6 " +"equivalent, @code{::1}." +msgstr "" + +#. type: defvr +#: doc/guix.texi:11321 +msgid "" +"This variable is typically used in the @code{hosts-file} field of an " +"@code{operating-system} declaration (@pxref{operating-system Reference, " +"@file{/etc/hosts}}):" +msgstr "" + +#. type: example +#: doc/guix.texi:11324 +#, no-wrap +msgid "" +"(use-modules (gnu) (guix))\n" +"\n" +msgstr "" + +#. type: example +#: doc/guix.texi:11334 +#, no-wrap +msgid "" +"(operating-system\n" +" (host-name \"mymachine\")\n" +" ;; ...\n" +" (hosts-file\n" +" ;; Create a /etc/hosts file with aliases for \"localhost\"\n" +" ;; and \"mymachine\", as well as for Facebook servers.\n" +" (plain-file \"hosts\"\n" +" (string-append (local-host-aliases host-name)\n" +" %facebook-host-aliases))))\n" +msgstr "" + +#. type: defvr +#: doc/guix.texi:11338 +msgid "" +"This mechanism can prevent programs running locally, such as Web browsers, " +"from accessing Facebook." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:11341 +msgid "The @code{(gnu services avahi)} provides the following definition." +msgstr "" + +#. type: deffn +#: doc/guix.texi:11342 +#, no-wrap +msgid "{Scheme Procedure} avahi-service [#:avahi @var{avahi}] @" +msgstr "" + +#. type: deffn +#: doc/guix.texi:11354 +msgid "" +"[#:host-name #f] [#:publish? #t] [#:ipv4? #t] @ [#:ipv6? #t] [#:wide-area? " +"#f] @ [#:domains-to-browse '()] [#:debug? #f] Return a service that runs " +"@command{avahi-daemon}, a system-wide mDNS/DNS-SD responder that allows for " +"service discovery and \"zero-configuration\" host name lookups (see " +"@uref{http://avahi.org/}), and extends the name service cache daemon (nscd) " +"so that it can resolve @code{.local} host names using " +"@uref{http://0pointer.de/lennart/projects/nss-mdns/, nss-mdns}. " +"Additionally, add the @var{avahi} package to the system profile so that " +"commands such as @command{avahi-browse} are directly usable." +msgstr "" + +#. type: deffn +#: doc/guix.texi:11357 +msgid "" +"If @var{host-name} is different from @code{#f}, use that as the host name to " +"publish for this machine; otherwise, use the machine's actual host name." +msgstr "" + +#. type: deffn +#: doc/guix.texi:11361 +msgid "" +"When @var{publish?} is true, publishing of host names and services is " +"allowed; in particular, avahi-daemon will publish the machine's host name " +"and IP address via mDNS on the local network." +msgstr "" + +#. type: deffn +#: doc/guix.texi:11363 +msgid "When @var{wide-area?} is true, DNS-SD over unicast DNS is enabled." +msgstr "" + +#. type: deffn +#: doc/guix.texi:11366 +msgid "" +"Boolean values @var{ipv4?} and @var{ipv6?} determine whether to use " +"IPv4/IPv6 sockets." +msgstr "" + +#. type: deffn +#: doc/guix.texi:11368 +#, no-wrap +msgid "{Scheme Variable} openvswitch-service-type" +msgstr "" + +#. type: deffn +#: doc/guix.texi:11372 +msgid "" +"This is the type of the @uref{http://www.openvswitch.org, Open vSwitch} " +"service, whose value should be an @code{openvswitch-configuration} object." +msgstr "" + +#. type: deftp +#: doc/guix.texi:11374 +#, no-wrap +msgid "{Data Type} openvswitch-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:11378 +msgid "" +"Data type representing the configuration of Open vSwitch, a multilayer " +"virtual switch which is designed to enable massive network automation " +"through programmatic extension." +msgstr "" + +#. type: item +#: doc/guix.texi:11380 +#, no-wrap +msgid "@code{package} (default: @var{openvswitch})" +msgstr "" + +#. type: table +#: doc/guix.texi:11382 +msgid "Package object of the Open vSwitch." +msgstr "" + +#. type: cindex +#: doc/guix.texi:11389 +#, no-wrap +msgid "X11" +msgstr "" + +#. type: cindex +#: doc/guix.texi:11390 +#, no-wrap +msgid "X Window System" +msgstr "" + +#. type: cindex +#: doc/guix.texi:11391 doc/guix.texi:11568 +#, no-wrap +msgid "login manager" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:11396 +msgid "" +"Support for the X Window graphical display system---specifically Xorg---is " +"provided by the @code{(gnu services xorg)} module. Note that there is no " +"@code{xorg-service} procedure. Instead, the X server is started by the " +"@dfn{login manager}, by default SLiM." +msgstr "" + +#. type: cindex +#: doc/guix.texi:11397 +#, no-wrap +msgid "window manager" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:11402 +msgid "" +"To use X11, you must install at least one @dfn{window manager}---for example " +"the @code{windowmaker} or @code{openbox} packages---preferably by adding it " +"to the @code{packages} field of your operating system definition " +"(@pxref{operating-system Reference, system-wide packages})." +msgstr "" + +#. type: defvr +#: doc/guix.texi:11403 +#, no-wrap +msgid "{Scheme Variable} slim-service-type" +msgstr "" + +#. type: defvr +#: doc/guix.texi:11405 +msgid "This is the type for the SLiM graphical login manager for X11." +msgstr "" + +#. type: cindex +#: doc/guix.texi:11406 +#, no-wrap +msgid "session types (X11)" +msgstr "" + +#. type: cindex +#: doc/guix.texi:11407 +#, no-wrap +msgid "X11 session types" +msgstr "" + +#. type: defvr +#: doc/guix.texi:11414 +msgid "" +"SLiM looks for @dfn{session types} described by the @file{.desktop} files in " +"@file{/run/current-system/profile/share/xsessions} and allows users to " +"choose a session from the log-in screen using @kbd{F1}. Packages such as " +"@code{xfce}, @code{sawfish}, and @code{ratpoison} provide @file{.desktop} " +"files; adding them to the system-wide set of packages automatically makes " +"them available at the log-in screen." +msgstr "" + +#. type: defvr +#: doc/guix.texi:11418 +msgid "" +"In addition, @file{~/.xsession} files are honored. When available, " +"@file{~/.xsession} must be an executable that starts a window manager and/or " +"other X clients." +msgstr "" + +#. type: deftp +#: doc/guix.texi:11420 +#, no-wrap +msgid "{Data Type} slim-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:11422 +msgid "Data type representing the configuration of @code{slim-service-type}." +msgstr "" + +#. type: table +#: doc/guix.texi:11426 +msgid "Whether to allow logins with empty passwords." +msgstr "" + +#. type: item +#: doc/guix.texi:11427 +#, no-wrap +msgid "@code{auto-login?} (default: @code{#f})" +msgstr "" + +#. type: itemx +#: doc/guix.texi:11428 +#, no-wrap +msgid "@code{default-user} (default: @code{\"\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:11430 +msgid "When @code{auto-login?} is false, SLiM presents a log-in screen." +msgstr "" + +#. type: table +#: doc/guix.texi:11433 +msgid "" +"When @code{auto-login?} is true, SLiM logs in directly as " +"@code{default-user}." +msgstr "" + +#. type: item +#: doc/guix.texi:11434 +#, no-wrap +msgid "@code{theme} (default: @code{%default-slim-theme})" +msgstr "" + +#. type: itemx +#: doc/guix.texi:11435 +#, no-wrap +msgid "@code{theme-name} (default: @code{%default-slim-theme-name})" +msgstr "" + +#. type: table +#: doc/guix.texi:11437 +msgid "The graphical theme to use and its name." +msgstr "" + +#. type: item +#: doc/guix.texi:11438 +#, no-wrap +msgid "@code{auto-login-session} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:11441 +msgid "" +"If true, this must be the name of the executable to start as the default " +"session---e.g., @code{(file-append windowmaker \"/bin/windowmaker\")}." +msgstr "" + +#. type: table +#: doc/guix.texi:11445 +msgid "" +"If false, a session described by one of the available @file{.desktop} files " +"in @code{/run/current-system/profile} and @code{~/.guix-profile} will be " +"used." +msgstr "" + +#. type: quotation +#: doc/guix.texi:11450 +msgid "" +"You must install at least one window manager in the system profile or in " +"your user profile. Failing to do that, if @code{auto-login-session} is " +"false, you will be unable to log in." +msgstr "" + +#. type: item +#: doc/guix.texi:11452 +#, no-wrap +msgid "@code{startx} (default: @code{(xorg-start-command)})" +msgstr "" + +#. type: table +#: doc/guix.texi:11454 +msgid "The command used to start the X11 graphical server." +msgstr "" + +#. type: item +#: doc/guix.texi:11455 +#, no-wrap +msgid "@code{xauth} (default: @code{xauth})" +msgstr "" + +#. type: table +#: doc/guix.texi:11457 +msgid "The XAuth package to use." +msgstr "" + +#. type: item +#: doc/guix.texi:11458 +#, no-wrap +msgid "@code{shepherd} (default: @code{shepherd})" +msgstr "" + +#. type: table +#: doc/guix.texi:11461 +msgid "The Shepherd package used when invoking @command{halt} and @command{reboot}." +msgstr "" + +#. type: item +#: doc/guix.texi:11462 +#, no-wrap +msgid "@code{sessreg} (default: @code{sessreg})" +msgstr "" + +#. type: table +#: doc/guix.texi:11464 +msgid "The sessreg package used in order to register the session." +msgstr "" + +#. type: item +#: doc/guix.texi:11465 +#, no-wrap +msgid "@code{slim} (default: @code{slim})" +msgstr "" + +#. type: table +#: doc/guix.texi:11467 +msgid "The SLiM package to use." +msgstr "" + +#. type: defvr +#: doc/guix.texi:11470 doc/guix.texi:20243 +#, no-wrap +msgid "{Scheme Variable} %default-theme" +msgstr "" + +#. type: defvrx +#: doc/guix.texi:11471 +#, no-wrap +msgid "{Scheme Variable} %default-theme-name" +msgstr "" + +#. type: defvr +#: doc/guix.texi:11473 +msgid "The default SLiM theme and its name." +msgstr "" + +#. type: deftp +#: doc/guix.texi:11476 +#, no-wrap +msgid "{Data Type} sddm-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:11478 +msgid "This is the data type representing the sddm service configuration." +msgstr "" + +#. type: item +#: doc/guix.texi:11480 +#, no-wrap +msgid "@code{display-server} (default: \"x11\")" +msgstr "" + +#. type: table +#: doc/guix.texi:11483 +msgid "" +"Select display server to use for the greeter. Valid values are \"x11\" or " +"\"wayland\"." +msgstr "" + +#. type: item +#: doc/guix.texi:11484 +#, no-wrap +msgid "@code{numlock} (default: \"on\")" +msgstr "" + +#. type: table +#: doc/guix.texi:11486 +msgid "Valid values are \"on\", \"off\" or \"none\"." +msgstr "" + +#. type: item +#: doc/guix.texi:11487 +#, no-wrap +msgid "" +"@code{halt-command} (default @code{#~(string-apppend #$shepherd " +"\"/sbin/halt\")})" +msgstr "" + +#. type: table +#: doc/guix.texi:11489 +msgid "Command to run when halting." +msgstr "" + +#. type: item +#: doc/guix.texi:11490 +#, no-wrap +msgid "" +"@code{reboot-command} (default @code{#~(string-append #$shepherd " +"\"/sbin/reboot\")})" +msgstr "" + +#. type: table +#: doc/guix.texi:11492 +msgid "Command to run when rebooting." +msgstr "" + +#. type: item +#: doc/guix.texi:11493 +#, no-wrap +msgid "@code{theme} (default \"maldives\")" +msgstr "" + +#. type: table +#: doc/guix.texi:11495 +msgid "" +"Theme to use. Default themes provided by SDDM are \"elarun\" or " +"\"maldives\"." +msgstr "" + +#. type: item +#: doc/guix.texi:11496 +#, no-wrap +msgid "" +"@code{themes-directory} (default " +"\"/run/current-system/profile/share/sddm/themes\")" +msgstr "" + +#. type: table +#: doc/guix.texi:11498 +msgid "Directory to look for themes." +msgstr "" + +#. type: item +#: doc/guix.texi:11499 +#, no-wrap +msgid "" +"@code{faces-directory} (default " +"\"/run/current-system/profile/share/sddm/faces\")" +msgstr "" + +#. type: table +#: doc/guix.texi:11501 +msgid "Directory to look for faces." +msgstr "" + +#. type: item +#: doc/guix.texi:11502 +#, no-wrap +msgid "@code{default-path} (default \"/run/current-system/profile/bin\")" +msgstr "" + +#. type: table +#: doc/guix.texi:11504 +msgid "Default PATH to use." +msgstr "" + +#. type: item +#: doc/guix.texi:11505 +#, no-wrap +msgid "@code{minimum-uid} (default 1000)" +msgstr "" + +#. type: table +#: doc/guix.texi:11507 +msgid "Minimum UID to display in SDDM." +msgstr "" + +#. type: item +#: doc/guix.texi:11508 +#, no-wrap +msgid "@code{maximum-uid} (default 2000)" +msgstr "" + +#. type: table +#: doc/guix.texi:11510 +msgid "Maximum UID to display in SDDM" +msgstr "" + +#. type: item +#: doc/guix.texi:11511 +#, no-wrap +msgid "@code{remember-last-user?} (default #t)" +msgstr "" + +#. type: table +#: doc/guix.texi:11513 +msgid "Remember last user." +msgstr "" + +#. type: item +#: doc/guix.texi:11514 +#, no-wrap +msgid "@code{remember-last-session?} (default #t)" +msgstr "" + +#. type: table +#: doc/guix.texi:11516 +msgid "Remember last session." +msgstr "" + +#. type: item +#: doc/guix.texi:11517 +#, no-wrap +msgid "@code{hide-users} (default \"\")" +msgstr "" + +#. type: table +#: doc/guix.texi:11519 +msgid "Usernames to hide from SDDM greeter." +msgstr "" + +#. type: item +#: doc/guix.texi:11520 +#, no-wrap +msgid "" +"@code{hide-shells} (default @code{#~(string-append #$shadow " +"\"/sbin/nologin\")})" +msgstr "" + +#. type: table +#: doc/guix.texi:11522 +msgid "Users with shells listed will be hidden from the SDDM greeter." +msgstr "" + +#. type: item +#: doc/guix.texi:11523 +#, no-wrap +msgid "" +"@code{session-command} (default @code{#~(string-append #$sddm " +"\"/share/sddm/scripts/wayland-session\")})" +msgstr "" + +#. type: table +#: doc/guix.texi:11525 +msgid "Script to run before starting a wayland session." +msgstr "" + +#. type: item +#: doc/guix.texi:11526 +#, no-wrap +msgid "" +"@code{sessions-directory} (default " +"\"/run/current-system/profile/share/wayland-sessions\")" +msgstr "" + +#. type: table +#: doc/guix.texi:11528 +msgid "Directory to look for desktop files starting wayland sessions." +msgstr "" + +#. type: item +#: doc/guix.texi:11529 +#, no-wrap +msgid "@code{xorg-server-path} (default @code{xorg-start-command})" +msgstr "" + +#. type: table +#: doc/guix.texi:11531 +msgid "Path to xorg-server." +msgstr "" + +#. type: item +#: doc/guix.texi:11532 +#, no-wrap +msgid "@code{xauth-path} (default @code{#~(string-append #$xauth \"/bin/xauth\")})" +msgstr "" + +#. type: table +#: doc/guix.texi:11534 +msgid "Path to xauth." +msgstr "" + +#. type: item +#: doc/guix.texi:11535 +#, no-wrap +msgid "" +"@code{xephyr-path} (default @code{#~(string-append #$xorg-server " +"\"/bin/Xephyr\")})" +msgstr "" + +#. type: table +#: doc/guix.texi:11537 +msgid "Path to Xephyr." +msgstr "" + +#. type: item +#: doc/guix.texi:11538 +#, no-wrap +msgid "" +"@code{xdisplay-start} (default @code{#~(string-append #$sddm " +"\"/share/sddm/scripts/Xsetup\")})" +msgstr "" + +#. type: table +#: doc/guix.texi:11540 +msgid "Script to run after starting xorg-server." +msgstr "" + +#. type: item +#: doc/guix.texi:11541 +#, no-wrap +msgid "" +"@code{xdisplay-stop} (default @code{#~(string-append #$sddm " +"\"/share/sddm/scripts/Xstop\")})" +msgstr "" + +#. type: table +#: doc/guix.texi:11543 +msgid "Script to run before stopping xorg-server." +msgstr "" + +#. type: item +#: doc/guix.texi:11544 +#, no-wrap +msgid "@code{xsession-command} (default: @code{xinitr })" +msgstr "" + +#. type: table +#: doc/guix.texi:11546 +msgid "Script to run before starting a X session." +msgstr "" + +#. type: item +#: doc/guix.texi:11547 +#, no-wrap +msgid "" +"@code{xsessions-directory} (default: " +"\"/run/current-system/profile/share/xsessions\")" +msgstr "" + +#. type: table +#: doc/guix.texi:11549 +msgid "Directory to look for desktop files starting X sessions." +msgstr "" + +#. type: item +#: doc/guix.texi:11550 +#, no-wrap +msgid "@code{minimum-vt} (default: 7)" +msgstr "" + +#. type: table +#: doc/guix.texi:11552 +msgid "Minimum VT to use." +msgstr "" + +#. type: item +#: doc/guix.texi:11553 +#, no-wrap +msgid "@code{xserver-arguments} (default \"-nolisten tcp\")" +msgstr "" + +#. type: table +#: doc/guix.texi:11555 +msgid "Arguments to pass to xorg-server." +msgstr "" + +#. type: item +#: doc/guix.texi:11556 +#, no-wrap +msgid "@code{auto-login-user} (default \"\")" +msgstr "" + +#. type: table +#: doc/guix.texi:11558 +msgid "User to use for auto-login." +msgstr "" + +#. type: item +#: doc/guix.texi:11559 +#, no-wrap +msgid "@code{auto-login-session} (default \"\")" +msgstr "" + +#. type: table +#: doc/guix.texi:11561 +msgid "Desktop file to use for auto-login." +msgstr "" + +#. type: item +#: doc/guix.texi:11562 +#, no-wrap +msgid "@code{relogin?} (default #f)" +msgstr "" + +#. type: table +#: doc/guix.texi:11564 +msgid "Relogin after logout." +msgstr "" + +#. type: cindex +#: doc/guix.texi:11569 +#, no-wrap +msgid "X11 login" +msgstr "" + +#. type: deffn +#: doc/guix.texi:11570 +#, no-wrap +msgid "{Scheme Procedure} sddm-service config" +msgstr "" + +#. type: deffn +#: doc/guix.texi:11573 +msgid "" +"Return a service that spawns the SDDM graphical login manager for config of " +"type @code{<sddm-configuration>}." +msgstr "" + +#. type: example +#: doc/guix.texi:11578 +#, no-wrap +msgid "" +" (sddm-service (sddm-configuration\n" +" (auto-login-user \"Alice\")\n" +" (auto-login-session \"xfce.desktop\")))\n" +msgstr "" + +#. type: deffn +#: doc/guix.texi:11581 +#, no-wrap +msgid "{Scheme Procedure} xorg-start-command [#:guile] @" +msgstr "" + +#. type: deffn +#: doc/guix.texi:11590 +msgid "" +"[#:modules %default-xorg-modules] @ [#:fonts %default-xorg-fonts] @ " +"[#:configuration-file (xorg-configuration-file @dots{})] @ [#:xorg-server " +"@var{xorg-server}] Return a @code{startx} script in which @var{modules}, a " +"list of X module packages, and @var{fonts}, a list of X font directories, " +"are available. See @code{xorg-wrapper} for more details on the arguments. " +"The result should be used in place of @code{startx}." +msgstr "" + +#. type: deffn +#: doc/guix.texi:11592 +msgid "Usually the X server is started by a login manager." +msgstr "" + +#. type: deffn +#: doc/guix.texi:11594 +#, no-wrap +msgid "{Scheme Procedure} xorg-configuration-file @" +msgstr "" + +#. type: deffn +#: doc/guix.texi:11600 +msgid "" +"[#:modules %default-xorg-modules] @ [#:fonts %default-xorg-fonts] @ " +"[#:drivers '()] [#:resolutions '()] [#:extra-config '()] Return a " +"configuration file for the Xorg server containing search paths for all the " +"common drivers." +msgstr "" + +#. type: deffn +#: doc/guix.texi:11605 +msgid "" +"@var{modules} must be a list of @dfn{module packages} loaded by the Xorg " +"server---e.g., @code{xf86-video-vesa}, @code{xf86-input-keyboard}, and so " +"on. @var{fonts} must be a list of font directories to add to the server's " +"@dfn{font path}." +msgstr "" + +#. type: deffn +#: doc/guix.texi:11609 +msgid "" +"@var{drivers} must be either the empty list, in which case Xorg chooses a " +"graphics driver automatically, or a list of driver names that will be tried " +"in this order---e.g., @code{(\"modesetting\" \"vesa\")}." +msgstr "" + +#. type: deffn +#: doc/guix.texi:11613 +msgid "" +"Likewise, when @var{resolutions} is the empty list, Xorg chooses an " +"appropriate screen resolution; otherwise, it must be a list of " +"resolutions---e.g., @code{((1024 768) (640 480))}." +msgstr "" + +#. type: deffn +#: doc/guix.texi:11617 +msgid "" +"Last, @var{extra-config} is a list of strings or objects appended to the " +"configuration file. It is used to pass extra text to be added verbatim to " +"the configuration file." +msgstr "" + +#. type: deffn +#: doc/guix.texi:11619 +#, no-wrap +msgid "{Scheme Procedure} screen-locker-service @var{package} [@var{program}]" +msgstr "" + +#. type: deffn +#: doc/guix.texi:11623 +msgid "" +"Add @var{package}, a package for a screen locker or screen saver whose " +"command is @var{program}, to the set of setuid programs and add a PAM entry " +"for it. For example:" +msgstr "" + +#. type: lisp +#: doc/guix.texi:11626 +#, no-wrap +msgid "(screen-locker-service xlockmore \"xlock\")\n" +msgstr "" + +#. type: deffn +#: doc/guix.texi:11629 +msgid "makes the good ol' XlockMore usable." +msgstr "" + +#. type: cindex +#: doc/guix.texi:11635 +#, no-wrap +msgid "printer support with CUPS" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:11639 +msgid "" +"The @code{(gnu services cups)} module provides a Guix service definition for " +"the CUPS printing service. To add printer support to a GuixSD system, add a " +"@code{cups-service} to the operating system definition:" +msgstr "" + +#. type: deffn +#: doc/guix.texi:11640 +#, no-wrap +msgid "{Scheme Variable} cups-service-type" +msgstr "" + +#. type: deffn +#: doc/guix.texi:11644 +msgid "" +"The service type for the CUPS print server. Its value should be a valid " +"CUPS configuration (see below). To use the default settings, simply write:" +msgstr "" + +#. type: example +#: doc/guix.texi:11646 +#, no-wrap +msgid "(service cups-service-type)\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:11656 +msgid "" +"The CUPS configuration controls the basic things about your CUPS " +"installation: what interfaces it listens on, what to do if a print job " +"fails, how much logging to do, and so on. To actually add a printer, you " +"have to visit the @url{http://localhost:631} URL, or use a tool such as " +"GNOME's printer configuration services. By default, configuring a CUPS " +"service will generate a self-signed certificate if needed, for secure " +"connections to the print server." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:11661 +msgid "" +"Suppose you want to enable the Web interface of CUPS and also add support " +"for Epson printers @i{via} the @code{escpr} package and for HP printers " +"@i{via} the @code{hplip} package. You can do that directly, like this (you " +"need to use the @code{(gnu packages cups)} module):" +msgstr "" + +#. type: example +#: doc/guix.texi:11668 +#, no-wrap +msgid "" +"(service cups-service-type\n" +" (cups-configuration\n" +" (web-interface? #t)\n" +" (extensions\n" +" (list cups-filters escpr hplip))))\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:11676 +msgid "" +"The available configuration parameters follow. Each parameter definition is " +"preceded by its type; for example, @samp{string-list foo} indicates that the " +"@code{foo} parameter should be specified as a list of strings. There is " +"also a way to specify the configuration as a string, if you have an old " +"@code{cupsd.conf} file that you want to port over from some other system; " +"see the end for more details." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:11687 +msgid "Available @code{cups-configuration} fields are:" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11688 +#, no-wrap +msgid "{@code{cups-configuration} parameter} package cups" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11690 doc/guix.texi:12447 +msgid "The CUPS package." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11692 +#, no-wrap +msgid "{@code{cups-configuration} parameter} package-list extensions" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11694 +msgid "Drivers and other extensions to the CUPS package." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11696 +#, no-wrap +msgid "" +"{@code{cups-configuration} parameter} files-configuration " +"files-configuration" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11699 +msgid "" +"Configuration of where to write logs, what directories to use for print " +"spools, and related privileged configuration parameters." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11701 +msgid "Available @code{files-configuration} fields are:" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11702 +#, no-wrap +msgid "{@code{files-configuration} parameter} log-location access-log" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11710 +msgid "" +"Defines the access log filename. Specifying a blank filename disables " +"access log generation. The value @code{stderr} causes log entries to be " +"sent to the standard error file when the scheduler is running in the " +"foreground, or to the system log daemon when run in the background. The " +"value @code{syslog} causes log entries to be sent to the system log daemon. " +"The server name may be included in filenames using the string @code{%s}, as " +"in @code{/var/log/cups/%s-access_log}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11712 +msgid "Defaults to @samp{\"/var/log/cups/access_log\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11714 +#, no-wrap +msgid "{@code{files-configuration} parameter} file-name cache-dir" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11716 +msgid "Where CUPS should cache data." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11718 +msgid "Defaults to @samp{\"/var/cache/cups\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11720 +#, no-wrap +msgid "{@code{files-configuration} parameter} string config-file-perm" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11723 +msgid "" +"Specifies the permissions for all configuration files that the scheduler " +"writes." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11729 +msgid "" +"Note that the permissions for the printers.conf file are currently masked to " +"only allow access from the scheduler user (typically root). This is done " +"because printer device URIs sometimes contain sensitive authentication " +"information that should not be generally known on the system. There is no " +"way to disable this security feature." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11731 +msgid "Defaults to @samp{\"0640\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11733 +#, no-wrap +msgid "{@code{files-configuration} parameter} log-location error-log" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11741 +msgid "" +"Defines the error log filename. Specifying a blank filename disables access " +"log generation. The value @code{stderr} causes log entries to be sent to " +"the standard error file when the scheduler is running in the foreground, or " +"to the system log daemon when run in the background. The value " +"@code{syslog} causes log entries to be sent to the system log daemon. The " +"server name may be included in filenames using the string @code{%s}, as in " +"@code{/var/log/cups/%s-error_log}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11743 +msgid "Defaults to @samp{\"/var/log/cups/error_log\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11745 +#, no-wrap +msgid "{@code{files-configuration} parameter} string fatal-errors" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11748 +msgid "" +"Specifies which errors are fatal, causing the scheduler to exit. The kind " +"strings are:" +msgstr "" + +#. type: table +#: doc/guix.texi:11752 +msgid "No errors are fatal." +msgstr "" + +#. type: table +#: doc/guix.texi:11755 +msgid "All of the errors below are fatal." +msgstr "" + +#. type: item +#: doc/guix.texi:11756 +#, no-wrap +msgid "browse" +msgstr "" + +#. type: table +#: doc/guix.texi:11759 +msgid "" +"Browsing initialization errors are fatal, for example failed connections to " +"the DNS-SD daemon." +msgstr "" + +#. type: item +#: doc/guix.texi:11760 +#, no-wrap +msgid "config" +msgstr "" + +#. type: table +#: doc/guix.texi:11762 +msgid "Configuration file syntax errors are fatal." +msgstr "" + +#. type: item +#: doc/guix.texi:11763 +#, no-wrap +msgid "listen" +msgstr "" + +#. type: table +#: doc/guix.texi:11766 +msgid "" +"Listen or Port errors are fatal, except for IPv6 failures on the loopback or " +"@code{any} addresses." +msgstr "" + +#. type: item +#: doc/guix.texi:11767 +#, no-wrap +msgid "log" +msgstr "" + +#. type: table +#: doc/guix.texi:11769 +msgid "Log file creation or write errors are fatal." +msgstr "" + +#. type: item +#: doc/guix.texi:11770 +#, no-wrap +msgid "permissions" +msgstr "" + +#. type: table +#: doc/guix.texi:11773 +msgid "" +"Bad startup file permissions are fatal, for example shared TLS certificate " +"and key files with world-read permissions." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11776 +msgid "Defaults to @samp{\"all -browse\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11778 +#, no-wrap +msgid "{@code{files-configuration} parameter} boolean file-device?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11781 +msgid "" +"Specifies whether the file pseudo-device can be used for new printer " +"queues. The URI @uref{file:///dev/null} is always allowed." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11783 doc/guix.texi:11853 doc/guix.texi:11889 doc/guix.texi:11901 doc/guix.texi:11907 doc/guix.texi:11923 doc/guix.texi:12011 doc/guix.texi:12105 doc/guix.texi:12421 doc/guix.texi:12434 doc/guix.texi:16561 doc/guix.texi:16575 doc/guix.texi:16697 doc/guix.texi:16718 doc/guix.texi:16739 doc/guix.texi:16746 doc/guix.texi:16791 doc/guix.texi:16798 doc/guix.texi:17201 doc/guix.texi:17215 doc/guix.texi:17387 doc/guix.texi:17432 doc/guix.texi:17519 doc/guix.texi:17648 doc/guix.texi:17681 doc/guix.texi:17821 doc/guix.texi:17832 doc/guix.texi:18082 doc/guix.texi:18724 doc/guix.texi:18733 doc/guix.texi:18741 doc/guix.texi:18749 doc/guix.texi:18765 doc/guix.texi:18781 doc/guix.texi:18789 doc/guix.texi:18797 doc/guix.texi:18806 doc/guix.texi:18815 doc/guix.texi:18831 doc/guix.texi:18895 doc/guix.texi:19001 doc/guix.texi:19009 doc/guix.texi:19017 doc/guix.texi:19042 doc/guix.texi:19096 doc/guix.texi:19144 doc/guix.texi:19297 doc/guix.texi:19305 doc/guix.texi:19313 doc/guix.texi:19321 doc/guix.texi:19329 doc/guix.texi:19337 doc/guix.texi:19345 doc/guix.texi:19352 +msgid "Defaults to @samp{#f}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11785 +#, no-wrap +msgid "{@code{files-configuration} parameter} string group" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11788 +msgid "" +"Specifies the group name or ID that will be used when executing external " +"programs." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11790 doc/guix.texi:11870 +msgid "Defaults to @samp{\"lp\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11792 +#, no-wrap +msgid "{@code{files-configuration} parameter} string log-file-perm" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11794 +msgid "Specifies the permissions for all log files that the scheduler writes." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11796 +msgid "Defaults to @samp{\"0644\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11798 +#, no-wrap +msgid "{@code{files-configuration} parameter} log-location page-log" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11806 +msgid "" +"Defines the page log filename. Specifying a blank filename disables access " +"log generation. The value @code{stderr} causes log entries to be sent to " +"the standard error file when the scheduler is running in the foreground, or " +"to the system log daemon when run in the background. The value " +"@code{syslog} causes log entries to be sent to the system log daemon. The " +"server name may be included in filenames using the string @code{%s}, as in " +"@code{/var/log/cups/%s-page_log}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11808 +msgid "Defaults to @samp{\"/var/log/cups/page_log\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11810 +#, no-wrap +msgid "{@code{files-configuration} parameter} string remote-root" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11813 +msgid "" +"Specifies the username that is associated with unauthenticated accesses by " +"clients claiming to be the root user. The default is @code{remroot}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11815 +msgid "Defaults to @samp{\"remroot\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11817 +#, no-wrap +msgid "{@code{files-configuration} parameter} file-name request-root" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11820 +msgid "" +"Specifies the directory that contains print jobs and other HTTP request " +"data." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11822 +msgid "Defaults to @samp{\"/var/spool/cups\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11824 +#, no-wrap +msgid "{@code{files-configuration} parameter} sandboxing sandboxing" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11829 +msgid "" +"Specifies the level of security sandboxing that is applied to print filters, " +"backends, and other child processes of the scheduler; either @code{relaxed} " +"or @code{strict}. This directive is currently only used/supported on macOS." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11831 +msgid "Defaults to @samp{strict}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11833 +#, no-wrap +msgid "{@code{files-configuration} parameter} file-name server-keychain" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11838 +msgid "" +"Specifies the location of TLS certificates and private keys. CUPS will look " +"for public and private keys in this directory: a @code{.crt} files for " +"PEM-encoded certificates and corresponding @code{.key} files for PEM-encoded " +"private keys." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11840 +msgid "Defaults to @samp{\"/etc/cups/ssl\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11842 +#, no-wrap +msgid "{@code{files-configuration} parameter} file-name server-root" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11844 +msgid "Specifies the directory containing the server configuration files." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11846 +msgid "Defaults to @samp{\"/etc/cups\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11848 +#, no-wrap +msgid "{@code{files-configuration} parameter} boolean sync-on-close?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11851 +msgid "" +"Specifies whether the scheduler calls fsync(2) after writing configuration " +"or state files." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11855 +#, no-wrap +msgid "" +"{@code{files-configuration} parameter} space-separated-string-list " +"system-group" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11857 +msgid "Specifies the group(s) to use for @code{@@SYSTEM} group authentication." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11859 +#, no-wrap +msgid "{@code{files-configuration} parameter} file-name temp-dir" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11861 +msgid "Specifies the directory where temporary files are stored." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11863 +msgid "Defaults to @samp{\"/var/spool/cups/tmp\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11865 +#, no-wrap +msgid "{@code{files-configuration} parameter} string user" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11868 +msgid "Specifies the user name or ID that is used when running external programs." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11873 +#, no-wrap +msgid "{@code{cups-configuration} parameter} access-log-level access-log-level" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11880 +msgid "" +"Specifies the logging level for the AccessLog file. The @code{config} level " +"logs when printers and classes are added, deleted, or modified and when " +"configuration files are accessed or updated. The @code{actions} level logs " +"when print jobs are submitted, held, released, modified, or canceled, and " +"any of the conditions for @code{config}. The @code{all} level logs all " +"requests." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11882 +msgid "Defaults to @samp{actions}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11884 +#, no-wrap +msgid "{@code{cups-configuration} parameter} boolean auto-purge-jobs?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11887 +msgid "" +"Specifies whether to purge job history data automatically when it is no " +"longer required for quotas." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11891 +#, no-wrap +msgid "" +"{@code{cups-configuration} parameter} browse-local-protocols " +"browse-local-protocols" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11893 +msgid "Specifies which protocols to use for local printer sharing." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11895 +msgid "Defaults to @samp{dnssd}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11897 +#, no-wrap +msgid "{@code{cups-configuration} parameter} boolean browse-web-if?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11899 +msgid "Specifies whether the CUPS web interface is advertised." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11903 +#, no-wrap +msgid "{@code{cups-configuration} parameter} boolean browsing?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11905 +msgid "Specifies whether shared printers are advertised." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11909 +#, no-wrap +msgid "{@code{cups-configuration} parameter} string classification" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11914 +msgid "" +"Specifies the security classification of the server. Any valid banner name " +"can be used, including \"classified\", \"confidential\", \"secret\", " +"\"topsecret\", and \"unclassified\", or the banner can be omitted to disable " +"secure printing functions." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11916 doc/guix.texi:12253 doc/guix.texi:13612 doc/guix.texi:13624 doc/guix.texi:17787 doc/guix.texi:17795 doc/guix.texi:17803 doc/guix.texi:17811 doc/guix.texi:18089 doc/guix.texi:18567 doc/guix.texi:18575 doc/guix.texi:18583 doc/guix.texi:18691 doc/guix.texi:18716 doc/guix.texi:18847 doc/guix.texi:18855 doc/guix.texi:18863 doc/guix.texi:18871 doc/guix.texi:18879 doc/guix.texi:18887 doc/guix.texi:18910 doc/guix.texi:18918 doc/guix.texi:18970 doc/guix.texi:18986 doc/guix.texi:18994 doc/guix.texi:19033 doc/guix.texi:19056 doc/guix.texi:19078 doc/guix.texi:19085 doc/guix.texi:19120 doc/guix.texi:19128 doc/guix.texi:19152 doc/guix.texi:19184 doc/guix.texi:19213 doc/guix.texi:19220 doc/guix.texi:19227 doc/guix.texi:19235 doc/guix.texi:19249 doc/guix.texi:19258 doc/guix.texi:19268 doc/guix.texi:19275 doc/guix.texi:19282 doc/guix.texi:19289 doc/guix.texi:19360 doc/guix.texi:19367 doc/guix.texi:19374 doc/guix.texi:19383 doc/guix.texi:19399 doc/guix.texi:19406 doc/guix.texi:19413 doc/guix.texi:19420 doc/guix.texi:19428 doc/guix.texi:19436 +msgid "Defaults to @samp{\"\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11918 +#, no-wrap +msgid "{@code{cups-configuration} parameter} boolean classify-override?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11921 +msgid "" +"Specifies whether users may override the classification (cover page) of " +"individual print jobs using the @code{job-sheets} option." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11925 +#, no-wrap +msgid "{@code{cups-configuration} parameter} default-auth-type default-auth-type" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11927 +msgid "Specifies the default type of authentication to use." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11929 +msgid "Defaults to @samp{Basic}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11931 +#, no-wrap +msgid "{@code{cups-configuration} parameter} default-encryption default-encryption" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11933 +msgid "Specifies whether encryption will be used for authenticated requests." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11935 +msgid "Defaults to @samp{Required}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11937 +#, no-wrap +msgid "{@code{cups-configuration} parameter} string default-language" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11939 +msgid "Specifies the default language to use for text and web content." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11941 +msgid "Defaults to @samp{\"en\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11943 +#, no-wrap +msgid "{@code{cups-configuration} parameter} string default-paper-size" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11948 +msgid "" +"Specifies the default paper size for new print queues. @samp{\"Auto\"} uses " +"a locale-specific default, while @samp{\"None\"} specifies there is no " +"default paper size. Specific size names are typically @samp{\"Letter\"} or " +"@samp{\"A4\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11950 +msgid "Defaults to @samp{\"Auto\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11952 +#, no-wrap +msgid "{@code{cups-configuration} parameter} string default-policy" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11954 +msgid "Specifies the default access policy to use." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11956 +msgid "Defaults to @samp{\"default\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11958 +#, no-wrap +msgid "{@code{cups-configuration} parameter} boolean default-shared?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11960 +msgid "Specifies whether local printers are shared by default." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11962 doc/guix.texi:12042 doc/guix.texi:12338 doc/guix.texi:16531 doc/guix.texi:16538 doc/guix.texi:16546 doc/guix.texi:16568 doc/guix.texi:16582 doc/guix.texi:16667 doc/guix.texi:16674 doc/guix.texi:16682 doc/guix.texi:17068 doc/guix.texi:17208 doc/guix.texi:17394 doc/guix.texi:17401 doc/guix.texi:17423 doc/guix.texi:17462 doc/guix.texi:17482 doc/guix.texi:17496 doc/guix.texi:17636 doc/guix.texi:18669 doc/guix.texi:18757 doc/guix.texi:18773 doc/guix.texi:18823 +msgid "Defaults to @samp{#t}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11964 +#, no-wrap +msgid "" +"{@code{cups-configuration} parameter} non-negative-integer " +"dirty-clean-interval" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11968 +msgid "" +"Specifies the delay for updating of configuration and state files, in " +"seconds. A value of 0 causes the update to happen as soon as possible, " +"typically within a few milliseconds." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11970 doc/guix.texi:12018 doc/guix.texi:12027 doc/guix.texi:12048 doc/guix.texi:12345 +msgid "Defaults to @samp{30}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11972 +#, no-wrap +msgid "{@code{cups-configuration} parameter} error-policy error-policy" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11978 +msgid "" +"Specifies what to do when an error occurs. Possible values are " +"@code{abort-job}, which will discard the failed print job; @code{retry-job}, " +"which will retry the job at a later time; @code{retry-this-job}, which " +"retries the failed job immediately; and @code{stop-printer}, which stops the " +"printer." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11980 +msgid "Defaults to @samp{stop-printer}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11982 +#, no-wrap +msgid "{@code{cups-configuration} parameter} non-negative-integer filter-limit" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11990 +msgid "" +"Specifies the maximum cost of filters that are run concurrently, which can " +"be used to minimize disk, memory, and CPU resource problems. A limit of 0 " +"disables filter limiting. An average print to a non-PostScript printer " +"needs a filter limit of about 200. A PostScript printer needs about half " +"that (100). Setting the limit below these thresholds will effectively limit " +"the scheduler to printing a single job at any time." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11992 doc/guix.texi:12000 doc/guix.texi:12055 doc/guix.texi:12171 doc/guix.texi:12185 doc/guix.texi:12192 doc/guix.texi:13716 doc/guix.texi:13728 doc/guix.texi:17084 doc/guix.texi:17409 doc/guix.texi:18662 doc/guix.texi:18962 doc/guix.texi:19136 +msgid "Defaults to @samp{0}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11994 +#, no-wrap +msgid "{@code{cups-configuration} parameter} non-negative-integer filter-nice" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:11998 +msgid "" +"Specifies the scheduling priority of filters that are run to print a job. " +"The nice value ranges from 0, the highest priority, to 19, the lowest " +"priority." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12002 +#, no-wrap +msgid "{@code{cups-configuration} parameter} host-name-lookups host-name-lookups" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12009 +msgid "" +"Specifies whether to do reverse lookups on connecting clients. The " +"@code{double} setting causes @code{cupsd} to verify that the hostname " +"resolved from the address matches one of the addresses returned for that " +"hostname. Double lookups also prevent clients with unregistered addresses " +"from connecting to your server. Only set this option to @code{#t} or " +"@code{double} if absolutely required." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12013 +#, no-wrap +msgid "{@code{cups-configuration} parameter} non-negative-integer job-kill-delay" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12016 +msgid "" +"Specifies the number of seconds to wait before killing the filters and " +"backend associated with a canceled or held job." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12020 +#, no-wrap +msgid "" +"{@code{cups-configuration} parameter} non-negative-integer " +"job-retry-interval" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12025 +msgid "" +"Specifies the interval between retries of jobs in seconds. This is " +"typically used for fax queues but can also be used with normal print queues " +"whose error policy is @code{retry-job} or @code{retry-current-job}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12029 +#, no-wrap +msgid "{@code{cups-configuration} parameter} non-negative-integer job-retry-limit" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12034 +msgid "" +"Specifies the number of retries that are done for jobs. This is typically " +"used for fax queues but can also be used with normal print queues whose " +"error policy is @code{retry-job} or @code{retry-current-job}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12036 doc/guix.texi:17888 doc/guix.texi:17908 doc/guix.texi:17924 doc/guix.texi:17938 doc/guix.texi:17945 doc/guix.texi:17952 doc/guix.texi:17959 doc/guix.texi:18118 doc/guix.texi:18134 doc/guix.texi:18141 doc/guix.texi:18148 doc/guix.texi:18159 doc/guix.texi:18614 doc/guix.texi:18622 doc/guix.texi:18630 doc/guix.texi:18654 +msgid "Defaults to @samp{5}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12038 +#, no-wrap +msgid "{@code{cups-configuration} parameter} boolean keep-alive?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12040 +msgid "Specifies whether to support HTTP keep-alive connections." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12044 +#, no-wrap +msgid "" +"{@code{cups-configuration} parameter} non-negative-integer " +"keep-alive-timeout" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12046 +msgid "Specifies how long an idle client connection remains open, in seconds." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12050 +#, no-wrap +msgid "" +"{@code{cups-configuration} parameter} non-negative-integer " +"limit-request-body" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12053 +msgid "" +"Specifies the maximum size of print files, IPP requests, and HTML form " +"data. A limit of 0 disables the limit check." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12057 +#, no-wrap +msgid "{@code{cups-configuration} parameter} multiline-string-list listen" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12064 +msgid "" +"Listens on the specified interfaces for connections. Valid values are of " +"the form @var{address}:@var{port}, where @var{address} is either an IPv6 " +"address enclosed in brackets, an IPv4 address, or @code{*} to indicate all " +"addresses. Values can also be file names of local UNIX domain sockets. The " +"Listen directive is similar to the Port directive but allows you to restrict " +"access to specific interfaces or networks." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12066 +#, no-wrap +msgid "{@code{cups-configuration} parameter} non-negative-integer listen-back-log" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12073 +msgid "" +"Specifies the number of pending connections that will be allowed. This " +"normally only affects very busy servers that have reached the MaxClients " +"limit, but can also be triggered by large numbers of simultaneous " +"connections. When the limit is reached, the operating system will refuse " +"additional connections until the scheduler can accept the pending ones." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12075 +msgid "Defaults to @samp{128}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12077 +#, no-wrap +msgid "" +"{@code{cups-configuration} parameter} location-access-control-list " +"location-access-controls" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12079 +msgid "Specifies a set of additional access controls." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12081 +msgid "Available @code{location-access-controls} fields are:" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12082 +#, no-wrap +msgid "{@code{location-access-controls} parameter} file-name path" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12084 +msgid "Specifies the URI path to which the access control applies." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12086 +#, no-wrap +msgid "" +"{@code{location-access-controls} parameter} access-control-list " +"access-controls" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12089 +msgid "" +"Access controls for all access to this path, in the same format as the " +"@code{access-controls} of @code{operation-access-control}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12091 doc/guix.texi:12097 doc/guix.texi:12111 doc/guix.texi:12118 doc/guix.texi:12260 doc/guix.texi:12319 doc/guix.texi:12403 doc/guix.texi:12414 doc/guix.texi:14202 doc/guix.texi:16589 doc/guix.texi:16777 doc/guix.texi:17779 doc/guix.texi:17839 doc/guix.texi:17847 doc/guix.texi:18677 doc/guix.texi:18684 doc/guix.texi:19026 doc/guix.texi:19104 doc/guix.texi:19198 doc/guix.texi:19206 doc/guix.texi:19242 doc/guix.texi:19392 doc/guix.texi:19443 doc/guix.texi:19452 +msgid "Defaults to @samp{()}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12093 +#, no-wrap +msgid "" +"{@code{location-access-controls} parameter} method-access-control-list " +"method-access-controls" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12095 +msgid "Access controls for method-specific access to this path." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12099 +msgid "Available @code{method-access-controls} fields are:" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12100 +#, no-wrap +msgid "{@code{method-access-controls} parameter} boolean reverse?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12103 +msgid "" +"If @code{#t}, apply access controls to all methods except the listed " +"methods. Otherwise apply to only the listed methods." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12107 +#, no-wrap +msgid "{@code{method-access-controls} parameter} method-list methods" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12109 +msgid "Methods to which this access control applies." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12113 +#, no-wrap +msgid "" +"{@code{method-access-controls} parameter} access-control-list " +"access-controls" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12116 +msgid "" +"Access control directives, as a list of strings. Each string should be one " +"directive, such as \"Order allow,deny\"." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12122 +#, no-wrap +msgid "{@code{cups-configuration} parameter} non-negative-integer log-debug-history" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12126 +msgid "" +"Specifies the number of debugging messages that are retained for logging if " +"an error occurs in a print job. Debug messages are logged regardless of the " +"LogLevel setting." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12128 doc/guix.texi:12149 doc/guix.texi:12156 doc/guix.texi:13962 doc/guix.texi:16762 +msgid "Defaults to @samp{100}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12130 +#, no-wrap +msgid "{@code{cups-configuration} parameter} log-level log-level" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12133 +msgid "" +"Specifies the level of logging for the ErrorLog file. The value @code{none} " +"stops all logging while @code{debug2} logs everything." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12135 +msgid "Defaults to @samp{info}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12137 +#, no-wrap +msgid "{@code{cups-configuration} parameter} log-time-format log-time-format" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12140 +msgid "" +"Specifies the format of the date and time in the log files. The value " +"@code{standard} logs whole seconds while @code{usecs} logs microseconds." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12142 +msgid "Defaults to @samp{standard}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12144 +#, no-wrap +msgid "{@code{cups-configuration} parameter} non-negative-integer max-clients" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12147 +msgid "" +"Specifies the maximum number of simultaneous clients that are allowed by the " +"scheduler." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12151 +#, no-wrap +msgid "" +"{@code{cups-configuration} parameter} non-negative-integer " +"max-clients-per-host" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12154 +msgid "" +"Specifies the maximum number of simultaneous clients that are allowed from a " +"single address." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12158 +#, no-wrap +msgid "{@code{cups-configuration} parameter} non-negative-integer max-copies" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12161 +msgid "Specifies the maximum number of copies that a user can print of each job." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12163 +msgid "Defaults to @samp{9999}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12165 +#, no-wrap +msgid "{@code{cups-configuration} parameter} non-negative-integer max-hold-time" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12169 +msgid "" +"Specifies the maximum time a job may remain in the @code{indefinite} hold " +"state before it is canceled. A value of 0 disables cancellation of held " +"jobs." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12173 +#, no-wrap +msgid "{@code{cups-configuration} parameter} non-negative-integer max-jobs" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12176 +msgid "" +"Specifies the maximum number of simultaneous jobs that are allowed. Set to " +"0 to allow an unlimited number of jobs." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12178 +msgid "Defaults to @samp{500}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12180 +#, no-wrap +msgid "" +"{@code{cups-configuration} parameter} non-negative-integer " +"max-jobs-per-printer" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12183 +msgid "" +"Specifies the maximum number of simultaneous jobs that are allowed per " +"printer. A value of 0 allows up to MaxJobs jobs per printer." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12187 +#, no-wrap +msgid "{@code{cups-configuration} parameter} non-negative-integer max-jobs-per-user" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12190 +msgid "" +"Specifies the maximum number of simultaneous jobs that are allowed per " +"user. A value of 0 allows up to MaxJobs jobs per user." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12194 +#, no-wrap +msgid "{@code{cups-configuration} parameter} non-negative-integer max-job-time" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12197 +msgid "" +"Specifies the maximum time a job may take to print before it is canceled, in " +"seconds. Set to 0 to disable cancellation of \"stuck\" jobs." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12199 +msgid "Defaults to @samp{10800}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12201 +#, no-wrap +msgid "{@code{cups-configuration} parameter} non-negative-integer max-log-size" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12204 +msgid "" +"Specifies the maximum size of the log files before they are rotated, in " +"bytes. The value 0 disables log rotation." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12206 +msgid "Defaults to @samp{1048576}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12208 +#, no-wrap +msgid "" +"{@code{cups-configuration} parameter} non-negative-integer " +"multiple-operation-timeout" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12211 +msgid "" +"Specifies the maximum amount of time to allow between files in a multiple " +"file print job, in seconds." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12213 doc/guix.texi:12427 +msgid "Defaults to @samp{300}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12215 +#, no-wrap +msgid "{@code{cups-configuration} parameter} string page-log-format" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12220 +msgid "" +"Specifies the format of PageLog lines. Sequences beginning with percent " +"(@samp{%}) characters are replaced with the corresponding information, while " +"all other characters are copied literally. The following percent sequences " +"are recognized:" +msgstr "" + +#. type: item +#: doc/guix.texi:12222 +#, no-wrap +msgid "%%" +msgstr "" + +#. type: table +#: doc/guix.texi:12224 +msgid "insert a single percent character" +msgstr "" + +#. type: item +#: doc/guix.texi:12225 +#, no-wrap +msgid "%@{name@}" +msgstr "" + +#. type: table +#: doc/guix.texi:12227 +msgid "insert the value of the specified IPP attribute" +msgstr "" + +#. type: item +#: doc/guix.texi:12228 +#, no-wrap +msgid "%C" +msgstr "" + +#. type: table +#: doc/guix.texi:12230 +msgid "insert the number of copies for the current page" +msgstr "" + +#. type: item +#: doc/guix.texi:12231 +#, no-wrap +msgid "%P" +msgstr "" + +#. type: table +#: doc/guix.texi:12233 +msgid "insert the current page number" +msgstr "" + +#. type: item +#: doc/guix.texi:12234 +#, no-wrap +msgid "%T" +msgstr "" + +#. type: table +#: doc/guix.texi:12236 +msgid "insert the current date and time in common log format" +msgstr "" + +#. type: item +#: doc/guix.texi:12237 +#, no-wrap +msgid "%j" +msgstr "" + +#. type: table +#: doc/guix.texi:12239 +msgid "insert the job ID" +msgstr "" + +#. type: item +#: doc/guix.texi:12240 doc/guix.texi:13572 +#, no-wrap +msgid "%p" +msgstr "" + +#. type: table +#: doc/guix.texi:12242 +msgid "insert the printer name" +msgstr "" + +#. type: item +#: doc/guix.texi:12243 doc/guix.texi:13595 +#, no-wrap +msgid "%u" +msgstr "" + +#. type: table +#: doc/guix.texi:12245 +msgid "insert the username" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12251 +msgid "" +"A value of the empty string disables page logging. The string @code{%p %u " +"%j %T %P %C %@{job-billing@} %@{job-originating-host-name@} %@{job-name@} " +"%@{media@} %@{sides@}} creates a page log with the standard items." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12255 +#, no-wrap +msgid "" +"{@code{cups-configuration} parameter} environment-variables " +"environment-variables" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12258 +msgid "" +"Passes the specified environment variable(s) to child processes; a list of " +"strings." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12262 +#, no-wrap +msgid "{@code{cups-configuration} parameter} policy-configuration-list policies" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12264 +msgid "Specifies named access control policies." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12266 +msgid "Available @code{policy-configuration} fields are:" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12267 +#, no-wrap +msgid "{@code{policy-configuration} parameter} string name" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12269 +msgid "Name of the policy." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12271 +#, no-wrap +msgid "{@code{policy-configuration} parameter} string job-private-access" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12281 +msgid "" +"Specifies an access list for a job's private values. @code{@@ACL} maps to " +"the printer's requesting-user-name-allowed or requesting-user-name-denied " +"values. @code{@@OWNER} maps to the job's owner. @code{@@SYSTEM} maps to " +"the groups listed for the @code{system-group} field of the " +"@code{files-config} configuration, which is reified into the " +"@code{cups-files.conf(5)} file. Other possible elements of the access list " +"include specific user names, and @code{@@@var{group}} to indicate members of " +"a specific group. The access list may also be simply @code{all} or " +"@code{default}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12283 doc/guix.texi:12305 +msgid "Defaults to @samp{\"@@OWNER @@SYSTEM\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12285 +#, no-wrap +msgid "{@code{policy-configuration} parameter} string job-private-values" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12288 doc/guix.texi:12310 +msgid "" +"Specifies the list of job values to make private, or @code{all}, " +"@code{default}, or @code{none}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12291 +msgid "" +"Defaults to @samp{\"job-name job-originating-host-name " +"job-originating-user-name phone\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12293 +#, no-wrap +msgid "{@code{policy-configuration} parameter} string subscription-private-access" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12303 +msgid "" +"Specifies an access list for a subscription's private values. @code{@@ACL} " +"maps to the printer's requesting-user-name-allowed or " +"requesting-user-name-denied values. @code{@@OWNER} maps to the job's " +"owner. @code{@@SYSTEM} maps to the groups listed for the " +"@code{system-group} field of the @code{files-config} configuration, which is " +"reified into the @code{cups-files.conf(5)} file. Other possible elements of " +"the access list include specific user names, and @code{@@@var{group}} to " +"indicate members of a specific group. The access list may also be simply " +"@code{all} or @code{default}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12307 +#, no-wrap +msgid "{@code{policy-configuration} parameter} string subscription-private-values" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12313 +msgid "" +"Defaults to @samp{\"notify-events notify-pull-method notify-recipient-uri " +"notify-subscriber-user-name notify-user-data\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12315 +#, no-wrap +msgid "" +"{@code{policy-configuration} parameter} operation-access-control-list " +"access-controls" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12317 +msgid "Access control by IPP operation." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12322 +#, no-wrap +msgid "" +"{@code{cups-configuration} parameter} boolean-or-non-negative-integer " +"preserve-job-files" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12327 +msgid "" +"Specifies whether job files (documents) are preserved after a job is " +"printed. If a numeric value is specified, job files are preserved for the " +"indicated number of seconds after printing. Otherwise a boolean value " +"applies indefinitely." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12329 +msgid "Defaults to @samp{86400}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12331 +#, no-wrap +msgid "" +"{@code{cups-configuration} parameter} boolean-or-non-negative-integer " +"preserve-job-history" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12336 +msgid "" +"Specifies whether the job history is preserved after a job is printed. If a " +"numeric value is specified, the job history is preserved for the indicated " +"number of seconds after printing. If @code{#t}, the job history is " +"preserved until the MaxJobs limit is reached." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12340 +#, no-wrap +msgid "{@code{cups-configuration} parameter} non-negative-integer reload-timeout" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12343 +msgid "" +"Specifies the amount of time to wait for job completion before restarting " +"the scheduler." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12347 +#, no-wrap +msgid "{@code{cups-configuration} parameter} string rip-cache" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12350 +msgid "" +"Specifies the maximum amount of memory to use when converting documents into " +"bitmaps for a printer." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12352 +msgid "Defaults to @samp{\"128m\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12354 +#, no-wrap +msgid "{@code{cups-configuration} parameter} string server-admin" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12356 +msgid "Specifies the email address of the server administrator." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12358 +msgid "Defaults to @samp{\"root@@localhost.localdomain\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12360 +#, no-wrap +msgid "{@code{cups-configuration} parameter} host-name-list-or-* server-alias" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12368 +msgid "" +"The ServerAlias directive is used for HTTP Host header validation when " +"clients connect to the scheduler from external interfaces. Using the " +"special name @code{*} can expose your system to known browser-based DNS " +"rebinding attacks, even when accessing sites through a firewall. If the " +"auto-discovery of alternate names does not work, we recommend listing each " +"alternate name with a ServerAlias directive instead of using @code{*}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12370 +msgid "Defaults to @samp{*}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12372 +#, no-wrap +msgid "{@code{cups-configuration} parameter} string server-name" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12374 +msgid "Specifies the fully-qualified host name of the server." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12376 +msgid "Defaults to @samp{\"localhost\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12378 +#, no-wrap +msgid "{@code{cups-configuration} parameter} server-tokens server-tokens" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12386 +msgid "" +"Specifies what information is included in the Server header of HTTP " +"responses. @code{None} disables the Server header. @code{ProductOnly} " +"reports @code{CUPS}. @code{Major} reports @code{CUPS 2}. @code{Minor} " +"reports @code{CUPS 2.0}. @code{Minimal} reports @code{CUPS 2.0.0}. " +"@code{OS} reports @code{CUPS 2.0.0 (@var{uname})} where @var{uname} is the " +"output of the @code{uname} command. @code{Full} reports @code{CUPS 2.0.0 " +"(@var{uname}) IPP/2.0}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12388 +msgid "Defaults to @samp{Minimal}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12390 +#, no-wrap +msgid "{@code{cups-configuration} parameter} string set-env" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12392 +msgid "Set the specified environment variable to be passed to child processes." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12394 +msgid "Defaults to @samp{\"variable value\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12396 +#, no-wrap +msgid "{@code{cups-configuration} parameter} multiline-string-list ssl-listen" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12401 +msgid "" +"Listens on the specified interfaces for encrypted connections. Valid values " +"are of the form @var{address}:@var{port}, where @var{address} is either an " +"IPv6 address enclosed in brackets, an IPv4 address, or @code{*} to indicate " +"all addresses." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12405 +#, no-wrap +msgid "{@code{cups-configuration} parameter} ssl-options ssl-options" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12412 +msgid "" +"Sets encryption options. By default, CUPS only supports encryption using " +"TLS v1.0 or higher using known secure cipher suites. The @code{AllowRC4} " +"option enables the 128-bit RC4 cipher suites, which are required for some " +"older clients that do not implement newer ones. The @code{AllowSSL3} option " +"enables SSL v3.0, which is required for some older clients that do not " +"support TLS v1.0." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12416 +#, no-wrap +msgid "{@code{cups-configuration} parameter} boolean strict-conformance?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12419 +msgid "" +"Specifies whether the scheduler requires clients to strictly adhere to the " +"IPP specifications." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12423 +#, no-wrap +msgid "{@code{cups-configuration} parameter} non-negative-integer timeout" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12425 +msgid "Specifies the HTTP request timeout, in seconds." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12430 +#, no-wrap +msgid "{@code{cups-configuration} parameter} boolean web-interface?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12432 +msgid "Specifies whether the web interface is enabled." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:12442 +msgid "" +"At this point you're probably thinking ``oh dear, Guix manual, I like you " +"but you can stop already with the configuration options''. Indeed. " +"However, one more point: it could be that you have an existing " +"@code{cupsd.conf} that you want to use. In that case, you can pass an " +"@code{opaque-cups-configuration} as the configuration of a " +"@code{cups-service-type}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:12444 +msgid "Available @code{opaque-cups-configuration} fields are:" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12445 +#, no-wrap +msgid "{@code{opaque-cups-configuration} parameter} package cups" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12449 +#, no-wrap +msgid "{@code{opaque-cups-configuration} parameter} string cupsd.conf" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12451 +msgid "The contents of the @code{cupsd.conf}, as a string." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12453 +#, no-wrap +msgid "{@code{opaque-cups-configuration} parameter} string cups-files.conf" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12455 +msgid "The contents of the @code{cups-files.conf} file, as a string." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:12460 +msgid "" +"For example, if your @code{cupsd.conf} and @code{cups-files.conf} are in " +"strings of the same name, you could instantiate a CUPS service like this:" +msgstr "" + +#. type: example +#: doc/guix.texi:12466 +#, no-wrap +msgid "" +"(service cups-service-type\n" +" (opaque-cups-configuration\n" +" (cupsd.conf cupsd.conf)\n" +" (cups-files.conf cups-files.conf)))\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:12477 +msgid "" +"The @code{(gnu services desktop)} module provides services that are usually " +"useful in the context of a ``desktop'' setup---that is, on a machine running " +"a graphical display server, possibly with graphical user interfaces, etc. " +"It also defines services that provide specific desktop environments like " +"GNOME, XFCE or MATE." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:12481 +msgid "" +"To simplify things, the module defines a variable containing the set of " +"services that users typically expect on a machine with a graphical " +"environment and networking:" +msgstr "" + +#. type: defvr +#: doc/guix.texi:12482 +#, no-wrap +msgid "{Scheme Variable} %desktop-services" +msgstr "" + +#. type: defvr +#: doc/guix.texi:12485 +msgid "" +"This is a list of services that builds upon @var{%base-services} and adds or " +"adjusts services for a typical ``desktop'' setup." +msgstr "" + +#. type: defvr +#: doc/guix.texi:12495 +msgid "" +"In particular, it adds a graphical login manager (@pxref{X Window, " +"@code{slim-service}}), screen lockers, a network management tool " +"(@pxref{Networking Services, @code{network-manager-service-type}}), energy " +"and color management services, the @code{elogind} login and seat manager, " +"the Polkit privilege service, the GeoClue location service, the " +"AccountsService daemon that allows authorized users change system passwords, " +"an NTP client (@pxref{Networking Services}), the Avahi daemon, and has the " +"name service switch service configured to be able to use @code{nss-mdns} " +"(@pxref{Name Service Switch, mDNS})." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:12500 +msgid "" +"The @var{%desktop-services} variable can be used as the @code{services} " +"field of an @code{operating-system} declaration (@pxref{operating-system " +"Reference, @code{services}})." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:12520 +msgid "" +"Additionally, the @code{gnome-desktop-service}, @code{xfce-desktop-service} " +"and @code{mate-desktop-service} procedures can add GNOME, XFCE and/or MATE " +"to a system. To ``add GNOME'' means that system-level services like the " +"backlight adjustment helpers and the power management utilities are added to " +"the system, extending @code{polkit} and @code{dbus} appropriately, allowing " +"GNOME to operate with elevated privileges on a limited number of " +"special-purpose system interfaces. Additionally, adding a service made by " +"@code{gnome-desktop-service} adds the GNOME metapackage to the system " +"profile. Likewise, adding the XFCE service not only adds the @code{xfce} " +"metapackage to the system profile, but it also gives the Thunar file manager " +"the ability to open a ``root-mode'' file management window, if the user " +"authenticates using the 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." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:12529 +msgid "" +"The desktop environments in Guix use the Xorg display server by default. If " +"you'd like to use the newer display server protocol called Wayland, you need " +"to use the @code{sddm-service} instead of the @code{slim-service} for the " +"graphical login manager. You should then select the ``GNOME (Wayland)'' " +"session in SDDM. Alternatively you can also try starting GNOME on Wayland " +"manually from a TTY with the command ``XDG_SESSION_TYPE=wayland exec " +"dbus-run-session gnome-session``. Currently only GNOME has support for " +"Wayland." +msgstr "" + +#. type: deffn +#: doc/guix.texi:12530 +#, no-wrap +msgid "{Scheme Procedure} gnome-desktop-service" +msgstr "" + +#. type: deffn +#: doc/guix.texi:12534 +msgid "" +"Return a service that adds the @code{gnome} package to the system profile, " +"and extends polkit with the actions from @code{gnome-settings-daemon}." +msgstr "" + +#. type: deffn +#: doc/guix.texi:12536 +#, no-wrap +msgid "{Scheme Procedure} xfce-desktop-service" +msgstr "" + +#. type: deffn +#: doc/guix.texi:12541 +msgid "" +"Return a service that adds the @code{xfce} package to the system profile, " +"and extends polkit with the ability for @code{thunar} to manipulate the file " +"system as root from within a user session, after the user has authenticated " +"with the administrator's password." +msgstr "" + +#. type: deffn +#: doc/guix.texi:12543 +#, no-wrap +msgid "{Scheme Procedure} mate-desktop-service" +msgstr "" + +#. type: deffn +#: doc/guix.texi:12547 +msgid "" +"Return a service that adds the @code{mate} package to the system profile, " +"and extends polkit with the actions from @code{mate-settings-daemon}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:12554 +msgid "" +"Because the GNOME, XFCE and MATE desktop services pull in so many packages, " +"the default @code{%desktop-services} variable doesn't include either of them " +"by default. To add GNOME, XFCE or MATE, just @code{cons} them onto " +"@code{%desktop-services} in the @code{services} field of your " +"@code{operating-system}:" +msgstr "" + +#. type: example +#: doc/guix.texi:12565 +#, no-wrap +msgid "" +"(use-modules (gnu))\n" +"(use-service-modules desktop)\n" +"(operating-system\n" +" ...\n" +" ;; cons* adds items to the list given as its last argument.\n" +" (services (cons* (gnome-desktop-service)\n" +" (xfce-desktop-service)\n" +" %desktop-services))\n" +" ...)\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:12569 +msgid "" +"These desktop environments will then be available as options in the " +"graphical login window." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:12573 +msgid "" +"The actual service definitions included in @code{%desktop-services} and " +"provided by @code{(gnu services dbus)} and @code{(gnu services desktop)} are " +"described below." +msgstr "" + +#. type: deffn +#: doc/guix.texi:12574 +#, no-wrap +msgid "{Scheme Procedure} dbus-service [#:dbus @var{dbus}] [#:services '()]" +msgstr "" + +#. type: deffn +#: doc/guix.texi:12577 +msgid "" +"Return a service that runs the ``system bus'', using @var{dbus}, with " +"support for @var{services}." +msgstr "" + +#. type: deffn +#: doc/guix.texi:12581 +msgid "" +"@uref{http://dbus.freedesktop.org/, D-Bus} is an inter-process communication " +"facility. Its system bus is used to allow system services to communicate " +"and to be notified of system-wide events." +msgstr "" + +#. type: deffn +#: doc/guix.texi:12586 +msgid "" +"@var{services} must be a list of packages that provide an " +"@file{etc/dbus-1/system.d} directory containing additional D-Bus " +"configuration and policy files. For example, to allow avahi-daemon to use " +"the system bus, @var{services} must be equal to @code{(list avahi)}." +msgstr "" + +#. type: deffn +#: doc/guix.texi:12588 +#, no-wrap +msgid "{Scheme Procedure} elogind-service [#:config @var{config}]" +msgstr "" + +#. type: deffn +#: doc/guix.texi:12594 +msgid "" +"Return a service that runs the @code{elogind} login and seat management " +"daemon. @uref{https://github.com/elogind/elogind, Elogind} exposes a D-Bus " +"interface that can be used to know which users are logged in, know what kind " +"of sessions they have open, suspend the system, inhibit system suspend, " +"reboot the system, and other tasks." +msgstr "" + +#. type: deffn +#: doc/guix.texi:12598 +msgid "" +"Elogind handles most system-level power events for a computer, for example " +"suspending the system when a lid is closed, or shutting it down when the " +"power button is pressed." +msgstr "" + +#. type: deffn +#: doc/guix.texi:12603 +msgid "" +"The @var{config} keyword argument specifies the configuration for elogind, " +"and should be the result of an @code{(elogind-configuration (@var{parameter} " +"@var{value})...)} invocation. Available parameters and their default values " +"are:" +msgstr "" + +#. type: item +#: doc/guix.texi:12605 +#, no-wrap +msgid "kill-user-processes?" +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:12607 doc/guix.texi:12625 doc/guix.texi:12627 doc/guix.texi:12629 doc/guix.texi:12641 +msgid "#f" +msgstr "" + +#. type: item +#: doc/guix.texi:12607 +#, no-wrap +msgid "kill-only-users" +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:12609 doc/guix.texi:12647 +msgid "()" +msgstr "" + +#. type: item +#: doc/guix.texi:12609 +#, no-wrap +msgid "kill-exclude-users" +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:12611 +msgid "(\"root\")" +msgstr "" + +#. type: item +#: doc/guix.texi:12611 +#, no-wrap +msgid "inhibit-delay-max-seconds" +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:12613 +msgid "5" +msgstr "" + +#. type: item +#: doc/guix.texi:12613 +#, no-wrap +msgid "handle-power-key" +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:12615 +msgid "poweroff" +msgstr "" + +#. type: item +#: doc/guix.texi:12615 +#, no-wrap +msgid "handle-suspend-key" +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:12617 doc/guix.texi:12621 +msgid "suspend" +msgstr "" + +#. type: item +#: doc/guix.texi:12617 +#, no-wrap +msgid "handle-hibernate-key" +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:12619 +msgid "hibernate" +msgstr "" + +#. type: item +#: doc/guix.texi:12619 +#, no-wrap +msgid "handle-lid-switch" +msgstr "" + +#. type: item +#: doc/guix.texi:12621 +#, no-wrap +msgid "handle-lid-switch-docked" +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:12623 doc/guix.texi:12635 +msgid "ignore" +msgstr "" + +#. type: item +#: doc/guix.texi:12623 +#, no-wrap +msgid "power-key-ignore-inhibited?" +msgstr "" + +#. type: item +#: doc/guix.texi:12625 +#, no-wrap +msgid "suspend-key-ignore-inhibited?" +msgstr "" + +#. type: item +#: doc/guix.texi:12627 +#, no-wrap +msgid "hibernate-key-ignore-inhibited?" +msgstr "" + +#. type: item +#: doc/guix.texi:12629 +#, no-wrap +msgid "lid-switch-ignore-inhibited?" +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:12631 doc/guix.texi:12643 +msgid "#t" +msgstr "" + +#. type: item +#: doc/guix.texi:12631 +#, no-wrap +msgid "holdoff-timeout-seconds" +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:12633 +msgid "30" +msgstr "" + +#. type: item +#: doc/guix.texi:12633 +#, no-wrap +msgid "idle-action" +msgstr "" + +#. type: item +#: doc/guix.texi:12635 +#, no-wrap +msgid "idle-action-seconds" +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:12637 +msgid "(* 30 60)" +msgstr "" + +#. type: item +#: doc/guix.texi:12637 +#, no-wrap +msgid "runtime-directory-size-percent" +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:12639 +msgid "10" +msgstr "" + +#. type: item +#: doc/guix.texi:12639 +#, no-wrap +msgid "runtime-directory-size" +msgstr "" + +#. type: item +#: doc/guix.texi:12641 +#, no-wrap +msgid "remove-ipc?" +msgstr "" + +#. type: item +#: doc/guix.texi:12643 +#, no-wrap +msgid "suspend-state" +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:12645 +msgid "(\"mem\" \"standby\" \"freeze\")" +msgstr "" + +#. type: item +#: doc/guix.texi:12645 +#, no-wrap +msgid "suspend-mode" +msgstr "" + +#. type: item +#: doc/guix.texi:12647 +#, no-wrap +msgid "hibernate-state" +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:12649 doc/guix.texi:12653 +msgid "(\"disk\")" +msgstr "" + +#. type: item +#: doc/guix.texi:12649 +#, no-wrap +msgid "hibernate-mode" +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:12651 +msgid "(\"platform\" \"shutdown\")" +msgstr "" + +#. type: item +#: doc/guix.texi:12651 +#, no-wrap +msgid "hybrid-sleep-state" +msgstr "" + +#. type: item +#: doc/guix.texi:12653 +#, no-wrap +msgid "hybrid-sleep-mode" +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:12655 +msgid "(\"suspend\" \"platform\" \"shutdown\")" +msgstr "" + +#. type: deffn +#: doc/guix.texi:12658 +#, no-wrap +msgid "{Scheme Procedure} accountsservice-service @" +msgstr "" + +#. type: deffn +#: doc/guix.texi:12666 +msgid "" +"[#:accountsservice @var{accountsservice}] Return a service that runs " +"AccountsService, a system service that can list available accounts, change " +"their passwords, and so on. AccountsService integrates with PolicyKit to " +"enable unprivileged users to acquire the capability to modify their system " +"configuration. " +"@uref{https://www.freedesktop.org/wiki/Software/AccountsService/, the " +"accountsservice web site} for more information." +msgstr "" + +#. type: deffn +#: doc/guix.texi:12669 +msgid "" +"The @var{accountsservice} keyword argument is the @code{accountsservice} " +"package to expose as a service." +msgstr "" + +#. type: deffn +#: doc/guix.texi:12671 +#, no-wrap +msgid "{Scheme Procedure} polkit-service @" +msgstr "" + +#. type: deffn +#: doc/guix.texi:12680 +msgid "" +"[#:polkit @var{polkit}] Return a service that runs the " +"@uref{http://www.freedesktop.org/wiki/Software/polkit/, Polkit privilege " +"management service}, which allows system administrators to grant access to " +"privileged operations in a structured way. By querying the Polkit service, " +"a privileged system component can know when it should grant additional " +"capabilities to ordinary users. For example, an ordinary user can be " +"granted the capability to suspend the system if the user is logged in " +"locally." +msgstr "" + +#. type: deffn +#: doc/guix.texi:12682 +#, no-wrap +msgid "{Scheme Procedure} upower-service [#:upower @var{upower}] @" +msgstr "" + +#. type: deffn +#: doc/guix.texi:12699 +msgid "" +"[#:watts-up-pro? #f] @ [#:poll-batteries? #t] @ [#:ignore-lid? #f] @ " +"[#:use-percentage-for-policy? #f] @ [#:percentage-low 10] @ " +"[#:percentage-critical 3] @ [#:percentage-action 2] @ [#:time-low 1200] @ " +"[#:time-critical 300] @ [#:time-action 120] @ [#:critical-power-action " +"'hybrid-sleep] Return a service that runs " +"@uref{http://upower.freedesktop.org/, @command{upowerd}}, a system-wide " +"monitor for power consumption and battery levels, with the given " +"configuration settings. It implements the @code{org.freedesktop.UPower} " +"D-Bus interface, and is notably used by GNOME." +msgstr "" + +#. type: deffn +#: doc/guix.texi:12701 +#, no-wrap +msgid "{Scheme Procedure} udisks-service [#:udisks @var{udisks}]" +msgstr "" + +#. type: deffn +#: doc/guix.texi:12706 +msgid "" +"Return a service for @uref{http://udisks.freedesktop.org/docs/latest/, " +"UDisks}, a @dfn{disk management} daemon that provides user interfaces with " +"notifications and ways to mount/unmount disks. Programs that talk to UDisks " +"include the @command{udisksctl} command, part of UDisks, and GNOME Disks." +msgstr "" + +#. type: deffn +#: doc/guix.texi:12708 +#, no-wrap +msgid "{Scheme Procedure} colord-service [#:colord @var{colord}]" +msgstr "" + +#. type: deffn +#: doc/guix.texi:12714 +msgid "" +"Return a service that runs @command{colord}, a system service with a D-Bus " +"interface to manage the color profiles of input and output devices such as " +"screens and scanners. It is notably used by the GNOME Color Manager " +"graphical tool. See @uref{http://www.freedesktop.org/software/colord/, the " +"colord web site} for more information." +msgstr "" + +#. type: deffn +#: doc/guix.texi:12716 +#, no-wrap +msgid "" +"{Scheme Procedure} geoclue-application name [#:allowed? #t] [#:system? #f] " +"[#:users '()]" +msgstr "" + +#. type: deffn +#: doc/guix.texi:12725 +msgid "" +"Return a configuration allowing an application to access GeoClue location " +"data. @var{name} is the Desktop ID of the application, without the " +"@code{.desktop} part. If @var{allowed?} is true, the application will have " +"access to location information by default. The boolean @var{system?} value " +"indicates whether an application is a system component or not. Finally " +"@var{users} is a list of UIDs of all users for which this application is " +"allowed location info access. An empty users list means that all users are " +"allowed." +msgstr "" + +#. type: defvr +#: doc/guix.texi:12727 +#, no-wrap +msgid "{Scheme Variable} %standard-geoclue-applications" +msgstr "" + +#. type: defvr +#: doc/guix.texi:12734 +msgid "" +"The standard list of well-known GeoClue application configurations, granting " +"authority to the GNOME date-and-time utility to ask for the current location " +"in order to set the time zone, and allowing the IceCat and Epiphany web " +"browsers to request location information. IceCat and Epiphany both query " +"the user before allowing a web page to know the user's location." +msgstr "" + +#. type: deffn +#: doc/guix.texi:12736 +#, no-wrap +msgid "{Scheme Procedure} geoclue-service [#:colord @var{colord}] @" +msgstr "" + +#. type: deffn +#: doc/guix.texi:12749 +msgid "" +"[#:whitelist '()] @ [#:wifi-geolocation-url " +"\"https://location.services.mozilla.com/v1/geolocate?key=geoclue\"] @ " +"[#:submit-data? #f] [#:wifi-submission-url " +"\"https://location.services.mozilla.com/v1/submit?key=geoclue\"] @ " +"[#:submission-nick \"geoclue\"] @ [#:applications " +"%standard-geoclue-applications] Return a service that runs the GeoClue " +"location service. This service provides a D-Bus interface to allow " +"applications to request access to a user's physical location, and optionally " +"to add information to online location databases. See " +"@uref{https://wiki.freedesktop.org/www/Software/GeoClue/, the GeoClue web " +"site} for more information." +msgstr "" + +#. type: deffn +#: doc/guix.texi:12751 +#, no-wrap +msgid "{Scheme Procedure} bluetooth-service [#:bluez @var{bluez}] @" +msgstr "" + +#. type: deffn +#: doc/guix.texi:12758 +msgid "" +"[@w{#:auto-enable? #f}] Return a service that runs the @command{bluetoothd} " +"daemon, which manages all the Bluetooth devices and provides a number of " +"D-Bus interfaces. When AUTO-ENABLE? is true, the bluetooth controller is " +"powered automatically at boot, which can be useful when using a bluetooth " +"keyboard or mouse." +msgstr "" + +#. type: deffn +#: doc/guix.texi:12760 +msgid "Users need to be in the @code{lp} group to access the D-Bus service." +msgstr "" + +#. type: cindex +#: doc/guix.texi:12766 +#, no-wrap +msgid "SQL" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:12768 +msgid "The @code{(gnu services databases)} module provides the following services." +msgstr "" + +#. type: deffn +#: doc/guix.texi:12769 +#, no-wrap +msgid "{Scheme Procedure} postgresql-service [#:postgresql postgresql] @" +msgstr "" + +#. type: deffn +#: doc/guix.texi:12774 +msgid "" +"[#:config-file] [#:data-directory ``/var/lib/postgresql/data''] @ [#:port " +"5432] [#:locale ``en_US.utf8''] Return a service that runs @var{postgresql}, " +"the PostgreSQL database server." +msgstr "" + +#. type: deffn +#: doc/guix.texi:12778 +msgid "" +"The PostgreSQL daemon loads its runtime configuration from " +"@var{config-file}, creates a database cluster with @var{locale} as the " +"default locale, stored in @var{data-directory}. It then listens on " +"@var{port}." +msgstr "" + +#. type: deffn +#: doc/guix.texi:12780 +#, no-wrap +msgid "{Scheme Procedure} mysql-service [#:config (mysql-configuration)]" +msgstr "" + +#. type: deffn +#: doc/guix.texi:12783 +msgid "" +"Return a service that runs @command{mysqld}, the MySQL or MariaDB database " +"server." +msgstr "" + +#. type: deffn +#: doc/guix.texi:12786 +msgid "" +"The optional @var{config} argument specifies the configuration for " +"@command{mysqld}, which should be a @code{<mysql-configuration>} object." +msgstr "" + +#. type: deftp +#: doc/guix.texi:12788 +#, no-wrap +msgid "{Data Type} mysql-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:12790 +msgid "Data type representing the configuration of @var{mysql-service}." +msgstr "" + +#. type: item +#: doc/guix.texi:12792 +#, no-wrap +msgid "@code{mysql} (default: @var{mariadb})" +msgstr "" + +#. type: table +#: doc/guix.texi:12795 +msgid "" +"Package object of the MySQL database server, can be either @var{mariadb} or " +"@var{mysql}." +msgstr "" + +#. type: table +#: doc/guix.texi:12798 +msgid "" +"For MySQL, a temporary root password will be displayed at activation time. " +"For MariaDB, the root password is empty." +msgstr "" + +#. type: item +#: doc/guix.texi:12799 +#, no-wrap +msgid "@code{port} (default: @code{3306})" +msgstr "" + +#. type: table +#: doc/guix.texi:12801 +msgid "TCP port on which the database server listens for incoming connections." +msgstr "" + +#. type: defvr +#: doc/guix.texi:12804 +#, no-wrap +msgid "{Scheme Variable} memcached-service-type" +msgstr "" + +#. type: defvr +#: doc/guix.texi:12808 +msgid "" +"This is the service type for the @uref{https://memcached.org/, Memcached} " +"service, which provides a distributed in memory cache. The value for the " +"service type is a @code{memcached-configuration} object." +msgstr "" + +#. type: example +#: doc/guix.texi:12812 +#, no-wrap +msgid "(service memcached-service-type)\n" +msgstr "" + +#. type: deftp +#: doc/guix.texi:12814 +#, no-wrap +msgid "{Data Type} memcached-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:12816 +msgid "Data type representing the configuration of memcached." +msgstr "" + +#. type: item +#: doc/guix.texi:12818 +#, no-wrap +msgid "@code{memcached} (default: @code{memcached})" +msgstr "" + +#. type: table +#: doc/guix.texi:12820 +msgid "The Memcached package to use." +msgstr "" + +#. type: item +#: doc/guix.texi:12821 +#, no-wrap +msgid "@code{interfaces} (default: @code{'(\"0.0.0.0\")})" +msgstr "" + +#. type: table +#: doc/guix.texi:12823 +msgid "Network interfaces on which to listen." +msgstr "" + +#. type: item +#: doc/guix.texi:12824 +#, no-wrap +msgid "@code{tcp-port} (default: @code{11211})" +msgstr "" + +#. type: table +#: doc/guix.texi:12826 +msgid "Port on which to accept connections on," +msgstr "" + +#. type: item +#: doc/guix.texi:12827 +#, no-wrap +msgid "@code{udp-port} (default: @code{11211})" +msgstr "" + +#. type: table +#: doc/guix.texi:12830 +msgid "" +"Port on which to accept UDP connections on, a value of 0 will disable " +"listening on a UDP socket." +msgstr "" + +#. type: item +#: doc/guix.texi:12831 +#, no-wrap +msgid "@code{additional-options} (default: @code{'()})" +msgstr "" + +#. type: table +#: doc/guix.texi:12833 +msgid "Additional command line options to pass to @code{memcached}." +msgstr "" + +#. type: defvr +#: doc/guix.texi:12836 +#, no-wrap +msgid "{Scheme Variable} mongodb-service-type" +msgstr "" + +#. type: defvr +#: doc/guix.texi:12839 +msgid "" +"This is the service type for @uref{https://www.mongodb.com/, MongoDB}. The " +"value for the service type is a @code{mongodb-configuration} object." +msgstr "" + +#. type: example +#: doc/guix.texi:12843 +#, no-wrap +msgid "(service mongodb-service-type)\n" +msgstr "" + +#. type: deftp +#: doc/guix.texi:12845 +#, no-wrap +msgid "{Data Type} mongodb-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:12847 +msgid "Data type representing the configuration of mongodb." +msgstr "" + +#. type: item +#: doc/guix.texi:12849 +#, no-wrap +msgid "@code{mongodb} (default: @code{mongodb})" +msgstr "" + +#. type: table +#: doc/guix.texi:12851 +msgid "The MongoDB package to use." +msgstr "" + +#. type: item +#: doc/guix.texi:12852 +#, no-wrap +msgid "@code{config-file} (default: @code{%default-mongodb-configuration-file})" +msgstr "" + +#. type: table +#: doc/guix.texi:12854 +msgid "The configuration file for MongoDB." +msgstr "" + +#. type: item +#: doc/guix.texi:12855 +#, no-wrap +msgid "@code{data-directory} (default: @code{\"/var/lib/mongodb\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:12859 +msgid "" +"This value is used to create the directory, so that it exists and is owned " +"by the mongodb user. It should match the data-directory which MongoDB is " +"configured to use through the configuration file." +msgstr "" + +#. type: defvr +#: doc/guix.texi:12862 +#, no-wrap +msgid "{Scheme Variable} redis-service-type" +msgstr "" + +#. type: defvr +#: doc/guix.texi:12865 +msgid "" +"This is the service type for the @uref{https://redis.io/, Redis} key/value " +"store, whose value is a @code{redis-configuration} object." +msgstr "" + +#. type: deftp +#: doc/guix.texi:12867 +#, no-wrap +msgid "{Data Type} redis-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:12869 +msgid "Data type representing the configuration of redis." +msgstr "" + +#. type: item +#: doc/guix.texi:12871 +#, no-wrap +msgid "@code{redis} (default: @code{redis})" +msgstr "" + +#. type: table +#: doc/guix.texi:12873 +msgid "The Redis package to use." +msgstr "" + +#. type: item +#: doc/guix.texi:12874 +#, no-wrap +msgid "@code{bind} (default: @code{\"127.0.0.1\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:12876 +msgid "Network interface on which to listen." +msgstr "" + +#. type: item +#: doc/guix.texi:12877 +#, no-wrap +msgid "@code{port} (default: @code{6379})" +msgstr "" + +#. type: table +#: doc/guix.texi:12880 +msgid "" +"Port on which to accept connections on, a value of 0 will disable listening " +"on a TCP socket." +msgstr "" + +#. type: item +#: doc/guix.texi:12881 +#, no-wrap +msgid "@code{working-directory} (default: @code{\"/var/lib/redis\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:12883 +msgid "Directory in which to store the database and related files." +msgstr "" + +#. type: cindex +#: doc/guix.texi:12889 +#, no-wrap +msgid "mail" +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:12890 doc/guix.texi:15985 +#, no-wrap +msgid "email" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:12895 +msgid "" +"The @code{(gnu services mail)} module provides Guix service definitions for " +"email services: IMAP, POP3, and LMTP servers, as well as mail transport " +"agents (MTAs). Lots of acronyms! These services are detailed in the " +"subsections below." +msgstr "" + +#. type: subsubheading +#: doc/guix.texi:12896 +#, no-wrap +msgid "Dovecot Service" +msgstr "" + +#. type: deffn +#: doc/guix.texi:12898 +#, no-wrap +msgid "{Scheme Procedure} dovecot-service [#:config (dovecot-configuration)]" +msgstr "" + +#. type: deffn +#: doc/guix.texi:12900 +msgid "Return a service that runs the Dovecot IMAP/POP3/LMTP mail server." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:12910 +msgid "" +"By default, Dovecot does not need much configuration; the default " +"configuration object created by @code{(dovecot-configuration)} will suffice " +"if your mail is delivered to @code{~/Maildir}. A self-signed certificate " +"will be generated for TLS-protected connections, though Dovecot will also " +"listen on cleartext ports by default. There are a number of options, " +"though, which mail administrators might need to change, and as is the case " +"with other services, Guix allows the system administrator to specify these " +"parameters via a uniform Scheme interface." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:12913 +msgid "" +"For example, to specify that mail is located at @code{maildir~/.mail}, one " +"would instantiate the Dovecot service like this:" +msgstr "" + +#. type: example +#: doc/guix.texi:12918 +#, no-wrap +msgid "" +"(dovecot-service #:config\n" +" (dovecot-configuration\n" +" (mail-location \"maildir:~/.mail\")))\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:12926 +msgid "" +"The available configuration parameters follow. Each parameter definition is " +"preceded by its type; for example, @samp{string-list foo} indicates that the " +"@code{foo} parameter should be specified as a list of strings. There is " +"also a way to specify the configuration as a string, if you have an old " +"@code{dovecot.conf} file that you want to port over from some other system; " +"see the end for more details." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:12936 +msgid "Available @code{dovecot-configuration} fields are:" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12937 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} package dovecot" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12939 doc/guix.texi:14226 +msgid "The dovecot package." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12941 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} comma-separated-string-list listen" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12947 +msgid "" +"A list of IPs or hosts where to listen for connections. @samp{*} listens on " +"all IPv4 interfaces, @samp{::} listens on all IPv6 interfaces. If you want " +"to specify non-default ports or anything more complex, customize the address " +"and port fields of the @samp{inet-listener} of the specific services you are " +"interested in." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12949 +#, no-wrap +msgid "" +"{@code{dovecot-configuration} parameter} protocol-configuration-list " +"protocols" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12952 +msgid "" +"List of protocols we want to serve. Available protocols include " +"@samp{imap}, @samp{pop3}, and @samp{lmtp}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12954 +msgid "Available @code{protocol-configuration} fields are:" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12955 +#, no-wrap +msgid "{@code{protocol-configuration} parameter} string name" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12957 +msgid "The name of the protocol." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12959 +#, no-wrap +msgid "{@code{protocol-configuration} parameter} string auth-socket-path" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12963 +msgid "" +"UNIX socket path to the master authentication server to find users. This is " +"used by imap (for shared users) and lda. It defaults to " +"@samp{\"/var/run/dovecot/auth-userdb\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12965 +#, no-wrap +msgid "" +"{@code{protocol-configuration} parameter} space-separated-string-list " +"mail-plugins" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12967 +msgid "Space separated list of plugins to load." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12969 +#, no-wrap +msgid "" +"{@code{protocol-configuration} parameter} non-negative-integer " +"mail-max-userip-connections" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12973 +msgid "" +"Maximum number of IMAP connections allowed for a user from each IP address. " +"NOTE: The username is compared case-sensitively. Defaults to @samp{10}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12977 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} service-configuration-list services" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12981 +msgid "" +"List of services to enable. Available services include @samp{imap}, " +"@samp{imap-login}, @samp{pop3}, @samp{pop3-login}, @samp{auth}, and " +"@samp{lmtp}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12983 +msgid "Available @code{service-configuration} fields are:" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12984 +#, no-wrap +msgid "{@code{service-configuration} parameter} string kind" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12989 +msgid "" +"The service kind. Valid values include @code{director}, @code{imap-login}, " +"@code{pop3-login}, @code{lmtp}, @code{imap}, @code{pop3}, @code{auth}, " +"@code{auth-worker}, @code{dict}, @code{tcpwrap}, @code{quota-warning}, or " +"anything else." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12991 +#, no-wrap +msgid "" +"{@code{service-configuration} parameter} listener-configuration-list " +"listeners" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12996 +msgid "" +"Listeners for the service. A listener is either a " +"@code{unix-listener-configuration}, a @code{fifo-listener-configuration}, or " +"an @code{inet-listener-configuration}. Defaults to @samp{()}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12998 +msgid "Available @code{unix-listener-configuration} fields are:" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:12999 +#, no-wrap +msgid "{@code{unix-listener-configuration} parameter} string path" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13002 doc/guix.texi:13025 +msgid "" +"Path to the file, relative to @code{base-dir} field. This is also used as " +"the section name." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13004 +#, no-wrap +msgid "{@code{unix-listener-configuration} parameter} string mode" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13007 doc/guix.texi:13030 +msgid "The access mode for the socket. Defaults to @samp{\"0600\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13009 +#, no-wrap +msgid "{@code{unix-listener-configuration} parameter} string user" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13012 doc/guix.texi:13035 +msgid "The user to own the socket. Defaults to @samp{\"\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13014 +#, no-wrap +msgid "{@code{unix-listener-configuration} parameter} string group" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13017 doc/guix.texi:13040 +msgid "The group to own the socket. Defaults to @samp{\"\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13021 +msgid "Available @code{fifo-listener-configuration} fields are:" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13022 +#, no-wrap +msgid "{@code{fifo-listener-configuration} parameter} string path" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13027 +#, no-wrap +msgid "{@code{fifo-listener-configuration} parameter} string mode" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13032 +#, no-wrap +msgid "{@code{fifo-listener-configuration} parameter} string user" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13037 +#, no-wrap +msgid "{@code{fifo-listener-configuration} parameter} string group" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13044 +msgid "Available @code{inet-listener-configuration} fields are:" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13045 +#, no-wrap +msgid "{@code{inet-listener-configuration} parameter} string protocol" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13047 +msgid "The protocol to listen for." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13049 +#, no-wrap +msgid "{@code{inet-listener-configuration} parameter} string address" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13052 +msgid "" +"The address on which to listen, or empty for all addresses. Defaults to " +"@samp{\"\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13054 +#, no-wrap +msgid "{@code{inet-listener-configuration} parameter} non-negative-integer port" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13056 +msgid "The port on which to listen." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13058 +#, no-wrap +msgid "{@code{inet-listener-configuration} parameter} boolean ssl?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13062 +msgid "" +"Whether to use SSL for this service; @samp{yes}, @samp{no}, or " +"@samp{required}. Defaults to @samp{#t}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13066 +#, no-wrap +msgid "{@code{service-configuration} parameter} non-negative-integer service-count" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13071 +msgid "" +"Number of connections to handle before starting a new process. Typically " +"the only useful values are 0 (unlimited) or 1. 1 is more secure, but 0 is " +"faster. <doc/wiki/LoginProcess.txt>. Defaults to @samp{1}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13073 +#, no-wrap +msgid "" +"{@code{service-configuration} parameter} non-negative-integer " +"process-min-avail" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13076 +msgid "" +"Number of processes to always keep waiting for more connections. Defaults " +"to @samp{0}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13078 +#, no-wrap +msgid "{@code{service-configuration} parameter} non-negative-integer vsz-limit" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13082 +msgid "" +"If you set @samp{service-count 0}, you probably need to grow this. Defaults " +"to @samp{256000000}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13086 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} dict-configuration dict" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13089 +msgid "Dict configuration, as created by the @code{dict-configuration} constructor." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13091 +msgid "Available @code{dict-configuration} fields are:" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13092 +#, no-wrap +msgid "{@code{dict-configuration} parameter} free-form-fields entries" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13095 +msgid "" +"A list of key-value pairs that this dict should hold. Defaults to " +"@samp{()}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13099 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} passdb-configuration-list passdbs" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13102 +msgid "" +"A list of passdb configurations, each one created by the " +"@code{passdb-configuration} constructor." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13104 +msgid "Available @code{passdb-configuration} fields are:" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13105 +#, no-wrap +msgid "{@code{passdb-configuration} parameter} string driver" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13110 +msgid "" +"The driver that the passdb should use. Valid values include @samp{pam}, " +"@samp{passwd}, @samp{shadow}, @samp{bsdauth}, and @samp{static}. Defaults " +"to @samp{\"pam\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13112 +#, no-wrap +msgid "{@code{passdb-configuration} parameter} space-separated-string-list args" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13115 +msgid "" +"Space separated list of arguments to the passdb driver. Defaults to " +"@samp{\"\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13119 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} userdb-configuration-list userdbs" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13122 +msgid "" +"List of userdb configurations, each one created by the " +"@code{userdb-configuration} constructor." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13124 +msgid "Available @code{userdb-configuration} fields are:" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13125 +#, no-wrap +msgid "{@code{userdb-configuration} parameter} string driver" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13129 +msgid "" +"The driver that the userdb should use. Valid values include @samp{passwd} " +"and @samp{static}. Defaults to @samp{\"passwd\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13131 +#, no-wrap +msgid "{@code{userdb-configuration} parameter} space-separated-string-list args" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13134 +msgid "" +"Space separated list of arguments to the userdb driver. Defaults to " +"@samp{\"\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13136 +#, no-wrap +msgid "{@code{userdb-configuration} parameter} free-form-args override-fields" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13139 +msgid "Override fields from passwd. Defaults to @samp{()}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13143 +#, no-wrap +msgid "" +"{@code{dovecot-configuration} parameter} plugin-configuration " +"plugin-configuration" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13146 +msgid "" +"Plug-in configuration, created by the @code{plugin-configuration} " +"constructor." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13148 +#, no-wrap +msgid "" +"{@code{dovecot-configuration} parameter} list-of-namespace-configuration " +"namespaces" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13151 +msgid "" +"List of namespaces. Each item in the list is created by the " +"@code{namespace-configuration} constructor." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13153 +msgid "Available @code{namespace-configuration} fields are:" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13154 +#, no-wrap +msgid "{@code{namespace-configuration} parameter} string name" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13156 +msgid "Name for this namespace." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13158 +#, no-wrap +msgid "{@code{namespace-configuration} parameter} string type" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13161 +msgid "" +"Namespace type: @samp{private}, @samp{shared} or @samp{public}. Defaults to " +"@samp{\"private\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13163 +#, no-wrap +msgid "{@code{namespace-configuration} parameter} string separator" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13169 +msgid "" +"Hierarchy separator to use. You should use the same separator for all " +"namespaces or some clients get confused. @samp{/} is usually a good one. " +"The default however depends on the underlying mail storage format. Defaults " +"to @samp{\"\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13171 +#, no-wrap +msgid "{@code{namespace-configuration} parameter} string prefix" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13175 +msgid "" +"Prefix required to access this namespace. This needs to be different for " +"all namespaces. For example @samp{Public/}. Defaults to @samp{\"\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13177 +#, no-wrap +msgid "{@code{namespace-configuration} parameter} string location" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13181 +msgid "" +"Physical location of the mailbox. This is in the same format as " +"mail_location, which is also the default for it. Defaults to @samp{\"\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13183 +#, no-wrap +msgid "{@code{namespace-configuration} parameter} boolean inbox?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13187 +msgid "" +"There can be only one INBOX, and this setting defines which namespace has " +"it. Defaults to @samp{#f}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13189 +#, no-wrap +msgid "{@code{namespace-configuration} parameter} boolean hidden?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13197 +msgid "" +"If namespace is hidden, it's not advertised to clients via NAMESPACE " +"extension. You'll most likely also want to set @samp{list? #f}. This is " +"mostly useful when converting from another server with different namespaces " +"which you want to deprecate but still keep working. For example you can " +"create hidden namespaces with prefixes @samp{~/mail/}, @samp{~%u/mail/} and " +"@samp{mail/}. Defaults to @samp{#f}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13199 +#, no-wrap +msgid "{@code{namespace-configuration} parameter} boolean list?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13205 +msgid "" +"Show the mailboxes under this namespace with the LIST command. This makes " +"the namespace visible for clients that do not support the NAMESPACE " +"extension. The special @code{children} value lists child mailboxes, but " +"hides the namespace prefix. Defaults to @samp{#t}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13207 +#, no-wrap +msgid "{@code{namespace-configuration} parameter} boolean subscriptions?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13212 +msgid "" +"Namespace handles its own subscriptions. If set to @code{#f}, the parent " +"namespace handles them. The empty prefix should always have this as " +"@code{#t}). Defaults to @samp{#t}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13214 +#, no-wrap +msgid "" +"{@code{namespace-configuration} parameter} mailbox-configuration-list " +"mailboxes" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13217 +msgid "List of predefined mailboxes in this namespace. Defaults to @samp{()}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13219 +msgid "Available @code{mailbox-configuration} fields are:" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13220 +#, no-wrap +msgid "{@code{mailbox-configuration} parameter} string name" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13222 +msgid "Name for this mailbox." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13224 +#, no-wrap +msgid "{@code{mailbox-configuration} parameter} string auto" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13228 +msgid "" +"@samp{create} will automatically create this mailbox. @samp{subscribe} will " +"both create and subscribe to the mailbox. Defaults to @samp{\"no\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13230 +#, no-wrap +msgid "" +"{@code{mailbox-configuration} parameter} space-separated-string-list " +"special-use" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13235 +msgid "" +"List of IMAP @code{SPECIAL-USE} attributes as specified by RFC 6154. Valid " +"values are @code{\\All}, @code{\\Archive}, @code{\\Drafts}, " +"@code{\\Flagged}, @code{\\Junk}, @code{\\Sent}, and @code{\\Trash}. " +"Defaults to @samp{()}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13241 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} file-name base-dir" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13244 +msgid "" +"Base directory where to store runtime data. Defaults to " +"@samp{\"/var/run/dovecot/\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13246 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string login-greeting" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13249 +msgid "Greeting message for clients. Defaults to @samp{\"Dovecot ready.\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13251 +#, no-wrap +msgid "" +"{@code{dovecot-configuration} parameter} space-separated-string-list " +"login-trusted-networks" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13258 +msgid "" +"List of trusted network ranges. Connections from these IPs are allowed to " +"override their IP addresses and ports (for logging and for authentication " +"checks). @samp{disable-plaintext-auth} is also ignored for these networks. " +"Typically you would specify your IMAP proxy servers here. Defaults to " +"@samp{()}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13260 +#, no-wrap +msgid "" +"{@code{dovecot-configuration} parameter} space-separated-string-list " +"login-access-sockets" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13263 +msgid "List of login access check sockets (e.g. tcpwrap). Defaults to @samp{()}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13265 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} boolean verbose-proctitle?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13271 +msgid "" +"Show more verbose process titles (in ps). Currently shows user name and IP " +"address. Useful for seeing who is actually using the IMAP processes " +"(e.g. shared mailboxes or if the same uid is used for multiple accounts). " +"Defaults to @samp{#f}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13273 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} boolean shutdown-clients?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13279 +msgid "" +"Should all processes be killed when Dovecot master process shuts down. " +"Setting this to @code{#f} means that Dovecot can be upgraded without forcing " +"existing client connections to close (although that could also be a problem " +"if the upgrade is e.g. due to a security fix). Defaults to @samp{#t}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13281 +#, no-wrap +msgid "" +"{@code{dovecot-configuration} parameter} non-negative-integer " +"doveadm-worker-count" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13285 +msgid "" +"If non-zero, run mail commands via this many connections to doveadm server, " +"instead of running them directly in the same process. Defaults to @samp{0}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13287 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string doveadm-socket-path" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13290 +msgid "" +"UNIX socket or host:port used for connecting to doveadm server. Defaults to " +"@samp{\"doveadm-server\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13292 +#, no-wrap +msgid "" +"{@code{dovecot-configuration} parameter} space-separated-string-list " +"import-environment" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13296 +msgid "" +"List of environment variables that are preserved on Dovecot startup and " +"passed down to all of its child processes. You can also give key=value " +"pairs to always set specific settings." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13298 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} boolean disable-plaintext-auth?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13305 +msgid "" +"Disable LOGIN command and all other plaintext authentications unless SSL/TLS " +"is used (LOGINDISABLED capability). Note that if the remote IP matches the " +"local IP (i.e. you're connecting from the same computer), the connection is " +"considered secure and plaintext authentication is allowed. See also " +"ssl=required setting. Defaults to @samp{#t}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13307 +#, no-wrap +msgid "" +"{@code{dovecot-configuration} parameter} non-negative-integer " +"auth-cache-size" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13312 +msgid "" +"Authentication cache size (e.g. @samp{#e10e6}). 0 means it's disabled. " +"Note that bsdauth, PAM and vpopmail require @samp{cache-key} to be set for " +"caching to be used. Defaults to @samp{0}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13314 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string auth-cache-ttl" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13322 +msgid "" +"Time to live for cached data. After TTL expires the cached record is no " +"longer used, *except* if the main database lookup returns internal failure. " +"We also try to handle password changes automatically: If user's previous " +"authentication was successful, but this one wasn't, the cache isn't used. " +"For now this works only with plaintext authentication. Defaults to " +"@samp{\"1 hour\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13324 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string auth-cache-negative-ttl" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13328 +msgid "" +"TTL for negative hits (user not found, password mismatch). 0 disables " +"caching them completely. Defaults to @samp{\"1 hour\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13330 +#, no-wrap +msgid "" +"{@code{dovecot-configuration} parameter} space-separated-string-list " +"auth-realms" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13336 +msgid "" +"List of realms for SASL authentication mechanisms that need them. You can " +"leave it empty if you don't want to support multiple realms. Many clients " +"simply use the first one listed here, so keep the default realm first. " +"Defaults to @samp{()}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13338 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string auth-default-realm" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13343 +msgid "" +"Default realm/domain to use if none was specified. This is used for both " +"SASL realms and appending @@domain to username in plaintext logins. " +"Defaults to @samp{\"\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13345 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string auth-username-chars" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13352 +msgid "" +"List of allowed characters in username. If the user-given username contains " +"a character not listed in here, the login automatically fails. This is just " +"an extra check to make sure user can't exploit any potential quote escaping " +"vulnerabilities with SQL/LDAP databases. If you want to allow all " +"characters, set this value to empty. Defaults to " +"@samp{\"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890.-_@@\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13354 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string auth-username-translation" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13360 +msgid "" +"Username character translations before it's looked up from databases. The " +"value contains series of from -> to characters. For example @samp{#@@/@@} " +"means that @samp{#} and @samp{/} characters are translated to @samp{@@}. " +"Defaults to @samp{\"\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13362 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string auth-username-format" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13369 +msgid "" +"Username formatting before it's looked up from databases. You can use the " +"standard variables here, e.g. %Lu would lowercase the username, %n would " +"drop away the domain if it was given, or @samp{%n-AT-%d} would change the " +"@samp{@@} into @samp{-AT-}. This translation is done after " +"@samp{auth-username-translation} changes. Defaults to @samp{\"%Lu\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13371 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string auth-master-user-separator" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13379 +msgid "" +"If you want to allow master users to log in by specifying the master " +"username within the normal username string (i.e. not using SASL mechanism's " +"support for it), you can specify the separator character here. The format " +"is then <username><separator><master username>. UW-IMAP uses @samp{*} as " +"the separator, so that could be a good choice. Defaults to @samp{\"\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13381 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string auth-anonymous-username" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13385 +msgid "" +"Username to use for users logging in with ANONYMOUS SASL mechanism. " +"Defaults to @samp{\"anonymous\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13387 +#, no-wrap +msgid "" +"{@code{dovecot-configuration} parameter} non-negative-integer " +"auth-worker-max-count" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13392 +msgid "" +"Maximum number of dovecot-auth worker processes. They're used to execute " +"blocking passdb and userdb queries (e.g. MySQL and PAM). They're " +"automatically created and destroyed as needed. Defaults to @samp{30}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13394 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string auth-gssapi-hostname" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13399 +msgid "" +"Host name to use in GSSAPI principal names. The default is to use the name " +"returned by gethostname(). Use @samp{$ALL} (with quotes) to allow all " +"keytab entries. Defaults to @samp{\"\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13401 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string auth-krb5-keytab" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13407 +msgid "" +"Kerberos keytab to use for the GSSAPI mechanism. Will use the system " +"default (usually @file{/etc/krb5.keytab}) if not specified. You may need to " +"change the auth service to run as root to be able to read this file. " +"Defaults to @samp{\"\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13409 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} boolean auth-use-winbind?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13414 +msgid "" +"Do NTLM and GSS-SPNEGO authentication using Samba's winbind daemon and " +"@samp{ntlm-auth} helper. <doc/wiki/Authentication/Mechanisms/Winbind.txt>. " +"Defaults to @samp{#f}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13416 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} file-name auth-winbind-helper-path" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13419 +msgid "" +"Path for Samba's @samp{ntlm-auth} helper binary. Defaults to " +"@samp{\"/usr/bin/ntlm_auth\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13421 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string auth-failure-delay" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13424 +msgid "" +"Time to delay before replying to failed authentications. Defaults to " +"@samp{\"2 secs\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13426 +#, no-wrap +msgid "" +"{@code{dovecot-configuration} parameter} boolean " +"auth-ssl-require-client-cert?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13430 +msgid "" +"Require a valid SSL client certificate or the authentication fails. " +"Defaults to @samp{#f}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13432 +#, no-wrap +msgid "" +"{@code{dovecot-configuration} parameter} boolean " +"auth-ssl-username-from-cert?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13437 +msgid "" +"Take the username from client's SSL certificate, using " +"@code{X509_NAME_get_text_by_NID()} which returns the subject's DN's " +"CommonName. Defaults to @samp{#f}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13439 +#, no-wrap +msgid "" +"{@code{dovecot-configuration} parameter} space-separated-string-list " +"auth-mechanisms" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13445 +msgid "" +"List of wanted authentication mechanisms. Supported mechanisms are: " +"@samp{plain}, @samp{login}, @samp{digest-md5}, @samp{cram-md5}, @samp{ntlm}, " +"@samp{rpa}, @samp{apop}, @samp{anonymous}, @samp{gssapi}, @samp{otp}, " +"@samp{skey}, and @samp{gss-spnego}. NOTE: See also " +"@samp{disable-plaintext-auth} setting." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13447 +#, no-wrap +msgid "" +"{@code{dovecot-configuration} parameter} space-separated-string-list " +"director-servers" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13452 +msgid "" +"List of IPs or hostnames to all director servers, including ourself. Ports " +"can be specified as ip:port. The default port is the same as what director " +"service's @samp{inet-listener} is using. Defaults to @samp{()}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13454 +#, no-wrap +msgid "" +"{@code{dovecot-configuration} parameter} space-separated-string-list " +"director-mail-servers" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13458 +msgid "" +"List of IPs or hostnames to all backend mail servers. Ranges are allowed " +"too, like 10.0.0.10-10.0.0.30. Defaults to @samp{()}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13460 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string director-user-expire" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13464 +msgid "" +"How long to redirect users to a specific server after it no longer has any " +"connections. Defaults to @samp{\"15 min\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13466 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string director-username-hash" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13471 +msgid "" +"How the username is translated before being hashed. Useful values include " +"%Ln if user can log in with or without @@domain, %Ld if mailboxes are shared " +"within domain. Defaults to @samp{\"%Lu\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13473 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string log-path" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13477 +msgid "" +"Log file to use for error messages. @samp{syslog} logs to syslog, " +"@samp{/dev/stderr} logs to stderr. Defaults to @samp{\"syslog\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13479 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string info-log-path" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13483 +msgid "" +"Log file to use for informational messages. Defaults to @samp{log-path}. " +"Defaults to @samp{\"\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13485 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string debug-log-path" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13489 +msgid "" +"Log file to use for debug messages. Defaults to @samp{info-log-path}. " +"Defaults to @samp{\"\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13491 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string syslog-facility" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13496 +msgid "" +"Syslog facility to use if you're logging to syslog. Usually if you don't " +"want to use @samp{mail}, you'll use local0..local7. Also other standard " +"facilities are supported. Defaults to @samp{\"mail\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13498 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} boolean auth-verbose?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13502 +msgid "" +"Log unsuccessful authentication attempts and the reasons why they failed. " +"Defaults to @samp{#f}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13504 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} boolean auth-verbose-passwords?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13511 +msgid "" +"In case of password mismatches, log the attempted password. Valid values " +"are no, plain and sha1. sha1 can be useful for detecting brute force " +"password attempts vs. user simply trying the same password over and over " +"again. You can also truncate the value to n chars by appending \":n\" " +"(e.g. sha1:6). Defaults to @samp{#f}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13513 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} boolean auth-debug?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13517 +msgid "" +"Even more verbose logging for debugging purposes. Shows for example SQL " +"queries. Defaults to @samp{#f}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13519 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} boolean auth-debug-passwords?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13524 +msgid "" +"In case of password mismatches, log the passwords and used scheme so the " +"problem can be debugged. Enabling this also enables @samp{auth-debug}. " +"Defaults to @samp{#f}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13526 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} boolean mail-debug?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13530 +msgid "" +"Enable mail process debugging. This can help you figure out why Dovecot " +"isn't finding your mails. Defaults to @samp{#f}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13532 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} boolean verbose-ssl?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13535 +msgid "Show protocol level SSL errors. Defaults to @samp{#f}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13537 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string log-timestamp" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13541 +msgid "" +"Prefix for each line written to log file. % codes are in strftime(3) " +"format. Defaults to @samp{\"\\\"%b %d %H:%M:%S \\\"\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13543 +#, no-wrap +msgid "" +"{@code{dovecot-configuration} parameter} space-separated-string-list " +"login-log-format-elements" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13547 +msgid "" +"List of elements we want to log. The elements which have a non-empty " +"variable value are joined together to form a comma-separated string." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13549 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string login-log-format" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13553 +msgid "" +"Login log format. %s contains @samp{login-log-format-elements} string, %$ " +"contains the data we want to log. Defaults to @samp{\"%$: %s\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13555 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string mail-log-prefix" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13559 +msgid "" +"Log prefix for mail processes. See doc/wiki/Variables.txt for list of " +"possible variables you can use. Defaults to " +"@samp{\"\\\"%s(%u)<%@{pid@}><%@{session@}>: \\\"\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13561 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string deliver-log-format" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13563 +msgid "Format to use for logging mail deliveries. You can use variables:" +msgstr "" + +#. type: item +#: doc/guix.texi:13564 +#, no-wrap +msgid "%$" +msgstr "" + +#. type: table +#: doc/guix.texi:13566 +msgid "Delivery status message (e.g. @samp{saved to INBOX})" +msgstr "" + +#. type: item +#: doc/guix.texi:13566 +#, no-wrap +msgid "%m" +msgstr "" + +#. type: table +#: doc/guix.texi:13568 +msgid "Message-ID" +msgstr "" + +#. type: item +#: doc/guix.texi:13568 doc/guix.texi:14100 +#, no-wrap +msgid "%s" +msgstr "" + +#. type: table +#: doc/guix.texi:13570 +msgid "Subject" +msgstr "" + +#. type: item +#: doc/guix.texi:13570 +#, no-wrap +msgid "%f" +msgstr "" + +#. type: table +#: doc/guix.texi:13572 +msgid "From address" +msgstr "" + +#. type: table +#: doc/guix.texi:13574 +msgid "Physical size" +msgstr "" + +#. type: item +#: doc/guix.texi:13574 +#, no-wrap +msgid "%w" +msgstr "" + +#. type: table +#: doc/guix.texi:13576 +msgid "Virtual size." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13578 +msgid "Defaults to @samp{\"msgid=%m: %$\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13580 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string mail-location" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13585 +msgid "" +"Location for users' mailboxes. The default is empty, which means that " +"Dovecot tries to find the mailboxes automatically. This won't work if the " +"user doesn't yet have any mail, so you should explicitly tell Dovecot the " +"full location." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13591 +msgid "" +"If you're using mbox, giving a path to the INBOX file (e.g. /var/mail/%u) " +"isn't enough. You'll also need to tell Dovecot where the other mailboxes " +"are kept. This is called the \"root mail directory\", and it must be the " +"first path given in the @samp{mail-location} setting." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13593 +msgid "There are a few special variables you can use, eg.:" +msgstr "" + +#. type: table +#: doc/guix.texi:13597 +msgid "username" +msgstr "" + +#. type: item +#: doc/guix.texi:13597 doc/guix.texi:14096 +#, no-wrap +msgid "%n" +msgstr "" + +#. type: table +#: doc/guix.texi:13599 +msgid "user part in user@@domain, same as %u if there's no domain" +msgstr "" + +#. type: item +#: doc/guix.texi:13599 +#, no-wrap +msgid "%d" +msgstr "" + +#. type: table +#: doc/guix.texi:13601 +msgid "domain part in user@@domain, empty if there's no domain" +msgstr "" + +#. type: item +#: doc/guix.texi:13601 +#, no-wrap +msgid "%h" +msgstr "" + +#. type: table +#: doc/guix.texi:13603 +msgid "home director" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13606 +msgid "See doc/wiki/Variables.txt for full list. Some examples:" +msgstr "" + +#. type: item +#: doc/guix.texi:13607 +#, no-wrap +msgid "maildir:~/Maildir" +msgstr "" + +#. type: item +#: doc/guix.texi:13608 +#, no-wrap +msgid "mbox:~/mail:INBOX=/var/mail/%u" +msgstr "" + +#. type: item +#: doc/guix.texi:13609 +#, no-wrap +msgid "mbox:/var/mail/%d/%1n/%n:INDEX=/var/indexes/%d/%1n/%" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13614 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string mail-uid" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13619 +msgid "" +"System user and group used to access mails. If you use multiple, userdb can " +"override these by returning uid or gid fields. You can use either numbers " +"or names. <doc/wiki/UserIds.txt>. Defaults to @samp{\"\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13621 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string mail-gid" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13626 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string mail-privileged-group" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13632 +msgid "" +"Group to enable temporarily for privileged operations. Currently this is " +"used only with INBOX when either its initial creation or dotlocking fails. " +"Typically this is set to \"mail\" to give access to /var/mail. Defaults to " +"@samp{\"\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13634 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string mail-access-groups" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13642 +msgid "" +"Grant access to these supplementary groups for mail processes. Typically " +"these are used to set up access to shared mailboxes. Note that it may be " +"dangerous to set these if users can create symlinks (e.g. if \"mail\" group " +"is set here, ln -s /var/mail ~/mail/var could allow a user to delete others' " +"mailboxes, or ln -s /secret/shared/box ~/mail/mybox would allow reading " +"it). Defaults to @samp{\"\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13644 +#, no-wrap +msgid "" +"{@code{dovecot-configuration} parameter} boolean " +"mail-full-filesystem-access?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13650 +msgid "" +"Allow full file system access to clients. There's no access checks other " +"than what the operating system does for the active UID/GID. It works with " +"both maildir and mboxes, allowing you to prefix mailboxes names with " +"e.g. /path/ or ~user/. Defaults to @samp{#f}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13652 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} boolean mmap-disable?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13656 +msgid "" +"Don't use mmap() at all. This is required if you store indexes to shared " +"file systems (NFS or clustered file system). Defaults to @samp{#f}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13658 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} boolean dotlock-use-excl?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13663 +msgid "" +"Rely on @samp{O_EXCL} to work when creating dotlock files. NFS supports " +"@samp{O_EXCL} since version 3, so this should be safe to use nowadays by " +"default. Defaults to @samp{#t}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13665 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string mail-fsync" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13667 +msgid "When to use fsync() or fdatasync() calls:" +msgstr "" + +#. type: item +#: doc/guix.texi:13668 +#, no-wrap +msgid "optimized" +msgstr "" + +#. type: table +#: doc/guix.texi:13670 +msgid "Whenever necessary to avoid losing important data" +msgstr "" + +#. type: table +#: doc/guix.texi:13672 +msgid "Useful with e.g. NFS when write()s are delayed" +msgstr "" + +#. type: table +#: doc/guix.texi:13674 +msgid "Never use it (best performance, but crashes can lose data)." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13676 +msgid "Defaults to @samp{\"optimized\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13678 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} boolean mail-nfs-storage?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13683 +msgid "" +"Mail storage exists in NFS. Set this to yes to make Dovecot flush NFS " +"caches whenever needed. If you're using only a single mail server this " +"isn't needed. Defaults to @samp{#f}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13685 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} boolean mail-nfs-index?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13689 +msgid "" +"Mail index files also exist in NFS. Setting this to yes requires " +"@samp{mmap-disable? #t} and @samp{fsync-disable? #f}. Defaults to " +"@samp{#f}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13691 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string lock-method" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13697 +msgid "" +"Locking method for index files. Alternatives are fcntl, flock and dotlock. " +"Dotlocking uses some tricks which may create more disk I/O than other " +"locking methods. NFS users: flock doesn't work, remember to change " +"@samp{mmap-disable}. Defaults to @samp{\"fcntl\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13699 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} file-name mail-temp-dir" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13703 +msgid "" +"Directory in which LDA/LMTP temporarily stores incoming mails >128 kB. " +"Defaults to @samp{\"/tmp\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13705 +#, no-wrap +msgid "" +"{@code{dovecot-configuration} parameter} non-negative-integer " +"first-valid-uid" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13711 +msgid "" +"Valid UID range for users. This is mostly to make sure that users can't log " +"in as daemons or other system users. Note that denying root logins is " +"hardcoded to dovecot binary and can't be done even if @samp{first-valid-uid} " +"is set to 0. Defaults to @samp{500}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13713 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} non-negative-integer last-valid-uid" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13718 +#, no-wrap +msgid "" +"{@code{dovecot-configuration} parameter} non-negative-integer " +"first-valid-gid" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13723 +msgid "" +"Valid GID range for users. Users having non-valid GID as primary group ID " +"aren't allowed to log in. If user belongs to supplementary groups with " +"non-valid GIDs, those groups are not set. Defaults to @samp{1}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13725 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} non-negative-integer last-valid-gid" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13730 +#, no-wrap +msgid "" +"{@code{dovecot-configuration} parameter} non-negative-integer " +"mail-max-keyword-length" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13734 +msgid "" +"Maximum allowed length for mail keyword name. It's only forced when trying " +"to create new keywords. Defaults to @samp{50}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13736 +#, no-wrap +msgid "" +"{@code{dovecot-configuration} parameter} colon-separated-file-name-list " +"valid-chroot-dirs" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13746 +msgid "" +"List of directories under which chrooting is allowed for mail processes " +"(i.e. /var/mail will allow chrooting to /var/mail/foo/bar too). This " +"setting doesn't affect @samp{login-chroot} @samp{mail-chroot} or auth chroot " +"settings. If this setting is empty, \"/./\" in home dirs are ignored. " +"WARNING: Never add directories here which local users can modify, that may " +"lead to root exploit. Usually this should be done only if you don't allow " +"shell access for users. <doc/wiki/Chrooting.txt>. Defaults to @samp{()}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13748 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string mail-chroot" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13757 +msgid "" +"Default chroot directory for mail processes. This can be overridden for " +"specific users in user database by giving /./ in user's home directory " +"(e.g. /home/./user chroots into /home). Note that usually there is no real " +"need to do chrooting, Dovecot doesn't allow users to access files outside " +"their mail directory anyway. If your home directories are prefixed with the " +"chroot directory, append \"/.\" to @samp{mail-chroot}. " +"<doc/wiki/Chrooting.txt>. Defaults to @samp{\"\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13759 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} file-name auth-socket-path" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13763 +msgid "" +"UNIX socket path to master authentication server to find users. This is " +"used by imap (for shared users) and lda. Defaults to " +"@samp{\"/var/run/dovecot/auth-userdb\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13765 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} file-name mail-plugin-dir" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13768 +msgid "" +"Directory where to look up mail plugins. Defaults to " +"@samp{\"/usr/lib/dovecot\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13770 +#, no-wrap +msgid "" +"{@code{dovecot-configuration} parameter} space-separated-string-list " +"mail-plugins" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13774 +msgid "" +"List of plugins to load for all services. Plugins specific to IMAP, LDA, " +"etc. are added to this list in their own .conf files. Defaults to " +"@samp{()}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13776 +#, no-wrap +msgid "" +"{@code{dovecot-configuration} parameter} non-negative-integer " +"mail-cache-min-mail-count" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13781 +msgid "" +"The minimum number of mails in a mailbox before updates are done to cache " +"file. This allows optimizing Dovecot's behavior to do less disk writes at " +"the cost of more disk reads. Defaults to @samp{0}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13783 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string mailbox-idle-check-interval" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13790 +msgid "" +"When IDLE command is running, mailbox is checked once in a while to see if " +"there are any new mails or other changes. This setting defines the minimum " +"time to wait between those checks. Dovecot can also use dnotify, inotify " +"and kqueue to find out immediately when changes occur. Defaults to " +"@samp{\"30 secs\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13792 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} boolean mail-save-crlf?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13799 +msgid "" +"Save mails with CR+LF instead of plain LF. This makes sending those mails " +"take less CPU, especially with sendfile() syscall with Linux and FreeBSD. " +"But it also creates a bit more disk I/O which may just make it slower. Also " +"note that if other software reads the mboxes/maildirs, they may handle the " +"extra CRs wrong and cause problems. Defaults to @samp{#f}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13801 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} boolean maildir-stat-dirs?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13809 +msgid "" +"By default LIST command returns all entries in maildir beginning with a " +"dot. Enabling this option makes Dovecot return only entries which are " +"directories. This is done by stat()ing each entry, so it causes more disk " +"I/O. (For systems setting struct @samp{dirent->d_type} this check is free " +"and it's done always regardless of this setting). Defaults to @samp{#f}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13811 +#, no-wrap +msgid "" +"{@code{dovecot-configuration} parameter} boolean " +"maildir-copy-with-hardlinks?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13816 +msgid "" +"When copying a message, do it with hard links whenever possible. This makes " +"the performance much better, and it's unlikely to have any side effects. " +"Defaults to @samp{#t}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13818 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} boolean maildir-very-dirty-syncs?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13823 +msgid "" +"Assume Dovecot is the only MUA accessing Maildir: Scan cur/ directory only " +"when its mtime changes unexpectedly or when we can't find the mail " +"otherwise. Defaults to @samp{#f}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13825 +#, no-wrap +msgid "" +"{@code{dovecot-configuration} parameter} space-separated-string-list " +"mbox-read-locks" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13828 +msgid "Which locking methods to use for locking mbox. There are four available:" +msgstr "" + +#. type: item +#: doc/guix.texi:13830 +#, no-wrap +msgid "dotlock" +msgstr "" + +#. type: table +#: doc/guix.texi:13834 +msgid "" +"Create <mailbox>.lock file. This is the oldest and most NFS-safe solution. " +"If you want to use /var/mail/ like directory, the users will need write " +"access to that directory." +msgstr "" + +#. type: item +#: doc/guix.texi:13834 +#, no-wrap +msgid "dotlock-try" +msgstr "" + +#. type: table +#: doc/guix.texi:13837 +msgid "" +"Same as dotlock, but if it fails because of permissions or because there " +"isn't enough disk space, just skip it." +msgstr "" + +#. type: item +#: doc/guix.texi:13837 +#, no-wrap +msgid "fcntl" +msgstr "" + +#. type: table +#: doc/guix.texi:13839 +msgid "Use this if possible. Works with NFS too if lockd is used." +msgstr "" + +#. type: item +#: doc/guix.texi:13839 +#, no-wrap +msgid "flock" +msgstr "" + +#. type: table +#: doc/guix.texi:13841 doc/guix.texi:13843 +msgid "May not exist in all systems. Doesn't work with NFS." +msgstr "" + +#. type: item +#: doc/guix.texi:13841 +#, no-wrap +msgid "lockf" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13849 +msgid "" +"You can use multiple locking methods; if you do the order they're declared " +"in is important to avoid deadlocks if other MTAs/MUAs are using multiple " +"locking methods as well. Some operating systems don't allow using some of " +"them simultaneously." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13851 +#, no-wrap +msgid "" +"{@code{dovecot-configuration} parameter} space-separated-string-list " +"mbox-write-locks" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13855 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string mbox-lock-timeout" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13858 +msgid "" +"Maximum time to wait for lock (all of them) before aborting. Defaults to " +"@samp{\"5 mins\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13860 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string mbox-dotlock-change-timeout" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13864 +msgid "" +"If dotlock exists but the mailbox isn't modified in any way, override the " +"lock file after this much time. Defaults to @samp{\"2 mins\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13866 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} boolean mbox-dirty-syncs?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13877 +msgid "" +"When mbox changes unexpectedly we have to fully read it to find out what " +"changed. If the mbox is large this can take a long time. Since the change " +"is usually just a newly appended mail, it'd be faster to simply read the new " +"mails. If this setting is enabled, Dovecot does this but still safely " +"fallbacks to re-reading the whole mbox file whenever something in mbox isn't " +"how it's expected to be. The only real downside to this setting is that if " +"some other MUA changes message flags, Dovecot doesn't notice it " +"immediately. Note that a full sync is done with SELECT, EXAMINE, EXPUNGE " +"and CHECK commands. Defaults to @samp{#t}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13879 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} boolean mbox-very-dirty-syncs?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13884 +msgid "" +"Like @samp{mbox-dirty-syncs}, but don't do full syncs even with SELECT, " +"EXAMINE, EXPUNGE or CHECK commands. If this is set, @samp{mbox-dirty-syncs} " +"is ignored. Defaults to @samp{#f}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13886 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} boolean mbox-lazy-writes?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13892 +msgid "" +"Delay writing mbox headers until doing a full write sync (EXPUNGE and CHECK " +"commands and when closing the mailbox). This is especially useful for POP3 " +"where clients often delete all mails. The downside is that our changes " +"aren't immediately visible to other MUAs. Defaults to @samp{#t}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13894 +#, no-wrap +msgid "" +"{@code{dovecot-configuration} parameter} non-negative-integer " +"mbox-min-index-size" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13899 +msgid "" +"If mbox size is smaller than this (e.g. 100k), don't write index files. If " +"an index file already exists it's still read, just not updated. Defaults to " +"@samp{0}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13901 +#, no-wrap +msgid "" +"{@code{dovecot-configuration} parameter} non-negative-integer " +"mdbox-rotate-size" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13904 +msgid "Maximum dbox file size until it's rotated. Defaults to @samp{10000000}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13906 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string mdbox-rotate-interval" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13911 +msgid "" +"Maximum dbox file age until it's rotated. Typically in days. Day begins " +"from midnight, so 1d = today, 2d = yesterday, etc. 0 = check disabled. " +"Defaults to @samp{\"1d\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13913 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} boolean mdbox-preallocate-space?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13918 +msgid "" +"When creating new mdbox files, immediately preallocate their size to " +"@samp{mdbox-rotate-size}. This setting currently works only in Linux with " +"some file systems (ext4, xfs). Defaults to @samp{#f}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13920 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string mail-attachment-dir" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13924 +msgid "" +"sdbox and mdbox support saving mail attachments to external files, which " +"also allows single instance storage for them. Other backends don't support " +"this for now." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13926 +msgid "WARNING: This feature hasn't been tested much yet. Use at your own risk." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13929 +msgid "" +"Directory root where to store mail attachments. Disabled, if empty. " +"Defaults to @samp{\"\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13931 +#, no-wrap +msgid "" +"{@code{dovecot-configuration} parameter} non-negative-integer " +"mail-attachment-min-size" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13936 +msgid "" +"Attachments smaller than this aren't saved externally. It's also possible " +"to write a plugin to disable saving specific attachments externally. " +"Defaults to @samp{128000}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13938 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string mail-attachment-fs" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13940 +msgid "File system backend to use for saving attachments:" +msgstr "" + +#. type: item +#: doc/guix.texi:13941 +#, no-wrap +msgid "posix" +msgstr "" + +#. type: table +#: doc/guix.texi:13943 +msgid "No SiS done by Dovecot (but this might help FS's own deduplication)" +msgstr "" + +#. type: item +#: doc/guix.texi:13943 +#, no-wrap +msgid "sis posix" +msgstr "" + +#. type: table +#: doc/guix.texi:13945 +msgid "SiS with immediate byte-by-byte comparison during saving" +msgstr "" + +#. type: item +#: doc/guix.texi:13945 +#, no-wrap +msgid "sis-queue posix" +msgstr "" + +#. type: table +#: doc/guix.texi:13947 +msgid "SiS with delayed comparison and deduplication." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13949 +msgid "Defaults to @samp{\"sis posix\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13951 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string mail-attachment-hash" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13957 +msgid "" +"Hash format to use in attachment filenames. You can add any text and " +"variables: @code{%@{md4@}}, @code{%@{md5@}}, @code{%@{sha1@}}, " +"@code{%@{sha256@}}, @code{%@{sha512@}}, @code{%@{size@}}. Variables can be " +"truncated, e.g. @code{%@{sha256:80@}} returns only first 80 bits. Defaults " +"to @samp{\"%@{sha1@}\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13959 +#, no-wrap +msgid "" +"{@code{dovecot-configuration} parameter} non-negative-integer " +"default-process-limit" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13964 +#, no-wrap +msgid "" +"{@code{dovecot-configuration} parameter} non-negative-integer " +"default-client-limit" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13967 doc/guix.texi:17873 +msgid "Defaults to @samp{1000}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13969 +#, no-wrap +msgid "" +"{@code{dovecot-configuration} parameter} non-negative-integer " +"default-vsz-limit" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13974 +msgid "" +"Default VSZ (virtual memory size) limit for service processes. This is " +"mainly intended to catch and kill processes that leak memory before they eat " +"up everything. Defaults to @samp{256000000}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13976 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string default-login-user" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13981 +msgid "" +"Login user is internally used by login processes. This is the most " +"untrusted user in Dovecot system. It shouldn't have access to anything at " +"all. Defaults to @samp{\"dovenull\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13983 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string default-internal-user" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13988 +msgid "" +"Internal user is used by unprivileged processes. It should be separate from " +"login user, so that login processes can't disturb other processes. Defaults " +"to @samp{\"dovecot\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13990 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string ssl?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13993 +msgid "" +"SSL/TLS support: yes, no, required. <doc/wiki/SSL.txt>. Defaults to " +"@samp{\"required\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13995 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string ssl-cert" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:13998 +msgid "" +"PEM encoded X.509 SSL/TLS certificate (public key). Defaults to " +"@samp{\"</etc/dovecot/default.pem\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14000 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string ssl-key" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14005 +msgid "" +"PEM encoded SSL/TLS private key. The key is opened before dropping root " +"privileges, so keep the key file unreadable by anyone but root. Defaults to " +"@samp{\"</etc/dovecot/private/default.pem\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14007 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string ssl-key-password" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14013 +msgid "" +"If key file is password protected, give the password here. Alternatively " +"give it when starting dovecot with -p parameter. Since this file is often " +"world-readable, you may want to place this setting instead to a different. " +"Defaults to @samp{\"\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14015 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string ssl-ca" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14021 +msgid "" +"PEM encoded trusted certificate authority. Set this only if you intend to " +"use @samp{ssl-verify-client-cert? #t}. The file should contain the CA " +"certificate(s) followed by the matching CRL(s). (e.g. @samp{ssl-ca " +"</etc/ssl/certs/ca.pem}). Defaults to @samp{\"\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14023 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} boolean ssl-require-crl?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14026 +msgid "" +"Require that CRL check succeeds for client certificates. Defaults to " +"@samp{#t}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14028 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} boolean ssl-verify-client-cert?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14032 +msgid "" +"Request client to send a certificate. If you also want to require it, set " +"@samp{auth-ssl-require-client-cert? #t} in auth section. Defaults to " +"@samp{#f}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14034 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string ssl-cert-username-field" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14039 +msgid "" +"Which field from certificate to use for username. commonName and " +"x500UniqueIdentifier are the usual choices. You'll also need to set " +"@samp{auth-ssl-username-from-cert? #t}. Defaults to @samp{\"commonName\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14041 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string ssl-min-protocol" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14044 +msgid "Minimum SSL protocol version to accept. Defaults to @samp{\"TLSv1\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14046 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string ssl-cipher-list" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14049 +msgid "" +"SSL ciphers to use. Defaults to " +"@samp{\"ALL:!kRSA:!SRP:!kDHd:!DSS:!aNULL:!eNULL:!EXPORT:!DES:!3DES:!MD5:!PSK:!RC4:!ADH:!LOW@@STRENGTH\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14051 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string ssl-crypto-device" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14054 +msgid "" +"SSL crypto device to use, for valid values run \"openssl engine\". Defaults " +"to @samp{\"\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14056 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string postmaster-address" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14060 +msgid "" +"Address to use when sending rejection mails. %d expands to recipient " +"domain. Defaults to @samp{\"postmaster@@%d\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14062 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string hostname" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14066 +msgid "" +"Hostname to use in various parts of sent mails (e.g. in Message-Id) and in " +"LMTP replies. Default is the system's real hostname@@domain. Defaults to " +"@samp{\"\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14068 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} boolean quota-full-tempfail?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14072 +msgid "" +"If user is over quota, return with temporary failure instead of bouncing the " +"mail. Defaults to @samp{#f}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14074 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} file-name sendmail-path" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14077 +msgid "Binary to use for sending mails. Defaults to @samp{\"/usr/sbin/sendmail\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14079 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string submission-host" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14083 +msgid "" +"If non-empty, send mails via this SMTP host[:port] instead of sendmail. " +"Defaults to @samp{\"\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14085 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string rejection-subject" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14089 +msgid "" +"Subject: header to use for rejection mails. You can use the same variables " +"as for @samp{rejection-reason} below. Defaults to @samp{\"Rejected: %s\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14091 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string rejection-reason" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14094 +msgid "Human readable error message for rejection mails. You can use variables:" +msgstr "" + +#. type: table +#: doc/guix.texi:14098 +msgid "CRLF" +msgstr "" + +#. type: item +#: doc/guix.texi:14098 +#, no-wrap +msgid "%r" +msgstr "" + +#. type: table +#: doc/guix.texi:14100 +msgid "reason" +msgstr "" + +#. type: table +#: doc/guix.texi:14102 +msgid "original subject" +msgstr "" + +#. type: item +#: doc/guix.texi:14102 +#, no-wrap +msgid "%t" +msgstr "" + +#. type: table +#: doc/guix.texi:14104 +msgid "recipient" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14106 +msgid "Defaults to @samp{\"Your message to <%t> was automatically rejected:%n%r\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14108 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string recipient-delimiter" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14112 +msgid "" +"Delimiter character between local-part and detail in email address. " +"Defaults to @samp{\"+\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14114 +#, no-wrap +msgid "" +"{@code{dovecot-configuration} parameter} string " +"lda-original-recipient-header" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14120 +msgid "" +"Header where the original recipient address (SMTP's RCPT TO: address) is " +"taken from if not available elsewhere. With dovecot-lda -a parameter " +"overrides this. A commonly used header for this is X-Original-To. Defaults " +"to @samp{\"\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14122 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} boolean lda-mailbox-autocreate?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14126 +msgid "" +"Should saving a mail to a nonexistent mailbox automatically create it?. " +"Defaults to @samp{#f}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14128 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} boolean lda-mailbox-autosubscribe?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14132 +msgid "" +"Should automatically created mailboxes be also automatically subscribed?. " +"Defaults to @samp{#f}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14134 +#, no-wrap +msgid "" +"{@code{dovecot-configuration} parameter} non-negative-integer " +"imap-max-line-length" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14140 +msgid "" +"Maximum IMAP command line length. Some clients generate very long command " +"lines with huge mailboxes, so you may need to raise this if you get \"Too " +"long argument\" or \"IMAP command line too large\" errors often. Defaults " +"to @samp{64000}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14142 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string imap-logout-format" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14144 +msgid "IMAP logout format string:" +msgstr "" + +#. type: item +#: doc/guix.texi:14145 +#, no-wrap +msgid "%i" +msgstr "" + +#. type: table +#: doc/guix.texi:14147 +msgid "total number of bytes read from client" +msgstr "" + +#. type: item +#: doc/guix.texi:14147 +#, no-wrap +msgid "%o" +msgstr "" + +#. type: table +#: doc/guix.texi:14149 +msgid "total number of bytes sent to client." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14152 +msgid "" +"See @file{doc/wiki/Variables.txt} for a list of all the variables you can " +"use. Defaults to @samp{\"in=%i out=%o deleted=%@{deleted@} " +"expunged=%@{expunged@} trashed=%@{trashed@} hdr_count=%@{fetch_hdr_count@} " +"hdr_bytes=%@{fetch_hdr_bytes@} body_count=%@{fetch_body_count@} " +"body_bytes=%@{fetch_body_bytes@}\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14154 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string imap-capability" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14158 +msgid "" +"Override the IMAP CAPABILITY response. If the value begins with '+', add " +"the given capabilities on top of the defaults (e.g. +XFOO XBAR). Defaults " +"to @samp{\"\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14160 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string imap-idle-notify-interval" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14164 +msgid "" +"How long to wait between \"OK Still here\" notifications when client is " +"IDLEing. Defaults to @samp{\"2 mins\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14166 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string imap-id-send" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14172 +msgid "" +"ID field names and values to send to clients. Using * as the value makes " +"Dovecot use the default value. The following fields have default values " +"currently: name, version, os, os-version, support-url, support-email. " +"Defaults to @samp{\"\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14174 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string imap-id-log" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14177 +msgid "" +"ID fields sent by client to log. * means everything. Defaults to " +"@samp{\"\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14179 +#, no-wrap +msgid "" +"{@code{dovecot-configuration} parameter} space-separated-string-list " +"imap-client-workarounds" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14181 +msgid "Workarounds for various client bugs:" +msgstr "" + +#. type: item +#: doc/guix.texi:14183 +#, no-wrap +msgid "delay-newmail" +msgstr "" + +#. type: table +#: doc/guix.texi:14190 +msgid "" +"Send EXISTS/RECENT new mail notifications only when replying to NOOP and " +"CHECK commands. Some clients ignore them otherwise, for example OSX Mail " +"(<v2.1). Outlook Express breaks more badly though, without this it may show " +"user \"Message no longer in server\" errors. Note that OE6 still breaks " +"even with this workaround if synchronization is set to \"Headers Only\"." +msgstr "" + +#. type: item +#: doc/guix.texi:14191 +#, no-wrap +msgid "tb-extra-mailbox-sep" +msgstr "" + +#. type: table +#: doc/guix.texi:14195 +msgid "" +"Thunderbird gets somehow confused with LAYOUT=fs (mbox and dbox) and adds " +"extra @samp{/} suffixes to mailbox names. This option causes Dovecot to " +"ignore the extra @samp{/} instead of treating it as invalid mailbox name." +msgstr "" + +#. type: item +#: doc/guix.texi:14196 +#, no-wrap +msgid "tb-lsub-flags" +msgstr "" + +#. type: table +#: doc/guix.texi:14200 +msgid "" +"Show \\Noselect flags for LSUB replies with LAYOUT=fs (e.g. mbox). This " +"makes Thunderbird realize they aren't selectable and show them greyed out, " +"instead of only later giving \"not selectable\" popup error." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14204 +#, no-wrap +msgid "{@code{dovecot-configuration} parameter} string imap-urlauth-host" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14207 +msgid "" +"Host allowed in URLAUTH URLs sent by client. \"*\" allows all. Defaults to " +"@samp{\"\"}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:14215 +msgid "" +"Whew! Lots of configuration options. The nice thing about it though is that " +"GuixSD has a complete interface to Dovecot's configuration language. This " +"allows not only a nice way to declare configurations, but also offers " +"reflective capabilities as well: users can write code to inspect and " +"transform configurations from within Scheme." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:14221 +msgid "" +"However, it could be that you just want to get a @code{dovecot.conf} up and " +"running. In that case, you can pass an @code{opaque-dovecot-configuration} " +"as the @code{#:config} parameter to @code{dovecot-service}. As its name " +"indicates, an opaque configuration does not have easy reflective " +"capabilities." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:14223 +msgid "Available @code{opaque-dovecot-configuration} fields are:" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14224 +#, no-wrap +msgid "{@code{opaque-dovecot-configuration} parameter} package dovecot" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14228 +#, no-wrap +msgid "{@code{opaque-dovecot-configuration} parameter} string string" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14230 +msgid "The contents of the @code{dovecot.conf}, as a string." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:14234 +msgid "" +"For example, if your @code{dovecot.conf} is just the empty string, you could " +"instantiate a dovecot service like this:" +msgstr "" + +#. type: example +#: doc/guix.texi:14239 +#, no-wrap +msgid "" +"(dovecot-service #:config\n" +" (opaque-dovecot-configuration\n" +" (string \"\")))\n" +msgstr "" + +#. type: subsubheading +#: doc/guix.texi:14241 +#, no-wrap +msgid "OpenSMTPD Service" +msgstr "" + +#. type: deffn +#: doc/guix.texi:14243 +#, no-wrap +msgid "{Scheme Variable} opensmtpd-service-type" +msgstr "" + +#. type: deffn +#: doc/guix.texi:14247 +msgid "" +"This is the type of the @uref{https://www.opensmtpd.org, OpenSMTPD} service, " +"whose value should be an @code{opensmtpd-configuration} object as in this " +"example:" +msgstr "" + +#. type: example +#: doc/guix.texi:14252 +#, no-wrap +msgid "" +"(service opensmtpd-service-type\n" +" (opensmtpd-configuration\n" +" (config-file (local-file \"./my-smtpd.conf\"))))\n" +msgstr "" + +#. type: deftp +#: doc/guix.texi:14255 +#, no-wrap +msgid "{Data Type} opensmtpd-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:14257 +msgid "Data type representing the configuration of opensmtpd." +msgstr "" + +#. type: item +#: doc/guix.texi:14259 +#, no-wrap +msgid "@code{package} (default: @var{opensmtpd})" +msgstr "" + +#. type: table +#: doc/guix.texi:14261 +msgid "Package object of the OpenSMTPD SMTP server." +msgstr "" + +#. type: item +#: doc/guix.texi:14262 +#, no-wrap +msgid "@code{config-file} (default: @var{%default-opensmtpd-file})" +msgstr "" + +#. type: table +#: doc/guix.texi:14267 +msgid "" +"File-like object of the OpenSMTPD configuration file to use. By default it " +"listens on the loopback network interface, and allows for mail from users " +"and daemons on the local machine, as well as permitting email to remote " +"servers. Run @command{man smtpd.conf} for more information." +msgstr "" + +#. type: subsubheading +#: doc/guix.texi:14271 +#, no-wrap +msgid "Exim Service" +msgstr "" + +#. type: cindex +#: doc/guix.texi:14273 +#, no-wrap +msgid "mail transfer agent (MTA)" +msgstr "" + +#. type: cindex +#: doc/guix.texi:14274 +#, no-wrap +msgid "MTA (mail transfer agent)" +msgstr "" + +#. type: cindex +#: doc/guix.texi:14275 +#, no-wrap +msgid "SMTP" +msgstr "" + +#. type: deffn +#: doc/guix.texi:14277 +#, no-wrap +msgid "{Scheme Variable} exim-service-type" +msgstr "" + +#. type: deffn +#: doc/guix.texi:14281 +msgid "" +"This is the type of the @uref{https://exim.org, Exim} mail transfer agent " +"(MTA), whose value should be an @code{exim-configuration} object as in this " +"example:" +msgstr "" + +#. type: example +#: doc/guix.texi:14286 +#, no-wrap +msgid "" +"(service exim-service-type\n" +" (exim-configuration\n" +" (config-file (local-file \"./my-exim.conf\"))))\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:14292 +msgid "" +"In order to use an @code{exim-service-type} service you must also have a " +"@code{mail-aliases-service-type} service present in your " +"@code{operating-system} (even if it has no aliases)." +msgstr "" + +#. type: deftp +#: doc/guix.texi:14293 +#, no-wrap +msgid "{Data Type} exim-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:14295 +msgid "Data type representing the configuration of exim." +msgstr "" + +#. type: item +#: doc/guix.texi:14297 +#, no-wrap +msgid "@code{package} (default: @var{exim})" +msgstr "" + +#. type: table +#: doc/guix.texi:14299 +msgid "Package object of the Exim server." +msgstr "" + +#. type: item +#: doc/guix.texi:14300 +#, no-wrap +msgid "@code{config-file} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:14306 +msgid "" +"File-like object of the Exim configuration file to use. If its value is " +"@code{#f} then use the default configuration file from the package provided " +"in @code{package}. The resulting configuration file is loaded after setting " +"the @code{exim_user} and @code{exim_group} configuration variables." +msgstr "" + +#. type: subsubheading +#: doc/guix.texi:14310 +#, no-wrap +msgid "Mail Aliases Service" +msgstr "" + +#. type: cindex +#: doc/guix.texi:14312 +#, no-wrap +msgid "email aliases" +msgstr "" + +#. type: cindex +#: doc/guix.texi:14313 +#, no-wrap +msgid "aliases, for email addresses" +msgstr "" + +#. type: deffn +#: doc/guix.texi:14315 +#, no-wrap +msgid "{Scheme Variable} mail-aliases-service-type" +msgstr "" + +#. type: deffn +#: doc/guix.texi:14318 +msgid "" +"This is the type of the service which provides @code{/etc/aliases}, " +"specifying how to deliver mail to users on this system." +msgstr "" + +#. type: example +#: doc/guix.texi:14323 +#, no-wrap +msgid "" +"(service mail-aliases-service-type\n" +" '((\"postmaster\" \"bob\")\n" +" (\"bob\" \"bob@@example.com\" \"bob@@example2.com\")))\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:14331 +msgid "" +"The configuration for a @code{mail-aliases-service-type} service is an " +"association list denoting how to deliver mail that comes to this " +"system. Each entry is of the form @code{(alias addresses ...)}, with " +"@code{alias} specifying the local alias and @code{addresses} specifying " +"where to deliver this user's mail." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:14337 +msgid "" +"The aliases aren't required to exist as users on the local system. In the " +"above example, there doesn't need to be a @code{postmaster} entry in the " +"@code{operating-system}'s @code{user-accounts} in order to deliver the " +"@code{postmaster} mail to @code{bob} (which subsequently would deliver mail " +"to @code{bob@@example.com} and @code{bob@@example2.com})." +msgstr "" + +#. type: cindex +#: doc/guix.texi:14341 +#, no-wrap +msgid "messaging" +msgstr "" + +#. type: cindex +#: doc/guix.texi:14342 +#, no-wrap +msgid "jabber" +msgstr "" + +#. type: cindex +#: doc/guix.texi:14343 +#, no-wrap +msgid "XMPP" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:14346 +msgid "" +"The @code{(gnu services messaging)} module provides Guix service definitions " +"for messaging services: currently only Prosody is supported." +msgstr "" + +#. type: subsubheading +#: doc/guix.texi:14347 +#, no-wrap +msgid "Prosody Service" +msgstr "" + +#. type: deffn +#: doc/guix.texi:14349 +#, no-wrap +msgid "{Scheme Variable} prosody-service-type" +msgstr "" + +#. type: deffn +#: doc/guix.texi:14353 +msgid "" +"This is the type for the @uref{https://prosody.im, Prosody XMPP " +"communication server}. Its value must be a @code{prosody-configuration} " +"record as in this example:" +msgstr "" + +#. type: example +#: doc/guix.texi:14368 +#, no-wrap +msgid "" +"(service prosody-service-type\n" +" (prosody-configuration\n" +" (modules-enabled (cons \"groups\" \"mam\" " +"%default-modules-enabled))\n" +" (int-components\n" +" (list\n" +" (int-component-configuration\n" +" (hostname \"conference.example.net\")\n" +" (plugin \"muc\")\n" +" (mod-muc (mod-muc-configuration)))))\n" +" (virtualhosts\n" +" (list\n" +" (virtualhost-configuration\n" +" (domain \"example.net\"))))))\n" +msgstr "" + +#. type: deffn +#: doc/guix.texi:14371 +msgid "See below for details about @code{prosody-configuration}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:14377 +msgid "" +"By default, Prosody does not need much configuration. Only one " +"@code{virtualhosts} field is needed: it specifies the domain you wish " +"Prosody to serve." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:14380 +msgid "" +"You can perform various sanity checks on the generated configuration with " +"the @code{prosodyctl check} command." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:14384 +msgid "" +"Prosodyctl will also help you to import certificates from the " +"@code{letsencrypt} directory so that the @code{prosody} user can access " +"them. See @url{https://prosody.im/doc/letsencrypt}." +msgstr "" + +#. type: example +#: doc/guix.texi:14387 +#, no-wrap +msgid "prosodyctl --root cert import /etc/letsencrypt/live\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:14394 +msgid "" +"The available configuration parameters follow. Each parameter definition is " +"preceded by its type; for example, @samp{string-list foo} indicates that the " +"@code{foo} parameter should be specified as a list of strings. Types " +"starting with @code{maybe-} denote parameters that won't show up in " +"@code{prosody.cfg.lua} when their value is @code{'disabled}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:14398 +msgid "" +"There is also a way to specify the configuration as a string, if you have an " +"old @code{prosody.cfg.lua} file that you want to port over from some other " +"system; see the end for more details." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:14401 +msgid "" +"The @code{file-object} type designates either a file-like object " +"(@pxref{G-Expressions, file-like objects}) or a file name." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:14411 +msgid "Available @code{prosody-configuration} fields are:" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14412 +#, no-wrap +msgid "{@code{prosody-configuration} parameter} package prosody" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14414 +msgid "The Prosody package." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14416 +#, no-wrap +msgid "{@code{prosody-configuration} parameter} file-name data-path" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14420 +msgid "" +"Location of the Prosody data storage directory. See " +"@url{https://prosody.im/doc/configure}. Defaults to " +"@samp{\"/var/lib/prosody\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14422 +#, no-wrap +msgid "{@code{prosody-configuration} parameter} file-object-list plugin-paths" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14426 +msgid "" +"Additional plugin directories. They are searched in all the specified paths " +"in order. See @url{https://prosody.im/doc/plugins_directory}. Defaults to " +"@samp{()}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14428 +#, no-wrap +msgid "{@code{prosody-configuration} parameter} file-name certificates" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14433 +msgid "" +"Every virtual host and component needs a certificate so that clients and " +"servers can securely verify its identity. Prosody will automatically load " +"certificates/keys from the directory specified here. Defaults to " +"@samp{\"/etc/prosody/certs\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14435 +#, no-wrap +msgid "{@code{prosody-configuration} parameter} string-list admins" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14441 +msgid "" +"This is a list of accounts that are admins for the server. Note that you " +"must create the accounts separately. See " +"@url{https://prosody.im/doc/admins} and " +"@url{https://prosody.im/doc/creating_accounts}. Example: @code{(admins " +"'(\"user1@@example.com\" \"user2@@example.net\"))} Defaults to @samp{()}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14443 +#, no-wrap +msgid "{@code{prosody-configuration} parameter} boolean use-libevent?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14447 +msgid "" +"Enable use of libevent for better performance under high load. See " +"@url{https://prosody.im/doc/libevent}. Defaults to @samp{#f}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14449 +#, no-wrap +msgid "{@code{prosody-configuration} parameter} module-list modules-enabled" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14455 +msgid "" +"This is the list of modules Prosody will load on startup. It looks for " +"@code{mod_modulename.lua} in the plugins folder, so make sure that exists " +"too. Documentation on modules can be found at: " +"@url{https://prosody.im/doc/modules}. Defaults to @samp{(\"roster\" " +"\"saslauth\" \"tls\" \"dialback\" \"disco\" \"carbons\" \"private\" " +"\"blocklist\" \"vcard\" \"version\" \"uptime\" \"time\" \"ping\" \"pep\" " +"\"register\" \"admin_adhoc\")}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14457 +#, no-wrap +msgid "{@code{prosody-configuration} parameter} string-list modules-disabled" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14461 +msgid "" +"@samp{\"offline\"}, @samp{\"c2s\"} and @samp{\"s2s\"} are auto-loaded, but " +"should you want to disable them then add them to this list. Defaults to " +"@samp{()}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14463 +#, no-wrap +msgid "{@code{prosody-configuration} parameter} file-object groups-file" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14468 +msgid "" +"Path to a text file where the shared groups are defined. If this path is " +"empty then @samp{mod_groups} does nothing. See " +"@url{https://prosody.im/doc/modules/mod_groups}. Defaults to " +"@samp{\"/var/lib/prosody/sharedgroups.txt\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14470 +#, no-wrap +msgid "{@code{prosody-configuration} parameter} boolean allow-registration?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14474 +msgid "" +"Disable account creation by default, for security. See " +"@url{https://prosody.im/doc/creating_accounts}. Defaults to @samp{#f}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14476 +#, no-wrap +msgid "{@code{prosody-configuration} parameter} maybe-ssl-configuration ssl" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14481 +msgid "" +"These are the SSL/TLS-related settings. Most of them are disabled so to use " +"Prosody's defaults. If you do not completely understand these options, do " +"not add them to your config, it is easy to lower the security of your server " +"using them. See @url{https://prosody.im/doc/advanced_ssl_config}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14483 +msgid "Available @code{ssl-configuration} fields are:" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14484 +#, no-wrap +msgid "{@code{ssl-configuration} parameter} maybe-string protocol" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14486 +msgid "This determines what handshake to use." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14488 +#, no-wrap +msgid "{@code{ssl-configuration} parameter} maybe-file-name key" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14490 +msgid "Path to your private key file." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14492 +#, no-wrap +msgid "{@code{ssl-configuration} parameter} maybe-file-name certificate" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14494 +msgid "Path to your certificate file." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14496 +#, no-wrap +msgid "{@code{ssl-configuration} parameter} file-object capath" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14500 +msgid "" +"Path to directory containing root certificates that you wish Prosody to " +"trust when verifying the certificates of remote servers. Defaults to " +"@samp{\"/etc/ssl/certs\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14502 +#, no-wrap +msgid "{@code{ssl-configuration} parameter} maybe-file-object cafile" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14505 +msgid "" +"Path to a file containing root certificates that you wish Prosody to trust. " +"Similar to @code{capath} but with all certificates concatenated together." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14507 +#, no-wrap +msgid "{@code{ssl-configuration} parameter} maybe-string-list verify" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14510 +msgid "" +"A list of verification options (these mostly map to OpenSSL's " +"@code{set_verify()} flags)." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14512 +#, no-wrap +msgid "{@code{ssl-configuration} parameter} maybe-string-list options" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14516 +msgid "" +"A list of general options relating to SSL/TLS. These map to OpenSSL's " +"@code{set_options()}. For a full list of options available in LuaSec, see " +"the LuaSec source." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14518 +#, no-wrap +msgid "{@code{ssl-configuration} parameter} maybe-non-negative-integer depth" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14521 +msgid "" +"How long a chain of certificate authorities to check when looking for a " +"trusted root certificate." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14523 +#, no-wrap +msgid "{@code{ssl-configuration} parameter} maybe-string ciphers" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14526 +msgid "" +"An OpenSSL cipher string. This selects what ciphers Prosody will offer to " +"clients, and in what order." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14528 +#, no-wrap +msgid "{@code{ssl-configuration} parameter} maybe-file-name dhparam" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14532 +msgid "" +"A path to a file containing parameters for Diffie-Hellman key exchange. You " +"can create such a file with: @code{openssl dhparam -out " +"/etc/prosody/certs/dh-2048.pem 2048}" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14534 +#, no-wrap +msgid "{@code{ssl-configuration} parameter} maybe-string curve" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14537 +msgid "" +"Curve for Elliptic curve Diffie-Hellman. Prosody's default is " +"@samp{\"secp384r1\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14539 +#, no-wrap +msgid "{@code{ssl-configuration} parameter} maybe-string-list verifyext" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14541 +msgid "A list of \"extra\" verification options." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14543 +#, no-wrap +msgid "{@code{ssl-configuration} parameter} maybe-string password" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14545 +msgid "Password for encrypted private keys." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14549 +#, no-wrap +msgid "{@code{prosody-configuration} parameter} boolean c2s-require-encryption?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14553 +msgid "" +"Whether to force all client-to-server connections to be encrypted or not. " +"See @url{https://prosody.im/doc/modules/mod_tls}. Defaults to @samp{#f}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14555 +#, no-wrap +msgid "{@code{prosody-configuration} parameter} string-list disable-sasl-mechanisms" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14559 +msgid "" +"Set of mechanisms that will never be offered. See " +"@url{https://prosody.im/doc/modules/mod_saslauth}. Defaults to " +"@samp{(\"DIGEST-MD5\")}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14561 +#, no-wrap +msgid "{@code{prosody-configuration} parameter} boolean s2s-require-encryption?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14565 +msgid "" +"Whether to force all server-to-server connections to be encrypted or not. " +"See @url{https://prosody.im/doc/modules/mod_tls}. Defaults to @samp{#f}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14567 +#, no-wrap +msgid "{@code{prosody-configuration} parameter} boolean s2s-secure-auth?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14573 +msgid "" +"Whether to require encryption and certificate authentication. This provides " +"ideal security, but requires servers you communicate with to support " +"encryption AND present valid, trusted certificates. See " +"@url{https://prosody.im/doc/s2s#security}. Defaults to @samp{#f}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14575 +#, no-wrap +msgid "{@code{prosody-configuration} parameter} string-list s2s-insecure-domains" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14581 +msgid "" +"Many servers don't support encryption or have invalid or self-signed " +"certificates. You can list domains here that will not be required to " +"authenticate using certificates. They will be authenticated using DNS. See " +"@url{https://prosody.im/doc/s2s#security}. Defaults to @samp{()}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14583 +#, no-wrap +msgid "{@code{prosody-configuration} parameter} string-list s2s-secure-domains" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14588 +msgid "" +"Even if you leave @code{s2s-secure-auth?} disabled, you can still require " +"valid certificates for some domains by specifying a list here. See " +"@url{https://prosody.im/doc/s2s#security}. Defaults to @samp{()}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14590 +#, no-wrap +msgid "{@code{prosody-configuration} parameter} string authentication" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14598 +msgid "" +"Select the authentication backend to use. The default provider stores " +"passwords in plaintext and uses Prosody's configured data storage to store " +"the authentication data. If you do not trust your server please see " +"@url{https://prosody.im/doc/modules/mod_auth_internal_hashed} for " +"information about using the hashed backend. See also " +"@url{https://prosody.im/doc/authentication} Defaults to " +"@samp{\"internal_plain\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14600 +#, no-wrap +msgid "{@code{prosody-configuration} parameter} maybe-string log" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14604 +msgid "" +"Set logging options. Advanced logging configuration is not yet supported by " +"the GuixSD Prosody Service. See @url{https://prosody.im/doc/logging}. " +"Defaults to @samp{\"*syslog\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14606 +#, no-wrap +msgid "{@code{prosody-configuration} parameter} file-name pidfile" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14609 +msgid "" +"File to write pid in. See @url{https://prosody.im/doc/modules/mod_posix}. " +"Defaults to @samp{\"/var/run/prosody/prosody.pid\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14611 +#, no-wrap +msgid "" +"{@code{prosody-configuration} parameter} maybe-non-negative-integer " +"http-max-content-size" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14613 +msgid "Maximum allowed size of the HTTP body (in bytes)." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14615 +#, no-wrap +msgid "{@code{prosody-configuration} parameter} maybe-string http-external-url" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14620 +msgid "" +"Some modules expose their own URL in various ways. This URL is built from " +"the protocol, host and port used. If Prosody sits behind a proxy, the " +"public URL will be @code{http-external-url} instead. See " +"@url{https://prosody.im/doc/http#external_url}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14622 +#, no-wrap +msgid "" +"{@code{prosody-configuration} parameter} virtualhost-configuration-list " +"virtualhosts" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14627 +msgid "" +"A host in Prosody is a domain on which user accounts can be created. For " +"example if you want your users to have addresses like " +"@samp{\"john.smith@@example.com\"} then you need to add a host " +"@samp{\"example.com\"}. All options in this list will apply only to this " +"host." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14633 +msgid "" +"Note: the name \"virtual\" host is used in configuration to avoid confusion " +"with the actual physical host that Prosody is installed on. A single " +"Prosody instance can serve many domains, each one defined as a VirtualHost " +"entry in Prosody's configuration. Conversely a server that hosts a single " +"domain would have just one VirtualHost entry." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14635 +msgid "See @url{https://prosody.im/doc/configure#virtual_host_settings}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14637 +msgid "Available @code{virtualhost-configuration} fields are:" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14639 doc/guix.texi:14661 doc/guix.texi:14714 +msgid "" +"all these @code{prosody-configuration} fields: @code{admins}, " +"@code{use-libevent?}, @code{modules-enabled}, @code{modules-disabled}, " +"@code{groups-file}, @code{allow-registration?}, @code{ssl}, " +"@code{c2s-require-encryption?}, @code{disable-sasl-mechanisms}, " +"@code{s2s-require-encryption?}, @code{s2s-secure-auth?}, " +"@code{s2s-insecure-domains}, @code{s2s-secure-domains}, " +"@code{authentication}, @code{log}, @code{http-max-content-size}, " +"@code{http-external-url}, @code{raw-content}, plus:" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14639 +#, no-wrap +msgid "{@code{virtualhost-configuration} parameter} string domain" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14641 +msgid "Domain you wish Prosody to serve." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14645 +#, no-wrap +msgid "" +"{@code{prosody-configuration} parameter} int-component-configuration-list " +"int-components" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14650 +msgid "" +"Components are extra services on a server which are available to clients, " +"usually on a subdomain of the main server (such as " +"@samp{\"mycomponent.example.com\"}). Example components might be chatroom " +"servers, user directories, or gateways to other protocols." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14654 +msgid "" +"Internal components are implemented with Prosody-specific plugins. To add " +"an internal component, you simply fill the hostname field, and the plugin " +"you wish to use for the component." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14657 +msgid "See @url{https://prosody.im/doc/components}. Defaults to @samp{()}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14659 +msgid "Available @code{int-component-configuration} fields are:" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14661 +#, no-wrap +msgid "{@code{int-component-configuration} parameter} string hostname" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14663 doc/guix.texi:14720 +msgid "Hostname of the component." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14665 +#, no-wrap +msgid "{@code{int-component-configuration} parameter} string plugin" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14667 +msgid "Plugin you wish to use for the component." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14669 +#, no-wrap +msgid "" +"{@code{int-component-configuration} parameter} maybe-mod-muc-configuration " +"mod-muc" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14672 +msgid "" +"Multi-user chat (MUC) is Prosody's module for allowing you to create hosted " +"chatrooms/conferences for XMPP users." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14676 +msgid "" +"General information on setting up and using multi-user chatrooms can be " +"found in the \"Chatrooms\" documentation " +"(@url{https://prosody.im/doc/chatrooms}), which you should read if you are " +"new to XMPP chatrooms." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14678 +msgid "See also @url{https://prosody.im/doc/modules/mod_muc}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14680 +msgid "Available @code{mod-muc-configuration} fields are:" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14681 +#, no-wrap +msgid "{@code{mod-muc-configuration} parameter} string name" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14684 +msgid "" +"The name to return in service discovery responses. Defaults to " +"@samp{\"Prosody Chatrooms\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14686 +#, no-wrap +msgid "" +"{@code{mod-muc-configuration} parameter} string-or-boolean " +"restrict-room-creation" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14693 +msgid "" +"If @samp{#t}, this will only allow admins to create new chatrooms. " +"Otherwise anyone can create a room. The value @samp{\"local\"} restricts " +"room creation to users on the service's parent domain. " +"E.g. @samp{user@@example.com} can create rooms on @samp{rooms.example.com}. " +"The value @samp{\"admin\"} restricts to service administrators only. " +"Defaults to @samp{#f}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14695 +#, no-wrap +msgid "" +"{@code{mod-muc-configuration} parameter} non-negative-integer " +"max-history-messages" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14699 +msgid "" +"Maximum number of history messages that will be sent to the member that has " +"just joined the room. Defaults to @samp{20}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14705 +#, no-wrap +msgid "" +"{@code{prosody-configuration} parameter} ext-component-configuration-list " +"ext-components" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14710 +msgid "" +"External components use XEP-0114, which most standalone components support. " +"To add an external component, you simply fill the hostname field. See " +"@url{https://prosody.im/doc/components}. Defaults to @samp{()}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14712 +msgid "Available @code{ext-component-configuration} fields are:" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14714 +#, no-wrap +msgid "{@code{ext-component-configuration} parameter} string component-secret" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14716 +msgid "Password which the component will use to log in." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14718 +#, no-wrap +msgid "{@code{ext-component-configuration} parameter} string hostname" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14724 +#, no-wrap +msgid "" +"{@code{prosody-configuration} parameter} non-negative-integer-list " +"component-ports" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14727 +msgid "" +"Port(s) Prosody listens on for component connections. Defaults to " +"@samp{(5347)}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14729 +#, no-wrap +msgid "{@code{prosody-configuration} parameter} string component-interface" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14732 +msgid "" +"Interface Prosody listens on for component connections. Defaults to " +"@samp{\"127.0.0.1\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14734 +#, no-wrap +msgid "{@code{prosody-configuration} parameter} maybe-raw-content raw-content" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14736 +msgid "Raw content that will be added to the configuration file." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:14744 +msgid "" +"It could be that you just want to get a @code{prosody.cfg.lua} up and " +"running. In that case, you can pass an @code{opaque-prosody-configuration} " +"record as the value of @code{prosody-service-type}. As its name indicates, " +"an opaque configuration does not have easy reflective capabilities. " +"Available @code{opaque-prosody-configuration} fields are:" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14745 +#, no-wrap +msgid "{@code{opaque-prosody-configuration} parameter} package prosody" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14747 +msgid "The prosody package." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14749 +#, no-wrap +msgid "{@code{opaque-prosody-configuration} parameter} string prosody.cfg.lua" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:14751 +msgid "The contents of the @code{prosody.cfg.lua} to use." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:14755 +msgid "" +"For example, if your @code{prosody.cfg.lua} is just the empty string, you " +"could instantiate a prosody service like this:" +msgstr "" + +#. type: example +#: doc/guix.texi:14760 +#, no-wrap +msgid "" +"(service prosody-service-type\n" +" (opaque-prosody-configuration\n" +" (prosody.cfg.lua \"\")))\n" +msgstr "" + +#. type: subsubheading +#: doc/guix.texi:14764 +#, no-wrap +msgid "BitlBee Service" +msgstr "" + +#. type: cindex +#: doc/guix.texi:14766 +#, no-wrap +msgid "IRC (Internet Relay Chat)" +msgstr "" + +#. type: cindex +#: doc/guix.texi:14767 +#, no-wrap +msgid "IRC gateway" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:14770 +msgid "" +"@url{http://bitlbee.org,BitlBee} is a gateway that provides an IRC interface " +"to a variety of messaging protocols such as XMPP." +msgstr "" + +#. type: defvr +#: doc/guix.texi:14771 +#, no-wrap +msgid "{Scheme Variable} bitlbee-service-type" +msgstr "" + +#. type: defvr +#: doc/guix.texi:14775 +msgid "" +"This is the service type for the @url{http://bitlbee.org,BitlBee} IRC " +"gateway daemon. Its value is a @code{bitlbee-configuration} (see below)." +msgstr "" + +#. type: defvr +#: doc/guix.texi:14778 +msgid "" +"To have BitlBee listen on port 6667 on localhost, add this line to your " +"services:" +msgstr "" + +#. type: example +#: doc/guix.texi:14781 +#, no-wrap +msgid "(service bitlbee-service-type)\n" +msgstr "" + +#. type: deftp +#: doc/guix.texi:14784 +#, no-wrap +msgid "{Data Type} bitlbee-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:14786 +msgid "This is the configuration for BitlBee, with the following fields:" +msgstr "" + +#. type: item +#: doc/guix.texi:14788 +#, no-wrap +msgid "@code{interface} (default: @code{\"127.0.0.1\"})" +msgstr "" + +#. type: itemx +#: doc/guix.texi:14789 +#, no-wrap +msgid "@code{port} (default: @code{6667})" +msgstr "" + +#. type: table +#: doc/guix.texi:14792 +msgid "" +"Listen on the network interface corresponding to the IP address specified in " +"@var{interface}, on @var{port}." +msgstr "" + +#. type: table +#: doc/guix.texi:14796 +msgid "" +"When @var{interface} is @code{127.0.0.1}, only local clients can connect; " +"when it is @code{0.0.0.0}, connections can come from any networking " +"interface." +msgstr "" + +#. type: item +#: doc/guix.texi:14797 +#, no-wrap +msgid "@code{package} (default: @code{bitlbee})" +msgstr "" + +#. type: table +#: doc/guix.texi:14799 +msgid "The BitlBee package to use." +msgstr "" + +#. type: item +#: doc/guix.texi:14800 +#, no-wrap +msgid "@code{extra-settings} (default: @code{\"\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:14802 +msgid "Configuration snippet added as-is to the BitlBee configuration file." +msgstr "" + +#. type: cindex +#: doc/guix.texi:14809 +#, no-wrap +msgid "Murmur (VoIP server)" +msgstr "" + +#. type: cindex +#: doc/guix.texi:14810 +#, no-wrap +msgid "VoIP server" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:14814 +msgid "" +"This section describes how to set up and run a Murmur server. Murmur is the " +"server of the @uref{https://mumble.info, Mumble} voice-over-IP (VoIP) suite." +msgstr "" + +#. type: deftp +#: doc/guix.texi:14815 +#, no-wrap +msgid "{Data Type} murmur-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:14818 +msgid "" +"The service type for the Murmur server. An example configuration can look " +"like this:" +msgstr "" + +#. type: example +#: doc/guix.texi:14827 +#, no-wrap +msgid "" +"(service murmur-service-type\n" +" (murmur-configuration\n" +" (welcome-text\n" +" \"Welcome to this Mumble server running on GuixSD!\")\n" +" (cert-required? #t) ;disallow text password logins\n" +" (ssl-cert " +"\"/etc/letsencrypt/live/mumble.example.com/fullchain.pem\")\n" +" (ssl-key " +"\"/etc/letsencrypt/live/mumble.example.com/privkey.pem\")))\n" +msgstr "" + +#. type: deftp +#: doc/guix.texi:14831 +msgid "" +"After reconfiguring your system, you can manually set the murmur " +"@code{SuperUser} password with the command that is printed during the " +"activation phase." +msgstr "" + +#. type: deftp +#: doc/guix.texi:14840 +msgid "" +"It is recommended to register a normal Mumble user account and grant it " +"admin or moderator rights. You can use the @code{mumble} client to login as " +"new normal user, register yourself, and log out. For the next step login " +"with the name @code{SuperUser} use the @code{SuperUser} password that you " +"set previously, and grant your newly registered mumble user administrator or " +"moderator rights and create some channels." +msgstr "" + +#. type: deftp +#: doc/guix.texi:14842 +msgid "Available @code{murmur-configuration} fields are:" +msgstr "" + +#. type: item +#: doc/guix.texi:14844 +#, no-wrap +msgid "@code{package} (default: @code{mumble})" +msgstr "" + +#. type: table +#: doc/guix.texi:14846 +msgid "Package that contains @code{bin/murmurd}." +msgstr "" + +#. type: item +#: doc/guix.texi:14847 +#, no-wrap +msgid "@code{user} (default: @code{\"murmur\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:14849 +msgid "User who will run the Murmur server." +msgstr "" + +#. type: item +#: doc/guix.texi:14850 +#, no-wrap +msgid "@code{group} (default: @code{\"murmur\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:14852 +msgid "Group of the user who will run the murmur server." +msgstr "" + +#. type: item +#: doc/guix.texi:14853 +#, no-wrap +msgid "@code{port} (default: @code{64738})" +msgstr "" + +#. type: table +#: doc/guix.texi:14855 +msgid "Port on which the server will listen." +msgstr "" + +#. type: item +#: doc/guix.texi:14856 +#, no-wrap +msgid "@code{welcome-text} (default: @code{\"\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:14858 +msgid "Welcome text sent to clients when they connect." +msgstr "" + +#. type: item +#: doc/guix.texi:14859 +#, no-wrap +msgid "@code{server-password} (default: @code{\"\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:14861 +msgid "Password the clients have to enter in order to connect." +msgstr "" + +#. type: item +#: doc/guix.texi:14862 +#, no-wrap +msgid "@code{max-users} (default: @code{100})" +msgstr "" + +#. type: table +#: doc/guix.texi:14864 +msgid "Maximum of users that can be connected to the server at once." +msgstr "" + +#. type: item +#: doc/guix.texi:14865 +#, no-wrap +msgid "@code{max-user-bandwidth} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:14867 +msgid "Maximum voice traffic a user can send per second." +msgstr "" + +#. type: item +#: doc/guix.texi:14868 +#, no-wrap +msgid "@code{database-file} (default: @code{\"/var/lib/murmur/db.sqlite\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:14871 +msgid "" +"File name of the sqlite database. The service's user will become the owner " +"of the directory." +msgstr "" + +#. type: item +#: doc/guix.texi:14872 +#, no-wrap +msgid "@code{log-file} (default: @code{\"/var/log/murmur/murmur.log\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:14875 +msgid "" +"File name of the log file. The service's user will become the owner of the " +"directory." +msgstr "" + +#. type: item +#: doc/guix.texi:14876 +#, no-wrap +msgid "@code{autoban-attempts} (default: @code{10})" +msgstr "" + +#. type: table +#: doc/guix.texi:14879 +msgid "" +"Maximum number of logins a user can make in @code{autoban-timeframe} without " +"getting auto banned for @code{autoban-time}." +msgstr "" + +#. type: item +#: doc/guix.texi:14880 +#, no-wrap +msgid "@code{autoban-timeframe} (default: @code{120})" +msgstr "" + +#. type: table +#: doc/guix.texi:14882 +msgid "Timeframe for autoban in seconds." +msgstr "" + +#. type: item +#: doc/guix.texi:14883 +#, no-wrap +msgid "@code{autoban-time} (default: @code{300})" +msgstr "" + +#. type: table +#: doc/guix.texi:14886 +msgid "" +"Amount of time in seconds for which a client gets banned when violating the " +"autoban limits." +msgstr "" + +#. type: item +#: doc/guix.texi:14887 +#, no-wrap +msgid "@code{opus-threshold} (default: @code{100})" +msgstr "" + +#. type: table +#: doc/guix.texi:14890 +msgid "" +"Percentage of clients that need to support opus before switching over to " +"opus audio codec." +msgstr "" + +#. type: item +#: doc/guix.texi:14891 +#, no-wrap +msgid "@code{channel-nesting-limit} (default: @code{10})" +msgstr "" + +#. type: table +#: doc/guix.texi:14893 +msgid "How deep channels can be nested at maximum." +msgstr "" + +#. type: item +#: doc/guix.texi:14894 +#, no-wrap +msgid "@code{channelname-regex} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:14896 +msgid "" +"A string in from of a Qt regular expression that channel names must conform " +"to." +msgstr "" + +#. type: item +#: doc/guix.texi:14897 +#, no-wrap +msgid "@code{username-regex} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:14899 +msgid "A string in from of a Qt regular expression that user names must conform to." +msgstr "" + +#. type: item +#: doc/guix.texi:14900 +#, no-wrap +msgid "@code{text-message-length} (default: @code{5000})" +msgstr "" + +#. type: table +#: doc/guix.texi:14902 +msgid "Maximum size in bytes that a user can send in one text chat message." +msgstr "" + +#. type: item +#: doc/guix.texi:14903 +#, no-wrap +msgid "@code{image-message-length} (default: @code{(* 128 1024)})" +msgstr "" + +#. type: table +#: doc/guix.texi:14905 +msgid "Maximum size in bytes that a user can send in one image message." +msgstr "" + +#. type: item +#: doc/guix.texi:14906 +#, no-wrap +msgid "@code{cert-required?} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:14909 +msgid "" +"If it is set to @code{#t} clients that use weak password authentification " +"will not be accepted. Users must have completed the certificate wizard to " +"join." +msgstr "" + +#. type: item +#: doc/guix.texi:14910 +#, no-wrap +msgid "@code{remember-channel?} (defualt @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:14913 +msgid "" +"Should murmur remember the last channel each user was in when they " +"disconnected and put them into the remembered channel when they rejoin." +msgstr "" + +#. type: item +#: doc/guix.texi:14914 +#, no-wrap +msgid "@code{allow-html?} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:14916 +msgid "" +"Should html be allowed in text messages, user comments, and channel " +"descriptions." +msgstr "" + +#. type: item +#: doc/guix.texi:14917 +#, no-wrap +msgid "@code{allow-ping?} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:14921 +msgid "" +"Setting to true exposes the current user count, the maximum user count, and " +"the server's maximum bandwidth per client to unauthenticated users. In the " +"Mumble client, this information is shown in the Connect dialog." +msgstr "" + +#. type: table +#: doc/guix.texi:14923 +msgid "Disabling this setting will prevent public listing of the server." +msgstr "" + +#. type: item +#: doc/guix.texi:14924 +#, no-wrap +msgid "@code{bonjour?} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:14926 +msgid "" +"Should the server advertise itself in the local network through the bonjour " +"protocol." +msgstr "" + +#. type: item +#: doc/guix.texi:14927 +#, no-wrap +msgid "@code{send-version?} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:14929 +msgid "Should the murmur server version be exposed in ping requests." +msgstr "" + +#. type: item +#: doc/guix.texi:14930 +#, no-wrap +msgid "@code{log-days} (default: @code{31})" +msgstr "" + +#. type: table +#: doc/guix.texi:14934 +msgid "" +"Murmur also stores logs in the database, which are accessible via RPC. The " +"default is 31 days of months, but you can set this setting to 0 to keep logs " +"forever, or -1 to disable logging to the database." +msgstr "" + +#. type: item +#: doc/guix.texi:14935 +#, no-wrap +msgid "@code{obfuscate-ips?} (default @code{#t})" +msgstr "" + +#. type: table +#: doc/guix.texi:14937 +msgid "Should logged ips be obfuscated to protect the privacy of users." +msgstr "" + +#. type: item +#: doc/guix.texi:14938 +#, no-wrap +msgid "@code{ssl-cert} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:14940 +msgid "File name of the SSL/TLS certificate used for encrypted connections." +msgstr "" + +#. type: example +#: doc/guix.texi:14943 +#, no-wrap +msgid "(ssl-cert \"/etc/letsencrypt/live/example.com/fullchain.pem\")\n" +msgstr "" + +#. type: item +#: doc/guix.texi:14944 +#, no-wrap +msgid "@code{ssl-key} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:14946 +msgid "Filepath to the ssl private key used for encrypted connections." +msgstr "" + +#. type: example +#: doc/guix.texi:14948 +#, no-wrap +msgid "(ssl-key \"/etc/letsencrypt/live/example.com/privkey.pem\")\n" +msgstr "" + +#. type: item +#: doc/guix.texi:14950 +#, no-wrap +msgid "@code{ssl-dh-params} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:14955 +msgid "" +"File name of a PEM-encoded file with Diffie-Hellman parameters for the " +"SSL/TLS encryption. Alternatively you set it to @code{\"@@ffdhe2048\"}, " +"@code{\"@@ffdhe3072\"}, @code{\"@@ffdhe4096\"}, @code{\"@@ffdhe6144\"} or " +"@code{\"@@ffdhe8192\"} to use bundled parameters from RFC 7919." +msgstr "" + +#. type: item +#: doc/guix.texi:14956 +#, no-wrap +msgid "@code{ssl-ciphers} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:14959 +msgid "" +"The @code{ssl-ciphers} option chooses the cipher suites to make available " +"for use in SSL/TLS." +msgstr "" + +#. type: table +#: doc/guix.texi:14963 +msgid "" +"This option is specified using " +"@uref{https://www.openssl.org/docs/apps/ciphers.html#CIPHER-LIST-FORMAT, " +"OpenSSL cipher list notation}." +msgstr "" + +#. type: table +#: doc/guix.texi:14968 +msgid "" +"It is recommended that you try your cipher string using 'openssl ciphers " +"<string>' before setting it here, to get a feel for which cipher suites you " +"will get. After setting this option, it is recommend that you inspect your " +"Murmur log to ensure that Murmur is using the cipher suites that you " +"expected it to." +msgstr "" + +#. type: table +#: doc/guix.texi:14972 +msgid "" +"Note: Changing this option may impact the backwards compatibility of your " +"Murmur server, and can remove the ability for older Mumble clients to be " +"able to connect to it." +msgstr "" + +#. type: item +#: doc/guix.texi:14973 +#, no-wrap +msgid "@code{public-registration} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:14975 +msgid "" +"Must be a @code{<murmur-public-registration-configuration>} record or " +"@code{#f}." +msgstr "" + +#. type: table +#: doc/guix.texi:14980 +msgid "" +"You can optionally register your server in the public server list that the " +"@code{mumble} client shows on startup. You cannot register your server if " +"you have set a @code{server-password}, or set @code{allow-ping} to " +"@code{#f}." +msgstr "" + +#. type: table +#: doc/guix.texi:14982 +msgid "It might take a few hours until it shows up in the public list." +msgstr "" + +#. type: item +#: doc/guix.texi:14983 doc/guix.texi:15554 +#, no-wrap +msgid "@code{file} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:14985 +msgid "Optional alternative override for this configuration." +msgstr "" + +#. type: deftp +#: doc/guix.texi:14988 +#, no-wrap +msgid "{Data Type} murmur-public-registration-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:14990 +msgid "Configuration for public registration of a murmur service." +msgstr "" + +#. type: table +#: doc/guix.texi:14994 +msgid "" +"This is a display name for your server. Not to be confused with the " +"hostname." +msgstr "" + +#. type: itemx +#: doc/guix.texi:14995 doc/guix.texi:19885 +#, no-wrap +msgid "password" +msgstr "" + +#. type: table +#: doc/guix.texi:14998 +msgid "" +"A password to identify your registration. Subsequent updates will need the " +"same password. Don't lose your password." +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:14999 +#, no-wrap +msgid "url" +msgstr "" + +#. type: table +#: doc/guix.texi:15002 +msgid "This should be a @code{http://} or @code{https://} link to your web site." +msgstr "" + +#. type: item +#: doc/guix.texi:15003 +#, no-wrap +msgid "@code{hostname} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:15006 +msgid "" +"By default your server will be listed by its IP address. If it is set your " +"server will be linked by this host name instead." +msgstr "" + +#. type: subsubheading +#: doc/guix.texi:15014 +#, no-wrap +msgid "Tailon Service" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:15018 +msgid "" +"@uref{https://tailon.readthedocs.io/, Tailon} is a web application for " +"viewing and searching log files." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:15021 +msgid "" +"The following example will configure the service with default values. By " +"default, Tailon can be accessed on port 8080 (@code{http://localhost:8080})." +msgstr "" + +#. type: example +#: doc/guix.texi:15024 +#, no-wrap +msgid "(service tailon-service-type)\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:15028 +msgid "" +"The following example customises more of the Tailon configuration, adding " +"@command{sed} to the list of allowed commands." +msgstr "" + +#. type: example +#: doc/guix.texi:15035 +#, no-wrap +msgid "" +"(service tailon-service-type\n" +" (tailon-configuration\n" +" (config-file\n" +" (tailon-configuration-file\n" +" (allowed-commands '(\"tail\" \"grep\" \"awk\" \"sed\"))))))\n" +msgstr "" + +#. type: deftp +#: doc/guix.texi:15038 +#, no-wrap +msgid "{Data Type} tailon-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:15041 +msgid "" +"Data type representing the configuration of Tailon. This type has the " +"following parameters:" +msgstr "" + +#. type: item +#: doc/guix.texi:15043 +#, no-wrap +msgid "@code{config-file} (default: @code{(tailon-configuration-file)})" +msgstr "" + +#. type: table +#: doc/guix.texi:15047 +msgid "" +"The configuration file to use for Tailon. This can be set to a " +"@dfn{tailon-configuration-file} record value, or any gexp " +"(@pxref{G-Expressions})." +msgstr "" + +#. type: table +#: doc/guix.texi:15050 +msgid "" +"For example, to instead use a local file, the @code{local-file} function can " +"be used:" +msgstr "" + +#. type: example +#: doc/guix.texi:15055 +#, no-wrap +msgid "" +"(service tailon-service-type\n" +" (tailon-configuration\n" +" (config-file (local-file \"./my-tailon.conf\"))))\n" +msgstr "" + +#. type: item +#: doc/guix.texi:15057 +#, no-wrap +msgid "@code{package} (default: @code{tailon})" +msgstr "" + +#. type: table +#: doc/guix.texi:15059 +msgid "The tailon package to use." +msgstr "" + +#. type: deftp +#: doc/guix.texi:15063 +#, no-wrap +msgid "{Data Type} tailon-configuration-file" +msgstr "" + +#. type: deftp +#: doc/guix.texi:15066 +msgid "" +"Data type representing the configuration options for Tailon. This type has " +"the following parameters:" +msgstr "" + +#. type: item +#: doc/guix.texi:15068 +#, no-wrap +msgid "@code{files} (default: @code{(list \"/var/log\")})" +msgstr "" + +#. type: table +#: doc/guix.texi:15073 +msgid "" +"List of files to display. The list can include strings for a single file or " +"directory, or a list, where the first item is the name of a subsection, and " +"the remaining items are the files or directories in that subsection." +msgstr "" + +#. type: item +#: doc/guix.texi:15074 +#, no-wrap +msgid "@code{bind} (default: @code{\"localhost:8080\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:15076 +msgid "Address and port to which Tailon should bind on." +msgstr "" + +#. type: item +#: doc/guix.texi:15077 +#, no-wrap +msgid "@code{relative-root} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:15079 +msgid "URL path to use for Tailon, set to @code{#f} to not use a path." +msgstr "" + +#. type: item +#: doc/guix.texi:15080 +#, no-wrap +msgid "@code{allow-transfers?} (default: @code{#t})" +msgstr "" + +#. type: table +#: doc/guix.texi:15082 +msgid "Allow downloading the log files in the web interface." +msgstr "" + +#. type: item +#: doc/guix.texi:15083 +#, no-wrap +msgid "@code{follow-names?} (default: @code{#t})" +msgstr "" + +#. type: table +#: doc/guix.texi:15085 +msgid "Allow tailing of not-yet existent files." +msgstr "" + +#. type: item +#: doc/guix.texi:15086 +#, no-wrap +msgid "@code{tail-lines} (default: @code{200})" +msgstr "" + +#. type: table +#: doc/guix.texi:15088 +msgid "Number of lines to read initially from each file." +msgstr "" + +#. type: item +#: doc/guix.texi:15089 +#, no-wrap +msgid "@code{allowed-commands} (default: @code{(list \"tail\" \"grep\" \"awk\")})" +msgstr "" + +#. type: table +#: doc/guix.texi:15091 +msgid "Commands to allow running. By default, @code{sed} is disabled." +msgstr "" + +#. type: item +#: doc/guix.texi:15092 +#, no-wrap +msgid "@code{debug?} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:15094 +msgid "Set @code{debug?} to @code{#t} to show debug messages." +msgstr "" + +#. type: item +#: doc/guix.texi:15095 +#, no-wrap +msgid "@code{wrap-lines} (default: @code{#t})" +msgstr "" + +#. type: table +#: doc/guix.texi:15099 +msgid "" +"Initial line wrapping state in the web interface. Set to @code{#t} to " +"initially wrap lines (the default), or to @code{#f} to initially not wrap " +"lines." +msgstr "" + +#. type: item +#: doc/guix.texi:15100 +#, no-wrap +msgid "@code{http-auth} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:15104 +msgid "" +"HTTP authentication type to use. Set to @code{#f} to disable authentication " +"(the default). Supported values are @code{\"digest\"} or @code{\"basic\"}." +msgstr "" + +#. type: item +#: doc/guix.texi:15105 +#, no-wrap +msgid "@code{users} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:15110 +msgid "" +"If HTTP authentication is enabled (see @code{http-auth}), access will be " +"restricted to the credentials provided here. To configure users, use a list " +"of pairs, where the first element of the pair is the username, and the 2nd " +"element of the pair is the password." +msgstr "" + +#. type: example +#: doc/guix.texi:15116 +#, no-wrap +msgid "" +"(tailon-configuration-file\n" +" (http-auth \"basic\")\n" +" (users '((\"user1\" . \"password1\")\n" +" (\"user2\" . \"password2\"))))\n" +msgstr "" + +#. type: subsubheading +#: doc/guix.texi:15122 +#, no-wrap +msgid "Darkstat Service" +msgstr "" + +#. type: cindex +#: doc/guix.texi:15123 +#, no-wrap +msgid "darkstat" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:15126 +msgid "" +"Darkstat is a packet sniffer that captures network traffic, calculates " +"statistics about usage, and serves reports over HTTP." +msgstr "" + +#. type: defvar +#: doc/guix.texi:15127 +#, no-wrap +msgid "{Scheme Variable} darkstat-service-type" +msgstr "" + +#. type: defvar +#: doc/guix.texi:15132 +msgid "" +"This is the service type for the @uref{https://unix4lyfe.org/darkstat/, " +"darkstat} service, its value must be a @code{darkstat-configuration} record " +"as in this example:" +msgstr "" + +#. type: example +#: doc/guix.texi:15137 +#, no-wrap +msgid "" +"(service darkstat-service-type\n" +" (darkstat-configuration\n" +" (interface \"eno1\")))\n" +msgstr "" + +#. type: deftp +#: doc/guix.texi:15140 +#, no-wrap +msgid "{Data Type} darkstat-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:15142 +msgid "Data type representing the configuration of @command{darkstat}." +msgstr "" + +#. type: item +#: doc/guix.texi:15144 +#, no-wrap +msgid "@code{package} (default: @code{darkstat})" +msgstr "" + +#. type: table +#: doc/guix.texi:15146 +msgid "The darkstat package to use." +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:15147 +#, no-wrap +msgid "interface" +msgstr "" + +#. type: table +#: doc/guix.texi:15149 +msgid "Capture traffic on the specified network interface." +msgstr "" + +#. type: item +#: doc/guix.texi:15150 +#, no-wrap +msgid "@code{port} (default: @code{\"667\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:15152 +msgid "Bind the web interface to the specified port." +msgstr "" + +#. type: item +#: doc/guix.texi:15153 +#, no-wrap +msgid "@code{bind-address} (default: @code{\"127.0.0.1\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:15155 +msgid "Bind the web interface to the specified address." +msgstr "" + +#. type: item +#: doc/guix.texi:15156 +#, no-wrap +msgid "@code{base} (default: @code{\"/\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:15159 +msgid "" +"Specify the path of the base URL. This can be useful if @command{darkstat} " +"is accessed via a reverse proxy." +msgstr "" + +#. type: cindex +#: doc/guix.texi:15166 +#, no-wrap +msgid "Kerberos" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:15170 +msgid "" +"The @code{(gnu services kerberos)} module provides services relating to the " +"authentication protocol @dfn{Kerberos}." +msgstr "" + +#. type: subsubheading +#: doc/guix.texi:15171 +#, no-wrap +msgid "Krb5 Service" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:15178 +msgid "" +"Programs using a Kerberos client library normally expect a configuration " +"file in @file{/etc/krb5.conf}. This service generates such a file from a " +"definition provided in the operating system declaration. It does not cause " +"any daemon to be started." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:15182 +msgid "" +"No ``keytab'' files are provided by this service---you must explicitly " +"create them. This service is known to work with the MIT client library, " +"@code{mit-krb5}. Other implementations have not been tested." +msgstr "" + +#. type: defvr +#: doc/guix.texi:15183 +#, no-wrap +msgid "{Scheme Variable} krb5-service-type" +msgstr "" + +#. type: defvr +#: doc/guix.texi:15185 +msgid "A service type for Kerberos 5 clients." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:15189 +msgid "Here is an example of its use:" +msgstr "" + +#. type: lisp +#: doc/guix.texi:15203 +#, no-wrap +msgid "" +"(service krb5-service-type\n" +" (krb5-configuration\n" +" (default-realm \"EXAMPLE.COM\")\n" +" (allow-weak-crypto? #t)\n" +" (realms (list\n" +" (krb5-realm\n" +" (name \"EXAMPLE.COM\")\n" +" (admin-server \"groucho.example.com\")\n" +" (kdc \"karl.example.com\"))\n" +" (krb5-realm\n" +" (name \"ARGRX.EDU\")\n" +" (admin-server \"kerb-admin.argrx.edu\")\n" +" (kdc \"keys.argrx.edu\"))))))\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:15207 +msgid "This example provides a Kerberos@tie{}5 client configuration which:" +msgstr "" + +#. type: item +#: doc/guix.texi:15208 +#, no-wrap +msgid "Recognizes two realms, @i{viz:} ``EXAMPLE.COM'' and ``ARGRX.EDU'', both" +msgstr "" + +#. type: itemize +#: doc/guix.texi:15210 +msgid "of which have distinct administration servers and key distribution centers;" +msgstr "" + +#. type: item +#: doc/guix.texi:15210 +#, no-wrap +msgid "Will default to the realm ``EXAMPLE.COM'' if the realm is not explicitly" +msgstr "" + +#. type: itemize +#: doc/guix.texi:15212 +msgid "specified by clients;" +msgstr "" + +#. type: item +#: doc/guix.texi:15212 +#, no-wrap +msgid "Accepts services which only support encryption types known to be weak." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:15220 +msgid "" +"The @code{krb5-realm} and @code{krb5-configuration} types have many fields. " +"Only the most commonly used ones are described here. For a full list, and " +"more detailed explanation of each, see the MIT " +"@uref{http://web.mit.edu/kerberos/krb5-devel/doc/admin/conf_files/krb5_conf.html,,krb5.conf} " +"documentation." +msgstr "" + +#. type: deftp +#: doc/guix.texi:15222 +#, no-wrap +msgid "{Data Type} krb5-realm" +msgstr "" + +#. type: cindex +#: doc/guix.texi:15223 +#, no-wrap +msgid "realm, kerberos" +msgstr "" + +#. type: table +#: doc/guix.texi:15229 +msgid "" +"This field is a string identifying the name of the realm. A common " +"convention is to use the fully qualified DNS name of your organization, " +"converted to upper case." +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:15230 +#, no-wrap +msgid "admin-server" +msgstr "" + +#. type: table +#: doc/guix.texi:15233 +msgid "" +"This field is a string identifying the host where the administration server " +"is running." +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:15234 +#, no-wrap +msgid "kdc" +msgstr "" + +#. type: table +#: doc/guix.texi:15237 +msgid "" +"This field is a string identifying the key distribution center for the " +"realm." +msgstr "" + +#. type: deftp +#: doc/guix.texi:15240 +#, no-wrap +msgid "{Data Type} krb5-configuration" +msgstr "" + +#. type: item +#: doc/guix.texi:15243 +#, no-wrap +msgid "@code{allow-weak-crypto?} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:15246 +msgid "" +"If this flag is @code{#t} then services which only offer encryption " +"algorithms known to be weak will be accepted." +msgstr "" + +#. type: item +#: doc/guix.texi:15247 +#, no-wrap +msgid "@code{default-realm} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:15254 +msgid "" +"This field should be a string identifying the default Kerberos realm for the " +"client. You should set this field to the name of your Kerberos realm. If " +"this value is @code{#f} then a realm must be specified with every Kerberos " +"principal when invoking programs such as @command{kinit}." +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:15255 +#, no-wrap +msgid "realms" +msgstr "" + +#. type: table +#: doc/guix.texi:15260 +msgid "" +"This should be a non-empty list of @code{krb5-realm} objects, which clients " +"may access. Normally, one of them will have a @code{name} field matching " +"the @code{default-realm} field." +msgstr "" + +#. type: subsubheading +#: doc/guix.texi:15264 +#, no-wrap +msgid "PAM krb5 Service" +msgstr "" + +#. type: cindex +#: doc/guix.texi:15265 +#, no-wrap +msgid "pam-krb5" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:15271 +msgid "" +"The @code{pam-krb5} service allows for login authentication and password " +"management via Kerberos. You will need this service if you want PAM enabled " +"applications to authenticate users using Kerberos." +msgstr "" + +#. type: defvr +#: doc/guix.texi:15272 +#, no-wrap +msgid "{Scheme Variable} pam-krb5-service-type" +msgstr "" + +#. type: defvr +#: doc/guix.texi:15274 +msgid "A service type for the Kerberos 5 PAM module." +msgstr "" + +#. type: deftp +#: doc/guix.texi:15276 +#, no-wrap +msgid "{Data Type} pam-krb5-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:15279 +msgid "" +"Data type representing the configuration of the Kerberos 5 PAM module This " +"type has the following parameters:" +msgstr "" + +#. type: item +#: doc/guix.texi:15280 +#, no-wrap +msgid "@code{pam-krb5} (default: @code{pam-krb5})" +msgstr "" + +#. type: table +#: doc/guix.texi:15282 +msgid "The pam-krb5 package to use." +msgstr "" + +#. type: item +#: doc/guix.texi:15283 +#, no-wrap +msgid "@code{minimum-uid} (default: @code{1000})" +msgstr "" + +#. type: table +#: doc/guix.texi:15286 +msgid "" +"The smallest user ID for which Kerberos authentications should be " +"attempted. Local accounts with lower values will silently fail to " +"authenticate." +msgstr "" + +#. type: cindex +#: doc/guix.texi:15293 +#, no-wrap +msgid "web" +msgstr "" + +#. type: cindex +#: doc/guix.texi:15294 +#, no-wrap +msgid "www" +msgstr "" + +#. type: cindex +#: doc/guix.texi:15295 +#, no-wrap +msgid "HTTP" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:15298 +msgid "" +"The @code{(gnu services web)} module provides the Apache HTTP Server, the " +"nginx web server, and also a fastcgi wrapper daemon." +msgstr "" + +#. type: subsubheading +#: doc/guix.texi:15299 +#, no-wrap +msgid "Apache HTTP Server" +msgstr "" + +#. type: deffn +#: doc/guix.texi:15301 +#, no-wrap +msgid "{Scheme Variable} httpd-service-type" +msgstr "" + +#. type: deffn +#: doc/guix.texi:15305 +msgid "" +"Service type for the @uref{https://httpd.apache.org/,Apache HTTP} server " +"(@dfn{httpd}). The value for this service type is a " +"@code{https-configuration} record." +msgstr "" + +#. type: deffn +#: doc/guix.texi:15307 doc/guix.texi:15458 +msgid "A simple example configuration is given below." +msgstr "" + +#. type: example +#: doc/guix.texi:15315 +#, no-wrap +msgid "" +"(service httpd-service-type\n" +" (httpd-configuration\n" +" (config\n" +" (httpd-config-file\n" +" (server-name \"www.example.com\")\n" +" (document-root \"/srv/http/www.example.com\")))))\n" +msgstr "" + +#. type: deffn +#: doc/guix.texi:15319 +msgid "" +"Other services can also extend the @code{httpd-service-type} to add to the " +"configuration." +msgstr "" + +#. type: example +#: doc/guix.texi:15328 doc/guix.texi:15438 +#, no-wrap +msgid "" +"(simple-service 'my-extra-server httpd-service-type\n" +" (list\n" +" (httpd-virtualhost\n" +" \"*:80\"\n" +" (list (string-append\n" +" \"ServerName \"www.example.com\n" +" DocumentRoot " +"\\\"/srv/http/www.example.com\\\"\")))))\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:15334 +msgid "" +"The details for the @code{httpd-configuration}, @code{httpd-module}, " +"@code{httpd-config-file} and @code{httpd-virtualhost} record types are given " +"below." +msgstr "" + +#. type: deffn +#: doc/guix.texi:15335 +#, no-wrap +msgid "{Data Type} httpd-configuration" +msgstr "" + +#. type: deffn +#: doc/guix.texi:15337 +msgid "This data type represents the configuration for the httpd service." +msgstr "" + +#. type: item +#: doc/guix.texi:15339 +#, no-wrap +msgid "@code{package} (default: @code{httpd})" +msgstr "" + +#. type: table +#: doc/guix.texi:15341 +msgid "The httpd package to use." +msgstr "" + +#. type: item +#: doc/guix.texi:15342 doc/guix.texi:15401 +#, no-wrap +msgid "@code{pid-file} (default: @code{\"/var/run/httpd\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:15344 +msgid "The pid file used by the shepherd-service." +msgstr "" + +#. type: item +#: doc/guix.texi:15345 +#, no-wrap +msgid "@code{config} (default: @code{(httpd-config-file)})" +msgstr "" + +#. type: table +#: doc/guix.texi:15350 +msgid "" +"The configuration file to use with the httpd service. The default value is a " +"@code{httpd-config-file} record, but this can also be a different " +"G-expression that generates a file, for example a @code{plain-file}. A file " +"outside of the store can also be specified through a string." +msgstr "" + +#. type: deffn +#: doc/guix.texi:15354 +#, no-wrap +msgid "{Data Type} httpd-module" +msgstr "" + +#. type: deffn +#: doc/guix.texi:15356 +msgid "This data type represents a module for the httpd service." +msgstr "" + +#. type: table +#: doc/guix.texi:15360 +msgid "The name of the module." +msgstr "" + +#. type: table +#: doc/guix.texi:15366 +msgid "" +"The file for the module. This can be relative to the httpd package being " +"used, the absolute location of a file, or a G-expression for a file within " +"the store, for example @code{(file-append mod-wsgi " +"\"/modules/mod_wsgi.so\")}." +msgstr "" + +#. type: deffn +#: doc/guix.texi:15370 +#, no-wrap +msgid "{Data Type} httpd-config-file" +msgstr "" + +#. type: deffn +#: doc/guix.texi:15372 +msgid "This data type represents a configuration file for the httpd service." +msgstr "" + +#. type: item +#: doc/guix.texi:15374 +#, no-wrap +msgid "@code{modules} (default: @code{%default-httpd-modules})" +msgstr "" + +#. type: table +#: doc/guix.texi:15377 +msgid "" +"The modules to load. Additional modules can be added here, or loaded by " +"additional configuration." +msgstr "" + +#. type: item +#: doc/guix.texi:15378 +#, no-wrap +msgid "@code{server-root} (default: @code{httpd})" +msgstr "" + +#. type: table +#: doc/guix.texi:15382 +msgid "" +"The @code{ServerRoot} in the configuration file, defaults to the httpd " +"package. Directives including @code{Include} and @code{LoadModule} are taken " +"as relative to the server root." +msgstr "" + +#. type: item +#: doc/guix.texi:15383 +#, no-wrap +msgid "@code{server-name} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:15387 +msgid "" +"The @code{ServerName} in the configuration file, used to specify the request " +"scheme, hostname and port that the server uses to identify itself." +msgstr "" + +#. type: table +#: doc/guix.texi:15391 +msgid "" +"This doesn't need to be set in the server config, and can be specifyed in " +"virtual hosts. The default is @code{#f} to not specify a @code{ServerName}." +msgstr "" + +#. type: item +#: doc/guix.texi:15392 +#, no-wrap +msgid "@code{document-root} (default: @code{\"/srv/http\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:15394 +msgid "The @code{DocumentRoot} from which files will be served." +msgstr "" + +#. type: item +#: doc/guix.texi:15395 +#, no-wrap +msgid "@code{listen} (default: @code{'(\"80\")})" +msgstr "" + +#. type: table +#: doc/guix.texi:15400 +msgid "" +"The list of values for the @code{Listen} directives in the config file. The " +"value should be a list of strings, when each string can specify the port " +"number to listen on, and optionally the IP address and protocol to use." +msgstr "" + +#. type: table +#: doc/guix.texi:15405 +msgid "" +"The @code{PidFile} to use. This should match the @code{pid-file} set in the " +"@code{httpd-configuration} so that the Shepherd service is configured " +"correctly." +msgstr "" + +#. type: item +#: doc/guix.texi:15406 +#, no-wrap +msgid "@code{error-log} (default: @code{\"/var/log/httpd/error_log\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:15408 +msgid "The @code{ErrorLog} to which the server will log errors." +msgstr "" + +#. type: item +#: doc/guix.texi:15409 +#, no-wrap +msgid "@code{user} (default: @code{\"httpd\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:15411 +msgid "The @code{User} which the server will answer requests as." +msgstr "" + +#. type: item +#: doc/guix.texi:15412 +#, no-wrap +msgid "@code{group} (default: @code{\"httpd\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:15414 +msgid "The @code{Group} which the server will answer requests as." +msgstr "" + +#. type: item +#: doc/guix.texi:15415 +#, no-wrap +msgid "" +"@code{extra-config} (default: @code{(list \"TypesConfig " +"etc/httpd/mime.types\")})" +msgstr "" + +#. type: table +#: doc/guix.texi:15418 +msgid "" +"A flat list of strings and G-expressions which will be added to the end of " +"the configuration file." +msgstr "" + +#. type: table +#: doc/guix.texi:15421 +msgid "Any values which the service is extended with will be appended to this list." +msgstr "" + +#. type: deffn +#: doc/guix.texi:15425 +#, no-wrap +msgid "{Data Type} httpd-virtualhost" +msgstr "" + +#. type: deffn +#: doc/guix.texi:15427 +msgid "" +"This data type represents a virtualhost configuration block for the httpd " +"service." +msgstr "" + +#. type: deffn +#: doc/guix.texi:15429 +msgid "These should be added to the extra-config for the httpd-service." +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:15441 +#, no-wrap +msgid "addresses-and-ports" +msgstr "" + +#. type: table +#: doc/guix.texi:15443 +msgid "The addresses and ports for the @code{VirtualHost} directive." +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:15444 +#, no-wrap +msgid "contents" +msgstr "" + +#. type: table +#: doc/guix.texi:15447 +msgid "" +"The contents of the @code{VirtualHost} directive, this should be a list of " +"strings and G-expressions." +msgstr "" + +#. type: subsubheading +#: doc/guix.texi:15451 +#, no-wrap +msgid "NGINX" +msgstr "" + +#. type: deffn +#: doc/guix.texi:15453 +#, no-wrap +msgid "{Scheme Variable} nginx-service-type" +msgstr "" + +#. type: deffn +#: doc/guix.texi:15456 +msgid "" +"Service type for the @uref{https://nginx.org/,NGinx} web server. The value " +"for this service type is a @code{<nginx-configuration>} record." +msgstr "" + +#. type: example +#: doc/guix.texi:15466 doc/guix.texi:15520 +#, no-wrap +msgid "" +"(service nginx-service-type\n" +" (nginx-configuration\n" +" (server-blocks\n" +" (list (nginx-server-configuration\n" +" (server-name '(\"www.example.com\"))\n" +" (root \"/srv/http/www.example.com\"))))))\n" +msgstr "" + +#. type: deffn +#: doc/guix.texi:15471 +msgid "" +"In addition to adding server blocks to the service configuration directly, " +"this service can be extended by other services to add server blocks, as in " +"this example:" +msgstr "" + +#. type: example +#: doc/guix.texi:15477 +#, no-wrap +msgid "" +"(simple-service 'my-extra-server nginx-service-type\n" +" (list (nginx-server-configuration\n" +" (root \"/srv/http/extra-website\")\n" +" (try-files (list \"$uri\" \"$uri/index.html\")))))\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:15488 +msgid "" +"At startup, @command{nginx} has not yet read its configuration file, so it " +"uses a default file to log error messages. If it fails to load its " +"configuration file, that is where error messages are logged. After the " +"configuration file is loaded, the default error log file changes as per " +"configuration. In our case, startup error messages can be found in " +"@file{/var/run/nginx/logs/error.log}, and after configuration in " +"@file{/var/log/nginx/error.log}. The second location can be changed with " +"the @var{log-directory} configuration option." +msgstr "" + +#. type: deffn +#: doc/guix.texi:15489 +#, no-wrap +msgid "{Data Type} nginx-configuration" +msgstr "" + +#. type: deffn +#: doc/guix.texi:15493 +msgid "" +"This data type represents the configuration for NGinx. Some configuration " +"can be done through this and the other provided record types, or " +"alternatively, a config file can be provided." +msgstr "" + +#. type: item +#: doc/guix.texi:15495 +#, no-wrap +msgid "@code{nginx} (default: @code{nginx})" +msgstr "" + +#. type: table +#: doc/guix.texi:15497 +msgid "The nginx package to use." +msgstr "" + +#. type: item +#: doc/guix.texi:15498 +#, no-wrap +msgid "@code{log-directory} (default: @code{\"/var/log/nginx\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:15500 +msgid "The directory to which NGinx will write log files." +msgstr "" + +#. type: item +#: doc/guix.texi:15501 +#, no-wrap +msgid "@code{run-directory} (default: @code{\"/var/run/nginx\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:15504 +msgid "" +"The directory in which NGinx will create a pid file, and write temporary " +"files." +msgstr "" + +#. type: item +#: doc/guix.texi:15505 +#, no-wrap +msgid "@code{server-blocks} (default: @code{'()})" +msgstr "" + +#. type: table +#: doc/guix.texi:15509 +msgid "" +"A list of @dfn{server blocks} to create in the generated configuration file, " +"the elements should be of type @code{<nginx-server-configuration>}." +msgstr "" + +#. type: table +#: doc/guix.texi:15513 +msgid "" +"The following example would setup NGinx to serve @code{www.example.com} from " +"the @code{/srv/http/www.example.com} directory, without using HTTPS." +msgstr "" + +#. type: item +#: doc/guix.texi:15522 +#, no-wrap +msgid "@code{upstream-blocks} (default: @code{'()})" +msgstr "" + +#. type: table +#: doc/guix.texi:15526 +msgid "" +"A list of @dfn{upstream blocks} to create in the generated configuration " +"file, the elements should be of type @code{<nginx-upstream-configuration>}." +msgstr "" + +#. type: table +#: doc/guix.texi:15533 +msgid "" +"Configuring upstreams through the @code{upstream-blocks} can be useful when " +"combined with @code{locations} in the @code{<nginx-server-configuration>} " +"records. The following example creates a server configuration with one " +"location configuration, that will proxy requests to a upstream " +"configuration, which will handle requests with two servers." +msgstr "" + +#. type: example +#: doc/guix.texi:15552 +#, no-wrap +msgid "" +"(service\n" +" nginx-service-type\n" +" (nginx-configuration\n" +" (server-blocks\n" +" (list (nginx-server-configuration\n" +" (server-name '(\"www.example.com\"))\n" +" (root \"/srv/http/www.example.com\")\n" +" (locations\n" +" (list\n" +" (nginx-location-configuration\n" +" (uri \"/path1\")\n" +" (body '(\"proxy_pass http://server-proxy;\"))))))))\n" +" (upstream-blocks\n" +" (list (nginx-upstream-configuration\n" +" (name \"server-proxy\")\n" +" (servers (list \"server1.example.com\"\n" +" \"server2.example.com\")))))))\n" +msgstr "" + +#. type: table +#: doc/guix.texi:15560 +msgid "" +"If a configuration @var{file} is provided, this will be used, rather than " +"generating a configuration file from the provided @code{log-directory}, " +"@code{run-directory}, @code{server-blocks} and @code{upstream-blocks}. For " +"proper operation, these arguments should match what is in @var{file} to " +"ensure that the directories are created when the service is activated." +msgstr "" + +#. type: table +#: doc/guix.texi:15564 +msgid "" +"This can be useful if you have an existing configuration file, or it's not " +"possible to do what is required through the other parts of the " +"nginx-configuration record." +msgstr "" + +#. type: item +#: doc/guix.texi:15565 +#, no-wrap +msgid "@code{server-names-hash-bucket-size} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:15568 +msgid "" +"Bucket size for the server names hash tables, defaults to @code{#f} to use " +"the size of the processors cache line." +msgstr "" + +#. type: item +#: doc/guix.texi:15569 +#, no-wrap +msgid "@code{server-names-hash-bucket-max-size} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:15571 +msgid "Maximum bucket size for the server names hash tables." +msgstr "" + +#. type: deftp +#: doc/guix.texi:15575 +#, no-wrap +msgid "{Data Type} nginx-server-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:15578 +msgid "" +"Data type representing the configuration of an nginx server block. This " +"type has the following parameters:" +msgstr "" + +#. type: item +#: doc/guix.texi:15580 +#, no-wrap +msgid "@code{listen} (default: @code{'(\"80\" \"443 ssl\")})" +msgstr "" + +#. type: table +#: doc/guix.texi:15585 +msgid "" +"Each @code{listen} directive sets the address and port for IP, or the path " +"for a UNIX-domain socket on which the server will accept requests. Both " +"address and port, or only address or only port can be specified. An address " +"may also be a hostname, for example:" +msgstr "" + +#. type: example +#: doc/guix.texi:15588 +#, no-wrap +msgid "'(\"127.0.0.1:8000\" \"127.0.0.1\" \"8000\" \"*:8000\" \"localhost:8000\")\n" +msgstr "" + +#. type: item +#: doc/guix.texi:15590 +#, no-wrap +msgid "@code{server-name} (default: @code{(list 'default)})" +msgstr "" + +#. type: table +#: doc/guix.texi:15593 +msgid "" +"A list of server names this server represents. @code{'default} represents " +"the default server for connections matching no other server." +msgstr "" + +#. type: item +#: doc/guix.texi:15594 +#, no-wrap +msgid "@code{root} (default: @code{\"/srv/http\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:15596 +msgid "Root of the website nginx will serve." +msgstr "" + +#. type: item +#: doc/guix.texi:15597 +#, no-wrap +msgid "@code{locations} (default: @code{'()})" +msgstr "" + +#. type: table +#: doc/guix.texi:15601 +msgid "" +"A list of @dfn{nginx-location-configuration} or " +"@dfn{nginx-named-location-configuration} records to use within this server " +"block." +msgstr "" + +#. type: item +#: doc/guix.texi:15602 +#, no-wrap +msgid "@code{index} (default: @code{(list \"index.html\")})" +msgstr "" + +#. type: table +#: doc/guix.texi:15605 +msgid "" +"Index files to look for when clients ask for a directory. If it cannot be " +"found, Nginx will send the list of files in the directory." +msgstr "" + +#. type: item +#: doc/guix.texi:15606 +#, no-wrap +msgid "@code{try-files} (default: @code{'()})" +msgstr "" + +#. type: table +#: doc/guix.texi:15609 +msgid "" +"A list of files whose existence is checked in the specified order. " +"@code{nginx} will use the first file it finds to process the request." +msgstr "" + +#. type: item +#: doc/guix.texi:15610 +#, no-wrap +msgid "@code{ssl-certificate} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:15613 +msgid "" +"Where to find the certificate for secure connections. Set it to @code{#f} " +"if you don't have a certificate or you don't want to use HTTPS." +msgstr "" + +#. type: item +#: doc/guix.texi:15614 +#, no-wrap +msgid "@code{ssl-certificate-key} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:15617 +msgid "" +"Where to find the private key for secure connections. Set it to @code{#f} " +"if you don't have a key or you don't want to use HTTPS." +msgstr "" + +#. type: item +#: doc/guix.texi:15618 +#, no-wrap +msgid "@code{server-tokens?} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:15620 +msgid "Whether the server should add its configuration to response." +msgstr "" + +#. type: item +#: doc/guix.texi:15621 +#, no-wrap +msgid "@code{raw-content} (default: @code{'()})" +msgstr "" + +#. type: table +#: doc/guix.texi:15623 +msgid "A list of raw lines added to the server block." +msgstr "" + +#. type: deftp +#: doc/guix.texi:15627 +#, no-wrap +msgid "{Data Type} nginx-upstream-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:15630 +msgid "" +"Data type representing the configuration of an nginx @code{upstream} block. " +"This type has the following parameters:" +msgstr "" + +#. type: table +#: doc/guix.texi:15634 +msgid "Name for this group of servers." +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:15635 +#, no-wrap +msgid "servers" +msgstr "" + +#. type: table +#: doc/guix.texi:15642 +msgid "" +"Specify the addresses of the servers in the group. The address can be " +"specified as a IP address (e.g. @samp{127.0.0.1}), domain name " +"(e.g. @samp{backend1.example.com}) or a path to a UNIX socket using the " +"prefix @samp{unix:}. For addresses using an IP address or domain name, the " +"default port is 80, and a different port can be specified explicitly." +msgstr "" + +#. type: deftp +#: doc/guix.texi:15646 +#, no-wrap +msgid "{Data Type} nginx-location-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:15649 +msgid "" +"Data type representing the configuration of an nginx @code{location} block. " +"This type has the following parameters:" +msgstr "" + +#. type: table +#: doc/guix.texi:15653 +msgid "URI which this location block matches." +msgstr "" + +#. type: anchor{#1} +#: doc/guix.texi:15655 +msgid "nginx-location-configuration body" +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:15655 doc/guix.texi:15676 +#, no-wrap +msgid "body" +msgstr "" + +#. type: table +#: doc/guix.texi:15662 +msgid "" +"Body of the location block, specified as a list of strings. This can contain " +"many configuration directives. For example, to pass requests to a upstream " +"server group defined using an @code{nginx-upstream-configuration} block, the " +"following directive would be specified in the body @samp{(list \"proxy_pass " +"http://upstream-name;\")}." +msgstr "" + +#. type: deftp +#: doc/guix.texi:15666 +#, no-wrap +msgid "{Data Type} nginx-named-location-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:15671 +msgid "" +"Data type representing the configuration of an nginx named location block. " +"Named location blocks are used for request redirection, and not used for " +"regular request processing. This type has the following parameters:" +msgstr "" + +#. type: table +#: doc/guix.texi:15675 +msgid "Name to identify this location block." +msgstr "" + +#. type: table +#: doc/guix.texi:15681 +msgid "" +"@xref{nginx-location-configuration body}, as the body for named location " +"blocks can be used in a similar way to the " +"@code{nginx-location-configuration body}. One restriction is that the body " +"of a named location block cannot contain location blocks." +msgstr "" + +#. type: cindex +#: doc/guix.texi:15685 +#, no-wrap +msgid "fastcgi" +msgstr "" + +#. type: cindex +#: doc/guix.texi:15686 +#, no-wrap +msgid "fcgiwrap" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:15693 +msgid "" +"FastCGI is an interface between the front-end and the back-end of a web " +"service. It is a somewhat legacy facility; new web services should " +"generally just talk HTTP between the front-end and the back-end. However " +"there are a number of back-end services such as PHP or the optimized HTTP " +"Git repository access that use FastCGI, so we have support for it in Guix." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:15700 +msgid "" +"To use FastCGI, you configure the front-end web server (e.g., nginx) to " +"dispatch some subset of its requests to the fastcgi backend, which listens " +"on a local TCP or UNIX socket. There is an intermediary @code{fcgiwrap} " +"program that sits between the actual backend process and the web server. " +"The front-end indicates which backend program to run, passing that " +"information to the @code{fcgiwrap} process." +msgstr "" + +#. type: defvr +#: doc/guix.texi:15701 +#, no-wrap +msgid "{Scheme Variable} fcgiwrap-service-type" +msgstr "" + +#. type: defvr +#: doc/guix.texi:15703 +msgid "A service type for the @code{fcgiwrap} FastCGI proxy." +msgstr "" + +#. type: deftp +#: doc/guix.texi:15705 +#, no-wrap +msgid "{Data Type} fcgiwrap-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:15708 +msgid "" +"Data type representing the configuration of the @code{fcgiwrap} serice. " +"This type has the following parameters:" +msgstr "" + +#. type: item +#: doc/guix.texi:15709 +#, no-wrap +msgid "@code{package} (default: @code{fcgiwrap})" +msgstr "" + +#. type: table +#: doc/guix.texi:15711 +msgid "The fcgiwrap package to use." +msgstr "" + +#. type: item +#: doc/guix.texi:15712 +#, no-wrap +msgid "@code{socket} (default: @code{tcp:127.0.0.1:9000})" +msgstr "" + +#. type: table +#: doc/guix.texi:15718 +msgid "" +"The socket on which the @code{fcgiwrap} process should listen, as a string. " +"Valid @var{socket} values include @code{unix:@var{/path/to/unix/socket}}, " +"@code{tcp:@var{dot.ted.qu.ad}:@var{port}} and " +"@code{tcp6:[@var{ipv6_addr}]:port}." +msgstr "" + +#. type: item +#: doc/guix.texi:15719 +#, no-wrap +msgid "@code{user} (default: @code{fcgiwrap})" +msgstr "" + +#. type: itemx +#: doc/guix.texi:15720 +#, no-wrap +msgid "@code{group} (default: @code{fcgiwrap})" +msgstr "" + +#. type: table +#: doc/guix.texi:15725 +msgid "" +"The user and group names, as strings, under which to run the @code{fcgiwrap} " +"process. The @code{fastcgi} service will ensure that if the user asks for " +"the specific user or group names @code{fcgiwrap} that the corresponding user " +"and/or group is present on the system." +msgstr "" + +#. type: table +#: doc/guix.texi:15732 +msgid "" +"It is possible to configure a FastCGI-backed web service to pass HTTP " +"authentication information from the front-end to the back-end, and to allow " +"@code{fcgiwrap} to run the back-end process as a corresponding local user. " +"To enable this capability on the back-end., run @code{fcgiwrap} as the " +"@code{root} user and group. Note that this capability also has to be " +"configured on the front-end as well." +msgstr "" + +#. type: cindex +#: doc/guix.texi:15735 +#, no-wrap +msgid "php-fpm" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:15738 +msgid "" +"PHP-FPM (FastCGI Process Manager) is an alternative PHP FastCGI " +"implementation with some additional features useful for sites of any size." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:15740 +msgid "These features include:" +msgstr "" + +#. type: item +#: doc/guix.texi:15741 +#, no-wrap +msgid "Adaptive process spawning" +msgstr "" + +#. type: item +#: doc/guix.texi:15742 +#, no-wrap +msgid "Basic statistics (similar to Apache's mod_status)" +msgstr "" + +#. type: item +#: doc/guix.texi:15743 +#, no-wrap +msgid "Advanced process management with graceful stop/start" +msgstr "" + +#. type: item +#: doc/guix.texi:15744 +#, no-wrap +msgid "Ability to start workers with different uid/gid/chroot/environment" +msgstr "" + +#. type: itemize +#: doc/guix.texi:15746 +msgid "and different php.ini (replaces safe_mode)" +msgstr "" + +#. type: item +#: doc/guix.texi:15746 +#, no-wrap +msgid "Stdout & stderr logging" +msgstr "" + +#. type: item +#: doc/guix.texi:15747 +#, no-wrap +msgid "Emergency restart in case of accidental opcode cache destruction" +msgstr "" + +#. type: item +#: doc/guix.texi:15748 +#, no-wrap +msgid "Accelerated upload support" +msgstr "" + +#. type: item +#: doc/guix.texi:15749 +#, no-wrap +msgid "Support for a \"slowlog\"" +msgstr "" + +#. type: item +#: doc/guix.texi:15750 +#, no-wrap +msgid "Enhancements to FastCGI, such as fastcgi_finish_request() -" +msgstr "" + +#. type: itemize +#: doc/guix.texi:15753 +msgid "" +"a special function to finish request & flush all data while continuing to do " +"something time-consuming (video converting, stats processing, etc.)" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:15755 +msgid "... and much more." +msgstr "" + +#. type: defvr +#: doc/guix.texi:15756 +#, no-wrap +msgid "{Scheme Variable} php-fpm-service-type" +msgstr "" + +#. type: defvr +#: doc/guix.texi:15758 +msgid "A Service type for @code{php-fpm}." +msgstr "" + +#. type: deftp +#: doc/guix.texi:15760 +#, no-wrap +msgid "{Data Type} php-fpm-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:15762 +msgid "Data Type for php-fpm service configuration." +msgstr "" + +#. type: item +#: doc/guix.texi:15763 +#, no-wrap +msgid "@code{php} (default: @code{php})" +msgstr "" + +#. type: table +#: doc/guix.texi:15765 +msgid "The php package to use." +msgstr "" + +#. type: item +#: doc/guix.texi:15765 +#, no-wrap +msgid "" +"@code{socket} (default: @code{(string-append \"/var/run/php\" (version-major " +"(package-version php)) \"-fpm.sock\")})" +msgstr "" + +#. type: table +#: doc/guix.texi:15767 +msgid "The address on which to accept FastCGI requests. Valid syntaxes are:" +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:15768 +#, no-wrap +msgid "\"ip.add.re.ss:port\"" +msgstr "" + +#. type: table +#: doc/guix.texi:15770 +msgid "Listen on a TCP socket to a specific address on a specific port." +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:15770 +#, no-wrap +msgid "\"port\"" +msgstr "" + +#. type: table +#: doc/guix.texi:15772 +msgid "Listen on a TCP socket to all addresses on a specific port." +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:15772 +#, no-wrap +msgid "\"/path/to/unix/socket\"" +msgstr "" + +#. type: table +#: doc/guix.texi:15774 +msgid "Listen on a unix socket." +msgstr "" + +#. type: item +#: doc/guix.texi:15776 +#, no-wrap +msgid "@code{user} (default: @code{php-fpm})" +msgstr "" + +#. type: table +#: doc/guix.texi:15778 +msgid "User who will own the php worker processes." +msgstr "" + +#. type: item +#: doc/guix.texi:15778 +#, no-wrap +msgid "@code{group} (default: @code{php-fpm})" +msgstr "" + +#. type: table +#: doc/guix.texi:15780 +msgid "Group of the worker processes." +msgstr "" + +#. type: item +#: doc/guix.texi:15780 +#, no-wrap +msgid "@code{socket-user} (default: @code{php-fpm})" +msgstr "" + +#. type: table +#: doc/guix.texi:15782 +msgid "User who can speak to the php-fpm socket." +msgstr "" + +#. type: item +#: doc/guix.texi:15782 +#, no-wrap +msgid "@code{socket-group} (default: @code{php-fpm})" +msgstr "" + +#. type: table +#: doc/guix.texi:15784 +msgid "Group that can speak to the php-fpm socket." +msgstr "" + +#. type: item +#: doc/guix.texi:15784 +#, no-wrap +msgid "" +"@code{pid-file} (default: @code{(string-append \"/var/run/php\" " +"(version-major (package-version php)) \"-fpm.pid\")})" +msgstr "" + +#. type: table +#: doc/guix.texi:15787 +msgid "" +"The process id of the php-fpm process is written to this file once the " +"service has started." +msgstr "" + +#. type: item +#: doc/guix.texi:15787 +#, no-wrap +msgid "" +"@code{log-file} (default: @code{(string-append \"/var/log/php\" " +"(version-major (package-version php)) \"-fpm.log\")})" +msgstr "" + +#. type: table +#: doc/guix.texi:15789 +msgid "Log for the php-fpm master process." +msgstr "" + +#. type: item +#: doc/guix.texi:15789 +#, no-wrap +msgid "" +"@code{process-manager} (default: " +"@code{(php-fpm-dynamic-process-manager-configuration)})" +msgstr "" + +#. type: table +#: doc/guix.texi:15792 +msgid "Detailed settings for the php-fpm process manager. Must be either:" +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:15793 +#, no-wrap +msgid "<php-fpm-dynamic-process-manager-configuration>" +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:15794 +#, no-wrap +msgid "<php-fpm-static-process-manager-configuration>" +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:15795 +#, no-wrap +msgid "<php-fpm-on-demand-process-manager-configuration>" +msgstr "" + +#. type: item +#: doc/guix.texi:15797 +#, no-wrap +msgid "@code{display-errors} (default @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:15802 +msgid "" +"Determines whether php errors and warning should be sent to clients and " +"displayed in their browsers. This is useful for local php development, but " +"a security risk for public sites, as error messages can reveal passwords and " +"personal data." +msgstr "" + +#. type: item +#: doc/guix.texi:15802 +#, no-wrap +msgid "" +"@code{workers-logfile} (default @code{(string-append \"/var/log/php\" " +"(version-major (package-version php)) \"-fpm.www.log\")})" +msgstr "" + +#. type: table +#: doc/guix.texi:15805 +msgid "" +"This file will log the @code{stderr} outputs of php worker processes. Can " +"be set to @code{#f} to disable logging." +msgstr "" + +#. type: item +#: doc/guix.texi:15805 +#, no-wrap +msgid "@code{file} (default @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:15808 +msgid "" +"An optional override of the whole configuration. You can use the " +"@code{mixed-text-file} function or an absolute filepath for it." +msgstr "" + +#. type: deftp +#: doc/guix.texi:15811 +#, no-wrap +msgid "{Data type} php-fpm-dynamic-process-manager-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:15815 +msgid "" +"Data Type for the @code{dynamic} php-fpm process manager. With the " +"@code{dynamic} process manager, spare worker processes are kept around based " +"on it's configured limits." +msgstr "" + +#. type: item +#: doc/guix.texi:15816 doc/guix.texi:15832 doc/guix.texi:15842 +#, no-wrap +msgid "@code{max-children} (default: @code{5})" +msgstr "" + +#. type: table +#: doc/guix.texi:15818 doc/guix.texi:15834 doc/guix.texi:15844 +msgid "Maximum of worker processes." +msgstr "" + +#. type: item +#: doc/guix.texi:15818 +#, no-wrap +msgid "@code{start-servers} (default: @code{2})" +msgstr "" + +#. type: table +#: doc/guix.texi:15820 +msgid "How many worker processes should be started on start-up." +msgstr "" + +#. type: item +#: doc/guix.texi:15820 +#, no-wrap +msgid "@code{min-spare-servers} (default: @code{1})" +msgstr "" + +#. type: table +#: doc/guix.texi:15822 +msgid "How many spare worker processes should be kept around at minimum." +msgstr "" + +#. type: item +#: doc/guix.texi:15822 +#, no-wrap +msgid "@code{max-spare-servers} (default: @code{3})" +msgstr "" + +#. type: table +#: doc/guix.texi:15824 +msgid "How many spare worker processes should be kept around at maximum." +msgstr "" + +#. type: deftp +#: doc/guix.texi:15827 +#, no-wrap +msgid "{Data type} php-fpm-static-process-manager-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:15831 +msgid "" +"Data Type for the @code{static} php-fpm process manager. With the " +"@code{static} process manager, an unchanging number of worker processes are " +"created." +msgstr "" + +#. type: deftp +#: doc/guix.texi:15837 +#, no-wrap +msgid "{Data type} php-fpm-on-demand-process-manager-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:15841 +msgid "" +"Data Type for the @code{on-demand} php-fpm process manager. With the " +"@code{on-demand} process manager, worker processes are only created as " +"requests arrive." +msgstr "" + +#. type: item +#: doc/guix.texi:15844 +#, no-wrap +msgid "@code{process-idle-timeout} (default: @code{10})" +msgstr "" + +#. type: table +#: doc/guix.texi:15846 +msgid "The time in seconds after which a process with no requests is killed." +msgstr "" + +#. type: deffn +#: doc/guix.texi:15850 +#, no-wrap +msgid "{Scheme Procedure} nginx-php-fpm-location @" +msgstr "" + +#. type: deffn +#: doc/guix.texi:15856 +msgid "" +"[#:nginx-package nginx] @ [socket (string-append \"/var/run/php\" @ " +"(version-major (package-version php)) @ \"-fpm.sock\")] A helper function to " +"quickly add php to an @code{nginx-server-configuration}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:15859 +msgid "A simple services setup for nginx with php can look like this:" +msgstr "" + +#. type: example +#: doc/guix.texi:15872 +#, no-wrap +msgid "" +"(services (cons* (dhcp-client-service)\n" +" (service php-fpm-service-type)\n" +" (service nginx-service-type\n" +" (nginx-server-configuration\n" +" (server-name '(\"example.com\"))\n" +" (root \"/srv/http/\")\n" +" (locations\n" +" (list (nginx-php-location)))\n" +" (https-port #f)\n" +" (ssl-certificate #f)\n" +" (ssl-certificate-key #f)))\n" +" %base-services))\n" +msgstr "" + +#. type: cindex +#: doc/guix.texi:15874 +#, no-wrap +msgid "cat-avatar-generator" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:15878 +msgid "" +"The cat avatar generator is a simple service to demonstrate the use of " +"php-fpm in @code{Nginx}. It is used to generate cat avatar from a seed, for " +"instance the hash of a user's email address." +msgstr "" + +#. type: deffn +#: doc/guix.texi:15879 +#, no-wrap +msgid "{Scheme Procedure} cat-avatar-generator-serice @" +msgstr "" + +#. type: deffn +#: doc/guix.texi:15887 +msgid "" +"[#:cache-dir \"/var/cache/cat-avatar-generator\"] @ [#:package " +"cat-avatar-generator] @ [#:configuration (nginx-server-configuration)] " +"Returns an nginx-server-configuration that inherits @code{configuration}. " +"It extends the nginx configuration to add a server block that serves " +"@code{package}, a version of cat-avatar-generator. During execution, " +"cat-avatar-generator will be able to use @code{cache-dir} as its cache " +"directory." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:15890 +msgid "A simple setup for cat-avatar-generator can look like this:" +msgstr "" + +#. type: example +#: doc/guix.texi:15897 +#, no-wrap +msgid "" +"(services (cons* (cat-avatar-generator-service\n" +" #:configuration\n" +" (nginx-server-configuration\n" +" (server-name '(\"example.com\"))))\n" +" ...\n" +" %base-services))\n" +msgstr "" + +#. type: cindex +#: doc/guix.texi:15902 +#, no-wrap +msgid "Web" +msgstr "" + +#. type: cindex +#: doc/guix.texi:15903 +#, no-wrap +msgid "HTTP, HTTPS" +msgstr "" + +#. type: cindex +#: doc/guix.texi:15904 +#, no-wrap +msgid "Let's Encrypt" +msgstr "" + +#. type: cindex +#: doc/guix.texi:15905 +#, no-wrap +msgid "TLS certificates" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:15912 +msgid "" +"The @code{(gnu services certbot)} module provides a service to automatically " +"obtain a valid TLS certificate from the Let's Encrypt certificate " +"authority. These certificates can then be used to serve content securely " +"over HTTPS or other TLS-based protocols, with the knowledge that the client " +"will be able to verify the server's authenticity." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:15924 +msgid "" +"@url{https://letsencrypt.org/, Let's Encrypt} provides the @code{certbot} " +"tool to automate the certification process. This tool first securely " +"generates a key on the server. It then makes a request to the Let's Encrypt " +"certificate authority (CA) to sign the key. The CA checks that the request " +"originates from the host in question by using a challenge-response protocol, " +"requiring the server to provide its response over HTTP. If that protocol " +"completes successfully, the CA signs the key, resulting in a certificate. " +"That certificate is valid for a limited period of time, and therefore to " +"continue to provide TLS services, the server needs to periodically ask the " +"CA to renew its signature." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:15931 +msgid "" +"The certbot service automates this process: the initial key generation, the " +"initial certification request to the Let's Encrypt service, the web server " +"challenge/response integration, writing the certificate to disk, the " +"automated periodic renewals, and the deployment tasks associated with the " +"renewal (e.g. reloading services, copying keys with different permissions)." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:15937 +msgid "" +"Certbot is run twice a day, at a random minute within the hour. It won't do " +"anything until your certificates are due for renewal or revoked, but running " +"it regularly would give your service a chance of staying online in case a " +"Let's Encrypt-initiated revocation happened for some reason." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:15941 +msgid "" +"By using this service, you agree to the ACME Subscriber Agreement, which can " +"be found there: @url{https://acme-v01.api.letsencrypt.org/directory}." +msgstr "" + +#. type: defvr +#: doc/guix.texi:15942 +#, no-wrap +msgid "{Scheme Variable} certbot-service-type" +msgstr "" + +#. type: defvr +#: doc/guix.texi:15945 +msgid "" +"A service type for the @code{certbot} Let's Encrypt client. Its value must " +"be a @code{certbot-configuration} record as in this example:" +msgstr "" + +#. type: example +#: doc/guix.texi:15952 +#, no-wrap +msgid "" +"(define %nginx-deploy-hook\n" +" (program-file\n" +" \"nginx-deploy-hook\"\n" +" #~(let ((pid (call-with-input-file \"/var/run/nginx/pid\" read)))\n" +" (kill pid SIGHUP))))\n" +"\n" +msgstr "" + +#. type: example +#: doc/guix.texi:15963 +#, no-wrap +msgid "" +"(service certbot-service-type\n" +" (certbot-configuration\n" +" (email \"foo@@example.net\")\n" +" (certificates\n" +" (list\n" +" (certificate-configuration\n" +" (domains '(\"example.net\" \"www.example.net\"))\n" +" (deploy-hook %nginx-deploy-hook))\n" +" (certificate-configuration\n" +" (domains '(\"bar.example.net\")))))))\n" +msgstr "" + +#. type: defvr +#: doc/guix.texi:15966 +msgid "See below for details about @code{certbot-configuration}." +msgstr "" + +#. type: deftp +#: doc/guix.texi:15968 +#, no-wrap +msgid "{Data Type} certbot-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:15971 +msgid "" +"Data type representing the configuration of the @code{certbot} service. " +"This type has the following parameters:" +msgstr "" + +#. type: item +#: doc/guix.texi:15973 +#, no-wrap +msgid "@code{package} (default: @code{certbot})" +msgstr "" + +#. type: table +#: doc/guix.texi:15975 +msgid "The certbot package to use." +msgstr "" + +#. type: item +#: doc/guix.texi:15976 +#, no-wrap +msgid "@code{webroot} (default: @code{/var/www})" +msgstr "" + +#. type: table +#: doc/guix.texi:15979 +msgid "" +"The directory from which to serve the Let's Encrypt challenge/response " +"files." +msgstr "" + +#. type: item +#: doc/guix.texi:15980 +#, no-wrap +msgid "@code{certificates} (default: @code{()})" +msgstr "" + +#. type: table +#: doc/guix.texi:15984 +msgid "" +"A list of @code{certificates-configuration}s for which to generate " +"certificates and request signatures. Each certificate has a @code{name} and " +"several @code{domains}." +msgstr "" + +#. type: table +#: doc/guix.texi:15988 +msgid "" +"Mandatory email used for registration, recovery contact, and important " +"account notifications." +msgstr "" + +#. type: item +#: doc/guix.texi:15989 +#, no-wrap +msgid "@code{rsa-key-size} (default: @code{2048})" +msgstr "" + +#. type: table +#: doc/guix.texi:15991 +msgid "Size of the RSA key." +msgstr "" + +#. type: item +#: doc/guix.texi:15992 +#, no-wrap +msgid "@code{default-location} (default: @i{see below})" +msgstr "" + +#. type: table +#: doc/guix.texi:16001 +msgid "" +"The default @code{nginx-location-configuration}. Because @code{certbot} " +"needs to be able to serve challenges and responses, it needs to be able to " +"run a web server. It does so by extending the @code{nginx} web service with " +"an @code{nginx-server-configuration} listening on the @var{domains} on port " +"80, and which has a @code{nginx-location-configuration} for the " +"@code{/.well-known/} URI path subspace used by Let's Encrypt. @xref{Web " +"Services}, for more on these nginx configuration data types." +msgstr "" + +#. type: table +#: doc/guix.texi:16005 +msgid "" +"Requests to other URL paths will be matched by the @code{default-location}, " +"which if present is added to all @code{nginx-server-configuration}s." +msgstr "" + +#. type: table +#: doc/guix.texi:16009 +msgid "" +"By default, the @code{default-location} will issue a redirect from " +"@code{http://@var{domain}/...} to @code{https://@var{domain}/...}, leaving " +"you to define what to serve on your site via @code{https}." +msgstr "" + +#. type: table +#: doc/guix.texi:16011 +msgid "Pass @code{#f} to not issue a default location." +msgstr "" + +#. type: deftp +#: doc/guix.texi:16014 +#, no-wrap +msgid "{Data Type} certificate-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:16017 +msgid "" +"Data type representing the configuration of a certificate. This type has " +"the following parameters:" +msgstr "" + +#. type: item +#: doc/guix.texi:16019 +#, no-wrap +msgid "@code{name} (default: @i{see below})" +msgstr "" + +#. type: table +#: doc/guix.texi:16023 +msgid "" +"This name is used by Certbot for housekeeping and in file paths; it doesn't " +"affect the content of the certificate itself. To see certificate names, run " +"@code{certbot certificates}." +msgstr "" + +#. type: table +#: doc/guix.texi:16025 +msgid "Its default is the first provided domain." +msgstr "" + +#. type: item +#: doc/guix.texi:16026 +#, no-wrap +msgid "@code{domains} (default: @code{()})" +msgstr "" + +#. type: table +#: doc/guix.texi:16029 +msgid "" +"The first domain provided will be the subject CN of the certificate, and all " +"domains will be Subject Alternative Names on the certificate." +msgstr "" + +#. type: item +#: doc/guix.texi:16030 +#, no-wrap +msgid "@code{deploy-hook} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:16038 +msgid "" +"Command to be run in a shell once for each successfully issued certificate. " +"For this command, the shell variable @code{$RENEWED_LINEAGE} will point to " +"the config live subdirectory (for example, " +"@samp{\"/etc/letsencrypt/live/example.com\"}) containing the new " +"certificates and keys; the shell variable @code{$RENEWED_DOMAINS} will " +"contain a space-delimited list of renewed certificate domains (for example, " +"@samp{\"example.com www.example.com\"}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:16045 +msgid "" +"For each @code{certificate-configuration}, the certificate is saved to " +"@code{/etc/letsencrypt/live/@var{name}/fullchain.pem} and the key is saved " +"to @code{/etc/letsencrypt/live/@var{name}/privkey.pem}." +msgstr "" + +#. type: cindex +#: doc/guix.texi:16047 +#, no-wrap +msgid "DNS (domain name system)" +msgstr "" + +#. type: cindex +#: doc/guix.texi:16048 +#, no-wrap +msgid "domain name system (DNS)" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:16054 +msgid "" +"The @code{(gnu services dns)} module provides services related to the " +"@dfn{domain name system} (DNS). It provides a server service for hosting an " +"@emph{authoritative} DNS server for multiple zones, slave or master. This " +"service uses @uref{https://www.knot-dns.cz/, Knot DNS}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:16057 +msgid "" +"An example configuration of an authoritative server for two zones, one " +"master and one slave, is:" +msgstr "" + +#. type: lisp +#: doc/guix.texi:16064 +#, no-wrap +msgid "" +"(define-zone-entries example.org.zone\n" +";; Name TTL Class Type Data\n" +" (\"@@\" \"\" \"IN\" \"A\" \"127.0.0.1\")\n" +" (\"@@\" \"\" \"IN\" \"NS\" \"ns\")\n" +" (\"ns\" \"\" \"IN\" \"A\" \"127.0.0.1\"))\n" +"\n" +msgstr "" + +#. type: lisp +#: doc/guix.texi:16071 +#, no-wrap +msgid "" +"(define master-zone\n" +" (knot-zone-configuration\n" +" (domain \"example.org\")\n" +" (zone (zone-file\n" +" (origin \"example.org\")\n" +" (entries example.org.zone)))))\n" +"\n" +msgstr "" + +#. type: lisp +#: doc/guix.texi:16077 +#, no-wrap +msgid "" +"(define slave-zone\n" +" (knot-zone-configuration\n" +" (domain \"plop.org\")\n" +" (dnssec-policy \"default\")\n" +" (master (list \"plop-master\"))))\n" +"\n" +msgstr "" + +#. type: lisp +#: doc/guix.texi:16082 +#, no-wrap +msgid "" +"(define plop-master\n" +" (knot-remote-configuration\n" +" (id \"plop-master\")\n" +" (address (list \"208.76.58.171\"))))\n" +"\n" +msgstr "" + +#. type: lisp +#: doc/guix.texi:16091 +#, no-wrap +msgid "" +"(operating-system\n" +" ;; ...\n" +" (services (cons* (service knot-service-type\n" +" (knot-configuration\n" +" (remotes (list plop-master))\n" +" (zones (list master-zone slave-zone))))\n" +" ;; ...\n" +" %base-services)))\n" +msgstr "" + +#. type: deffn +#: doc/guix.texi:16093 +#, no-wrap +msgid "{Scheme Variable} knot-service-type" +msgstr "" + +#. type: deffn +#: doc/guix.texi:16095 +msgid "This is the type for the Knot DNS server." +msgstr "" + +#. type: deffn +#: doc/guix.texi:16103 +msgid "" +"Knot DNS is an authoritative DNS server, meaning that it can serve multiple " +"zones, that is to say domain names you would buy from a registrar. This " +"server is not a resolver, meaning that it can only resolve names for which " +"it is authoritative. This server can be configured to serve zones as a " +"master server or a slave server as a per-zone basis. Slave zones will get " +"their data from masters, and will serve it as an authoritative server. From " +"the point of view of a resolver, there is no difference between master and " +"slave." +msgstr "" + +#. type: deffn +#: doc/guix.texi:16105 +msgid "The following data types are used to configure the Knot DNS server:" +msgstr "" + +#. type: deftp +#: doc/guix.texi:16107 +#, no-wrap +msgid "{Data Type} knot-key-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:16110 +msgid "Data type representing a key. This type has the following parameters:" +msgstr "" + +#. type: item +#: doc/guix.texi:16112 doc/guix.texi:16132 doc/guix.texi:16247 doc/guix.texi:16273 doc/guix.texi:16308 +#, no-wrap +msgid "@code{id} (default: @code{\"\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:16115 +msgid "" +"An identifier for other configuration fields to refer to this key. IDs must " +"be unique and must not be empty." +msgstr "" + +#. type: item +#: doc/guix.texi:16116 +#, no-wrap +msgid "@code{algorithm} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:16120 +msgid "" +"The algorithm to use. Choose between @code{#f}, @code{'hmac-md5}, " +"@code{'hmac-sha1}, @code{'hmac-sha224}, @code{'hmac-sha256}, " +"@code{'hmac-sha384} and @code{'hmac-sha512}." +msgstr "" + +#. type: item +#: doc/guix.texi:16121 +#, no-wrap +msgid "@code{secret} (default: @code{\"\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:16123 +msgid "The secret key itself." +msgstr "" + +#. type: deftp +#: doc/guix.texi:16127 +#, no-wrap +msgid "{Data Type} knot-acl-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:16130 +msgid "" +"Data type representing an Access Control List (ACL) configuration. This " +"type has the following parameters:" +msgstr "" + +#. type: table +#: doc/guix.texi:16135 +msgid "" +"An identifier for ether configuration fields to refer to this key. IDs must " +"be unique and must not be empty." +msgstr "" + +#. type: item +#: doc/guix.texi:16136 doc/guix.texi:16251 +#, no-wrap +msgid "@code{address} (default: @code{'()})" +msgstr "" + +#. type: table +#: doc/guix.texi:16140 +msgid "" +"An ordered list of IP addresses, network subnets, or network ranges " +"represented with strings. The query must match one of them. Empty value " +"means that address match is not required." +msgstr "" + +#. type: item +#: doc/guix.texi:16141 +#, no-wrap +msgid "@code{key} (default: @code{'()})" +msgstr "" + +#. type: table +#: doc/guix.texi:16145 +msgid "" +"An ordered list of references to keys represented with strings. The string " +"must match a key ID defined in a @code{knot-key-configuration}. No key " +"means that a key is not require to match that ACL." +msgstr "" + +#. type: item +#: doc/guix.texi:16146 +#, no-wrap +msgid "@code{action} (default: @code{'()})" +msgstr "" + +#. type: table +#: doc/guix.texi:16150 +msgid "" +"An ordered list of actions that are permitted or forbidden by this ACL. " +"Possible values are lists of zero or more elements from @code{'transfer}, " +"@code{'notify} and @code{'update}." +msgstr "" + +#. type: item +#: doc/guix.texi:16151 +#, no-wrap +msgid "@code{deny?} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:16154 +msgid "" +"When true, the ACL defines restrictions. Listed actions are forbidden. " +"When false, listed actions are allowed." +msgstr "" + +#. type: deftp +#: doc/guix.texi:16158 +#, no-wrap +msgid "{Data Type} zone-entry" +msgstr "" + +#. type: deftp +#: doc/guix.texi:16161 +msgid "" +"Data type represnting a record entry in a zone file. This type has the " +"following parameters:" +msgstr "" + +#. type: item +#: doc/guix.texi:16163 +#, no-wrap +msgid "@code{name} (default: @code{\"@@\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:16169 +msgid "" +"The name of the record. @code{\"@@\"} refers to the origin of the zone. " +"Names are relative to the origin of the zone. For example, in the " +"@code{example.org} zone, @code{\"ns.example.org\"} actually refers to " +"@code{ns.example.org.example.org}. Names ending with a dot are absolute, " +"which means that @code{\"ns.example.org.\"} refers to @code{ns.example.org}." +msgstr "" + +#. type: item +#: doc/guix.texi:16170 +#, no-wrap +msgid "@code{ttl} (default: @code{\"\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:16172 +msgid "The Time-To-Live (TTL) of this record. If not set, the default TTL is used." +msgstr "" + +#. type: item +#: doc/guix.texi:16173 +#, no-wrap +msgid "@code{class} (default: @code{\"IN\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:16176 +msgid "" +"The class of the record. Knot currently supports only @code{\"IN\"} and " +"partially @code{\"CH\"}." +msgstr "" + +#. type: item +#: doc/guix.texi:16177 +#, no-wrap +msgid "@code{type} (default: @code{\"A\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:16181 +msgid "" +"The type of the record. Common types include A (IPv4 address), AAAA (IPv6 " +"address), NS (Name Server) and MX (Mail eXchange). Many other types are " +"defined." +msgstr "" + +#. type: item +#: doc/guix.texi:16182 +#, no-wrap +msgid "@code{data} (default: @code{\"\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:16186 +msgid "" +"The data contained in the record. For instance an IP address associated " +"with an A record, or a domain name associated with an NS record. Remember " +"that domain names are relative to the origin unless they end with a dot." +msgstr "" + +#. type: deftp +#: doc/guix.texi:16190 +#, no-wrap +msgid "{Data Type} zone-file" +msgstr "" + +#. type: deftp +#: doc/guix.texi:16193 +msgid "" +"Data type representing the content of a zone file. This type has the " +"following parameters:" +msgstr "" + +#. type: table +#: doc/guix.texi:16202 +msgid "" +"The list of entries. The SOA record is taken care of, so you don't need to " +"put it in the list of entries. This list should probably contain an entry " +"for your primary authoritative DNS server. Other than using a list of " +"entries directly, you can use @code{define-zone-entries} to define a object " +"containing the list of entries more easily, that you can later pass to the " +"@code{entries} field of the @code{zone-file}." +msgstr "" + +#. type: item +#: doc/guix.texi:16203 +#, no-wrap +msgid "@code{origin} (default: @code{\"\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:16205 +msgid "The name of your zone. This parameter cannot be empty." +msgstr "" + +#. type: item +#: doc/guix.texi:16206 +#, no-wrap +msgid "@code{ns} (default: @code{\"ns\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:16211 +msgid "" +"The domain of your primary authoritative DNS server. The name is relative " +"to the origin, unless it ends with a dot. It is mandatory that this primary " +"DNS server corresponds to an NS record in the zone and that it is associated " +"to an IP address in the list of entries." +msgstr "" + +#. type: item +#: doc/guix.texi:16212 +#, no-wrap +msgid "@code{mail} (default: @code{\"hostmaster\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:16215 +msgid "" +"An email address people can contact you at, as the owner of the zone. This " +"is translated as @code{<mail>@@<origin>}." +msgstr "" + +#. type: item +#: doc/guix.texi:16216 +#, no-wrap +msgid "@code{serial} (default: @code{1})" +msgstr "" + +#. type: table +#: doc/guix.texi:16220 +msgid "" +"The serial number of the zone. As this is used to keep track of changes by " +"both slaves and resolvers, it is mandatory that it @emph{never} decreases. " +"Always increment it when you make a change in your zone." +msgstr "" + +#. type: item +#: doc/guix.texi:16221 +#, no-wrap +msgid "@code{refresh} (default: @code{(* 2 24 3600)})" +msgstr "" + +#. type: table +#: doc/guix.texi:16225 +msgid "" +"The frequency at which slaves will do a zone transfer. This value is a " +"number of seconds. It can be computed by multiplications or with " +"@code{(string->duration)}." +msgstr "" + +#. type: item +#: doc/guix.texi:16226 +#, no-wrap +msgid "@code{retry} (default: @code{(* 15 60)})" +msgstr "" + +#. type: table +#: doc/guix.texi:16229 +msgid "" +"The period after which a slave will retry to contact its master when it " +"fails to do so a first time." +msgstr "" + +#. type: item +#: doc/guix.texi:16230 +#, no-wrap +msgid "@code{expiry} (default: @code{(* 14 24 3600)})" +msgstr "" + +#. type: table +#: doc/guix.texi:16234 +msgid "" +"Default TTL of records. Existing records are considered correct for at most " +"this amount of time. After this period, resolvers will invalidate their " +"cache and check again that it still exists." +msgstr "" + +#. type: item +#: doc/guix.texi:16235 +#, no-wrap +msgid "@code{nx} (default: @code{3600})" +msgstr "" + +#. type: table +#: doc/guix.texi:16238 +msgid "" +"Default TTL of inexistant records. This delay is usually short because you " +"want your new domains to reach everyone quickly." +msgstr "" + +#. type: deftp +#: doc/guix.texi:16242 +#, no-wrap +msgid "{Data Type} knot-remote-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:16245 +msgid "" +"Data type representing a remote configuration. This type has the following " +"parameters:" +msgstr "" + +#. type: table +#: doc/guix.texi:16250 +msgid "" +"An identifier for other configuration fields to refer to this remote. IDs " +"must be unique and must not be empty." +msgstr "" + +#. type: table +#: doc/guix.texi:16255 +msgid "" +"An ordered list of destination IP addresses. Addresses are tried in " +"sequence. An optional port can be given with the @@ separator. For " +"instance: @code{(list \"1.2.3.4\" \"2.3.4.5@@53\")}. Default port is 53." +msgstr "" + +#. type: item +#: doc/guix.texi:16256 +#, no-wrap +msgid "@code{via} (default: @code{'()})" +msgstr "" + +#. type: table +#: doc/guix.texi:16260 +msgid "" +"An ordered list of source IP addresses. An empty list will have Knot choose " +"an appropriate source IP. An optional port can be given with the @@ " +"separator. The default is to choose at random." +msgstr "" + +#. type: item +#: doc/guix.texi:16261 +#, no-wrap +msgid "@code{key} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:16264 +msgid "" +"A reference to a key, that is a string containing the identifier of a key " +"defined in a @code{knot-key-configuration} field." +msgstr "" + +#. type: deftp +#: doc/guix.texi:16268 +#, no-wrap +msgid "{Data Type} knot-keystore-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:16271 +msgid "" +"Data type representing a keystore to hold dnssec keys. This type has the " +"following parameters:" +msgstr "" + +#. type: table +#: doc/guix.texi:16275 +msgid "The id of the keystore. It must not be empty." +msgstr "" + +#. type: item +#: doc/guix.texi:16276 +#, no-wrap +msgid "@code{backend} (default: @code{'pem})" +msgstr "" + +#. type: table +#: doc/guix.texi:16278 +msgid "The backend to store the keys in. Can be @code{'pem} or @code{'pkcs11}." +msgstr "" + +#. type: item +#: doc/guix.texi:16279 +#, no-wrap +msgid "@code{config} (default: @code{\"/var/lib/knot/keys/keys\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:16283 +msgid "" +"The configuration string of the backend. An example for the PKCS#11 is: " +"@code{\"pkcs11:token=knot;pin-value=1234 " +"/gnu/store/.../lib/pkcs11/libsofthsm2.so\"}. For the pem backend, the " +"string reprensents a path in the file system." +msgstr "" + +#. type: deftp +#: doc/guix.texi:16287 +#, no-wrap +msgid "{Data Type} knot-policy-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:16291 +msgid "" +"Data type representing a dnssec policy. Knot DNS is able to automatically " +"sign your zones. It can either generate and manage your keys automatically " +"or use keys that you generate." +msgstr "" + +#. type: deftp +#: doc/guix.texi:16298 +msgid "" +"Dnssec is usually implemented using two keys: a Key Signing Key (KSK) that " +"is used to sign the second, and a Zone Signing Key (ZSK) that is used to " +"sign the zone. In order to be trusted, the KSK needs to be present in the " +"parent zone (usually a top-level domain). If your registrar supports " +"dnssec, you will have to send them your KSK's hash so they can add a DS " +"record in their zone. This is not automated and need to be done each time " +"you change your KSK." +msgstr "" + +#. type: deftp +#: doc/guix.texi:16304 +msgid "" +"The policy also defines the lifetime of keys. Usually, ZSK can be changed " +"easily and use weaker cryptographic functions (they use lower parameters) in " +"order to sign records quickly, so they are changed often. The KSK however " +"requires manual interaction with the registrar, so they are changed less " +"often and use stronger parameters because they sign only one record." +msgstr "" + +#. type: deftp +#: doc/guix.texi:16306 +msgid "This type has the following parameters:" +msgstr "" + +#. type: table +#: doc/guix.texi:16310 +msgid "The id of the policy. It must not be empty." +msgstr "" + +#. type: item +#: doc/guix.texi:16311 +#, no-wrap +msgid "@code{keystore} (default: @code{\"default\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:16316 +msgid "" +"A reference to a keystore, that is a string containing the identifier of a " +"keystore defined in a @code{knot-keystore-configuration} field. The " +"@code{\"default\"} identifier means the default keystore (a kasp database " +"that was setup by this service)." +msgstr "" + +#. type: item +#: doc/guix.texi:16317 +#, no-wrap +msgid "@code{manual?} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:16319 +msgid "Whether the key management is manual or automatic." +msgstr "" + +#. type: item +#: doc/guix.texi:16320 +#, no-wrap +msgid "@code{single-type-signing?} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:16322 +msgid "When @code{#t}, use the Single-Type Signing Scheme." +msgstr "" + +#. type: item +#: doc/guix.texi:16323 +#, no-wrap +msgid "@code{algorithm} (default: @code{\"ecdsap256sha256\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:16325 +msgid "An algorithm of signing keys and issued signatures." +msgstr "" + +#. type: item +#: doc/guix.texi:16326 +#, no-wrap +msgid "@code{ksk-size} (default: @code{256})" +msgstr "" + +#. type: table +#: doc/guix.texi:16329 +msgid "" +"The length of the KSK. Note that this value is correct for the default " +"algorithm, but would be unsecure for other algorithms." +msgstr "" + +#. type: item +#: doc/guix.texi:16330 +#, no-wrap +msgid "@code{zsk-size} (default: @code{256})" +msgstr "" + +#. type: table +#: doc/guix.texi:16333 +msgid "" +"The length of the ZSK. Note that this value is correct for the default " +"algorithm, but would be unsecure for other algorithms." +msgstr "" + +#. type: item +#: doc/guix.texi:16334 +#, no-wrap +msgid "@code{dnskey-ttl} (default: @code{'default})" +msgstr "" + +#. type: table +#: doc/guix.texi:16337 +msgid "" +"The TTL value for DNSKEY records added into zone apex. The special " +"@code{'default} value means same as the zone SOA TTL." +msgstr "" + +#. type: item +#: doc/guix.texi:16338 +#, no-wrap +msgid "@code{zsk-lifetime} (default: @code{(* 30 24 3600)})" +msgstr "" + +#. type: table +#: doc/guix.texi:16340 +msgid "The period between ZSK publication and the next rollover initiation." +msgstr "" + +#. type: item +#: doc/guix.texi:16341 +#, no-wrap +msgid "@code{propagation-delay} (default: @code{(* 24 3600)})" +msgstr "" + +#. type: table +#: doc/guix.texi:16344 +msgid "" +"An extra delay added for each key rollover step. This value should be high " +"enough to cover propagation of data from the master server to all slaves." +msgstr "" + +#. type: item +#: doc/guix.texi:16345 +#, no-wrap +msgid "@code{rrsig-lifetime} (default: @code{(* 14 24 3600)})" +msgstr "" + +#. type: table +#: doc/guix.texi:16347 +msgid "A validity period of newly issued signatures." +msgstr "" + +#. type: item +#: doc/guix.texi:16348 +#, no-wrap +msgid "@code{rrsig-refresh} (default: @code{(* 7 24 3600)})" +msgstr "" + +#. type: table +#: doc/guix.texi:16350 +msgid "" +"A period how long before a signature expiration the signature will be " +"refreshed." +msgstr "" + +#. type: item +#: doc/guix.texi:16351 +#, no-wrap +msgid "@code{nsec3?} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:16353 +msgid "When @code{#t}, NSEC3 will be used instead of NSEC." +msgstr "" + +#. type: item +#: doc/guix.texi:16354 +#, no-wrap +msgid "@code{nsec3-iterations} (default: @code{5})" +msgstr "" + +#. type: table +#: doc/guix.texi:16356 +msgid "The number of additional times the hashing is performed." +msgstr "" + +#. type: item +#: doc/guix.texi:16357 +#, no-wrap +msgid "@code{nsec3-salt-length} (default: @code{8})" +msgstr "" + +#. type: table +#: doc/guix.texi:16360 +msgid "" +"The length of a salt field in octets, which is appended to the original " +"owner name before hashing." +msgstr "" + +#. type: item +#: doc/guix.texi:16361 +#, no-wrap +msgid "@code{nsec3-salt-lifetime} (default: @code{(* 30 24 3600)})" +msgstr "" + +#. type: table +#: doc/guix.texi:16363 +msgid "The validity period of newly issued salt field." +msgstr "" + +#. type: deftp +#: doc/guix.texi:16367 +#, no-wrap +msgid "{Data Type} knot-zone-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:16370 +msgid "" +"Data type representing a zone served by Knot. This type has the following " +"parameters:" +msgstr "" + +#. type: item +#: doc/guix.texi:16372 +#, no-wrap +msgid "@code{domain} (default: @code{\"\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:16374 +msgid "The domain served by this configuration. It must not be empty." +msgstr "" + +#. type: item +#: doc/guix.texi:16375 +#, no-wrap +msgid "@code{file} (default: @code{\"\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:16378 +msgid "" +"The file where this zone is saved. This parameter is ignored by master " +"zones. Empty means default location that depends on the domain name." +msgstr "" + +#. type: item +#: doc/guix.texi:16379 +#, no-wrap +msgid "@code{zone} (default: @code{(zone-file)})" +msgstr "" + +#. type: table +#: doc/guix.texi:16382 +msgid "" +"The content of the zone file. This parameter is ignored by slave zones. It " +"must contain a zone-file record." +msgstr "" + +#. type: item +#: doc/guix.texi:16383 +#, no-wrap +msgid "@code{master} (default: @code{'()})" +msgstr "" + +#. type: table +#: doc/guix.texi:16386 +msgid "" +"A list of master remotes. When empty, this zone is a master. When set, " +"this zone is a slave. This is a list of remotes identifiers." +msgstr "" + +#. type: item +#: doc/guix.texi:16387 +#, no-wrap +msgid "@code{ddns-master} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:16390 +msgid "" +"The main master. When empty, it defaults to the first master in the list of " +"masters." +msgstr "" + +#. type: item +#: doc/guix.texi:16391 +#, no-wrap +msgid "@code{notify} (default: @code{'()})" +msgstr "" + +#. type: table +#: doc/guix.texi:16393 +msgid "A list of slave remote identifiers." +msgstr "" + +#. type: item +#: doc/guix.texi:16394 +#, no-wrap +msgid "@code{acl} (default: @code{'()})" +msgstr "" + +#. type: table +#: doc/guix.texi:16396 +msgid "A list of acl identifiers." +msgstr "" + +#. type: item +#: doc/guix.texi:16397 +#, no-wrap +msgid "@code{semantic-checks?} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:16399 +msgid "When set, this adds more semantic checks to the zone." +msgstr "" + +#. type: item +#: doc/guix.texi:16400 +#, no-wrap +msgid "@code{disable-any?} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:16402 +msgid "When set, this forbids queries of the ANY type." +msgstr "" + +#. type: item +#: doc/guix.texi:16403 +#, no-wrap +msgid "@code{zonefile-sync} (default: @code{0})" +msgstr "" + +#. type: table +#: doc/guix.texi:16406 +msgid "" +"The delay between a modification in memory and on disk. 0 means immediate " +"synchronization." +msgstr "" + +#. type: item +#: doc/guix.texi:16407 +#, no-wrap +msgid "@code{serial-policy} (default: @code{'increment})" +msgstr "" + +#. type: table +#: doc/guix.texi:16409 +msgid "A policy between @code{'increment} and @code{'unixtime}." +msgstr "" + +#. type: deftp +#: doc/guix.texi:16413 +#, no-wrap +msgid "{Data Type} knot-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:16416 +msgid "" +"Data type representing the Knot configuration. This type has the following " +"parameters:" +msgstr "" + +#. type: item +#: doc/guix.texi:16418 +#, no-wrap +msgid "@code{knot} (default: @code{knot})" +msgstr "" + +#. type: table +#: doc/guix.texi:16420 +msgid "The Knot package." +msgstr "" + +#. type: item +#: doc/guix.texi:16421 +#, no-wrap +msgid "@code{run-directory} (default: @code{\"/var/run/knot\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:16423 +msgid "The run directory. This directory will be used for pid file and sockets." +msgstr "" + +#. type: item +#: doc/guix.texi:16424 +#, no-wrap +msgid "@code{listen-v4} (default: @code{\"0.0.0.0\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:16426 doc/guix.texi:16429 +msgid "An ip address on which to listen." +msgstr "" + +#. type: item +#: doc/guix.texi:16427 +#, no-wrap +msgid "@code{listen-v6} (default: @code{\"::\"})" +msgstr "" + +#. type: item +#: doc/guix.texi:16430 +#, no-wrap +msgid "@code{listen-port} (default: @code{53})" +msgstr "" + +#. type: table +#: doc/guix.texi:16432 +msgid "A port on which to listen." +msgstr "" + +#. type: item +#: doc/guix.texi:16433 +#, no-wrap +msgid "@code{keys} (default: @code{'()})" +msgstr "" + +#. type: table +#: doc/guix.texi:16435 +msgid "The list of knot-key-configuration used by this configuration." +msgstr "" + +#. type: item +#: doc/guix.texi:16436 +#, no-wrap +msgid "@code{acls} (default: @code{'()})" +msgstr "" + +#. type: table +#: doc/guix.texi:16438 +msgid "The list of knot-acl-configuration used by this configuration." +msgstr "" + +#. type: item +#: doc/guix.texi:16439 +#, no-wrap +msgid "@code{remotes} (default: @code{'()})" +msgstr "" + +#. type: table +#: doc/guix.texi:16441 +msgid "The list of knot-remote-configuration used by this configuration." +msgstr "" + +#. type: item +#: doc/guix.texi:16442 +#, no-wrap +msgid "@code{zones} (default: @code{'()})" +msgstr "" + +#. type: table +#: doc/guix.texi:16444 +msgid "The list of knot-zone-configuration used by this configuration." +msgstr "" + +#. type: cindex +#: doc/guix.texi:16451 +#, no-wrap +msgid "VPN (virtual private network)" +msgstr "" + +#. type: cindex +#: doc/guix.texi:16452 +#, no-wrap +msgid "virtual private network (VPN)" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:16458 +msgid "" +"The @code{(gnu services vpn)} module provides services related to " +"@dfn{virtual private networks} (VPNs). It provides a @emph{client} service " +"for your machine to connect to a VPN, and a @emph{servire} service for your " +"machine to host a VPN. Both services use @uref{https://openvpn.net/, " +"OpenVPN}." +msgstr "" + +#. type: deffn +#: doc/guix.texi:16459 +#, no-wrap +msgid "{Scheme Procedure} openvpn-client-service @" +msgstr "" + +#. type: deffn +#: doc/guix.texi:16461 +msgid "[#:config (openvpn-client-configuration)]" +msgstr "" + +#. type: deffn +#: doc/guix.texi:16463 +msgid "Return a service that runs @command{openvpn}, a VPN daemon, as a client." +msgstr "" + +#. type: deffn +#: doc/guix.texi:16465 +#, no-wrap +msgid "{Scheme Procedure} openvpn-server-service @" +msgstr "" + +#. type: deffn +#: doc/guix.texi:16467 +msgid "[#:config (openvpn-server-configuration)]" +msgstr "" + +#. type: deffn +#: doc/guix.texi:16469 +msgid "Return a service that runs @command{openvpn}, a VPN daemon, as a server." +msgstr "" + +#. type: deffn +#: doc/guix.texi:16471 +msgid "Both can be run simultaneously." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:16476 +msgid "Available @code{openvpn-client-configuration} fields are:" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16477 +#, no-wrap +msgid "{@code{openvpn-client-configuration} parameter} package openvpn" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16479 doc/guix.texi:16615 +msgid "The OpenVPN package." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16482 +#, no-wrap +msgid "{@code{openvpn-client-configuration} parameter} string pid-file" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16484 doc/guix.texi:16620 +msgid "The OpenVPN pid file." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16486 doc/guix.texi:16622 +msgid "Defaults to @samp{\"/var/run/openvpn/openvpn.pid\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16489 +#, no-wrap +msgid "{@code{openvpn-client-configuration} parameter} proto proto" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16492 doc/guix.texi:16628 +msgid "" +"The protocol (UDP or TCP) used to open a channel between clients and " +"servers." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16494 doc/guix.texi:16630 +msgid "Defaults to @samp{udp}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16497 +#, no-wrap +msgid "{@code{openvpn-client-configuration} parameter} dev dev" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16499 doc/guix.texi:16635 +msgid "The device type used to represent the VPN connection." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16501 doc/guix.texi:16637 +msgid "Defaults to @samp{tun}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16504 +#, no-wrap +msgid "{@code{openvpn-client-configuration} parameter} string ca" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16506 doc/guix.texi:16642 +msgid "The certificate authority to check connections against." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16508 doc/guix.texi:16644 +msgid "Defaults to @samp{\"/etc/openvpn/ca.crt\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16511 +#, no-wrap +msgid "{@code{openvpn-client-configuration} parameter} string cert" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16514 doc/guix.texi:16650 +msgid "" +"The certificate of the machine the daemon is running on. It should be " +"signed by the authority given in @code{ca}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16516 doc/guix.texi:16652 +msgid "Defaults to @samp{\"/etc/openvpn/client.crt\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16519 +#, no-wrap +msgid "{@code{openvpn-client-configuration} parameter} string key" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16522 doc/guix.texi:16658 +msgid "" +"The key of the machine the daemon is running on. It must be the key whose " +"certificate is @code{cert}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16524 doc/guix.texi:16660 +msgid "Defaults to @samp{\"/etc/openvpn/client.key\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16527 +#, no-wrap +msgid "{@code{openvpn-client-configuration} parameter} boolean comp-lzo?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16529 doc/guix.texi:16665 +msgid "Whether to use the lzo compression algorithm." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16534 +#, no-wrap +msgid "{@code{openvpn-client-configuration} parameter} boolean persist-key?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16536 doc/guix.texi:16672 +msgid "Don't re-read key files across SIGUSR1 or --ping-restart." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16541 +#, no-wrap +msgid "{@code{openvpn-client-configuration} parameter} boolean persist-tun?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16544 doc/guix.texi:16680 +msgid "" +"Don't close and reopen TUN/TAP device or run up/down scripts across SIGUSR1 " +"or --ping-restart restarts." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16549 +#, no-wrap +msgid "{@code{openvpn-client-configuration} parameter} number verbosity" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16551 doc/guix.texi:16687 +msgid "Verbosity level." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16553 doc/guix.texi:16689 doc/guix.texi:17966 doc/guix.texi:18189 +msgid "Defaults to @samp{3}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16556 +#, no-wrap +msgid "{@code{openvpn-client-configuration} parameter} tls-auth-client tls-auth" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16559 doc/guix.texi:16695 +msgid "" +"Add an additional layer of HMAC authentication on top of the TLS control " +"channel to protect against DoS attacks." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16564 +#, no-wrap +msgid "{@code{openvpn-client-configuration} parameter} key-usage verify-key-usage?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16566 +msgid "Whether to check the server certificate has server usage extension." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16571 +#, no-wrap +msgid "{@code{openvpn-client-configuration} parameter} bind bind?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16573 +msgid "Bind to a specific local port number." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16578 +#, no-wrap +msgid "{@code{openvpn-client-configuration} parameter} resolv-retry resolv-retry?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16580 +msgid "Retry resolving server address." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16585 +#, no-wrap +msgid "{@code{openvpn-client-configuration} parameter} openvpn-remote-list remote" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16587 +msgid "A list of remote servers to connect to." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16591 +msgid "Available @code{openvpn-remote-configuration} fields are:" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16592 +#, no-wrap +msgid "{@code{openvpn-remote-configuration} parameter} string name" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16594 +msgid "Server name." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16596 +msgid "Defaults to @samp{\"my-server\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16599 +#, no-wrap +msgid "{@code{openvpn-remote-configuration} parameter} number port" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16601 +msgid "Port number the server listens to." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16603 doc/guix.texi:16704 +msgid "Defaults to @samp{1194}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:16612 +msgid "Available @code{openvpn-server-configuration} fields are:" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16613 +#, no-wrap +msgid "{@code{openvpn-server-configuration} parameter} package openvpn" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16618 +#, no-wrap +msgid "{@code{openvpn-server-configuration} parameter} string pid-file" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16625 +#, no-wrap +msgid "{@code{openvpn-server-configuration} parameter} proto proto" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16633 +#, no-wrap +msgid "{@code{openvpn-server-configuration} parameter} dev dev" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16640 +#, no-wrap +msgid "{@code{openvpn-server-configuration} parameter} string ca" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16647 +#, no-wrap +msgid "{@code{openvpn-server-configuration} parameter} string cert" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16655 +#, no-wrap +msgid "{@code{openvpn-server-configuration} parameter} string key" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16663 +#, no-wrap +msgid "{@code{openvpn-server-configuration} parameter} boolean comp-lzo?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16670 +#, no-wrap +msgid "{@code{openvpn-server-configuration} parameter} boolean persist-key?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16677 +#, no-wrap +msgid "{@code{openvpn-server-configuration} parameter} boolean persist-tun?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16685 +#, no-wrap +msgid "{@code{openvpn-server-configuration} parameter} number verbosity" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16692 +#, no-wrap +msgid "{@code{openvpn-server-configuration} parameter} tls-auth-server tls-auth" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16700 +#, no-wrap +msgid "{@code{openvpn-server-configuration} parameter} number port" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16702 +msgid "Specifies the port number on which the server listens." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16707 +#, no-wrap +msgid "{@code{openvpn-server-configuration} parameter} ip-mask server" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16709 +msgid "An ip and mask specifying the subnet inside the virtual network." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16711 +msgid "Defaults to @samp{\"10.8.0.0 255.255.255.0\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16714 +#, no-wrap +msgid "{@code{openvpn-server-configuration} parameter} cidr6 server-ipv6" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16716 +msgid "A CIDR notation specifying the IPv6 subnet inside the virtual network." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16721 +#, no-wrap +msgid "{@code{openvpn-server-configuration} parameter} string dh" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16723 +msgid "The Diffie-Hellman parameters file." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16725 +msgid "Defaults to @samp{\"/etc/openvpn/dh2048.pem\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16728 +#, no-wrap +msgid "{@code{openvpn-server-configuration} parameter} string ifconfig-pool-persist" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16730 +msgid "The file that records client IPs." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16732 +msgid "Defaults to @samp{\"/etc/openvpn/ipp.txt\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16735 +#, no-wrap +msgid "{@code{openvpn-server-configuration} parameter} gateway redirect-gateway?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16737 +msgid "When true, the server will act as a gateway for its clients." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16742 +#, no-wrap +msgid "{@code{openvpn-server-configuration} parameter} boolean client-to-client?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16744 +msgid "When true, clients are allowed to talk to each other inside the VPN." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16749 +#, no-wrap +msgid "{@code{openvpn-server-configuration} parameter} keepalive keepalive" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16755 +msgid "" +"Causes ping-like messages to be sent back and forth over the link so that " +"each side knows when the other side has gone down. @code{keepalive} " +"requires a pair. The first element is the period of the ping sending, and " +"the second element is the timeout before considering the other side down." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16758 +#, no-wrap +msgid "{@code{openvpn-server-configuration} parameter} number max-clients" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16760 +msgid "The maximum number of clients." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16765 +#, no-wrap +msgid "{@code{openvpn-server-configuration} parameter} string status" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16768 +msgid "" +"The status file. This file shows a small report on current connection. It " +"is truncated and rewritten every minute." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16770 +msgid "Defaults to @samp{\"/var/run/openvpn/status\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16773 +#, no-wrap +msgid "" +"{@code{openvpn-server-configuration} parameter} openvpn-ccd-list " +"client-config-dir" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16775 +msgid "The list of configuration for some clients." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16779 +msgid "Available @code{openvpn-ccd-configuration} fields are:" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16780 +#, no-wrap +msgid "{@code{openvpn-ccd-configuration} parameter} string name" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16782 +msgid "Client name." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16784 +msgid "Defaults to @samp{\"client\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16787 +#, no-wrap +msgid "{@code{openvpn-ccd-configuration} parameter} ip-mask iroute" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16789 +msgid "Client own network" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16794 +#, no-wrap +msgid "{@code{openvpn-ccd-configuration} parameter} ip-mask ifconfig-push" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:16796 +msgid "Client VPN IP." +msgstr "" + +#. type: cindex +#: doc/guix.texi:16809 +#, no-wrap +msgid "NFS" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:16814 +msgid "" +"The @code{(gnu services nfs)} module provides the following services, which " +"are most commonly used in relation to mounting or exporting directory trees " +"as @dfn{network file systems} (NFS)." +msgstr "" + +#. type: subsubheading +#: doc/guix.texi:16815 +#, no-wrap +msgid "RPC Bind Service" +msgstr "" + +#. type: cindex +#: doc/guix.texi:16816 +#, no-wrap +msgid "rpcbind" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:16822 +msgid "" +"The RPC Bind service provides a facility to map program numbers into " +"universal addresses. Many NFS related services use this facility. Hence it " +"is automatically started when a dependent service starts." +msgstr "" + +#. type: defvr +#: doc/guix.texi:16823 +#, no-wrap +msgid "{Scheme Variable} rpcbind-service-type" +msgstr "" + +#. type: defvr +#: doc/guix.texi:16825 +msgid "A service type for the RPC portmapper daemon." +msgstr "" + +#. type: deftp +#: doc/guix.texi:16828 +#, no-wrap +msgid "{Data Type} rpcbind-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:16831 +msgid "" +"Data type representing the configuration of the RPC Bind Service. This type " +"has the following parameters:" +msgstr "" + +#. type: item +#: doc/guix.texi:16832 +#, no-wrap +msgid "@code{rpcbind} (default: @code{rpcbind})" +msgstr "" + +#. type: table +#: doc/guix.texi:16834 +msgid "The rpcbind package to use." +msgstr "" + +#. type: item +#: doc/guix.texi:16835 +#, no-wrap +msgid "@code{warm-start?} (default: @code{#t})" +msgstr "" + +#. type: table +#: doc/guix.texi:16839 +msgid "" +"If this parameter is @code{#t}, then the daemon will read a state file on " +"startup thus reloading state information saved by a previous instance." +msgstr "" + +#. type: subsubheading +#: doc/guix.texi:16843 +#, no-wrap +msgid "Pipefs Pseudo File System" +msgstr "" + +#. type: cindex +#: doc/guix.texi:16844 +#, no-wrap +msgid "pipefs" +msgstr "" + +#. type: cindex +#: doc/guix.texi:16845 +#, no-wrap +msgid "rpc_pipefs" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:16849 +msgid "" +"The pipefs file system is used to transfer NFS related data between the " +"kernel and user space programs." +msgstr "" + +#. type: defvr +#: doc/guix.texi:16850 +#, no-wrap +msgid "{Scheme Variable} pipefs-service-type" +msgstr "" + +#. type: defvr +#: doc/guix.texi:16852 +msgid "A service type for the pipefs pseudo file system." +msgstr "" + +#. type: deftp +#: doc/guix.texi:16854 +#, no-wrap +msgid "{Data Type} pipefs-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:16857 +msgid "" +"Data type representing the configuration of the pipefs pseudo file system " +"service. This type has the following parameters:" +msgstr "" + +#. type: item +#: doc/guix.texi:16858 +#, no-wrap +msgid "@code{mount-point} (default: @code{\"/var/lib/nfs/rpc_pipefs\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:16860 +msgid "The directory to which the file system is to be attached." +msgstr "" + +#. type: subsubheading +#: doc/guix.texi:16864 +#, no-wrap +msgid "GSS Daemon Service" +msgstr "" + +#. type: cindex +#: doc/guix.texi:16865 +#, no-wrap +msgid "GSSD" +msgstr "" + +#. type: cindex +#: doc/guix.texi:16866 +#, no-wrap +msgid "GSS" +msgstr "" + +#. type: cindex +#: doc/guix.texi:16867 +#, no-wrap +msgid "global security system" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:16874 +msgid "" +"The @dfn{global security system} (GSS) daemon provides strong security for " +"RPC based protocols. Before exchanging RPC requests an RPC client must " +"establish a security context. Typically this is done using the Kerberos " +"command @command{kinit} or automatically at login time using PAM services " +"(@pxref{Kerberos Services})." +msgstr "" + +#. type: defvr +#: doc/guix.texi:16875 +#, no-wrap +msgid "{Scheme Variable} gss-service-type" +msgstr "" + +#. type: defvr +#: doc/guix.texi:16877 +msgid "A service type for the Global Security System (GSS) daemon." +msgstr "" + +#. type: deftp +#: doc/guix.texi:16879 +#, no-wrap +msgid "{Data Type} gss-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:16882 +msgid "" +"Data type representing the configuration of the GSS daemon service. This " +"type has the following parameters:" +msgstr "" + +#. type: item +#: doc/guix.texi:16883 doc/guix.texi:16908 +#, no-wrap +msgid "@code{nfs-utils} (default: @code{nfs-utils})" +msgstr "" + +#. type: table +#: doc/guix.texi:16885 +msgid "The package in which the @command{rpc.gssd} command is to be found." +msgstr "" + +#. type: item +#: doc/guix.texi:16886 doc/guix.texi:16911 +#, no-wrap +msgid "@code{pipefs-directory} (default: @code{\"/var/lib/nfs/rpc_pipefs\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:16888 doc/guix.texi:16913 +msgid "The directory where the pipefs file system is mounted." +msgstr "" + +#. type: subsubheading +#: doc/guix.texi:16893 +#, no-wrap +msgid "IDMAP Daemon Service" +msgstr "" + +#. type: cindex +#: doc/guix.texi:16894 +#, no-wrap +msgid "idmapd" +msgstr "" + +#. type: cindex +#: doc/guix.texi:16895 +#, no-wrap +msgid "name mapper" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:16899 +msgid "" +"The idmap daemon service provides mapping between user IDs and user names. " +"Typically it is required in order to access file systems mounted via NFSv4." +msgstr "" + +#. type: defvr +#: doc/guix.texi:16900 +#, no-wrap +msgid "{Scheme Variable} idmap-service-type" +msgstr "" + +#. type: defvr +#: doc/guix.texi:16902 +msgid "A service type for the Identity Mapper (IDMAP) daemon." +msgstr "" + +#. type: deftp +#: doc/guix.texi:16904 +#, no-wrap +msgid "{Data Type} idmap-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:16907 +msgid "" +"Data type representing the configuration of the IDMAP daemon service. This " +"type has the following parameters:" +msgstr "" + +#. type: table +#: doc/guix.texi:16910 +msgid "The package in which the @command{rpc.idmapd} command is to be found." +msgstr "" + +#. type: item +#: doc/guix.texi:16914 +#, no-wrap +msgid "@code{domain} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:16918 +msgid "" +"The local NFSv4 domain name. This must be a string or @code{#f}. If it is " +"@code{#f} then the daemon will use the host's fully qualified domain name." +msgstr "" + +#. type: cindex +#: doc/guix.texi:16925 +#, no-wrap +msgid "continuous integration" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:16929 +msgid "" +"@uref{https://notabug.org/mthl/cuirass, Cuirass} is a continuous integration " +"tool for Guix. It can be used both for development and for providing " +"substitutes to others (@pxref{Substitutes})." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:16931 +msgid "The @code{(gnu services cuirass)} module provides the following service." +msgstr "" + +#. type: defvr +#: doc/guix.texi:16932 +#, no-wrap +msgid "{Scheme Procedure} cuirass-service-type" +msgstr "" + +#. type: defvr +#: doc/guix.texi:16935 +msgid "" +"The type of the Cuirass service. Its value must be a " +"@code{cuirass-configuration} object, as described below." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:16942 +msgid "" +"To add build jobs, you have to set the @code{specifications} field of the " +"configuration. Here is an example of a service defining a build job based " +"on a specification that can be found in Cuirass source tree. This service " +"polls the Guix repository and builds a subset of the Guix packages, as " +"prescribed in the @file{gnu-system.scm} example spec:" +msgstr "" + +#. type: example +#: doc/guix.texi:16954 +#, no-wrap +msgid "" +"(let ((spec #~((#:name . \"guix\")\n" +" (#:url . \"git://git.savannah.gnu.org/guix.git\")\n" +" (#:load-path . \".\")\n" +" (#:file . \"build-aux/cuirass/gnu-system.scm\")\n" +" (#:proc . cuirass-jobs)\n" +" (#:arguments (subset . \"hello\"))\n" +" (#:branch . \"master\"))))\n" +" (service cuirass-service-type\n" +" (cuirass-configuration\n" +" (specifications #~(list '#$spec)))))\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:16959 +msgid "" +"While information related to build jobs is located directly in the " +"specifications, global settings for the @command{cuirass} process are " +"accessible in other @code{cuirass-configuration} fields." +msgstr "" + +#. type: deftp +#: doc/guix.texi:16960 +#, no-wrap +msgid "{Data Type} cuirass-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:16962 +msgid "Data type representing the configuration of Cuirass." +msgstr "" + +#. type: item +#: doc/guix.texi:16964 +#, no-wrap +msgid "@code{log-file} (default: @code{\"/var/log/cuirass.log\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:16966 +msgid "Location of the log file." +msgstr "" + +#. type: item +#: doc/guix.texi:16967 +#, no-wrap +msgid "@code{cache-directory} (default: @code{\"/var/cache/cuirass\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:16969 +msgid "Location of the repository cache." +msgstr "" + +#. type: item +#: doc/guix.texi:16970 +#, no-wrap +msgid "@code{user} (default: @code{\"cuirass\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:16972 +msgid "Owner of the @code{cuirass} process." +msgstr "" + +#. type: item +#: doc/guix.texi:16973 +#, no-wrap +msgid "@code{group} (default: @code{\"cuirass\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:16975 +msgid "Owner's group of the @code{cuirass} process." +msgstr "" + +#. type: item +#: doc/guix.texi:16976 +#, no-wrap +msgid "@code{interval} (default: @code{60})" +msgstr "" + +#. type: table +#: doc/guix.texi:16979 +msgid "" +"Number of seconds between the poll of the repositories followed by the " +"Cuirass jobs." +msgstr "" + +#. type: item +#: doc/guix.texi:16980 +#, no-wrap +msgid "@code{database} (default: @code{\"/var/run/cuirass/cuirass.db\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:16983 +msgid "" +"Location of sqlite database which contains the build results and previously " +"added specifications." +msgstr "" + +#. type: item +#: doc/guix.texi:16984 +#, no-wrap +msgid "@code{port} (default: @code{8081})" +msgstr "" + +#. type: table +#: doc/guix.texi:16986 +msgid "Port number used by the HTTP server." +msgstr "" + +#. type: table +#: doc/guix.texi:16990 +msgid "" +"Listen on the network interface for @var{host}. The default is to accept " +"connections from localhost." +msgstr "" + +#. type: item +#: doc/guix.texi:16991 +#, no-wrap +msgid "@code{specifications} (default: @code{#~'()})" +msgstr "" + +#. type: table +#: doc/guix.texi:16997 +msgid "" +"A gexp (@pxref{G-Expressions}) that evaluates to a list of specifications, " +"where a specification is an association list (@pxref{Associations Lists,,, " +"guile, GNU Guile Reference Manual}) whose keys are keywords " +"(@code{#:keyword-example}) as shown in the example above." +msgstr "" + +#. type: item +#: doc/guix.texi:16998 +#, no-wrap +msgid "@code{use-substitutes?} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:17001 +msgid "" +"This allows using substitutes to avoid building every dependencies of a job " +"from source." +msgstr "" + +#. type: item +#: doc/guix.texi:17002 +#, no-wrap +msgid "@code{one-shot?} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:17004 +msgid "Only evaluate specifications and build derivations once." +msgstr "" + +#. type: item +#: doc/guix.texi:17005 +#, no-wrap +msgid "@code{fallback?} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:17008 +msgid "" +"When substituting a pre-built binary fails, fall back to building packages " +"locally." +msgstr "" + +#. type: item +#: doc/guix.texi:17009 +#, no-wrap +msgid "@code{load-path} (default: @code{'()})" +msgstr "" + +#. type: table +#: doc/guix.texi:17012 +msgid "" +"This allows users to define their own packages and make them visible to " +"cuirass as in @command{guix build} command." +msgstr "" + +#. type: item +#: doc/guix.texi:17013 +#, no-wrap +msgid "@code{cuirass} (default: @code{cuirass})" +msgstr "" + +#. type: table +#: doc/guix.texi:17015 +msgid "The Cuirass package to use." +msgstr "" + +#. type: cindex +#: doc/guix.texi:17021 +#, no-wrap +msgid "power management with TLP" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:17024 +msgid "" +"The @code{(gnu services pm)} module provides a Guix service definition for " +"the Linux power management tool TLP." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:17030 +msgid "" +"TLP enables various powersaving modes in userspace and kernel. Contrary to " +"@code{upower-service}, it is not a passive, monitoring tool, as it will " +"apply custom settings each time a new power source is detected. More " +"information can be found at @uref{http://linrunner.de/en/tlp/tlp.html, TLP " +"home page}." +msgstr "" + +#. type: deffn +#: doc/guix.texi:17031 +#, no-wrap +msgid "{Scheme Variable} tlp-service-type" +msgstr "" + +#. type: deffn +#: doc/guix.texi:17035 +msgid "" +"The service type for the TLP tool. Its value should be a valid TLP " +"configuration (see below). To use the default settings, simply write:" +msgstr "" + +#. type: example +#: doc/guix.texi:17037 +#, no-wrap +msgid "(service tlp-service-type)\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:17042 +msgid "" +"By default TLP does not need much configuration but most TLP parameters can " +"be tweaked using @code{tlp-configuration}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:17048 +msgid "" +"Each parameter definition is preceded by its type; for example, " +"@samp{boolean foo} indicates that the @code{foo} parameter should be " +"specified as a boolean. Types starting with @code{maybe-} denote parameters " +"that won't show up in TLP config file when their value is @code{'disabled}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:17058 +msgid "Available @code{tlp-configuration} fields are:" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17059 +#, no-wrap +msgid "{@code{tlp-configuration} parameter} package tlp" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17061 +msgid "The TLP package." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17064 +#, no-wrap +msgid "{@code{tlp-configuration} parameter} boolean tlp-enable?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17066 +msgid "Set to true if you wish to enable TLP." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17071 +#, no-wrap +msgid "{@code{tlp-configuration} parameter} string tlp-default-mode" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17074 +msgid "" +"Default mode when no power supply can be detected. Alternatives are AC and " +"BAT." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17076 +msgid "Defaults to @samp{\"AC\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17079 +#, no-wrap +msgid "" +"{@code{tlp-configuration} parameter} non-negative-integer " +"disk-idle-secs-on-ac" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17082 +msgid "" +"Number of seconds Linux kernel has to wait after the disk goes idle, before " +"syncing on AC." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17087 +#, no-wrap +msgid "" +"{@code{tlp-configuration} parameter} non-negative-integer " +"disk-idle-secs-on-bat" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17089 +msgid "Same as @code{disk-idle-ac} but on BAT mode." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17091 +msgid "Defaults to @samp{2}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17094 +#, no-wrap +msgid "" +"{@code{tlp-configuration} parameter} non-negative-integer " +"max-lost-work-secs-on-ac" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17096 +msgid "Dirty pages flushing periodicity, expressed in seconds." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17098 doc/guix.texi:17321 doc/guix.texi:18638 doc/guix.texi:18646 +msgid "Defaults to @samp{15}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17101 +#, no-wrap +msgid "" +"{@code{tlp-configuration} parameter} non-negative-integer " +"max-lost-work-secs-on-bat" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17103 +msgid "Same as @code{max-lost-work-secs-on-ac} but on BAT mode." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17105 +msgid "Defaults to @samp{60}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17108 +#, no-wrap +msgid "" +"{@code{tlp-configuration} parameter} maybe-space-separated-string-list " +"cpu-scaling-governor-on-ac" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17112 +msgid "" +"CPU frequency scaling governor on AC mode. With intel_pstate driver, " +"alternatives are powersave and performance. With acpi-cpufreq driver, " +"alternatives are ondemand, powersave, performance and conservative." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17114 doc/guix.texi:17121 doc/guix.texi:17128 doc/guix.texi:17135 doc/guix.texi:17142 doc/guix.texi:17149 doc/guix.texi:17157 doc/guix.texi:17165 doc/guix.texi:17172 doc/guix.texi:17179 doc/guix.texi:17186 doc/guix.texi:17193 doc/guix.texi:17223 doc/guix.texi:17261 doc/guix.texi:17268 doc/guix.texi:17277 doc/guix.texi:17299 doc/guix.texi:17307 doc/guix.texi:17314 doc/guix.texi:17469 doc/guix.texi:17489 doc/guix.texi:17504 doc/guix.texi:17511 +msgid "Defaults to @samp{disabled}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17117 +#, no-wrap +msgid "" +"{@code{tlp-configuration} parameter} maybe-space-separated-string-list " +"cpu-scaling-governor-on-bat" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17119 +msgid "Same as @code{cpu-scaling-governor-on-ac} but on BAT mode." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17124 +#, no-wrap +msgid "" +"{@code{tlp-configuration} parameter} maybe-non-negative-integer " +"cpu-scaling-min-freq-on-ac" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17126 +msgid "Set the min available frequency for the scaling governor on AC." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17131 +#, no-wrap +msgid "" +"{@code{tlp-configuration} parameter} maybe-non-negative-integer " +"cpu-scaling-max-freq-on-ac" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17133 +msgid "Set the max available frequency for the scaling governor on AC." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17138 +#, no-wrap +msgid "" +"{@code{tlp-configuration} parameter} maybe-non-negative-integer " +"cpu-scaling-min-freq-on-bat" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17140 +msgid "Set the min available frequency for the scaling governor on BAT." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17145 +#, no-wrap +msgid "" +"{@code{tlp-configuration} parameter} maybe-non-negative-integer " +"cpu-scaling-max-freq-on-bat" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17147 +msgid "Set the max available frequency for the scaling governor on BAT." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17152 +#, no-wrap +msgid "" +"{@code{tlp-configuration} parameter} maybe-non-negative-integer " +"cpu-min-perf-on-ac" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17155 +msgid "" +"Limit the min P-state to control the power dissipation of the CPU, in AC " +"mode. Values are stated as a percentage of the available performance." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17160 +#, no-wrap +msgid "" +"{@code{tlp-configuration} parameter} maybe-non-negative-integer " +"cpu-max-perf-on-ac" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17163 +msgid "" +"Limit the max P-state to control the power dissipation of the CPU, in AC " +"mode. Values are stated as a percentage of the available performance." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17168 +#, no-wrap +msgid "" +"{@code{tlp-configuration} parameter} maybe-non-negative-integer " +"cpu-min-perf-on-bat" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17170 +msgid "Same as @code{cpu-min-perf-on-ac} on BAT mode." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17175 +#, no-wrap +msgid "" +"{@code{tlp-configuration} parameter} maybe-non-negative-integer " +"cpu-max-perf-on-bat" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17177 +msgid "Same as @code{cpu-max-perf-on-ac} on BAT mode." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17182 +#, no-wrap +msgid "{@code{tlp-configuration} parameter} maybe-boolean cpu-boost-on-ac?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17184 +msgid "Enable CPU turbo boost feature on AC mode." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17189 +#, no-wrap +msgid "{@code{tlp-configuration} parameter} maybe-boolean cpu-boost-on-bat?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17191 +msgid "Same as @code{cpu-boost-on-ac?} on BAT mode." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17196 +#, no-wrap +msgid "{@code{tlp-configuration} parameter} boolean sched-powersave-on-ac?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17199 +msgid "" +"Allow Linux kernel to minimize the number of CPU cores/hyper-threads used " +"under light load conditions." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17204 +#, no-wrap +msgid "{@code{tlp-configuration} parameter} boolean sched-powersave-on-bat?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17206 +msgid "Same as @code{sched-powersave-on-ac?} but on BAT mode." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17211 +#, no-wrap +msgid "{@code{tlp-configuration} parameter} boolean nmi-watchdog?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17213 +msgid "Enable Linux kernel NMI watchdog." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17218 +#, no-wrap +msgid "{@code{tlp-configuration} parameter} maybe-string phc-controls" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17221 +msgid "" +"For Linux kernels with PHC patch applied, change CPU voltages. An example " +"value would be @samp{\"F:V F:V F:V F:V\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17226 +#, no-wrap +msgid "{@code{tlp-configuration} parameter} string energy-perf-policy-on-ac" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17229 +msgid "" +"Set CPU performance versus energy saving policy on AC. Alternatives are " +"performance, normal, powersave." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17231 doc/guix.texi:17329 doc/guix.texi:17359 +msgid "Defaults to @samp{\"performance\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17234 +#, no-wrap +msgid "{@code{tlp-configuration} parameter} string energy-perf-policy-on-bat" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17236 +msgid "Same as @code{energy-perf-policy-ac} but on BAT mode." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17238 doc/guix.texi:17336 +msgid "Defaults to @samp{\"powersave\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17241 +#, no-wrap +msgid "" +"{@code{tlp-configuration} parameter} space-separated-string-list " +"disks-devices" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17243 +msgid "Hard disk devices." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17246 +#, no-wrap +msgid "" +"{@code{tlp-configuration} parameter} space-separated-string-list " +"disk-apm-level-on-ac" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17248 +msgid "Hard disk advanced power management level." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17251 +#, no-wrap +msgid "" +"{@code{tlp-configuration} parameter} space-separated-string-list " +"disk-apm-level-on-bat" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17253 +msgid "Same as @code{disk-apm-bat} but on BAT mode." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17256 +#, no-wrap +msgid "" +"{@code{tlp-configuration} parameter} maybe-space-separated-string-list " +"disk-spindown-timeout-on-ac" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17259 +msgid "" +"Hard disk spin down timeout. One value has to be specified for each " +"declared hard disk." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17264 +#, no-wrap +msgid "" +"{@code{tlp-configuration} parameter} maybe-space-separated-string-list " +"disk-spindown-timeout-on-bat" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17266 +msgid "Same as @code{disk-spindown-timeout-on-ac} but on BAT mode." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17271 +#, no-wrap +msgid "" +"{@code{tlp-configuration} parameter} maybe-space-separated-string-list " +"disk-iosched" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17275 +msgid "" +"Select IO scheduler for disk devices. One value has to be specified for " +"each declared hard disk. Example alternatives are cfq, deadline and noop." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17280 +#, no-wrap +msgid "{@code{tlp-configuration} parameter} string sata-linkpwr-on-ac" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17283 +msgid "" +"SATA aggressive link power management (ALPM) level. Alternatives are " +"min_power, medium_power, max_performance." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17285 +msgid "Defaults to @samp{\"max_performance\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17288 +#, no-wrap +msgid "{@code{tlp-configuration} parameter} string sata-linkpwr-on-bat" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17290 +msgid "Same as @code{sata-linkpwr-ac} but on BAT mode." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17292 +msgid "Defaults to @samp{\"min_power\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17295 +#, no-wrap +msgid "{@code{tlp-configuration} parameter} maybe-string sata-linkpwr-blacklist" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17297 +msgid "Exclude specified SATA host devices for link power management." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17302 +#, no-wrap +msgid "" +"{@code{tlp-configuration} parameter} maybe-on-off-boolean " +"ahci-runtime-pm-on-ac?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17305 +msgid "Enable Runtime Power Management for AHCI controller and disks on AC mode." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17310 +#, no-wrap +msgid "" +"{@code{tlp-configuration} parameter} maybe-on-off-boolean " +"ahci-runtime-pm-on-bat?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17312 +msgid "Same as @code{ahci-runtime-pm-on-ac} on BAT mode." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17317 +#, no-wrap +msgid "" +"{@code{tlp-configuration} parameter} non-negative-integer " +"ahci-runtime-pm-timeout" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17319 +msgid "Seconds of inactivity before disk is suspended." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17324 +#, no-wrap +msgid "{@code{tlp-configuration} parameter} string pcie-aspm-on-ac" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17327 +msgid "" +"PCI Express Active State Power Management level. Alternatives are default, " +"performance, powersave." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17332 +#, no-wrap +msgid "{@code{tlp-configuration} parameter} string pcie-aspm-on-bat" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17334 +msgid "Same as @code{pcie-aspm-ac} but on BAT mode." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17339 +#, no-wrap +msgid "{@code{tlp-configuration} parameter} string radeon-power-profile-on-ac" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17342 +msgid "" +"Radeon graphics clock speed level. Alternatives are low, mid, high, auto, " +"default." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17344 +msgid "Defaults to @samp{\"high\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17347 +#, no-wrap +msgid "{@code{tlp-configuration} parameter} string radeon-power-profile-on-bat" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17349 +msgid "Same as @code{radeon-power-ac} but on BAT mode." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17351 +msgid "Defaults to @samp{\"low\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17354 +#, no-wrap +msgid "{@code{tlp-configuration} parameter} string radeon-dpm-state-on-ac" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17357 +msgid "" +"Radeon dynamic power management method (DPM). Alternatives are battery, " +"performance." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17362 +#, no-wrap +msgid "{@code{tlp-configuration} parameter} string radeon-dpm-state-on-bat" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17364 +msgid "Same as @code{radeon-dpm-state-ac} but on BAT mode." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17366 +msgid "Defaults to @samp{\"battery\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17369 +#, no-wrap +msgid "{@code{tlp-configuration} parameter} string radeon-dpm-perf-level-on-ac" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17371 +msgid "Radeon DPM performance level. Alternatives are auto, low, high." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17373 doc/guix.texi:17380 doc/guix.texi:17454 +msgid "Defaults to @samp{\"auto\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17376 +#, no-wrap +msgid "{@code{tlp-configuration} parameter} string radeon-dpm-perf-level-on-bat" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17378 +msgid "Same as @code{radeon-dpm-perf-ac} but on BAT mode." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17383 +#, no-wrap +msgid "{@code{tlp-configuration} parameter} on-off-boolean wifi-pwr-on-ac?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17385 +msgid "Wifi power saving mode." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17390 +#, no-wrap +msgid "{@code{tlp-configuration} parameter} on-off-boolean wifi-pwr-on-bat?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17392 +msgid "Same as @code{wifi-power-ac?} but on BAT mode." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17397 +#, no-wrap +msgid "{@code{tlp-configuration} parameter} y-n-boolean wol-disable?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17399 +msgid "Disable wake on LAN." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17404 +#, no-wrap +msgid "" +"{@code{tlp-configuration} parameter} non-negative-integer " +"sound-power-save-on-ac" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17407 +msgid "" +"Timeout duration in seconds before activating audio power saving on Intel " +"HDA and AC97 devices. A value of 0 disables power saving." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17412 +#, no-wrap +msgid "" +"{@code{tlp-configuration} parameter} non-negative-integer " +"sound-power-save-on-bat" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17414 +msgid "Same as @code{sound-powersave-ac} but on BAT mode." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17416 doc/guix.texi:17931 doc/guix.texi:18075 +msgid "Defaults to @samp{1}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17419 +#, no-wrap +msgid "" +"{@code{tlp-configuration} parameter} y-n-boolean " +"sound-power-save-controller?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17421 +msgid "Disable controller in powersaving mode on Intel HDA devices." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17426 +#, no-wrap +msgid "{@code{tlp-configuration} parameter} boolean bay-poweroff-on-bat?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17430 +msgid "" +"Enable optical drive in UltraBay/MediaBay on BAT mode. Drive can be powered " +"on again by releasing (and reinserting) the eject lever or by pressing the " +"disc eject button on newer models." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17435 +#, no-wrap +msgid "{@code{tlp-configuration} parameter} string bay-device" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17437 +msgid "Name of the optical drive device to power off." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17439 +msgid "Defaults to @samp{\"sr0\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17442 +#, no-wrap +msgid "{@code{tlp-configuration} parameter} string runtime-pm-on-ac" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17445 +msgid "" +"Runtime Power Management for PCI(e) bus devices. Alternatives are on and " +"auto." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17447 +msgid "Defaults to @samp{\"on\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17450 +#, no-wrap +msgid "{@code{tlp-configuration} parameter} string runtime-pm-on-bat" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17452 +msgid "Same as @code{runtime-pm-ac} but on BAT mode." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17457 +#, no-wrap +msgid "{@code{tlp-configuration} parameter} boolean runtime-pm-all?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17460 +msgid "" +"Runtime Power Management for all PCI(e) bus devices, except blacklisted " +"ones." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17465 +#, no-wrap +msgid "" +"{@code{tlp-configuration} parameter} maybe-space-separated-string-list " +"runtime-pm-blacklist" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17467 +msgid "Exclude specified PCI(e) device addresses from Runtime Power Management." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17472 +#, no-wrap +msgid "" +"{@code{tlp-configuration} parameter} space-separated-string-list " +"runtime-pm-driver-blacklist" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17475 +msgid "" +"Exclude PCI(e) devices assigned to the specified drivers from Runtime Power " +"Management." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17478 +#, no-wrap +msgid "{@code{tlp-configuration} parameter} boolean usb-autosuspend?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17480 +msgid "Enable USB autosuspend feature." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17485 +#, no-wrap +msgid "{@code{tlp-configuration} parameter} maybe-string usb-blacklist" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17487 +msgid "Exclude specified devices from USB autosuspend." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17492 +#, no-wrap +msgid "{@code{tlp-configuration} parameter} boolean usb-blacklist-wwan?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17494 +msgid "Exclude WWAN devices from USB autosuspend." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17499 +#, no-wrap +msgid "{@code{tlp-configuration} parameter} maybe-string usb-whitelist" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17502 +msgid "" +"Include specified devices into USB autosuspend, even if they are already " +"excluded by the driver or via @code{usb-blacklist-wwan?}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17507 +#, no-wrap +msgid "" +"{@code{tlp-configuration} parameter} maybe-boolean " +"usb-autosuspend-disable-on-shutdown?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17509 +msgid "Enable USB autosuspend before shutdown." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17514 +#, no-wrap +msgid "" +"{@code{tlp-configuration} parameter} boolean " +"restore-device-state-on-startup?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17517 +msgid "" +"Restore radio device state (bluetooth, wifi, wwan) from previous shutdown on " +"system startup." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:17525 +msgid "" +"The @code{(gnu services pm)} module provides an interface to thermald, a CPU " +"frequency scaling service which helps prevent overheating." +msgstr "" + +#. type: defvr +#: doc/guix.texi:17526 +#, no-wrap +msgid "{Scheme Variable} thermald-service-type" +msgstr "" + +#. type: defvr +#: doc/guix.texi:17531 +msgid "" +"This is the service type for @uref{https://01.org/linux-thermal-daemon/, " +"thermald}, the Linux Thermal Daemon, which is responsible for controlling " +"the thermal state of processors and preventing overheating." +msgstr "" + +#. type: deftp +#: doc/guix.texi:17533 +#, no-wrap +msgid "{Data Type} thermald-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:17535 +msgid "Data type representing the configuration of @code{thermald-service-type}." +msgstr "" + +#. type: item +#: doc/guix.texi:17537 +#, no-wrap +msgid "@code{ignore-cpuid-check?} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:17539 +msgid "Ignore cpuid check for supported CPU models." +msgstr "" + +#. type: item +#: doc/guix.texi:17540 +#, no-wrap +msgid "@code{thermald} (default: @var{thermald})" +msgstr "" + +#. type: table +#: doc/guix.texi:17542 +msgid "Package object of thermald." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:17551 +msgid "" +"The @code{(gnu services audio)} module provides a service to start MPD (the " +"Music Player Daemon)." +msgstr "" + +#. type: cindex +#: doc/guix.texi:17552 +#, no-wrap +msgid "mpd" +msgstr "" + +#. type: subsubheading +#: doc/guix.texi:17553 +#, no-wrap +msgid "Music Player Daemon" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:17558 +msgid "" +"The Music Player Daemon (MPD) is a service that can play music while being " +"controlled from the local machine or over the network by a variety of " +"clients." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:17561 +msgid "" +"The following example shows how one might run @code{mpd} as user " +"@code{\"bob\"} on port @code{6666}. It uses pulseaudio for output." +msgstr "" + +#. type: example +#: doc/guix.texi:17567 +#, no-wrap +msgid "" +"(service mpd-service-type\n" +" (mpd-configuration\n" +" (user \"bob\")\n" +" (port \"6666\")))\n" +msgstr "" + +#. type: defvr +#: doc/guix.texi:17569 +#, no-wrap +msgid "{Scheme Variable} mpd-service-type" +msgstr "" + +#. type: defvr +#: doc/guix.texi:17571 +msgid "The service type for @command{mpd}" +msgstr "" + +#. type: deftp +#: doc/guix.texi:17573 +#, no-wrap +msgid "{Data Type} mpd-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:17575 +msgid "Data type representing the configuration of @command{mpd}." +msgstr "" + +#. type: item +#: doc/guix.texi:17577 +#, no-wrap +msgid "@code{user} (default: @code{\"mpd\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:17579 +msgid "The user to run mpd as." +msgstr "" + +#. type: item +#: doc/guix.texi:17580 +#, no-wrap +msgid "@code{music-dir} (default: @code{\"~/Music\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:17582 +msgid "The directory to scan for music files." +msgstr "" + +#. type: item +#: doc/guix.texi:17583 +#, no-wrap +msgid "@code{playlist-dir} (default: @code{\"~/.mpd/playlists\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:17585 +msgid "The directory to store playlists." +msgstr "" + +#. type: item +#: doc/guix.texi:17586 +#, no-wrap +msgid "@code{port} (default: @code{\"6600\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:17588 +msgid "The port to run mpd on." +msgstr "" + +#. type: item +#: doc/guix.texi:17589 +#, no-wrap +msgid "@code{address} (default: @code{\"any\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:17592 +msgid "" +"The address that mpd will bind to. To use a Unix domain socket, an absolute " +"path can be specified here." +msgstr "" + +#. type: subsubsection +#: doc/guix.texi:17597 +#, no-wrap +msgid "Virtualization services" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:17602 +msgid "" +"The @code{(gnu services virtualization)} module provides services for the " +"libvirt and virtlog daemons, as well as other virtualization-related " +"services." +msgstr "" + +#. type: subsubheading +#: doc/guix.texi:17603 +#, no-wrap +msgid "Libvirt daemon" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:17607 +msgid "" +"@code{libvirtd} is the server side daemon component of the libvirt " +"virtualization management system. This daemon runs on host servers and " +"performs required management tasks for virtualized guests." +msgstr "" + +#. type: deffn +#: doc/guix.texi:17608 +#, no-wrap +msgid "{Scheme Variable} libvirt-service-type" +msgstr "" + +#. type: deffn +#: doc/guix.texi:17611 +msgid "" +"This is the type of the @uref{https://libvirt.org, libvirt daemon}. Its " +"value must be a @code{libvirt-configuration}." +msgstr "" + +#. type: example +#: doc/guix.texi:17617 +#, no-wrap +msgid "" +"(service libvirt-service-type\n" +" (libvirt-configuration\n" +" (unix-sock-group \"libvirt\")\n" +" (tls-port \"16555\")))\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:17622 +msgid "Available @code{libvirt-configuration} fields are:" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17623 +#, no-wrap +msgid "{@code{libvirt-configuration} parameter} package libvirt" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17625 +msgid "Libvirt package." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17628 +#, no-wrap +msgid "{@code{libvirt-configuration} parameter} boolean listen-tls?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17631 +msgid "" +"Flag listening for secure TLS connections on the public TCP/IP port. must " +"set @code{listen} for this to have any effect." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17634 +msgid "" +"It is necessary to setup a CA and issue server certificates before using " +"this capability." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17639 +#, no-wrap +msgid "{@code{libvirt-configuration} parameter} boolean listen-tcp?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17642 +msgid "" +"Listen for unencrypted TCP connections on the public TCP/IP port. must set " +"@code{listen} for this to have any effect." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17646 +msgid "" +"Using the TCP socket requires SASL authentication by default. Only SASL " +"mechanisms which support data encryption are allowed. This is DIGEST_MD5 " +"and GSSAPI (Kerberos5)" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17651 +#, no-wrap +msgid "{@code{libvirt-configuration} parameter} string tls-port" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17654 +msgid "" +"Port for accepting secure TLS connections This can be a port number, or " +"service name" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17656 +msgid "Defaults to @samp{\"16514\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17659 +#, no-wrap +msgid "{@code{libvirt-configuration} parameter} string tcp-port" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17662 +msgid "" +"Port for accepting insecure TCP connections This can be a port number, or " +"service name" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17664 +msgid "Defaults to @samp{\"16509\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17667 +#, no-wrap +msgid "{@code{libvirt-configuration} parameter} string listen-addr" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17669 +msgid "IP address or hostname used for client connections." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17671 +msgid "Defaults to @samp{\"0.0.0.0\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17674 +#, no-wrap +msgid "{@code{libvirt-configuration} parameter} boolean mdns-adv?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17676 +msgid "Flag toggling mDNS advertisement of the libvirt service." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17679 +msgid "" +"Alternatively can disable for all services on a host by stopping the Avahi " +"daemon." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17684 +#, no-wrap +msgid "{@code{libvirt-configuration} parameter} string mdns-name" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17687 +msgid "" +"Default mDNS advertisement name. This must be unique on the immediate " +"broadcast network." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17689 +msgid "Defaults to @samp{\"Virtualization Host <hostname>\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17692 +#, no-wrap +msgid "{@code{libvirt-configuration} parameter} string unix-sock-group" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17696 +msgid "" +"UNIX domain socket group ownership. This can be used to allow a 'trusted' " +"set of users access to management capabilities without becoming root." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17698 +msgid "Defaults to @samp{\"root\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17701 +#, no-wrap +msgid "{@code{libvirt-configuration} parameter} string unix-sock-ro-perms" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17704 +msgid "" +"UNIX socket permissions for the R/O socket. This is used for monitoring VM " +"status only." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17706 doc/guix.texi:17724 +msgid "Defaults to @samp{\"0777\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17709 +#, no-wrap +msgid "{@code{libvirt-configuration} parameter} string unix-sock-rw-perms" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17713 +msgid "" +"UNIX socket permissions for the R/W socket. Default allows only root. If " +"PolicyKit is enabled on the socket, the default will change to allow " +"everyone (eg, 0777)" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17715 +msgid "Defaults to @samp{\"0770\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17718 +#, no-wrap +msgid "{@code{libvirt-configuration} parameter} string unix-sock-admin-perms" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17722 +msgid "" +"UNIX socket permissions for the admin socket. Default allows only owner " +"(root), do not change it unless you are sure to whom you are exposing the " +"access to." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17727 +#, no-wrap +msgid "{@code{libvirt-configuration} parameter} string unix-sock-dir" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17729 +msgid "The directory in which sockets will be found/created." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17731 +msgid "Defaults to @samp{\"/var/run/libvirt\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17734 +#, no-wrap +msgid "{@code{libvirt-configuration} parameter} string auth-unix-ro" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17737 +msgid "" +"Authentication scheme for UNIX read-only sockets. By default socket " +"permissions allow anyone to connect" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17739 doc/guix.texi:17748 +msgid "Defaults to @samp{\"polkit\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17742 +#, no-wrap +msgid "{@code{libvirt-configuration} parameter} string auth-unix-rw" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17746 +msgid "" +"Authentication scheme for UNIX read-write sockets. By default socket " +"permissions only allow root. If PolicyKit support was compiled into " +"libvirt, the default will be to use 'polkit' auth." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17751 +#, no-wrap +msgid "{@code{libvirt-configuration} parameter} string auth-tcp" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17755 +msgid "" +"Authentication scheme for TCP sockets. If you don't enable SASL, then all " +"TCP traffic is cleartext. Don't do this outside of a dev/test scenario." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17757 +msgid "Defaults to @samp{\"sasl\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17760 +#, no-wrap +msgid "{@code{libvirt-configuration} parameter} string auth-tls" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17764 +msgid "" +"Authentication scheme for TLS sockets. TLS sockets already have encryption " +"provided by the TLS layer, and limited authentication is done by " +"certificates." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17767 +msgid "" +"It is possible to make use of any SASL authentication mechanism as well, by " +"using 'sasl' for this option" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17769 +msgid "Defaults to @samp{\"none\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17772 +#, no-wrap +msgid "{@code{libvirt-configuration} parameter} optional-list access-drivers" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17774 +msgid "API access control scheme." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17777 +msgid "" +"By default an authenticated user is allowed access to all APIs. Access " +"drivers can place restrictions on this." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17782 +#, no-wrap +msgid "{@code{libvirt-configuration} parameter} string key-file" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17785 +msgid "" +"Server key file path. If set to an empty string, then no private key is " +"loaded." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17790 +#, no-wrap +msgid "{@code{libvirt-configuration} parameter} string cert-file" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17793 +msgid "" +"Server key file path. If set to an empty string, then no certificate is " +"loaded." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17798 +#, no-wrap +msgid "{@code{libvirt-configuration} parameter} string ca-file" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17801 +msgid "" +"Server key file path. If set to an empty string, then no CA certificate is " +"loaded." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17806 +#, no-wrap +msgid "{@code{libvirt-configuration} parameter} string crl-file" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17809 +msgid "" +"Certificate revocation list path. If set to an empty string, then no CRL is " +"loaded." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17814 +#, no-wrap +msgid "{@code{libvirt-configuration} parameter} boolean tls-no-sanity-cert" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17816 +msgid "Disable verification of our own server certificates." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17819 +msgid "" +"When libvirtd starts it performs some sanity checks against its own " +"certificates." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17824 +#, no-wrap +msgid "{@code{libvirt-configuration} parameter} boolean tls-no-verify-cert" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17826 +msgid "Disable verification of client certificates." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17830 +msgid "" +"Client certificate verification is the primary authentication mechanism. " +"Any client which does not present a certificate signed by the CA will be " +"rejected." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17835 +#, no-wrap +msgid "{@code{libvirt-configuration} parameter} optional-list tls-allowed-dn-list" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17837 +msgid "Whitelist of allowed x509 Distinguished Name." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17842 +#, no-wrap +msgid "" +"{@code{libvirt-configuration} parameter} optional-list " +"sasl-allowed-usernames" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17845 +msgid "" +"Whitelist of allowed SASL usernames. The format for username depends on the " +"SASL authentication mechanism." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17850 +#, no-wrap +msgid "{@code{libvirt-configuration} parameter} string tls-priority" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17854 +msgid "" +"Override the compile time default TLS priority string. The default is " +"usually \"NORMAL\" unless overridden at build time. Only set this is it is " +"desired for libvirt to deviate from the global default settings." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17856 +msgid "Defaults to @samp{\"NORMAL\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17859 +#, no-wrap +msgid "{@code{libvirt-configuration} parameter} integer max-clients" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17862 doc/guix.texi:18285 +msgid "" +"Maximum number of concurrent client connections to allow over all sockets " +"combined." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17864 +msgid "Defaults to @samp{5000}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17867 +#, no-wrap +msgid "{@code{libvirt-configuration} parameter} integer max-queued-clients" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17871 +msgid "" +"Maximum length of queue of connections waiting to be accepted by the " +"daemon. Note, that some protocols supporting retransmission may obey this " +"so that a later reattempt at connection succeeds." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17876 +#, no-wrap +msgid "{@code{libvirt-configuration} parameter} integer max-anonymous-clients" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17879 +msgid "" +"Maximum length of queue of accepted but not yet authenticated clients. Set " +"this to zero to turn this feature off" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17881 doc/guix.texi:17899 doc/guix.texi:17915 +msgid "Defaults to @samp{20}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17884 +#, no-wrap +msgid "{@code{libvirt-configuration} parameter} integer min-workers" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17886 +msgid "Number of workers to start up initially." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17891 +#, no-wrap +msgid "{@code{libvirt-configuration} parameter} integer max-workers" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17893 +msgid "Maximum number of worker threads." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17897 +msgid "" +"If the number of active clients exceeds @code{min-workers}, then more " +"threads are spawned, up to max_workers limit. Typically you'd want " +"max_workers to equal maximum number of clients allowed." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17902 +#, no-wrap +msgid "{@code{libvirt-configuration} parameter} integer prio-workers" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17906 +msgid "" +"Number of priority workers. If all workers from above pool are stuck, some " +"calls marked as high priority (notably domainDestroy) can be executed in " +"this pool." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17911 +#, no-wrap +msgid "{@code{libvirt-configuration} parameter} integer max-requests" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17913 +msgid "Total global limit on concurrent RPC calls." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17918 +#, no-wrap +msgid "{@code{libvirt-configuration} parameter} integer max-client-requests" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17922 +msgid "" +"Limit on concurrent requests from a single client connection. To avoid one " +"client monopolizing the server this should be a small fraction of the global " +"max_requests and max_workers parameter." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17927 +#, no-wrap +msgid "{@code{libvirt-configuration} parameter} integer admin-min-workers" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17929 +msgid "Same as @code{min-workers} but for the admin interface." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17934 +#, no-wrap +msgid "{@code{libvirt-configuration} parameter} integer admin-max-workers" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17936 +msgid "Same as @code{max-workers} but for the admin interface." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17941 +#, no-wrap +msgid "{@code{libvirt-configuration} parameter} integer admin-max-clients" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17943 +msgid "Same as @code{max-clients} but for the admin interface." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17948 +#, no-wrap +msgid "{@code{libvirt-configuration} parameter} integer admin-max-queued-clients" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17950 +msgid "Same as @code{max-queued-clients} but for the admin interface." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17955 +#, no-wrap +msgid "{@code{libvirt-configuration} parameter} integer admin-max-client-requests" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17957 +msgid "Same as @code{max-client-requests} but for the admin interface." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17962 +#, no-wrap +msgid "{@code{libvirt-configuration} parameter} integer log-level" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17964 doc/guix.texi:18187 +msgid "Logging level. 4 errors, 3 warnings, 2 information, 1 debug." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17969 +#, no-wrap +msgid "{@code{libvirt-configuration} parameter} string log-filters" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17971 doc/guix.texi:18194 +msgid "Logging filters." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17974 doc/guix.texi:18197 +msgid "" +"A filter allows to select a different logging level for a given category of " +"logs The format for a filter is one of:" +msgstr "" + +#. type: itemize +#: doc/guix.texi:17978 doc/guix.texi:18201 +msgid "x:name" +msgstr "" + +#. type: itemize +#: doc/guix.texi:17981 doc/guix.texi:18204 +msgid "x:+name" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:17991 doc/guix.texi:18214 +msgid "" +"where @code{name} is a string which is matched against the category given in " +"the @code{VIR_LOG_INIT()} at the top of each libvirt source file, e.g., " +"\"remote\", \"qemu\", or \"util.json\" (the name in the filter can be a " +"substring of the full category name, in order to match multiple similar " +"categories), the optional \"+\" prefix tells libvirt to log stack trace for " +"each message matching name, and @code{x} is the minimal level where matching " +"messages should be logged:" +msgstr "" + +#. type: itemize +#: doc/guix.texi:17995 doc/guix.texi:18040 doc/guix.texi:18218 doc/guix.texi:18263 +msgid "1: DEBUG" +msgstr "" + +#. type: itemize +#: doc/guix.texi:17998 doc/guix.texi:18043 doc/guix.texi:18221 doc/guix.texi:18266 +msgid "2: INFO" +msgstr "" + +#. type: itemize +#: doc/guix.texi:18001 doc/guix.texi:18046 doc/guix.texi:18224 doc/guix.texi:18269 +msgid "3: WARNING" +msgstr "" + +#. type: itemize +#: doc/guix.texi:18004 doc/guix.texi:18049 doc/guix.texi:18227 doc/guix.texi:18272 +msgid "4: ERROR" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18009 doc/guix.texi:18232 +msgid "" +"Multiple filters can be defined in a single filters statement, they just " +"need to be separated by spaces." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18011 doc/guix.texi:18234 +msgid "Defaults to @samp{\"3:remote 4:event\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18014 +#, no-wrap +msgid "{@code{libvirt-configuration} parameter} string log-outputs" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18016 doc/guix.texi:18239 +msgid "Logging outputs." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18019 doc/guix.texi:18242 +msgid "" +"An output is one of the places to save logging information The format for an " +"output can be:" +msgstr "" + +#. type: item +#: doc/guix.texi:18021 doc/guix.texi:18244 +#, no-wrap +msgid "x:stderr" +msgstr "" + +#. type: table +#: doc/guix.texi:18023 doc/guix.texi:18246 +msgid "output goes to stderr" +msgstr "" + +#. type: item +#: doc/guix.texi:18024 doc/guix.texi:18247 +#, no-wrap +msgid "x:syslog:name" +msgstr "" + +#. type: table +#: doc/guix.texi:18026 doc/guix.texi:18249 +msgid "use syslog for the output and use the given name as the ident" +msgstr "" + +#. type: item +#: doc/guix.texi:18027 doc/guix.texi:18250 +#, no-wrap +msgid "x:file:file_path" +msgstr "" + +#. type: table +#: doc/guix.texi:18029 doc/guix.texi:18252 +msgid "output to a file, with the given filepath" +msgstr "" + +#. type: item +#: doc/guix.texi:18030 doc/guix.texi:18253 +#, no-wrap +msgid "x:journald" +msgstr "" + +#. type: table +#: doc/guix.texi:18032 doc/guix.texi:18255 +msgid "output to journald logging system" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18036 doc/guix.texi:18259 +msgid "In all case the x prefix is the minimal level, acting as a filter" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18054 doc/guix.texi:18277 +msgid "Multiple outputs can be defined, they just need to be separated by spaces." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18056 doc/guix.texi:18279 +msgid "Defaults to @samp{\"3:stderr\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18059 +#, no-wrap +msgid "{@code{libvirt-configuration} parameter} integer audit-level" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18061 +msgid "Allows usage of the auditing subsystem to be altered" +msgstr "" + +#. type: itemize +#: doc/guix.texi:18065 +msgid "0: disable all auditing" +msgstr "" + +#. type: itemize +#: doc/guix.texi:18068 +msgid "1: enable auditing, only if enabled on host" +msgstr "" + +#. type: itemize +#: doc/guix.texi:18071 +msgid "2: enable auditing, and exit if disabled on host." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18078 +#, no-wrap +msgid "{@code{libvirt-configuration} parameter} boolean audit-logging" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18080 +msgid "Send audit messages via libvirt logging infrastructure." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18085 +#, no-wrap +msgid "{@code{libvirt-configuration} parameter} optional-string host-uuid" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18087 +msgid "Host UUID. UUID must not have all digits be the same." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18092 +#, no-wrap +msgid "{@code{libvirt-configuration} parameter} string host-uuid-source" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18094 +msgid "Source to read host UUID." +msgstr "" + +#. type: itemize +#: doc/guix.texi:18098 +msgid "@code{smbios}: fetch the UUID from @code{dmidecode -s system-uuid}" +msgstr "" + +#. type: itemize +#: doc/guix.texi:18101 +msgid "@code{machine-id}: fetch the UUID from @code{/etc/machine-id}" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18106 +msgid "" +"If @code{dmidecode} does not provide a valid UUID a temporary UUID will be " +"generated." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18108 +msgid "Defaults to @samp{\"smbios\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18111 +#, no-wrap +msgid "{@code{libvirt-configuration} parameter} integer keepalive-interval" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18116 +msgid "" +"A keepalive message is sent to a client after @code{keepalive_interval} " +"seconds of inactivity to check if the client is still responding. If set to " +"-1, libvirtd will never send keepalive requests; however clients can still " +"send them and the daemon will send responses." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18121 +#, no-wrap +msgid "{@code{libvirt-configuration} parameter} integer keepalive-count" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18125 +msgid "" +"Maximum number of keepalive messages that are allowed to be sent to the " +"client without getting any response before the connection is considered " +"broken." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18132 +msgid "" +"In other words, the connection is automatically closed approximately after " +"@code{keepalive_interval * (keepalive_count + 1)} seconds since the last " +"message received from the client. When @code{keepalive-count} is set to 0, " +"connections will be automatically closed after @code{keepalive-interval} " +"seconds of inactivity without sending any keepalive messages." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18137 +#, no-wrap +msgid "{@code{libvirt-configuration} parameter} integer admin-keepalive-interval" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18139 doc/guix.texi:18146 +msgid "Same as above but for admin interface." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18144 +#, no-wrap +msgid "{@code{libvirt-configuration} parameter} integer admin-keepalive-count" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18151 +#, no-wrap +msgid "{@code{libvirt-configuration} parameter} integer ovs-timeout" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18153 +msgid "Timeout for Open vSwitch calls." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18157 +msgid "" +"The @code{ovs-vsctl} utility is used for the configuration and its timeout " +"option is set by default to 5 seconds to avoid potential infinite waits " +"blocking libvirt." +msgstr "" + +#. type: subsubheading +#: doc/guix.texi:18164 +#, no-wrap +msgid "Virtlog daemon" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:18167 +msgid "" +"The virtlogd service is a server side daemon component of libvirt that is " +"used to manage logs from virtual machine consoles." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:18173 +msgid "" +"This daemon is not used directly by libvirt client applications, rather it " +"is called on their behalf by @code{libvirtd}. By maintaining the logs in a " +"standalone daemon, the main @code{libvirtd} daemon can be restarted without " +"risk of losing logs. The @code{virtlogd} daemon has the ability to re-exec() " +"itself upon receiving @code{SIGUSR1}, to allow live upgrades without " +"downtime." +msgstr "" + +#. type: deffn +#: doc/guix.texi:18174 +#, no-wrap +msgid "{Scheme Variable} virtlog-service-type" +msgstr "" + +#. type: deffn +#: doc/guix.texi:18177 +msgid "" +"This is the type of the virtlog daemon. Its value must be a " +"@code{virtlog-configuration}." +msgstr "" + +#. type: example +#: doc/guix.texi:18182 +#, no-wrap +msgid "" +"(service virtlog-service-type\n" +" (virtlog-configuration\n" +" (max-clients 1000)))\n" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18185 +#, no-wrap +msgid "{@code{virtlog-configuration} parameter} integer log-level" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18192 +#, no-wrap +msgid "{@code{virtlog-configuration} parameter} string log-filters" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18237 +#, no-wrap +msgid "{@code{virtlog-configuration} parameter} string log-outputs" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18282 +#, no-wrap +msgid "{@code{virtlog-configuration} parameter} integer max-clients" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18287 +msgid "Defaults to @samp{1024}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18290 +#, no-wrap +msgid "{@code{virtlog-configuration} parameter} integer max-size" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18292 +msgid "Maximum file size before rolling over." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18294 +msgid "Defaults to @samp{2MB}" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18297 +#, no-wrap +msgid "{@code{virtlog-configuration} parameter} integer max-backups" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18299 +msgid "Maximum number of backup files to keep." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18301 +msgid "Defaults to @samp{3}" +msgstr "" + +#. type: subsubheading +#: doc/guix.texi:18304 +#, no-wrap +msgid "Transparent Emulation with QEMU" +msgstr "" + +#. type: cindex +#: doc/guix.texi:18306 +#, no-wrap +msgid "emulation" +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:18307 +#, no-wrap +msgid "binfmt_misc" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:18313 +msgid "" +"@code{qemu-binfmt-service-type} provides support for transparent emulation " +"of program binaries built for different architectures---e.g., it allows you " +"to transparently execute an ARMv7 program on an x86_64 machine. It achieves " +"this by combining the @uref{https://www.qemu.org, QEMU} emulator and the " +"@code{binfmt_misc} feature of the kernel Linux." +msgstr "" + +#. type: defvr +#: doc/guix.texi:18314 +#, no-wrap +msgid "{Scheme Variable} qemu-binfmt-service-type" +msgstr "" + +#. type: defvr +#: doc/guix.texi:18319 +msgid "" +"This is the type of the QEMU/binfmt service for transparent emulation. Its " +"value must be a @code{qemu-binfmt-configuration} object, which specifies the " +"QEMU package to use as well as the architecture we want to emulated:" +msgstr "" + +#. type: example +#: doc/guix.texi:18324 +#, no-wrap +msgid "" +"(service qemu-binfmt-service-type\n" +" (qemu-binfmt-configuration\n" +" (platforms (lookup-qemu-platforms \"arm\" \"aarch64\" " +"\"ppc\"))))\n" +msgstr "" + +#. type: defvr +#: doc/guix.texi:18330 +msgid "" +"In this example, we enable transparent emulation for the ARM and aarch64 " +"platforms. Running @code{herd stop qemu-binfmt} turns it off, and running " +"@code{herd start qemu-binfmt} turns it back on (@pxref{Invoking herd, the " +"@command{herd} command,, shepherd, The GNU Shepherd Manual})." +msgstr "" + +#. type: deftp +#: doc/guix.texi:18332 +#, no-wrap +msgid "{Data Type} qemu-binfmt-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:18334 +msgid "This is the configuration for the @code{qemu-binfmt} service." +msgstr "" + +#. type: item +#: doc/guix.texi:18336 +#, no-wrap +msgid "@code{platforms} (default: @code{'()})" +msgstr "" + +#. type: table +#: doc/guix.texi:18339 +msgid "" +"The list of emulated QEMU platforms. Each item must be a @dfn{platform " +"object} as returned by @code{lookup-qemu-platforms} (see below)." +msgstr "" + +#. type: item +#: doc/guix.texi:18340 +#, no-wrap +msgid "@code{guix-support?} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:18346 +msgid "" +"When it is true, QEMU and all its dependencies are added to the build " +"environment of @command{guix-daemon} (@pxref{Invoking guix-daemon, " +"@code{--chroot-directory} option}). This allows the @code{binfmt_misc} " +"handlers to be used within the build environment, which in turn means that " +"you can transparently build programs for another architecture." +msgstr "" + +#. type: table +#: doc/guix.texi:18349 +msgid "" +"For example, let's suppose you're on an x86_64 machine and you have this " +"service:" +msgstr "" + +#. type: example +#: doc/guix.texi:18355 +#, no-wrap +msgid "" +"(service qemu-binfmt-service-type\n" +" (qemu-binfmt-configuration\n" +" (platforms (lookup-qemu-platforms \"arm\"))\n" +" (guix-support? #t)))\n" +msgstr "" + +#. type: table +#: doc/guix.texi:18358 +msgid "You can run:" +msgstr "" + +#. type: example +#: doc/guix.texi:18361 +#, no-wrap +msgid "guix build -s armhf-linux inkscape\n" +msgstr "" + +#. type: table +#: doc/guix.texi:18368 +msgid "" +"and it will build Inkscape for ARMv7 @emph{as if it were a native build}, " +"transparently using QEMU to emulate the ARMv7 CPU. Pretty handy if you'd " +"like to test a package build for an architecture you don't have access to!" +msgstr "" + +#. type: item +#: doc/guix.texi:18369 +#, no-wrap +msgid "@code{qemu} (default: @code{qemu})" +msgstr "" + +#. type: table +#: doc/guix.texi:18371 +msgid "The QEMU package to use." +msgstr "" + +#. type: deffn +#: doc/guix.texi:18374 +#, no-wrap +msgid "{Scheme Procedure} lookup-qemu-platforms @var{platforms}@dots{}" +msgstr "" + +#. type: deffn +#: doc/guix.texi:18379 +msgid "" +"Return the list of QEMU platform objects corresponding to " +"@var{platforms}@dots{}. @var{platforms} must be a list of strings " +"corresponding to platform names, such as @code{\"arm\"}, @code{\"sparc\"}, " +"@code{\"mips64el\"}, and so on." +msgstr "" + +#. type: deffn +#: doc/guix.texi:18381 +#, no-wrap +msgid "{Scheme Procedure} qemu-platform? @var{obj}" +msgstr "" + +#. type: deffn +#: doc/guix.texi:18383 +msgid "Return true if @var{obj} is a platform object." +msgstr "" + +#. type: deffn +#: doc/guix.texi:18385 +#, no-wrap +msgid "{Scheme Procedure} qemu-platform-name @var{platform}" +msgstr "" + +#. type: deffn +#: doc/guix.texi:18387 +msgid "Return the name of @var{platform}---a string such as @code{\"arm\"}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:18399 +msgid "" +"The @code{(gnu services version-control)} module provides a service to allow " +"remote access to local Git repositories. There are three options: the " +"@code{git-daemon-service}, which provides access to repositories via the " +"@code{git://} unsecured TCP-based protocol, extending the @code{nginx} web " +"server to proxy some requests to @code{git-http-backend}, or providing a web " +"interface with @code{cgit-service-type}." +msgstr "" + +#. type: deffn +#: doc/guix.texi:18400 +#, no-wrap +msgid "{Scheme Procedure} git-daemon-service [#:config (git-daemon-configuration)]" +msgstr "" + +#. type: deffn +#: doc/guix.texi:18404 +msgid "" +"Return a service that runs @command{git daemon}, a simple TCP server to " +"expose repositories over the Git protocol for anonymous access." +msgstr "" + +#. type: deffn +#: doc/guix.texi:18410 +msgid "" +"The optional @var{config} argument should be a " +"@code{<git-daemon-configuration>} object, by default it allows read-only " +"access to exported@footnote{By creating the magic file " +"\"git-daemon-export-ok\" in the repository directory.} repositories under " +"@file{/srv/git}." +msgstr "" + +#. type: deftp +#: doc/guix.texi:18413 +#, no-wrap +msgid "{Data Type} git-daemon-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:18415 +msgid "Data type representing the configuration for @code{git-daemon-service}." +msgstr "" + +#. type: item +#: doc/guix.texi:18417 doc/guix.texi:18473 +#, no-wrap +msgid "@code{package} (default: @var{git})" +msgstr "" + +#. type: table +#: doc/guix.texi:18419 doc/guix.texi:18475 +msgid "Package object of the Git distributed version control system." +msgstr "" + +#. type: item +#: doc/guix.texi:18420 doc/guix.texi:18479 +#, no-wrap +msgid "@code{export-all?} (default: @var{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:18423 +msgid "" +"Whether to allow access for all Git repositories, even if they do not have " +"the @file{git-daemon-export-ok} file." +msgstr "" + +#. type: item +#: doc/guix.texi:18424 +#, no-wrap +msgid "@code{base-path} (default: @file{/srv/git})" +msgstr "" + +#. type: table +#: doc/guix.texi:18429 +msgid "" +"Whether to remap all the path requests as relative to the given path. If " +"you run git daemon with @var{(base-path \"/srv/git\")} on example.com, then " +"if you later try to pull @code{git://example.com/hello.git}, git daemon will " +"interpret the path as @code{/srv/git/hello.git}." +msgstr "" + +#. type: item +#: doc/guix.texi:18430 +#, no-wrap +msgid "@code{user-path} (default: @var{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:18437 +msgid "" +"Whether to allow @code{~user} notation to be used in requests. When " +"specified with empty string, requests to @code{git://host/~alice/foo} is " +"taken as a request to access @code{foo} repository in the home directory of " +"user @code{alice}. If @var{(user-path \"path\")} is specified, the same " +"request is taken as a request to access @code{path/foo} repository in the " +"home directory of user @code{alice}." +msgstr "" + +#. type: item +#: doc/guix.texi:18438 +#, no-wrap +msgid "@code{listen} (default: @var{'()})" +msgstr "" + +#. type: table +#: doc/guix.texi:18441 +msgid "Whether to listen on specific IP addresses or hostnames, defaults to all." +msgstr "" + +#. type: item +#: doc/guix.texi:18442 +#, no-wrap +msgid "@code{port} (default: @var{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:18444 +msgid "Whether to listen on an alternative port, which defaults to 9418." +msgstr "" + +#. type: item +#: doc/guix.texi:18445 +#, no-wrap +msgid "@code{whitelist} (default: @var{'()})" +msgstr "" + +#. type: table +#: doc/guix.texi:18447 +msgid "If not empty, only allow access to this list of directories." +msgstr "" + +#. type: item +#: doc/guix.texi:18448 +#, no-wrap +msgid "@code{extra-options} (default: @var{'()})" +msgstr "" + +#. type: table +#: doc/guix.texi:18451 +msgid "" +"Extra options will be passed to @code{git daemon}, please run @command{man " +"git-daemon} for more information." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:18465 +msgid "" +"The @code{git://} protocol lacks authentication. When you pull from a " +"repository fetched via @code{git://}, you don't know that the data you " +"receive was modified is really coming from the specified host, and you have " +"your connection is subject to eavesdropping. It's better to use an " +"authenticated and encrypted transport, such as @code{https}. Although Git " +"allows you to serve repositories using unsophisticated file-based web " +"servers, there is a faster protocol implemented by the " +"@code{git-http-backend} program. This program is the back-end of a proper " +"Git web service. It is designed to sit behind a FastCGI proxy. @xref{Web " +"Services}, for more on running the necessary @code{fcgiwrap} daemon." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:18468 +msgid "" +"Guix has a separate configuration data type for serving Git repositories " +"over HTTP." +msgstr "" + +#. type: deftp +#: doc/guix.texi:18469 +#, no-wrap +msgid "{Data Type} git-http-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:18471 +msgid "Data type representing the configuration for @code{git-http-service}." +msgstr "" + +#. type: item +#: doc/guix.texi:18476 +#, no-wrap +msgid "@code{git-root} (default: @file{/srv/git})" +msgstr "" + +#. type: table +#: doc/guix.texi:18478 +msgid "Directory containing the Git repositories to expose to the world." +msgstr "" + +#. type: table +#: doc/guix.texi:18482 +msgid "" +"Whether to expose access for all Git repositories in @var{git-root}, even if " +"they do not have the @file{git-daemon-export-ok} file." +msgstr "" + +#. type: item +#: doc/guix.texi:18483 +#, no-wrap +msgid "@code{uri-path} (default: @file{/git/})" +msgstr "" + +#. type: table +#: doc/guix.texi:18488 +msgid "" +"Path prefix for Git access. With the default @code{/git/} prefix, this will " +"map @code{http://@var{server}/git/@var{repo}.git} to " +"@code{/srv/git/@var{repo}.git}. Requests whose URI paths do not begin with " +"this prefix are not passed on to this Git instance." +msgstr "" + +#. type: item +#: doc/guix.texi:18489 +#, no-wrap +msgid "@code{fcgiwrap-socket} (default: @code{127.0.0.1:9000})" +msgstr "" + +#. type: table +#: doc/guix.texi:18492 +msgid "" +"The socket on which the @code{fcgiwrap} daemon is listening. @xref{Web " +"Services}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:18499 +msgid "" +"There is no @code{git-http-service-type}, currently; instead you can create " +"an @code{nginx-location-configuration} from a @code{git-http-configuration} " +"and then add that location to a web server." +msgstr "" + +#. type: deffn +#: doc/guix.texi:18500 +#, no-wrap +msgid "{Scheme Procedure} git-http-nginx-location-configuration @" +msgstr "" + +#. type: deffn +#: doc/guix.texi:18505 +msgid "" +"[config=(git-http-configuration)] Compute an " +"@code{nginx-location-configuration} that corresponds to the given Git http " +"configuration. An example nginx service definition to serve the default " +"@file{/srv/git} over HTTPS might be:" +msgstr "" + +#. type: example +#: doc/guix.texi:18522 +#, no-wrap +msgid "" +"(service nginx-service-type\n" +" (nginx-configuration\n" +" (server-blocks\n" +" (list\n" +" (nginx-server-configuration\n" +" (listen '(\"443 ssl\"))\n" +" (server-name \"git.my-host.org\")\n" +" (ssl-certificate\n" +" \"/etc/letsencrypt/live/git.my-host.org/fullchain.pem\")\n" +" (ssl-certificate-key\n" +" \"/etc/letsencrypt/live/git.my-host.org/privkey.pem\")\n" +" (locations\n" +" (list\n" +" (git-http-nginx-location-configuration\n" +" (git-http-configuration (uri-path \"/\"))))))))))\n" +msgstr "" + +#. type: deffn +#: doc/guix.texi:18529 +msgid "" +"This example assumes that you are using Let's Encrypt to get your TLS " +"certificate. @xref{Certificate Services}. The default @code{certbot} " +"service will redirect all HTTP traffic on @code{git.my-host.org} to HTTPS. " +"You will also need to add an @code{fcgiwrap} proxy to your system services. " +"@xref{Web Services}." +msgstr "" + +#. type: subsubheading +#: doc/guix.texi:18531 +#, no-wrap +msgid "Cgit Service" +msgstr "" + +#. type: cindex +#: doc/guix.texi:18533 +#, no-wrap +msgid "Cgit service" +msgstr "" + +#. type: cindex +#: doc/guix.texi:18534 +#, no-wrap +msgid "Git, web interface" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:18537 +msgid "" +"@uref{https://git.zx2c4.com/cgit/, Cgit} is a web frontend for Git " +"repositories written in C." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:18540 +msgid "" +"The following example will configure the service with default values. By " +"default, Cgit can be accessed on port 80 (@code{http://localhost:80})." +msgstr "" + +#. type: example +#: doc/guix.texi:18543 +#, no-wrap +msgid "(service cgit-service-type)\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:18547 +msgid "" +"The @code{file-object} type designates either a file-like object " +"(@pxref{G-Expressions, file-like objects}) or a string." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:18551 +msgid "Available @code{cgit-configuration} fields are:" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18552 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} package package" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18554 +msgid "The CGIT package." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18557 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} nginx-server-configuration-list nginx" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18559 +msgid "NGINX configuration." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18562 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} file-object about-filter" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18565 +msgid "" +"Specifies a command which will be invoked to format the content of about " +"pages (both top-level and for each repository)." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18570 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} string agefile" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18573 +msgid "" +"Specifies a path, relative to each repository path, which can be used to " +"specify the date and time of the youngest commit in the repository." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18578 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} file-object auth-filter" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18581 +msgid "" +"Specifies a command that will be invoked for authenticating repository " +"access." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18586 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} string branch-sort" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18589 +msgid "" +"Flag which, when set to @samp{age}, enables date ordering in the branch ref " +"list, and when set @samp{name} enables ordering by branch name." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18591 +msgid "Defaults to @samp{\"name\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18594 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} string cache-root" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18596 +msgid "Path used to store the cgit cache entries." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18598 +msgid "Defaults to @samp{\"/var/cache/cgit\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18601 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} integer cache-static-ttl" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18604 +msgid "" +"Number which specifies the time-to-live, in minutes, for the cached version " +"of repository pages accessed with a fixed SHA1." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18606 doc/guix.texi:19049 +msgid "Defaults to @samp{-1}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18609 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} integer cache-dynamic-ttl" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18612 +msgid "" +"Number which specifies the time-to-live, in minutes, for the cached version " +"of repository pages accessed without a fixed SHA1." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18617 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} integer cache-repo-ttl" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18620 +msgid "" +"Number which specifies the time-to-live, in minutes, for the cached version " +"of the repository summary page." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18625 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} integer cache-root-ttl" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18628 +msgid "" +"Number which specifies the time-to-live, in minutes, for the cached version " +"of the repository index page." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18633 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} integer cache-scanrc-ttl" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18636 +msgid "" +"Number which specifies the time-to-live, in minutes, for the result of " +"scanning a path for Git repositories." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18641 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} integer cache-about-ttl" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18644 +msgid "" +"Number which specifies the time-to-live, in minutes, for the cached version " +"of the repository about page." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18649 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} integer cache-snapshot-ttl" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18652 +msgid "" +"Number which specifies the time-to-live, in minutes, for the cached version " +"of snapshots." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18657 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} integer cache-size" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18660 +msgid "" +"The maximum number of entries in the cgit cache. When set to @samp{0}, " +"caching is disabled." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18665 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} boolean case-sensitive-sort?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18667 +msgid "Sort items in the repo list case sensitively." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18672 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} list clone-prefix" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18675 +msgid "" +"List of common prefixes which, when combined with a repository URL, " +"generates valid clone URLs for the repository." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18680 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} list clone-url" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18682 +msgid "List of @code{clone-url} templates." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18687 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} file-object commit-filter" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18689 +msgid "Command which will be invoked to format commit messages." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18694 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} string commit-sort" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18698 doc/guix.texi:19256 +msgid "" +"Flag which, when set to @samp{date}, enables strict date ordering in the " +"commit log, and when set to @samp{topo} enables strict topological ordering." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18700 +msgid "Defaults to @samp{\"git log\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18703 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} file-object css" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18705 +msgid "URL which specifies the css document to include in all cgit pages." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18707 +msgid "Defaults to @samp{\"/share/cgit/cgit.css\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18710 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} file-object email-filter" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18714 +msgid "" +"Specifies a command which will be invoked to format names and email address " +"of committers, authors, and taggers, as represented in various places " +"throughout the cgit interface." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18719 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} boolean embedded?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18722 +msgid "" +"Flag which, when set to @samp{#t}, will make cgit generate a HTML fragment " +"suitable for embedding in other HTML pages." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18727 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} boolean enable-commit-graph?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18731 +msgid "" +"Flag which, when set to @samp{#t}, will make cgit print an ASCII-art commit " +"history graph to the left of the commit messages in the repository log page." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18736 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} boolean enable-filter-overrides?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18739 +msgid "" +"Flag which, when set to @samp{#t}, allows all filter settings to be " +"overridden in repository-specific cgitrc files." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18744 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} boolean enable-follow-links?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18747 +msgid "" +"Flag which, when set to @samp{#t}, allows users to follow a file in the log " +"view." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18752 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} boolean enable-http-clone?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18755 +msgid "If set to @samp{#t}, cgit will act as an dumb HTTP endpoint for Git clones." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18760 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} boolean enable-index-links?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18763 +msgid "" +"Flag which, when set to @samp{#t}, will make cgit generate extra links " +"\"summary\", \"commit\", \"tree\" for each repo in the repository index." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18768 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} boolean enable-index-owner?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18771 +msgid "" +"Flag which, when set to @samp{#t}, will make cgit display the owner of each " +"repo in the repository index." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18776 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} boolean enable-log-filecount?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18779 +msgid "" +"Flag which, when set to @samp{#t}, will make cgit print the number of " +"modified files for each commit on the repository log page." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18784 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} boolean enable-log-linecount?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18787 +msgid "" +"Flag which, when set to @samp{#t}, will make cgit print the number of added " +"and removed lines for each commit on the repository log page." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18792 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} boolean enable-remote-branches?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18795 doc/guix.texi:19319 +msgid "" +"Flag which, when set to @code{#t}, will make cgit display remote branches in " +"the summary and refs views." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18800 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} boolean enable-subject-links?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18804 +msgid "" +"Flag which, when set to @code{1}, will make cgit use the subject of the " +"parent commit as link text when generating links to parent commits in commit " +"view." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18809 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} boolean enable-html-serving?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18813 +msgid "" +"Flag which, when set to @samp{#t}, will make cgit use the subject of the " +"parent commit as link text when generating links to parent commits in commit " +"view." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18818 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} boolean enable-tree-linenumbers?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18821 +msgid "" +"Flag which, when set to @samp{#t}, will make cgit generate linenumber links " +"for plaintext blobs printed in the tree view." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18826 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} boolean enable-git-config?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18829 +msgid "" +"Flag which, when set to @samp{#f}, will allow cgit to use Git config to set " +"any repo specific settings." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18834 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} file-object favicon" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18836 +msgid "URL used as link to a shortcut icon for cgit." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18838 +msgid "Defaults to @samp{\"/favicon.ico\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18841 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} string footer" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18845 +msgid "" +"The content of the file specified with this option will be included verbatim " +"at the bottom of all pages (i.e. it replaces the standard \"generated " +"by...\" message)." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18850 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} string head-include" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18853 +msgid "" +"The content of the file specified with this option will be included verbatim " +"in the HTML HEAD section on all pages." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18858 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} string header" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18861 +msgid "" +"The content of the file specified with this option will be included verbatim " +"at the top of all pages." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18866 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} file-object include" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18869 +msgid "" +"Name of a configfile to include before the rest of the current config- file " +"is parsed." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18874 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} string index-header" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18877 +msgid "" +"The content of the file specified with this option will be included verbatim " +"above the repository index." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18882 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} string index-info" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18885 +msgid "" +"The content of the file specified with this option will be included verbatim " +"below the heading on the repository index page." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18890 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} boolean local-time?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18893 +msgid "" +"Flag which, if set to @samp{#t}, makes cgit print commit and tag times in " +"the servers timezone." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18898 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} file-object logo" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18901 +msgid "" +"URL which specifies the source of an image which will be used as a logo on " +"all cgit pages." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18903 +msgid "Defaults to @samp{\"/share/cgit/cgit.png\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18906 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} string logo-link" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18908 doc/guix.texi:19365 +msgid "URL loaded when clicking on the cgit logo image." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18913 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} file-object owner-filter" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18916 +msgid "Command which will be invoked to format the Owner column of the main page." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18921 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} integer max-atom-items" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18923 +msgid "Number of items to display in atom feeds view." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18925 doc/guix.texi:19160 doc/guix.texi:19168 doc/guix.texi:19176 +msgid "Defaults to @samp{10}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18928 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} integer max-commit-count" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18930 +msgid "Number of entries to list per page in \"log\" view." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18932 doc/guix.texi:18947 +msgid "Defaults to @samp{50}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18935 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} integer max-message-length" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18937 +msgid "Number of commit message characters to display in \"log\" view." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18939 doc/guix.texi:18955 +msgid "Defaults to @samp{80}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18942 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} integer max-repo-count" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18945 +msgid "" +"Specifies the number of entries to list per page on the repository index " +"page." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18950 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} integer max-repodesc-length" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18953 +msgid "" +"Specifies the maximum number of repo description characters to display on " +"the repository index page." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18958 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} integer max-blob-size" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18960 +msgid "Specifies the maximum size of a blob to display HTML for in KBytes." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18965 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} string max-stats" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18968 +msgid "" +"Maximum statistics period. Valid values are @samp{week},@samp{month}, " +"@samp{quarter} and @samp{year}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18973 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} mimetype-alist mimetype" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18975 +msgid "Mimetype for the specified filename extension." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18979 +msgid "" +"Defaults to @samp{((gif \"image/gif\") (html \"text/html\") (jpg " +"\"image/jpeg\") (jpeg \"image/jpeg\") (pdf \"application/pdf\") (png " +"\"image/png\") (svg \"image/svg+xml\"))}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18982 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} file-object mimetype-file" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18984 +msgid "Specifies the file to use for automatic mimetype lookup." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18989 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} string module-link" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18992 +msgid "" +"Text which will be used as the formatstring for a hyperlink when a submodule " +"is printed in a directory listing." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18997 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} boolean nocache?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:18999 +msgid "If set to the value @samp{#t} caching will be disabled." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19004 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} boolean noplainemail?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19007 +msgid "If set to @samp{#t} showing full author email addresses will be disabled." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19012 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} boolean noheader?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19015 +msgid "" +"Flag which, when set to @samp{#t}, will make cgit omit the standard header " +"on all pages." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19020 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} list project-list" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19024 +msgid "" +"A list of subdirectories inside of @code{repository-directory}, relative to " +"it, that should loaded as Git repositories. An empty list means that all " +"subdirectories will be loaded." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19029 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} file-object readme" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19031 +msgid "Text which will be used as default value for @code{cgit-repo-readme}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19036 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} boolean remove-suffix?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19040 +msgid "" +"If set to @code{#t} and @code{repository-directory} is enabled, if any " +"repositories are found with a suffix of @code{.git}, this suffix will be " +"removed for the URL and name." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19045 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} integer renamelimit" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19047 +msgid "Maximum number of files to consider when detecting renames." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19052 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} string repository-sort" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19054 +msgid "The way in which repositories in each section are sorted." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19059 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} robots-list robots" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19061 +msgid "Text used as content for the @code{robots} meta-tag." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19063 +msgid "Defaults to @samp{(\"noindex\" \"nofollow\")}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19066 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} string root-desc" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19068 +msgid "Text printed below the heading on the repository index page." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19070 +msgid "Defaults to @samp{\"a fast webinterface for the git dscm\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19073 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} string root-readme" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19076 +msgid "" +"The content of the file specified with this option will be included verbatim " +"below thef \"about\" link on the repository index page." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19081 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} string root-title" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19083 +msgid "Text printed as heading on the repository index page." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19088 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} boolean scan-hidden-path" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19094 +msgid "" +"If set to @samp{#t} and repository-directory is enabled, " +"repository-directory will recurse into directories whose name starts with a " +"period. Otherwise, repository-directory will stay away from such " +"directories, considered as \"hidden\". Note that this does not apply to the " +"\".git\" directory in non-bare repos." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19099 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} list snapshots" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19102 +msgid "" +"Text which specifies the default set of snapshot formats that cgit generates " +"links for." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19107 +#, no-wrap +msgid "" +"{@code{cgit-configuration} parameter} repository-directory " +"repository-directory" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19110 +msgid "" +"Name of the directory to scan for repositories (represents " +"@code{scan-path})." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19112 +msgid "Defaults to @samp{\"/srv/git\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19115 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} string section" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19118 doc/guix.texi:19434 +msgid "" +"The name of the current repository section - all repositories defined after " +"this option will inherit the current section name." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19123 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} string section-sort" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19126 +msgid "" +"Flag which, when set to @samp{1}, will sort the sections on the repository " +"listing by name." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19131 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} integer section-from-path" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19134 +msgid "" +"A number which, if defined prior to repository-directory, specifies how many " +"path elements from each repo path to use as a default section name." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19139 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} boolean side-by-side-diffs?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19142 +msgid "" +"If set to @samp{#t} shows side-by-side diffs instead of unidiffs per " +"default." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19147 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} file-object source-filter" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19150 +msgid "" +"Specifies a command which will be invoked to format plaintext blobs in the " +"tree view." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19155 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} integer summary-branches" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19158 +msgid "" +"Specifies the number of branches to display in the repository \"summary\" " +"view." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19163 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} integer summary-log" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19166 +msgid "" +"Specifies the number of log entries to display in the repository \"summary\" " +"view." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19171 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} integer summary-tags" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19174 +msgid "Specifies the number of tags to display in the repository \"summary\" view." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19179 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} string strict-export" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19182 +msgid "" +"Filename which, if specified, needs to be present within the repository for " +"cgit to allow access to that repository." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19187 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} string virtual-root" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19189 +msgid "URL which, if specified, will be used as root for all cgit links." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19191 +msgid "Defaults to @samp{\"/\"}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19194 +#, no-wrap +msgid "" +"{@code{cgit-configuration} parameter} repository-cgit-configuration-list " +"repositories" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19196 +msgid "A list of @dfn{cgit-repo} records to use with config." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19200 +msgid "Available @code{repository-cgit-configuration} fields are:" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19201 +#, no-wrap +msgid "{@code{repository-cgit-configuration} parameter} repo-list snapshots" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19204 +msgid "" +"A mask of snapshot formats for this repo that cgit generates links for, " +"restricted by the global @code{snapshots} setting." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19209 +#, no-wrap +msgid "" +"{@code{repository-cgit-configuration} parameter} repo-file-object " +"source-filter" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19211 +msgid "Override the default @code{source-filter}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19216 +#, no-wrap +msgid "{@code{repository-cgit-configuration} parameter} repo-string url" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19218 +msgid "The relative URL used to access the repository." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19223 +#, no-wrap +msgid "" +"{@code{repository-cgit-configuration} parameter} repo-file-object " +"about-filter" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19225 +msgid "Override the default @code{about-filter}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19230 +#, no-wrap +msgid "{@code{repository-cgit-configuration} parameter} repo-string branch-sort" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19233 +msgid "" +"Flag which, when set to @samp{age}, enables date ordering in the branch ref " +"list, and when set to @samp{name} enables ordering by branch name." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19238 +#, no-wrap +msgid "{@code{repository-cgit-configuration} parameter} repo-list clone-url" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19240 +msgid "A list of URLs which can be used to clone repo." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19245 +#, no-wrap +msgid "" +"{@code{repository-cgit-configuration} parameter} repo-file-object " +"commit-filter" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19247 +msgid "Override the default @code{commit-filter}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19252 +#, no-wrap +msgid "{@code{repository-cgit-configuration} parameter} repo-string commit-sort" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19261 +#, no-wrap +msgid "{@code{repository-cgit-configuration} parameter} repo-string defbranch" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19266 +msgid "" +"The name of the default branch for this repository. If no such branch " +"exists in the repository, the first branch name (when sorted) is used as " +"default instead. By default branch pointed to by HEAD, or \"master\" if " +"there is no suitable HEAD." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19271 +#, no-wrap +msgid "{@code{repository-cgit-configuration} parameter} repo-string desc" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19273 +msgid "The value to show as repository description." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19278 +#, no-wrap +msgid "{@code{repository-cgit-configuration} parameter} repo-string homepage" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19280 +msgid "The value to show as repository homepage." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19285 +#, no-wrap +msgid "" +"{@code{repository-cgit-configuration} parameter} repo-file-object " +"email-filter" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19287 +msgid "Override the default @code{email-filter}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19292 +#, no-wrap +msgid "" +"{@code{repository-cgit-configuration} parameter} repo-boolean " +"enable-commit-graph?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19295 +msgid "" +"A flag which can be used to disable the global setting " +"@code{enable-commit-graph?}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19300 +#, no-wrap +msgid "" +"{@code{repository-cgit-configuration} parameter} repo-boolean " +"enable-log-filecount?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19303 +msgid "" +"A flag which can be used to disable the global setting " +"@code{enable-log-filecount?}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19308 +#, no-wrap +msgid "" +"{@code{repository-cgit-configuration} parameter} repo-boolean " +"enable-log-linecount?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19311 +msgid "" +"A flag which can be used to disable the global setting " +"@code{enable-log-linecount?}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19316 +#, no-wrap +msgid "" +"{@code{repository-cgit-configuration} parameter} repo-boolean " +"enable-remote-branches?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19324 +#, no-wrap +msgid "" +"{@code{repository-cgit-configuration} parameter} repo-boolean " +"enable-subject-links?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19327 +msgid "" +"A flag which can be used to override the global setting " +"@code{enable-subject-links?}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19332 +#, no-wrap +msgid "" +"{@code{repository-cgit-configuration} parameter} repo-boolean " +"enable-html-serving?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19335 +msgid "" +"A flag which can be used to override the global setting " +"@code{enable-html-serving?}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19340 +#, no-wrap +msgid "{@code{repository-cgit-configuration} parameter} repo-boolean hide?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19343 +msgid "" +"Flag which, when set to @code{#t}, hides the repository from the repository " +"index." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19348 +#, no-wrap +msgid "{@code{repository-cgit-configuration} parameter} repo-boolean ignore?" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19350 +msgid "Flag which, when set to @samp{#t}, ignores the repository." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19355 +#, no-wrap +msgid "{@code{repository-cgit-configuration} parameter} repo-file-object logo" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19358 +msgid "" +"URL which specifies the source of an image which will be used as a logo on " +"this repo’s pages." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19363 +#, no-wrap +msgid "{@code{repository-cgit-configuration} parameter} repo-string logo-link" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19370 +#, no-wrap +msgid "" +"{@code{repository-cgit-configuration} parameter} repo-file-object " +"owner-filter" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19372 +msgid "Override the default @code{owner-filter}." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19377 +#, no-wrap +msgid "{@code{repository-cgit-configuration} parameter} repo-string module-link" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19381 +msgid "" +"Text which will be used as the formatstring for a hyperlink when a submodule " +"is printed in a directory listing. The arguments for the formatstring are " +"the path and SHA1 of the submodule commit." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19386 +#, no-wrap +msgid "" +"{@code{repository-cgit-configuration} parameter} module-link-path " +"module-link-path" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19390 +msgid "" +"Text which will be used as the formatstring for a hyperlink when a submodule " +"with the specified subdirectory path is printed in a directory listing." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19395 +#, no-wrap +msgid "{@code{repository-cgit-configuration} parameter} repo-string max-stats" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19397 +msgid "Override the default maximum statistics period." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19402 +#, no-wrap +msgid "{@code{repository-cgit-configuration} parameter} repo-string name" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19404 +msgid "The value to show as repository name." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19409 +#, no-wrap +msgid "{@code{repository-cgit-configuration} parameter} repo-string owner" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19411 +msgid "A value used to identify the owner of the repository." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19416 +#, no-wrap +msgid "{@code{repository-cgit-configuration} parameter} repo-string path" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19418 +msgid "An absolute path to the repository directory." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19423 +#, no-wrap +msgid "{@code{repository-cgit-configuration} parameter} repo-string readme" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19426 +msgid "" +"A path (relative to repo) which specifies a file to include verbatim as the " +"\"About\" page for this repo." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19431 +#, no-wrap +msgid "{@code{repository-cgit-configuration} parameter} repo-string section" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19439 +#, no-wrap +msgid "{@code{repository-cgit-configuration} parameter} repo-list extra-options" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19441 doc/guix.texi:19450 +msgid "Extra options will be appended to cgitrc file." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19448 +#, no-wrap +msgid "{@code{cgit-configuration} parameter} list extra-options" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:19462 +msgid "" +"However, it could be that you just want to get a @code{cgitrc} up and " +"running. In that case, you can pass an @code{opaque-cgit-configuration} as " +"a record to @code{cgit-service-type}. As its name indicates, an opaque " +"configuration does not have easy reflective capabilities." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:19464 +msgid "Available @code{opaque-cgit-configuration} fields are:" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19465 +#, no-wrap +msgid "{@code{opaque-cgit-configuration} parameter} package cgit" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19467 +msgid "The cgit package." +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19469 +#, no-wrap +msgid "{@code{opaque-cgit-configuration} parameter} string string" +msgstr "" + +#. type: deftypevr +#: doc/guix.texi:19471 +msgid "The contents of the @code{cgitrc}, as a string." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:19475 +msgid "" +"For example, if your @code{cgitrc} is just the empty string, you could " +"instantiate a cgit service like this:" +msgstr "" + +#. type: example +#: doc/guix.texi:19480 +#, no-wrap +msgid "" +"(service cgit-service-type\n" +" (opaque-cgit-configuration\n" +" (cgitrc \"\")))\n" +msgstr "" + +#. type: subsubheading +#: doc/guix.texi:19486 +#, no-wrap +msgid "The Battle for Wesnoth Service" +msgstr "" + +#. type: cindex +#: doc/guix.texi:19487 +#, no-wrap +msgid "wesnothd" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:19491 +msgid "" +"@uref{https://wesnoth.org, The Battle for Wesnoth} is a fantasy, turn based " +"tactical strategy game, with several single player campaigns, and " +"multiplayer games (both networked and local)." +msgstr "" + +#. type: defvar +#: doc/guix.texi:19492 +#, no-wrap +msgid "{Scheme Variable} wesnothd-service-type" +msgstr "" + +#. type: defvar +#: doc/guix.texi:19496 +msgid "" +"Service type for the wesnothd service. Its value must be a " +"@code{wesnothd-configuration} object. To run wesnothd in the default " +"configuration, instantiate it as:" +msgstr "" + +#. type: example +#: doc/guix.texi:19499 +#, no-wrap +msgid "(service wesnothd-service-type)\n" +msgstr "" + +#. type: deftp +#: doc/guix.texi:19502 +#, no-wrap +msgid "{Data Type} wesnothd-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:19504 +msgid "Data type representing the configuration of @command{wesnothd}." +msgstr "" + +#. type: item +#: doc/guix.texi:19506 +#, no-wrap +msgid "@code{package} (default: @code{wesnoth-server})" +msgstr "" + +#. type: table +#: doc/guix.texi:19508 +msgid "The wesnoth server package to use." +msgstr "" + +#. type: item +#: doc/guix.texi:19509 +#, no-wrap +msgid "@code{port} (default: @code{15000})" +msgstr "" + +#. type: table +#: doc/guix.texi:19511 +msgid "The port to bind the server to." +msgstr "" + +#. type: cindex +#: doc/guix.texi:19517 +#, no-wrap +msgid "sysctl" +msgstr "" + +#. type: subsubheading +#: doc/guix.texi:19518 +#, no-wrap +msgid "System Control Service" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:19522 +msgid "" +"The @code{(gnu services sysctl)} provides a service to configure kernel " +"parameters at boot." +msgstr "" + +#. type: defvr +#: doc/guix.texi:19523 +#, no-wrap +msgid "{Scheme Variable} sysctl-service-type" +msgstr "" + +#. type: defvr +#: doc/guix.texi:19527 +msgid "" +"The service type for @command{sysctl}, which modifies kernel parameters " +"under @file{/proc/sys/}. To enable IPv4 forwarding, it can be instantiated " +"as:" +msgstr "" + +#. type: example +#: doc/guix.texi:19532 +#, no-wrap +msgid "" +"(service sysctl-service-type\n" +" (sysctl-configuration\n" +" (settings '((\"net.ipv4.ip_forward\" . \"1\")))))\n" +msgstr "" + +#. type: deftp +#: doc/guix.texi:19535 +#, no-wrap +msgid "{Data Type} sysctl-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:19537 +msgid "The data type representing the configuration of @command{sysctl}." +msgstr "" + +#. type: item +#: doc/guix.texi:19539 +#, no-wrap +msgid "@code{sysctl} (default: @code{(file-append procps \"/sbin/sysctl\"})" +msgstr "" + +#. type: table +#: doc/guix.texi:19541 +msgid "The @command{sysctl} executable to use." +msgstr "" + +#. type: item +#: doc/guix.texi:19542 +#, no-wrap +msgid "@code{settings} (default: @code{'()})" +msgstr "" + +#. type: table +#: doc/guix.texi:19544 +msgid "An association list specifies kernel parameters and their values." +msgstr "" + +#. type: cindex +#: doc/guix.texi:19547 +#, no-wrap +msgid "lirc" +msgstr "" + +#. type: subsubheading +#: doc/guix.texi:19548 +#, no-wrap +msgid "Lirc Service" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:19551 +msgid "The @code{(gnu services lirc)} module provides the following service." +msgstr "" + +#. type: deffn +#: doc/guix.texi:19552 +#, no-wrap +msgid "{Scheme Procedure} lirc-service [#:lirc lirc] @" +msgstr "" + +#. type: deffn +#: doc/guix.texi:19557 +msgid "" +"[#:device #f] [#:driver #f] [#:config-file #f] @ [#:extra-options '()] " +"Return a service that runs @url{http://www.lirc.org,LIRC}, a daemon that " +"decodes infrared signals from remote controls." +msgstr "" + +#. type: deffn +#: doc/guix.texi:19561 +msgid "" +"Optionally, @var{device}, @var{driver} and @var{config-file} (configuration " +"file name) may be specified. See @command{lircd} manual for details." +msgstr "" + +#. type: deffn +#: doc/guix.texi:19564 +msgid "" +"Finally, @var{extra-options} is a list of additional command-line options " +"passed to @command{lircd}." +msgstr "" + +#. type: cindex +#: doc/guix.texi:19566 +#, no-wrap +msgid "spice" +msgstr "" + +#. type: subsubheading +#: doc/guix.texi:19567 +#, no-wrap +msgid "Spice Service" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:19570 +msgid "The @code{(gnu services spice)} module provides the following service." +msgstr "" + +#. type: deffn +#: doc/guix.texi:19571 +#, no-wrap +msgid "{Scheme Procedure} spice-vdagent-service [#:spice-vdagent]" +msgstr "" + +#. type: deffn +#: doc/guix.texi:19575 +msgid "" +"Returns a service that runs @url{http://www.spice-space.org,VDAGENT}, a " +"daemon that enables sharing the clipboard with a vm and setting the guest " +"display resolution when the graphical console window resizes." +msgstr "" + +#. type: subsubsection +#: doc/guix.texi:19577 +#, no-wrap +msgid "Dictionary Services" +msgstr "" + +#. type: cindex +#: doc/guix.texi:19578 +#, no-wrap +msgid "dictionary" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:19580 +msgid "The @code{(gnu services dict)} module provides the following service:" +msgstr "" + +#. type: deffn +#: doc/guix.texi:19581 +#, no-wrap +msgid "{Scheme Procedure} dicod-service [#:config (dicod-configuration)]" +msgstr "" + +#. type: deffn +#: doc/guix.texi:19584 +msgid "" +"Return a service that runs the @command{dicod} daemon, an implementation of " +"DICT server (@pxref{Dicod,,, dico, GNU Dico Manual})." +msgstr "" + +#. type: deffn +#: doc/guix.texi:19588 +msgid "" +"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." +msgstr "" + +#. type: deffn +#: doc/guix.texi:19592 +msgid "" +"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})." +msgstr "" + +#. type: deftp +#: doc/guix.texi:19594 +#, no-wrap +msgid "{Data Type} dicod-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:19596 +msgid "Data type representing the configuration of dicod." +msgstr "" + +#. type: item +#: doc/guix.texi:19598 +#, no-wrap +msgid "@code{dico} (default: @var{dico})" +msgstr "" + +#. type: table +#: doc/guix.texi:19600 +msgid "Package object of the GNU Dico dictionary server." +msgstr "" + +#. type: item +#: doc/guix.texi:19601 +#, no-wrap +msgid "@code{interfaces} (default: @var{'(\"localhost\")})" +msgstr "" + +#. type: table +#: doc/guix.texi:19605 +msgid "" +"This is the list of IP addresses and ports and possibly socket file names to " +"listen to (@pxref{Server Settings, @code{listen} directive,, dico, GNU Dico " +"Manual})." +msgstr "" + +#. type: item +#: doc/guix.texi:19606 +#, no-wrap +msgid "@code{handlers} (default: @var{'()})" +msgstr "" + +#. type: table +#: doc/guix.texi:19608 +msgid "List of @code{<dicod-handler>} objects denoting handlers (module instances)." +msgstr "" + +#. type: item +#: doc/guix.texi:19609 +#, no-wrap +msgid "@code{databases} (default: @var{(list %dicod-database:gcide)})" +msgstr "" + +#. type: table +#: doc/guix.texi:19611 +msgid "List of @code{<dicod-database>} objects denoting dictionaries to be served." +msgstr "" + +#. type: deftp +#: doc/guix.texi:19614 +#, no-wrap +msgid "{Data Type} dicod-handler" +msgstr "" + +#. type: deftp +#: doc/guix.texi:19616 +msgid "Data type representing a dictionary handler (module instance)." +msgstr "" + +#. type: table +#: doc/guix.texi:19620 +msgid "Name of the handler (module instance)." +msgstr "" + +#. type: item +#: doc/guix.texi:19621 +#, no-wrap +msgid "@code{module} (default: @var{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:19625 +msgid "" +"Name of the dicod module of the handler (instance). If it is @code{#f}, the " +"module has the same name as the handler. (@pxref{Modules,,, dico, GNU Dico " +"Manual})." +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:19626 doc/guix.texi:19646 +#, no-wrap +msgid "options" +msgstr "" + +#. type: table +#: doc/guix.texi:19628 +msgid "List of strings or gexps representing the arguments for the module handler" +msgstr "" + +#. type: deftp +#: doc/guix.texi:19631 +#, no-wrap +msgid "{Data Type} dicod-database" +msgstr "" + +#. type: deftp +#: doc/guix.texi:19633 +msgid "Data type representing a dictionary database." +msgstr "" + +#. type: table +#: doc/guix.texi:19637 +msgid "Name of the database, will be used in DICT commands." +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:19638 +#, no-wrap +msgid "handler" +msgstr "" + +#. type: table +#: doc/guix.texi:19641 +msgid "" +"Name of the dicod handler (module instance) used by this database " +"(@pxref{Handlers,,, dico, GNU Dico Manual})." +msgstr "" + +#. type: item +#: doc/guix.texi:19642 +#, no-wrap +msgid "@code{complex?} (default: @var{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:19645 +msgid "" +"Whether the database configuration complex. The complex configuration will " +"need a corresponding @code{<dicod-handler>} object, otherwise not." +msgstr "" + +#. type: table +#: doc/guix.texi:19649 +msgid "" +"List of strings or gexps representing the arguments for the database " +"(@pxref{Databases,,, dico, GNU Dico Manual})." +msgstr "" + +#. type: defvr +#: doc/guix.texi:19652 +#, no-wrap +msgid "{Scheme Variable} %dicod-database:gcide" +msgstr "" + +#. type: defvr +#: doc/guix.texi:19655 +msgid "" +"A @code{<dicod-database>} object serving the GNU Collaborative International " +"Dictionary of English using the @code{gcide} package." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:19658 +msgid "The following is an example @code{dicod-service} configuration." +msgstr "" + +#. type: example +#: doc/guix.texi:19673 +#, no-wrap +msgid "" +"(dicod-service #:config\n" +" (dicod-configuration\n" +" (handlers (list (dicod-handler\n" +" (name \"wordnet\")\n" +" (module \"dictorg\")\n" +" (options\n" +" (list #~(string-append \"dbdir=\" #$wordnet))))))\n" +" (databases (list (dicod-database\n" +" (name \"wordnet\")\n" +" (complex? #t)\n" +" (handler \"wordnet\")\n" +" (options '(\"database=wn\")))\n" +" %dicod-database:gcide))))\n" +msgstr "" + +#. type: cindex +#: doc/guix.texi:19678 +#, no-wrap +msgid "setuid programs" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:19688 +msgid "" +"Some programs need to run with ``root'' privileges, even when they are " +"launched by unprivileged users. A notorious example is the @command{passwd} " +"program, which users can run to change their password, and which needs to " +"access the @file{/etc/passwd} and @file{/etc/shadow} files---something " +"normally restricted to root, for obvious security reasons. To address that, " +"these executables are @dfn{setuid-root}, meaning that they always run with " +"root privileges (@pxref{How Change Persona,,, libc, The GNU C Library " +"Reference Manual}, for more info about the setuid mechanism.)" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:19695 +msgid "" +"The store itself @emph{cannot} contain setuid programs: that would be a " +"security issue since any user on the system can write derivations that " +"populate the store (@pxref{The Store}). Thus, a different mechanism is " +"used: instead of changing the setuid bit directly on files that are in the " +"store, we let the system administrator @emph{declare} which programs should " +"be setuid root." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:19701 +msgid "" +"The @code{setuid-programs} field of an @code{operating-system} declaration " +"contains a list of G-expressions denoting the names of programs to be " +"setuid-root (@pxref{Using the Configuration System}). For instance, the " +"@command{passwd} program, which is part of the Shadow package, can be " +"designated by this G-expression (@pxref{G-Expressions}):" +msgstr "" + +#. type: example +#: doc/guix.texi:19704 +#, no-wrap +msgid "#~(string-append #$shadow \"/bin/passwd\")\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:19708 +msgid "" +"A default set of setuid programs is defined by the @code{%setuid-programs} " +"variable of the @code{(gnu system)} module." +msgstr "" + +#. type: defvr +#: doc/guix.texi:19709 +#, no-wrap +msgid "{Scheme Variable} %setuid-programs" +msgstr "" + +#. type: defvr +#: doc/guix.texi:19711 +msgid "A list of G-expressions denoting common programs that are setuid-root." +msgstr "" + +#. type: defvr +#: doc/guix.texi:19714 +msgid "" +"The list includes commands such as @command{passwd}, @command{ping}, " +"@command{su}, and @command{sudo}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:19720 +msgid "" +"Under the hood, the actual setuid programs are created in the " +"@file{/run/setuid-programs} directory at system activation time. The files " +"in this directory refer to the ``real'' binaries, which are in the store." +msgstr "" + +#. type: cindex +#: doc/guix.texi:19724 +#, no-wrap +msgid "HTTPS, certificates" +msgstr "" + +#. type: cindex +#: doc/guix.texi:19725 +#, no-wrap +msgid "X.509 certificates" +msgstr "" + +#. type: cindex +#: doc/guix.texi:19726 +#, no-wrap +msgid "TLS" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:19733 +msgid "" +"Web servers available over HTTPS (that is, HTTP over the transport-layer " +"security mechanism, TLS) send client programs an @dfn{X.509 certificate} " +"that the client can then use to @emph{authenticate} the server. To do that, " +"clients verify that the server's certificate is signed by a so-called " +"@dfn{certificate authority} (CA). But to verify the CA's signature, clients " +"must have first acquired the CA's certificate." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:19737 +msgid "" +"Web browsers such as GNU@tie{}IceCat include their own set of CA " +"certificates, such that they are able to verify CA signatures " +"out-of-the-box." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:19741 +msgid "" +"However, most other programs that can talk HTTPS---@command{wget}, " +"@command{git}, @command{w3m}, etc.---need to be told where CA certificates " +"can be found." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:19748 +msgid "" +"In GuixSD, this is done by adding a package that provides certificates to " +"the @code{packages} field of the @code{operating-system} declaration " +"(@pxref{operating-system Reference}). GuixSD includes one such package, " +"@code{nss-certs}, which is a set of CA certificates provided as part of " +"Mozilla's Network Security Services." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:19753 +msgid "" +"Note that it is @emph{not} part of @var{%base-packages}, so you need to " +"explicitly add it. The @file{/etc/ssl/certs} directory, which is where most " +"applications and libraries look for certificates by default, points to the " +"certificates installed globally." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:19763 +msgid "" +"Unprivileged users, including users of Guix on a foreign distro, can also " +"install their own certificate package in their profile. A number of " +"environment variables need to be defined so that applications and libraries " +"know where to find them. Namely, the OpenSSL library honors the " +"@code{SSL_CERT_DIR} and @code{SSL_CERT_FILE} variables. Some applications " +"add their own environment variables; for instance, the Git version control " +"system honors the certificate bundle pointed to by the @code{GIT_SSL_CAINFO} " +"environment variable. Thus, you would typically run something like:" +msgstr "" + +#. type: example +#: doc/guix.texi:19769 +#, no-wrap +msgid "" +"$ guix package -i nss-certs\n" +"$ export SSL_CERT_DIR=\"$HOME/.guix-profile/etc/ssl/certs\"\n" +"$ export " +"SSL_CERT_FILE=\"$HOME/.guix-profile/etc/ssl/certs/ca-certificates.crt\"\n" +"$ export GIT_SSL_CAINFO=\"$SSL_CERT_FILE\"\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:19774 +msgid "" +"As another example, R requires the @code{CURL_CA_BUNDLE} environment " +"variable to point to a certificate bundle, so you would have to run " +"something like this:" +msgstr "" + +#. type: example +#: doc/guix.texi:19778 +#, no-wrap +msgid "" +"$ guix package -i nss-certs\n" +"$ export " +"CURL_CA_BUNDLE=\"$HOME/.guix-profile/etc/ssl/certs/ca-certificates.crt\"\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:19782 +msgid "" +"For other applications you may want to look up the required environment " +"variable in the relevant documentation." +msgstr "" + +#. type: cindex +#: doc/guix.texi:19787 +#, no-wrap +msgid "name service switch" +msgstr "" + +#. type: cindex +#: doc/guix.texi:19788 +#, no-wrap +msgid "NSS" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:19797 +msgid "" +"The @code{(gnu system nss)} module provides bindings to the configuration " +"file of the libc @dfn{name service switch} or @dfn{NSS} (@pxref{NSS " +"Configuration File,,, libc, The GNU C Library Reference Manual}). In a " +"nutshell, the NSS is a mechanism that allows libc to be extended with new " +"``name'' lookup methods for system databases, which includes host names, " +"service names, user accounts, and more (@pxref{Name Service Switch, System " +"Databases and Name Service Switch,, libc, The GNU C Library Reference " +"Manual})." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:19804 +msgid "" +"The NSS configuration specifies, for each system database, which lookup " +"method is to be used, and how the various methods are chained together---for " +"instance, under which circumstances NSS should try the next method in the " +"list. The NSS configuration is given in the @code{name-service-switch} " +"field of @code{operating-system} declarations (@pxref{operating-system " +"Reference, @code{name-service-switch}})." +msgstr "" + +#. type: cindex +#: doc/guix.texi:19805 +#, no-wrap +msgid "nss-mdns" +msgstr "" + +#. type: cindex +#: doc/guix.texi:19806 +#, no-wrap +msgid ".local, host name lookup" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:19811 +msgid "" +"As an example, the declaration below configures the NSS to use the " +"@uref{http://0pointer.de/lennart/projects/nss-mdns/, @code{nss-mdns} " +"back-end}, which supports host name lookups over multicast DNS (mDNS) for " +"host names ending in @code{.local}:" +msgstr "" + +#. type: example +#: doc/guix.texi:19815 +#, no-wrap +msgid "" +"(name-service-switch\n" +" (hosts (list %files ;first, check /etc/hosts\n" +"\n" +msgstr "" + +#. type: example +#: doc/guix.texi:19820 +#, no-wrap +msgid "" +" ;; If the above did not succeed, try\n" +" ;; with 'mdns_minimal'.\n" +" (name-service\n" +" (name \"mdns_minimal\")\n" +"\n" +msgstr "" + +#. type: example +#: doc/guix.texi:19826 +#, no-wrap +msgid "" +" ;; 'mdns_minimal' is authoritative for\n" +" ;; '.local'. When it returns \"not found\",\n" +" ;; no need to try the next methods.\n" +" (reaction (lookup-specification\n" +" (not-found => return))))\n" +"\n" +msgstr "" + +#. type: example +#: doc/guix.texi:19830 +#, no-wrap +msgid "" +" ;; Then fall back to DNS.\n" +" (name-service\n" +" (name \"dns\"))\n" +"\n" +msgstr "" + +#. type: example +#: doc/guix.texi:19834 +#, no-wrap +msgid "" +" ;; Finally, try with the \"full\" 'mdns'.\n" +" (name-service\n" +" (name \"mdns\")))))\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:19839 +msgid "" +"Do not worry: the @code{%mdns-host-lookup-nss} variable (see below) " +"contains this configuration, so you will not have to type it if all you want " +"is to have @code{.local} host lookup working." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:19847 +msgid "" +"Note that, in this case, in addition to setting the " +"@code{name-service-switch} of the @code{operating-system} declaration, you " +"also need to use @code{avahi-service} (@pxref{Networking Services, " +"@code{avahi-service}}), or @var{%desktop-services}, which includes it " +"(@pxref{Desktop Services}). Doing this makes @code{nss-mdns} accessible to " +"the name service cache daemon (@pxref{Base Services, @code{nscd-service}})." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:19850 +msgid "For convenience, the following variables provide typical NSS configurations." +msgstr "" + +#. type: defvr +#: doc/guix.texi:19851 +#, no-wrap +msgid "{Scheme Variable} %default-nss" +msgstr "" + +#. type: defvr +#: doc/guix.texi:19854 +msgid "" +"This is the default name service switch configuration, a " +"@code{name-service-switch} object." +msgstr "" + +#. type: defvr +#: doc/guix.texi:19856 +#, no-wrap +msgid "{Scheme Variable} %mdns-host-lookup-nss" +msgstr "" + +#. type: defvr +#: doc/guix.texi:19859 +msgid "" +"This is the name service switch configuration with support for host name " +"lookup over multicast DNS (mDNS) for host names ending in @code{.local}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:19869 +msgid "" +"The reference for name service switch configuration is given below. It is a " +"direct mapping of the configuration file format of the C library , so please " +"refer to the C library manual for more information (@pxref{NSS Configuration " +"File,,, libc, The GNU C Library Reference Manual}). Compared to the " +"configuration file format of libc NSS, it has the advantage not only of " +"adding this warm parenthetic feel that we like, but also static checks: you " +"will know about syntax errors and typos as soon as you run @command{guix " +"system}." +msgstr "" + +#. type: deftp +#: doc/guix.texi:19870 +#, no-wrap +msgid "{Data Type} name-service-switch" +msgstr "" + +#. type: deftp +#: doc/guix.texi:19875 +msgid "" +"This is the data type representation the configuration of libc's name " +"service switch (NSS). Each field below represents one of the supported " +"system databases." +msgstr "" + +#. type: item +#: doc/guix.texi:19877 +#, no-wrap +msgid "aliases" +msgstr "" + +#. type: itemx +#: doc/guix.texi:19878 +#, no-wrap +msgid "ethers" +msgstr "" + +#. type: itemx +#: doc/guix.texi:19880 +#, no-wrap +msgid "gshadow" +msgstr "" + +#. type: itemx +#: doc/guix.texi:19881 +#, no-wrap +msgid "hosts" +msgstr "" + +#. type: itemx +#: doc/guix.texi:19882 +#, no-wrap +msgid "initgroups" +msgstr "" + +#. type: itemx +#: doc/guix.texi:19883 +#, no-wrap +msgid "netgroup" +msgstr "" + +#. type: itemx +#: doc/guix.texi:19884 +#, no-wrap +msgid "networks" +msgstr "" + +#. type: itemx +#: doc/guix.texi:19886 +#, no-wrap +msgid "public-key" +msgstr "" + +#. type: itemx +#: doc/guix.texi:19887 +#, no-wrap +msgid "rpc" +msgstr "" + +#. type: itemx +#: doc/guix.texi:19889 +#, no-wrap +msgid "shadow" +msgstr "" + +#. type: table +#: doc/guix.texi:19892 +msgid "" +"The system databases handled by the NSS. Each of these fields must be a " +"list of @code{<name-service>} objects (see below)." +msgstr "" + +#. type: deftp +#: doc/guix.texi:19895 +#, no-wrap +msgid "{Data Type} name-service" +msgstr "" + +#. type: deftp +#: doc/guix.texi:19899 +msgid "" +"This is the data type representing an actual name service and the associated " +"lookup action." +msgstr "" + +#. type: table +#: doc/guix.texi:19904 +msgid "" +"A string denoting the name service (@pxref{Services in the NSS " +"configuration,,, libc, The GNU C Library Reference Manual})." +msgstr "" + +#. type: table +#: doc/guix.texi:19909 +msgid "" +"Note that name services listed here must be visible to nscd. This is " +"achieved by passing the @code{#:name-services} argument to " +"@code{nscd-service} the list of packages providing the needed name services " +"(@pxref{Base Services, @code{nscd-service}})." +msgstr "" + +#. type: item +#: doc/guix.texi:19910 +#, no-wrap +msgid "reaction" +msgstr "" + +#. type: table +#: doc/guix.texi:19914 +msgid "" +"An action specified using the @code{lookup-specification} macro " +"(@pxref{Actions in the NSS configuration,,, libc, The GNU C Library " +"Reference Manual}). For example:" +msgstr "" + +#. type: example +#: doc/guix.texi:19918 +#, no-wrap +msgid "" +"(lookup-specification (unavailable => continue)\n" +" (success => return))\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:19932 +msgid "" +"For bootstrapping purposes, the Linux-Libre kernel is passed an @dfn{initial " +"RAM disk}, or @dfn{initrd}. An initrd contains a temporary root file system " +"as well as an initialization script. The latter is responsible for mounting " +"the real root file system, and for loading any kernel modules that may be " +"needed to achieve that." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:19941 +msgid "" +"The @code{initrd-modules} field of an @code{operating-system} declaration " +"allows you to specify Linux-libre kernel modules that must be available in " +"the initrd. In particular, this is where you would list modules needed to " +"actually drive the hard disk where your root partition is---although the " +"default value of @code{initrd-modules} should cover most use cases. For " +"example, assuming you need the @code{megaraid_sas} module in addition to the " +"default modules to be able to access your root file system, you would write:" +msgstr "" + +#. type: example +#: doc/guix.texi:19946 +#, no-wrap +msgid "" +"(operating-system\n" +" ;; @dots{}\n" +" (initrd-modules (cons \"megaraid_sas\" %base-initrd-modules)))\n" +msgstr "" + +#. type: defvr +#: doc/guix.texi:19948 +#, no-wrap +msgid "{Scheme Variable} %base-initrd-modules" +msgstr "" + +#. type: defvr +#: doc/guix.texi:19950 +msgid "This is the list of kernel modules included in the initrd by default." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:19958 +msgid "" +"Furthermore, if you need lower-level customization, the @code{initrd} field " +"of an @code{operating-system} declaration allows you to specify which initrd " +"you would like to use. The @code{(gnu system linux-initrd)} module provides " +"three ways to build an initrd: the high-level @code{base-initrd} procedure " +"and the low-level @code{raw-initrd} and @code{expression->initrd} " +"procedures." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:19963 +msgid "" +"The @code{base-initrd} procedure is intended to cover most common uses. For " +"example, if you want to add a bunch of kernel modules to be loaded at boot " +"time, you can define the @code{initrd} field of the operating system " +"declaration like this:" +msgstr "" + +#. type: example +#: doc/guix.texi:19971 +#, no-wrap +msgid "" +"(initrd (lambda (file-systems . rest)\n" +" ;; Create a standard initrd but set up networking\n" +" ;; with the parameters QEMU expects by default.\n" +" (apply base-initrd file-systems\n" +" #:qemu-networking? #t\n" +" rest)))\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:19976 +msgid "" +"The @code{base-initrd} procedure also handles common use cases that involves " +"using the system as a QEMU guest, or as a ``live'' system with volatile root " +"file system." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:19983 +msgid "" +"The @code{base-initrd} procedure is built from @code{raw-initrd} procedure. " +"Unlike @code{base-initrd}, @code{raw-initrd} doesn't do anything high-level, " +"such as trying to guess which kernel modules and packages should be included " +"to the initrd. An example use of @code{raw-initrd} is when a user has a " +"custom Linux kernel configuration and default kernel modules included by " +"@code{base-initrd} are not available." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:19988 +msgid "" +"The initial RAM disk produced by @code{base-initrd} or @code{raw-initrd} " +"honors several options passed on the Linux kernel command line (that is, " +"arguments passed @i{via} the @code{linux} command of GRUB, or the " +"@code{-append} option of QEMU), notably:" +msgstr "" + +#. type: item +#: doc/guix.texi:19990 +#, no-wrap +msgid "--load=@var{boot}" +msgstr "" + +#. type: table +#: doc/guix.texi:19993 +msgid "" +"Tell the initial RAM disk to load @var{boot}, a file containing a Scheme " +"program, once it has mounted the root file system." +msgstr "" + +#. type: table +#: doc/guix.texi:19997 +msgid "" +"GuixSD uses this option to yield control to a boot program that runs the " +"service activation programs and then spawns the GNU@tie{}Shepherd, the " +"initialization system." +msgstr "" + +#. type: item +#: doc/guix.texi:19998 +#, no-wrap +msgid "--root=@var{root}" +msgstr "" + +#. type: table +#: doc/guix.texi:20002 +msgid "" +"Mount @var{root} as the root file system. @var{root} can be a device name " +"like @code{/dev/sda1}, a file system label, or a file system UUID." +msgstr "" + +#. type: table +#: doc/guix.texi:20006 +msgid "" +"Have @file{/run/booted-system} and @file{/run/current-system} point to " +"@var{system}." +msgstr "" + +#. type: item +#: doc/guix.texi:20007 +#, no-wrap +msgid "modprobe.blacklist=@var{modules}@dots{}" +msgstr "" + +#. type: cindex +#: doc/guix.texi:20008 +#, no-wrap +msgid "module, black-listing" +msgstr "" + +#. type: cindex +#: doc/guix.texi:20009 +#, no-wrap +msgid "black list, of kernel modules" +msgstr "" + +#. type: table +#: doc/guix.texi:20014 +msgid "" +"Instruct the initial RAM disk as well as the @command{modprobe} command " +"(from the kmod package) to refuse to load @var{modules}. @var{modules} must " +"be a comma-separated list of module names---e.g., @code{usbkbd,9pnet}." +msgstr "" + +#. type: item +#: doc/guix.texi:20015 +#, no-wrap +msgid "--repl" +msgstr "" + +#. type: table +#: doc/guix.texi:20021 +msgid "" +"Start a read-eval-print loop (REPL) from the initial RAM disk before it " +"tries to load kernel modules and to mount the root file system. Our " +"marketing team calls it @dfn{boot-to-Guile}. The Schemer in you will love " +"it. @xref{Using Guile Interactively,,, guile, GNU Guile Reference Manual}, " +"for more information on Guile's REPL." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:20027 +msgid "" +"Now that you know all the features that initial RAM disks produced by " +"@code{base-initrd} and @code{raw-initrd} provide, here is how to use it and " +"customize it further." +msgstr "" + +#. type: deffn +#: doc/guix.texi:20030 +#, no-wrap +msgid "{Monadic Procedure} raw-initrd @var{file-systems} @" +msgstr "" + +#. type: deffn +#: doc/guix.texi:20042 +msgid "" +"[#:linux-modules '()] [#:mapped-devices '()] @ [#:helper-packages '()] " +"[#:qemu-networking? #f] [#:volatile-root? #f] Return a monadic derivation " +"that builds a raw initrd. @var{file-systems} is a list of file systems to " +"be mounted by the initrd, possibly in addition to the root file system " +"specified on the kernel command line via @code{--root}. @var{linux-modules} " +"is a list of kernel modules to be loaded at boot time. @var{mapped-devices} " +"is a list of device mappings to realize before @var{file-systems} are " +"mounted (@pxref{Mapped Devices}). @var{helper-packages} is a list of " +"packages to be copied in the initrd. It may include @code{e2fsck/static} or " +"other packages needed by the initrd to check the root file system." +msgstr "" + +#. type: deffn +#: doc/guix.texi:20046 +msgid "" +"When @var{qemu-networking?} is true, set up networking with the standard " +"QEMU parameters. When @var{virtio?} is true, load additional modules so " +"that the initrd can be used as a QEMU guest with para-virtualized I/O " +"drivers." +msgstr "" + +#. type: deffn +#: doc/guix.texi:20049 +msgid "" +"When @var{volatile-root?} is true, the root file system is writable but any " +"changes to it are lost." +msgstr "" + +#. type: deffn +#: doc/guix.texi:20051 +#, no-wrap +msgid "{Monadic Procedure} base-initrd @var{file-systems} @" +msgstr "" + +#. type: deffn +#: doc/guix.texi:20059 +msgid "" +"[#:mapped-devices '()] [#:qemu-networking? #f] [#:volatile-root? #f]@ " +"[#:linux-modules '()] Return a monadic derivation that builds a generic " +"initrd, with kernel modules taken from @var{linux}. @var{file-systems} is a " +"list of file-systems to be mounted by the initrd, possibly in addition to " +"the root file system specified on the kernel command line via " +"@code{--root}. @var{mapped-devices} is a list of device mappings to realize " +"before @var{file-systems} are mounted." +msgstr "" + +#. type: deffn +#: doc/guix.texi:20061 +msgid "" +"@var{qemu-networking?} and @var{volatile-root?} behaves as in " +"@code{raw-initrd}." +msgstr "" + +#. type: deffn +#: doc/guix.texi:20066 +msgid "" +"The initrd is automatically populated with all the kernel modules necessary " +"for @var{file-systems} and for the given options. Additional kernel modules " +"can be listed in @var{linux-modules}. They will be added to the initrd, and " +"loaded at boot time in the order in which they appear." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:20073 +msgid "" +"Needless to say, the initrds we produce and use embed a statically-linked " +"Guile, and the initialization program is a Guile program. That gives a lot " +"of flexibility. The @code{expression->initrd} procedure builds such an " +"initrd, given the program to run in that initrd." +msgstr "" + +#. type: deffn +#: doc/guix.texi:20074 +#, no-wrap +msgid "{Monadic Procedure} expression->initrd @var{exp} @" +msgstr "" + +#. type: deffn +#: doc/guix.texi:20080 +msgid "" +"[#:guile %guile-static-stripped] [#:name \"guile-initrd\"] Return a " +"derivation that builds a Linux initrd (a gzipped cpio archive) containing " +"@var{guile} and that evaluates @var{exp}, a G-expression, upon booting. All " +"the derivations referenced by @var{exp} are automatically copied to the " +"initrd." +msgstr "" + +#. type: cindex +#: doc/guix.texi:20086 +#, no-wrap +msgid "boot loader" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:20093 +msgid "" +"The operating system supports multiple bootloaders. The bootloader is " +"configured using @code{bootloader-configuration} declaration. All the " +"fields of this structure are bootloader agnostic except for one field, " +"@code{bootloader} that indicates the bootloader to be configured and " +"installed." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:20098 +msgid "" +"Some of the bootloaders do not honor every field of " +"@code{bootloader-configuration}. For instance, the extlinux bootloader does " +"not support themes and thus ignores the @code{theme} field." +msgstr "" + +#. type: deftp +#: doc/guix.texi:20099 +#, no-wrap +msgid "{Data Type} bootloader-configuration" +msgstr "" + +#. type: deftp +#: doc/guix.texi:20101 +msgid "The type of a bootloader configuration declaration." +msgstr "" + +#. type: cindex +#: doc/guix.texi:20105 +#, no-wrap +msgid "EFI, bootloader" +msgstr "" + +#. type: cindex +#: doc/guix.texi:20106 +#, no-wrap +msgid "UEFI, bootloader" +msgstr "" + +#. type: cindex +#: doc/guix.texi:20107 +#, no-wrap +msgid "BIOS, bootloader" +msgstr "" + +#. type: table +#: doc/guix.texi:20113 +msgid "" +"The bootloader to use, as a @code{bootloader} object. For now " +"@code{grub-bootloader}, @code{grub-efi-bootloader}, " +"@code{extlinux-bootloader} and @code{u-boot-bootloader} are supported. " +"@code{grub-efi-bootloader} allows to boot on modern systems using the " +"@dfn{Unified Extensible Firmware Interface} (UEFI)." +msgstr "" + +#. type: table +#: doc/guix.texi:20116 +msgid "" +"Available bootloaders are described in @code{(gnu bootloader @dots{})} " +"modules." +msgstr "" + +#. type: table +#: doc/guix.texi:20126 +msgid "" +"This is a string denoting the target onto which to install the bootloader. " +"The exact interpretation depends on the bootloader in question; for " +"@code{grub-bootloader}, for example, it should be a device name understood " +"by the bootloader @command{installer} command, such as @code{/dev/sda} or " +"@code{(hd0)} (for GRUB, @pxref{Invoking grub-install,,, grub, GNU GRUB " +"Manual}). For @code{grub-efi-bootloader}, it should be the path to a " +"mounted EFI file system." +msgstr "" + +#. type: item +#: doc/guix.texi:20127 +#, no-wrap +msgid "@code{menu-entries} (default: @code{()})" +msgstr "" + +#. type: table +#: doc/guix.texi:20131 +msgid "" +"A possibly empty list of @code{menu-entry} objects (see below), denoting " +"entries to appear in the bootloader menu, in addition to the current system " +"entry and the entry pointing to previous system generations." +msgstr "" + +#. type: item +#: doc/guix.texi:20132 +#, no-wrap +msgid "@code{default-entry} (default: @code{0})" +msgstr "" + +#. type: table +#: doc/guix.texi:20135 +msgid "" +"The index of the default boot menu entry. Index 0 is for the entry of the " +"current system." +msgstr "" + +#. type: item +#: doc/guix.texi:20136 +#, no-wrap +msgid "@code{timeout} (default: @code{5})" +msgstr "" + +#. type: table +#: doc/guix.texi:20139 +msgid "" +"The number of seconds to wait for keyboard input before booting. Set to 0 " +"to boot immediately, and to -1 to wait indefinitely." +msgstr "" + +#. type: item +#: doc/guix.texi:20140 +#, no-wrap +msgid "@code{theme} (default: @var{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:20144 +msgid "" +"The bootloader theme object describing the theme to use. If no theme is " +"provided, some bootloaders might use a default theme, that's true for GRUB." +msgstr "" + +#. type: item +#: doc/guix.texi:20145 +#, no-wrap +msgid "@code{terminal-outputs} (default: @code{'gfxterm})" +msgstr "" + +#. type: table +#: doc/guix.texi:20152 +msgid "" +"The output terminals used for the bootloader boot menu, as a list of " +"symbols. GRUB accepts the values: @code{console}, @code{serial}, " +"@code{serial_@{0-3@}}, @code{gfxterm}, @code{vga_text}, @code{mda_text}, " +"@code{morse}, and @code{pkmodem}. This field corresponds to the GRUB " +"variable GRUB_TERMINAL_OUTPUT (@pxref{Simple configuration,,, grub,GNU GRUB " +"manual})." +msgstr "" + +#. type: item +#: doc/guix.texi:20153 +#, no-wrap +msgid "@code{terminal-inputs} (default: @code{'()})" +msgstr "" + +#. type: table +#: doc/guix.texi:20161 +msgid "" +"The input terminals used for the bootloader boot menu, as a list of " +"symbols. For GRUB, the default is the native platform terminal as " +"determined at run-time. GRUB accepts the values: @code{console}, " +"@code{serial}, @code{serial_@{0-3@}}, @code{at_keyboard}, and " +"@code{usb_keyboard}. This field corresponds to the GRUB variable " +"GRUB_TERMINAL_INPUT (@pxref{Simple configuration,,, grub,GNU GRUB manual})." +msgstr "" + +#. type: item +#: doc/guix.texi:20162 +#, no-wrap +msgid "@code{serial-unit} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:20166 +msgid "" +"The serial unit used by the bootloader, as an integer from 0 to 3. For " +"GRUB, it is chosen at run-time; currently GRUB chooses 0, which corresponds " +"to COM1 (@pxref{Serial terminal,,, grub,GNU GRUB manual})." +msgstr "" + +#. type: item +#: doc/guix.texi:20167 +#, no-wrap +msgid "@code{serial-speed} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:20171 +msgid "" +"The speed of the serial interface, as an integer. For GRUB, the default " +"value is chosen at run-time; currently GRUB chooses 9600@tie{}bps " +"(@pxref{Serial terminal,,, grub,GNU GRUB manual})." +msgstr "" + +#. type: cindex +#: doc/guix.texi:20175 +#, no-wrap +msgid "dual boot" +msgstr "" + +#. type: cindex +#: doc/guix.texi:20176 +#, no-wrap +msgid "boot menu" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:20182 +msgid "" +"Should you want to list additional boot menu entries @i{via} the " +"@code{menu-entries} field above, you will need to create them with the " +"@code{menu-entry} form. For example, imagine you want to be able to boot " +"another distro (hard to imagine!), you can define a menu entry along these " +"lines:" +msgstr "" + +#. type: example +#: doc/guix.texi:20189 +#, no-wrap +msgid "" +"(menu-entry\n" +" (label \"The Other Distro\")\n" +" (linux \"/boot/old/vmlinux-2.6.32\")\n" +" (linux-arguments '(\"root=/dev/sda2\"))\n" +" (initrd \"/boot/old/initrd\"))\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:20192 +msgid "Details below." +msgstr "" + +#. type: deftp +#: doc/guix.texi:20193 +#, no-wrap +msgid "{Data Type} menu-entry" +msgstr "" + +#. type: deftp +#: doc/guix.texi:20195 +msgid "The type of an entry in the bootloader menu." +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:20198 +#, no-wrap +msgid "label" +msgstr "" + +#. type: table +#: doc/guix.texi:20200 +msgid "The label to show in the menu---e.g., @code{\"GNU\"}." +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:20201 +#, no-wrap +msgid "linux" +msgstr "" + +#. type: table +#: doc/guix.texi:20203 +msgid "The Linux kernel image to boot, for example:" +msgstr "" + +#. type: example +#: doc/guix.texi:20206 +#, no-wrap +msgid "(file-append linux-libre \"/bzImage\")\n" +msgstr "" + +#. type: table +#: doc/guix.texi:20211 +msgid "" +"For GRUB, it is also possible to specify a device explicitly in the file " +"path using GRUB's device naming convention (@pxref{Naming convention,,, " +"grub, GNU GRUB manual}), for example:" +msgstr "" + +#. type: example +#: doc/guix.texi:20214 +#, no-wrap +msgid "\"(hd0,msdos1)/boot/vmlinuz\"\n" +msgstr "" + +#. type: table +#: doc/guix.texi:20218 +msgid "" +"If the device is specified explicitly as above, then the @code{device} field " +"is ignored entirely." +msgstr "" + +#. type: item +#: doc/guix.texi:20219 +#, no-wrap +msgid "@code{linux-arguments} (default: @code{()})" +msgstr "" + +#. type: table +#: doc/guix.texi:20222 +msgid "" +"The list of extra Linux kernel command-line arguments---e.g., " +"@code{(\"console=ttyS0\")}." +msgstr "" + +#. type: table +#: doc/guix.texi:20226 +msgid "" +"A G-Expression or string denoting the file name of the initial RAM disk to " +"use (@pxref{G-Expressions})." +msgstr "" + +#. type: item +#: doc/guix.texi:20226 +#, no-wrap +msgid "@code{device} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:20229 +msgid "" +"The device where the kernel and initrd are to be found---i.e., for GRUB, " +"@dfn{root} for this menu entry (@pxref{root,,, grub, GNU GRUB manual})." +msgstr "" + +#. type: table +#: doc/guix.texi:20235 +msgid "" +"This may be a file system label (a string), a file system UUID (a " +"bytevector, @pxref{File Systems}), or @code{#f}, in which case the " +"bootloader will search the device containing the file specified by the " +"@code{linux} field (@pxref{search,,, grub, GNU GRUB manual}). It must " +"@emph{not} be an OS device name such as @file{/dev/sda1}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:20242 +msgid "" +"Fow now only GRUB has theme support. GRUB themes are created using the " +"@code{grub-theme} form, which is not documented yet." +msgstr "" + +#. type: defvr +#: doc/guix.texi:20247 +msgid "" +"This is the default GRUB theme used by the operating system if no " +"@code{theme} field is specified in @code{bootloader-configuration} record." +msgstr "" + +#. type: defvr +#: doc/guix.texi:20250 +msgid "It comes with a fancy background image displaying the GNU and Guix logos." +msgstr "" + +#. type: subsection +#: doc/guix.texi:20254 +#, no-wrap +msgid "Invoking @code{guix system}" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:20259 +msgid "" +"Once you have written an operating system declaration as seen in the " +"previous section, it can be @dfn{instantiated} using the @command{guix " +"system} command. The synopsis is:" +msgstr "" + +#. type: example +#: doc/guix.texi:20262 +#, no-wrap +msgid "guix system @var{options}@dots{} @var{action} @var{file}\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:20268 +msgid "" +"@var{file} must be the name of a file containing an @code{operating-system} " +"declaration. @var{action} specifies how the operating system is " +"instantiated. Currently the following values are supported:" +msgstr "" + +#. type: item +#: doc/guix.texi:20270 +#, no-wrap +msgid "search" +msgstr "" + +#. type: table +#: doc/guix.texi:20273 +msgid "" +"Display available service type definitions that match the given regular " +"expressions, sorted by relevance:" +msgstr "" + +#. type: example +#: doc/guix.texi:20285 +#, no-wrap +msgid "" +"$ guix system search console font\n" +"name: console-fonts\n" +"location: gnu/services/base.scm:729:2\n" +"extends: shepherd-root\n" +"description: Install the given fonts on the specified ttys (fonts are\n" +"+ per virtual console on GNU/Linux). The value of this service is a list\n" +"+ of tty/font pairs like:\n" +"+ \n" +"+ '((\"tty1\" . \"LatGrkCyr-8x16\"))\n" +"relevance: 20\n" +"\n" +msgstr "" + +#. type: example +#: doc/guix.texi:20291 +#, no-wrap +msgid "" +"name: mingetty\n" +"location: gnu/services/base.scm:1048:2\n" +"extends: shepherd-root\n" +"description: Provide console login using the `mingetty' program.\n" +"relevance: 2\n" +"\n" +msgstr "" + +#. type: example +#: doc/guix.texi:20298 +#, no-wrap +msgid "" +"name: login\n" +"location: gnu/services/base.scm:775:2\n" +"extends: pam\n" +"description: Provide a console log-in service as specified by its\n" +"+ configuration value, a `login-configuration' object.\n" +"relevance: 2\n" +"\n" +msgstr "" + +#. type: example +#: doc/guix.texi:20300 +#, no-wrap +msgid "@dots{}\n" +msgstr "" + +#. type: table +#: doc/guix.texi:20305 +msgid "" +"As for @command{guix package --search}, the result is written in " +"@code{recutils} format, which makes it easy to filter the output " +"(@pxref{Top, GNU recutils databases,, recutils, GNU recutils manual})." +msgstr "" + +#. type: item +#: doc/guix.texi:20306 +#, no-wrap +msgid "reconfigure" +msgstr "" + +#. type: table +#: doc/guix.texi:20311 +msgid "" +"Build the operating system described in @var{file}, activate it, and switch " +"to it@footnote{This action (and the related actions @code{switch-generation} " +"and @code{roll-back}) are usable only on systems already running GuixSD.}." +msgstr "" + +#. type: table +#: doc/guix.texi:20318 +msgid "" +"This effects all the configuration specified in @var{file}: user accounts, " +"system services, global package list, setuid programs, etc. The command " +"starts system services specified in @var{file} that are not currently " +"running; if a service is currently running, it does not attempt to upgrade " +"it since this would not be possible without stopping it first." +msgstr "" + +#. type: table +#: doc/guix.texi:20324 +msgid "" +"This command creates a new generation whose number is one greater than the " +"current generation (as reported by @command{guix system list-generations}). " +"If that generation already exists, it will be overwritten. This behavior " +"mirrors that of @command{guix package} (@pxref{Invoking guix package})." +msgstr "" + +#. type: table +#: doc/guix.texi:20329 +msgid "" +"It also adds a bootloader menu entry for the new OS configuration, ---unless " +"@option{--no-bootloader} is passed. For GRUB, it moves entries for older " +"configurations to a submenu, allowing you to choose an older system " +"generation at boot time should you need it." +msgstr "" + +#. type: quotation +#: doc/guix.texi:20337 +msgid "" +"It is highly recommended to run @command{guix pull} once before you run " +"@command{guix system reconfigure} for the first time (@pxref{Invoking guix " +"pull}). Failing to do that you would see an older version of Guix once " +"@command{reconfigure} has completed." +msgstr "" + +#. type: item +#: doc/guix.texi:20339 +#, no-wrap +msgid "switch-generation" +msgstr "" + +#. type: table +#: doc/guix.texi:20348 +msgid "" +"Switch to an existing system generation. This action atomically switches " +"the system profile to the specified system generation. It also rearranges " +"the system's existing bootloader menu entries. It makes the menu entry for " +"the specified system generation the default, and it moves the entries for " +"the other generatiors to a submenu, if supported by the bootloader being " +"used. The next time the system boots, it will use the specified system " +"generation." +msgstr "" + +#. type: table +#: doc/guix.texi:20352 +msgid "" +"The bootloader itself is not being reinstalled when using this command. " +"Thus, the installed bootloader is used with an updated configuration file." +msgstr "" + +#. type: table +#: doc/guix.texi:20356 +msgid "" +"The target generation can be specified explicitly by its generation number. " +"For example, the following invocation would switch to system generation 7:" +msgstr "" + +#. type: example +#: doc/guix.texi:20359 +#, no-wrap +msgid "guix system switch-generation 7\n" +msgstr "" + +#. type: table +#: doc/guix.texi:20367 +msgid "" +"The target generation can also be specified relative to the current " +"generation with the form @code{+N} or @code{-N}, where @code{+3} means ``3 " +"generations ahead of the current generation,'' and @code{-1} means ``1 " +"generation prior to the current generation.'' When specifying a negative " +"value such as @code{-1}, you must precede it with @code{--} to prevent it " +"from being parsed as an option. For example:" +msgstr "" + +#. type: example +#: doc/guix.texi:20370 +#, no-wrap +msgid "guix system switch-generation -- -1\n" +msgstr "" + +#. type: table +#: doc/guix.texi:20378 +msgid "" +"Currently, the effect of invoking this action is @emph{only} to switch the " +"system profile to an existing generation and rearrange the bootloader menu " +"entries. To actually start using the target system generation, you must " +"reboot after running this action. In the future, it will be updated to do " +"the same things as @command{reconfigure}, like activating and deactivating " +"services." +msgstr "" + +#. type: table +#: doc/guix.texi:20380 +msgid "This action will fail if the specified generation does not exist." +msgstr "" + +#. type: item +#: doc/guix.texi:20381 +#, no-wrap +msgid "roll-back" +msgstr "" + +#. type: table +#: doc/guix.texi:20387 +msgid "" +"Switch to the preceding system generation. The next time the system boots, " +"it will use the preceding system generation. This is the inverse of " +"@command{reconfigure}, and it is exactly the same as invoking " +"@command{switch-generation} with an argument of @code{-1}." +msgstr "" + +#. type: table +#: doc/guix.texi:20391 +msgid "" +"Currently, as with @command{switch-generation}, you must reboot after " +"running this action to actually start using the preceding system generation." +msgstr "" + +#. type: table +#: doc/guix.texi:20396 +msgid "" +"Build the derivation of the operating system, which includes all the " +"configuration files and programs needed to boot and run the system. This " +"action does not actually install anything." +msgstr "" + +#. type: item +#: doc/guix.texi:20397 +#, no-wrap +msgid "init" +msgstr "" + +#. type: table +#: doc/guix.texi:20401 +msgid "" +"Populate the given directory with all the files necessary to run the " +"operating system specified in @var{file}. This is useful for first-time " +"installations of GuixSD. For instance:" +msgstr "" + +#. type: example +#: doc/guix.texi:20404 +#, no-wrap +msgid "guix system init my-os-config.scm /mnt\n" +msgstr "" + +#. type: table +#: doc/guix.texi:20411 +msgid "" +"copies to @file{/mnt} all the store items required by the configuration " +"specified in @file{my-os-config.scm}. This includes configuration files, " +"packages, and so on. It also creates other essential files needed for the " +"system to operate correctly---e.g., the @file{/etc}, @file{/var}, and " +"@file{/run} directories, and the @file{/bin/sh} file." +msgstr "" + +#. type: table +#: doc/guix.texi:20415 +msgid "" +"This command also installs bootloader on the target specified in " +"@file{my-os-config}, unless the @option{--no-bootloader} option was passed." +msgstr "" + +#. type: item +#: doc/guix.texi:20416 +#, no-wrap +msgid "vm" +msgstr "" + +#. type: cindex +#: doc/guix.texi:20417 doc/guix.texi:20681 +#, no-wrap +msgid "virtual machine" +msgstr "" + +#. type: cindex +#: doc/guix.texi:20418 +#, no-wrap +msgid "VM" +msgstr "" + +#. type: anchor{#1} +#: doc/guix.texi:20425 +msgid "guix system vm" +msgstr "" + +#. type: table +#: doc/guix.texi:20425 +msgid "" +"Build a virtual machine that contains the operating system declared in " +"@var{file}, and return a script to run that virtual machine (VM). Arguments " +"given to the script are passed to QEMU as in the example below, which " +"enables networking and requests 1@tie{}GiB of RAM for the emulated machine:" +msgstr "" + +#. type: example +#: doc/guix.texi:20428 +#, no-wrap +msgid "$ /gnu/store/@dots{}-run-vm.sh -m 1024 -net user\n" +msgstr "" + +#. type: table +#: doc/guix.texi:20431 +msgid "The VM shares its store with the host system." +msgstr "" + +#. type: table +#: doc/guix.texi:20436 +msgid "" +"Additional file systems can be shared between the host and the VM using the " +"@code{--share} and @code{--expose} command-line options: the former " +"specifies a directory to be shared with write access, while the latter " +"provides read-only access to the shared directory." +msgstr "" + +#. type: table +#: doc/guix.texi:20440 +msgid "" +"The example below creates a VM in which the user's home directory is " +"accessible read-only, and where the @file{/exchange} directory is a " +"read-write mapping of @file{$HOME/tmp} on the host:" +msgstr "" + +#. type: example +#: doc/guix.texi:20444 +#, no-wrap +msgid "" +"guix system vm my-config.scm \\\n" +" --expose=$HOME --share=$HOME/tmp=/exchange\n" +msgstr "" + +#. type: table +#: doc/guix.texi:20449 +msgid "" +"On GNU/Linux, the default is to boot directly to the kernel; this has the " +"advantage of requiring only a very tiny root disk image since the store of " +"the host can then be mounted." +msgstr "" + +#. type: table +#: doc/guix.texi:20455 +msgid "" +"The @code{--full-boot} option forces a complete boot sequence, starting with " +"the bootloader. This requires more disk space since a root image containing " +"at least the kernel, initrd, and bootloader data files must be created. The " +"@code{--image-size} option can be used to specify the size of the image." +msgstr "" + +#. type: cindex +#: doc/guix.texi:20456 +#, no-wrap +msgid "System images, creation in various formats" +msgstr "" + +#. type: cindex +#: doc/guix.texi:20457 +#, no-wrap +msgid "Creating system images in various formats" +msgstr "" + +#. type: item +#: doc/guix.texi:20458 +#, no-wrap +msgid "vm-image" +msgstr "" + +#. type: itemx +#: doc/guix.texi:20459 +#, no-wrap +msgid "disk-image" +msgstr "" + +#. type: itemx +#: doc/guix.texi:20460 +#, no-wrap +msgid "docker-image" +msgstr "" + +#. type: table +#: doc/guix.texi:20468 +msgid "" +"Return a virtual machine, disk image, or Docker image of the operating " +"system declared in @var{file} that stands alone. By default, @command{guix " +"system} estimates the size of the image needed to store the system, but you " +"can use the @option{--image-size} option to specify a value. Docker images " +"are built to contain exactly what they need, so the @option{--image-size} " +"option is ignored in the case of @code{docker-image}." +msgstr "" + +#. type: table +#: doc/guix.texi:20471 +msgid "" +"You can specify the root file system type by using the " +"@option{--file-system-type} option. It defaults to @code{ext4}." +msgstr "" + +#. type: table +#: doc/guix.texi:20475 +msgid "" +"When using @code{vm-image}, the returned image is in qcow2 format, which the " +"QEMU emulator can efficiently use. @xref{Running GuixSD in a VM}, for more " +"information on how to run the image in a virtual machine." +msgstr "" + +#. type: table +#: doc/guix.texi:20480 +msgid "" +"When using @code{disk-image}, a raw disk image is produced; it can be copied " +"as is to a USB stick, for instance. Assuming @code{/dev/sdc} is the device " +"corresponding to a USB stick, one can copy the image to it using the " +"following command:" +msgstr "" + +#. type: example +#: doc/guix.texi:20483 +#, no-wrap +msgid "# dd if=$(guix system disk-image my-os.scm) of=/dev/sdc\n" +msgstr "" + +#. type: table +#: doc/guix.texi:20490 +msgid "" +"When using @code{docker-image}, a Docker image is produced. Guix builds the " +"image from scratch, not from a pre-existing Docker base image. As a result, " +"it contains @emph{exactly} what you define in the operating system " +"configuration file. You can then load the image and launch a Docker " +"container using commands like the following:" +msgstr "" + +#. type: example +#: doc/guix.texi:20496 +#, no-wrap +msgid "" +"image_id=\"$(docker load < guixsd-docker-image.tar.gz)\"\n" +"docker run -e GUIX_NEW_SYSTEM=/var/guix/profiles/system \\\\\n" +" --entrypoint /var/guix/profiles/system/profile/bin/guile \\\\\n" +" $image_id /var/guix/profiles/system/boot\n" +msgstr "" + +#. type: table +#: doc/guix.texi:20506 +msgid "" +"This command starts a new Docker container from the specified image. It " +"will boot the GuixSD system in the usual manner, which means it will start " +"any services you have defined in the operating system configuration. " +"Depending on what you run in the Docker container, it may be necessary to " +"give the container additional permissions. For example, if you intend to " +"build software using Guix inside of the Docker container, you may need to " +"pass the @option{--privileged} option to @code{docker run}." +msgstr "" + +#. type: table +#: doc/guix.texi:20514 +msgid "" +"Return a script to run the operating system declared in @var{file} within a " +"container. Containers are a set of lightweight isolation mechanisms " +"provided by the kernel Linux-libre. Containers are substantially less " +"resource-demanding than full virtual machines since the kernel, shared " +"objects, and other resources can be shared with the host system; this also " +"means they provide thinner isolation." +msgstr "" + +#. type: table +#: doc/guix.texi:20518 +msgid "" +"Currently, the script must be run as root in order to support more than a " +"single user and group. The container shares its store with the host system." +msgstr "" + +#. type: table +#: doc/guix.texi:20522 +msgid "" +"As with the @code{vm} action (@pxref{guix system vm}), additional file " +"systems to be shared between the host and container can be specified using " +"the @option{--share} and @option{--expose} options:" +msgstr "" + +#. type: example +#: doc/guix.texi:20526 +#, no-wrap +msgid "" +"guix system container my-config.scm \\\n" +" --expose=$HOME --share=$HOME/tmp=/exchange\n" +msgstr "" + +#. type: quotation +#: doc/guix.texi:20530 +msgid "This option requires Linux-libre 3.19 or newer." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:20537 +msgid "" +"@var{options} can contain any of the common build options (@pxref{Common " +"Build Options}). In addition, @var{options} can contain one of the " +"following:" +msgstr "" + +#. type: table +#: doc/guix.texi:20546 +msgid "" +"Consider the operating-system @var{expr} evaluates to. This is an " +"alternative to specifying a file which evaluates to an operating system. " +"This is used to generate the GuixSD installer @pxref{Building the " +"Installation Image})." +msgstr "" + +#. type: table +#: doc/guix.texi:20551 +msgid "" +"Attempt to build for @var{system} instead of the host system type. This " +"works as per @command{guix build} (@pxref{Invoking guix build})." +msgstr "" + +#. type: item +#: doc/guix.texi:20552 +#, no-wrap +msgid "--derivation" +msgstr "" + +#. type: table +#: doc/guix.texi:20556 +msgid "" +"Return the derivation file name of the given operating system without " +"building anything." +msgstr "" + +#. type: item +#: doc/guix.texi:20557 +#, no-wrap +msgid "--file-system-type=@var{type}" +msgstr "" + +#. type: table +#: doc/guix.texi:20561 +msgid "" +"For the @code{disk-image} action, create a file system of the given " +"@var{type} on the image." +msgstr "" + +#. type: table +#: doc/guix.texi:20563 +msgid "When this option is omitted, @command{guix system} uses @code{ext4}." +msgstr "" + +#. type: cindex +#: doc/guix.texi:20564 +#, no-wrap +msgid "ISO-9660 format" +msgstr "" + +#. type: cindex +#: doc/guix.texi:20565 +#, no-wrap +msgid "CD image format" +msgstr "" + +#. type: cindex +#: doc/guix.texi:20566 +#, no-wrap +msgid "DVD image format" +msgstr "" + +#. type: table +#: doc/guix.texi:20569 +msgid "" +"@code{--file-system-type=iso9660} produces an ISO-9660 image, suitable for " +"burning on CDs and DVDs." +msgstr "" + +#. type: item +#: doc/guix.texi:20570 +#, no-wrap +msgid "--image-size=@var{size}" +msgstr "" + +#. type: table +#: doc/guix.texi:20575 +msgid "" +"For the @code{vm-image} and @code{disk-image} actions, create an image of " +"the given @var{size}. @var{size} may be a number of bytes, or it may " +"include a unit as a suffix (@pxref{Block size, size specifications,, " +"coreutils, GNU Coreutils})." +msgstr "" + +#. type: table +#: doc/guix.texi:20579 +msgid "" +"When this option is omitted, @command{guix system} computes an estimate of " +"the image size as a function of the size of the system declared in " +"@var{file}." +msgstr "" + +#. type: item +#: doc/guix.texi:20585 +#, no-wrap +msgid "--skip-checks" +msgstr "" + +#. type: table +#: doc/guix.texi:20587 +msgid "Skip pre-installation safety checks." +msgstr "" + +#. type: table +#: doc/guix.texi:20594 +msgid "" +"By default, @command{guix system init} and @command{guix system reconfigure} " +"perform safety checks: they make sure the file systems that appear in the " +"@code{operating-system} declaration actually exist (@pxref{File Systems}), " +"and that any Linux kernel modules that may be needed at boot time are listed " +"in @code{initrd-modules} (@pxref{Initial RAM Disk}). Passing this option " +"skips these tests altogether." +msgstr "" + +#. type: item +#: doc/guix.texi:20595 +#, no-wrap +msgid "--on-error=@var{strategy}" +msgstr "" + +#. type: table +#: doc/guix.texi:20598 +msgid "" +"Apply @var{strategy} when an error occurs when reading @var{file}. " +"@var{strategy} may be one of the following:" +msgstr "" + +#. type: item +#: doc/guix.texi:20600 +#, no-wrap +msgid "nothing-special" +msgstr "" + +#. type: table +#: doc/guix.texi:20602 +msgid "Report the error concisely and exit. This is the default strategy." +msgstr "" + +#. type: item +#: doc/guix.texi:20603 +#, no-wrap +msgid "backtrace" +msgstr "" + +#. type: table +#: doc/guix.texi:20605 +msgid "Likewise, but also display a backtrace." +msgstr "" + +#. type: item +#: doc/guix.texi:20606 +#, no-wrap +msgid "debug" +msgstr "" + +#. type: table +#: doc/guix.texi:20612 +msgid "" +"Report the error and enter Guile's debugger. From there, you can run " +"commands such as @code{,bt} to get a backtrace, @code{,locals} to display " +"local variable values, and more generally inspect the state of the program. " +"@xref{Debug Commands,,, guile, GNU Guile Reference Manual}, for a list of " +"available debugging commands." +msgstr "" + +#. type: quotation +#: doc/guix.texi:20622 +msgid "" +"All the actions above, except @code{build} and @code{init}, can use KVM " +"support in the Linux-libre kernel. Specifically, if the machine has " +"hardware virtualization support, the corresponding KVM kernel module should " +"be loaded, and the @file{/dev/kvm} device node must exist and be readable " +"and writable by the user and by the build users of the daemon (@pxref{Build " +"Environment Setup})." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:20628 +msgid "" +"Once you have built, configured, re-configured, and re-re-configured your " +"GuixSD installation, you may find it useful to list the operating system " +"generations available on disk---and that you can choose from the bootloader " +"boot menu:" +msgstr "" + +#. type: item +#: doc/guix.texi:20631 +#, no-wrap +msgid "list-generations" +msgstr "" + +#. type: table +#: doc/guix.texi:20636 +msgid "" +"List a summary of each generation of the operating system available on disk, " +"in a human-readable way. This is similar to the @option{--list-generations} " +"option of @command{guix package} (@pxref{Invoking guix package})." +msgstr "" + +#. type: table +#: doc/guix.texi:20641 +msgid "" +"Optionally, one can specify a pattern, with the same syntax that is used in " +"@command{guix package --list-generations}, to restrict the list of " +"generations displayed. For instance, the following command displays " +"generations that are up to 10 days old:" +msgstr "" + +#. type: example +#: doc/guix.texi:20644 +#, no-wrap +msgid "$ guix system list-generations 10d\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:20651 +msgid "" +"The @command{guix system} command has even more to offer! The following " +"sub-commands allow you to visualize how your system services relate to each " +"other:" +msgstr "" + +#. type: anchor{#1} +#: doc/guix.texi:20653 +msgid "system-extension-graph" +msgstr "" + +#. type: item +#: doc/guix.texi:20655 +#, no-wrap +msgid "extension-graph" +msgstr "" + +#. type: table +#: doc/guix.texi:20660 +msgid "" +"Emit in Dot/Graphviz format to standard output the @dfn{service extension " +"graph} of the operating system defined in @var{file} (@pxref{Service " +"Composition}, for more information on service extensions.)" +msgstr "" + +#. type: table +#: doc/guix.texi:20662 +msgid "The command:" +msgstr "" + +#. type: example +#: doc/guix.texi:20665 +#, no-wrap +msgid "$ guix system extension-graph @var{file} | dot -Tpdf > services.pdf\n" +msgstr "" + +#. type: table +#: doc/guix.texi:20668 +msgid "produces a PDF file showing the extension relations among services." +msgstr "" + +#. type: anchor{#1} +#: doc/guix.texi:20670 +msgid "system-shepherd-graph" +msgstr "" + +#. type: item +#: doc/guix.texi:20670 +#, no-wrap +msgid "shepherd-graph" +msgstr "" + +#. type: table +#: doc/guix.texi:20675 +msgid "" +"Emit in Dot/Graphviz format to standard output the @dfn{dependency graph} of " +"shepherd services of the operating system defined in @var{file}. " +"@xref{Shepherd Services}, for more information and for an example graph." +msgstr "" + +#. type: subsection +#: doc/guix.texi:20679 +#, no-wrap +msgid "Running GuixSD in a Virtual Machine" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:20689 +msgid "" +"To run GuixSD in a virtual machine (VM), one can either use the pre-built " +"GuixSD VM image distributed at " +"@indicateurl{ftp://alpha.gnu.org/guix/guixsd-vm-image-@value{VERSION}.@var{system}.tar.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 efficiently " +"use." +msgstr "" + +#. type: cindex +#: doc/guix.texi:20690 +#, no-wrap +msgid "QEMU" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:20697 +msgid "" +"If you built your own image, you must copy it out of the store (@pxref{The " +"Store}) and give yourself permission to write to the copy before you can use " +"it. When invoking QEMU, you must choose a system emulator that is suitable " +"for your hardware platform. Here is a minimal QEMU invocation that will " +"boot the result of @command{guix system vm-image} on x86_64 hardware:" +msgstr "" + +#. type: example +#: doc/guix.texi:20702 +#, no-wrap +msgid "" +"$ qemu-system-x86_64 \\\n" +" -net user -net nic,model=virtio \\\n" +" -enable-kvm -m 256 /tmp/qemu-image\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:20705 +msgid "Here is what each of these options means:" +msgstr "" + +#. type: item +#: doc/guix.texi:20707 +#, no-wrap +msgid "qemu-system-x86_64" +msgstr "" + +#. type: table +#: doc/guix.texi:20710 +msgid "" +"This specifies the hardware platform to emulate. This should match the " +"host." +msgstr "" + +#. type: item +#: doc/guix.texi:20711 +#, no-wrap +msgid "-net user" +msgstr "" + +#. type: table +#: doc/guix.texi:20715 +msgid "" +"Enable the unprivileged user-mode network stack. The guest OS can access " +"the host but not vice versa. This is the simplest way to get the guest OS " +"online." +msgstr "" + +#. type: item +#: doc/guix.texi:20716 +#, no-wrap +msgid "-net nic,model=virtio" +msgstr "" + +#. type: table +#: doc/guix.texi:20721 +msgid "" +"You must create a network interface of a given model. If you do not create " +"a NIC, the boot will fail. Assuming your hardware platform is x86_64, you " +"can get a list of available NIC models by running " +"@command{qemu-system-x86_64 -net nic,model=help}." +msgstr "" + +#. type: item +#: doc/guix.texi:20722 +#, no-wrap +msgid "-enable-kvm" +msgstr "" + +#. type: table +#: doc/guix.texi:20726 +msgid "" +"If your system has hardware virtualization extensions, enabling the virtual " +"machine support (KVM) of the Linux kernel will make things run faster." +msgstr "" + +#. type: item +#: doc/guix.texi:20727 +#, no-wrap +msgid "-m 256" +msgstr "" + +#. type: table +#: doc/guix.texi:20730 +msgid "" +"RAM available to the guest OS, in mebibytes. Defaults to 128@tie{}MiB, " +"which may be insufficient for some operations." +msgstr "" + +#. type: item +#: doc/guix.texi:20731 +#, no-wrap +msgid "/tmp/qemu-image" +msgstr "" + +#. type: table +#: doc/guix.texi:20733 +msgid "The file name of the qcow2 image." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:20743 +msgid "" +"The default @command{run-vm.sh} script that is returned by an invocation of " +"@command{guix system vm} does not add a @command{-net user} flag by " +"default. To get network access from within the vm add the " +"@code{(dhcp-client-service)} to your system definition and start the VM " +"using @command{`guix system vm config.scm` -net user}. An important caveat " +"of using @command{-net user} for networking is that @command{ping} will not " +"work, because it uses the ICMP protocol. You'll have to use a different " +"command to check for network connectivity, for example @command{guix " +"download}." +msgstr "" + +#. type: subsubsection +#: doc/guix.texi:20744 +#, no-wrap +msgid "Connecting Through SSH" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:20753 +msgid "" +"To enable SSH inside a VM you need to add a SSH server like " +"@code{(dropbear-service)} or @code{(lsh-service)} to your VM. The " +"@code{(lsh-service}) doesn't currently boot unsupervised. It requires you " +"to type some characters to initialize the randomness generator. In addition " +"you need to forward the SSH port, 22 by default, to the host. You can do " +"this with" +msgstr "" + +#. type: example +#: doc/guix.texi:20756 +#, no-wrap +msgid "`guix system vm config.scm` -net user,hostfwd=tcp::10022-:22\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:20759 +msgid "To connect to the VM you can run" +msgstr "" + +#. type: example +#: doc/guix.texi:20762 +#, no-wrap +msgid "ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 10022\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:20769 +msgid "" +"The @command{-p} tells @command{ssh} the port you want to connect to. " +"@command{-o UserKnownHostsFile=/dev/null} prevents @command{ssh} from " +"complaining every time you modify your @command{config.scm} file and the " +"@command{-o StrictHostKeyChecking=no} prevents you from having to allow a " +"connection to an unknown host every time you connect." +msgstr "" + +#. type: subsubsection +#: doc/guix.texi:20770 +#, no-wrap +msgid "Using @command{virt-viewer} with Spice" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:20776 +msgid "" +"As an alternative to the default @command{qemu} graphical client you can use " +"the @command{remote-viewer} from the @command{virt-viewer} package. To " +"connect pass the @command{-spice port=5930,disable-ticketing} flag to " +"@command{qemu}. See previous section for further information on how to do " +"this." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:20779 +msgid "" +"Spice also allows you to do some nice stuff like share your clipboard with " +"your VM. To enable that you'll also have to pass the following flags to " +"@command{qemu}:" +msgstr "" + +#. type: example +#: doc/guix.texi:20785 +#, no-wrap +msgid "" +"-device " +"virtio-serial-pci,id=virtio-serial0,max_ports=16,bus=pci.0,addr=0x5\n" +"-chardev spicevmc,name=vdagent,id=vdagent\n" +"-device virtserialport,nr=1,bus=virtio-serial0.0,chardev=vdagent,\n" +"name=com.redhat.spice.0\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:20788 +msgid "You'll also need to add the @pxref{Miscellaneous Services, Spice service}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:20795 +msgid "" +"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 the first place? And what is a service anyway?" +msgstr "" + +#. type: cindex +#: doc/guix.texi:20807 +#, no-wrap +msgid "daemons" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:20820 +msgid "" +"Here we define a @dfn{service} as, broadly, something that extends the " +"functionality of the operating system. Often a service is a process---a " +"@dfn{daemon}---started when the system boots: a secure shell server, a Web " +"server, the Guix build daemon, etc. Sometimes a service is a daemon whose " +"execution can be triggered by another daemon---e.g., an FTP server started " +"by @command{inetd} or a D-Bus service activated by @command{dbus-daemon}. " +"Occasionally, a service does not map to a daemon. For instance, the " +"``account'' service collects user accounts and makes sure they exist when " +"the system runs; the ``udev'' service collects device management rules and " +"makes them available to the eudev daemon; the @file{/etc} service populates " +"the @file{/etc} directory of the system." +msgstr "" + +#. type: cindex +#: doc/guix.texi:20821 +#, no-wrap +msgid "service extensions" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:20833 +msgid "" +"GuixSD services are connected by @dfn{extensions}. For instance, the secure " +"shell service @emph{extends} the Shepherd---the GuixSD initialization " +"system, running as PID@tie{}1---by giving it the command lines to start and " +"stop the secure shell daemon (@pxref{Networking Services, " +"@code{lsh-service}}); the UPower service extends the D-Bus service by " +"passing it its @file{.service} specification, and extends the udev service " +"by passing it device management rules (@pxref{Desktop Services, " +"@code{upower-service}}); the Guix daemon service extends the Shepherd by " +"passing it the command lines to start and stop the daemon, and extends the " +"account service by passing it a list of required build user accounts " +"(@pxref{Base Services})." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:20837 +msgid "" +"All in all, services and their ``extends'' relations form a directed acyclic " +"graph (DAG). If we represent services as boxes and extensions as arrows, a " +"typical system might provide something like this:" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:20839 +msgid "@image{images/service-graph,,5in,Typical service extension graph.}" +msgstr "" + +#. type: cindex +#: doc/guix.texi:20840 +#, no-wrap +msgid "system service" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:20848 +msgid "" +"At the bottom, we see the @dfn{system service}, which produces the directory " +"containing everything to run and boot the system, as returned by the " +"@command{guix system build} command. @xref{Service Reference}, to learn " +"about the other service types shown here. @xref{system-extension-graph, the " +"@command{guix system extension-graph} command}, for information on how to " +"generate this representation for a particular operating system definition." +msgstr "" + +#. type: cindex +#: doc/guix.texi:20849 +#, no-wrap +msgid "service types" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:20855 +msgid "" +"Technically, developers can define @dfn{service types} to express these " +"relations. There can be any number of services of a given type on the " +"system---for instance, a system running two instances of the GNU secure " +"shell server (lsh) has two instances of @var{lsh-service-type}, with " +"different parameters." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:20858 +msgid "" +"The following section describes the programming interface for service types " +"and services." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:20865 +msgid "" +"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 " +"(@pxref{Invoking guix-daemon}):" +msgstr "" + +#. type: example +#: doc/guix.texi:20875 +#, no-wrap +msgid "" +"(define guix-service-type\n" +" (service-type\n" +" (name 'guix)\n" +" (extensions\n" +" (list (service-extension shepherd-root-service-type " +"guix-shepherd-service)\n" +" (service-extension account-service-type guix-accounts)\n" +" (service-extension activation-service-type guix-activation)))\n" +" (default-value (guix-configuration))))\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:20879 +msgid "It defines three things:" +msgstr "" + +#. type: enumerate +#: doc/guix.texi:20883 +msgid "A name, whose sole purpose is to make inspection and debugging easier." +msgstr "" + +#. type: enumerate +#: doc/guix.texi:20888 +msgid "" +"A list of @dfn{service extensions}, where each extension designates the " +"target service type and a procedure that, given the parameters of the " +"service, returns a list of objects to extend the service of that type." +msgstr "" + +#. type: enumerate +#: doc/guix.texi:20891 +msgid "" +"Every service type has at least one service extension. The only exception " +"is the @dfn{boot service type}, which is the ultimate service." +msgstr "" + +#. type: enumerate +#: doc/guix.texi:20894 +msgid "Optionally, a default value for instances of this type." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:20897 +msgid "In this example, @var{guix-service-type} extends three services:" +msgstr "" + +#. type: item +#: doc/guix.texi:20899 +#, no-wrap +msgid "shepherd-root-service-type" +msgstr "" + +#. type: table +#: doc/guix.texi:20904 +msgid "" +"The @var{guix-shepherd-service} procedure defines how the Shepherd service " +"is extended. Namely, it returns a @code{<shepherd-service>} object that " +"defines how @command{guix-daemon} is started and stopped (@pxref{Shepherd " +"Services})." +msgstr "" + +#. type: item +#: doc/guix.texi:20905 +#, no-wrap +msgid "account-service-type" +msgstr "" + +#. type: table +#: doc/guix.texi:20910 +msgid "" +"This extension for this service is computed by @var{guix-accounts}, which " +"returns a list of @code{user-group} and @code{user-account} objects " +"representing the build user accounts (@pxref{Invoking guix-daemon})." +msgstr "" + +#. type: item +#: doc/guix.texi:20911 +#, no-wrap +msgid "activation-service-type" +msgstr "" + +#. type: table +#: doc/guix.texi:20915 +msgid "" +"Here @var{guix-activation} is a procedure that returns a gexp, which is a " +"code snippet to run at ``activation time''---e.g., when the service is " +"booted." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:20918 +msgid "A service of this type is instantiated like this:" +msgstr "" + +#. type: example +#: doc/guix.texi:20924 +#, no-wrap +msgid "" +"(service guix-service-type\n" +" (guix-configuration\n" +" (build-accounts 5)\n" +" (use-substitutes? #f)))\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:20932 +msgid "" +"The second argument to the @code{service} form is a value representing the " +"parameters of this specific service instance. " +"@xref{guix-configuration-type, @code{guix-configuration}}, for information " +"about the @code{guix-configuration} data type. When the value is omitted, " +"the default value specified by @code{guix-service-type} is used:" +msgstr "" + +#. type: example +#: doc/guix.texi:20935 +#, no-wrap +msgid "(service guix-service-type)\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:20939 +msgid "" +"@var{guix-service-type} is quite simple because it extends other services " +"but is not extensible itself." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:20943 +msgid "The service type for an @emph{extensible} service looks like this:" +msgstr "" + +#. type: example +#: doc/guix.texi:20950 +#, no-wrap +msgid "" +"(define udev-service-type\n" +" (service-type (name 'udev)\n" +" (extensions\n" +" (list (service-extension shepherd-root-service-type\n" +" udev-shepherd-service)))\n" +"\n" +msgstr "" + +#. type: example +#: doc/guix.texi:20958 +#, no-wrap +msgid "" +" (compose concatenate) ;concatenate the list of rules\n" +" (extend (lambda (config rules)\n" +" (match config\n" +" (($ <udev-configuration> udev initial-rules)\n" +" (udev-configuration\n" +" (udev udev) ;the udev package to use\n" +" (rules (append initial-rules rules)))))))))\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:20964 +msgid "" +"This is the service type for the " +"@uref{https://wiki.gentoo.org/wiki/Project:Eudev, eudev device management " +"daemon}. Compared to the previous example, in addition to an extension of " +"@var{shepherd-root-service-type}, we see two new fields:" +msgstr "" + +#. type: item +#: doc/guix.texi:20966 +#, no-wrap +msgid "compose" +msgstr "" + +#. type: table +#: doc/guix.texi:20969 +msgid "" +"This is the procedure to @dfn{compose} the list of extensions to services of " +"this type." +msgstr "" + +#. type: table +#: doc/guix.texi:20972 +msgid "" +"Services can extend the udev service by passing it lists of rules; we " +"compose those extensions simply by concatenating them." +msgstr "" + +#. type: item +#: doc/guix.texi:20973 +#, no-wrap +msgid "extend" +msgstr "" + +#. type: table +#: doc/guix.texi:20976 +msgid "" +"This procedure defines how the value of the service is @dfn{extended} with " +"the composition of the extensions." +msgstr "" + +#. type: table +#: doc/guix.texi:20981 +msgid "" +"Udev extensions are composed into a list of rules, but the udev service " +"value is itself a @code{<udev-configuration>} record. So here, we extend " +"that record by appending the list of rules it contains to the list of " +"contributed rules." +msgstr "" + +#. type: table +#: doc/guix.texi:20987 +msgid "" +"This is a string giving an overview of the service type. The string can " +"contain Texinfo markup (@pxref{Overview,,, texinfo, GNU Texinfo}). The " +"@command{guix system search} command searches these strings and displays " +"them (@pxref{Invoking guix system})." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:20992 +msgid "" +"There can be only one instance of an extensible service type such as " +"@var{udev-service-type}. If there were more, the @code{service-extension} " +"specifications would be ambiguous." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:20995 +msgid "" +"Still here? The next section provides a reference of the programming " +"interface for services." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21003 +msgid "" +"We have seen an overview of service types (@pxref{Service Types and " +"Services}). This section provides a reference on how to manipulate services " +"and service types. This interface is provided by the @code{(gnu services)} " +"module." +msgstr "" + +#. type: deffn +#: doc/guix.texi:21004 +#, no-wrap +msgid "{Scheme Procedure} service @var{type} [@var{value}]" +msgstr "" + +#. type: deffn +#: doc/guix.texi:21008 +msgid "" +"Return a new service of @var{type}, a @code{<service-type>} object (see " +"below.) @var{value} can be any object; it represents the parameters of this " +"particular service instance." +msgstr "" + +#. type: deffn +#: doc/guix.texi:21012 +msgid "" +"When @var{value} is omitted, the default value specified by @var{type} is " +"used; if @var{type} does not specify a default value, an error is raised." +msgstr "" + +#. type: deffn +#: doc/guix.texi:21014 +msgid "For instance, this:" +msgstr "" + +#. type: example +#: doc/guix.texi:21017 +#, no-wrap +msgid "(service openssh-service-type)\n" +msgstr "" + +#. type: deffn +#: doc/guix.texi:21021 +msgid "is equivalent to this:" +msgstr "" + +#. type: example +#: doc/guix.texi:21025 +#, no-wrap +msgid "" +"(service openssh-service-type\n" +" (openssh-configuration))\n" +msgstr "" + +#. type: deffn +#: doc/guix.texi:21029 +msgid "" +"In both cases the result is an instance of @code{openssh-service-type} with " +"the default configuration." +msgstr "" + +#. type: deffn +#: doc/guix.texi:21031 +#, no-wrap +msgid "{Scheme Procedure} service? @var{obj}" +msgstr "" + +#. type: deffn +#: doc/guix.texi:21033 +msgid "Return true if @var{obj} is a service." +msgstr "" + +#. type: deffn +#: doc/guix.texi:21035 +#, no-wrap +msgid "{Scheme Procedure} service-kind @var{service}" +msgstr "" + +#. type: deffn +#: doc/guix.texi:21037 +msgid "Return the type of @var{service}---i.e., a @code{<service-type>} object." +msgstr "" + +#. type: deffn +#: doc/guix.texi:21039 +#, no-wrap +msgid "{Scheme Procedure} service-value @var{service}" +msgstr "" + +#. type: deffn +#: doc/guix.texi:21042 +msgid "" +"Return the value associated with @var{service}. It represents its " +"parameters." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21045 +msgid "Here is an example of how a service is created and manipulated:" +msgstr "" + +#. type: example +#: doc/guix.texi:21054 +#, no-wrap +msgid "" +"(define s\n" +" (service nginx-service-type\n" +" (nginx-configuration\n" +" (nginx nginx)\n" +" (log-directory log-directory)\n" +" (run-directory run-directory)\n" +" (file config-file))))\n" +"\n" +msgstr "" + +#. type: example +#: doc/guix.texi:21057 +#, no-wrap +msgid "" +"(service? s)\n" +"@result{} #t\n" +"\n" +msgstr "" + +#. type: example +#: doc/guix.texi:21060 +#, no-wrap +msgid "" +"(eq? (service-kind s) nginx-service-type)\n" +"@result{} #t\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21070 +msgid "" +"The @code{modify-services} form provides a handy way to change the " +"parameters of some of the services of a list such as @var{%base-services} " +"(@pxref{Base Services, @code{%base-services}}). It evaluates to a list of " +"services. Of course, you could always use standard list combinators such as " +"@code{map} and @code{fold} to do that (@pxref{SRFI-1, List Library,, guile, " +"GNU Guile Reference Manual}); @code{modify-services} simply provides a more " +"concise form for this common pattern." +msgstr "" + +#. type: deffn +#: doc/guix.texi:21071 +#, no-wrap +msgid "{Scheme Syntax} modify-services @var{services} @" +msgstr "" + +#. type: deffn +#: doc/guix.texi:21073 +msgid "(@var{type} @var{variable} => @var{body}) @dots{}" +msgstr "" + +#. type: deffn +#: doc/guix.texi:21076 +msgid "" +"Modify the services listed in @var{services} according to the given " +"clauses. Each clause has the form:" +msgstr "" + +#. type: example +#: doc/guix.texi:21079 +#, no-wrap +msgid "(@var{type} @var{variable} => @var{body})\n" +msgstr "" + +#. type: deffn +#: doc/guix.texi:21086 +msgid "" +"where @var{type} is a service type---e.g., @code{guix-service-type}---and " +"@var{variable} is an identifier that is bound within the @var{body} to the " +"service parameters---e.g., a @code{guix-configuration} instance---of the " +"original service of that @var{type}." +msgstr "" + +#. type: deffn +#: doc/guix.texi:21093 +msgid "" +"The @var{body} should evaluate to the new service parameters, which will be " +"used to configure the new service. This new service will replace the " +"original in the resulting list. Because a service's service parameters are " +"created using @code{define-record-type*}, you can write a succinct " +"@var{body} that evaluates to the new service parameters by using the " +"@code{inherit} feature that @code{define-record-type*} provides." +msgstr "" + +#. type: deffn +#: doc/guix.texi:21095 +msgid "@xref{Using the Configuration System}, for example usage." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21102 +msgid "" +"Next comes the programming interface for service types. This is something " +"you want to know when writing new service definitions, but not necessarily " +"when simply looking for ways to customize your @code{operating-system} " +"declaration." +msgstr "" + +#. type: deftp +#: doc/guix.texi:21103 +#, no-wrap +msgid "{Data Type} service-type" +msgstr "" + +#. type: cindex +#: doc/guix.texi:21104 +#, no-wrap +msgid "service type" +msgstr "" + +#. type: deftp +#: doc/guix.texi:21107 +msgid "" +"This is the representation of a @dfn{service type} (@pxref{Service Types and " +"Services})." +msgstr "" + +#. type: table +#: doc/guix.texi:21111 +msgid "This is a symbol, used only to simplify inspection and debugging." +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:21112 +#, no-wrap +msgid "extensions" +msgstr "" + +#. type: table +#: doc/guix.texi:21114 +msgid "A non-empty list of @code{<service-extension>} objects (see below)." +msgstr "" + +#. type: item +#: doc/guix.texi:21115 +#, no-wrap +msgid "@code{compose} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:21119 +msgid "" +"If this is @code{#f}, then the service type denotes services that cannot be " +"extended---i.e., services that do not receive ``values'' from other " +"services." +msgstr "" + +#. type: table +#: doc/guix.texi:21123 +msgid "" +"Otherwise, it must be a one-argument procedure. The procedure is called by " +"@code{fold-services} and is passed a list of values collected from " +"extensions. It may return any single value." +msgstr "" + +#. type: item +#: doc/guix.texi:21124 +#, no-wrap +msgid "@code{extend} (default: @code{#f})" +msgstr "" + +#. type: table +#: doc/guix.texi:21126 +msgid "If this is @code{#f}, services of this type cannot be extended." +msgstr "" + +#. type: table +#: doc/guix.texi:21132 +msgid "" +"Otherwise, it must be a two-argument procedure: @code{fold-services} calls " +"it, passing it the initial value of the service as the first argument and " +"the result of applying @code{compose} to the extension values as the second " +"argument. It must return a value that is a valid parameter value for the " +"service instance." +msgstr "" + +#. type: deftp +#: doc/guix.texi:21135 +msgid "@xref{Service Types and Services}, for examples." +msgstr "" + +#. type: deffn +#: doc/guix.texi:21137 +#, no-wrap +msgid "{Scheme Procedure} service-extension @var{target-type} @" +msgstr "" + +#. type: deffn +#: doc/guix.texi:21143 +msgid "" +"@var{compute} Return a new extension for services of type " +"@var{target-type}. @var{compute} must be a one-argument procedure: " +"@code{fold-services} calls it, passing it the value associated with the " +"service that provides the extension; it must return a valid value for the " +"target service." +msgstr "" + +#. type: deffn +#: doc/guix.texi:21145 +#, no-wrap +msgid "{Scheme Procedure} service-extension? @var{obj}" +msgstr "" + +#. type: deffn +#: doc/guix.texi:21147 +msgid "Return true if @var{obj} is a service extension." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21153 +msgid "" +"Occasionally, you might want to simply extend an existing service. This " +"involves creating a new service type and specifying the extension of " +"interest, which can be verbose; the @code{simple-service} procedure provides " +"a shorthand for this." +msgstr "" + +#. type: deffn +#: doc/guix.texi:21154 +#, no-wrap +msgid "{Scheme Procedure} simple-service @var{name} @var{target} @var{value}" +msgstr "" + +#. type: deffn +#: doc/guix.texi:21158 +msgid "" +"Return a service that extends @var{target} with @var{value}. This works by " +"creating a singleton service type @var{name}, of which the returned service " +"is an instance." +msgstr "" + +#. type: deffn +#: doc/guix.texi:21161 +msgid "" +"For example, this extends mcron (@pxref{Scheduled Job Execution}) with an " +"additional job:" +msgstr "" + +#. type: example +#: doc/guix.texi:21165 +#, no-wrap +msgid "" +"(simple-service 'my-mcron-job mcron-service-type\n" +" #~(job '(next-hour (3)) \"guix gc -F 2G\"))\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21175 +msgid "" +"At the core of the service abstraction lies the @code{fold-services} " +"procedure, which is responsible for ``compiling'' a list of services down to " +"a single directory that contains everything needed to boot and run the " +"system---the directory shown by the @command{guix system build} command " +"(@pxref{Invoking guix system}). In essence, it propagates service " +"extensions down the service graph, updating each node parameters on the way, " +"until it reaches the root node." +msgstr "" + +#. type: deffn +#: doc/guix.texi:21176 +#, no-wrap +msgid "{Scheme Procedure} fold-services @var{services} @" +msgstr "" + +#. type: deffn +#: doc/guix.texi:21180 +msgid "" +"[#:target-type @var{system-service-type}] Fold @var{services} by propagating " +"their extensions down to the root of type @var{target-type}; return the root " +"service adjusted accordingly." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21184 +msgid "" +"Lastly, the @code{(gnu services)} module also defines several essential " +"service types, some of which are listed below." +msgstr "" + +#. type: defvr +#: doc/guix.texi:21185 +#, no-wrap +msgid "{Scheme Variable} system-service-type" +msgstr "" + +#. type: defvr +#: doc/guix.texi:21188 +msgid "" +"This is the root of the service graph. It produces the system directory as " +"returned by the @command{guix system build} command." +msgstr "" + +#. type: defvr +#: doc/guix.texi:21190 +#, no-wrap +msgid "{Scheme Variable} boot-service-type" +msgstr "" + +#. type: defvr +#: doc/guix.texi:21193 +msgid "" +"The type of the ``boot service'', which produces the @dfn{boot script}. The " +"boot script is what the initial RAM disk runs when booting." +msgstr "" + +#. type: defvr +#: doc/guix.texi:21195 +#, no-wrap +msgid "{Scheme Variable} etc-service-type" +msgstr "" + +#. type: defvr +#: doc/guix.texi:21199 +msgid "" +"The type of the @file{/etc} service. This service is used to create files " +"under @file{/etc} and can be extended by passing it name/file tuples such " +"as:" +msgstr "" + +#. type: example +#: doc/guix.texi:21202 +#, no-wrap +msgid "(list `(\"issue\" ,(plain-file \"issue\" \"Welcome!\\n\")))\n" +msgstr "" + +#. type: defvr +#: doc/guix.texi:21206 +msgid "" +"In this example, the effect would be to add an @file{/etc/issue} file " +"pointing to the given file." +msgstr "" + +#. type: defvr +#: doc/guix.texi:21208 +#, no-wrap +msgid "{Scheme Variable} setuid-program-service-type" +msgstr "" + +#. type: defvr +#: doc/guix.texi:21212 +msgid "" +"Type for the ``setuid-program service''. This service collects lists of " +"executable file names, passed as gexps, and adds them to the set of " +"setuid-root programs on the system (@pxref{Setuid Programs})." +msgstr "" + +#. type: defvr +#: doc/guix.texi:21214 +#, no-wrap +msgid "{Scheme Variable} profile-service-type" +msgstr "" + +#. type: defvr +#: doc/guix.texi:21218 +msgid "" +"Type of the service that populates the @dfn{system profile}---i.e., the " +"programs under @file{/run/current-system/profile}. Other services can " +"extend it by passing it lists of packages to add to the system profile." +msgstr "" + +#. type: cindex +#: doc/guix.texi:21224 +#, no-wrap +msgid "shepherd services" +msgstr "" + +#. type: cindex +#: doc/guix.texi:21225 +#, no-wrap +msgid "PID 1" +msgstr "" + +#. type: cindex +#: doc/guix.texi:21226 +#, no-wrap +msgid "init system" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21232 +msgid "" +"The @code{(gnu services shepherd)} module provides a way to define services " +"managed by the GNU@tie{}Shepherd, which is the GuixSD initialization " +"system---the first process that is started when the system boots, also known " +"as PID@tie{}1 (@pxref{Introduction,,, shepherd, The GNU Shepherd Manual})." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21238 +msgid "" +"Services in the Shepherd can depend on each other. For instance, the SSH " +"daemon may need to be started after the syslog daemon has been started, " +"which in turn can only happen once all the file systems have been mounted. " +"The simple operating system defined earlier (@pxref{Using the Configuration " +"System}) results in a service graph like this:" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21240 +msgid "@image{images/shepherd-graph,,5in,Typical shepherd service graph.}" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21244 +msgid "" +"You can actually generate such a graph for any operating system definition " +"using the @command{guix system shepherd-graph} command " +"(@pxref{system-shepherd-graph, @command{guix system shepherd-graph}})." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21248 +msgid "" +"The @var{%shepherd-root-service} is a service object representing " +"PID@tie{}1, of type @var{shepherd-root-service-type}; it can be extended by " +"passing it lists of @code{<shepherd-service>} objects." +msgstr "" + +#. type: deftp +#: doc/guix.texi:21249 +#, no-wrap +msgid "{Data Type} shepherd-service" +msgstr "" + +#. type: deftp +#: doc/guix.texi:21251 +msgid "The data type representing a service managed by the Shepherd." +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:21253 +#, no-wrap +msgid "provision" +msgstr "" + +#. type: table +#: doc/guix.texi:21255 +msgid "This is a list of symbols denoting what the service provides." +msgstr "" + +#. type: table +#: doc/guix.texi:21260 +msgid "" +"These are the names that may be passed to @command{herd start}, " +"@command{herd status}, and similar commands (@pxref{Invoking herd,,, " +"shepherd, The GNU Shepherd Manual}). @xref{Slots of services, the " +"@code{provides} slot,, shepherd, The GNU Shepherd Manual}, for details." +msgstr "" + +#. type: item +#: doc/guix.texi:21261 +#, no-wrap +msgid "@code{requirements} (default: @code{'()})" +msgstr "" + +#. type: table +#: doc/guix.texi:21263 +msgid "List of symbols denoting the Shepherd services this one depends on." +msgstr "" + +#. type: item +#: doc/guix.texi:21264 +#, no-wrap +msgid "@code{respawn?} (default: @code{#t})" +msgstr "" + +#. type: table +#: doc/guix.texi:21267 +msgid "" +"Whether to restart the service when it stops, for instance when the " +"underlying process dies." +msgstr "" + +#. type: code{#1} +#: doc/guix.texi:21268 +#, no-wrap +msgid "start" +msgstr "" + +#. type: itemx +#: doc/guix.texi:21269 +#, no-wrap +msgid "@code{stop} (default: @code{#~(const #f)})" +msgstr "" + +#. type: table +#: doc/guix.texi:21275 +msgid "" +"The @code{start} and @code{stop} fields refer to the Shepherd's facilities " +"to start and stop processes (@pxref{Service De- and Constructors,,, " +"shepherd, The GNU Shepherd Manual}). They are given as G-expressions that " +"get expanded in the Shepherd configuration file (@pxref{G-Expressions})." +msgstr "" + +#. type: table +#: doc/guix.texi:21278 +msgid "A documentation string, as shown when running:" +msgstr "" + +#. type: example +#: doc/guix.texi:21281 +#, no-wrap +msgid "herd doc @var{service-name}\n" +msgstr "" + +#. type: table +#: doc/guix.texi:21285 +msgid "" +"where @var{service-name} is one of the symbols in @var{provision} " +"(@pxref{Invoking herd,,, shepherd, The GNU Shepherd Manual})." +msgstr "" + +#. type: item +#: doc/guix.texi:21286 +#, no-wrap +msgid "@code{modules} (default: @var{%default-modules})" +msgstr "" + +#. type: table +#: doc/guix.texi:21289 +msgid "" +"This is the list of modules that must be in scope when @code{start} and " +"@code{stop} are evaluated." +msgstr "" + +#. type: defvr +#: doc/guix.texi:21293 +#, no-wrap +msgid "{Scheme Variable} shepherd-root-service-type" +msgstr "" + +#. type: defvr +#: doc/guix.texi:21295 +msgid "The service type for the Shepherd ``root service''---i.e., PID@tie{}1." +msgstr "" + +#. type: defvr +#: doc/guix.texi:21299 +msgid "" +"This is the service type that extensions target when they want to create " +"shepherd services (@pxref{Service Types and Services}, for an example). " +"Each extension must pass a list of @code{<shepherd-service>}." +msgstr "" + +#. type: defvr +#: doc/guix.texi:21301 +#, no-wrap +msgid "{Scheme Variable} %shepherd-root-service" +msgstr "" + +#. type: defvr +#: doc/guix.texi:21303 +msgid "This service represents PID@tie{}1." +msgstr "" + +#. type: cindex +#: doc/guix.texi:21309 +#, no-wrap +msgid "documentation, searching for" +msgstr "" + +#. type: cindex +#: doc/guix.texi:21310 +#, no-wrap +msgid "searching for documentation" +msgstr "" + +#. type: cindex +#: doc/guix.texi:21311 +#, no-wrap +msgid "Info, documentation format" +msgstr "" + +#. type: cindex +#: doc/guix.texi:21312 +#, no-wrap +msgid "man pages" +msgstr "" + +#. type: cindex +#: doc/guix.texi:21313 +#, no-wrap +msgid "manual pages" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21320 +msgid "" +"In most cases packages installed with Guix come with documentation. There " +"are two main documentation formats: ``Info'', a browseable hypertext format " +"used for GNU software, and ``manual pages'' (or ``man pages''), the linear " +"documentation format traditionally found on Unix. Info manuals are accessed " +"with the @command{info} command or with Emacs, and man pages are accessed " +"using @command{man}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21324 +msgid "" +"You can look for documentation of software installed on your system by " +"keyword. For example, the following command searches for information about " +"``TLS'' in Info manuals:" +msgstr "" + +#. type: example +#: doc/guix.texi:21332 +#, no-wrap +msgid "" +"$ info -k TLS\n" +"\"(emacs)Network Security\" -- STARTTLS\n" +"\"(emacs)Network Security\" -- TLS\n" +"\"(gnutls)Core TLS API\" -- gnutls_certificate_set_verify_flags\n" +"\"(gnutls)Core TLS API\" -- gnutls_certificate_set_verify_function\n" +"@dots{}\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21336 +msgid "The command below searches for the same keyword in man pages:" +msgstr "" + +#. type: example +#: doc/guix.texi:21342 +#, no-wrap +msgid "" +"$ man -k TLS\n" +"SSL (7) - OpenSSL SSL/TLS library\n" +"certtool (1) - GnuTLS certificate tool\n" +"@dots {}\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21348 +msgid "" +"These searches are purely local to your computer so you have the guarantee " +"that documentation you find corresponds to what you have actually installed, " +"you can access it off-line, and your privacy is respected." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21351 +msgid "" +"Once you have these results, you can view the relevant documentation by " +"running, say:" +msgstr "" + +#. type: example +#: doc/guix.texi:21354 +#, no-wrap +msgid "$ info \"(gnutls)Core TLS API\"\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21358 +msgid "or:" +msgstr "" + +#. type: example +#: doc/guix.texi:21361 +#, no-wrap +msgid "$ man certtool\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21369 +msgid "" +"Info manuals contain sections and indices as well as hyperlinks like those " +"found in Web pages. The @command{info} reader (@pxref{Top, Info reader,, " +"info-stnd, Stand-alone GNU Info}) and its Emacs counterpart (@pxref{Misc " +"Help,,, emacs, The GNU Emacs Manual}) provide intuitive key bindings to " +"navigate manuals. @xref{Getting Started,,, info, Info: An Introduction}, " +"for an introduction to Info navigation." +msgstr "" + +#. type: cindex +#: doc/guix.texi:21373 +#, no-wrap +msgid "debugging files" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21379 +msgid "" +"Program binaries, as produced by the GCC compilers for instance, are " +"typically written in the ELF format, with a section containing " +"@dfn{debugging information}. Debugging information is what allows the " +"debugger, GDB, to map binary code to source code; it is required to debug a " +"compiled program in good conditions." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21387 +msgid "" +"The problem with debugging information is that is takes up a fair amount of " +"disk space. For example, debugging information for the GNU C Library weighs " +"in at more than 60 MiB. Thus, as a user, keeping all the debugging info of " +"all the installed programs is usually not an option. Yet, space savings " +"should not come at the cost of an impediment to debugging---especially in " +"the GNU system, which should make it easier for users to exert their " +"computing freedom (@pxref{GNU Distribution})." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21394 +msgid "" +"Thankfully, the GNU Binary Utilities (Binutils) and GDB provide a mechanism " +"that allows users to get the best of both worlds: debugging information can " +"be stripped from the binaries and stored in separate files. GDB is then " +"able to load debugging information from those files, when they are available " +"(@pxref{Separate Debug Files,,, gdb, Debugging with GDB})." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21402 +msgid "" +"The GNU distribution takes advantage of this by storing debugging " +"information in the @code{lib/debug} sub-directory of a separate package " +"output unimaginatively called @code{debug} (@pxref{Packages with Multiple " +"Outputs}). Users can choose to install the @code{debug} output of a package " +"when they need it. For instance, the following command installs the " +"debugging information for the GNU C Library and for GNU Guile:" +msgstr "" + +#. type: example +#: doc/guix.texi:21405 +#, no-wrap +msgid "guix package -i glibc:debug guile:debug\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21411 +msgid "" +"GDB must then be told to look for debug files in the user's profile, by " +"setting the @code{debug-file-directory} variable (consider setting it from " +"the @file{~/.gdbinit} file, @pxref{Startup,,, gdb, Debugging with GDB}):" +msgstr "" + +#. type: example +#: doc/guix.texi:21414 +#, no-wrap +msgid "(gdb) set debug-file-directory ~/.guix-profile/lib/debug\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21418 +msgid "" +"From there on, GDB will pick up debugging information from the @code{.debug} " +"files under @file{~/.guix-profile/lib/debug}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21425 +msgid "" +"In addition, you will most likely want GDB to be able to show the source " +"code being debugged. To do that, you will have to unpack the source code of " +"the package of interest (obtained with @code{guix build --source}, " +"@pxref{Invoking guix build}), and to point GDB to that source directory " +"using the @code{directory} command (@pxref{Source Path, @code{directory},, " +"gdb, Debugging with GDB})." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21434 +msgid "" +"The @code{debug} output mechanism in Guix is implemented by the " +"@code{gnu-build-system} (@pxref{Build Systems}). Currently, it is " +"opt-in---debugging information is available only for the packages with " +"definitions explicitly declaring a @code{debug} output. This may be changed " +"to opt-out in the future if our build farm servers can handle the load. To " +"check whether a package has a @code{debug} output, use @command{guix package " +"--list-available} (@pxref{Invoking guix package})." +msgstr "" + +#. type: cindex +#: doc/guix.texi:21439 +#, no-wrap +msgid "security updates" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21448 +msgid "" +"Occasionally, important security vulnerabilities are discovered in software " +"packages and must be patched. Guix developers try hard to keep track of " +"known vulnerabilities and to apply fixes as soon as possible in the " +"@code{master} branch of Guix (we do not yet provide a ``stable'' branch " +"containing only security updates.) The @command{guix lint} tool helps " +"developers find out about vulnerable versions of software packages in the " +"distribution:" +msgstr "" + +#. type: smallexample +#: doc/guix.texi:21455 +#, no-wrap +msgid "" +"$ guix lint -c cve\n" +"gnu/packages/base.scm:652:2: glibc@@2.21: probably vulnerable to " +"CVE-2015-1781, CVE-2015-7547\n" +"gnu/packages/gcc.scm:334:2: gcc@@4.9.3: probably vulnerable to " +"CVE-2015-5276\n" +"gnu/packages/image.scm:312:2: openjpeg@@2.1.0: probably vulnerable to " +"CVE-2016-1923, CVE-2016-1924\n" +"@dots{}\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21458 +msgid "@xref{Invoking guix lint}, for more information." +msgstr "" + +#. type: quotation +#: doc/guix.texi:21462 +msgid "" +"As of version @value{VERSION}, the feature described below is considered " +"``beta''." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21472 +msgid "" +"Guix follows a functional package management discipline " +"(@pxref{Introduction}), which implies that, when a package is changed, " +"@emph{every package that depends on it} must be rebuilt. This can " +"significantly slow down the deployment of fixes in core packages such as " +"libc or Bash, since basically the whole distribution would need to be " +"rebuilt. Using pre-built binaries helps (@pxref{Substitutes}), but " +"deployment may still take more time than desired." +msgstr "" + +#. type: cindex +#: doc/guix.texi:21473 +#, no-wrap +msgid "grafts" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21481 +msgid "" +"To address this, Guix implements @dfn{grafts}, a mechanism that allows for " +"fast deployment of critical updates without the costs associated with a " +"whole-distribution rebuild. The idea is to rebuild only the package that " +"needs to be patched, and then to ``graft'' it onto packages explicitly " +"installed by the user and that were previously referring to the original " +"package. The cost of grafting is typically very low, and order of " +"magnitudes lower than a full rebuild of the dependency chain." +msgstr "" + +#. type: cindex +#: doc/guix.texi:21482 +#, no-wrap +msgid "replacements of packages, for grafts" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21488 +msgid "" +"For instance, suppose a security update needs to be applied to Bash. Guix " +"developers will provide a package definition for the ``fixed'' Bash, say " +"@var{bash-fixed}, in the usual way (@pxref{Defining Packages}). Then, the " +"original package definition is augmented with a @code{replacement} field " +"pointing to the package containing the bug fix:" +msgstr "" + +#. type: example +#: doc/guix.texi:21495 +#, no-wrap +msgid "" +"(define bash\n" +" (package\n" +" (name \"bash\")\n" +" ;; @dots{}\n" +" (replacement bash-fixed)))\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21505 +msgid "" +"From there on, any package depending directly or indirectly on Bash---as " +"reported by @command{guix gc --requisites} (@pxref{Invoking guix gc})---that " +"is installed is automatically ``rewritten'' to refer to @var{bash-fixed} " +"instead of @var{bash}. This grafting process takes time proportional to the " +"size of the package, usually less than a minute for an ``average'' package " +"on a recent machine. Grafting is recursive: when an indirect dependency " +"requires grafting, then grafting ``propagates'' up to the package that the " +"user is installing." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21513 +msgid "" +"Currently, the length of the name and version of the graft and that of the " +"package it replaces (@var{bash-fixed} and @var{bash} in the example above) " +"must be equal. This restriction mostly comes from the fact that grafting " +"works by patching files, including binary files, directly. Other " +"restrictions may apply: for instance, when adding a graft to a package " +"providing a shared library, the original shared library and its replacement " +"must have the same @code{SONAME} and be binary-compatible." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21517 +msgid "" +"The @option{--no-grafts} command-line option allows you to forcefully avoid " +"grafting (@pxref{Common Build Options, @option{--no-grafts}}). Thus, the " +"command:" +msgstr "" + +#. type: example +#: doc/guix.texi:21520 +#, no-wrap +msgid "guix build bash --no-grafts\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21524 +msgid "returns the store file name of the original Bash, whereas:" +msgstr "" + +#. type: example +#: doc/guix.texi:21527 +#, no-wrap +msgid "guix build bash\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21532 +msgid "" +"returns the store file name of the ``fixed'', replacement Bash. This allows " +"you to distinguish between the two variants of Bash." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21535 +msgid "" +"To verify which Bash your whole profile refers to, you can run " +"(@pxref{Invoking guix gc}):" +msgstr "" + +#. type: example +#: doc/guix.texi:21538 +#, no-wrap +msgid "guix gc -R `readlink -f ~/.guix-profile` | grep bash\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21543 +msgid "" +"@dots{} and compare the store file names that you get with those above. " +"Likewise for a complete GuixSD system generation:" +msgstr "" + +#. type: example +#: doc/guix.texi:21546 +#, no-wrap +msgid "guix gc -R `guix system build my-config.scm` | grep bash\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21550 +msgid "" +"Lastly, to check which Bash running processes are using, you can use the " +"@command{lsof} command:" +msgstr "" + +#. type: example +#: doc/guix.texi:21553 +#, no-wrap +msgid "lsof | grep /gnu/store/.*bash\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21570 +msgid "" +"From a programming viewpoint, the package definitions of the GNU " +"distribution are provided by Guile modules in the @code{(gnu packages " +"@dots{})} name space@footnote{Note that packages under the @code{(gnu " +"packages @dots{})} module name space are not necessarily ``GNU packages''. " +"This module naming scheme follows the usual Guile module naming convention: " +"@code{gnu} means that these modules are distributed as part of the GNU " +"system, and @code{packages} identifies modules that define packages.} " +"(@pxref{Modules, Guile modules,, guile, GNU Guile Reference Manual}). For " +"instance, the @code{(gnu packages emacs)} module exports a variable named " +"@code{emacs}, which is bound to a @code{<package>} object (@pxref{Defining " +"Packages})." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21577 +msgid "" +"The @code{(gnu packages @dots{})} module name space is automatically scanned " +"for packages by the command-line tools. For instance, when running " +"@code{guix package -i emacs}, all the @code{(gnu packages @dots{})} modules " +"are scanned until one that exports a package object whose name is " +"@code{emacs} is found. This package search facility is implemented in the " +"@code{(gnu packages)} module." +msgstr "" + +#. type: cindex +#: doc/guix.texi:21579 +#, no-wrap +msgid "package module search path" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21596 +msgid "" +"Users can store package definitions in modules with different names---e.g., " +"@code{(my-packages emacs)}@footnote{Note that the file name and module name " +"must match. For instance, the @code{(my-packages emacs)} module must be " +"stored in a @file{my-packages/emacs.scm} file relative to the load path " +"specified with @option{--load-path} or @code{GUIX_PACKAGE_PATH}. " +"@xref{Modules and the File System,,, guile, GNU Guile Reference Manual}, for " +"details.}. These package definitions will not be visible by default. Users " +"can invoke commands such as @command{guix package} and @command{guix build} " +"with the @code{-e} option so that they know where to find the package. " +"Better yet, they can use the @code{-L} option of these commands to make " +"those modules visible (@pxref{Invoking guix build, @code{--load-path}}), or " +"define the @code{GUIX_PACKAGE_PATH} environment variable. This environment " +"variable makes it easy to extend or customize the distribution and is " +"honored by all the user interfaces." +msgstr "" + +#. type: defvr +#: doc/guix.texi:21597 +#, no-wrap +msgid "{Environment Variable} GUIX_PACKAGE_PATH" +msgstr "" + +#. type: defvr +#: doc/guix.texi:21601 +msgid "" +"This is a colon-separated list of directories to search for additional " +"package modules. Directories listed in this variable take precedence over " +"the own modules of the distribution." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21609 +msgid "" +"The distribution is fully @dfn{bootstrapped} and @dfn{self-contained}: each " +"package is built based solely on other packages in the distribution. The " +"root of this dependency graph is a small set of @dfn{bootstrap binaries}, " +"provided by the @code{(gnu packages bootstrap)} module. For more " +"information on bootstrapping, @pxref{Bootstrapping}." +msgstr "" + +#. type: cindex +#: doc/guix.texi:21613 +#, no-wrap +msgid "packages, creating" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21618 +msgid "" +"The GNU distribution is nascent and may well lack some of your favorite " +"packages. This section describes how you can help make the distribution " +"grow. @xref{Contributing}, for additional information on how you can help." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21626 +msgid "" +"Free software packages are usually distributed in the form of @dfn{source " +"code tarballs}---typically @file{tar.gz} files that contain all the source " +"files. Adding a package to the distribution means essentially two things: " +"adding a @dfn{recipe} that describes how to build the package, including a " +"list of other packages required to build it, and adding @dfn{package " +"metadata} along with that recipe, such as a description and licensing " +"information." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21635 +msgid "" +"In Guix all this information is embodied in @dfn{package definitions}. " +"Package definitions provide a high-level view of the package. They are " +"written using the syntax of the Scheme programming language; in fact, for " +"each package we define a variable bound to the package definition, and " +"export that variable from a module (@pxref{Package Modules}). However, " +"in-depth Scheme knowledge is @emph{not} a prerequisite for creating " +"packages. For more information on package definitions, @pxref{Defining " +"Packages}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21641 +msgid "" +"Once a package definition is in place, stored in a file in the Guix source " +"tree, it can be tested using the @command{guix build} command " +"(@pxref{Invoking guix build}). For example, assuming the new package is " +"called @code{gnew}, you may run this command from the Guix build tree " +"(@pxref{Running Guix Before It Is Installed}):" +msgstr "" + +#. type: example +#: doc/guix.texi:21644 +#, no-wrap +msgid "./pre-inst-env guix build gnew --keep-failed\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21650 +msgid "" +"Using @code{--keep-failed} makes it easier to debug build failures since it " +"provides access to the failed build tree. Another useful command-line " +"option when debugging is @code{--log-file}, to access the build log." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21655 +msgid "" +"If the package is unknown to the @command{guix} command, it may be that the " +"source file contains a syntax error, or lacks a @code{define-public} clause " +"to export the package variable. To figure it out, you may load the module " +"from Guile to get more information about the actual error:" +msgstr "" + +#. type: example +#: doc/guix.texi:21658 +#, no-wrap +msgid "./pre-inst-env guile -c '(use-modules (gnu packages gnew))'\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21666 +msgid "" +"Once your package builds correctly, please send us a patch " +"(@pxref{Contributing}). Well, if you need help, we will be happy to help " +"you too. Once the patch is committed in the Guix repository, the new " +"package automatically gets built on the supported platforms by " +"@url{http://hydra.gnu.org/jobset/gnu/master, our continuous integration " +"system}." +msgstr "" + +#. type: cindex +#: doc/guix.texi:21667 +#, no-wrap +msgid "substituter" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21674 +msgid "" +"Users can obtain the new package definition simply by running @command{guix " +"pull} (@pxref{Invoking guix pull}). When @code{hydra.gnu.org} is done " +"building the package, installing the package automatically downloads " +"binaries from there (@pxref{Substitutes}). The only place where human " +"intervention is needed is to review and apply the patch." +msgstr "" + +#. type: cindex +#: doc/guix.texi:21691 +#, no-wrap +msgid "free software" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21699 +msgid "" +"The GNU operating system has been developed so that users can have freedom " +"in their computing. GNU is @dfn{free software}, meaning that users have the " +"@url{http://www.gnu.org/philosophy/free-sw.html,four essential freedoms}: to " +"run the program, to study and change the program in source code form, to " +"redistribute exact copies, and to distribute modified versions. Packages " +"found in the GNU distribution provide only software that conveys these four " +"freedoms." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21705 +msgid "" +"In addition, the GNU distribution follow the " +"@url{http://www.gnu.org/distros/free-system-distribution-guidelines.html,free " +"software distribution guidelines}. Among other things, these guidelines " +"reject non-free firmware, recommendations of non-free software, and discuss " +"ways to deal with trademarks and patents." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21713 +msgid "" +"Some otherwise free upstream package sources contain a small and optional " +"subset that violates the above guidelines, for instance because this subset " +"is itself non-free code. When that happens, the offending items are removed " +"with appropriate patches or code snippets in the @code{origin} form of the " +"package (@pxref{Defining Packages}). This way, @code{guix build --source} " +"returns the ``freed'' source rather than the unmodified upstream source." +msgstr "" + +#. type: cindex +#: doc/guix.texi:21718 +#, no-wrap +msgid "package name" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21726 +msgid "" +"A package has actually two names associated with it: First, there is the " +"name of the @emph{Scheme variable}, the one following @code{define-public}. " +"By this name, the package can be made known in the Scheme code, for instance " +"as input to another package. Second, there is the string in the @code{name} " +"field of a package definition. This name is used by package management " +"commands such as @command{guix package} and @command{guix build}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21731 +msgid "" +"Both are usually the same and correspond to the lowercase conversion of the " +"project name chosen upstream, with underscores replaced with hyphens. For " +"instance, GNUnet is available as @code{gnunet}, and SDL_net as " +"@code{sdl-net}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21736 +msgid "" +"We do not add @code{lib} prefixes for library packages, unless these are " +"already part of the official project name. But @pxref{Python Modules} and " +"@ref{Perl Modules} for special rules concerning modules for the Python and " +"Perl languages." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21738 +msgid "Font package names are handled differently, @pxref{Fonts}." +msgstr "" + +#. type: cindex +#: doc/guix.texi:21743 +#, no-wrap +msgid "package version" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21752 +msgid "" +"We usually package only the latest version of a given free software " +"project. But sometimes, for instance for incompatible library versions, two " +"(or more) versions of the same package are needed. These require different " +"Scheme variable names. We use the name as defined in @ref{Package Naming} " +"for the most recent version; previous versions use the same name, suffixed " +"by @code{-} and the smallest prefix of the version number that may " +"distinguish the two versions." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21755 +msgid "" +"The name inside the package definition is the same for all versions of a " +"package and does not contain any version number." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21757 +msgid "" +"For instance, the versions 2.24.20 and 3.9.12 of GTK+ may be packaged as " +"follows:" +msgstr "" + +#. type: example +#: doc/guix.texi:21769 +#, no-wrap +msgid "" +"(define-public gtk+\n" +" (package\n" +" (name \"gtk+\")\n" +" (version \"3.9.12\")\n" +" ...))\n" +"(define-public gtk+-2\n" +" (package\n" +" (name \"gtk+\")\n" +" (version \"2.24.20\")\n" +" ...))\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21771 +msgid "If we also wanted GTK+ 3.8.2, this would be packaged as" +msgstr "" + +#. type: example +#: doc/guix.texi:21777 +#, no-wrap +msgid "" +"(define-public gtk+-3.8\n" +" (package\n" +" (name \"gtk+\")\n" +" (version \"3.8.2\")\n" +" ...))\n" +msgstr "" + +#. type: cindex +#: doc/guix.texi:21781 +#, no-wrap +msgid "version number, for VCS snapshots" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21787 +msgid "" +"Occasionally, we package snapshots of upstream's version control system " +"(VCS) instead of formal releases. This should remain exceptional, because " +"it is up to upstream developers to clarify what the stable release is. Yet, " +"it is sometimes necessary. So, what should we put in the @code{version} " +"field?" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21795 +msgid "" +"Clearly, we need to make the commit identifier of the VCS snapshot visible " +"in the version string, but we also need to make sure that the version string " +"is monotonically increasing so that @command{guix package --upgrade} can " +"determine which version is newer. Since commit identifiers, notably with " +"Git, are not monotonically increasing, we add a revision number that we " +"increase each time we upgrade to a newer snapshot. The resulting version " +"string looks like this:" +msgstr "" + +#. type: example +#: doc/guix.texi:21804 +#, no-wrap +msgid "" +"2.0.11-3.cabba9e\n" +" ^ ^ ^\n" +" | | `-- upstream commit ID\n" +" | |\n" +" | `--- Guix package revision\n" +" |\n" +"latest upstream version\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21813 +msgid "" +"It is a good idea to strip commit identifiers in the @code{version} field " +"to, say, 7 digits. It avoids an aesthetic annoyance (assuming aesthetics " +"have a role to play here) as well as problems related to OS limits such as " +"the maximum shebang length (127 bytes for the Linux kernel.) It is best to " +"use the full commit identifiers in @code{origin}s, though, to avoid " +"ambiguities. A typical package definition may look like this:" +msgstr "" + +#. type: example +#: doc/guix.texi:21829 +#, no-wrap +msgid "" +"(define my-package\n" +" (let ((commit \"c3f29bc928d5900971f65965feaae59e1272a3f7\")\n" +" (revision \"1\")) ;Guix package revision\n" +" (package\n" +" (version (git-version \"0.9\" revision commit))\n" +" (source (origin\n" +" (method git-fetch)\n" +" (uri (git-reference\n" +" (url \"git://example.org/my-package.git\")\n" +" (commit commit)))\n" +" (sha256 (base32 \"1mbikn@dots{}\"))\n" +" (file-name (git-file-name name version))))\n" +" ;; @dots{}\n" +" )))\n" +msgstr "" + +#. type: cindex +#: doc/guix.texi:21834 +#, no-wrap +msgid "package description" +msgstr "" + +#. type: cindex +#: doc/guix.texi:21835 +#, no-wrap +msgid "package synopsis" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21842 +msgid "" +"As we have seen before, each package in GNU@tie{}Guix includes a synopsis " +"and a description (@pxref{Defining Packages}). Synopses and descriptions " +"are important: They are what @command{guix package --search} searches, and a " +"crucial piece of information to help users determine whether a given package " +"suits their needs. Consequently, packagers should pay attention to what " +"goes into them." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21850 +msgid "" +"Synopses must start with a capital letter and must not end with a period. " +"They must not start with ``a'' or ``the'', which usually does not bring " +"anything; for instance, prefer ``File-frobbing tool'' over ``A tool that " +"frobs files''. The synopsis should say what the package is---e.g., ``Core " +"GNU utilities (file, text, shell)''---or what it is used for---e.g., the " +"synopsis for GNU@tie{}grep is ``Print lines matching a pattern''." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21860 +msgid "" +"Keep in mind that the synopsis must be meaningful for a very wide audience. " +"For example, ``Manipulate alignments in the SAM format'' might make sense " +"for a seasoned bioinformatics researcher, but might be fairly unhelpful or " +"even misleading to a non-specialized audience. It is a good idea to come up " +"with a synopsis that gives an idea of the application domain of the " +"package. In this example, this might give something like ``Manipulate " +"nucleotide sequence alignments'', which hopefully gives the user a better " +"idea of whether this is what they are looking for." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21868 +msgid "" +"Descriptions should take between five and ten lines. Use full sentences, " +"and avoid using acronyms without first introducing them. Please avoid " +"marketing phrases such as ``world-leading'', ``industrial-strength'', and " +"``next-generation'', and avoid superlatives like ``the most " +"advanced''---they are not helpful to users looking for a package and may " +"even sound suspicious. Instead, try to be factual, mentioning use cases and " +"features." +msgstr "" + +#. type: cindex +#: doc/guix.texi:21869 +#, no-wrap +msgid "Texinfo markup, in package descriptions" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21878 +msgid "" +"Descriptions can include Texinfo markup, which is useful to introduce " +"ornaments such as @code{@@code} or @code{@@dfn}, bullet lists, or hyperlinks " +"(@pxref{Overview,,, texinfo, GNU Texinfo}). However you should be careful " +"when using some characters for example @samp{@@} and curly braces which are " +"the basic special characters in Texinfo (@pxref{Special Characters,,, " +"texinfo, GNU Texinfo}). User interfaces such as @command{guix package " +"--show} take care of rendering it appropriately." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21884 +msgid "" +"Synopses and descriptions are translated by volunteers " +"@uref{http://translationproject.org/domain/guix-packages.html, at the " +"Translation Project} so that as many users as possible can read them in " +"their native language. User interfaces search them and display them in the " +"language specified by the current locale." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21889 +msgid "" +"To allow @command{xgettext} to extract them as translatable strings, " +"synopses and descriptions @emph{must be literal strings}. This means that " +"you cannot use @code{string-append} or @code{format} to construct these " +"strings:" +msgstr "" + +#. type: lisp +#: doc/guix.texi:21895 +#, no-wrap +msgid "" +"(package\n" +" ;; @dots{}\n" +" (synopsis \"This is translatable\")\n" +" (description (string-append \"This is \" \"*not*\" \" translatable.\")))\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21903 +msgid "" +"Translation is a lot of work so, as a packager, please pay even more " +"attention to your synopses and descriptions as every change may entail " +"additional work for translators. In order to help them, it is possible to " +"make recommendations or instructions visible to them by inserting special " +"comments like this (@pxref{xgettext Invocation,,, gettext, GNU Gettext}):" +msgstr "" + +#. type: example +#: doc/guix.texi:21908 +#, no-wrap +msgid "" +";; TRANSLATORS: \"X11 resize-and-rotate\" should not be translated.\n" +"(description \"ARandR is designed to provide a simple visual front end\n" +"for the X11 resize-and-rotate (RandR) extension. @dots{}\")\n" +msgstr "" + +#. type: cindex +#: doc/guix.texi:21914 +#, no-wrap +msgid "python" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21920 +msgid "" +"We currently package Python 2 and Python 3, under the Scheme variable names " +"@code{python-2} and @code{python} as explained in @ref{Version Numbers}. To " +"avoid confusion and naming clashes with other programming languages, it " +"seems desirable that the name of a package for a Python module contains the " +"word @code{python}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21926 +msgid "" +"Some modules are compatible with only one version of Python, others with " +"both. If the package Foo compiles only with Python 3, we name it " +"@code{python-foo}; if it compiles only with Python 2, we name it " +"@code{python2-foo}. If it is compatible with both versions, we create two " +"packages with the corresponding names." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21932 +msgid "" +"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}. If the project name " +"starts with @code{py} (e.g. @code{pytz}), we keep it and prefix it as " +"described above." +msgstr "" + +#. type: subsubsection +#: doc/guix.texi:21933 +#, no-wrap +msgid "Specifying Dependencies" +msgstr "" + +#. type: cindex +#: doc/guix.texi:21934 +#, no-wrap +msgid "inputs, for Python packages" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21939 +msgid "" +"Dependency information for Python packages is usually available in the " +"package source tree, with varying degrees of accuracy: in the " +"@file{setup.py} file, in @file{requirements.txt}, or in @file{tox.ini}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:21945 +msgid "" +"Your mission, when writing a recipe for a Python package, is to map these " +"dependencies to the appropriate type of ``input'' (@pxref{package Reference, " +"inputs}). Although the @code{pypi} importer normally does a good job " +"(@pxref{Invoking guix import}), you may want to check the following check " +"list to determine which dependency goes where." +msgstr "" + +#. type: itemize +#: doc/guix.texi:21953 +msgid "" +"We currently package Python 2 with @code{setuptools} and @code{pip} " +"installed like Python 3.4 has per default. Thus you don't need to specify " +"either of these as an input. @command{guix lint} will warn you if you do." +msgstr "" + +#. type: itemize +#: doc/guix.texi:21959 +msgid "" +"Python dependencies required at run time go into @code{propagated-inputs}. " +"They are typically defined with the @code{install_requires} keyword in " +"@file{setup.py}, or in the @file{requirements.txt} file." +msgstr "" + +#. type: itemize +#: doc/guix.texi:21967 +msgid "" +"Python packages required only at build time---e.g., those listed with the " +"@code{setup_requires} keyword in @file{setup.py}---or only for " +"testing---e.g., those in @code{tests_require}---go into " +"@code{native-inputs}. The rationale is that (1) they do not need to be " +"propagated because they are not needed at run time, and (2) in a " +"cross-compilation context, it's the ``native'' input that we'd want." +msgstr "" + +#. type: itemize +#: doc/guix.texi:21971 +msgid "" +"Examples are the @code{pytest}, @code{mock}, and @code{nose} test " +"frameworks. Of course if any of these packages is also required at " +"run-time, it needs to go to @code{propagated-inputs}." +msgstr "" + +#. type: itemize +#: doc/guix.texi:21976 +msgid "" +"Anything that does not fall in the previous categories goes to " +"@code{inputs}, for example programs or C libraries required for building " +"Python packages containing C extensions." +msgstr "" + +#. type: itemize +#: doc/guix.texi:21982 +msgid "" +"If a Python package has optional dependencies (@code{extras_require}), it is " +"up to you to decide whether to add them or not, based on their " +"usefulness/overhead ratio (@pxref{Submitting Patches, @command{guix size}})." +msgstr "" + +#. type: cindex +#: doc/guix.texi:21989 +#, no-wrap +msgid "perl" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:22000 +msgid "" +"Perl programs standing for themselves are named as any other package, using " +"the lowercase upstream name. For Perl packages containing a single class, " +"we use the lowercase class name, replace all occurrences of @code{::} by " +"dashes and prepend the prefix @code{perl-}. So the class @code{XML::Parser} " +"becomes @code{perl-xml-parser}. Modules containing several classes keep " +"their lowercase upstream name and are also prepended by @code{perl-}. Such " +"modules tend to have the word @code{perl} somewhere in their name, which " +"gets dropped in favor of the prefix. For instance, @code{libwww-perl} " +"becomes @code{perl-libwww}." +msgstr "" + +#. type: cindex +#: doc/guix.texi:22005 +#, no-wrap +msgid "java" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:22008 +msgid "" +"Java programs standing for themselves are named as any other package, using " +"the lowercase upstream name." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:22014 +msgid "" +"To avoid confusion and naming clashes with other programming languages, it " +"is desirable that the name of a package for a Java package is prefixed with " +"@code{java-}. If a project already contains the word @code{java}, we drop " +"this; for instance, the package @code{ngsjava} is packaged under the name " +"@code{java-ngs}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:22020 +msgid "" +"For Java packages containing a single class or a small class hierarchy, we " +"use the lowercase class name, replace all occurrences of @code{.} by dashes " +"and prepend the prefix @code{java-}. So the class @code{apache.commons.cli} " +"becomes package @code{java-apache-commons-cli}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:22031 +msgid "" +"For fonts that are in general not installed by a user for typesetting " +"purposes, or that are distributed as part of a larger software package, we " +"rely on the general packaging rules for software; for instance, this applies " +"to the fonts delivered as part of the X.Org system or fonts that are part of " +"TeX Live." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:22035 +msgid "" +"To make it easier for a user to search for fonts, names for other packages " +"containing only fonts are constructed as follows, independently of the " +"upstream package name." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:22043 +msgid "" +"The name of a package containing only one font family starts with " +"@code{font-}; it is followed by the foundry name and a dash @code{-} if the " +"foundry is known, and the font family name, in which spaces are replaced by " +"dashes (and as usual, all upper case letters are transformed to lower " +"case). For example, the Gentium font family by SIL is packaged under the " +"name @code{font-sil-gentium}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:22052 +msgid "" +"For a package containing several font families, the name of the collection " +"is used in the place of the font family name. For instance, the Liberation " +"fonts consist of three families, Liberation Sans, Liberation Serif and " +"Liberation Mono. These could be packaged separately under the names " +"@code{font-liberation-sans} and so on; but as they are distributed together " +"under a common name, we prefer to package them together as " +"@code{font-liberation}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:22058 +msgid "" +"In the case where several formats of the same font family or font collection " +"are packaged separately, a short form of the format, prepended by a dash, is " +"added to the package name. We use @code{-ttf} for TrueType fonts, " +"@code{-otf} for OpenType fonts and @code{-type1} for PostScript Type 1 " +"fonts." +msgstr "" + +#. type: cindex +#: doc/guix.texi:22066 +#, no-wrap +msgid "bootstrapping" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:22076 +msgid "" +"Bootstrapping in our context refers to how the distribution gets built " +"``from nothing''. Remember that the build environment of a derivation " +"contains nothing but its declared inputs (@pxref{Introduction}). So there's " +"an obvious chicken-and-egg problem: how does the first package get built? " +"How does the first compiler get compiled? Note that this is a question of " +"interest only to the curious hacker, not to the regular user, so you can " +"shamelessly skip this section if you consider yourself a ``regular user''." +msgstr "" + +#. type: cindex +#: doc/guix.texi:22077 doc/guix.texi:22199 +#, no-wrap +msgid "bootstrap binaries" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:22087 +msgid "" +"The GNU system is primarily made of C code, with libc at its core. The GNU " +"build system itself assumes the availability of a Bourne shell and " +"command-line tools provided by GNU Coreutils, Awk, Findutils, `sed', and " +"`grep'. Furthermore, build programs---programs that run @code{./configure}, " +"@code{make}, etc.---are written in Guile Scheme (@pxref{Derivations}). " +"Consequently, to be able to build anything at all, from scratch, Guix relies " +"on pre-built binaries of Guile, GCC, Binutils, libc, and the other packages " +"mentioned above---the @dfn{bootstrap binaries}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:22090 +msgid "" +"These bootstrap binaries are ``taken for granted'', though we can also " +"re-create them if needed (more on that later)." +msgstr "" + +#. type: unnumberedsubsec +#: doc/guix.texi:22091 +#, no-wrap +msgid "Preparing to Use the Bootstrap Binaries" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:22096 +msgid "" +"@image{images/bootstrap-graph,6in,,Dependency graph of the early bootstrap " +"derivations}" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:22101 +msgid "" +"The figure above shows the very beginning of the dependency graph of the " +"distribution, corresponding to the package definitions of the @code{(gnu " +"packages bootstrap)} module. A similar figure can be generated with " +"@command{guix graph} (@pxref{Invoking guix graph}), along the lines of:" +msgstr "" + +#. type: example +#: doc/guix.texi:22106 +#, no-wrap +msgid "" +"guix graph -t derivation \\\n" +" -e '(@@@@ (gnu packages bootstrap) %bootstrap-gcc)' \\\n" +" | dot -Tps > t.ps\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:22115 +msgid "" +"At this level of detail, things are slightly complex. First, Guile itself " +"consists of an ELF executable, along with many source and compiled Scheme " +"files that are dynamically loaded when it runs. This gets stored in the " +"@file{guile-2.0.7.tar.xz} tarball shown in this graph. This tarball is part " +"of Guix's ``source'' distribution, and gets inserted into the store with " +"@code{add-to-store} (@pxref{The Store})." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:22124 +msgid "" +"But how do we write a derivation that unpacks this tarball and adds it to " +"the store? To solve this problem, the @code{guile-bootstrap-2.0.drv} " +"derivation---the first one that gets built---uses @code{bash} as its " +"builder, which runs @code{build-bootstrap-guile.sh}, which in turn calls " +"@code{tar} to unpack the tarball. Thus, @file{bash}, @file{tar}, @file{xz}, " +"and @file{mkdir} are statically-linked binaries, also part of the Guix " +"source distribution, whose sole purpose is to allow the Guile tarball to be " +"unpacked." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:22136 +msgid "" +"Once @code{guile-bootstrap-2.0.drv} is built, we have a functioning Guile " +"that can be used to run subsequent build programs. Its first task is to " +"download tarballs containing the other pre-built binaries---this is what the " +"@code{.tar.xz.drv} derivations do. Guix modules such as " +"@code{ftp-client.scm} are used for this purpose. The " +"@code{module-import.drv} derivations import those modules in a directory in " +"the store, using the original layout. The @code{module-import-compiled.drv} " +"derivations compile those modules, and write them in an output directory " +"with the right layout. This corresponds to the @code{#:modules} argument of " +"@code{build-expression->derivation} (@pxref{Derivations})." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:22140 +msgid "" +"Finally, the various tarballs are unpacked by the derivations " +"@code{gcc-bootstrap-0.drv}, @code{glibc-bootstrap-0.drv}, etc., at which " +"point we have a working C tool chain." +msgstr "" + +#. type: unnumberedsubsec +#: doc/guix.texi:22142 +#, no-wrap +msgid "Building the Build Tools" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:22151 +msgid "" +"Bootstrapping is complete when we have a full tool chain that does not " +"depend on the pre-built bootstrap tools discussed above. This no-dependency " +"requirement is verified by checking whether the files of the final tool " +"chain contain references to the @file{/gnu/store} directories of the " +"bootstrap inputs. The process that leads to this ``final'' tool chain is " +"described by the package definitions found in the @code{(gnu packages " +"commencement)} module." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:22158 +msgid "" +"The @command{guix graph} command allows us to ``zoom out'' compared to the " +"graph above, by looking at the level of package objects instead of " +"individual derivations---remember that a package may translate to several " +"derivations, typically one derivation to download its source, one to build " +"the Guile modules it needs, and one to actually build the package from " +"source. The command:" +msgstr "" + +#. type: example +#: doc/guix.texi:22163 +#, no-wrap +msgid "" +"guix graph -t bag \\\n" +" -e '(@@@@ (gnu packages commencement)\n" +" glibc-final-with-bootstrap-bash)' | dot -Tps > t.ps\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:22170 +msgid "" +"produces the dependency graph leading to the ``final'' C " +"library@footnote{You may notice the @code{glibc-intermediate} label, " +"suggesting that it is not @emph{quite} final, but as a good approximation, " +"we will consider it final.}, depicted below." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:22172 +msgid "" +"@image{images/bootstrap-packages,6in,,Dependency graph of the early " +"packages}" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:22178 +msgid "" +"The first tool that gets built with the bootstrap binaries is " +"GNU@tie{}Make---noted @code{make-boot0} above---which is a prerequisite for " +"all the following packages. From there Findutils and Diffutils get built." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:22183 +msgid "" +"Then come the first-stage Binutils and GCC, built as pseudo cross " +"tools---i.e., with @code{--target} equal to @code{--host}. They are used to " +"build libc. Thanks to this cross-build trick, this libc is guaranteed not " +"to hold any reference to the initial tool chain." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:22189 +msgid "" +"From there the final Binutils and GCC (not shown above) are built. GCC uses " +"@code{ld} from the final Binutils, and links programs against the just-built " +"libc. This tool chain is used to build the other packages used by Guix and " +"by the GNU Build System: Guile, Bash, Coreutils, etc." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:22195 +msgid "" +"And voilà! At this point we have the complete set of build tools that the " +"GNU Build System expects. These are in the @code{%final-inputs} variable of " +"the @code{(gnu packages commencement)} module, and are implicitly used by " +"any package that uses @code{gnu-build-system} (@pxref{Build Systems, " +"@code{gnu-build-system}})." +msgstr "" + +#. type: unnumberedsubsec +#: doc/guix.texi:22197 +#, no-wrap +msgid "Building the Bootstrap Binaries" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:22204 +msgid "" +"Because the final tool chain does not depend on the bootstrap binaries, " +"those rarely need to be updated. Nevertheless, it is useful to have an " +"automated way to produce them, should an update occur, and this is what the " +"@code{(gnu packages make-bootstrap)} module provides." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:22208 +msgid "" +"The following command builds the tarballs containing the bootstrap binaries " +"(Guile, Binutils, GCC, libc, and a tarball containing a mixture of Coreutils " +"and other basic command-line tools):" +msgstr "" + +#. type: example +#: doc/guix.texi:22211 +#, no-wrap +msgid "guix build bootstrap-tarballs\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:22216 +msgid "" +"The generated tarballs are those that should be referred to in the " +"@code{(gnu packages bootstrap)} module mentioned at the beginning of this " +"section." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:22222 +msgid "" +"Still here? Then perhaps by now you've started to wonder: when do we reach a " +"fixed point? That is an interesting question! The answer is unknown, but if " +"you would like to investigate further (and have significant computational " +"and storage resources to do so), then let us know." +msgstr "" + +#. type: unnumberedsubsec +#: doc/guix.texi:22223 +#, no-wrap +msgid "Reducing the Set of Bootstrap Binaries" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:22231 +msgid "" +"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 big chunks " +"of binary code are practically non-auditable, which makes it hard to " +"establish what source code produced them. Every unauditable binary also " +"leaves us vulnerable to compiler backdoors as described by Ken Thompson in " +"the 1984 paper @emph{Reflections on Trusting Trust}." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:22237 +msgid "" +"This is mitigated by the fact that our bootstrap binaries were generated " +"from an earlier Guix revision. Nevertheless it lacks the level of " +"transparency that we get in the rest of the package dependency graph, where " +"Guix always gives us a source-to-binary mapping. Thus, our goal is to " +"reduce the set of bootstrap binaries to the bare minimum." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:22243 +msgid "" +"The @uref{http://bootstrappable.org, Bootstrappable.org web site} lists " +"on-going projects to do that. One of these is about replacing the bootstrap " +"GCC with a sequence of assemblers, interpreters, and compilers of increasing " +"complexity, which could be built from source starting from a simple and " +"auditable assembler. Your help is welcome!" +msgstr "" + +#. type: section +#: doc/guix.texi:22246 +#, no-wrap +msgid "Porting to a New Platform" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:22255 +msgid "" +"As discussed above, the GNU distribution is self-contained, and " +"self-containment is achieved by relying on pre-built ``bootstrap binaries'' " +"(@pxref{Bootstrapping}). These binaries are specific to an operating system " +"kernel, CPU architecture, and application binary interface (ABI). Thus, to " +"port the distribution to a platform that is not yet supported, one must " +"build those bootstrap binaries, and update the @code{(gnu packages " +"bootstrap)} module to use them on that platform." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:22260 +msgid "" +"Fortunately, Guix can @emph{cross compile} those bootstrap binaries. When " +"everything goes well, and assuming the GNU tool chain supports the target " +"platform, this can be as simple as running a command like this one:" +msgstr "" + +#. type: example +#: doc/guix.texi:22263 +#, no-wrap +msgid "guix build --target=armv5tel-linux-gnueabi bootstrap-tarballs\n" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:22270 +msgid "" +"For this to work, the @code{glibc-dynamic-linker} procedure in @code{(gnu " +"packages bootstrap)} must be augmented to return the right file name for " +"libc's dynamic linker on that platform; likewise, " +"@code{system->linux-architecture} in @code{(gnu packages linux)} must be " +"taught about the new platform." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:22279 +msgid "" +"Once these are built, the @code{(gnu packages bootstrap)} module needs to be " +"updated to refer to these binaries on the target platform. That is, the " +"hashes and URLs of the bootstrap tarballs for the new platform must be added " +"alongside those of the currently supported platforms. The bootstrap Guile " +"tarball is treated specially: it is expected to be available locally, and " +"@file{gnu/local.mk} has rules do download it for the supported " +"architectures; a rule for the new platform must be added as well." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:22288 +msgid "" +"In practice, there may be some complications. First, it may be that the " +"extended GNU triplet that specifies an ABI (like the @code{eabi} suffix " +"above) is not recognized by all the GNU tools. Typically, glibc recognizes " +"some of these, whereas GCC uses an extra @code{--with-abi} configure flag " +"(see @code{gcc.scm} for examples of how to handle this). Second, some of " +"the required packages could fail to build for that platform. Lastly, the " +"generated binaries could be broken for some reason." +msgstr "" + +#. type: include +#: doc/guix.texi:22290 +#, no-wrap +msgid "contributing.texi" +msgstr "" + +#. type: Plain text +#: doc/guix.texi:22303 +msgid "" +"Guix is based on the @uref{http://nixos.org/nix/, Nix package manager}, " +"which was designed and implemented by Eelco Dolstra, with contributions from " +"other people (see the @file{nix/AUTHORS} file in Guix.) Nix pioneered " +"functional package management, and promoted unprecedented features, such as " +"transactional package upgrades and rollbacks, per-user profiles, and " +"referentially transparent build processes. Without this work, Guix would " +"not exist." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:22306 +msgid "" +"The Nix-based software distributions, Nixpkgs and NixOS, have also been an " +"inspiration for Guix." +msgstr "" + +#. type: Plain text +#: doc/guix.texi:22312 +msgid "" +"GNU@tie{}Guix itself is a collective work with contributions from a number " +"of people. See the @file{AUTHORS} file in Guix for more information on " +"these fine people. The @file{THANKS} file lists people who have helped by " +"reporting bugs, taking care of the infrastructure, providing artwork and " +"themes, making suggestions, and more---thank you!" +msgstr "" + +#. type: cindex +#: doc/guix.texi:22317 +#, no-wrap +msgid "license, GNU Free Documentation License" +msgstr "" + +#. type: include +#: doc/guix.texi:22318 +#, no-wrap +msgid "fdl-1.3.texi" +msgstr "" diff --git a/po/doc/local.mk b/po/doc/local.mk new file mode 100644 index 0000000000..4e1c28307b --- /dev/null +++ b/po/doc/local.mk @@ -0,0 +1,77 @@ +# GNU Guix --- Functional package management for GNU +# Copyright © 2018 Julien Lepiller <julien@lepiller.eu> +# +# This file is part of GNU Guix. +# +# GNU Guix is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or (at +# your option) any later version. +# +# GNU Guix is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. + +EXTRA_DIST = \ + %D%/contributing.fr.po \ + %D%/guix.fr.po + +POT_OPTIONS = --package-name "guix" --package-version "$(VERSION)" \ + --copyright-holder "Ludovic Courtès" \ + --msgid-bugs-address "ludo@gnu.org" + +$(srcdir)/po/doc/guix.%.po: $(srcdir)/po/doc/guix.pot + @lang=`echo $$(basename "$@") | sed -e 's|^guix.||' -e 's|.po$$||'` ;\ + if test -f "$@"; then \ + test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ + echo "$${cdcmd}$(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $@ $<"; \ + cd $(srcdir) \ + && { case `$(MSGMERGE_UPDATE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \ + $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) $@ $<;; \ + *) \ + $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $@ $<;; \ + esac; \ + }; \ + touch "$@"; \ + else \ + echo "File $@ does not exist. If you are a translator, you can create it through 'msginit'." 1>&2; \ + exit 1; \ + fi + +$(srcdir)/po/doc/contributing.%.po: $(srcdir)/po/doc/contributing.pot + @lang=`echo $$(basename "$@") | sed -e 's|^contributing.||' -e 's|.po$$||'` ;\ + if test -f "$@"; then \ + test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ + echo "$${cdcmd}$(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $@ $<"; \ + cd $(srcdir) \ + && { case `$(MSGMERGE_UPDATE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \ + $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) $@ $<;; \ + *) \ + $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $@ $<;; \ + esac; \ + }; \ + touch "$@"; \ + else \ + echo "File $@ does not exist. If you are a translator, you can create it through 'msginit'." 1>&2; \ + exit 1; \ + fi + +$(srcdir)/po/doc/contributing.pot-update: doc/contributing.texi + $(AM_V_PO4A)$(PO4A_UPDATEPO) -M UTF-8 -f texinfo -m "$<" \ + -p "$$(echo $@ | sed 's|-update||')" $(POT_OPTIONS) + @touch "$$(echo $@ | sed 's|-update||')" + +$(srcdir)/po/doc/guix.pot-update: doc/guix.texi + $(AM_V_PO4A)$(PO4A_UPDATEPO) -M UTF-8 -f texinfo -m "$<" \ + -p "$$(echo $@ | sed 's|-update||')" $(POT_OPTIONS) + @touch "$$(echo $@ | sed 's|-update||')" + +doc-pot-update: + $(MAKE) $(srcdir)/po/doc/guix.pot-update + $(MAKE) $(srcdir)/po/doc/contributing.pot-update diff --git a/po/guix/fr.po b/po/guix/fr.po index f9ae7d288e..dd8206b049 100644 --- a/po/guix/fr.po +++ b/po/guix/fr.po @@ -1,14 +1,18 @@ -# French translation of guix. -# Copyright (C) 2016 Free Software Foundation, Inc. +# French translation of guix. +# Copyright (C) 2013-2018 the authors of Guix (msgids) # This file is distributed under the same license as the guix package. # Rémy Chevalier <remychevalier@laposte.net>, 2013, 2014. -# Frédéric Marchal <fmarchal@perso.be>, 2017 -# Julien Lepiller <julien@lepiller.eu>, 2017 +# Frédéric Marchal <fmarchal@perso.be>, 2017. +# Julien Lepiller <julien@lepiller.eu>, 2017, 2018. # # Note de Frédéric Marchal: Le nom « shepherd » est le nom d'un démon (voir # https://www.gnu.org/software/shepherd/). Je ne l'ai pas traduit dans les # messages. Je l'ai traité comme le nom d'un logiciel. # +# Note de Julien Lepiller : Le nom « shepherd » est bien le nom d'un logiciel, +# mais il est traité un peu différemment : on dit « le shepherd » (« the +# shepherd » en anglais) avec l'article. +# msgid "" msgstr "" "Project-Id-Version: guix 0.14.0\n" @@ -21,8 +25,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Bugs: Report translation errors to the Language-Team address.\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" +"X-Bugs: Report translation errors to the Language-Team address.\n" "X-Generator: Poedit 2.0.3\n" #: gnu.scm:82 @@ -336,7 +340,7 @@ msgid "" " --verbosity=LEVEL use the given verbosity LEVEL" msgstr "" "\n" -" --verbosity=NIVEAU utiliser le NIVEAU de verbosité donné" +" --verbosity=NIVEAU utiliser le NIVEAU de verbosité donné" #: guix/scripts/build.scm:338 msgid "" @@ -1205,7 +1209,7 @@ msgid "" " --branch=BRANCH download the tip of the specified BRANCH" msgstr "" "\n" -" --branch=BRANCHE télécharger le bout de la BRANCHE indiquée" +" --branch=BRANCHE télécharger le bout de la BRANCHE indiquée" #: guix/scripts/pull.scm:106 msgid "" @@ -1476,7 +1480,7 @@ msgstr "n'est pas exécuté en tant que « root » donc le propriétaire de « #: guix/scripts/system.scm:253 #, scheme-format msgid "while talking to shepherd: ~a~%" -msgstr "en parlant à shepherd : ~a~%" +msgstr "en parlant au shepherd : ~a~%" #: guix/scripts/system.scm:260 #, scheme-format @@ -1501,12 +1505,12 @@ msgstr "quelque chose s'est mal passé : ~s~%" #: guix/scripts/system.scm:278 #, scheme-format msgid "shepherd error~%" -msgstr "erreur de shepherd~%" +msgstr "erreur du shepherd~%" #: guix/scripts/system.scm:295 #, scheme-format msgid "failed to obtain list of shepherd services~%" -msgstr "erreur en essayant d'obtenir la liste des services de shepherd~%" +msgstr "erreur en essayant d'obtenir la liste des services du shepherd~%" #: guix/scripts/system.scm:315 #, scheme-format @@ -1534,7 +1538,7 @@ msgstr "le graphe orienté acyclique (DAG) des services" #: guix/scripts/system.scm:507 msgid "the dependency graph of shepherd services" -msgstr "le graphique des dépendances des services de shepherd" +msgstr "le graphique des dépendances des services du shepherd" #: guix/scripts/system.scm:531 #, scheme-format @@ -1661,7 +1665,7 @@ msgstr " extension-graph produire le graphique des extensions de service au f #: guix/scripts/system.scm:842 msgid " shepherd-graph emit the graph of shepherd services in Dot format\n" -msgstr " shepherd-graph produire le graphique des services de shepherd au format Dot\n" +msgstr " shepherd-graph produire le graphique des services du shepherd au format Dot\n" #: guix/scripts/system.scm:846 msgid "" @@ -2185,7 +2189,8 @@ msgid "" " --public-key=FILE use FILE as the public key for signatures" msgstr "" "\n" -" --public-key=FICHIER utiliser le FICHIER comme clé publique pour les signatures" +" --public-key=FICHIER\n" +" utiliser le FICHIER comme clé publique pour les signatures" #: guix/scripts/publish.scm:89 msgid "" @@ -2193,7 +2198,8 @@ msgid "" " --private-key=FILE use FILE as the private key for signatures" msgstr "" "\n" -" --private-key=FICHIER utiliser le FICHIER comme clé privée pour les signatures" +" --private-key=FICHIER\n" +" utiliser le FICHIER comme clé privée pour les signatures" #: guix/scripts/publish.scm:91 msgid "" @@ -2598,7 +2604,8 @@ msgid "" " -C, --compression=TOOL compress using TOOL--e.g., \"lzip\"" msgstr "" "\n" -" -C, --compression=OUTIL compresser en utilisant l'OUTIL, par ex, « lzip »" +" -C, --compression=OUTIL\n" +" compresser en utilisant l'OUTIL, par ex, « lzip »" #: guix/scripts/pack.scm:344 msgid "" diff --git a/po/packages/es.po b/po/packages/es.po index f204278f93..d906142cbb 100644 --- a/po/packages/es.po +++ b/po/packages/es.po @@ -8,21 +8,21 @@ msgstr "" "Project-Id-Version: guix-packages 0.14.0\n" "Report-Msgid-Bugs-To: ludo@gnu.org\n" "POT-Creation-Date: 2017-11-28 08:56+0100\n" -"PO-Revision-Date: 2018-04-09 14:50+0200\n" +"PO-Revision-Date: 2018-04-17 10:57+0200\n" "Last-Translator: Francisco Javier Serrador <fserrador@gmail.com>\n" "Language-Team: Spanish <es@tp.org.es>\n" "Language: es\n" -"X-Bugs: Report translation errors to the Language-Team address.\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"X-Bugs: Report translation errors to the Language-Team address.\n" "X-Generator: Poedit 2.0.4\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Poedit-SourceCharset: UTF-8\n" #: gnu/packages/abiword.scm:114 msgid "Word processing program" -msgstr "" +msgstr "Programa de procesado de palabras" #. TRANSLATORS: Dear translator, We would like to inform you that package #. descriptions may occasionally include Texinfo markup. Texinfo markup @@ -34,6 +34,10 @@ msgid "" "becoming a state of the art word processor, with lots of features useful for\n" "your daily work, personal needs, or for just some good old typing fun." msgstr "" +"Abiword es un programa de procesado de palabras. Es\n" +"rápidamente convirtiéndose en un estado de arte del proceso de palabras,\n" +"con muchas características útiles para su trabajo diario, necesidades\n" +"personales, o para tan solo algo bueno de tecleo a la usanza." #: gnu/packages/aspell.scm:70 gnu/packages/libreoffice.scm:715 msgid "Spell checker" @@ -46,16 +50,23 @@ msgid "" "documents written in the UTF-8 encoding and its ability to use multiple\n" "dictionaries, including personal ones." msgstr "" +"Aspell es un comprobador de palabras las cuales pueden ser usadas o\n" +"como una biblioteca o como un programa por sí mismo. Características\n" +"notables de Aspell es compatibilidad completa de documentos escritos\n" +"en codificación UTF-8 y sus capacidades para utilizar múltiples diccionarios,\n" +"incluyendo unos personales." #: gnu/packages/aspell.scm:114 msgid "This package provides a dictionary for the GNU Aspell spell checker." -msgstr "" +msgstr "Este paquete proporciona un diccionario para el comprobador ortográfico GNU Aspell." #: gnu/packages/aspell.scm:285 gnu/packages/libreoffice.scm:765 msgid "" "This package provides a dictionary for the Hunspell spell-checking\n" "library." msgstr "" +"Este paquete proporciona un diccionario para la biblioteca de\n" +"ortografía Hunspell" #: gnu/packages/aspell.scm:303 msgid "Hunspell dictionary for English" @@ -96,7 +107,7 @@ msgstr "" #: gnu/packages/audio.scm:167 msgid "Library for audio labelling" -msgstr "" +msgstr "Biblioteca para etiquetado de sonido" #: gnu/packages/audio.scm:169 msgid "" @@ -107,8 +118,9 @@ msgid "" msgstr "" #: gnu/packages/audio.scm:270 +#, fuzzy msgid "Digital audio workstation" -msgstr "" +msgstr "Ampliación Digital" #: gnu/packages/audio.scm:272 msgid "" @@ -129,8 +141,9 @@ msgid "" msgstr "" #: gnu/packages/audio.scm:444 +#, fuzzy msgid "Tonewheel organ synthesizer" -msgstr "" +msgstr "Sintentizado SoundFont" #: gnu/packages/audio.scm:446 msgid "" @@ -155,8 +168,9 @@ msgid "" msgstr "" #: gnu/packages/audio.scm:537 +#, fuzzy msgid "Software speech synthesizer" -msgstr "" +msgstr "Sintentizado SoundFont" #: gnu/packages/audio.scm:538 msgid "" @@ -192,7 +206,7 @@ msgstr "" #: gnu/packages/audio.scm:664 msgid "Sound and music computing system" -msgstr "" +msgstr "Sistema de computación de música y sonido" #: gnu/packages/audio.scm:666 msgid "" @@ -211,8 +225,9 @@ msgid "" msgstr "" #: gnu/packages/audio.scm:746 +#, fuzzy msgid "LADSPA ambisonics plugins" -msgstr "" +msgstr "Complementos" #: gnu/packages/audio.scm:748 msgid "" @@ -237,7 +252,7 @@ msgstr "" #: gnu/packages/audio.scm:823 msgid "LADSPA reverb plugin" -msgstr "" +msgstr "LADSPA reverbera complemento>" #: gnu/packages/audio.scm:825 msgid "" @@ -335,7 +350,7 @@ msgstr "" #: gnu/packages/audio.scm:1125 msgid "Signal processing language" -msgstr "" +msgstr "Señal procesando lenguaje" #: gnu/packages/audio.scm:1127 msgid "Faust is a programming language for realtime audio signal processing." @@ -353,7 +368,7 @@ msgstr "" #: gnu/packages/audio.scm:1261 msgid "Virtual guitar amplifier" -msgstr "" +msgstr "Amplificador virtual guitarra" #: gnu/packages/audio.scm:1262 msgid "" @@ -367,8 +382,9 @@ msgid "" msgstr "" #: gnu/packages/audio.scm:1316 +#, fuzzy msgid "Audio effects processor" -msgstr "" +msgstr "Efectos" #: gnu/packages/audio.scm:1318 msgid "" @@ -430,7 +446,7 @@ msgstr "" #: gnu/packages/audio.scm:1602 msgid "Audio application session manager" -msgstr "" +msgstr "Gestor aplicando sonido de sesión" #: gnu/packages/audio.scm:1604 msgid "" @@ -463,8 +479,9 @@ msgid "" msgstr "" #: gnu/packages/audio.scm:1674 +#, fuzzy msgid "Python bindings for liblo" -msgstr "" +msgstr "Enlazando XOSD para Guile" #: gnu/packages/audio.scm:1676 msgid "" @@ -526,7 +543,7 @@ msgstr "" #: gnu/packages/audio.scm:1900 msgid "3D audio API" -msgstr "" +msgstr "API sonido3D" #: gnu/packages/audio.scm:1902 msgid "" @@ -670,7 +687,7 @@ msgstr "" #: gnu/packages/audio.scm:2351 msgid "Mod file playing library" -msgstr "" +msgstr "Fichero Mod reproduciendo biblioteca" #: gnu/packages/audio.scm:2353 msgid "" @@ -681,8 +698,9 @@ msgid "" msgstr "" #: gnu/packages/audio.scm:2372 +#, fuzzy msgid "Module player library" -msgstr "" +msgstr "Jugador" #: gnu/packages/audio.scm:2374 msgid "" @@ -692,8 +710,9 @@ msgid "" msgstr "" #: gnu/packages/audio.scm:2397 +#, fuzzy msgid "Extended module player" -msgstr "" +msgstr "Jugador" #: gnu/packages/audio.scm:2399 msgid "" @@ -716,7 +735,7 @@ msgstr "" #: gnu/packages/audio.scm:2469 msgid "Sound processing utility" -msgstr "" +msgstr "Utilidad de sonido procesado" #: gnu/packages/audio.scm:2471 msgid "" @@ -749,7 +768,7 @@ msgstr "" #: gnu/packages/audio.scm:2567 msgid "Audio I/O library" -msgstr "" +msgstr "Biblioteca E/S del sonido" #: gnu/packages/audio.scm:2569 msgid "" @@ -759,8 +778,9 @@ msgid "" msgstr "" #: gnu/packages/audio.scm:2599 +#, fuzzy msgid "Graphical user interface for FluidSynth" -msgstr "" +msgstr "Interfaz de usuario" #: gnu/packages/audio.scm:2601 msgid "" @@ -770,7 +790,7 @@ msgstr "" #: gnu/packages/audio.scm:2638 msgid "Networked audio system" -msgstr "" +msgstr "Sistema de sonido por red" #: gnu/packages/audio.scm:2640 msgid "" @@ -887,7 +907,7 @@ msgstr "" #: gnu/packages/audio.scm:3022 msgid "ALSA wrappers for Python" -msgstr "" +msgstr "Cubiertas ALSA para Python" #: gnu/packages/audio.scm:3024 msgid "" @@ -898,7 +918,7 @@ msgstr "" #: gnu/packages/audio.scm:3083 msgid "Sound editor" -msgstr "" +msgstr "Editor de sonido" #: gnu/packages/audio.scm:3086 msgid "" @@ -966,7 +986,7 @@ msgstr "" #: gnu/packages/backup.scm:315 msgid "Provide a list of files to backup" -msgstr "" +msgstr "Proporciona una lista de fichero para respaldo" #: gnu/packages/backup.scm:317 msgid "" @@ -978,7 +998,7 @@ msgstr "" #: gnu/packages/backup.scm:347 msgid "Tar-compatible archiver" -msgstr "" +msgstr "Archivador compatible con tar" #: gnu/packages/backup.scm:349 msgid "" @@ -1050,7 +1070,7 @@ msgstr "" #: gnu/packages/backup.scm:603 msgid "Deduplicating backup program" -msgstr "" +msgstr "Deduplicando programa de respaldo" #: gnu/packages/backup.scm:604 msgid "" @@ -1109,7 +1129,7 @@ msgstr "" #: gnu/packages/base.scm:110 msgid "Print lines matching a pattern" -msgstr "" +msgstr "Escribe líneas coincidiendo un patrón" #: gnu/packages/base.scm:112 msgid "" @@ -1124,7 +1144,7 @@ msgstr "" #: gnu/packages/base.scm:134 msgid "Stream editor" -msgstr "" +msgstr "Editorde flujo" #: gnu/packages/base.scm:156 msgid "" @@ -1136,8 +1156,9 @@ msgid "" msgstr "" #: gnu/packages/base.scm:196 +#, fuzzy msgid "Managing tar archives" -msgstr "" +msgstr "Depurar archivos tar" #: gnu/packages/base.scm:198 msgid "" @@ -1164,7 +1185,7 @@ msgstr "" #: gnu/packages/base.scm:243 msgid "Comparing and merging files" -msgstr "" +msgstr "Comparando y uniendo ficheros" #: gnu/packages/base.scm:245 msgid "" @@ -1202,8 +1223,9 @@ msgid "" msgstr "" #: gnu/packages/base.scm:384 +#, fuzzy msgid "Remake files automatically" -msgstr "" +msgstr "(rellenado automáticamente)" #: gnu/packages/base.scm:386 msgid "" @@ -1231,7 +1253,7 @@ msgstr "" #: gnu/packages/base.scm:517 msgid "The linker wrapper" -msgstr "" +msgstr "La cubierta del enlazador" #: gnu/packages/base.scm:519 msgid "" @@ -1241,8 +1263,9 @@ msgid "" msgstr "" #: gnu/packages/base.scm:695 +#, fuzzy msgid "The GNU C Library" -msgstr "" +msgstr "Biblioteca común C++ de GNU" #: gnu/packages/base.scm:697 msgid "" @@ -1255,8 +1278,9 @@ msgid "" msgstr "" #: gnu/packages/base.scm:775 +#, fuzzy msgid "The GNU C Library (GNU Hurd variant)" -msgstr "" +msgstr "Biblioteca común C++ de GNU" #: gnu/packages/base.scm:887 msgid "All the locales supported by the GNU C Library" @@ -1305,7 +1329,7 @@ msgstr "" #: gnu/packages/base.scm:1136 msgid "Character set conversion library" -msgstr "" +msgstr "Biblioteca de conversión de conjunto de caracteres" #: gnu/packages/base.scm:1138 msgid "" @@ -1328,7 +1352,7 @@ msgstr "" #: gnu/packages/bittorrent.scm:142 msgid "BitTorrent library of rtorrent" -msgstr "" +msgstr "Biblioteca BitTorrent de rtorrent" #: gnu/packages/bittorrent.scm:144 msgid "" @@ -1366,8 +1390,9 @@ msgid "" msgstr "" #: gnu/packages/bittorrent.scm:307 +#, fuzzy msgid "Utility for parallel downloading files" -msgstr "" +msgstr "Descargando, subiendo y manipulando ficheros" #: gnu/packages/bittorrent.scm:309 msgid "" @@ -1445,8 +1470,9 @@ msgid "" msgstr "" #: gnu/packages/compression.scm:100 +#, fuzzy msgid "Compression library" -msgstr "" +msgstr "Biblioteca Zip de compresión" #: gnu/packages/compression.scm:102 msgid "" @@ -1463,7 +1489,7 @@ msgstr "" #: gnu/packages/compression.scm:133 msgid "Zip Compression library" -msgstr "" +msgstr "Biblioteca Zip de compresión" #: gnu/packages/compression.scm:135 msgid "" @@ -1519,7 +1545,7 @@ msgstr "" #: gnu/packages/compression.scm:307 msgid "Parallel bzip2 compression utility" -msgstr "" +msgstr "Utilidad de compresión bzip2 paralela" #: gnu/packages/compression.scm:309 msgid "" @@ -1532,8 +1558,9 @@ msgid "" msgstr "" #: gnu/packages/compression.scm:339 +#, fuzzy msgid "Parallel bzip2 implementation" -msgstr "" +msgstr "Sin Implementación" #: gnu/packages/compression.scm:341 msgid "" @@ -1545,7 +1572,7 @@ msgstr "" #: gnu/packages/compression.scm:362 msgid "General-purpose data compression" -msgstr "" +msgstr "Propósito general de compresión de datos" #: gnu/packages/compression.scm:364 msgid "" @@ -1587,7 +1614,7 @@ msgstr "" #: gnu/packages/compression.scm:455 msgid "Compress or expand files" -msgstr "" +msgstr "Comprime o expande ficheros" #: gnu/packages/compression.scm:457 msgid "" @@ -1642,8 +1669,9 @@ msgid "" msgstr "" #: gnu/packages/compression.scm:573 +#, fuzzy msgid "Library for SoundFont decompression" -msgstr "" +msgstr "Biblioteca descompresora GIF" #: gnu/packages/compression.scm:575 msgid "" @@ -1653,7 +1681,7 @@ msgstr "" #: gnu/packages/compression.scm:608 msgid "Basic sfArk decompressor" -msgstr "" +msgstr "Descompresor básico sfArk" #: gnu/packages/compression.scm:609 msgid "" @@ -1703,7 +1731,7 @@ msgstr "" #: gnu/packages/compression.scm:732 msgid "Compression algorithm focused on speed" -msgstr "" +msgstr "Compresión algorítmica dedicada a velocidad" #: gnu/packages/compression.scm:733 msgid "" @@ -1715,8 +1743,9 @@ msgid "" msgstr "" #: gnu/packages/compression.scm:758 +#, fuzzy msgid "LZ4 bindings for Python" -msgstr "" +msgstr "Enlazando XOSD para Guile" #: gnu/packages/compression.scm:760 msgid "" @@ -1726,8 +1755,9 @@ msgid "" msgstr "" #: gnu/packages/compression.scm:783 +#, fuzzy msgid "String compression" -msgstr "" +msgstr "Compresión" #: gnu/packages/compression.scm:784 msgid "Lz-string is a string compressor library for Python." @@ -1748,8 +1778,9 @@ msgid "" msgstr "" #: gnu/packages/compression.scm:861 +#, fuzzy msgid "Parallel implementation of gzip" -msgstr "" +msgstr "Sin Implementación" #: gnu/packages/compression.scm:863 msgid "" @@ -1771,8 +1802,9 @@ msgid "" msgstr "" #: gnu/packages/compression.scm:930 +#, fuzzy msgid "Implementation of the Brotli compression algorithm" -msgstr "" +msgstr "Compresión algorítmica dedicada a velocidad" #: gnu/packages/compression.scm:932 msgid "" @@ -1792,7 +1824,7 @@ msgstr "" #: gnu/packages/compression.scm:989 msgid "Delta encoder for binary files" -msgstr "" +msgstr "Codificador delta para ficheros binarios" #: gnu/packages/compression.scm:990 msgid "" @@ -1831,7 +1863,7 @@ msgstr "" #: gnu/packages/compression.scm:1079 msgid "Fast compressor/decompressor" -msgstr "" +msgstr "Compresor/descompresor rápido" #: gnu/packages/compression.scm:1080 msgid "" @@ -1844,8 +1876,9 @@ msgid "" msgstr "" #: gnu/packages/compression.scm:1204 +#, fuzzy msgid "Compression/decompression algorithm in Java" -msgstr "" +msgstr "Compresión algorítmica dedicada a velocidad" #: gnu/packages/compression.scm:1205 msgid "" @@ -1854,8 +1887,9 @@ msgid "" msgstr "" #: gnu/packages/compression.scm:1311 +#, fuzzy msgid "Java port of snappy" -msgstr "" +msgstr "Puerto Java de (...)" #: gnu/packages/compression.scm:1312 msgid "" @@ -1887,7 +1921,7 @@ msgstr "" #: gnu/packages/compression.scm:1457 msgid "Compressed C++ iostream" -msgstr "" +msgstr "Flujo E/S C++ comprimido" #: gnu/packages/compression.scm:1458 msgid "" @@ -1897,7 +1931,7 @@ msgstr "" #: gnu/packages/compression.scm:1505 msgid "Incremental journaling archiver" -msgstr "" +msgstr "Archivador diario incremental" #: gnu/packages/compression.scm:1506 msgid "" @@ -1955,8 +1989,9 @@ msgid "" msgstr "" #: gnu/packages/compression.scm:1700 +#, fuzzy msgid "Compression and file packing utility" -msgstr "" +msgstr "Compresión del fichero" #: gnu/packages/compression.scm:1702 msgid "" @@ -1989,8 +2024,9 @@ msgid "" msgstr "" #: gnu/packages/compression.scm:1800 +#, fuzzy msgid "Library for accessing zip files" -msgstr "" +msgstr "Biblioteca Zip de compresión" #: gnu/packages/compression.scm:1802 msgid "ZZipLib is a library based on zlib for accessing zip files." @@ -2046,7 +2082,7 @@ msgstr "" #: gnu/packages/compression.scm:1936 msgid "XZ in Java" -msgstr "" +msgstr "XZ en Java" #: gnu/packages/compression.scm:1937 msgid "" @@ -2076,8 +2112,9 @@ msgid "" msgstr "" #: gnu/packages/databases.scm:219 +#, fuzzy msgid "Berkeley database" -msgstr "" +msgstr "DB Berkeley" #: gnu/packages/databases.scm:221 msgid "" @@ -2107,8 +2144,9 @@ msgid "" msgstr "" #: gnu/packages/databases.scm:372 +#, fuzzy msgid "In memory caching service" -msgstr "" +msgstr "SERVICIO" #: gnu/packages/databases.scm:373 msgid "" @@ -2141,8 +2179,9 @@ msgid "" msgstr "" #: gnu/packages/databases.scm:634 +#, fuzzy msgid "SQL database server" -msgstr "" +msgstr "Insertar la información en una base de datos SQL" #: gnu/packages/databases.scm:636 msgid "" @@ -2166,7 +2205,7 @@ msgstr "" #: gnu/packages/databases.scm:715 msgid "Key-value database" -msgstr "" +msgstr "Valor-clave de BD" #: gnu/packages/databases.scm:716 msgid "" @@ -2223,7 +2262,7 @@ msgstr "" #: gnu/packages/databases.scm:964 msgid "The SQLite database management system" -msgstr "" +msgstr "El sistema gestor de BBDD SQLite" #: gnu/packages/databases.scm:966 msgid "" @@ -2235,7 +2274,7 @@ msgstr "" #: gnu/packages/databases.scm:1015 msgid "Trivial database" -msgstr "" +msgstr "BD trivial" #: gnu/packages/databases.scm:1017 msgid "" @@ -2281,7 +2320,7 @@ msgstr "" #: gnu/packages/databases.scm:1140 msgid "Introspect many-to-many relationships" -msgstr "" +msgstr "Introspección relaciones muchos-a-muchos" #: gnu/packages/databases.scm:1141 msgid "" @@ -2306,7 +2345,7 @@ msgstr "" #: gnu/packages/databases.scm:1224 msgid "DBI PostgreSQL interface" -msgstr "" +msgstr "Interfaz PostgreSQL DBI" #: gnu/packages/databases.scm:1225 msgid "" @@ -2315,8 +2354,9 @@ msgid "" msgstr "" #: gnu/packages/databases.scm:1249 +#, fuzzy msgid "DBI MySQL interface" -msgstr "" +msgstr "Interfaz: " #: gnu/packages/databases.scm:1250 msgid "" @@ -2325,8 +2365,9 @@ msgid "" msgstr "" #: gnu/packages/databases.scm:1269 +#, fuzzy msgid "SQlite interface for Perl" -msgstr "" +msgstr "Generando varias BD sqlite" #: gnu/packages/databases.scm:1270 msgid "" @@ -2361,8 +2402,9 @@ msgid "" msgstr "" #: gnu/packages/databases.scm:1350 +#, fuzzy msgid "SQL tokenizer" -msgstr "" +msgstr "incompletado SQL: %s" #: gnu/packages/databases.scm:1351 msgid "" @@ -2384,7 +2426,7 @@ msgstr "" #: gnu/packages/databases.scm:1394 msgid "In-memory key/value and document store" -msgstr "" +msgstr "Almacén en memoria de clave/valor y documento" #: gnu/packages/databases.scm:1396 msgid "" @@ -2397,7 +2439,7 @@ msgstr "" #: gnu/packages/databases.scm:1424 msgid "Key-value cache and store" -msgstr "" +msgstr "Caché de valor-llave y almacenaje" #: gnu/packages/databases.scm:1425 msgid "" @@ -2432,8 +2474,9 @@ msgid "" msgstr "" #: gnu/packages/databases.scm:1517 +#, fuzzy msgid "NoSQL data engine" -msgstr "" +msgstr "Activar Motor de Busqueda" #: gnu/packages/databases.scm:1519 msgid "" @@ -2481,7 +2524,7 @@ msgstr "" #: gnu/packages/databases.scm:1672 msgid "C++ connector for PostgreSQL" -msgstr "" +msgstr "Conector C++ para PostgreSQL" #: gnu/packages/databases.scm:1674 msgid "" @@ -2517,8 +2560,9 @@ msgid "" msgstr "" #: gnu/packages/databases.scm:1779 gnu/packages/databases.scm:1806 +#, fuzzy msgid "Python ODBC Library" -msgstr "" +msgstr "ORM ActiceRecord para python" #: gnu/packages/databases.scm:1780 msgid "" @@ -2533,8 +2577,9 @@ msgid "" msgstr "" #: gnu/packages/databases.scm:1844 +#, fuzzy msgid "Read Microsoft Access databases" -msgstr "" +msgstr "Técnico (sin acceso lectura, sin envío)" #: gnu/packages/databases.scm:1845 msgid "" @@ -2557,7 +2602,7 @@ msgstr "" #: gnu/packages/databases.scm:1942 msgid "ActiveRecord ORM for Python" -msgstr "" +msgstr "ORM ActiceRecord para Python" #: gnu/packages/databases.scm:1944 msgid "" @@ -2602,8 +2647,9 @@ msgid "" msgstr "" #: gnu/packages/databases.scm:2055 +#, fuzzy msgid "SQLite bindings for Python" -msgstr "" +msgstr "Generando varias BD sqlite" #: gnu/packages/databases.scm:2057 msgid "" @@ -2612,8 +2658,11 @@ msgid "" msgstr "" #: gnu/packages/databases.scm:2084 +#, fuzzy msgid "Database abstraction library" msgstr "" +"\t-l biblioteca\t\t--load=biblioteca\n" +"\n" #: gnu/packages/databases.scm:2086 msgid "" @@ -2646,8 +2695,9 @@ msgid "" msgstr "" #: gnu/packages/databases.scm:2168 +#, fuzzy msgid "Database migration tool for SQLAlchemy" -msgstr "" +msgstr "mfdbtool -- Herramienta de gestión de base de datos Mailfromd" #: gnu/packages/databases.scm:2170 msgid "" @@ -2706,16 +2756,18 @@ msgid "" msgstr "" #: gnu/packages/databases.scm:2310 +#, fuzzy msgid "Python PostgreSQL adapter" -msgstr "" +msgstr "Cubiertas ALSA para Python" #: gnu/packages/databases.scm:2312 msgid "psycopg2 is a thread-safe PostgreSQL adapter that implements DB-API 2.0. " msgstr "" #: gnu/packages/databases.scm:2335 +#, fuzzy msgid "SQLAlchemy schema displayer" -msgstr "" +msgstr "consultando información esquemática" #: gnu/packages/databases.scm:2336 msgid "" @@ -2764,8 +2816,9 @@ msgid "" msgstr "" #: gnu/packages/databases.scm:2448 +#, fuzzy msgid "Redis Python client" -msgstr "" +msgstr "Cliente" #: gnu/packages/databases.scm:2450 msgid "This package provides a Python interface to the Redis key-value store." @@ -2814,8 +2867,9 @@ msgid "" msgstr "" #: gnu/packages/debug.scm:80 +#, fuzzy msgid "Heuristical file minimizer" -msgstr "" +msgstr "[FICHERO]..." #: gnu/packages/debug.scm:82 msgid "" @@ -2826,8 +2880,9 @@ msgid "" msgstr "" #: gnu/packages/debug.scm:137 +#, fuzzy msgid "Reducer for interesting code" -msgstr "" +msgstr "Tu familia tiene un linaje interesante." #: gnu/packages/debug.scm:139 msgid "" @@ -2839,8 +2894,9 @@ msgid "" msgstr "" #: gnu/packages/debug.scm:268 +#, fuzzy msgid "Security-oriented fuzzer" -msgstr "" +msgstr "Página Principal de Proyecto orientada a Widgets" #: gnu/packages/debug.scm:270 msgid "" @@ -2890,8 +2946,9 @@ msgid "" msgstr "" #: gnu/packages/games.scm:164 +#, fuzzy msgid "Tron clone in 3D" -msgstr "" +msgstr "Seguimiento 3D" #: gnu/packages/games.scm:165 msgid "" @@ -2945,7 +3002,7 @@ msgstr "" #: gnu/packages/games.scm:381 msgid "Backgammon game" -msgstr "" +msgstr "Juego backgammon" #: gnu/packages/games.scm:382 msgid "" @@ -3006,8 +3063,9 @@ msgid "PrBoom+ is a Doom source port developed from the original PrBoom project. msgstr "" #: gnu/packages/games.scm:569 +#, fuzzy msgid "Action platformer game" -msgstr "" +msgstr "Operación" #: gnu/packages/games.scm:571 msgid "" @@ -3017,7 +3075,7 @@ msgstr "" #: gnu/packages/games.scm:600 msgid "User interface for gnushogi" -msgstr "" +msgstr "Interfaz de usuario para gnushogi" #: gnu/packages/games.scm:601 msgid "A graphical user interface for the package @code{gnushogi}." @@ -3037,8 +3095,9 @@ msgid "" msgstr "" #: gnu/packages/games.scm:703 +#, fuzzy msgid "Dungeon exploration roguelike" -msgstr "" +msgstr "Hay un tipo atrapado en una mazmorra cerca de aquí." #: gnu/packages/games.scm:704 msgid "" @@ -3048,8 +3107,9 @@ msgid "" msgstr "" #: gnu/packages/games.scm:744 +#, fuzzy msgid "Lemmings clone" -msgstr "" +msgstr "Clonar" #: gnu/packages/games.scm:746 msgid "" @@ -3073,8 +3133,9 @@ msgid "" msgstr "" #: gnu/packages/games.scm:801 +#, fuzzy msgid "Simulate the display from \"The Matrix\"" -msgstr "" +msgstr " Enseña información desde objeto <fichero(s)>.\n" #: gnu/packages/games.scm:802 msgid "" @@ -3085,8 +3146,9 @@ msgid "" msgstr "" #: gnu/packages/games.scm:822 +#, fuzzy msgid "Full chess implementation" -msgstr "" +msgstr "Sin Implementación" #: gnu/packages/games.scm:823 msgid "" @@ -3129,8 +3191,9 @@ msgid "" msgstr "" #: gnu/packages/games.scm:986 +#, fuzzy msgid "Ball and paddle game" -msgstr "" +msgstr "_Juego" #: gnu/packages/games.scm:987 msgid "" @@ -3166,8 +3229,9 @@ msgid "" msgstr "" #: gnu/packages/games.scm:1122 +#, fuzzy msgid "2D space shooter" -msgstr "" +msgstr "Biblioteca de dibujo 2D" #: gnu/packages/games.scm:1124 msgid "" @@ -3212,8 +3276,9 @@ msgid "" msgstr "" #: gnu/packages/games.scm:1300 +#, fuzzy msgid "Interpreter for Glulx VM" -msgstr "" +msgstr " programa intérprete" #: gnu/packages/games.scm:1302 msgid "" @@ -3225,7 +3290,7 @@ msgstr "" #: gnu/packages/games.scm:1339 msgid "Z-machine interpreter" -msgstr "" +msgstr "Interpretador Z-machine" #: gnu/packages/games.scm:1341 msgid "" @@ -3248,8 +3313,9 @@ msgid "" msgstr "" #: gnu/packages/games.scm:1417 +#, fuzzy msgid "Play the game of Go" -msgstr "" +msgstr "Anímate y juega" #: gnu/packages/games.scm:1419 msgid "" @@ -3304,8 +3370,9 @@ msgid "" msgstr "" #: gnu/packages/games.scm:1609 +#, fuzzy msgid "Turn-based strategy game" -msgstr "" +msgstr "juego;interestelar;trasporte;estrategia;" #: gnu/packages/games.scm:1611 msgid "" @@ -3489,8 +3556,9 @@ msgid "" msgstr "" #: gnu/packages/games.scm:2459 +#, fuzzy msgid "Transportation economics simulator" -msgstr "" +msgstr "mtasím -- MTA simulador para mailfromd" #: gnu/packages/games.scm:2460 msgid "" @@ -3504,7 +3572,7 @@ msgstr "" #: gnu/packages/games.scm:2517 msgid "Base graphics set for OpenTTD" -msgstr "" +msgstr "Gráficos básicos establecidos para OpenTTD" #: gnu/packages/games.scm:2519 msgid "" @@ -3522,8 +3590,9 @@ msgid "" msgstr "" #: gnu/packages/games.scm:2564 +#, fuzzy msgid "Base sounds for OpenTTD" -msgstr "" +msgstr "Caray, suena bastante siniestro." #: gnu/packages/games.scm:2565 msgid "" @@ -3533,8 +3602,9 @@ msgid "" msgstr "" #: gnu/packages/games.scm:2602 +#, fuzzy msgid "Music set for OpenTTD" -msgstr "" +msgstr "música por:" #: gnu/packages/games.scm:2603 msgid "" @@ -3558,8 +3628,9 @@ msgid "" msgstr "" #: gnu/packages/games.scm:2724 +#, fuzzy msgid "Pinball simulator" -msgstr "" +msgstr "mtasím -- MTA simulador para mailfromd" #: gnu/packages/games.scm:2725 msgid "" @@ -3579,16 +3650,18 @@ msgid "" msgstr "" #: gnu/packages/games.scm:2781 +#, fuzzy msgid "Nintendo DS emulator" -msgstr "" +msgstr "Depurar TPM emulado" #: gnu/packages/games.scm:2783 msgid "DeSmuME is an emulator for the Nintendo DS handheld gaming console." msgstr "" #: gnu/packages/games.scm:2821 gnu/packages/gnome.scm:2617 +#, fuzzy msgid "Logic puzzle game" -msgstr "" +msgstr "Un puzzle de cubo mágico de tres dimensiones" #: gnu/packages/games.scm:2822 msgid "" @@ -3598,8 +3671,9 @@ msgid "" msgstr "" #: gnu/packages/games.scm:2851 +#, fuzzy msgid "MUD and telnet client" -msgstr "" +msgstr "Cliente MUD" #: gnu/packages/games.scm:2853 msgid "" @@ -3647,7 +3721,7 @@ msgstr "" #: gnu/packages/games.scm:3237 msgid "Text adventure game" -msgstr "" +msgstr "Juego textual de aventura" #: gnu/packages/games.scm:3239 msgid "" @@ -3723,8 +3797,9 @@ msgid "" msgstr "" #: gnu/packages/games.scm:3503 +#, fuzzy msgid "Drawing software for children" -msgstr "" +msgstr "Biblioteca de dibujo 2D" #: gnu/packages/games.scm:3505 msgid "" @@ -3746,16 +3821,18 @@ msgid "" msgstr "" #: gnu/packages/games.scm:3592 +#, fuzzy msgid "Configure Tux Paint" -msgstr "" +msgstr "Configurar" #: gnu/packages/games.scm:3594 msgid "Tux Paint Config is a graphical configuration editor for Tux Paint." msgstr "" #: gnu/packages/games.scm:3626 +#, fuzzy msgid "2D platformer game" -msgstr "" +msgstr "_Juego" #: gnu/packages/games.scm:3627 msgid "" @@ -3766,7 +3843,7 @@ msgstr "" #: gnu/packages/games.scm:3661 msgid "MUD client" -msgstr "" +msgstr "Cliente MUD" #: gnu/packages/games.scm:3663 msgid "" @@ -3777,8 +3854,9 @@ msgid "" msgstr "" #: gnu/packages/games.scm:3700 +#, fuzzy msgid "Programming game" -msgstr "" +msgstr "error de programación" #: gnu/packages/games.scm:3701 msgid "" @@ -3867,8 +3945,9 @@ msgid "" msgstr "" #: gnu/packages/games.scm:4038 +#, fuzzy msgid "Data files for MegaGlest" -msgstr "" +msgstr "NT_PROCSTAT_FILES (datos ficheros)" #: gnu/packages/games.scm:4039 msgid "This package contains the data files required for MegaGlest." @@ -3909,8 +3988,9 @@ msgid "" msgstr "" #: gnu/packages/games.scm:4280 +#, fuzzy msgid "3D puzzle game" -msgstr "" +msgstr "Un puzzle de cubo mágico de tres dimensiones" #: gnu/packages/games.scm:4281 msgid "" @@ -3947,8 +4027,9 @@ msgid "" msgstr "" #: gnu/packages/games.scm:4497 +#, fuzzy msgid "Puzzle game" -msgstr "" +msgstr "_Juego" #: gnu/packages/games.scm:4498 msgid "" @@ -3989,8 +4070,9 @@ msgid "" msgstr "" #: gnu/packages/games.scm:4691 +#, fuzzy msgid "Data files for 0ad" -msgstr "" +msgstr "Indexado y búsqueda de meta-datos de ficheros." #: gnu/packages/games.scm:4692 msgid "0ad-data provides the data files required by the game 0ad." @@ -4011,8 +4093,9 @@ msgid "" msgstr "" #: gnu/packages/games.scm:4891 +#, fuzzy msgid "Colossal Cave Adventure" -msgstr "" +msgstr "Esta cueva apesta, salgamos..." #: gnu/packages/games.scm:4892 msgid "" @@ -4040,7 +4123,7 @@ msgstr "" #: gnu/packages/gcc.scm:336 msgid "GNU Compiler Collection" -msgstr "" +msgstr "Colección de compiladores GNU" #: gnu/packages/gcc.scm:338 msgid "" @@ -4058,15 +4141,16 @@ msgstr "" #: gnu/packages/gcc.scm:462 msgid "GNU C++ standard library" -msgstr "" +msgstr "Biblioteca común C++ de GNU" #: gnu/packages/gcc.scm:497 msgid "Collection of subroutines used by various GNU programs" msgstr "" #: gnu/packages/gcc.scm:682 +#, fuzzy msgid "GNU libstdc++ documentation" -msgstr "" +msgstr "Gestor Documental" #: gnu/packages/gcc.scm:750 msgid "Manipulating sets and relations of integer points bounded by linear constraints" @@ -4128,8 +4212,9 @@ msgid "" msgstr "" #: gnu/packages/gettext.scm:130 +#, fuzzy msgid "Tools and documentation for translation" -msgstr "" +msgstr "Herramientas documentales Yelp" #: gnu/packages/gettext.scm:195 msgid "Scripts to ease maintenance of translations" @@ -4169,8 +4254,9 @@ msgid "" msgstr "" #: gnu/packages/gimp.scm:180 +#, fuzzy msgid "GNU Image Manipulation Program" -msgstr "" +msgstr "Programa de descarga de imágenes" #: gnu/packages/gimp.scm:182 msgid "" @@ -4215,8 +4301,9 @@ msgid "" msgstr "" #: gnu/packages/gnome.scm:325 +#, fuzzy msgid "Diagram creation for GNOME" -msgstr "" +msgstr "(Kit de herramientas de accesibilidad GNOME" #: gnu/packages/gnome.scm:326 msgid "" @@ -4286,12 +4373,14 @@ msgid "" msgstr "" #: gnu/packages/gnome.scm:564 +#, fuzzy msgid "Disk management utility for GNOME" -msgstr "" +msgstr "Gestión de cuota del disco" #: gnu/packages/gnome.scm:565 +#, fuzzy msgid "Disk management utility for GNOME." -msgstr "" +msgstr "Gestión de cuota del disco" #: gnu/packages/gnome.scm:608 msgid "Libraries for displaying certificates and accessing key stores" @@ -4329,7 +4418,7 @@ msgstr "" #: gnu/packages/gnome.scm:774 msgid "GNOME's document viewer" -msgstr "" +msgstr "Visor documental de GNOME" #: gnu/packages/gnome.scm:776 msgid "" @@ -4361,16 +4450,17 @@ msgid "" msgstr "" #: gnu/packages/gnome.scm:874 +#, fuzzy msgid "GNOME icon theme" -msgstr "" +msgstr "Tema icónico Tango" #: gnu/packages/gnome.scm:876 msgid "Icons for the GNOME desktop." -msgstr "" +msgstr "Iconos para el escritorio GNOME." #: gnu/packages/gnome.scm:913 msgid "Tango icon theme" -msgstr "" +msgstr "Tema icónico Tango" #: gnu/packages/gnome.scm:914 msgid "" @@ -4392,16 +4482,19 @@ msgid "" msgstr "" #: gnu/packages/gnome.scm:966 +#, fuzzy msgid "Freedesktop icon theme" -msgstr "" +msgstr "Tema icónico Tango" #: gnu/packages/gnome.scm:968 +#, fuzzy msgid "Freedesktop icon theme." -msgstr "" +msgstr "Tema icónico Tango" #: gnu/packages/gnome.scm:996 +#, fuzzy msgid "GNOME desktop notification library" -msgstr "" +msgstr "Iconos para el escritorio GNOME." #: gnu/packages/gnome.scm:998 msgid "" @@ -4412,8 +4505,9 @@ msgid "" msgstr "" #: gnu/packages/gnome.scm:1032 +#, fuzzy msgid "GObject plugin system" -msgstr "" +msgstr "Colección bibliotecaria de GObject" #: gnu/packages/gnome.scm:1034 msgid "" @@ -4425,8 +4519,9 @@ msgid "" msgstr "" #: gnu/packages/gnome.scm:1063 +#, fuzzy msgid "OpenGL extension to GTK+" -msgstr "" +msgstr " Compatibilidad Gtk+ desactivada.\n" #: gnu/packages/gnome.scm:1064 msgid "" @@ -4447,8 +4542,9 @@ msgid "" msgstr "" #: gnu/packages/gnome.scm:1136 +#, fuzzy msgid "CSS2 parsing and manipulation library" -msgstr "" +msgstr "Biblioteca para interpreción del formato CorelDraw" #: gnu/packages/gnome.scm:1138 msgid "" @@ -4459,8 +4555,9 @@ msgid "" msgstr "" #: gnu/packages/gnome.scm:1171 +#, fuzzy msgid "GNOME's Structured File Library" -msgstr "" +msgstr "Se crea el fichero de biblioteca: %s\n" #: gnu/packages/gnome.scm:1173 msgid "" @@ -4513,7 +4610,7 @@ msgstr "" #: gnu/packages/gnome.scm:1371 msgid "Store application preferences" -msgstr "" +msgstr "Almacena preferencias de aplicación" #: gnu/packages/gnome.scm:1372 msgid "" @@ -4556,7 +4653,7 @@ msgstr "" #: gnu/packages/gnome.scm:1520 msgid "2D drawing library" -msgstr "" +msgstr "Biblioteca de dibujo 2D" #: gnu/packages/gnome.scm:1521 msgid "" @@ -4583,8 +4680,9 @@ msgid "C++ bindings to the GNOME Canvas library." msgstr "" #: gnu/packages/gnome.scm:1605 +#, fuzzy msgid "Additional widgets for applications" -msgstr "" +msgstr "Aplicaciones configuradas para la delegación" #: gnu/packages/gnome.scm:1606 msgid "" @@ -4605,8 +4703,9 @@ msgid "" msgstr "" #: gnu/packages/gnome.scm:1663 gnu/packages/gnome.scm:1695 +#, fuzzy msgid "Printing framework for GNOME" -msgstr "" +msgstr "Iconos para el escritorio GNOME." #: gnu/packages/gnome.scm:1665 msgid "" @@ -4645,8 +4744,9 @@ msgid "A GLib/GTK+ set of document-centric objects and utilities." msgstr "" #: gnu/packages/gnome.scm:1905 +#, fuzzy msgid "Spreadsheet application" -msgstr "" +msgstr "Aplicación\n" #: gnu/packages/gnome.scm:1907 msgid "" @@ -4676,8 +4776,9 @@ msgid "" msgstr "" #: gnu/packages/gnome.scm:2022 gnu/packages/gnome.scm:2258 +#, fuzzy msgid "Compiler for the GObject type system" -msgstr "" +msgstr "asume SISTEMA como la actual tipo de sistema" #: gnu/packages/gnome.scm:2024 msgid "" @@ -4689,7 +4790,7 @@ msgstr "" #: gnu/packages/gnome.scm:2056 msgid "Virtual Terminal Emulator" -msgstr "" +msgstr "Emulador de Terminal Virtual" #: gnu/packages/gnome.scm:2058 msgid "" @@ -4711,8 +4812,9 @@ msgid "" msgstr "" #: gnu/packages/gnome.scm:2179 +#, fuzzy msgid "Remote desktop viewer for GNOME" -msgstr "" +msgstr "Iconos para el escritorio GNOME." #: gnu/packages/gnome.scm:2180 msgid "" @@ -4754,7 +4856,7 @@ msgstr "" #: gnu/packages/gnome.scm:2329 msgid "Python bindings to librsvg" -msgstr "" +msgstr "Enlazando Python para librsvg" #: gnu/packages/gnome.scm:2331 msgid "" @@ -4812,8 +4914,9 @@ msgid "" msgstr "" #: gnu/packages/gnome.scm:2656 +#, fuzzy msgid "Minesweeper game" -msgstr "" +msgstr "Buscaminas" #: gnu/packages/gnome.scm:2658 msgid "" @@ -4823,7 +4926,7 @@ msgstr "" #: gnu/packages/gnome.scm:2689 msgid "Japanese logic game" -msgstr "" +msgstr "Juego lógico japonés" #: gnu/packages/gnome.scm:2691 msgid "" @@ -4835,7 +4938,7 @@ msgstr "" #: gnu/packages/gnome.scm:2737 msgid "Terminal emulator" -msgstr "" +msgstr "Emulador de terminal" #: gnu/packages/gnome.scm:2739 msgid "" @@ -4849,7 +4952,7 @@ msgstr "" #: gnu/packages/gnome.scm:2805 msgid "Color management service" -msgstr "" +msgstr "Servicio de gestión de color" #: gnu/packages/gnome.scm:2806 msgid "" @@ -4859,8 +4962,9 @@ msgid "" msgstr "" #: gnu/packages/gnome.scm:2850 +#, fuzzy msgid "Geolocation service" -msgstr "" +msgstr "SERVICIO" #: gnu/packages/gnome.scm:2851 msgid "" @@ -4906,8 +5010,11 @@ msgid "" msgstr "" #: gnu/packages/gnome.scm:3054 +#, fuzzy msgid "GNOME settings daemon" msgstr "" +"-- \n" +"El demonio de Fetchmail" #: gnu/packages/gnome.scm:3056 msgid "" @@ -4929,7 +5036,7 @@ msgstr "" #: gnu/packages/gnome.scm:3128 msgid "Solitaire card games" -msgstr "" +msgstr "Juegos de cartas solitatias" #: gnu/packages/gnome.scm:3130 msgid "" @@ -4938,8 +5045,9 @@ msgid "" msgstr "" #: gnu/packages/gnome.scm:3154 +#, fuzzy msgid "API documentation browser for GNOME" -msgstr "" +msgstr "Explorador web para GNOME" #: gnu/packages/gnome.scm:3156 msgid "" @@ -5021,8 +5129,9 @@ msgid "" msgstr "" #: gnu/packages/gnome.scm:3477 +#, fuzzy msgid "Sliding block puzzles" -msgstr "" +msgstr "Bloque Guardado" #: gnu/packages/gnome.scm:3479 msgid "" @@ -5057,8 +5166,9 @@ msgid "" msgstr "" #: gnu/packages/gnome.scm:3774 +#, fuzzy msgid "Music player for GNOME" -msgstr "" +msgstr "música por:" #: gnu/packages/gnome.scm:3775 msgid "" @@ -5067,8 +5177,9 @@ msgid "" msgstr "" #: gnu/packages/gnome.scm:3825 +#, fuzzy msgid "GNOME image viewer" -msgstr "" +msgstr "/Ver con…/Visualizador incorporado" #: gnu/packages/gnome.scm:3826 msgid "" @@ -5094,8 +5205,9 @@ msgid "" msgstr "" #: gnu/packages/gnome.scm:3896 +#, fuzzy msgid "GObject bindings for libudev" -msgstr "" +msgstr "Colección bibliotecaria de GObject" #: gnu/packages/gnome.scm:3898 msgid "" @@ -5119,8 +5231,9 @@ msgid "" msgstr "" #: gnu/packages/gnome.scm:3994 +#, fuzzy msgid "GLib binding for libusb1" -msgstr "" +msgstr "no admitió enlace simbólico %d" #: gnu/packages/gnome.scm:3996 msgid "" @@ -5131,8 +5244,9 @@ msgid "" msgstr "" #: gnu/packages/gnome.scm:4047 +#, fuzzy msgid "Document and image scanner" -msgstr "" +msgstr " opciones del analizador: -" #: gnu/packages/gnome.scm:4048 msgid "" @@ -5145,7 +5259,7 @@ msgstr "" #: gnu/packages/gnome.scm:4121 msgid "Web browser for GNOME" -msgstr "" +msgstr "Explorador web para GNOME" #: gnu/packages/gnome.scm:4123 msgid "" @@ -5155,7 +5269,7 @@ msgstr "" #: gnu/packages/gnome.scm:4170 msgid "GNOME web browser" -msgstr "" +msgstr "Explorador web GNOME" #: gnu/packages/gnome.scm:4172 msgid "" @@ -5164,8 +5278,9 @@ msgid "" msgstr "" #: gnu/packages/gnome.scm:4228 +#, fuzzy msgid "D-Bus debugger" -msgstr "" +msgstr "Error de bus" #: gnu/packages/gnome.scm:4230 msgid "" @@ -5175,7 +5290,7 @@ msgstr "" #: gnu/packages/gnome.scm:4252 msgid "XSL stylesheets for Yelp" -msgstr "" +msgstr "Hojas de estilos XSL para Yelp" #: gnu/packages/gnome.scm:4254 msgid "" @@ -5184,8 +5299,9 @@ msgid "" msgstr "" #: gnu/packages/gnome.scm:4285 +#, fuzzy msgid "GNOME help browser" -msgstr "" +msgstr "Explorador web GNOME" #: gnu/packages/gnome.scm:4287 msgid "" @@ -5196,7 +5312,7 @@ msgstr "" #: gnu/packages/gnome.scm:4315 msgid "Yelp documentation tools" -msgstr "" +msgstr "Herramientas documentales Yelp" #: gnu/packages/gnome.scm:4317 msgid "" @@ -5208,7 +5324,7 @@ msgstr "" #: gnu/packages/gnome.scm:4354 msgid "GObject collection library" -msgstr "" +msgstr "Colección bibliotecaria de GObject" #: gnu/packages/gnome.scm:4356 msgid "" @@ -5228,8 +5344,9 @@ msgid "" msgstr "" #: gnu/packages/gnome.scm:4429 +#, fuzzy msgid "Photo manager for GNOME 3" -msgstr "" +msgstr "Gestor de sesión para GNOME" #: gnu/packages/gnome.scm:4431 msgid "" @@ -5240,8 +5357,9 @@ msgid "" msgstr "" #: gnu/packages/gnome.scm:4472 +#, fuzzy msgid "Graphical archive manager for GNOME" -msgstr "" +msgstr "Gestor de sesión para GNOME" #: gnu/packages/gnome.scm:4473 msgid "" @@ -5252,7 +5370,7 @@ msgstr "" #: gnu/packages/gnome.scm:4551 msgid "Session manager for GNOME" -msgstr "" +msgstr "Gestor de sesión para GNOME" #: gnu/packages/gnome.scm:4553 msgid "" @@ -5261,8 +5379,9 @@ msgid "" msgstr "" #: gnu/packages/gnome.scm:4606 +#, fuzzy msgid "Javascript bindings for GNOME" -msgstr "" +msgstr "Enlazando XOSD para Guile" #: gnu/packages/gnome.scm:4609 msgid "" @@ -5272,7 +5391,7 @@ msgstr "" #: gnu/packages/gnome.scm:4668 msgid "GNOME text editor" -msgstr "" +msgstr "Editor textual de GNOME" #: gnu/packages/gnome.scm:4669 msgid "" @@ -5292,7 +5411,7 @@ msgstr "" #: gnu/packages/gnome.scm:4790 msgid "Window and compositing manager" -msgstr "" +msgstr "Ventana y composicion de gestor" #: gnu/packages/gnome.scm:4793 msgid "" @@ -5315,8 +5434,9 @@ msgid "" msgstr "" #: gnu/packages/gnome.scm:4889 +#, fuzzy msgid "Store address books and calendars" -msgstr "" +msgstr "STO_CA (almacena direcc código) %.*s\n" #: gnu/packages/gnome.scm:4892 msgid "" @@ -5336,8 +5456,9 @@ msgid "" msgstr "" #: gnu/packages/gnome.scm:5075 +#, fuzzy msgid "Network connection manager" -msgstr "" +msgstr "Gestor" #: gnu/packages/gnome.scm:5078 msgid "" @@ -5359,12 +5480,14 @@ msgid "" msgstr "" #: gnu/packages/gnome.scm:5136 +#, fuzzy msgid "Database of broadband connection configuration" -msgstr "" +msgstr "<b>Conexión a Base de Datos</b>" #: gnu/packages/gnome.scm:5137 +#, fuzzy msgid "Database of broadband connection configuration." -msgstr "" +msgstr "<b>Conexión a Base de Datos</b>" #: gnu/packages/gnome.scm:5171 msgid "Applet for managing network connections" @@ -5387,8 +5510,9 @@ msgid "" msgstr "" #: gnu/packages/gnome.scm:5337 +#, fuzzy msgid "Display manager for GNOME" -msgstr "" +msgstr "Gestor de sesión para GNOME" #: gnu/packages/gnome.scm:5340 msgid "" @@ -5407,8 +5531,9 @@ msgid "" msgstr "" #: gnu/packages/gnome.scm:5397 +#, fuzzy msgid "GNOME Bluetooth subsystem" -msgstr "" +msgstr "Gestor de sesión para GNOME" #: gnu/packages/gnome.scm:5400 msgid "" @@ -5418,7 +5543,7 @@ msgstr "" #: gnu/packages/gnome.scm:5466 msgid "Utilities to configure the GNOME desktop" -msgstr "" +msgstr "Utilidades para configurar el escritorio de GNOME" #: gnu/packages/gnome.scm:5469 msgid "" @@ -5429,8 +5554,9 @@ msgid "" msgstr "" #: gnu/packages/gnome.scm:5554 +#, fuzzy msgid "Desktop shell for GNOME" -msgstr "" +msgstr "Iconos para el escritorio GNOME." #: gnu/packages/gnome.scm:5557 msgid "" @@ -5472,8 +5598,9 @@ msgid "" msgstr "" #: gnu/packages/gnome.scm:5728 +#, fuzzy msgid "File manager for GNOME" -msgstr "" +msgstr "Gestor de sesión para GNOME" #: gnu/packages/gnome.scm:5731 msgid "" @@ -5495,8 +5622,9 @@ msgid "" msgstr "" #: gnu/packages/gnome.scm:5785 +#, fuzzy msgid "Background images for the GNOME desktop" -msgstr "" +msgstr "Iconos para el escritorio GNOME." #: gnu/packages/gnome.scm:5787 msgid "" @@ -5508,7 +5636,7 @@ msgstr "" #: gnu/packages/gnome.scm:5820 msgid "Take pictures of your screen" -msgstr "" +msgstr "Toma cuadros en su pantalla" #: gnu/packages/gnome.scm:5822 msgid "" @@ -5542,8 +5670,9 @@ msgid "" msgstr "" #: gnu/packages/gnome.scm:5948 +#, fuzzy msgid "The GNU desktop environment" -msgstr "" +msgstr "Iconos para el escritorio GNOME." #: gnu/packages/gnome.scm:5951 msgid "" @@ -5553,8 +5682,9 @@ msgid "" msgstr "" #: gnu/packages/gnome.scm:6003 +#, fuzzy msgid "Desktop recording program" -msgstr "" +msgstr "Iconos para el escritorio GNOME." #: gnu/packages/gnome.scm:6004 msgid "" @@ -5565,7 +5695,7 @@ msgstr "" #: gnu/packages/gnome.scm:6031 msgid "GObject wrapper for libcanberra" -msgstr "" +msgstr "Envoltura GObject para libcanberra" #: gnu/packages/gnome.scm:6033 msgid "" @@ -5585,8 +5715,9 @@ msgid "" msgstr "" #: gnu/packages/gnome.scm:6098 +#, fuzzy msgid "GNOME's clock application" -msgstr "" +msgstr "Aplicación ToDo de GNOME" #: gnu/packages/gnome.scm:6100 msgid "" @@ -5595,8 +5726,9 @@ msgid "" msgstr "" #: gnu/packages/gnome.scm:6132 +#, fuzzy msgid "GNOME's calendar application" -msgstr "" +msgstr "Aplicación ToDo de GNOME" #: gnu/packages/gnome.scm:6134 msgid "" @@ -5606,7 +5738,7 @@ msgstr "" #: gnu/packages/gnome.scm:6183 msgid "GNOME's ToDo Application" -msgstr "" +msgstr "Aplicación ToDo de GNOME" #: gnu/packages/gnome.scm:6185 msgid "" @@ -5637,8 +5769,9 @@ msgid "" msgstr "" #: gnu/packages/gnome.scm:6291 +#, fuzzy msgid "Extensions for GNOME Shell" -msgstr "" +msgstr "Shell: " #: gnu/packages/gnome.scm:6292 msgid "" @@ -5658,8 +5791,9 @@ msgid "" msgstr "" #: gnu/packages/gnome.scm:6359 +#, fuzzy msgid "Faba icon theme" -msgstr "" +msgstr "Tema icónico Tango" #: gnu/packages/gnome.scm:6361 msgid "" @@ -5668,8 +5802,9 @@ msgid "" msgstr "" #: gnu/packages/gnome.scm:6385 +#, fuzzy msgid "Moka icon theme" -msgstr "" +msgstr "Tema icónico Tango" #: gnu/packages/gnome.scm:6386 msgid "" @@ -5678,8 +5813,9 @@ msgid "" msgstr "" #: gnu/packages/gnome.scm:6416 +#, fuzzy msgid "Arc icon theme" -msgstr "" +msgstr "Tema icónico Tango" #: gnu/packages/gnome.scm:6417 msgid "" @@ -5712,8 +5848,9 @@ msgid "" msgstr "" #: gnu/packages/gnome.scm:6514 +#, fuzzy msgid "GNOME keyboard configuration library" -msgstr "" +msgstr "Biblioteca de fichero de configuración C/C++" #: gnu/packages/gnome.scm:6516 msgid "" @@ -5736,8 +5873,9 @@ msgid "" msgstr "" #: gnu/packages/gnome.scm:6585 +#, fuzzy msgid "Desktop calculator" -msgstr "" +msgstr "Iconos para el escritorio GNOME." #: gnu/packages/gnome.scm:6587 msgid "" @@ -5747,7 +5885,7 @@ msgstr "" #: gnu/packages/gnome.scm:6612 msgid "Virtual sticky note" -msgstr "" +msgstr "Anotación chincheta virtual" #: gnu/packages/gnome.scm:6614 msgid "" @@ -5769,8 +5907,9 @@ msgid "" msgstr "" #: gnu/packages/gnome.scm:6676 +#, fuzzy msgid "Web development studio" -msgstr "" +msgstr "Web:" #: gnu/packages/gnome.scm:6678 msgid "" @@ -5815,7 +5954,7 @@ msgstr "" #: gnu/packages/gnome.scm:6856 msgid "GNOME's alternative spell checker" -msgstr "" +msgstr "Comprobador ortográfico alternativo de GNOME" #: gnu/packages/gnome.scm:6858 msgid "" @@ -5841,8 +5980,9 @@ msgid "" msgstr "" #: gnu/packages/gnome.scm:6980 +#, fuzzy msgid "GNOME music playing application" -msgstr "" +msgstr "Aplicación ToDo de GNOME" #: gnu/packages/gnome.scm:6982 msgid "" @@ -5873,8 +6013,9 @@ msgid "" msgstr "" #: gnu/packages/gnuzilla.scm:118 +#, fuzzy msgid "Mozilla javascript engine" -msgstr "" +msgstr "scripts internos empotrados en JavaScript." #: gnu/packages/gnuzilla.scm:119 msgid "" @@ -5894,8 +6035,9 @@ msgid "" msgstr "" #: gnu/packages/gnuzilla.scm:383 +#, fuzzy msgid "Network Security Services" -msgstr "" +msgstr "Máscara de red" #: gnu/packages/gnuzilla.scm:385 msgid "" @@ -5919,7 +6061,7 @@ msgstr "" #: gnu/packages/gtk.scm:97 msgid "GNOME accessibility toolkit" -msgstr "" +msgstr "(Kit de herramientas de accesibilidad GNOME" #: gnu/packages/gtk.scm:99 msgid "" @@ -5929,8 +6071,9 @@ msgid "" msgstr "" #: gnu/packages/gtk.scm:139 +#, fuzzy msgid "2D graphics library" -msgstr "" +msgstr "Biblioteca de dibujo 2D" #: gnu/packages/gtk.scm:141 msgid "" @@ -5974,8 +6117,9 @@ msgid "" msgstr "" #: gnu/packages/gtk.scm:263 +#, fuzzy msgid "Obsolete pango functions" -msgstr "" +msgstr "reubicación obsoleta " #: gnu/packages/gtk.scm:264 msgid "" @@ -6008,8 +6152,9 @@ msgid "" msgstr "" #: gnu/packages/gtk.scm:422 +#, fuzzy msgid "GNOME source code widget" -msgstr "" +msgstr "Activar repositorios de código fuente" #: gnu/packages/gtk.scm:423 msgid "" @@ -6065,8 +6210,9 @@ msgid "" msgstr "" #: gnu/packages/gtk.scm:805 +#, fuzzy msgid "Cairo bindings for GNU Guile" -msgstr "" +msgstr "Enlazando XOSD para Guile" #: gnu/packages/gtk.scm:807 msgid "" @@ -6155,16 +6301,18 @@ msgid "" msgstr "" #: gnu/packages/gtk.scm:1143 +#, fuzzy msgid "Python bindings for cairo" -msgstr "" +msgstr "Enlazando XOSD para Guile" #: gnu/packages/gtk.scm:1145 msgid "Pycairo is a set of Python bindings for the Cairo graphics library." msgstr "" #: gnu/packages/gtk.scm:1229 +#, fuzzy msgid "Python bindings for GTK+" -msgstr "" +msgstr "Enlazando XOSD para Guile" #: gnu/packages/gtk.scm:1231 msgid "" @@ -6267,7 +6415,7 @@ msgstr "" #: gnu/packages/guile.scm:379 msgid "Package manager for Guile" -msgstr "" +msgstr "Gestor de Paquetes para Guile" #: gnu/packages/guile.scm:381 msgid "" @@ -6319,8 +6467,9 @@ msgid "" msgstr "" #: gnu/packages/guile.scm:556 +#, fuzzy msgid "Guile bindings to ncurses" -msgstr "" +msgstr "Enlazando XOSD para Guile" #: gnu/packages/guile.scm:558 msgid "" @@ -6366,7 +6515,7 @@ msgstr "" #: gnu/packages/guile.scm:754 msgid "JSON module for Guile" -msgstr "" +msgstr "JSON modular para Guile" #: gnu/packages/guile.scm:756 msgid "" @@ -6416,8 +6565,11 @@ msgid "" msgstr "" #: gnu/packages/guile.scm:1002 +#, fuzzy msgid "S-expression based regular expressions" msgstr "" +"Error en la expresión regular «%s»:\n" +"%s" #: gnu/packages/guile.scm:1004 msgid "" @@ -6503,8 +6655,9 @@ msgid "" msgstr "" #: gnu/packages/guile.scm:1418 +#, fuzzy msgid "Generate C bindings for Guile" -msgstr "" +msgstr "Enlazando XOSD para Guile" #: gnu/packages/guile.scm:1419 msgid "" @@ -6539,7 +6692,7 @@ msgstr "" #: gnu/packages/guile.scm:1534 msgid "DSV module for Guile" -msgstr "" +msgstr "Módulo DSV para Guile" #: gnu/packages/guile.scm:1536 msgid "" @@ -6550,7 +6703,7 @@ msgstr "" #: gnu/packages/guile.scm:1563 msgid "XOSD bindings for Guile" -msgstr "" +msgstr "Enlazando XOSD para Guile" #: gnu/packages/guile.scm:1565 msgid "" @@ -6571,8 +6724,9 @@ msgid "" msgstr "" #: gnu/packages/guile.scm:1621 +#, fuzzy msgid "CommonMark parser for Guile" -msgstr "" +msgstr "Gestor de Paquetes para Guile" #: gnu/packages/guile.scm:1623 msgid "" @@ -6667,7 +6821,7 @@ msgstr "" #: gnu/packages/guile.scm:1959 msgid "Guile bindings for libgit2" -msgstr "" +msgstr "Enlazando Guile para libgit2" #: gnu/packages/guile.scm:1961 msgid "" @@ -6698,8 +6852,9 @@ msgid "" msgstr "" #: gnu/packages/guile.scm:2073 +#, fuzzy msgid "Colorized REPL for Guile" -msgstr "" +msgstr "Gestor de Paquetes para Guile" #: gnu/packages/guile.scm:2075 msgid "Guile-colorized provides you with a colorized REPL for GNU Guile." @@ -6720,8 +6875,9 @@ msgid "" msgstr "" #: gnu/packages/imagemagick.scm:156 +#, fuzzy msgid "Perl interface to ImageMagick" -msgstr "" +msgstr "scripts internos empotrados en perl." #: gnu/packages/imagemagick.scm:157 msgid "" @@ -6739,8 +6895,9 @@ msgid "" msgstr "" #: gnu/packages/image.scm:94 +#, fuzzy msgid "Library for handling PNG files" -msgstr "" +msgstr "Biblioteca descodificante para ficheros GIF" #: gnu/packages/image.scm:96 msgid "" @@ -6750,7 +6907,7 @@ msgstr "" #: gnu/packages/image.scm:160 msgid "APNG patch for libpng" -msgstr "" +msgstr "Parche APNG para libpng" #: gnu/packages/image.scm:162 msgid "" @@ -6760,8 +6917,9 @@ msgid "" msgstr "" #: gnu/packages/image.scm:202 +#, fuzzy msgid "Read and write PNG images" -msgstr "" +msgstr "Lectura-Escritura" #: gnu/packages/image.scm:204 msgid "" @@ -6771,8 +6929,9 @@ msgid "" msgstr "" #: gnu/packages/image.scm:239 +#, fuzzy msgid "Utility to compress PNG files" -msgstr "" +msgstr "Comprime o expande ficheros" #: gnu/packages/image.scm:240 msgid "" @@ -6781,8 +6940,9 @@ msgid "" msgstr "" #: gnu/packages/image.scm:259 +#, fuzzy msgid "Library for handling JPEG files" -msgstr "" +msgstr "Biblioteca descodificante para ficheros GIF" #: gnu/packages/image.scm:261 msgid "" @@ -6805,7 +6965,7 @@ msgstr "" #: gnu/packages/image.scm:350 msgid "Optimize JPEG images" -msgstr "" +msgstr "Optimiza imágenes JPEG" #: gnu/packages/image.scm:352 msgid "" @@ -6829,8 +6989,9 @@ msgid "" msgstr "" #: gnu/packages/image.scm:418 +#, fuzzy msgid "Library for handling TIFF files" -msgstr "" +msgstr "Biblioteca descodificante para ficheros GIF" #: gnu/packages/image.scm:420 msgid "" @@ -6873,7 +7034,7 @@ msgstr "" #: gnu/packages/image.scm:537 msgid "JPEG 2000 codec" -msgstr "" +msgstr "Código JPEG 2000" #: gnu/packages/image.scm:539 msgid "" @@ -6927,7 +7088,7 @@ msgstr "" #: gnu/packages/image.scm:691 msgid "Wrapper library for imlib2" -msgstr "" +msgstr "Biblioteca cubierta para imlib2" #: gnu/packages/image.scm:693 msgid "" @@ -6947,8 +7108,11 @@ msgid "" msgstr "" #: gnu/packages/image.scm:792 +#, fuzzy msgid "Computer vision library" msgstr "" +"\t-l biblioteca\t\t--load=biblioteca\n" +"\n" #: gnu/packages/image.scm:794 msgid "" @@ -6959,8 +7123,9 @@ msgid "" msgstr "" #: gnu/packages/image.scm:826 +#, fuzzy msgid "Lossless and lossy image compression" -msgstr "" +msgstr "Compresión de Imagen" #: gnu/packages/image.scm:828 msgid "" @@ -6975,8 +7140,9 @@ msgid "" msgstr "" #: gnu/packages/image.scm:856 +#, fuzzy msgid "Library for handling MNG files" -msgstr "" +msgstr "Biblioteca descodificante para ficheros GIF" #: gnu/packages/image.scm:858 msgid "Libmng is the MNG (Multiple-image Network Graphics) reference library." @@ -7006,7 +7172,7 @@ msgstr "" #: gnu/packages/image.scm:949 msgid "JPEG-2000 library" -msgstr "" +msgstr "Biblioteca JPEG-2000" #: gnu/packages/image.scm:950 msgid "" @@ -7040,8 +7206,9 @@ msgid "" msgstr "" #: gnu/packages/image.scm:1055 +#, fuzzy msgid "Image and audio steganography" -msgstr "" +msgstr " : Audio\n" #: gnu/packages/image.scm:1057 msgid "" @@ -7051,8 +7218,9 @@ msgid "" msgstr "" #: gnu/packages/image.scm:1082 +#, fuzzy msgid "Image library for Extempore" -msgstr "" +msgstr " : Imagen\n" #: gnu/packages/image.scm:1084 msgid "" @@ -7185,8 +7353,9 @@ msgid "" msgstr "" #: gnu/packages/image-viewers.scm:320 +#, fuzzy msgid "Render images in the terminal" -msgstr "" +msgstr "fallo al establecer la salida estándar como no utilizable" #: gnu/packages/image-viewers.scm:322 msgid "" @@ -7216,7 +7385,7 @@ msgstr "" #: gnu/packages/image-viewers.scm:422 msgid "Image viewer for comics" -msgstr "" +msgstr "Visor imagen para comics" #: gnu/packages/image-viewers.scm:423 msgid "" @@ -7247,8 +7416,9 @@ msgid "" msgstr "" #: gnu/packages/key-mon.scm:50 +#, fuzzy msgid "Show keyboard and mouse status" -msgstr "" +msgstr "Muestra el estado del árbol de trabajo." #: gnu/packages/key-mon.scm:52 msgid "" @@ -7351,7 +7521,7 @@ msgstr "" #: gnu/packages/libreoffice.scm:288 msgid "CMIS client library" -msgstr "" +msgstr "Cliente biblioteca CMIS" #: gnu/packages/libreoffice.scm:289 msgid "" @@ -7361,8 +7531,9 @@ msgid "" msgstr "" #: gnu/packages/libreoffice.scm:320 +#, fuzzy msgid "Library for parsing the AbiWord format" -msgstr "" +msgstr "Biblioteca para interpreción del formato CorelDraw" #: gnu/packages/libreoffice.scm:321 msgid "" @@ -7372,7 +7543,7 @@ msgstr "" #: gnu/packages/libreoffice.scm:352 msgid "Library for parsing the CorelDRAW format" -msgstr "" +msgstr "Biblioteca para interpreción del formato CorelDraw" #: gnu/packages/libreoffice.scm:353 msgid "" @@ -7381,8 +7552,9 @@ msgid "" msgstr "" #: gnu/packages/libreoffice.scm:385 +#, fuzzy msgid "Library for parsing the Apple Keynote format" -msgstr "" +msgstr "Biblioteca para interpreción del formato CorelDraw" #: gnu/packages/libreoffice.scm:386 msgid "" @@ -7405,7 +7577,7 @@ msgstr "" #: gnu/packages/libreoffice.scm:430 msgid "Text Categorization library" -msgstr "" +msgstr "Biblioteca de Categoría Textual" #: gnu/packages/libreoffice.scm:431 msgid "" @@ -7414,8 +7586,9 @@ msgid "" msgstr "" #: gnu/packages/libreoffice.scm:461 +#, fuzzy msgid "Library for parsing the FreeHand format" -msgstr "" +msgstr "Biblioteca para interpreción del formato CorelDraw" #: gnu/packages/libreoffice.scm:462 msgid "" @@ -7424,8 +7597,9 @@ msgid "" msgstr "" #: gnu/packages/libreoffice.scm:488 +#, fuzzy msgid "Library for parsing the Microsoft Publisher format" -msgstr "" +msgstr "Biblioteca para interpreción del formato CorelDraw" #: gnu/packages/libreoffice.scm:489 msgid "" @@ -7434,8 +7608,9 @@ msgid "" msgstr "" #: gnu/packages/libreoffice.scm:514 +#, fuzzy msgid "Library for parsing the PageMaker format" -msgstr "" +msgstr "Biblioteca para interpreción del formato CorelDraw" #: gnu/packages/libreoffice.scm:515 msgid "" @@ -7445,8 +7620,9 @@ msgid "" msgstr "" #: gnu/packages/libreoffice.scm:545 +#, fuzzy msgid "Library for parsing the Microsoft Visio format" -msgstr "" +msgstr "Biblioteca para interpreción del formato CorelDraw" #: gnu/packages/libreoffice.scm:546 msgid "" @@ -7530,8 +7706,9 @@ msgid "Hunspell dictionary for the post @dfn{1990 réforme} French" msgstr "Diccionario Hunspell para francés posterior @dfn{1990 réforme}" #: gnu/packages/libreoffice.scm:792 +#, fuzzy msgid "Hunspell dictionary for all variants of French" -msgstr "" +msgstr "Diccionario Hunspell para francés ``moderno''" #: gnu/packages/libreoffice.scm:810 msgid "Hyphenation library" @@ -7556,7 +7733,7 @@ msgstr "" #: gnu/packages/libreoffice.scm:1042 msgid "Office suite" -msgstr "" +msgstr "Suite oficina" #: gnu/packages/libreoffice.scm:1043 msgid "" @@ -7691,8 +7868,9 @@ msgid "" msgstr "" #: gnu/packages/linux.scm:895 +#, fuzzy msgid "System call tracer for Linux" -msgstr "" +msgstr "fallado la llamada al sistema `fork'" #: gnu/packages/linux.scm:897 msgid "" @@ -7804,8 +7982,9 @@ msgid "" msgstr "" #: gnu/packages/linux.scm:1460 +#, fuzzy msgid "Manipulate Ethernet bridges" -msgstr "" +msgstr "Dispositivo Ethernet sobre ATA" #: gnu/packages/linux.scm:1462 msgid "" @@ -7945,8 +8124,9 @@ msgid "" msgstr "" #: gnu/packages/linux.scm:1921 +#, fuzzy msgid "Neo2 console layout" -msgstr "" +msgstr "Personalizar Diseño" #: gnu/packages/linux.scm:1923 msgid "" @@ -7967,7 +8147,7 @@ msgstr "" #: gnu/packages/linux.scm:2007 msgid "Monitor file accesses" -msgstr "" +msgstr "Monitor de acceso a fichero" #: gnu/packages/linux.scm:2009 msgid "" @@ -7976,8 +8156,9 @@ msgid "" msgstr "" #: gnu/packages/linux.scm:2047 +#, fuzzy msgid "Kernel module tools" -msgstr "" +msgstr " núcleo: ~a~%" #: gnu/packages/linux.scm:2048 msgid "" @@ -7991,8 +8172,9 @@ msgid "" msgstr "" #: gnu/packages/linux.scm:2092 +#, fuzzy msgid "Userspace device management" -msgstr "" +msgstr "Gestionar Proyecto" #: gnu/packages/linux.scm:2093 msgid "" @@ -8041,8 +8223,9 @@ msgid "" msgstr "" #: gnu/packages/linux.scm:2343 +#, fuzzy msgid "Wireless regulatory database" -msgstr "" +msgstr "base de datos" #: gnu/packages/linux.scm:2345 msgid "" @@ -8063,8 +8246,9 @@ msgid "" msgstr "" #: gnu/packages/linux.scm:2451 +#, fuzzy msgid "I2C tools for Linux" -msgstr "" +msgstr "Herramientas contenedoras Linux" #: gnu/packages/linux.scm:2453 msgid "" @@ -8141,8 +8325,9 @@ msgid "" msgstr "" #: gnu/packages/linux.scm:2651 +#, fuzzy msgid "Display information on ACPI devices" -msgstr "" +msgstr " dispositivos : enseña todas los dispositivos de bloques activos\n" #: gnu/packages/linux.scm:2652 msgid "" @@ -8288,8 +8473,9 @@ msgid "" msgstr "" #: gnu/packages/linux.scm:3122 +#, fuzzy msgid "Mount exFAT file systems" -msgstr "" +msgstr "no se ha procesado ningún sistema de ficheros" #: gnu/packages/linux.scm:3124 msgid "" @@ -8331,7 +8517,7 @@ msgstr "" #: gnu/packages/linux.scm:3290 msgid "Userland tools for f2fs" -msgstr "" +msgstr "Herramientas de usuario para f2fs" #: gnu/packages/linux.scm:3292 msgid "" @@ -8355,8 +8541,9 @@ msgid "" msgstr "" #: gnu/packages/linux.scm:3377 +#, fuzzy msgid "Simple fan control program" -msgstr "" +msgstr "Terminal controladora simple" #: gnu/packages/linux.scm:3379 msgid "" @@ -8549,8 +8736,9 @@ msgid "" msgstr "" #: gnu/packages/linux.scm:3922 +#, fuzzy msgid "Performance monitoring tools for Linux" -msgstr "" +msgstr "Herramientas contenedoras Linux" #: gnu/packages/linux.scm:3923 msgid "" @@ -8582,7 +8770,7 @@ msgstr "" #: gnu/packages/linux.scm:4059 msgid "Power management tool for Linux" -msgstr "" +msgstr "Herramienta de gestor de energía para Linux" #: gnu/packages/linux.scm:4060 msgid "" @@ -8593,8 +8781,9 @@ msgid "" msgstr "" #: gnu/packages/linux.scm:4087 +#, fuzzy msgid "List hardware information" -msgstr "" +msgstr "Información de paquete: lista de versiones" #: gnu/packages/linux.scm:4089 msgid "" @@ -8607,8 +8796,9 @@ msgid "" msgstr "" #: gnu/packages/linux.scm:4112 +#, fuzzy msgid "Netlink utility library" -msgstr "" +msgstr "Biblioteca utilitaria para NetSurf" #: gnu/packages/linux.scm:4113 msgid "" @@ -8690,8 +8880,9 @@ msgid "" msgstr "" #: gnu/packages/linux.scm:4380 +#, fuzzy msgid "Utility to show process environment" -msgstr "" +msgstr "Muestra anillos de procesos" #: gnu/packages/linux.scm:4381 msgid "" @@ -8702,8 +8893,9 @@ msgid "" msgstr "" #: gnu/packages/linux.scm:4408 +#, fuzzy msgid "Open Fabric Interfaces" -msgstr "" +msgstr "_Abrir…" #: gnu/packages/linux.scm:4410 msgid "" @@ -8732,8 +8924,9 @@ msgid "" msgstr "" #: gnu/packages/lout.scm:109 +#, fuzzy msgid "Document layout system" -msgstr "" +msgstr "Personalizar Diseño" #: gnu/packages/lout.scm:111 msgid "" @@ -8798,8 +8991,9 @@ msgid "" msgstr "" #: gnu/packages/messaging.scm:252 +#, fuzzy msgid "Graphical IRC Client" -msgstr "" +msgstr "Unir discursiones IRC" #: gnu/packages/messaging.scm:254 msgid "" @@ -8852,8 +9046,9 @@ msgid "" msgstr "" #: gnu/packages/messaging.scm:486 +#, fuzzy msgid "IRC network bouncer" -msgstr "" +msgstr "Unir discursiones IRC" #: gnu/packages/messaging.scm:487 msgid "" @@ -8876,7 +9071,7 @@ msgstr "" #: gnu/packages/messaging.scm:560 msgid "Jabber (XMPP) client" -msgstr "" +msgstr "Cliente Jabber (XMPP)" #: gnu/packages/messaging.scm:561 msgid "" @@ -8889,7 +9084,7 @@ msgstr "" #: gnu/packages/messaging.scm:630 msgid "Graphical Jabber (XMPP) client" -msgstr "" +msgstr "Cliente Jabber gráfico (XMPP)" #: gnu/packages/messaging.scm:631 msgid "" @@ -8899,7 +9094,7 @@ msgstr "" #: gnu/packages/messaging.scm:720 msgid "Jabber (XMPP) server" -msgstr "" +msgstr "Servidor Jabber (XMPP)" #: gnu/packages/messaging.scm:721 msgid "" @@ -8926,7 +9121,7 @@ msgstr "" #: gnu/packages/messaging.scm:847 msgid "Lightweight Tox client" -msgstr "" +msgstr "Cliente Tox ligero" #: gnu/packages/messaging.scm:849 msgid "" @@ -8952,8 +9147,9 @@ msgid "" msgstr "" #: gnu/packages/messaging.scm:993 +#, fuzzy msgid "Distributed peer-to-peer communication" -msgstr "" +msgstr "verificando parte certificado: %s" #: gnu/packages/messaging.scm:1012 msgid "Multi-user chat program" @@ -9000,7 +9196,7 @@ msgstr "" #: gnu/packages/messaging.scm:1159 msgid "PSYC library in C" -msgstr "" +msgstr "Biblioteca PSYC en C" #: gnu/packages/messaging.scm:1226 msgid "psycLPC is a multi-user network server programming language" @@ -9025,7 +9221,7 @@ msgstr "" #: gnu/packages/messaging.scm:1263 msgid "Asynchronous XMPP library" -msgstr "" +msgstr "Biblioteca XMPP asíncrona)" #: gnu/packages/messaging.scm:1295 msgid "" @@ -9037,7 +9233,7 @@ msgstr "" #: gnu/packages/messaging.scm:1299 msgid "Small XMPP console client" -msgstr "" +msgstr "Cliente pequeño de consola XMPP" #: gnu/packages/messaging.scm:1345 msgid "Extensible console-based Jabber client" @@ -9070,8 +9266,9 @@ msgid "" msgstr "" #: gnu/packages/messaging.scm:1453 +#, fuzzy msgid "Console-based XMPP client" -msgstr "" +msgstr "Cliente Jabber (XMPP)" #: gnu/packages/messaging.scm:1454 msgid "" @@ -9113,8 +9310,9 @@ msgid "" msgstr "" #: gnu/packages/mpd.scm:142 +#, fuzzy msgid "Music Player Daemon" -msgstr "" +msgstr "música por:" #: gnu/packages/mpd.scm:143 msgid "" @@ -9188,8 +9386,9 @@ msgid "" msgstr "" #: gnu/packages/netpbm.scm:178 +#, fuzzy msgid "Toolkit for manipulation of images" -msgstr "" +msgstr "(Kit de herramientas de accesibilidad GNOME" #: gnu/packages/netpbm.scm:180 msgid "" @@ -9298,8 +9497,9 @@ msgid "" msgstr "" #: gnu/packages/networking.scm:336 +#, fuzzy msgid "Display or change Ethernet device settings" -msgstr "" +msgstr "Modifica o enseña opciones del paginador." #: gnu/packages/networking.scm:338 msgid "" @@ -9346,7 +9546,7 @@ msgstr "" #: gnu/packages/networking.scm:481 msgid "Improved whois client" -msgstr "" +msgstr "Cliente whois mejorado" #: gnu/packages/networking.scm:482 msgid "" @@ -9397,7 +9597,7 @@ msgstr "" #: gnu/packages/networking.scm:625 msgid "Visualize curl statistics" -msgstr "" +msgstr "Visualizar estadísticas curl" #: gnu/packages/networking.scm:627 msgid "" @@ -9582,8 +9782,9 @@ msgid "" msgstr "" #: gnu/packages/networking.scm:1183 +#, fuzzy msgid "Usenet binary file downloader" -msgstr "" +msgstr "%s: no se puede ejecutar el fichero binario" #: gnu/packages/networking.scm:1185 msgid "" @@ -9596,8 +9797,9 @@ msgid "" msgstr "" #: gnu/packages/networking.scm:1239 +#, fuzzy msgid "Virtual network switch" -msgstr "" +msgstr "Máscara de red" #: gnu/packages/networking.scm:1242 msgid "" @@ -9619,8 +9821,9 @@ msgid "" msgstr "" #: gnu/packages/networking.scm:1285 +#, fuzzy msgid "Internet bandwidth tester" -msgstr "" +msgstr "Demonio de servicios de Internet" #: gnu/packages/networking.scm:1287 msgid "" @@ -9630,7 +9833,7 @@ msgstr "" #: gnu/packages/networking.scm:1305 msgid "HPA's tftp client" -msgstr "" +msgstr "Cliente tftp de HPA" #: gnu/packages/networking.scm:1307 msgid "" @@ -9640,8 +9843,9 @@ msgid "" msgstr "" #: gnu/packages/networking.scm:1335 +#, fuzzy msgid "Small Ident Daemon" -msgstr "" +msgstr "ident" #: gnu/packages/networking.scm:1337 msgid "" @@ -9665,8 +9869,9 @@ msgid "" msgstr "" #: gnu/packages/networking.scm:1412 +#, fuzzy msgid "Routing Software Suite" -msgstr "" +msgstr "Enrutando Suite Software" #: gnu/packages/networking.scm:1413 msgid "" @@ -9693,7 +9898,7 @@ msgstr "" #: gnu/packages/networking.scm:1488 msgid "Bandwidth monitor" -msgstr "" +msgstr "Monitor ancho de banda" #: gnu/packages/networking.scm:1489 msgid "" @@ -9717,8 +9922,9 @@ msgid "" msgstr "" #: gnu/packages/pdf.scm:127 +#, fuzzy msgid "PDF rendering library" -msgstr "" +msgstr "Renderizando boletín «~a»…" #: gnu/packages/pdf.scm:129 msgid "Poppler is a PDF rendering library based on the xpdf-3.0 code base." @@ -9733,8 +9939,9 @@ msgid "Qt5 frontend for the Poppler PDF rendering library" msgstr "" #: gnu/packages/pdf.scm:182 +#, fuzzy msgid "Python bindings for Poppler-Qt4" -msgstr "" +msgstr "Enlazando XOSD para Guile" #: gnu/packages/pdf.scm:184 msgid "" @@ -9743,8 +9950,9 @@ msgid "" msgstr "" #: gnu/packages/pdf.scm:229 +#, fuzzy msgid "Python bindings for Poppler-Qt5" -msgstr "" +msgstr "Enlazando XOSD para Guile" #: gnu/packages/pdf.scm:231 msgid "" @@ -9754,7 +9962,7 @@ msgstr "" #: gnu/packages/pdf.scm:268 msgid "Library for generating PDF files" -msgstr "" +msgstr "Biblioteca para generación de ficheros PDF" #: gnu/packages/pdf.scm:270 msgid "" @@ -9832,8 +10040,9 @@ msgid "" msgstr "" #: gnu/packages/pdf.scm:558 +#, fuzzy msgid "Tools to work with the PDF file format" -msgstr "" +msgstr "Elección del nombre del formato de exportación en PDF" #: gnu/packages/pdf.scm:560 msgid "" @@ -9874,8 +10083,9 @@ msgid "" msgstr "" #: gnu/packages/pdf.scm:695 +#, fuzzy msgid "Notetaking using a stylus" -msgstr "" +msgstr " empleando " #: gnu/packages/pdf.scm:697 msgid "" @@ -9917,8 +10127,9 @@ msgid "" msgstr "" #: gnu/packages/pdf.scm:850 +#, fuzzy msgid "PDF to SVG converter" -msgstr "" +msgstr "Exporta al fichero PDF" #: gnu/packages/pdf.scm:851 msgid "" @@ -9989,7 +10200,7 @@ msgstr "" #: gnu/packages/pem.scm:41 msgid "Personal expenses manager" -msgstr "" +msgstr "Gestor de gastos personales" #: gnu/packages/pem.scm:43 msgid "" @@ -10059,8 +10270,9 @@ msgid "" msgstr "" #: gnu/packages/perl.scm:259 +#, fuzzy msgid "Configuration files and command line parsing" -msgstr "" +msgstr "línea %d: Error al procesar %%files: %s\n" #: gnu/packages/perl.scm:260 msgid "" @@ -10069,8 +10281,9 @@ msgid "" msgstr "" #: gnu/packages/perl.scm:278 +#, fuzzy msgid "Perl API to zip files" -msgstr "" +msgstr "Configuración del API (ficheros *.ini)" #: gnu/packages/perl.scm:300 msgid "Small utils for array manipulation" @@ -10106,7 +10319,7 @@ msgstr "" #: gnu/packages/perl.scm:352 msgid "Lexically disable autovivification" -msgstr "" +msgstr "Léxicamente desactiva autovivificación" #: gnu/packages/perl.scm:353 msgid "" @@ -10135,8 +10348,9 @@ msgid "" msgstr "" #: gnu/packages/perl.scm:400 +#, fuzzy msgid "Open a browser in a given URL" -msgstr "" +msgstr "Escuchando el url dado." #: gnu/packages/perl.scm:401 msgid "" @@ -10170,7 +10384,7 @@ msgstr "" #: gnu/packages/perl.scm:469 msgid "Benchmarking with statistical confidence" -msgstr "" +msgstr "Medición con confianza estadísticas" #: gnu/packages/perl.scm:471 msgid "" @@ -10182,8 +10396,9 @@ msgid "" msgstr "" #: gnu/packages/perl.scm:496 +#, fuzzy msgid "Bit vector library" -msgstr "" +msgstr "no se admite el registro de índice de vector" #: gnu/packages/perl.scm:497 msgid "" @@ -10197,7 +10412,7 @@ msgstr "" #: gnu/packages/perl.scm:519 msgid "Boolean support for Perl" -msgstr "" +msgstr "Apoyo booleano para Perl" #: gnu/packages/perl.scm:520 msgid "" @@ -10206,8 +10421,9 @@ msgid "" msgstr "" #: gnu/packages/perl.scm:538 +#, fuzzy msgid "Data files for Business::ISBN" -msgstr "" +msgstr "NT_PROCSTAT_FILES (datos ficheros)" #: gnu/packages/perl.scm:539 msgid "" @@ -10247,8 +10463,9 @@ msgid "" msgstr "" #: gnu/packages/perl.scm:623 +#, fuzzy msgid "Cache interface for Perl" -msgstr "" +msgstr ", sin-caché" #: gnu/packages/perl.scm:624 msgid "" @@ -10307,8 +10524,9 @@ msgid "" msgstr "" #: gnu/packages/perl.scm:732 +#, fuzzy msgid "Executable comments for Perl" -msgstr "" +msgstr "ejecutable" #: gnu/packages/perl.scm:733 msgid "" @@ -10348,7 +10566,7 @@ msgstr "" #: gnu/packages/perl.scm:820 msgid "Automated accessor generation" -msgstr "" +msgstr "Generación accesor automático" #: gnu/packages/perl.scm:821 msgid "" @@ -10369,8 +10587,9 @@ msgid "" msgstr "" #: gnu/packages/perl.scm:871 +#, fuzzy msgid "Build groups of accessors" -msgstr "" +msgstr "compilar" #: gnu/packages/perl.scm:872 msgid "" @@ -10390,8 +10609,9 @@ msgid "" msgstr "" #: gnu/packages/perl.scm:917 +#, fuzzy msgid "Drop-in replacement for NEXT" -msgstr "" +msgstr "cadenas de reemplazo de campos vacíos conflictivas" #: gnu/packages/perl.scm:918 msgid "" @@ -10432,8 +10652,9 @@ msgid "" msgstr "" #: gnu/packages/perl.scm:1002 +#, fuzzy msgid "Base class for error handling" -msgstr "" +msgstr "Clase base C++ no definida" #: gnu/packages/perl.scm:1004 msgid "" @@ -10445,7 +10666,7 @@ msgstr "" #: gnu/packages/perl.scm:1025 msgid "Utility methods for factory classes" -msgstr "" +msgstr "Métodos utilizados para clases factoriales" #: gnu/packages/perl.scm:1026 msgid "This module exports methods useful for factory classes." @@ -10517,8 +10738,9 @@ msgid "" msgstr "" #: gnu/packages/perl.scm:1180 +#, fuzzy msgid "Minimalist class construction" -msgstr "" +msgstr "(dentro de clase)" #: gnu/packages/perl.scm:1181 msgid "" @@ -10528,7 +10750,7 @@ msgstr "" #: gnu/packages/perl.scm:1201 msgid "Unload a class" -msgstr "" +msgstr "Descarga una clase" #: gnu/packages/perl.scm:1202 msgid "" @@ -10552,7 +10774,7 @@ msgstr "" #: gnu/packages/perl.scm:1241 gnu/packages/perl.scm:1264 msgid "Recursively copy Perl datatypes" -msgstr "" +msgstr "Copiar recursivamente tipos de datos Perl" #: gnu/packages/perl.scm:1243 msgid "" @@ -10602,7 +10824,7 @@ msgstr "" #: gnu/packages/perl.scm:1347 msgid "Generic Config Module" -msgstr "" +msgstr "Módulo Configurable Genérico" #: gnu/packages/perl.scm:1348 msgid "" @@ -10660,7 +10882,7 @@ msgstr "" #: gnu/packages/perl.scm:1468 msgid "JSON::XS for Cpanel" -msgstr "" +msgstr "JSON::XS para Cpanel" #: gnu/packages/perl.scm:1469 gnu/packages/perl.scm:4193 msgid "" @@ -10670,7 +10892,7 @@ msgstr "" #: gnu/packages/perl.scm:1487 msgid "Random password generator" -msgstr "" +msgstr "Generador de contraseñas aleatorias" #: gnu/packages/perl.scm:1488 msgid "" @@ -10692,8 +10914,9 @@ msgid "A pure Perl implementation of the RC4 algorithm." msgstr "" #: gnu/packages/perl.scm:1533 +#, fuzzy msgid "Temporarily change working directory" -msgstr "" +msgstr "no se puede obtener directorio ocupado" #: gnu/packages/perl.scm:1535 msgid "" @@ -10702,8 +10925,9 @@ msgid "" msgstr "" #: gnu/packages/perl.scm:1573 +#, fuzzy msgid "Library for genomic analysis" -msgstr "" +msgstr "Análisis de señal…" #: gnu/packages/perl.scm:1574 msgid "" @@ -10726,8 +10950,9 @@ msgid "" msgstr "" #: gnu/packages/perl.scm:1627 +#, fuzzy msgid "Compare Perl data structures" -msgstr "" +msgstr "Construye estructuras desde datos CGI" #: gnu/packages/perl.scm:1628 msgid "" @@ -10747,8 +10972,9 @@ msgid "" msgstr "" #: gnu/packages/perl.scm:1666 +#, fuzzy msgid "Pretty printing of data structures" -msgstr "" +msgstr "Pretty-printing:\n" #: gnu/packages/perl.scm:1667 msgid "" @@ -10759,7 +10985,7 @@ msgstr "" #: gnu/packages/perl.scm:1686 msgid "Concise data dumper" -msgstr "" +msgstr "Volcador de fechas concisas" #: gnu/packages/perl.scm:1687 msgid "" @@ -10825,8 +11051,9 @@ msgid "" msgstr "" #: gnu/packages/perl.scm:1850 +#, fuzzy msgid "Structured tags datastructures" -msgstr "" +msgstr "Etiquetas EXIF:" #: gnu/packages/perl.scm:1852 msgid "" @@ -10896,8 +11123,9 @@ msgid "" msgstr "" #: gnu/packages/perl.scm:2008 +#, fuzzy msgid "Date manipulation routines" -msgstr "" +msgstr "Manipulación de Base de Datos" #: gnu/packages/perl.scm:2009 msgid "" @@ -10908,7 +11136,7 @@ msgstr "" #: gnu/packages/perl.scm:2028 msgid "Simple date handling" -msgstr "" +msgstr "Manipular fecha simple" #: gnu/packages/perl.scm:2029 msgid "" @@ -10920,7 +11148,7 @@ msgstr "" #: gnu/packages/perl.scm:2061 msgid "Date and time object for Perl" -msgstr "" +msgstr "Objetos de fecha y hora para Perl" #: gnu/packages/perl.scm:2062 msgid "" @@ -10931,7 +11159,7 @@ msgstr "" #: gnu/packages/perl.scm:2084 msgid "Dates in the Julian calendar" -msgstr "" +msgstr "Fechas en el calendario juliano" #: gnu/packages/perl.scm:2085 msgid "" @@ -10943,7 +11171,7 @@ msgstr "" #: gnu/packages/perl.scm:2111 msgid "DateTime set objects" -msgstr "" +msgstr "Objetos establecen FechaHora" #: gnu/packages/perl.scm:2112 msgid "" @@ -10955,7 +11183,7 @@ msgstr "" #: gnu/packages/perl.scm:2135 msgid "DateTime rfc2445 recurrences" -msgstr "" +msgstr "Recurrencia FechaHora rfc2445" #: gnu/packages/perl.scm:2136 msgid "" @@ -10988,8 +11216,9 @@ msgid "" msgstr "" #: gnu/packages/perl.scm:2211 +#, fuzzy msgid "Parse data/time strings" -msgstr "" +msgstr "No se han podido analizar los datos EXIF." #: gnu/packages/perl.scm:2212 msgid "" @@ -11033,7 +11262,7 @@ msgstr "" #: gnu/packages/perl.scm:2332 msgid "Localization support for DateTime.pm" -msgstr "" +msgstr "Apoyo a localización para DateTime.pm" #: gnu/packages/perl.scm:2333 msgid "" @@ -11042,8 +11271,9 @@ msgid "" msgstr "" #: gnu/packages/perl.scm:2361 +#, fuzzy msgid "Time zone object for Perl" -msgstr "" +msgstr "_Zona horaria:" #: gnu/packages/perl.scm:2362 msgid "" @@ -11057,7 +11287,7 @@ msgstr "" #: gnu/packages/perl.scm:2392 msgid "Parse date/time strings" -msgstr "" +msgstr "Interpretar cadenas textuales de fecha/hora" #: gnu/packages/perl.scm:2393 msgid "" @@ -11089,8 +11319,9 @@ msgid "" msgstr "" #: gnu/packages/perl.scm:2461 +#, fuzzy msgid "Meatier version of caller" -msgstr "" +msgstr "Llamador del marco: " #: gnu/packages/perl.scm:2462 msgid "Devel::Caller provides meatier version of caller." @@ -11098,7 +11329,7 @@ msgstr "" #: gnu/packages/perl.scm:2480 msgid "Check that a command is available" -msgstr "" +msgstr "Marcar que una función está disponible" #: gnu/packages/perl.scm:2481 msgid "" @@ -11107,8 +11338,9 @@ msgid "" msgstr "" #: gnu/packages/perl.scm:2500 +#, fuzzy msgid "Check compiler availability" -msgstr "" +msgstr " compilador : %.*s\n" #: gnu/packages/perl.scm:2501 msgid "" @@ -11151,7 +11383,7 @@ msgstr "" #: gnu/packages/perl.scm:2590 msgid "Alias lexical variables" -msgstr "" +msgstr "Variables léxicas alias" #: gnu/packages/perl.scm:2591 msgid "" @@ -11160,8 +11392,9 @@ msgid "" msgstr "" #: gnu/packages/perl.scm:2615 +#, fuzzy msgid "Introspect overloaded operators" -msgstr "" +msgstr "Operadores de sufijo `#' redundantes" #: gnu/packages/perl.scm:2616 msgid "" @@ -11172,7 +11405,7 @@ msgstr "" #: gnu/packages/perl.scm:2643 msgid "Partial dumping of data structures" -msgstr "" +msgstr "Volcado parcial de estructuras de datos" #: gnu/packages/perl.scm:2644 msgid "" @@ -11181,8 +11414,9 @@ msgid "" msgstr "" #: gnu/packages/perl.scm:2662 +#, fuzzy msgid "Object representing a stack trace" -msgstr "" +msgstr "traza de pila finalizada" #: gnu/packages/perl.scm:2663 msgid "" @@ -11193,8 +11427,9 @@ msgid "" msgstr "" #: gnu/packages/perl.scm:2685 +#, fuzzy msgid "Displays stack trace in HTML" -msgstr "" +msgstr "traza de pila finalizada" #: gnu/packages/perl.scm:2686 msgid "" @@ -11207,7 +11442,7 @@ msgstr "" #: gnu/packages/perl.scm:2707 msgid "Dump symbol names or the symbol table" -msgstr "" +msgstr "Volcar nombres de símbolos o la distribución simbólica" #: gnu/packages/perl.scm:2708 msgid "Devel::Symdump provides access to the perl symbol table." @@ -11257,7 +11492,7 @@ msgstr "" #: gnu/packages/perl.scm:2816 msgid "Detect the encoding of data" -msgstr "" +msgstr "Detecta la codificación de datos" #: gnu/packages/perl.scm:2817 msgid "" @@ -11287,7 +11522,7 @@ msgstr "" #: gnu/packages/perl.scm:2878 msgid "Additional Chinese encodings" -msgstr "" +msgstr "Codificación china adicional" #: gnu/packages/perl.scm:2879 msgid "" @@ -11384,8 +11619,9 @@ msgid "" msgstr "" #: gnu/packages/perl.scm:3060 +#, fuzzy msgid "Wrapper for perl's configuration" -msgstr "" +msgstr "La cubierta del enlazador" #: gnu/packages/perl.scm:3061 msgid "" @@ -11442,7 +11678,7 @@ msgstr "" #: gnu/packages/perl.scm:3180 msgid "Watch for changes to files" -msgstr "" +msgstr "Vigile modificaciones a ficheros" #: gnu/packages/perl.scm:3181 msgid "" @@ -11451,8 +11687,9 @@ msgid "" msgstr "" #: gnu/packages/perl.scm:3202 +#, fuzzy msgid "Get directories of configuration files" -msgstr "" +msgstr "los dos ficheros que hay que comparar son directorios" #: gnu/packages/perl.scm:3203 msgid "" @@ -11463,8 +11700,9 @@ msgid "" msgstr "" #: gnu/packages/perl.scm:3223 +#, fuzzy msgid "Recursively copy files and directories" -msgstr "" +msgstr "Copia directorios recursivamente" #: gnu/packages/perl.scm:3224 msgid "" @@ -11475,7 +11713,7 @@ msgstr "" #: gnu/packages/perl.scm:3246 msgid "Alternative interface to File::Find" -msgstr "" +msgstr "Interfaz alternativo para Fichero::Encontrar" #: gnu/packages/perl.scm:3247 msgid "" @@ -11521,7 +11759,7 @@ msgstr "" #: gnu/packages/perl.scm:3339 msgid "Create or remove directory trees" -msgstr "" +msgstr "Crear o quitar árboles directóricos" #: gnu/packages/perl.scm:3340 msgid "" @@ -11559,8 +11797,9 @@ msgid "" msgstr "" #: gnu/packages/perl.scm:3414 +#, fuzzy msgid "Remove files and directories in Perl" -msgstr "" +msgstr "los dos ficheros que hay que comparar son directorios" #: gnu/packages/perl.scm:3415 msgid "" @@ -11595,8 +11834,9 @@ msgid "" msgstr "" #: gnu/packages/perl.scm:3483 +#, fuzzy msgid "Install shared files" -msgstr "" +msgstr "no instalar ficheros de configuración" #: gnu/packages/perl.scm:3484 msgid "" @@ -11627,8 +11867,9 @@ msgid "" msgstr "" #: gnu/packages/perl.scm:3545 +#, fuzzy msgid "Simple file reader and writer" -msgstr "" +msgstr "copias de seguridad simples para cada fichero" #: gnu/packages/perl.scm:3547 msgid "This module provides functions for fast reading and writing of files." @@ -11667,8 +11908,9 @@ msgid "" msgstr "" #: gnu/packages/perl.scm:3629 +#, fuzzy msgid "Module to handle parsing command line options" -msgstr "" +msgstr "Error interno durante el análisis de las opciones de línea de órdenes.\n" #: gnu/packages/perl.scm:3630 msgid "" @@ -11708,7 +11950,7 @@ msgstr "" #: gnu/packages/perl.scm:3707 msgid "Graph data structures and algorithms" -msgstr "" +msgstr "Estructuras y algoritmos de datos gráficos" #: gnu/packages/perl.scm:3708 msgid "" @@ -11782,8 +12024,11 @@ msgid "" msgstr "" #: gnu/packages/perl.scm:3850 +#, fuzzy msgid "Import packages into other packages" msgstr "" +"Paquetes a ser reinstalados\n" +" Estos paquetes serán reinstalados." #: gnu/packages/perl.scm:3851 msgid "" @@ -11821,8 +12066,9 @@ msgid "" msgstr "" #: gnu/packages/perl.scm:3918 +#, fuzzy msgid "Utilities for interactive I/O" -msgstr "" +msgstr "fuerza E/S interactiva" #: gnu/packages/perl.scm:3919 msgid "" @@ -11863,8 +12109,9 @@ msgid "" msgstr "" #: gnu/packages/perl.scm:3996 +#, fuzzy msgid "Run interactive command-line programs" -msgstr "" +msgstr "¡Este guión debe ser ejecutado desde la línea de órdenes!" #: gnu/packages/perl.scm:3997 msgid "" @@ -11898,8 +12145,9 @@ msgid "" msgstr "" #: gnu/packages/perl.scm:4071 +#, fuzzy msgid "Lightweight interface to shared memory" -msgstr "" +msgstr "objeto de memoria compartido" #: gnu/packages/perl.scm:4072 msgid "" @@ -11994,7 +12242,7 @@ msgstr "" #: gnu/packages/perl.scm:4270 msgid "Log4j implementation for Perl" -msgstr "" +msgstr "Implementación Log4j para Perl" #: gnu/packages/perl.scm:4271 msgid "" @@ -12004,8 +12252,9 @@ msgid "" msgstr "" #: gnu/packages/perl.scm:4291 +#, fuzzy msgid "Log::Report in the lightest form" -msgstr "" +msgstr "informe de registro" #: gnu/packages/perl.scm:4293 msgid "" @@ -12146,8 +12395,9 @@ msgid "" msgstr "" #: gnu/packages/perl.scm:4593 +#, fuzzy msgid "Charset information for MIME messages" -msgstr "" +msgstr "depura mensajes incluido información fuente" #: gnu/packages/perl.scm:4595 msgid "" @@ -12167,8 +12417,9 @@ msgid "" msgstr "" #: gnu/packages/perl.scm:4643 +#, fuzzy msgid "Definition of MIME types" -msgstr "" +msgstr " Tipo MIME: «%s»\n" #: gnu/packages/perl.scm:4644 msgid "" @@ -12201,8 +12452,9 @@ msgid "" msgstr "" #: gnu/packages/perl.scm:4722 +#, fuzzy msgid "Tiny replacement for Module::Build" -msgstr "" +msgstr " -m construye un módulo de carga dinámicamente (predeterminado)" #: gnu/packages/perl.scm:4723 msgid "" @@ -12321,8 +12573,9 @@ msgid "" msgstr "" #: gnu/packages/perl.scm:4964 +#, fuzzy msgid "Module name tools and transformations" -msgstr "" +msgstr "nombre de módulo inválido: %s" #: gnu/packages/perl.scm:4965 msgid "" @@ -12397,7 +12650,7 @@ msgstr "" #: gnu/packages/perl.scm:5189 msgid "Code attribute introspection" -msgstr "" +msgstr "Interprospección código atributado" #: gnu/packages/perl.scm:5190 msgid "" @@ -12626,8 +12879,11 @@ msgid "" msgstr "" #: gnu/packages/perl.scm:5792 +#, fuzzy msgid "Moosish types and type builder" msgstr "" +"tipo de compactación inválido: %s\n" +"los tipos conocidos son:\n" #: gnu/packages/perl.scm:5793 msgid "" @@ -12735,7 +12991,7 @@ msgstr "" #: gnu/packages/perl.scm:6019 msgid "Numeric comparisons" -msgstr "" +msgstr "Comparaciones numéricas" #: gnu/packages/perl.scm:6020 msgid "" @@ -12767,8 +13023,9 @@ msgid "" msgstr "" #: gnu/packages/perl.scm:6086 +#, fuzzy msgid "Anonymous packages" -msgstr "" +msgstr "Usuario anónimo" #: gnu/packages/perl.scm:6087 msgid "" @@ -12788,8 +13045,9 @@ msgid "" msgstr "" #: gnu/packages/perl.scm:6143 +#, fuzzy msgid "Routines for manipulating stashes" -msgstr "" +msgstr "Rutinas para manipular estadísticas" #: gnu/packages/perl.scm:6144 msgid "" @@ -12844,8 +13102,9 @@ msgid "" msgstr "" #: gnu/packages/perl.scm:6260 +#, fuzzy msgid "Validate method/function parameters" -msgstr "" +msgstr "tipo equivocado para la función del método C++" #: gnu/packages/perl.scm:6261 msgid "" @@ -12884,7 +13143,7 @@ msgstr "" #: gnu/packages/perl.scm:6348 msgid "Path specification manipulation" -msgstr "" +msgstr "Manipulación especificante de ruta" #: gnu/packages/perl.scm:6349 msgid "" @@ -12894,7 +13153,7 @@ msgstr "" #: gnu/packages/perl.scm:6373 msgid "File path utility" -msgstr "" +msgstr "Ruta de fichero de utilidad" #: gnu/packages/perl.scm:6374 msgid "" @@ -12925,7 +13184,7 @@ msgstr "" #: gnu/packages/perl.scm:6435 msgid "Parsing library for text in Pod format" -msgstr "" +msgstr "Interpreta biblioteca para texto en formato Pod" #: gnu/packages/perl.scm:6436 msgid "" @@ -12947,8 +13206,9 @@ msgid "" msgstr "" #: gnu/packages/perl.scm:6476 +#, fuzzy msgid "Information about the currently running perl" -msgstr "" +msgstr "Muestra información sobre los usuarios que están actualmente conectados.\n" #: gnu/packages/perl.scm:6478 msgid "" @@ -13019,7 +13279,7 @@ msgstr "" #: gnu/packages/perl.scm:6619 msgid "Roles, as a slice of Moose" -msgstr "" +msgstr "Actores, como una rodaja de Moose" #: gnu/packages/perl.scm:6620 msgid "Role::Tiny is a minimalist role composition tool." @@ -13051,8 +13311,9 @@ msgid "" msgstr "" #: gnu/packages/perl.scm:6680 +#, fuzzy msgid "Infinite sets" -msgstr "" +msgstr "infinito" #: gnu/packages/perl.scm:6681 msgid "Set::Infinite is a set theory module for infinite sets." @@ -13069,8 +13330,9 @@ msgid "" msgstr "" #: gnu/packages/perl.scm:6720 +#, fuzzy msgid "Set operations for Perl" -msgstr "" +msgstr "escribir conjunto dependiente perl(...)" #: gnu/packages/perl.scm:6721 msgid "" @@ -13220,7 +13482,7 @@ msgstr "" #: gnu/packages/perl.scm:7017 msgid "Tool to inspect subroutines" -msgstr "" +msgstr "Herramienta para inspeccionar subrutinas" #: gnu/packages/perl.scm:7018 msgid "" @@ -13229,8 +13491,12 @@ msgid "" msgstr "" #: gnu/packages/perl.scm:7037 +#, fuzzy msgid "Install subroutines into packages easily" msgstr "" +"\n" +" -i, --install PAQUETE ...\n" +" install PAQUETEs" #: gnu/packages/perl.scm:7039 msgid "" @@ -13241,7 +13507,7 @@ msgstr "" #: gnu/packages/perl.scm:7060 msgid "(Re)name a sub" -msgstr "" +msgstr "(Re)nombrar un sub" #: gnu/packages/perl.scm:7061 msgid "" @@ -13275,8 +13541,9 @@ msgid "" msgstr "" #: gnu/packages/perl.scm:7122 +#, fuzzy msgid "Switch statement for Perl" -msgstr "" +msgstr "scripts internos empotrados en perl." #: gnu/packages/perl.scm:7123 msgid "" @@ -13320,8 +13587,9 @@ msgid "" msgstr "" #: gnu/packages/perl.scm:7246 +#, fuzzy msgid "Template processing system for Perl" -msgstr "" +msgstr "Ocurrió un error al procesar la plantilla:" #: gnu/packages/perl.scm:7247 msgid "" @@ -13334,7 +13602,7 @@ msgstr "" #: gnu/packages/perl.scm:7270 msgid "Profiling for Template Toolkit" -msgstr "" +msgstr "Perfilando para Plantillas de Kit de Herramientas" #: gnu/packages/perl.scm:7271 msgid "" @@ -13343,8 +13611,9 @@ msgid "" msgstr "" #: gnu/packages/perl.scm:7291 +#, fuzzy msgid "Detect encoding of the current terminal" -msgstr "" +msgstr "Localización actual emplea codificación %s.\n" #: gnu/packages/perl.scm:7292 msgid "" @@ -13376,8 +13645,9 @@ msgid "" msgstr "" #: gnu/packages/perl.scm:7363 +#, fuzzy msgid "Simple progress bars" -msgstr "" +msgstr "En progreso" #: gnu/packages/perl.scm:7364 msgid "" @@ -13387,7 +13657,7 @@ msgstr "" #: gnu/packages/perl.scm:7382 msgid "Simple terminal control" -msgstr "" +msgstr "Terminal controladora simple" #: gnu/packages/perl.scm:7383 msgid "" @@ -13399,8 +13669,9 @@ msgid "" msgstr "" #: gnu/packages/perl.scm:7408 +#, fuzzy msgid "Retrieve terminal size" -msgstr "" +msgstr "Ningún dato a obtener." #: gnu/packages/perl.scm:7409 msgid "" @@ -13422,7 +13693,7 @@ msgstr "" #: gnu/packages/perl.scm:7450 msgid "Format a header and rows into a table" -msgstr "" +msgstr "Formatear una cabecera y filas dentro de una tabla" #: gnu/packages/perl.scm:7451 msgid "" @@ -13452,7 +13723,7 @@ msgstr "" #: gnu/packages/perl.scm:7508 msgid "Manipulate comma-separated values" -msgstr "" +msgstr "Manipula valorer separados por coma" #: gnu/packages/perl.scm:7509 msgid "" @@ -13462,8 +13733,9 @@ msgid "" msgstr "" #: gnu/packages/perl.scm:7528 +#, fuzzy msgid "Rountines for manipulating CSV files" -msgstr "" +msgstr "Descargando, subiendo y manipulando ficheros" #: gnu/packages/perl.scm:7529 msgid "" @@ -13524,7 +13796,7 @@ msgstr "" #: gnu/packages/perl.scm:7642 msgid "Simple ASCII tables" -msgstr "" +msgstr "Distribución simple ASCII" #: gnu/packages/perl.scm:7643 msgid "Text::SimpleTable draws simple ASCII tables." @@ -13532,7 +13804,7 @@ msgstr "" #: gnu/packages/perl.scm:7664 msgid "Organize Data in Tables" -msgstr "" +msgstr "Organizar Datos en Tablas" #: gnu/packages/perl.scm:7665 msgid "Text::Table renders plaintext tables." @@ -13565,8 +13837,9 @@ msgid "" msgstr "" #: gnu/packages/perl.scm:7737 +#, fuzzy msgid "Role for classes that can be thrown" -msgstr "" +msgstr "Cargo para clases que puedan ser referenciads" #: gnu/packages/perl.scm:7738 msgid "" @@ -13576,7 +13849,7 @@ msgstr "" #: gnu/packages/perl.scm:7755 msgid "Perl script tidier" -msgstr "" +msgstr "Guiones Perl tipado" #: gnu/packages/perl.scm:7756 msgid "" @@ -13610,8 +13883,9 @@ msgid "" msgstr "" #: gnu/packages/perl.scm:7820 +#, fuzzy msgid "Tie to an existing Perl object" -msgstr "" +msgstr "No se puede borrar un objeto que no existe." #: gnu/packages/perl.scm:7821 msgid "" @@ -13622,7 +13896,7 @@ msgstr "" #: gnu/packages/perl.scm:7844 msgid "English expression of durations" -msgstr "" +msgstr "Expresión inglesa de duraciones" #: gnu/packages/perl.scm:7845 msgid "" @@ -13631,8 +13905,9 @@ msgid "" msgstr "" #: gnu/packages/perl.scm:7867 +#, fuzzy msgid "Parse time duration strings" -msgstr "" +msgstr "%s error: '%s' no es una duración temporal reconocible\n" #: gnu/packages/perl.scm:7868 msgid "" @@ -13664,7 +13939,7 @@ msgstr "" #: gnu/packages/perl.scm:7930 msgid "Shift and scale time" -msgstr "" +msgstr "Mayúsculas y escala temporal" #: gnu/packages/perl.scm:7931 msgid "" @@ -13673,8 +13948,9 @@ msgid "" msgstr "" #: gnu/packages/perl.scm:7954 +#, fuzzy msgid "Simple tree object" -msgstr "" +msgstr "Lista los contenidos de un árbol de objeto." #: gnu/packages/perl.scm:7955 msgid "" @@ -13704,8 +13980,9 @@ msgid "" msgstr "" #: gnu/packages/perl.scm:8024 +#, fuzzy msgid "Tie a variable to a type constraint" -msgstr "" +msgstr "no puede definir variable de tipo inespecificado" #: gnu/packages/perl.scm:8025 msgid "" @@ -13764,8 +14041,9 @@ msgid "" msgstr "" #: gnu/packages/perl.scm:8157 +#, fuzzy msgid "Unicode normalization forms" -msgstr "" +msgstr "Con normalización Unicode.\n" #: gnu/packages/perl.scm:8158 msgid "This Perl module provides Unicode normalization forms." @@ -13773,7 +14051,7 @@ msgstr "" #: gnu/packages/perl.scm:8187 msgid "Unicode collation algorithm" -msgstr "" +msgstr "Algoritmo adoptado Unicode" #: gnu/packages/perl.scm:8188 msgid "" @@ -13783,7 +14061,7 @@ msgstr "" #: gnu/packages/perl.scm:8209 msgid "Unicode line breaking algorithm" -msgstr "" +msgstr "Línea Unicode dividiendo algoritmo" #: gnu/packages/perl.scm:8211 msgid "" @@ -13794,7 +14072,7 @@ msgstr "" #: gnu/packages/perl.scm:8234 msgid "Encoding and decoding of UTF-8 encoding form" -msgstr "" +msgstr "Codificación y decodificación de relleno en UTF-8" #: gnu/packages/perl.scm:8236 msgid "" @@ -13804,7 +14082,7 @@ msgstr "" #: gnu/packages/perl.scm:8254 msgid "UNIVERSAL::can() reimplementation" -msgstr "" +msgstr "UNIVERSAL::can() reimplementación" #: gnu/packages/perl.scm:8255 msgid "" @@ -13814,7 +14092,7 @@ msgstr "" #: gnu/packages/perl.scm:8275 msgid "UNIVERSAL::isa() reimplementation" -msgstr "" +msgstr "UNIVERSAL::isa() reimplementación" #: gnu/packages/perl.scm:8276 msgid "" @@ -13862,8 +14140,9 @@ msgid "" msgstr "" #: gnu/packages/perl.scm:8370 +#, fuzzy msgid "YAML for Perl" -msgstr "" +msgstr "scripts internos empotrados en perl." #: gnu/packages/perl.scm:8371 msgid "" @@ -13883,7 +14162,7 @@ msgstr "" #: gnu/packages/perl.scm:8418 msgid "Read/Write YAML files" -msgstr "" +msgstr "Ficheros Lectura/Escritura YAML" #: gnu/packages/perl.scm:8419 msgid "" @@ -14008,7 +14287,7 @@ msgstr "" #: gnu/packages/perl.scm:8692 msgid "Alternative interface to File::Find::Object" -msgstr "" +msgstr "Interfaz alternativo para Fichero::Encontrar::Objeto" #: gnu/packages/perl.scm:8693 msgid "" @@ -14042,8 +14321,9 @@ msgid "" msgstr "" #: gnu/packages/photo.scm:78 +#, fuzzy msgid "Raw image decoder" -msgstr "" +msgstr " : Imagen\n" #: gnu/packages/photo.scm:80 msgid "" @@ -14063,7 +14343,7 @@ msgstr "" #: gnu/packages/photo.scm:125 msgid "Accessing digital cameras" -msgstr "" +msgstr "Accediendo cámaras digitales" #: gnu/packages/photo.scm:127 msgid "" @@ -14096,7 +14376,7 @@ msgstr "" #: gnu/packages/photo.scm:229 msgid "Library for panoramic images" -msgstr "" +msgstr "Biblioteca para imágenes panorámicas" #: gnu/packages/photo.scm:231 msgid "" @@ -14147,8 +14427,9 @@ msgid "" msgstr "" #: gnu/packages/photo.scm:457 +#, fuzzy msgid "Panorama photo stitcher" -msgstr "" +msgstr "Foto panorámica" #: gnu/packages/photo.scm:459 msgid "" @@ -14239,8 +14520,9 @@ msgid "" msgstr "" #: gnu/packages/scheme.scm:276 +#, fuzzy msgid "Efficient Scheme compiler" -msgstr "" +msgstr "no puede obtener esquema URL: %s" #: gnu/packages/scheme.scm:278 msgid "" @@ -14367,7 +14649,7 @@ msgstr "" #: gnu/packages/scheme.scm:884 msgid "Compatibility and utility library for Scheme" -msgstr "" +msgstr "Compatibilizar y utilidad bibliotecaria para Scheme" #: gnu/packages/scheme.scm:885 msgid "" @@ -14389,7 +14671,7 @@ msgstr "" #: gnu/packages/search.scm:66 msgid "Search Engine Library" -msgstr "" +msgstr "Biblioteca de Motor de Búsqueda" #: gnu/packages/search.scm:68 msgid "" @@ -14416,8 +14698,9 @@ msgid "" msgstr "" #: gnu/packages/search.scm:161 +#, fuzzy msgid "Command-line interface to libtocc" -msgstr "" +msgstr "línea de órdenes" #: gnu/packages/search.scm:163 msgid "" @@ -14441,8 +14724,9 @@ msgid "" msgstr "" #: gnu/packages/search.scm:213 +#, fuzzy msgid "Full-text search system" -msgstr "" +msgstr "busca para texto dentro de todas las páginas" #: gnu/packages/search.scm:214 msgid "" @@ -14453,7 +14737,7 @@ msgstr "" #: gnu/packages/search.scm:232 msgid "Locate files on the file system" -msgstr "" +msgstr "Localiza ficheros en el sistema del fichero" #: gnu/packages/search.scm:234 msgid "" @@ -14466,8 +14750,9 @@ msgid "" msgstr "" #: gnu/packages/search.scm:299 +#, fuzzy msgid "Web indexing system" -msgstr "" +msgstr "Web:" #: gnu/packages/search.scm:301 msgid "" @@ -14504,8 +14789,9 @@ msgid "" msgstr "" #: gnu/packages/shells.scm:136 +#, fuzzy msgid "The friendly interactive shell" -msgstr "" +msgstr "Shell: " #: gnu/packages/shells.scm:138 msgid "" @@ -14521,7 +14807,7 @@ msgstr "" #: gnu/packages/shells.scm:170 msgid "Fish completions for Guix" -msgstr "" +msgstr "Complementaciones de pez para Guix" #: gnu/packages/shells.scm:172 msgid "Fish-guix provides completions for Guix for users of the fish shell." @@ -14551,8 +14837,9 @@ msgid "" msgstr "" #: gnu/packages/shells.scm:308 +#, fuzzy msgid "Unix shell based on csh" -msgstr "" +msgstr "Unix Shell:" #: gnu/packages/shells.scm:310 msgid "" @@ -14577,8 +14864,9 @@ msgid "" msgstr "" #: gnu/packages/shells.scm:399 +#, fuzzy msgid "Python-ish shell" -msgstr "" +msgstr "SHELL " #: gnu/packages/shells.scm:401 msgid "" @@ -14590,8 +14878,9 @@ msgid "" msgstr "" #: gnu/packages/shells.scm:448 +#, fuzzy msgid "Unix shell embedded in Scheme" -msgstr "" +msgstr "Unix Shell:" #: gnu/packages/shells.scm:450 msgid "" @@ -14717,8 +15006,11 @@ msgid "" msgstr "" #: gnu/packages/telephony.scm:153 +#, fuzzy msgid "Sip abstraction library" msgstr "" +"\t-l biblioteca\t\t--load=biblioteca\n" +"\n" #: gnu/packages/telephony.scm:154 msgid "" @@ -14805,8 +15097,9 @@ msgid "" msgstr "" #: gnu/packages/tex.scm:259 +#, fuzzy msgid "DVI to PostScript drivers" -msgstr "" +msgstr "PostScript:\n" #: gnu/packages/tex.scm:260 msgid "" @@ -14832,8 +15125,9 @@ msgid "" msgstr "" #: gnu/packages/tex.scm:331 +#, fuzzy msgid "Hyphenation patterns for German" -msgstr "" +msgstr "Patrones hipernacionales para Alemán" #: gnu/packages/tex.scm:332 msgid "" @@ -14875,7 +15169,7 @@ msgstr "" #: gnu/packages/tex.scm:476 msgid "Metafont base files" -msgstr "" +msgstr "Ficheros Metafont base" #: gnu/packages/tex.scm:477 msgid "" @@ -14908,8 +15202,9 @@ msgid "" msgstr "" #: gnu/packages/tex.scm:640 +#, fuzzy msgid "Small library of METAFONT sources" -msgstr "" +msgstr "Biblioteca de Herramientas. Pequeños consejos de codificación." #: gnu/packages/tex.scm:641 msgid "" @@ -14968,7 +15263,7 @@ msgstr "" #: gnu/packages/tex.scm:1004 msgid "Base sources of LaTeX" -msgstr "" +msgstr "Orígenes base de LaTeX" #: gnu/packages/tex.scm:1006 msgid "" @@ -15019,8 +15314,9 @@ msgid "" msgstr "" #: gnu/packages/tex.scm:1113 +#, fuzzy msgid "Sophisticated verbatim text" -msgstr "" +msgstr "vuelca resultados obtenidos tal cual" #: gnu/packages/tex.scm:1115 msgid "" @@ -15117,8 +15413,9 @@ msgid "" msgstr "" #: gnu/packages/tex.scm:1348 +#, fuzzy msgid "LaTeX3 programmers’ interface" -msgstr "" +msgstr "Interfaz: " #: gnu/packages/tex.scm:1350 msgid "" @@ -15222,7 +15519,7 @@ msgstr "" #: gnu/packages/tex.scm:1565 msgid "Babel support for English" -msgstr "" +msgstr "Capacidad Babel para inglés" #: gnu/packages/tex.scm:1567 msgid "" @@ -15381,8 +15678,9 @@ msgid "" msgstr "" #: gnu/packages/tex.scm:1925 +#, fuzzy msgid "Expanded description environments" -msgstr "" +msgstr "Descripción:" #: gnu/packages/tex.scm:1927 msgid "" @@ -15426,7 +15724,7 @@ msgstr "" #: gnu/packages/tex.scm:2010 msgid "Flexible bibliography support" -msgstr "" +msgstr "Compatibilidad bibliográfica flexible" #: gnu/packages/tex.scm:2012 msgid "" @@ -15466,8 +15764,9 @@ msgid "" msgstr "" #: gnu/packages/tex.scm:2097 +#, fuzzy msgid "Make overhead slides" -msgstr "" +msgstr "no se reconoce la especificación de adelanto de objeto C++" #: gnu/packages/tex.scm:2100 msgid "" @@ -15491,8 +15790,9 @@ msgid "" msgstr "" #: gnu/packages/tex.scm:2167 +#, fuzzy msgid "Captions on more than floats" -msgstr "" +msgstr "se ha especificado más de un elemento de formato" #: gnu/packages/tex.scm:2169 msgid "" @@ -15543,8 +15843,9 @@ msgid "" msgstr "" #: gnu/packages/tex.scm:2307 +#, fuzzy msgid "Letter document class" -msgstr "" +msgstr "Ahí está esa carta." #: gnu/packages/tex.scm:2309 msgid "" @@ -15555,8 +15856,9 @@ msgid "" msgstr "" #: gnu/packages/tex.scm:2329 +#, fuzzy msgid "Typeset Galois connections" -msgstr "" +msgstr "escucha conexiones en SOCKET" #: gnu/packages/tex.scm:2331 msgid "" @@ -15673,7 +15975,7 @@ msgstr "" #: gnu/packages/tex.scm:2559 msgid "Extra control of appendices" -msgstr "" +msgstr "Control adicional de adyacencias" #: gnu/packages/tex.scm:2561 msgid "" @@ -15698,8 +16000,9 @@ msgid "" msgstr "" #: gnu/packages/tex.scm:2618 +#, fuzzy msgid "CMap support for PDF files" -msgstr "" +msgstr "Este sistema de ficheros no soporta el envío de ficheros." #: gnu/packages/tex.scm:2620 msgid "" @@ -15755,8 +16058,9 @@ msgid "" msgstr "" #: gnu/packages/tex.scm:2746 +#, fuzzy msgid "Range of footnote options" -msgstr "" +msgstr " Las opciones son:\n" #: gnu/packages/tex.scm:2748 msgid "" @@ -15857,8 +16161,9 @@ msgid "" msgstr "" #: gnu/packages/tex.scm:3054 +#, fuzzy msgid "Customize basic list environments" -msgstr "" +msgstr "Personalize la lista" #: gnu/packages/tex.scm:3056 msgid "" @@ -15933,7 +16238,7 @@ msgstr "" #: gnu/packages/tex.scm:3220 msgid "Figures divided into subfigures" -msgstr "" +msgstr "Figuras divididas dentro de subfiguras" #: gnu/packages/tex.scm:3222 msgid "" @@ -15949,8 +16254,9 @@ msgid "" msgstr "" #: gnu/packages/tex.scm:3247 +#, fuzzy msgid "Tabular with variable width columns balanced" -msgstr "" +msgstr "se descarta el ancho inválido de la variable de entorno COLUMNS: %s" #: gnu/packages/tex.scm:3249 msgid "" @@ -16047,7 +16353,7 @@ msgstr "" #: gnu/packages/tex.scm:3540 msgid "Create scalable illustrations" -msgstr "" +msgstr "Crea ilustraciones escalables" #: gnu/packages/tex.scm:3542 msgid "" @@ -16067,8 +16373,9 @@ msgid "" msgstr "" #: gnu/packages/tex.scm:3594 +#, fuzzy msgid "Variable-width minipage" -msgstr "" +msgstr "A_nchura:" #: gnu/packages/tex.scm:3596 msgid "" @@ -16200,7 +16507,7 @@ msgstr "" #: gnu/packages/tex.scm:4059 msgid "Wrapper for LaTeX and friends" -msgstr "" +msgstr "Recubridor para LaTeX y similares" #: gnu/packages/tex.scm:4061 msgid "" @@ -16214,7 +16521,7 @@ msgstr "" #: gnu/packages/tex.scm:4103 msgid "LaTeX editor" -msgstr "" +msgstr "Editor LaTeX" #: gnu/packages/tex.scm:4104 msgid "" @@ -16235,7 +16542,7 @@ msgstr "" #: gnu/packages/texinfo.scm:56 msgid "The GNU documentation format" -msgstr "" +msgstr "El formato de documentación GNU" #: gnu/packages/texinfo.scm:58 msgid "" @@ -16253,7 +16560,7 @@ msgstr "" #: gnu/packages/texinfo.scm:169 msgid "Convert Texinfo to HTML" -msgstr "" +msgstr "Convierte Texinfo a HTML" #: gnu/packages/texinfo.scm:171 msgid "" @@ -16282,7 +16589,7 @@ msgstr "" #: gnu/packages/textutils.scm:111 msgid "Text encoding converter" -msgstr "" +msgstr "Texto codificando conversor" #: gnu/packages/textutils.scm:112 msgid "" @@ -16318,7 +16625,7 @@ msgstr "" #: gnu/packages/textutils.scm:220 msgid "Gordon's text utils library" -msgstr "" +msgstr "Biblioteca de utilidades textuales de Gordon" #: gnu/packages/textutils.scm:222 msgid "" @@ -16346,7 +16653,7 @@ msgstr "" #: gnu/packages/textutils.scm:317 msgid "C/C++ configuration file library" -msgstr "" +msgstr "Biblioteca de fichero de configuración C/C++" #: gnu/packages/textutils.scm:319 msgid "" @@ -16371,7 +16678,7 @@ msgstr "" #: gnu/packages/textutils.scm:362 msgid "Regular expression library" -msgstr "" +msgstr "Biblioteca de expresión regular" #: gnu/packages/textutils.scm:363 msgid "" @@ -16382,7 +16689,7 @@ msgstr "" #: gnu/packages/textutils.scm:396 msgid "Microsoft Word document reader" -msgstr "" +msgstr "Lector de documento Word Microsoft" #: gnu/packages/textutils.scm:397 msgid "" @@ -16438,7 +16745,7 @@ msgstr "" #: gnu/packages/textutils.scm:590 msgid "Configuration file parser library" -msgstr "" +msgstr "Biblioteca interpreta fichero de configuración" #: gnu/packages/textutils.scm:592 msgid "C library for creating and parsing configuration files." @@ -16480,7 +16787,7 @@ msgstr "" #: gnu/packages/version-control.scm:354 msgid "Distributed version control system" -msgstr "" +msgstr "Sistema de control de versión distribuída" #: gnu/packages/version-control.scm:356 msgid "" @@ -16516,8 +16823,9 @@ msgid "" msgstr "" #: gnu/packages/version-control.scm:476 +#, fuzzy msgid "Whole remote repository encryption" -msgstr "" +msgstr "Listado referencial dentro de un repositorio remoto." #: gnu/packages/version-control.scm:477 msgid "" @@ -16540,7 +16848,7 @@ msgstr "" #: gnu/packages/version-control.scm:556 msgid "Web frontend for git repositories" -msgstr "" +msgstr "Web frontal para repositorios git" #: gnu/packages/version-control.scm:558 msgid "" @@ -16588,7 +16896,7 @@ msgstr "" #: gnu/packages/version-control.scm:713 msgid "Stacked Git" -msgstr "" +msgstr "Apilados Git" #: gnu/packages/version-control.scm:715 msgid "" @@ -16625,7 +16933,7 @@ msgstr "" #: gnu/packages/version-control.scm:851 msgid "Git access control layer" -msgstr "" +msgstr "Placa de control de acceso Git" #: gnu/packages/version-control.scm:853 msgid "" @@ -16635,7 +16943,7 @@ msgstr "" #: gnu/packages/version-control.scm:877 msgid "Decentralized version control system" -msgstr "" +msgstr "Sistema de control de versión descentralizado" #: gnu/packages/version-control.scm:879 msgid "" @@ -16672,7 +16980,7 @@ msgstr "" #: gnu/packages/version-control.scm:999 msgid "Revision control system" -msgstr "" +msgstr "Sistema de control de revisión" #: gnu/packages/version-control.scm:1001 msgid "" @@ -16763,7 +17071,7 @@ msgstr "" #: gnu/packages/version-control.scm:1272 msgid "Project change supervisor" -msgstr "" +msgstr "Supervisor de modificación de proyecto" #: gnu/packages/version-control.scm:1273 msgid "" @@ -16814,7 +17122,7 @@ msgstr "" #: gnu/packages/version-control.scm:1417 msgid "Multiple repository management tool" -msgstr "" +msgstr "Herramienta gestora de múltiples repositorios" #: gnu/packages/version-control.scm:1419 msgid "" @@ -16836,7 +17144,7 @@ msgstr "" #: gnu/packages/version-control.scm:1503 msgid "Software configuration management system" -msgstr "" +msgstr "Sistema de gestión de configuración de software" #: gnu/packages/version-control.scm:1505 msgid "" @@ -16857,7 +17165,7 @@ msgstr "" #: gnu/packages/version-control.scm:1622 msgid "Distributed Revision Control System" -msgstr "" +msgstr "Sistema de Control de Revisión Distribuido" #: gnu/packages/version-control.scm:1624 msgid "" @@ -16889,7 +17197,7 @@ msgstr "" #: gnu/packages/virtualization.scm:177 msgid "Machine emulator and virtualizer" -msgstr "" +msgstr "Máquina emuladora y virtualizadora" #: gnu/packages/virtualization.scm:179 msgid "" @@ -16911,8 +17219,9 @@ msgid "Machine emulator and virtualizer (without GUI)" msgstr "" #: gnu/packages/virtualization.scm:268 +#, fuzzy msgid "Operating system information database" -msgstr "" +msgstr "inicializando sistema operativo bajo '~a'...~%" #: gnu/packages/virtualization.scm:269 msgid "" @@ -16926,7 +17235,7 @@ msgstr "" #: gnu/packages/virtualization.scm:317 msgid "Linux container tools" -msgstr "" +msgstr "Herramientas contenedoras Linux" #: gnu/packages/virtualization.scm:320 msgid "" @@ -16937,7 +17246,7 @@ msgstr "" #: gnu/packages/virtualization.scm:404 msgid "Simple API for virtualization" -msgstr "" +msgstr "API simple para virtualización" #: gnu/packages/virtualization.scm:405 msgid "" @@ -16966,7 +17275,7 @@ msgstr "" #: gnu/packages/virtualization.scm:489 msgid "Python bindings to libvirt" -msgstr "" +msgstr "Enlazando Python para libvirt" #: gnu/packages/virtualization.scm:490 msgid "" @@ -16976,7 +17285,7 @@ msgstr "" #: gnu/packages/virtualization.scm:585 msgid "Manage virtual machines" -msgstr "" +msgstr "Gestionar máquinas virtuales" #: gnu/packages/virtualization.scm:587 msgid "" @@ -17012,7 +17321,7 @@ msgstr "" #: gnu/packages/web.scm:136 msgid "Featureful HTTP server" -msgstr "" +msgstr "Característica completa servidor HTTP" #: gnu/packages/web.scm:138 msgid "" @@ -17026,7 +17335,7 @@ msgstr "" #: gnu/packages/web.scm:226 msgid "HTTP and reverse proxy server" -msgstr "" +msgstr "HTTP y servidor proxy reverso" #: gnu/packages/web.scm:228 msgid "" @@ -17047,8 +17356,9 @@ msgid "" msgstr "" #: gnu/packages/web.scm:328 +#, fuzzy msgid "Documentation for nginx web server" -msgstr "" +msgstr "Especifica la URL completa del Servidor Web MantisBT." #: gnu/packages/web.scm:330 msgid "This package provides HTML documentation for the nginx web server." @@ -17077,8 +17387,9 @@ msgid "" msgstr "" #: gnu/packages/web.scm:422 +#, fuzzy msgid "PSGI/Plack web server" -msgstr "" +msgstr "Especifica la URL completa del Servidor Web MantisBT." #: gnu/packages/web.scm:423 msgid "" @@ -17088,8 +17399,9 @@ msgid "" msgstr "" #: gnu/packages/web.scm:455 +#, fuzzy msgid "Java Web Start" -msgstr "" +msgstr "escribir conjunto dependiente java(...)" #: gnu/packages/web.scm:457 msgid "" @@ -17100,7 +17412,7 @@ msgstr "" #: gnu/packages/web.scm:478 msgid "JSON C library" -msgstr "" +msgstr "Biblioteca C JSON" #: gnu/packages/web.scm:480 msgid "" @@ -17110,7 +17422,7 @@ msgstr "" #: gnu/packages/web.scm:512 msgid "JSON implementation in C" -msgstr "" +msgstr "Implementación JSON en C" #: gnu/packages/web.scm:514 msgid "" @@ -17155,7 +17467,7 @@ msgstr "" #: gnu/packages/web.scm:692 msgid "C library for parsing JSON" -msgstr "" +msgstr "Biblioteca en C para interpretar JSON" #: gnu/packages/web.scm:694 msgid "" @@ -17165,7 +17477,7 @@ msgstr "" #: gnu/packages/web.scm:724 msgid "WebSockets library written in C" -msgstr "" +msgstr "Biblioteca WebSockets escrita en C" #: gnu/packages/web.scm:726 msgid "" @@ -17198,7 +17510,7 @@ msgstr "" #: gnu/packages/web.scm:801 msgid "HTML validator and tidier" -msgstr "" +msgstr "Validador y tipado HTML" #: gnu/packages/web.scm:802 msgid "" @@ -17313,7 +17625,7 @@ msgstr "" #: gnu/packages/web.scm:1202 msgid "CSS pre-processor" -msgstr "" +msgstr "CSS pre-procesador" #: gnu/packages/web.scm:1203 msgid "" @@ -17333,7 +17645,7 @@ msgstr "" #: gnu/packages/web.scm:1261 msgid "SASL authentication framework" -msgstr "" +msgstr "Marco de trabajo para autenticación SASL" #: gnu/packages/web.scm:1262 msgid "Authen::SASL provides an SASL authentication framework." @@ -17385,7 +17697,7 @@ msgstr "" #: gnu/packages/web.scm:1423 msgid "Catalyst Development Tools" -msgstr "" +msgstr "Herramientas Desarrollo Catalyst" #: gnu/packages/web.scm:1424 msgid "" @@ -17399,7 +17711,7 @@ msgstr "" #: gnu/packages/web.scm:1453 msgid "Regex DispatchType for Catalyst" -msgstr "" +msgstr "Exreg DispatchType para Catalyst" #: gnu/packages/web.scm:1454 msgid "" @@ -17536,8 +17848,9 @@ msgid "" msgstr "" #: gnu/packages/web.scm:1863 +#, fuzzy msgid "The Catalyst Framework Runtime" -msgstr "" +msgstr "configuración de tiempo de ejecución" #: gnu/packages/web.scm:1864 msgid "" @@ -17560,8 +17873,9 @@ msgid "" msgstr "" #: gnu/packages/web.scm:1923 +#, fuzzy msgid "Download data in many formats" -msgstr "" +msgstr "Demasiados sufijos de descarga\n" #: gnu/packages/web.scm:1924 msgid "" @@ -17572,7 +17886,7 @@ msgstr "" #: gnu/packages/web.scm:1950 msgid "Catalyst JSON view" -msgstr "" +msgstr "Vista catalyst JSON" #: gnu/packages/web.scm:1951 msgid "" @@ -17582,7 +17896,7 @@ msgstr "" #: gnu/packages/web.scm:1977 msgid "Template View Class" -msgstr "" +msgstr "Plantilla Vista Clase" #: gnu/packages/web.scm:1978 msgid "" @@ -17659,7 +17973,7 @@ msgstr "" #: gnu/packages/web.scm:2160 msgid "Build structures from CGI data" -msgstr "" +msgstr "Construye estructuras desde datos CGI" #: gnu/packages/web.scm:2161 msgid "" @@ -17669,7 +17983,7 @@ msgstr "" #: gnu/packages/web.scm:2184 msgid "Date conversion routines" -msgstr "" +msgstr "Fecha del conversión de rutinas" #: gnu/packages/web.scm:2185 msgid "" @@ -17688,8 +18002,9 @@ msgid "" msgstr "" #: gnu/packages/web.scm:2224 +#, fuzzy msgid "Perl locale encoding determination" -msgstr "" +msgstr "Localización actual emplea codificación %s.\n" #: gnu/packages/web.scm:2226 msgid "" @@ -17715,8 +18030,9 @@ msgid "" msgstr "" #: gnu/packages/web.scm:2283 +#, fuzzy msgid "Perl directory listing parser" -msgstr "" +msgstr "%s: no se muestra el directorio ya mostrado" #: gnu/packages/web.scm:2285 msgid "" @@ -17726,7 +18042,7 @@ msgstr "" #: gnu/packages/web.scm:2317 msgid "Stock and mutual fund quotes" -msgstr "" +msgstr "Acciones y fondos de inversión" #: gnu/packages/web.scm:2319 msgid "" @@ -17826,7 +18142,7 @@ msgstr "" #: gnu/packages/web.scm:2556 msgid "HTML-like templates" -msgstr "" +msgstr "Plantillas parecidas a HTML" #: gnu/packages/web.scm:2558 msgid "" @@ -17841,7 +18157,7 @@ msgstr "" #: gnu/packages/web.scm:2586 msgid "HTTP Body Parser" -msgstr "" +msgstr "Interpretador Cuerpo HTTP" #: gnu/packages/web.scm:2587 msgid "" @@ -17883,8 +18199,9 @@ msgid "" msgstr "" #: gnu/packages/web.scm:2680 +#, fuzzy msgid "Perl date conversion routines" -msgstr "" +msgstr "Fecha del cambio de monedas" #: gnu/packages/web.scm:2682 msgid "" @@ -17916,7 +18233,7 @@ msgstr "" #: gnu/packages/web.scm:2754 msgid "Parse HTTP/1.1 requests" -msgstr "" +msgstr "Interpretar peticiones HTTP/1.1" #: gnu/packages/web.scm:2755 msgid "" @@ -17928,7 +18245,7 @@ msgstr "" #: gnu/packages/web.scm:2777 msgid "Fast HTTP request parser" -msgstr "" +msgstr "Intérprete de peticiones HTTP rápida" #: gnu/packages/web.scm:2778 msgid "" @@ -17948,7 +18265,7 @@ msgstr "" #: gnu/packages/web.scm:2833 msgid "Lightweight HTTP server" -msgstr "" +msgstr "Servidor HTTP ligero" #: gnu/packages/web.scm:2834 msgid "" @@ -17959,7 +18276,7 @@ msgstr "" #: gnu/packages/web.scm:2859 msgid "HTTP/1.1 client" -msgstr "" +msgstr "HTTP/1.1 cliente" #: gnu/packages/web.scm:2860 msgid "" @@ -18003,8 +18320,9 @@ msgid "" msgstr "" #: gnu/packages/web.scm:2960 +#, fuzzy msgid "Perl modules for the WWW" -msgstr "" +msgstr "scripts internos empotrados en perl." #: gnu/packages/web.scm:2962 msgid "" @@ -18104,12 +18422,14 @@ msgid "" msgstr "" #: gnu/packages/web.scm:3180 +#, fuzzy msgid "SSL support for Net::SMTP" -msgstr "" +msgstr "El soporte de SSL no se compiló.\n" #: gnu/packages/web.scm:3181 +#, fuzzy msgid "SSL support for Net::SMTP." -msgstr "" +msgstr "El soporte de SSL no se compiló.\n" #: gnu/packages/web.scm:3215 msgid "Perl Superglue for Web frameworks and servers (PSGI toolkit)" @@ -18179,7 +18499,7 @@ msgstr "" #: gnu/packages/web.scm:3360 msgid "Testing TCP programs" -msgstr "" +msgstr "Probando programa TCP" #: gnu/packages/web.scm:3361 msgid "Test::TCP is test utilities for TCP/IP programs." @@ -18242,8 +18562,9 @@ msgid "" msgstr "" #: gnu/packages/web.scm:3522 +#, fuzzy msgid "Find URIs in arbitrary text" -msgstr "" +msgstr "%s: no se puede encontrar la sección .text en %s\n" #: gnu/packages/web.scm:3523 msgid "" @@ -18318,7 +18639,7 @@ msgstr "" #: gnu/packages/web.scm:3723 msgid "Parse feeds in Python" -msgstr "" +msgstr "Interpreta novedades para Python" #: gnu/packages/web.scm:3725 msgid "" @@ -18367,7 +18688,7 @@ msgstr "" #: gnu/packages/web.scm:3835 msgid "R tools for HTML" -msgstr "" +msgstr "Herramientas R para HTML" #: gnu/packages/web.scm:3837 msgid "This package provides tools for HTML generation and output in R." @@ -18375,7 +18696,7 @@ msgstr "" #: gnu/packages/web.scm:3856 msgid "HTML Widgets for R" -msgstr "" +msgstr "Cubiertas HTML para R" #: gnu/packages/web.scm:3858 msgid "" @@ -18401,7 +18722,7 @@ msgstr "" #: gnu/packages/web.scm:3922 msgid "HTTP client for R" -msgstr "" +msgstr "Cliente HTTP para R" #: gnu/packages/web.scm:3924 msgid "" @@ -18415,8 +18736,9 @@ msgid "" msgstr "" #: gnu/packages/web.scm:3946 +#, fuzzy msgid "Output R objects in HTML format" -msgstr "" +msgstr "el formato de salida binario no es compatible con -shared o -pie o -r" #: gnu/packages/web.scm:3948 msgid "" @@ -18426,7 +18748,7 @@ msgstr "" #: gnu/packages/web.scm:3965 msgid "JSON library for R" -msgstr "" +msgstr "Biblioteca JSON para R" #: gnu/packages/web.scm:3967 msgid "" @@ -18436,7 +18758,7 @@ msgstr "" #: gnu/packages/web.scm:3996 msgid "HTML5 parsing library" -msgstr "" +msgstr "Biblioteca interpretando HTML5" #: gnu/packages/web.scm:3998 msgid "" @@ -18445,8 +18767,9 @@ msgid "" msgstr "" #: gnu/packages/web.scm:4069 +#, fuzzy msgid "Application container server" -msgstr "" +msgstr "Aplicación\n" #: gnu/packages/web.scm:4071 msgid "" @@ -18456,8 +18779,9 @@ msgid "" msgstr "" #: gnu/packages/web.scm:4101 +#, fuzzy msgid "Command-line JSON processor" -msgstr "" +msgstr "línea de comando demasiado corta" #: gnu/packages/web.scm:4102 msgid "" @@ -18481,8 +18805,9 @@ msgid "" msgstr "" #: gnu/packages/web.scm:4178 +#, fuzzy msgid "Single file web server" -msgstr "" +msgstr "Especifica la URL completa del Servidor Web MantisBT." #: gnu/packages/web.scm:4179 msgid "" @@ -18503,7 +18828,7 @@ msgstr "" #: gnu/packages/web.scm:4242 msgid "Parser building library" -msgstr "" +msgstr "Interpretador construyendo biblioteca" #: gnu/packages/web.scm:4244 msgid "" @@ -18513,7 +18838,7 @@ msgstr "" #: gnu/packages/web.scm:4272 msgid "HTML5 compliant parsing library" -msgstr "" +msgstr "Biblioteca interpretando HTML5 completo" #: gnu/packages/web.scm:4274 msgid "" @@ -18535,7 +18860,7 @@ msgstr "" #: gnu/packages/web.scm:4375 msgid "String internment library" -msgstr "" +msgstr "Biblioteca de cadena interna" #: gnu/packages/web.scm:4377 msgid "" @@ -18556,7 +18881,7 @@ msgstr "" #: gnu/packages/web.scm:4440 msgid "Implementation of the W3C DOM" -msgstr "" +msgstr "Implementación de DOM W3C" #: gnu/packages/web.scm:4442 msgid "" @@ -18566,7 +18891,7 @@ msgstr "" #: gnu/packages/web.scm:4469 msgid "Library for parsing SVG files" -msgstr "" +msgstr "Biblioteca para interpretar ficheros SVG" #: gnu/packages/web.scm:4471 msgid "" @@ -18578,7 +18903,7 @@ msgstr "" #: gnu/packages/web.scm:4494 msgid "Decoding library for BMP and ICO files" -msgstr "" +msgstr "Descodificando biblioteca para ficheros BMP e ICO" #: gnu/packages/web.scm:4496 msgid "" @@ -18588,7 +18913,7 @@ msgstr "" #: gnu/packages/web.scm:4517 msgid "Decoding library for GIF files" -msgstr "" +msgstr "Biblioteca descodificante para ficheros GIF" #: gnu/packages/web.scm:4519 msgid "" @@ -18598,7 +18923,7 @@ msgstr "" #: gnu/packages/web.scm:4540 msgid "Utility library for NetSurf" -msgstr "" +msgstr "Biblioteca utilitaria para NetSurf" #: gnu/packages/web.scm:4542 msgid "" @@ -18628,7 +18953,7 @@ msgstr "" #: gnu/packages/web.scm:4704 msgid "Web browser" -msgstr "" +msgstr "Explorador web" #: gnu/packages/web.scm:4706 msgid "" @@ -18649,8 +18974,9 @@ msgid "" msgstr "" #: gnu/packages/web.scm:4771 +#, fuzzy msgid "Simple static web server" -msgstr "" +msgstr "Especifica la URL completa del Servidor Web MantisBT." #: gnu/packages/web.scm:4772 msgid "" @@ -18699,7 +19025,7 @@ msgstr "" #: gnu/packages/web.scm:4890 msgid "Internet services daemon" -msgstr "" +msgstr "Demonio de servicios de Internet" #: gnu/packages/web.scm:4891 msgid "" @@ -18727,7 +19053,7 @@ msgstr "" #: gnu/packages/web.scm:4993 msgid "Webserver with focus on security" -msgstr "" +msgstr "Servidor web centrado en seguridad" #: gnu/packages/web.scm:4995 msgid "" @@ -18738,7 +19064,7 @@ msgstr "" #: gnu/packages/web.scm:5019 msgid "HTTP request and response service" -msgstr "" +msgstr "Petición HTTP y respuesta de servicio" #: gnu/packages/web.scm:5020 msgid "" @@ -18761,7 +19087,7 @@ msgstr "" #: gnu/packages/web.scm:5081 msgid "HTTP request/response parser for C" -msgstr "" +msgstr "Petición/respuestas HTTP interpretadas para C" #: gnu/packages/web.scm:5082 msgid "" @@ -18784,8 +19110,9 @@ msgid "" msgstr "" #: gnu/packages/web.scm:5153 +#, fuzzy msgid "Output JSON from a shell" -msgstr "" +msgstr "Salida desde servidor:\n" #: gnu/packages/web.scm:5154 msgid "" @@ -18795,8 +19122,9 @@ msgid "" msgstr "" #: gnu/packages/web.scm:5203 +#, fuzzy msgid "Command-line interface to archive.org" -msgstr "" +msgstr "línea de órdenes" #: gnu/packages/web.scm:5204 msgid "" @@ -18839,8 +19167,9 @@ msgid "" msgstr "" #: gnu/packages/web.scm:5412 +#, fuzzy msgid "Web server interface for R" -msgstr "" +msgstr " -R, --remove Utiliza control interfaz remoto\n" #: gnu/packages/web.scm:5414 msgid "" @@ -18876,8 +19205,9 @@ msgid "" msgstr "" #: gnu/packages/web.scm:5529 +#, fuzzy msgid "Command-line WebDAV client" -msgstr "" +msgstr "Respuesta inesperada a orrden de CLIENTE: `%s'" #: gnu/packages/web.scm:5531 msgid "" @@ -18911,7 +19241,7 @@ msgstr "" #: gnu/packages/web.scm:5651 msgid "Helper classes for jetty tests" -msgstr "" +msgstr "Clases ayudante para pruebas Jetty" #: gnu/packages/web.scm:5652 msgid "" @@ -18921,7 +19251,7 @@ msgstr "" #: gnu/packages/web.scm:5714 msgid "Utility classes for Jetty" -msgstr "" +msgstr "Clases utilidad para Jetty" #: gnu/packages/web.scm:5715 msgid "" @@ -18932,7 +19262,7 @@ msgstr "" #: gnu/packages/web.scm:5786 msgid "Jetty :: IO Utility" -msgstr "" +msgstr "Utilidad Jetty :: E/S" #: gnu/packages/web.scm:5787 msgid "" @@ -18943,7 +19273,7 @@ msgstr "" #: gnu/packages/web.scm:5830 msgid "Jetty :: Http Utility" -msgstr "" +msgstr "Utilidad Jetty :: Http" #: gnu/packages/web.scm:5831 msgid "" @@ -18954,7 +19284,7 @@ msgstr "" #: gnu/packages/web.scm:5864 msgid "Jetty :: JMX Management" -msgstr "" +msgstr "Gestión Jetty :: JMX" #: gnu/packages/web.scm:5865 msgid "" @@ -18977,7 +19307,7 @@ msgstr "" #: gnu/packages/web.scm:5995 msgid "Jetty security infrastructure" -msgstr "" +msgstr "Infraestructura segura Jetty" #: gnu/packages/web.scm:5996 msgid "" @@ -18989,7 +19319,7 @@ msgstr "" #: gnu/packages/web.scm:6039 msgid "Jetty Servlet Container" -msgstr "" +msgstr "Contenedor Servicios Jetty" #: gnu/packages/web.scm:6040 msgid "" @@ -19001,7 +19331,7 @@ msgstr "" #: gnu/packages/web.scm:6087 msgid "Validate HTML" -msgstr "" +msgstr "Validar HTML" #: gnu/packages/web.scm:6088 msgid "" @@ -19091,7 +19421,7 @@ msgstr "" #: gnu/packages/xiph.scm:176 msgid "Speex processing library" -msgstr "" +msgstr "Biblioteca de procesamiento Speex" #: gnu/packages/xiph.scm:178 msgid "" @@ -19160,7 +19490,7 @@ msgstr "" #: gnu/packages/xiph.scm:317 msgid "Ogg vorbis tools" -msgstr "" +msgstr "Herramientas Ogg Vorbis" #: gnu/packages/xiph.scm:319 msgid "" @@ -19177,7 +19507,7 @@ msgstr "" #: gnu/packages/xiph.scm:343 gnu/packages/xiph.scm:406 msgid "Versatile audio codec" -msgstr "" +msgstr "Código de sonido versátil" #: gnu/packages/xiph.scm:345 msgid "" @@ -19208,7 +19538,7 @@ msgstr "" #: gnu/packages/xiph.scm:438 msgid "Streaming media server" -msgstr "" +msgstr "Medio por flujo del servidor" #: gnu/packages/xiph.scm:439 msgid "" |