build: Use only one domain for guix-manual.
[jackhill/guix/guix.git] / po / doc / guix-manual.fr.po
1 # SOME DESCRIPTIVE TITLE
2 # Copyright (C) YEAR Free Software Foundation, Inc.
3 # This file is distributed under the same license as the PACKAGE package.
4 # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
5 #
6 #, fuzzy
7 msgid ""
8 msgstr ""
9 "Project-Id-Version: \n"
10 "Report-Msgid-Bugs-To: ludo@gnu.org\n"
11 "POT-Creation-Date: 2018-04-29 20:48+0200\n"
12 "PO-Revision-Date: 2018-04-13 22:46+0200\n"
13 "Last-Translator: Julien Lepiller <julien@lepiller.eu>\n"
14 "Language-Team: \n"
15 "Language: fr\n"
16 "MIME-Version: 1.0\n"
17 "Content-Type: text/plain; charset=UTF-8\n"
18 "Content-Transfer-Encoding: 8bit\n"
19 "#-#-#-#-# contributing.fr.po #-#-#-#-#\n"
20 "X-Generator: Poedit 2.0.6\n"
21 "#-#-#-#-# guix.fr.po #-#-#-#-#\n"
22 "X-Generator: Poedit 2.0.6\n"
23
24 #. #-#-#-#-# contributing.pot (guix 0.14.0.4289-6527) #-#-#-#-#
25 #. type: chapter
26 #. #-#-#-#-# guix.pot (guix 0.14.0.4289-6527) #-#-#-#-#
27 #. type: menuentry
28 #: doc/contributing.texi:1 doc/contributing.texi:2 doc/guix.texi:106
29 #: doc/guix.texi:276
30 #, no-wrap
31 msgid "Contributing"
32 msgstr "Contribuer"
33
34 #. type: Plain text
35 #: doc/contributing.texi:9
36 msgid ""
37 "This project is a cooperative effort, and we need your help to make it grow! "
38 "Please get in touch with us on @email{guix-devel@@gnu.org} and @code{#guix} "
39 "on the Freenode IRC network. We welcome ideas, bug reports, patches, and "
40 "anything that may be helpful to the project. We particularly welcome help "
41 "on packaging (@pxref{Packaging Guidelines})."
42 msgstr ""
43 "Ce projet est un effort coopératif et nous avons besoin de votre aide pour "
44 "le faire grandir ! Contactez-nous sur @email{guix-devel@@gnu.org} et "
45 "@code{#guix} sur le réseau IRC Freenode. Nous accueillons les idées, les "
46 "rapports de bogues, les correctifs et tout ce qui pourrait aider le projet. "
47 "Nous apprécions particulièrement toute aide sur la création de paquets "
48 "(@pxref{Consignes d'empaquetage})."
49
50 #. type: cindex
51 #: doc/contributing.texi:10
52 #, no-wrap
53 msgid "code of conduct, of contributors"
54 msgstr "code de conduite, des contributeurs"
55
56 #. type: cindex
57 #: doc/contributing.texi:11
58 #, no-wrap
59 msgid "contributor covenant"
60 msgstr "convention de contribution"
61
62 #. type: Plain text
63 #: doc/contributing.texi:17
64 msgid ""
65 "We want to provide a warm, friendly, and harassment-free environment, so "
66 "that anyone can contribute to the best of their abilities. To this end our "
67 "project uses a ``Contributor Covenant'', which was adapted from @url{http://"
68 "contributor-covenant.org/}. You can find a local version in the @file{CODE-"
69 "OF-CONDUCT} file in the source tree."
70 msgstr ""
71 "Nous souhaitons fournir un environnement chaleureux, amical et sans "
72 "harcèlement pour que tout le monde puisse contribuer au mieux de ses "
73 "capacités. Pour cela notre projet a une « Convention de contribution » "
74 "adaptée de @url{http://contributor-covenant.org/}. Vous pouvez trouver une "
75 "version locale dans le fichier @file{CODE-OF-CONDUCT} dans l'arborescence "
76 "des sources."
77
78 #. type: Plain text
79 #: doc/contributing.texi:21
80 msgid ""
81 "Contributors are not required to use their legal name in patches and on-line "
82 "communication; they can use any name or pseudonym of their choice."
83 msgstr ""
84 "Les contributeurs n'ont pas besoin d'utiliser leur nom légal dans leurs "
85 "correctifs et leurs communications en ligne ; ils peuvent utiliser n'importe "
86 "quel nom ou pseudonyme de leur choix."
87
88 #. #-#-#-#-# contributing.pot (guix 0.14.0.4289-6527) #-#-#-#-#
89 #. type: section
90 #. #-#-#-#-# guix.pot (guix 0.14.0.4289-6527) #-#-#-#-#
91 #. type: menuentry
92 #: doc/contributing.texi:28 doc/contributing.texi:30 doc/contributing.texi:31
93 #: doc/guix.texi:282
94 #, no-wrap
95 msgid "Building from Git"
96 msgstr "Construire depuis Git"
97
98 #. type: menuentry
99 #: doc/contributing.texi:28 doc/guix.texi:282
100 msgid "The latest and greatest."
101 msgstr ""
102
103 #. #-#-#-#-# contributing.pot (guix 0.14.0.4289-6527) #-#-#-#-#
104 #. type: section
105 #. #-#-#-#-# guix.pot (guix 0.14.0.4289-6527) #-#-#-#-#
106 #. type: menuentry
107 #: doc/contributing.texi:28 doc/contributing.texi:102 doc/contributing.texi:103
108 #: doc/guix.texi:282
109 #, no-wrap
110 msgid "Running Guix Before It Is Installed"
111 msgstr "Lancer Guix avant qu'il ne soit installé"
112
113 #. type: menuentry
114 #: doc/contributing.texi:28 doc/guix.texi:282
115 msgid "Hacker tricks."
116 msgstr "Astuces pour les hackers."
117
118 #. #-#-#-#-# contributing.pot (guix 0.14.0.4289-6527) #-#-#-#-#
119 #. type: section
120 #. #-#-#-#-# guix.pot (guix 0.14.0.4289-6527) #-#-#-#-#
121 #. type: menuentry
122 #: doc/contributing.texi:28 doc/contributing.texi:169 doc/contributing.texi:170
123 #: doc/guix.texi:282
124 #, no-wrap
125 msgid "The Perfect Setup"
126 msgstr "La configuration parfaite"
127
128 #. type: menuentry
129 #: doc/contributing.texi:28 doc/guix.texi:282
130 msgid "The right tools."
131 msgstr "Les bons outils."
132
133 #. #-#-#-#-# contributing.pot (guix 0.14.0.4289-6527) #-#-#-#-#
134 #. type: section
135 #. #-#-#-#-# guix.pot (guix 0.14.0.4289-6527) #-#-#-#-#
136 #. type: menuentry
137 #: doc/contributing.texi:28 doc/contributing.texi:228 doc/contributing.texi:229
138 #: doc/guix.texi:282 doc/guix.texi:284
139 #, no-wrap
140 msgid "Coding Style"
141 msgstr "Style de code"
142
143 #. type: menuentry
144 #: doc/contributing.texi:28 doc/guix.texi:282
145 msgid "Hygiene of the contributor."
146 msgstr "Hygiène du contributeur."
147
148 #. #-#-#-#-# contributing.pot (guix 0.14.0.4289-6527) #-#-#-#-#
149 #. type: section
150 #. #-#-#-#-# guix.pot (guix 0.14.0.4289-6527) #-#-#-#-#
151 #. type: menuentry
152 #: doc/contributing.texi:28 doc/contributing.texi:326 doc/contributing.texi:327
153 #: doc/guix.texi:282
154 #, no-wrap
155 msgid "Submitting Patches"
156 msgstr "Envoyer des correctifs"
157
158 #. type: menuentry
159 #: doc/contributing.texi:28 doc/guix.texi:282
160 msgid "Share your work."
161 msgstr "Partager votre travail."
162
163 #. type: Plain text
164 #: doc/contributing.texi:35
165 msgid ""
166 "If you want to hack Guix itself, it is recommended to use the latest version "
167 "from the Git repository:"
168 msgstr ""
169 "Si vous souhaitez travailler sur Guix lui-même, il est recommandé d'utiliser "
170 "la dernière version du dépôt Git :"
171
172 #. type: example
173 #: doc/contributing.texi:38
174 #, no-wrap
175 msgid "git clone https://git.savannah.gnu.org/git/guix.git\n"
176 msgstr "git clone https://git.savannah.gnu.org/git/guix.git\n"
177
178 #. type: Plain text
179 #: doc/contributing.texi:43
180 msgid ""
181 "When building Guix from a checkout, the following packages are required in "
182 "addition to those mentioned in the installation instructions "
183 "(@pxref{Requirements})."
184 msgstr ""
185 "Lors de la construction de Guix depuis un extrait, les paquets suivants sont "
186 "requis en plus de ceux mentionnés dans les instructions d'installation "
187 "(@pxref{Prérequis})."
188
189 #. type: item
190 #: doc/contributing.texi:45
191 #, no-wrap
192 msgid "@url{http://gnu.org/software/autoconf/, GNU Autoconf};"
193 msgstr "@url{http://gnu.org/software/autoconf/, GNU Autoconf};"
194
195 #. type: item
196 #: doc/contributing.texi:46
197 #, no-wrap
198 msgid "@url{http://gnu.org/software/automake/, GNU Automake};"
199 msgstr "@url{http://gnu.org/software/automake/, GNU Automake};"
200
201 #. type: item
202 #: doc/contributing.texi:47
203 #, no-wrap
204 msgid "@url{http://gnu.org/software/gettext/, GNU Gettext};"
205 msgstr "@url{http://gnu.org/software/gettext/, GNU Gettext};"
206
207 #. type: item
208 #: doc/contributing.texi:48
209 #, no-wrap
210 msgid "@url{http://gnu.org/software/texinfo/, GNU Texinfo};"
211 msgstr "@url{http://gnu.org/software/texinfo/, GNU Texinfo};"
212
213 #. type: item
214 #: doc/contributing.texi:49
215 #, no-wrap
216 msgid "@url{http://www.graphviz.org/, Graphviz};"
217 msgstr "@url{http://www.graphviz.org/, Graphviz};"
218
219 #. type: item
220 #: doc/contributing.texi:50
221 #, no-wrap
222 msgid "@url{http://www.gnu.org/software/help2man/, GNU Help2man (optional)}."
223 msgstr "@url{http://www.gnu.org/software/help2man/, GNU Help2man (facultatif)}."
224
225 #. type: Plain text
226 #: doc/contributing.texi:57
227 msgid ""
228 "The easiest way to set up a development environment for Guix is, of course, "
229 "by using Guix! The following command starts a new shell where all the "
230 "dependencies and appropriate environment variables are set up to hack on "
231 "Guix:"
232 msgstr ""
233 "La manière la plus simple de configurer un environnement de développement "
234 "pour Guix est, bien sûr, d'utiliser Guix ! La commande suivante démarre un "
235 "nouveau shell où toutes les dépendances et les variables d'environnements "
236 "appropriées sont configurés pour travailler sur Guix :"
237
238 #. type: example
239 #: doc/contributing.texi:60
240 #, no-wrap
241 msgid "guix environment guix\n"
242 msgstr "guix environment guix\n"
243
244 #. type: Plain text
245 #: doc/contributing.texi:64
246 msgid ""
247 "@xref{Invoking guix environment}, for more information on that command. "
248 "Extra dependencies can be added with @option{--ad-hoc}:"
249 msgstr ""
250 "@xref{Invoquer guix environment}, pour plus d'information sur cette "
251 "commande. On peut ajouter des dépendances supplémentaires avec @option{--ad-"
252 "hoc} :"
253
254 #. type: example
255 #: doc/contributing.texi:67
256 #, no-wrap
257 msgid "guix environment guix --ad-hoc help2man git strace\n"
258 msgstr "guix environment guix --ad-hoc help2man git strace\n"
259
260 #. type: Plain text
261 #: doc/contributing.texi:71
262 msgid ""
263 "Run @command{./bootstrap} to generate the build system infrastructure using "
264 "Autoconf and Automake. If you get an error like this one:"
265 msgstr ""
266 "Lancez @command{./bootstrap} pour générer l'infrastructure du système de "
267 "construction avec Autoconf et Automake. Si vous avez une erreur comme :"
268
269 #. type: example
270 #: doc/contributing.texi:74
271 #, no-wrap
272 msgid "configure.ac:46: error: possibly undefined macro: PKG_CHECK_MODULES\n"
273 msgstr "configure.ac:46: error: possibly undefined macro: PKG_CHECK_MODULES\n"
274
275 #. type: Plain text
276 #: doc/contributing.texi:83
277 msgid ""
278 "it probably means that Autoconf couldn’t find @file{pkg.m4}, which is "
279 "provided by pkg-config. Make sure that @file{pkg.m4} is available. The "
280 "same holds for the @file{guile.m4} set of macros provided by Guile. For "
281 "instance, if you installed Automake in @file{/usr/local}, it wouldn’t look "
282 "for @file{.m4} files in @file{/usr/share}. In that case, you have to invoke "
283 "the following command:"
284 msgstr ""
285 "cela signifie probablement qu'Autoconf n'a pas pu trouver @file{pkg.m4} qui "
286 "est fournit par pkg-config. Assurez-vous que @file{pkg.m4} est disponible. "
287 "C'est aussi vrai pour l'ensemble de macros de @file{guile.m4} fournies par "
288 "Guile. Par exemple, si vous avez installé Automake dans @file{/usr/local}, "
289 "il ne cherchera pas les fichiers @file{.m4} dans @file{/usr/share}. Dans ce "
290 "case vous devez invoquer la commande suivante :"
291
292 #. type: example
293 #: doc/contributing.texi:86
294 #, no-wrap
295 msgid "export ACLOCAL_PATH=/usr/share/aclocal\n"
296 msgstr "export ACLOCAL_PATH=/usr/share/aclocal\n"
297
298 #. type: Plain text
299 #: doc/contributing.texi:90
300 msgid ""
301 "@xref{Macro Search Path,,, automake, The GNU Automake Manual}, for more "
302 "information."
303 msgstr ""
304 "@xref{Macro Search Path,,, automake, The GNU Automake Manual}, pour plus "
305 "d'information."
306
307 #. type: Plain text
308 #: doc/contributing.texi:95
309 msgid ""
310 "Then, run @command{./configure} as usual. Make sure to pass @code{--"
311 "localstatedir=@var{directory}} where @var{directory} is the "
312 "@code{localstatedir} value used by your current installation (@pxref{The "
313 "Store}, for information about this)."
314 msgstr ""
315 "Ensuite, lancez @command{./configure} comme d'habitude. Assurez-vous de "
316 "passer @code{--localstatedir=@var{directory}} où @var{directory} est la "
317 "valeur @code{localstatedir} utilisée par votre installation actuelle "
318 "(@pxref{Le dépôt} pour plus d'informations à ce propos)."
319
320 #. type: Plain text
321 #: doc/contributing.texi:100
322 msgid ""
323 "Finally, you have to invoke @code{make check} to run tests (@pxref{Running "
324 "the Test Suite}). If anything fails, take a look at installation "
325 "instructions (@pxref{Installation}) or send a message to the @email{guix-"
326 "devel@@gnu.org, mailing list}."
327 msgstr ""
328 "Finalement, vous devez invoquer @code{make check} pour lancer les tests "
329 "(@pxref{Lancer la suite de tests}). Si quelque chose échoue, jetez un œil "
330 "aux instructions d'installation (@pxref{Installation}) ou envoyez un message "
331 "à la list @email{guix-devel@@gnu.org}."
332
333 #. type: Plain text
334 #: doc/contributing.texi:109
335 msgid ""
336 "In order to keep a sane working environment, you will find it useful to test "
337 "the changes made in your local source tree checkout without actually "
338 "installing them. So that you can distinguish between your ``end-user'' hat "
339 "and your ``motley'' costume."
340 msgstr ""
341 "Pour garder un environnement de travail sain, il est utile de tester les "
342 "changement localement sans les installer pour de vrai. Pour pouvoir "
343 "distinguer votre rôle « d'utilisateur final » de celui parfois haut en "
344 "couleur de « développeur »."
345
346 #. type: Plain text
347 #: doc/contributing.texi:117
348 msgid ""
349 "To that end, all the command-line tools can be used even if you have not run "
350 "@code{make install}. To do that, prefix each command with @command{./pre-"
351 "inst-env} (the @file{pre-inst-env} script lives in the top build tree of "
352 "Guix), as in@footnote{The @option{-E} flag to @command{sudo} guarantees that "
353 "@code{GUILE_LOAD_PATH} is correctly set such that @command{guix-daemon} and "
354 "the tools it uses can find the Guile modules they need.}:"
355 msgstr ""
356 "Pour cela, tous les outils en ligne de commande sont utilisables même sans "
357 "avoir lancé @code{make install}. Vous devez pour cela préfixer chaque "
358 "commande par @command{./pre-inst-env} (le script @file{pre-inst-env} se "
359 "trouve dans le répertoire de plus haut niveau de l'arborescence des sources "
360 "de Guix) comme cela@footnote{L'option @option{-E} de @command{sudo} garantie "
361 "que @code{GUILE_LOAD_PATH} est bien paramétré pour @command{guix-daemon} et "
362 "les outils qu'il utilise puissent trouver les modules Guile dont ils ont "
363 "besoin.} :"
364
365 #. type: example
366 #: doc/contributing.texi:121
367 #, no-wrap
368 msgid ""
369 "$ sudo -E ./pre-inst-env guix-daemon --build-users-group=guixbuild\n"
370 "$ ./pre-inst-env guix build hello\n"
371 msgstr ""
372 "$ sudo -E ./pre-inst-env guix-daemon --build-users-group=guixbuild\n"
373 "$ ./pre-inst-env guix build hello\n"
374
375 #. type: Plain text
376 #: doc/contributing.texi:125
377 msgid "Similarly, for a Guile session using the Guix modules:"
378 msgstr "De même, pour une session Guile qui utilise les modules Guix :"
379
380 #. type: example
381 #: doc/contributing.texi:128
382 #, no-wrap
383 msgid ""
384 "$ ./pre-inst-env guile -c '(use-modules (guix utils)) (pk (%current-system))'\n"
385 "\n"
386 msgstr ""
387 "$ ./pre-inst-env guile -c '(use-modules (guix utils)) (pk (%current-system))'\n"
388 "\n"
389
390 #. type: example
391 #: doc/contributing.texi:130
392 #, no-wrap
393 msgid ";;; (\"x86_64-linux\")\n"
394 msgstr ";;; (\"x86_64-linux\")\n"
395
396 #. type: cindex
397 #: doc/contributing.texi:133
398 #, no-wrap
399 msgid "REPL"
400 msgstr "REPL"
401
402 #. type: cindex
403 #: doc/contributing.texi:134
404 #, no-wrap
405 msgid "read-eval-print loop"
406 msgstr "read-eval-print loop"
407
408 #. type: Plain text
409 #: doc/contributing.texi:137
410 msgid ""
411 "@dots{} and for a REPL (@pxref{Using Guile Interactively,,, guile, Guile "
412 "Reference Manual}):"
413 msgstr ""
414 "@dots{} et pour un REPL (@pxref{Using Guile Interactively,,, guile, Guile "
415 "Reference Manual})"
416
417 #. type: example
418 #: doc/contributing.texi:152
419 #, no-wrap
420 msgid ""
421 "$ ./pre-inst-env guile\n"
422 "scheme@@(guile-user)> ,use(guix)\n"
423 "scheme@@(guile-user)> ,use(gnu)\n"
424 "scheme@@(guile-user)> (define snakes\n"
425 " (fold-packages\n"
426 " (lambda (package lst)\n"
427 " (if (string-prefix? \"python\"\n"
428 " (package-name package))\n"
429 " (cons package lst)\n"
430 " lst))\n"
431 " '()))\n"
432 "scheme@@(guile-user)> (length snakes)\n"
433 "$1 = 361\n"
434 msgstr ""
435 "$ ./pre-inst-env guile\n"
436 "scheme@@(guile-user)> ,use(guix)\n"
437 "scheme@@(guile-user)> ,use(gnu)\n"
438 "scheme@@(guile-user)> (define snakes\n"
439 " (fold-packages\n"
440 " (lambda (package lst)\n"
441 " (if (string-prefix? \"python\"\n"
442 " (package-name package))\n"
443 " (cons package lst)\n"
444 " lst))\n"
445 " '()))\n"
446 "scheme@@(guile-user)> (length snakes)\n"
447 "$1 = 361\n"
448
449 #. type: Plain text
450 #: doc/contributing.texi:156
451 msgid ""
452 "The @command{pre-inst-env} script sets up all the environment variables "
453 "necessary to support this, including @env{PATH} and @env{GUILE_LOAD_PATH}."
454 msgstr ""
455 "Le script @command{pre-inst-env} paramètre toutes les variables "
456 "d'environnement nécessaires, dont @env{PATH} et @env{GUILE_LOAD_PATH}."
457
458 #. type: Plain text
459 #: doc/contributing.texi:167
460 msgid ""
461 "Note that @command{./pre-inst-env guix pull} does @emph{not} upgrade the "
462 "local source tree; it simply updates the @file{~/.config/guix/latest} "
463 "symlink (@pxref{Invoking guix pull}). Run @command{git pull} instead if you "
464 "want to upgrade your local source tree.@footnote{If you would like to set up "
465 "@command{guix} to use your Git checkout, you can point the @file{~/.config/"
466 "guix/latest} symlink to your Git checkout directory. If you are the sole "
467 "user of your system, you may also consider pointing the @file{/root/.config/"
468 "guix/latest} symlink to point to @file{~/.config/guix/latest}; this way it "
469 "will always use the same @command{guix} as your user does.}"
470 msgstr ""
471 "Remarquez que @command{./pre-inst-env guix pull} ne met @emph{pas} à jour "
472 "l'arborescence des sources locale ; il met seulement à jour le lien "
473 "symbolique @file{~/.config/guix/latest} (@pxref{Invoquer guix pull}). Lancez "
474 "@command{git pull} à la place si vous voulez mettre à jour votre "
475 "arborescence des sources locale@footnote{Si vous voulez paramétrer "
476 "@command{guix} pour qu'il utilise votre dépôt Git, vous pouvez faire pointer "
477 "le lien symbolique @file{~/.config/guix/latest} vers le répertoire contenant "
478 "ce dépôt. Si vous le seul utilisateur du système, vous pouvez aussi "
479 "considérer faire pointer le lien symbolique @file{/root/.config/guix/latest} "
480 "vers @file{~/.config/guix/latest} ; comme ça root aura toujours la même "
481 "commande @command{guix} que votre utilisateur}."
482
483 #. type: Plain text
484 #: doc/contributing.texi:177
485 msgid ""
486 "The Perfect Setup to hack on Guix is basically the perfect setup used for "
487 "Guile hacking (@pxref{Using Guile in Emacs,,, guile, Guile Reference "
488 "Manual}). First, you need more than an editor, you need @url{http://www.gnu."
489 "org/software/emacs, Emacs}, empowered by the wonderful @url{http://nongnu."
490 "org/geiser/, Geiser}."
491 msgstr ""
492 "La configuration parfaite pour travailler sur Guix est simplement la "
493 "configuration parfaite pour travailler en Guile (@pxref{Using Guile in "
494 "Emacs,,, guile, Guile Reference Manual}). Tout d'abord, vous avez besoin de "
495 "mieux qu'un éditeur de texte, vous avez besoin de @url{http://www.gnu.org/"
496 "software/emacs, Emacs}, amélioré par le superbe @url{http://nongnu.org/"
497 "geiser/, Geiser}."
498
499 #. type: Plain text
500 #: doc/contributing.texi:185
501 msgid ""
502 "Geiser allows for interactive and incremental development from within Emacs: "
503 "code compilation and evaluation from within buffers, access to on-line "
504 "documentation (docstrings), context-sensitive completion, @kbd{M-.} to jump "
505 "to an object definition, a REPL to try out your code, and more "
506 "(@pxref{Introduction,,, geiser, Geiser User Manual}). For convenient Guix "
507 "development, make sure to augment Guile’s load path so that it finds source "
508 "files from your checkout:"
509 msgstr ""
510 "Geiser permet le développement interactif et incrémental depuis Emacs : la "
511 "compilation du code et son évaluation depuis les buffers, l'accès à la "
512 "documentation en ligne (docstrings), la complétion sensible au contexte, "
513 "@kbd{M-.} pour sauter à la définition d'un objet, un REPL pour tester votre "
514 "code, et bien plus (@pxref{Introduction,,, geiser, Geiser User Manual}). "
515 "Pour travailler confortablement sur Guix, assurez-vous de modifier le chemin "
516 "de chargement de Guile pour qu'il trouve les fichiers source de votre dépôt :"
517
518 #. type: lisp
519 #: doc/contributing.texi:190
520 #, no-wrap
521 msgid ""
522 ";; @r{Assuming the Guix checkout is in ~/src/guix.}\n"
523 "(with-eval-after-load 'geiser-guile\n"
524 " (add-to-list 'geiser-guile-load-path \"~/src/guix\"))\n"
525 msgstr ""
526 ";; @r{Si l'extrait est dans ~/src/guix.}\n"
527 "(with-eval-after-load 'geiser-guile\n"
528 " (add-to-list 'geiser-guile-load-path \"~/src/guix\"))\n"
529
530 #. type: Plain text
531 #: doc/contributing.texi:198
532 msgid ""
533 "To actually edit the code, Emacs already has a neat Scheme mode. But in "
534 "addition to that, you must not miss @url{http://www.emacswiki.org/emacs/"
535 "ParEdit, Paredit}. It provides facilities to directly operate on the syntax "
536 "tree, such as raising an s-expression or wrapping it, swallowing or "
537 "rejecting the following s-expression, etc."
538 msgstr ""
539
540 #. type: cindex
541 #: doc/contributing.texi:199
542 #, no-wrap
543 msgid "code snippets"
544 msgstr "extraits de code"
545
546 #. type: cindex
547 #: doc/contributing.texi:200
548 #, no-wrap
549 msgid "templates"
550 msgstr "modèles"
551
552 #. type: cindex
553 #: doc/contributing.texi:201
554 #, no-wrap
555 msgid "reducing boilerplate"
556 msgstr "réduire la quantité de code commun"
557
558 #. type: Plain text
559 #: doc/contributing.texi:208
560 msgid ""
561 "We also provide templates for common git commit messages and package "
562 "definitions in the @file{etc/snippets} directory. These templates can be "
563 "used with @url{http://joaotavora.github.io/yasnippet/, YASnippet} to expand "
564 "short trigger strings to interactive text snippets. You may want to add the "
565 "snippets directory to the @var{yas-snippet-dirs} variable in Emacs."
566 msgstr ""
567 "Nous fournissons aussi des modèles pour les messages de commit git communs "
568 "et les définitions de paquets dans le répertoire @file{etc/snippets}. Ces "
569 "modèles s'utilisent avec @url{http://joaotavora.github.io/yasnippet/, "
570 "YASnippet} pour développer des chaînes courtes de déclenchement en extraits "
571 "de texte interactifs. Vous pouvez ajouter le répertoire des modèles dans la "
572 "variables @var{yas-snippet-dirs} d'Emacs."
573
574 #. type: lisp
575 #: doc/contributing.texi:213
576 #, no-wrap
577 msgid ""
578 ";; @r{Assuming the Guix checkout is in ~/src/guix.}\n"
579 "(with-eval-after-load 'yasnippet\n"
580 " (add-to-list 'yas-snippet-dirs \"~/src/guix/etc/snippets\"))\n"
581 msgstr ""
582 ";; @r{Si l'extrait est dans ~/src/guix.}\n"
583 "(with-eval-after-load 'yasnippet\n"
584 " (add-to-list 'yas-snippet-dirs \"~/src/guix/etc/snippets\"))\n"
585
586 #. type: Plain text
587 #: doc/contributing.texi:220
588 msgid ""
589 "The commit message snippets depend on @url{https://magit.vc/, Magit} to "
590 "display staged files. When editing a commit message type @code{add} "
591 "followed by @kbd{TAB} to insert a commit message template for adding a "
592 "package; type @code{update} followed by @kbd{TAB} to insert a template for "
593 "updating a package."
594 msgstr ""
595 "Les extraits de messages de commit dépendent de @url{https://magit.vc/, "
596 "Magit} pour afficher les fichiers sélectionnés. Lors de la modification d'un "
597 "message de commit, tapez @code{add} suivi de @kbd{TAB} pour insérer un "
598 "modèle de message de commit pour ajouter un paquet ; tapez @code{update} "
599 "suivi de @kbd{TAB} pour insérer un modèle pour la mise à jour d'un paquet."
600
601 #. type: Plain text
602 #: doc/contributing.texi:226
603 msgid ""
604 "The main snippet for @code{scheme-mode} is triggered by typing "
605 "@code{package...} followed by @kbd{TAB}. This snippet also inserts the "
606 "trigger string @code{origin...}, which can be expanded further. The "
607 "@code{origin} snippet in turn may insert other trigger strings ending on "
608 "@code{...}, which also can be expanded further."
609 msgstr ""
610 "L'extrait principal pour @code{scheme-mode} est lancé en tapant "
611 "@code{package…} suivi par @kbd{TAB}. Cet extrait insère aussi la chaîne de "
612 "déclenchement @code{origin…}, qui peut aussi être étendue. L'extrait "
613 "@code{origin} lui-même peut aussi insérer des chaînes de déclenchement qui "
614 "finissent sur @code{…}, qui peuvent aussi être étendues."
615
616 #. type: Plain text
617 #: doc/contributing.texi:234
618 msgid ""
619 "In general our code follows the GNU Coding Standards (@pxref{Top,,, "
620 "standards, GNU Coding Standards}). However, they do not say much about "
621 "Scheme, so here are some additional rules."
622 msgstr ""
623 "En général notre code suit le Standard de Code GNU (@pxref{Top,,, standards, "
624 "GNU Coding Standards}). Cependant, il ne parle pas beaucoup de Scheme, donc "
625 "voici quelques règles supplémentaires."
626
627 #. #-#-#-#-# contributing.pot (guix 0.14.0.4289-6527) #-#-#-#-#
628 #. type: subsection
629 #. #-#-#-#-# guix.pot (guix 0.14.0.4289-6527) #-#-#-#-#
630 #. type: menuentry
631 #: doc/contributing.texi:240 doc/contributing.texi:242
632 #: doc/contributing.texi:243 doc/guix.texi:289
633 #, no-wrap
634 msgid "Programming Paradigm"
635 msgstr "Paradigme de programmation"
636
637 #. type: menuentry
638 #: doc/contributing.texi:240 doc/guix.texi:289
639 msgid "How to compose your elements."
640 msgstr "Comment composer vos éléments."
641
642 #. #-#-#-#-# contributing.pot (guix 0.14.0.4289-6527) #-#-#-#-#
643 #. type: subsection
644 #. #-#-#-#-# guix.pot (guix 0.14.0.4289-6527) #-#-#-#-#
645 #. type: menuentry
646 #: doc/contributing.texi:240 doc/contributing.texi:249
647 #: doc/contributing.texi:250 doc/guix.texi:289
648 #, no-wrap
649 msgid "Modules"
650 msgstr "Modules"
651
652 #. type: menuentry
653 #: doc/contributing.texi:240 doc/guix.texi:289
654 msgid "Where to store your code?"
655 msgstr "Où stocker votre code ?"
656
657 #. #-#-#-#-# contributing.pot (guix 0.14.0.4289-6527) #-#-#-#-#
658 #. type: subsection
659 #. #-#-#-#-# guix.pot (guix 0.14.0.4289-6527) #-#-#-#-#
660 #. type: menuentry
661 #: doc/contributing.texi:240 doc/contributing.texi:260
662 #: doc/contributing.texi:261 doc/guix.texi:289
663 #, no-wrap
664 msgid "Data Types and Pattern Matching"
665 msgstr "Types de données et reconnaissance de motif"
666
667 #. type: menuentry
668 #: doc/contributing.texi:240 doc/guix.texi:289
669 msgid "Implementing data structures."
670 msgstr "Implémenter des structures de données."
671
672 #. #-#-#-#-# contributing.pot (guix 0.14.0.4289-6527) #-#-#-#-#
673 #. type: subsection
674 #. #-#-#-#-# guix.pot (guix 0.14.0.4289-6527) #-#-#-#-#
675 #. type: menuentry
676 #: doc/contributing.texi:240 doc/contributing.texi:274
677 #: doc/contributing.texi:275 doc/guix.texi:289
678 #, no-wrap
679 msgid "Formatting Code"
680 msgstr "Formatage du code"
681
682 #. type: menuentry
683 #: doc/contributing.texi:240 doc/guix.texi:289
684 msgid "Writing conventions."
685 msgstr "Conventions d'écriture."
686
687 #. type: Plain text
688 #: doc/contributing.texi:248
689 msgid ""
690 "Scheme code in Guix is written in a purely functional style. One exception "
691 "is code that involves input/output, and procedures that implement low-level "
692 "concepts, such as the @code{memoize} procedure."
693 msgstr ""
694 "Le code Scheme dans Guix est écrit dans un style purement fonctionnel. Le "
695 "code qui s'occupe des entrées-sorties est une exception ainsi que les "
696 "procédures qui implémentent des concepts bas-niveau comme la procédure "
697 "@code{memoize}."
698
699 #. type: Plain text
700 #: doc/contributing.texi:256
701 msgid ""
702 "Guile modules that are meant to be used on the builder side must live in the "
703 "@code{(guix build @dots{})} name space. They must not refer to other Guix "
704 "or GNU modules. However, it is OK for a ``host-side'' module to use a build-"
705 "side module."
706 msgstr ""
707 "Les modules Guile qui sont sensés être utilisés du côté de la construction "
708 "doivent se trouver dans l'espace de nom @code{(guix build @dots{})}. Ils ne "
709 "doivent pas se référer à d'autres modules Guix ou GNU. Cependant il est "
710 "correct pour un module « côté hôte » de dépendre d'un module coté "
711 "construction."
712
713 #. type: Plain text
714 #: doc/contributing.texi:259
715 msgid ""
716 "Modules that deal with the broader GNU system should be in the @code{(gnu "
717 "@dots{})} name space rather than @code{(guix @dots{})}."
718 msgstr ""
719 "Les modules qui s'occupent du système GNU général devraient se trouver dans "
720 "l'espace de nom @code{(gnu @dots{})} plutôt que @code{(guix @dots{})}."
721
722 #. type: Plain text
723 #: doc/contributing.texi:268
724 msgid ""
725 "The tendency in classical Lisp is to use lists to represent everything, and "
726 "then to browse them ``by hand'' using @code{car}, @code{cdr}, @code{cadr}, "
727 "and co. There are several problems with that style, notably the fact that "
728 "it is hard to read, error-prone, and a hindrance to proper type error "
729 "reports."
730 msgstr ""
731 "La tendance en Lisp classique est d'utiliser des listes pour tout "
732 "représenter et de naviguer dedans « à la main ( avec @code{car}, @code{cdr}, "
733 "@code{cadr} et compagnie. Il y a plusieurs problèmes avec ce style, "
734 "notamment le fait qu'il soit dur à lire, source d'erreur et un obstacle aux "
735 "rapports d'erreur bien typés."
736
737 #. type: Plain text
738 #: doc/contributing.texi:273
739 msgid ""
740 "Guix code should define appropriate data types (for instance, using "
741 "@code{define-record-type*}) rather than abuse lists. In addition, it should "
742 "use pattern matching, via Guile’s @code{(ice-9 match)} module, especially "
743 "when matching lists."
744 msgstr ""
745 "Le code de Guix devrait définir des types de données appropriées (par "
746 "exemple, avec @code{define-record-type*}) plutôt que d'abuser des listes. En "
747 "plus, il devrait utiliser la recherche de motifs, via le module Guile "
748 "@code{(ice-9 match)}, surtout pour rechercher dans des listes."
749
750 #. type: cindex
751 #: doc/contributing.texi:277
752 #, no-wrap
753 msgid "formatting code"
754 msgstr "formater le code"
755
756 #. type: cindex
757 #: doc/contributing.texi:278
758 #, no-wrap
759 msgid "coding style"
760 msgstr "style de code"
761
762 #. type: Plain text
763 #: doc/contributing.texi:285
764 msgid ""
765 "When writing Scheme code, we follow common wisdom among Scheme programmers. "
766 "In general, we follow the @url{http://mumble.net/~campbell/scheme/style.txt, "
767 "Riastradh's Lisp Style Rules}. This document happens to describe the "
768 "conventions mostly used in Guile’s code too. It is very thoughtful and well "
769 "written, so please do read it."
770 msgstr ""
771 "Lorsque nous écrivons du code Scheme, nous suivons la sagesse commune aux "
772 "programmeurs Scheme. En général, nous suivons les @url{http://mumble.net/"
773 "~campbell/scheme/style.txt, règles de style de Riastradh}. Ce document "
774 "décrit aussi les conventions utilisées dans le code de Guile. Il est bien "
775 "pensé et bien écrit, alors n'hésitez pas à le lire."
776
777 #. type: Plain text
778 #: doc/contributing.texi:292
779 msgid ""
780 "Some special forms introduced in Guix, such as the @code{substitute*} macro, "
781 "have special indentation rules. These are defined in the @file{.dir-locals."
782 "el} file, which Emacs automatically uses. Also note that Emacs-Guix "
783 "provides @code{guix-devel-mode} mode that indents and highlights Guix code "
784 "properly (@pxref{Development,,, emacs-guix, The Emacs-Guix Reference "
785 "Manual})."
786 msgstr ""
787 "Certaines formes spéciales introduites dans Guix comme la macro "
788 "@code{substitute*} ont des règles d'indentation spécifiques. Elles sont "
789 "définies dans le fichier @file{.dir-locals.el} qu'Emacs utilise "
790 "automatiquement. Remarquez aussi qu'Emacs-Guix fournit le mode @code{guix-"
791 "devel-mode} qui indente et colore le code Guix correctement "
792 "(@pxref{Development,,, emacs-guix, The Emacs-Guix Reference Manual})."
793
794 #. type: cindex
795 #: doc/contributing.texi:293
796 #, no-wrap
797 msgid "indentation, of code"
798 msgstr "indentation, du code"
799
800 #. type: cindex
801 #: doc/contributing.texi:294
802 #, no-wrap
803 msgid "formatting, of code"
804 msgstr "formatage, du code"
805
806 #. type: Plain text
807 #: doc/contributing.texi:297
808 msgid ""
809 "If you do not use Emacs, please make sure to let your editor knows these "
810 "rules. To automatically indent a package definition, you can also run:"
811 msgstr ""
812 "Si vous n'utilisez pas Emacs, assurez-vous que votre éditeur connaisse ces "
813 "règles. Pour indenter automatiquement une définition de paquet, vous pouvez "
814 "aussi lancer :"
815
816 #. type: example
817 #: doc/contributing.texi:300
818 #, no-wrap
819 msgid "./etc/indent-code.el gnu/packages/@var{file}.scm @var{package}\n"
820 msgstr "./etc/indent-code.el gnu/packages/@var{file}.scm @var{package}\n"
821
822 #. type: Plain text
823 #: doc/contributing.texi:306
824 msgid ""
825 "This automatically indents the definition of @var{package} in @file{gnu/"
826 "packages/@var{file}.scm} by running Emacs in batch mode. To indent a whole "
827 "file, omit the second argument:"
828 msgstr ""
829 "Cela indente automatiquement la définition de @var{package} dans @file{gnu/"
830 "packages/@var{file}.scm} en lançant Emacs en mode commande. Pour indenter un "
831 "fichier complet, n'indiquez pas de second argument :"
832
833 #. type: example
834 #: doc/contributing.texi:309
835 #, no-wrap
836 msgid "./etc/indent-code.el gnu/services/@var{file}.scm\n"
837 msgstr "./etc/indent-code.el gnu/services/@var{file}.scm\n"
838
839 #. type: cindex
840 #: doc/contributing.texi:311
841 #, no-wrap
842 msgid "Vim, Scheme code editing"
843 msgstr ""
844
845 #. type: Plain text
846 #: doc/contributing.texi:317
847 msgid ""
848 "If you are editing code with Vim, we recommend that you run @code{:set "
849 "autoindent} so that your code is automatically indented as you type. "
850 "Additionally, @uref{https://www.vim.org/scripts/script.php?script_id=3998, "
851 "@code{paredit.vim}} may help you deal with all these parentheses."
852 msgstr ""
853
854 #. type: Plain text
855 #: doc/contributing.texi:321
856 msgid ""
857 "We require all top-level procedures to carry a docstring. This requirement "
858 "can be relaxed for simple private procedures in the @code{(guix build "
859 "@dots{})} name space, though."
860 msgstr ""
861 "Nous demandons que toutes les procédure de premier niveau contiennent une "
862 "chaîne de documentation. Ce pré-requis peut être relâché pour les procédures "
863 "privées simples dans l'espace de nom @code{(guix build @dots{})} cependant."
864
865 #. type: Plain text
866 #: doc/contributing.texi:324
867 msgid ""
868 "Procedures should not have more than four positional parameters. Use "
869 "keyword parameters for procedures that take more than four parameters."
870 msgstr ""
871 "Les procédures ne devraient pas avoir plus de quatre paramètres positionnés. "
872 "Utilisez des paramètres par mot-clefs pour les procédures qui prennent plus "
873 "de quatre paramètres."
874
875 #. type: Plain text
876 #: doc/contributing.texi:333
877 msgid ""
878 "Development is done using the Git distributed version control system. Thus, "
879 "access to the repository is not strictly necessary. We welcome "
880 "contributions in the form of patches as produced by @code{git format-patch} "
881 "sent to the @email{guix-patches@@gnu.org} mailing list."
882 msgstr ""
883 "Le développement se fait avec le système de contrôle de version Git. Ainsi, "
884 "l'accès au dépôt n'est pas strictement nécessaire. Nous accueillons les "
885 "contributions sous forme de correctifs produits par @code{git format-patch} "
886 "envoyés sur la liste de diffusion @email{guix-patches@@gnu.org}."
887
888 #. type: Plain text
889 #: doc/contributing.texi:340
890 msgid ""
891 "This mailing list is backed by a Debbugs instance accessible at "
892 "@uref{https://bugs.gnu.org/guix-patches}, which allows us to keep track of "
893 "submissions. Each message sent to that mailing list gets a new tracking "
894 "number assigned; people can then follow up on the submission by sending "
895 "email to @code{@var{NNN}@@debbugs.gnu.org}, where @var{NNN} is the tracking "
896 "number (@pxref{Sending a Patch Series})."
897 msgstr ""
898 "Cette liste de diffusion est gérée par une instance Debbugs accessible à "
899 "l'adresse @uref{https://bugs.gnu.org/guix-patches}, qui nous permet de "
900 "suivre les soumissions. Chaque message envoyé à cette liste se voit "
901 "attribuer un numéro de suivi ; les gens peuvent ensuite répondre à cette "
902 "soumission en envoyant un courriel à @code{@var{NNN}@@debbugs.gnu.org}, où "
903 "@var{NNN} est le numéro de suivi (@pxref{Envoyer une série de correctifs})."
904
905 #. type: Plain text
906 #: doc/contributing.texi:344
907 msgid ""
908 "Please write commit logs in the ChangeLog format (@pxref{Change Logs,,, "
909 "standards, GNU Coding Standards}); you can check the commit history for "
910 "examples."
911 msgstr ""
912 "Veuillez écrire les messages de commit dans le format ChangeLog "
913 "(@pxref{Change Logs,,, standards, GNU Coding Standards}) ; vous pouvez "
914 "regarder l'historique des commits pour trouver des exemples."
915
916 #. type: Plain text
917 #: doc/contributing.texi:347
918 msgid ""
919 "Before submitting a patch that adds or modifies a package definition, please "
920 "run through this check list:"
921 msgstr ""
922 "Avant de soumettre un correctif qui ajoute ou modifie la définition d'un "
923 "paquet, veuillez vérifier cette check-list :"
924
925 #. type: enumerate
926 #: doc/contributing.texi:354
927 msgid ""
928 "If the authors of the packaged software provide a cryptographic signature "
929 "for the release tarball, make an effort to verify the authenticity of the "
930 "archive. For a detached GPG signature file this would be done with the "
931 "@code{gpg --verify} command."
932 msgstr ""
933 "Si les auteurs du paquet logiciel fournissent une signature cryptographique "
934 "pour l'archive, faîtes un effort pour vérifier l'authenticité de l'archive. "
935 "Pour un fichier de signature GPG détaché, cela se fait avec la commande "
936 "@code{gpg --verify}."
937
938 #. type: enumerate
939 #: doc/contributing.texi:358
940 msgid ""
941 "Take some time to provide an adequate synopsis and description for the "
942 "package. @xref{Synopses and Descriptions}, for some guidelines."
943 msgstr ""
944 "Prenez un peu de temps pour fournir un synopsis et une description adéquats "
945 "pour le paquet. Voir @xref{Synopsis et descriptions} pour quelques lignes "
946 "directrices."
947
948 #. type: enumerate
949 #: doc/contributing.texi:363
950 msgid ""
951 "Run @code{guix lint @var{package}}, where @var{package} is the name of the "
952 "new or modified package, and fix any errors it reports (@pxref{Invoking guix "
953 "lint})."
954 msgstr ""
955 "Lancez @code{guix lint @var{paquet}}, où @var{paquet} est le nom du nouveau "
956 "paquet ou du paquet modifié, et corrigez les erreurs qu'il rapporte "
957 "(@pxref{Invoquer guix lint})."
958
959 #. type: enumerate
960 #: doc/contributing.texi:367
961 msgid ""
962 "Make sure the package builds on your platform, using @code{guix build "
963 "@var{package}}."
964 msgstr ""
965 "Assurez-vous que le paquet se construise sur votre plate-forme avec "
966 "@code{guix build @var{paquet}}."
967
968 #. type: cindex
969 #: doc/contributing.texi:369
970 #, no-wrap
971 msgid "bundling"
972 msgstr "construction groupée"
973
974 #. type: enumerate
975 #: doc/contributing.texi:372
976 msgid ""
977 "Make sure the package does not use bundled copies of software already "
978 "available as separate packages."
979 msgstr ""
980 "Assurez-vous que le paquet n'utilise pas de copie groupée d'un logiciel déjà "
981 "disponible dans un paquet séparé."
982
983 #. type: enumerate
984 #: doc/contributing.texi:381
985 msgid ""
986 "Sometimes, packages include copies of the source code of their dependencies "
987 "as a convenience for users. However, as a distribution, we want to make "
988 "sure that such packages end up using the copy we already have in the "
989 "distribution, if there is one. This improves resource usage (the dependency "
990 "is built and stored only once), and allows the distribution to make "
991 "transverse changes such as applying security updates for a given software "
992 "package in a single place and have them affect the whole system---something "
993 "that bundled copies prevent."
994 msgstr ""
995 "Parfois, les paquets incluent des copie du code source de leurs dépendances "
996 "pour le confort de leurs utilisateurs. Cependant, en tant que distribution, "
997 "nous voulons nous assurer que ces paquets utilisent bien les copient que "
998 "nous avons déjà dans la distribution si elles existent. Cela améliore "
999 "l'utilisation des ressources (la dépendance n'est construite et stockée "
1000 "qu'une seule fois) et permet à la distribution de faire des changements "
1001 "transversaux comme appliquer des correctifs de sécurité pour un paquet donné "
1002 "depuis un unique emplacement et qu'ils affectent tout le système, ce "
1003 "qu'empêchent les copies groupées."
1004
1005 #. type: enumerate
1006 #: doc/contributing.texi:388
1007 msgid ""
1008 "Take a look at the profile reported by @command{guix size} (@pxref{Invoking "
1009 "guix size}). This will allow you to notice references to other packages "
1010 "unwillingly retained. It may also help determine whether to split the "
1011 "package (@pxref{Packages with Multiple Outputs}), and which optional "
1012 "dependencies should be used."
1013 msgstr ""
1014 "Regardez le profile rapporté par @command{guix size} (@pxref{Invoking guix "
1015 "size}). Cela vous permettra de remarquer des références à d'autres paquets "
1016 "qui ont été retenus. Il peut aussi aider à déterminer s'il faut découper le "
1017 "paquet (@pxref{Des paquets avec plusieurs résultats}) et quelle dépendance "
1018 "facultative utiliser."
1019
1020 #. type: enumerate
1021 #: doc/contributing.texi:393
1022 msgid ""
1023 "For important changes, check that dependent package (if applicable) are not "
1024 "affected by the change; @code{guix refresh --list-dependent @var{package}} "
1025 "will help you do that (@pxref{Invoking guix refresh})."
1026 msgstr ""
1027 "Pour les changements important, vérifiez que les paquets qui en dépendent "
1028 "(s'ils existent) ne sont pas affectés par le changement ; @code{guix refresh "
1029 "--list-dependant @var{paquet}} vous aidera (@pxref{Invoquer guix refresh})."
1030
1031 #. type: cindex
1032 #: doc/contributing.texi:395
1033 #, no-wrap
1034 msgid "branching strategy"
1035 msgstr "stratégie de branche"
1036
1037 #. type: cindex
1038 #: doc/contributing.texi:396
1039 #, no-wrap
1040 msgid "rebuild scheduling strategy"
1041 msgstr "stratégie de planification des reconstructions"
1042
1043 #. type: enumerate
1044 #: doc/contributing.texi:399
1045 msgid ""
1046 "Depending on the number of dependent packages and thus the amount of "
1047 "rebuilding induced, commits go to different branches, along these lines:"
1048 msgstr ""
1049 "Suivant le nombre de paquets dépendants et donc le nombre de reconstruction "
1050 "induites, les commits vont vers des branches différentes, suivant ces "
1051 "principes :"
1052
1053 #. type: item
1054 #: doc/contributing.texi:401
1055 #, no-wrap
1056 msgid "300 dependent packages or less"
1057 msgstr "300 paquets dépendants ou moins"
1058
1059 #. type: table
1060 #: doc/contributing.texi:403
1061 msgid "@code{master} branch (non-disruptive changes)."
1062 msgstr "branche @code{master} (changements non-disruptifs)."
1063
1064 #. type: item
1065 #: doc/contributing.texi:404
1066 #, no-wrap
1067 msgid "between 300 and 1,200 dependent packages"
1068 msgstr "entre 300 et 1 200 paquets dépendants"
1069
1070 #. type: table
1071 #: doc/contributing.texi:409
1072 msgid ""
1073 "@code{staging} branch (non-disruptive changes). This branch is intended to "
1074 "be merged in @code{master} every 3 weeks or so. Topical changes (e.g., an "
1075 "update of the GNOME stack) can instead go to a specific branch (say, "
1076 "@code{gnome-updates})."
1077 msgstr ""
1078 "branche @code{staging} (changemets non-disruptifs). Cette branche devrait "
1079 "être fusionnées dans @code{master} tous les 3 semaines. Les changements par "
1080 "thèmes (par exemple une mise à jour de la pile GNOME) peuvent aller dans une "
1081 "branche spécifique (disons, @code{gnome-updates})."
1082
1083 #. type: item
1084 #: doc/contributing.texi:410
1085 #, no-wrap
1086 msgid "more than 1,200 dependent packages"
1087 msgstr "plus de 1 200 paquets dépendants"
1088
1089 #. type: table
1090 #: doc/contributing.texi:414
1091 msgid ""
1092 "@code{core-updates} branch (may include major and potentially disruptive "
1093 "changes). This branch is intended to be merged in @code{master} every 2.5 "
1094 "months or so."
1095 msgstr ""
1096 "branche @code{core-updates} (peut inclure des changements majeurs et "
1097 "potentiellement disruptifs). Cette branche devrait être fusionnée dans "
1098 "@code{master} tous les 2,5 mois environ."
1099
1100 #. type: enumerate
1101 #: doc/contributing.texi:421
1102 msgid ""
1103 "All these branches are tracked by our build farm and merged into "
1104 "@code{master} once everything has been successfully built. This allows us "
1105 "to fix issues before they hit users, and to reduce the window during which "
1106 "pre-built binaries are not available."
1107 msgstr ""
1108 "Toutes ces branches sont gérées par notre ferme de construction et "
1109 "fusionnées dans @code{master} une fois que tout a été construit "
1110 "correctement. Cela nous permet de corriger des problèmes avant qu'ils "
1111 "n'atteignent les utilisateurs et réduit la fenêtre pendant laquelle les "
1112 "binaires pré-construits ne sont pas disponibles."
1113
1114 #. type: cindex
1115 #: doc/contributing.texi:423
1116 #, no-wrap
1117 msgid "determinism, of build processes"
1118 msgstr "déterminisme, du processus de construction"
1119
1120 #. type: cindex
1121 #: doc/contributing.texi:424
1122 #, no-wrap
1123 msgid "reproducible builds, checking"
1124 msgstr "construction reproductibles, vérification"
1125
1126 #. type: enumerate
1127 #: doc/contributing.texi:428
1128 msgid ""
1129 "Check whether the package's build process is deterministic. This typically "
1130 "means checking whether an independent build of the package yields the exact "
1131 "same result that you obtained, bit for bit."
1132 msgstr ""
1133 "Vérifiez si le processus de construction du paquet est déterministe. Cela "
1134 "signifie typiquement vérifier qu'une construction indépendante du paquet "
1135 "renvoie exactement le même résultat que vous avez obtenu, bit à bit."
1136
1137 #. type: enumerate
1138 #: doc/contributing.texi:431
1139 msgid ""
1140 "A simple way to do that is by building the same package several times in a "
1141 "row on your machine (@pxref{Invoking guix build}):"
1142 msgstr ""
1143 "Une manière simple de le faire est de reconstruire le paquet plusieurs fois "
1144 "à la suite sur votre machine (@pxref{Invoquer guix build}) :"
1145
1146 #. type: example
1147 #: doc/contributing.texi:434
1148 #, no-wrap
1149 msgid "guix build --rounds=2 my-package\n"
1150 msgstr "guix build --rounds=2 mon-paquet\n"
1151
1152 #. type: enumerate
1153 #: doc/contributing.texi:438
1154 msgid ""
1155 "This is enough to catch a class of common non-determinism issues, such as "
1156 "timestamps or randomly-generated output in the build result."
1157 msgstr ""
1158 "Cela est suffisant pour trouver une classe de non-déterminisme commune, "
1159 "comme l'horodatage ou des sorties générées aléatoirement dans le résultat de "
1160 "la construction."
1161
1162 #. type: enumerate
1163 #: doc/contributing.texi:448
1164 msgid ""
1165 "Another option is to use @command{guix challenge} (@pxref{Invoking guix "
1166 "challenge}). You may run it once the package has been committed and built "
1167 "by @code{hydra.gnu.org} to check whether it obtains the same result as you "
1168 "did. Better yet: Find another machine that can build it and run "
1169 "@command{guix publish}. Since the remote build machine is likely different "
1170 "from yours, this can catch non-determinism issues related to the hardware---"
1171 "e.g., use of different instruction set extensions---or to the operating "
1172 "system kernel---e.g., reliance on @code{uname} or @file{/proc} files."
1173 msgstr ""
1174 "Une autre option consiste à utiliser @command{guix challenge} "
1175 "(@pxref{Invoquer guix challenge}). Vous pouvez lancer la commande une fois "
1176 "que les paquets ont été commités et construits par @code{hydra.gnu.org} pour "
1177 "vérifier s'il obtient le même résultat que vous. Mieux encore : trouvez une "
1178 "autre machine qui peut le construire et lancez @command{guix publish}. Puis "
1179 "la machine distante est sûrement différente de la vôtre, cela peut trouver "
1180 "des problèmes de non-déterminisme liés au matériel — par exemple utiliser "
1181 "une extension du jeu d'instruction — ou du noyau du système d'exploitation — "
1182 "par exemple se reposer sur @code{uname} ou les fichiers de @file{/proc}."
1183
1184 #. type: enumerate
1185 #: doc/contributing.texi:454
1186 msgid ""
1187 "When writing documentation, please use gender-neutral wording when referring "
1188 "to people, such as @uref{https://en.wikipedia.org/wiki/Singular_they, "
1189 "singular ``they''@comma{} ``their''@comma{} ``them''}, and so forth."
1190 msgstr ""
1191 "Lorsque vous écrivez de la documentation, utilisez une formulation au genre "
1192 "neutre lorsque vous vous référez à des personnes, comme le @uref{https://fr."
1193 "wikipedia.org/wiki/They_singulier, ``they''@comma{} ``their''@comma{} "
1194 "``them'' singulier} (en anglais)."
1195
1196 #. type: enumerate
1197 #: doc/contributing.texi:458
1198 msgid ""
1199 "Verify that your patch contains only one set of related changes. Bundling "
1200 "unrelated changes together makes reviewing harder and slower."
1201 msgstr ""
1202 "Vérifiez que votre correctif contienne seulement un ensemble de changements "
1203 "liés. Grouper des changements non liés ensemble rend la revue plus difficile "
1204 "et plus lente."
1205
1206 #. type: enumerate
1207 #: doc/contributing.texi:461
1208 msgid ""
1209 "Examples of unrelated changes include the addition of several packages, or a "
1210 "package update along with fixes to that package."
1211 msgstr ""
1212 "Ajouter plusieurs paquet ou une mise à jour d'un paquet avec des corrections "
1213 "dans ce paquet sont des exemples de changements sans rapport."
1214
1215 #. type: enumerate
1216 #: doc/contributing.texi:466
1217 msgid ""
1218 "Please follow our code formatting rules, possibly running the @command{etc/"
1219 "indent-code.el} script to do that automatically for you (@pxref{Formatting "
1220 "Code})."
1221 msgstr ""
1222 "Suivez nos règles de formatage de code, éventuellement en lançant le script "
1223 "@command{et/indent-code.el} pour le faire automatiquement (@pxref{Formatage "
1224 "du code})."
1225
1226 #. type: Plain text
1227 #: doc/contributing.texi:476
1228 msgid ""
1229 "When posting a patch to the mailing list, use @samp{[PATCH] @dots{}} as a "
1230 "subject. You may use your email client or the @command{git send-email} "
1231 "command (@pxref{Sending a Patch Series}). We prefer to get patches in plain "
1232 "text messages, either inline or as MIME attachments. You are advised to pay "
1233 "attention if your email client changes anything like line breaks or "
1234 "indentation which could potentially break the patches."
1235 msgstr ""
1236 "Lorsque vous envoyez un correctif à la liste de diffusion, utilisez "
1237 "@samp{[PATCH] @dots{}} comme sujet. Vous pouvez utiliser votre client de "
1238 "courriel ou la commande @command{git send-email} (@pxref{Envoyer une série "
1239 "de correctifs}). Nous préférons recevoir des correctifs en texte brut, soit "
1240 "en ligne, soit en pièce-jointe MIME. Nous vous conseillons de faire "
1241 "attention si votre client de courriel change par exemple les retours à la "
1242 "ligne ou l'indentation, ce qui peut casser les correctifs."
1243
1244 #. type: Plain text
1245 #: doc/contributing.texi:479
1246 msgid ""
1247 "When a bug is resolved, please close the thread by sending an email to "
1248 "@email{@var{NNN}-done@@debbugs.gnu.org}."
1249 msgstr ""
1250 "Lorsqu'un bogue est résolu, veuillez fermer le fil en envoyant un courriel à "
1251 "@email{@var{NNN}-done@@debbugs.gnu.org}."
1252
1253 #. type: anchor{#1}
1254 #: doc/contributing.texi:480 doc/contributing.texi:482
1255 #, no-wrap
1256 msgid "Sending a Patch Series"
1257 msgstr "Envoyer une série de correctifs"
1258
1259 #. type: cindex
1260 #: doc/contributing.texi:482
1261 #, no-wrap
1262 msgid "patch series"
1263 msgstr "série de correctifs"
1264
1265 #. type: code{#1}
1266 #: doc/contributing.texi:483
1267 #, no-wrap
1268 msgid "git send-email"
1269 msgstr "git send-email"
1270
1271 #. type: code{#1}
1272 #: doc/contributing.texi:484
1273 #, no-wrap
1274 msgid "git-send-email"
1275 msgstr "git-send-email"
1276
1277 #. type: Plain text
1278 #: doc/contributing.texi:492
1279 msgid ""
1280 "When sending a patch series (e.g., using @code{git send-email}), please "
1281 "first send one message to @email{guix-patches@@gnu.org}, and then send "
1282 "subsequent patches to @email{@var{NNN}@@debbugs.gnu.org} to make sure they "
1283 "are kept together. See @uref{https://debbugs.gnu.org/Advanced.html, the "
1284 "Debbugs documentation} for more information."
1285 msgstr ""
1286 "Lorsque vous envoyez une série de correctifs (p.e. avec @code{git send-"
1287 "email}), envoyez d'abord une premier message à @email{guix-patches@@gnu.org} "
1288 "puis envoyez le reste des correctifs à @email{@var{NNN}@@debbugs.gnu.org} "
1289 "pour vous assurer qu'ils seront groupés ensemble. Voyez @uref{https://"
1290 "debbugs.gnu.org/Advanced.html, la documentation de Debbugs} pour plus "
1291 "d'informations."
1292
1293 #. type: Plain text
1294 #: doc/guix.texi:7
1295 msgid "@documentencoding UTF-8"
1296 msgstr ""
1297 "@documentencoding UTF-8\n"
1298 "@documentlanguage fr"
1299
1300 #. type: title
1301 #: doc/guix.texi:7 doc/guix.texi:77
1302 #, no-wrap
1303 msgid "GNU Guix Reference Manual"
1304 msgstr "Manuel de référence de GNU Guix"
1305
1306 #. type: include
1307 #: doc/guix.texi:10
1308 #, no-wrap
1309 msgid "version.texi"
1310 msgstr "version-fr.texi"
1311
1312 #. type: copying
1313 #: doc/guix.texi:51
1314 msgid ""
1315 "Copyright @copyright{} 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic "
1316 "Courtès@* Copyright @copyright{} 2013, 2014, 2016 Andreas Enge@* Copyright "
1317 "@copyright{} 2013 Nikita Karetnikov@* Copyright @copyright{} 2014, 2015, "
1318 "2016 Alex Kost@* Copyright @copyright{} 2015, 2016 Mathieu Lirzin@* "
1319 "Copyright @copyright{} 2014 Pierre-Antoine Rault@* Copyright @copyright{} "
1320 "2015 Taylan Ulrich Bayırlı/Kammer@* Copyright @copyright{} 2015, 2016, 2017 "
1321 "Leo Famulari@* Copyright @copyright{} 2015, 2016, 2017, 2018 Ricardo "
1322 "Wurmus@* Copyright @copyright{} 2016 Ben Woodcroft@* Copyright @copyright{} "
1323 "2016, 2017, 2018 Chris Marusich@* Copyright @copyright{} 2016, 2017, 2018 "
1324 "Efraim Flashner@* Copyright @copyright{} 2016 John Darrington@* Copyright "
1325 "@copyright{} 2016, 2017 Nils Gillmann@* Copyright @copyright{} 2016, 2017 "
1326 "Jan Nieuwenhuizen@* Copyright @copyright{} 2016 Julien Lepiller@* Copyright "
1327 "@copyright{} 2016 Alex ter Weele@* Copyright @copyright{} 2017, 2018 Clément "
1328 "Lassieur@* Copyright @copyright{} 2017 Mathieu Othacehe@* Copyright "
1329 "@copyright{} 2017 Federico Beffa@* Copyright @copyright{} 2017 Carlo "
1330 "Zancanaro@* Copyright @copyright{} 2017 Thomas Danckaert@* Copyright "
1331 "@copyright{} 2017 humanitiesNerd@* Copyright @copyright{} 2017 Christopher "
1332 "Allan Webber@* Copyright @copyright{} 2017 Marius Bakke@* Copyright "
1333 "@copyright{} 2017 Hartmut Goebel@* Copyright @copyright{} 2017 Maxim "
1334 "Cournoyer@* Copyright @copyright{} 2017, 2018 Tobias Geerinckx-Rice@* "
1335 "Copyright @copyright{} 2017 George Clemmer@* Copyright @copyright{} 2017 "
1336 "Andy Wingo@* Copyright @copyright{} 2017, 2018 Arun Isaac@* Copyright "
1337 "@copyright{} 2017 nee@* Copyright @copyright{} 2018 Rutger Helling@* "
1338 "Copyright @copyright{} 2018 Oleg Pykhalov@* Copyright @copyright{} 2018 Mike "
1339 "Gerwitz"
1340 msgstr ""
1341 "Copyright @copyright{} 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic "
1342 "Courtès@* Copyright @copyright{} 2013, 2014, 2016 Andreas Enge@* Copyright "
1343 "@copyright{} 2013 Nikita Karetnikov@* Copyright @copyright{} 2014, 2015, "
1344 "2016 Alex Kost@* Copyright @copyright{} 2015, 2016 Mathieu Lirzin@* "
1345 "Copyright @copyright{} 2014 Pierre-Antoine Rault@* Copyright @copyright{} "
1346 "2015 Taylan Ulrich Bayırlı/Kammer@* Copyright @copyright{} 2015, 2016, 2017 "
1347 "Leo Famulari@* Copyright @copyright{} 2015, 2016, 2017, 2018 Ricardo "
1348 "Wurmus@* Copyright @copyright{} 2016 Ben Woodcroft@* Copyright @copyright{} "
1349 "2016, 2017, 2018 Chris Marusich@* Copyright @copyright{} 2016, 2017, 2018 "
1350 "Efraim Flashner@* Copyright @copyright{} 2016 John Darrington@* Copyright "
1351 "@copyright{} 2016, 2017 Nils Gillmann@* Copyright @copyright{} 2016, 2017 "
1352 "Jan Nieuwenhuizen@* Copyright @copyright{} 2016 Julien Lepiller@* Copyright "
1353 "@copyright{} 2016 Alex ter Weele@* Copyright @copyright{} 2017, 2018 Clément "
1354 "Lassieur@* Copyright @copyright{} 2017 Mathieu Othacehe@* Copyright "
1355 "@copyright{} 2017 Federico Beffa@* Copyright @copyright{} 2017 Carlo "
1356 "Zancanaro@* Copyright @copyright{} 2017 Thomas Danckaert@* Copyright "
1357 "@copyright{} 2017 humanitiesNerd@* Copyright @copyright{} 2017 Christopher "
1358 "Allan Webber@* Copyright @copyright{} 2017 Marius Bakke@* Copyright "
1359 "@copyright{} 2017 Hartmut Goebel@* Copyright @copyright{} 2017 Maxim "
1360 "Cournoyer@* Copyright @copyright{} 2017, 2018 Tobias Geerinckx-Rice@* "
1361 "Copyright @copyright{} 2017 George Clemmer@* Copyright @copyright{} 2017 "
1362 "Andy Wingo@* Copyright @copyright{} 2017, 2018 Arun Isaac@* Copyright "
1363 "@copyright{} 2017 nee@* Copyright @copyright{} 2018 Rutger Helling@* "
1364 "Copyright @copyright{} 2018 Oleg Pykhalov@* Copyright @copyright{} 2018 Mike "
1365 "Gerwitz"
1366
1367 #. type: copying
1368 #: doc/guix.texi:58
1369 msgid ""
1370 "Permission is granted to copy, distribute and/or modify this document under "
1371 "the terms of the GNU Free Documentation License, Version 1.3 or any later "
1372 "version published by the Free Software Foundation; with no Invariant "
1373 "Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the "
1374 "license is included in the section entitled ``GNU Free Documentation "
1375 "License''."
1376 msgstr ""
1377 "Vous avez la permission de copier, distribuer ou modifier ce document sous "
1378 "les termes de la Licence GNU Free Documentation, version 1.3 ou toute "
1379 "version ultérieure publiée par la Free Software Foundation ; sans section "
1380 "invariante, texte de couverture et sans texte de quatrième de couverture. "
1381 "Une copie de la licence est incluse dans la section intitulée « GNU Free "
1382 "Documentation License »."
1383
1384 #. type: dircategory
1385 #: doc/guix.texi:60
1386 #, no-wrap
1387 msgid "System administration"
1388 msgstr "Administration système"
1389
1390 #. type: menuentry
1391 #: doc/guix.texi:67
1392 msgid "Guix: (guix)"
1393 msgstr "Guix: (guix)"
1394
1395 #. type: menuentry
1396 #: doc/guix.texi:67
1397 msgid "Manage installed software and system configuration."
1398 msgstr "Gérer les logiciels installés et la configuration du système."
1399
1400 #. type: menuentry
1401 #: doc/guix.texi:67
1402 msgid "guix package: (guix)Invoking guix package"
1403 msgstr "guix package : (guix)Invoquer guix package"
1404
1405 #. type: menuentry
1406 #: doc/guix.texi:67
1407 msgid "Installing, removing, and upgrading packages."
1408 msgstr "Intaller, supprimer et mettre à jour des paquets."
1409
1410 #. type: menuentry
1411 #: doc/guix.texi:67
1412 msgid "guix gc: (guix)Invoking guix gc"
1413 msgstr "guix gc : (guix)Invoquer guix gc"
1414
1415 #. type: menuentry
1416 #: doc/guix.texi:67
1417 msgid "Reclaiming unused disk space."
1418 msgstr "Récupérer de l'espace disque inutilisé."
1419
1420 #. type: menuentry
1421 #: doc/guix.texi:67
1422 msgid "guix pull: (guix)Invoking guix pull"
1423 msgstr "guix pull : (guix)Invoquer guix pull"
1424
1425 #. type: menuentry
1426 #: doc/guix.texi:67
1427 msgid "Update the list of available packages."
1428 msgstr "Mettre à jour la liste des paquets disponibles."
1429
1430 #. type: menuentry
1431 #: doc/guix.texi:67
1432 msgid "guix system: (guix)Invoking guix system"
1433 msgstr "guix system : (guix)Invoquer guix system"
1434
1435 #. type: menuentry
1436 #: doc/guix.texi:67
1437 msgid "Manage the operating system configuration."
1438 msgstr "Gérer la configuration du système d'exploitation."
1439
1440 #. type: dircategory
1441 #: doc/guix.texi:69
1442 #, no-wrap
1443 msgid "Software development"
1444 msgstr "Développement logiciel"
1445
1446 #. type: menuentry
1447 #: doc/guix.texi:74
1448 msgid "guix environment: (guix)Invoking guix environment"
1449 msgstr "guix environment : (guix)Invoquer guix environment"
1450
1451 #. type: menuentry
1452 #: doc/guix.texi:74
1453 msgid "Building development environments with Guix."
1454 msgstr "Construire des environnements de construction avec Guix."
1455
1456 #. type: menuentry
1457 #: doc/guix.texi:74
1458 msgid "guix build: (guix)Invoking guix build"
1459 msgstr "guix build : (guix)Invoquer guix build"
1460
1461 #. type: menuentry
1462 #: doc/guix.texi:74
1463 msgid "Building packages."
1464 msgstr "Construire des paquets."
1465
1466 #. type: menuentry
1467 #: doc/guix.texi:74
1468 msgid "guix pack: (guix)Invoking guix pack"
1469 msgstr "guix pack : (guix) Invoquer guix pack"
1470
1471 #. type: menuentry
1472 #: doc/guix.texi:74
1473 msgid "Creating binary bundles."
1474 msgstr "Créer des lots binaires."
1475
1476 #. type: subtitle
1477 #: doc/guix.texi:78
1478 #, no-wrap
1479 msgid "Using the GNU Guix Functional Package Manager"
1480 msgstr "Utiliser le gestionnaire de paquet fonctionnel GNU Guix"
1481
1482 #. type: author
1483 #: doc/guix.texi:79
1484 #, no-wrap
1485 msgid "The GNU Guix Developers"
1486 msgstr "Les développeurs de GNU Guix"
1487
1488 #. type: titlepage
1489 #: doc/guix.texi:85
1490 msgid "Edition @value{EDITION} @* @value{UPDATED} @*"
1491 msgstr "Édition @value{EDITION} @* @value{UPDATED} @*"
1492
1493 #. type: node
1494 #: doc/guix.texi:92
1495 #, no-wrap
1496 msgid "Top"
1497 msgstr "Top"
1498
1499 #. type: top
1500 #: doc/guix.texi:93
1501 #, no-wrap
1502 msgid "GNU Guix"
1503 msgstr "GNU Guix"
1504
1505 #. type: Plain text
1506 #: doc/guix.texi:97
1507 msgid ""
1508 "This document describes GNU Guix version @value{VERSION}, a functional "
1509 "package management tool written for the GNU system."
1510 msgstr ""
1511 "Cette documentation décrit GNU Guix version @value{VERSION}, un outils de "
1512 "gestion de paquets fonctionnel écrit pour le système GNU."
1513
1514 #. type: chapter
1515 #: doc/guix.texi:106 doc/guix.texi:294 doc/guix.texi:295
1516 #, no-wrap
1517 msgid "Introduction"
1518 msgstr "Introduction"
1519
1520 #. type: menuentry
1521 #: doc/guix.texi:106
1522 msgid "What is Guix about?"
1523 msgstr "Qu'est-ce que Guix ?"
1524
1525 #. type: chapter
1526 #: doc/guix.texi:106 doc/guix.texi:116 doc/guix.texi:367 doc/guix.texi:368
1527 #, no-wrap
1528 msgid "Installation"
1529 msgstr "Installation"
1530
1531 #. type: menuentry
1532 #: doc/guix.texi:106
1533 msgid "Installing Guix."
1534 msgstr "Installer Guix."
1535
1536 #. type: chapter
1537 #: doc/guix.texi:106 doc/guix.texi:131 doc/guix.texi:1652 doc/guix.texi:1653
1538 #, no-wrap
1539 msgid "Package Management"
1540 msgstr "Gestion de paquets"
1541
1542 #. type: menuentry
1543 #: doc/guix.texi:106
1544 msgid "Package installation, upgrade, etc."
1545 msgstr "Installation des paquets, mises à jour, etc."
1546
1547 #. type: chapter
1548 #: doc/guix.texi:106 doc/guix.texi:151 doc/guix.texi:3106 doc/guix.texi:3107
1549 #, no-wrap
1550 msgid "Programming Interface"
1551 msgstr "Interface de programmation"
1552
1553 #. type: menuentry
1554 #: doc/guix.texi:106
1555 msgid "Using Guix in Scheme."
1556 msgstr "Utiliser Guix en Scheme."
1557
1558 #. type: chapter
1559 #: doc/guix.texi:106 doc/guix.texi:165 doc/guix.texi:5362 doc/guix.texi:5363
1560 #, no-wrap
1561 msgid "Utilities"
1562 msgstr "Utilitaires"
1563
1564 #. type: menuentry
1565 #: doc/guix.texi:106
1566 msgid "Package management commands."
1567 msgstr "Commandes de gestion de paquets."
1568
1569 #. type: chapter
1570 #: doc/guix.texi:106 doc/guix.texi:190 doc/guix.texi:7981 doc/guix.texi:7982
1571 #, no-wrap
1572 msgid "GNU Distribution"
1573 msgstr "Distribution GNU"
1574
1575 #. type: menuentry
1576 #: doc/guix.texi:106
1577 msgid "Software for your friendly GNU system."
1578 msgstr "Des logiciels pour un système GNU convivial."
1579
1580 #. type: menuentry
1581 #: doc/guix.texi:106
1582 msgid "Your help needed!"
1583 msgstr "Nous avons besoin de votre aide !"
1584
1585 #. type: chapter
1586 #: doc/guix.texi:111 doc/guix.texi:22338 doc/guix.texi:22339
1587 #, no-wrap
1588 msgid "Acknowledgments"
1589 msgstr "Remerciements"
1590
1591 #. type: menuentry
1592 #: doc/guix.texi:111
1593 msgid "Thanks!"
1594 msgstr "Merci !"
1595
1596 #. type: appendix
1597 #: doc/guix.texi:111 doc/guix.texi:22360 doc/guix.texi:22361
1598 #, no-wrap
1599 msgid "GNU Free Documentation License"
1600 msgstr "La licence GNU Free Documentation"
1601
1602 #. type: menuentry
1603 #: doc/guix.texi:111
1604 msgid "The license of this manual."
1605 msgstr "La licence de ce manuel."
1606
1607 #. type: unnumbered
1608 #: doc/guix.texi:111 doc/guix.texi:22366 doc/guix.texi:22367
1609 #, no-wrap
1610 msgid "Concept Index"
1611 msgstr "Index des concepts"
1612
1613 #. type: menuentry
1614 #: doc/guix.texi:111
1615 msgid "Concepts."
1616 msgstr "Les concepts."
1617
1618 #. type: unnumbered
1619 #: doc/guix.texi:111 doc/guix.texi:22370 doc/guix.texi:22371
1620 #, no-wrap
1621 msgid "Programming Index"
1622 msgstr "Index de programmation"
1623
1624 #. type: menuentry
1625 #: doc/guix.texi:111
1626 msgid "Data types, functions, and variables."
1627 msgstr "Types de données, fonctions et variables."
1628
1629 #. type: menuentry
1630 #: doc/guix.texi:114
1631 msgid "--- The Detailed Node Listing ---"
1632 msgstr "--- Liste détaillée des nœuds ---"
1633
1634 #. type: section
1635 #: doc/guix.texi:123 doc/guix.texi:398 doc/guix.texi:400 doc/guix.texi:401
1636 #, no-wrap
1637 msgid "Binary Installation"
1638 msgstr "Installation binaire"
1639
1640 #. type: menuentry
1641 #: doc/guix.texi:123 doc/guix.texi:398
1642 msgid "Getting Guix running in no time!"
1643 msgstr "Commencer à utiliser Guix en un rien de temps !"
1644
1645 #. type: section
1646 #: doc/guix.texi:123 doc/guix.texi:398 doc/guix.texi:596 doc/guix.texi:597
1647 #, no-wrap
1648 msgid "Requirements"
1649 msgstr "Prérequis"
1650
1651 #. type: menuentry
1652 #: doc/guix.texi:123 doc/guix.texi:398
1653 msgid "Software needed to build and run Guix."
1654 msgstr "Logiciels requis pour construire et lancer Guix."
1655
1656 #. type: section
1657 #: doc/guix.texi:123 doc/guix.texi:398 doc/guix.texi:678 doc/guix.texi:679
1658 #, no-wrap
1659 msgid "Running the Test Suite"
1660 msgstr "Lancer la suite de tests"
1661
1662 #. type: menuentry
1663 #: doc/guix.texi:123 doc/guix.texi:398
1664 msgid "Testing Guix."
1665 msgstr "Tester Guix."
1666
1667 #. type: section
1668 #: doc/guix.texi:123 doc/guix.texi:125 doc/guix.texi:398 doc/guix.texi:743
1669 #: doc/guix.texi:744
1670 #, no-wrap
1671 msgid "Setting Up the Daemon"
1672 msgstr "Paramétrer le démon"
1673
1674 #. type: menuentry
1675 #: doc/guix.texi:123 doc/guix.texi:398
1676 msgid "Preparing the build daemon's environment."
1677 msgstr "Préparer l'environnement du démon de construction."
1678
1679 #. type: node
1680 #: doc/guix.texi:123 doc/guix.texi:398 doc/guix.texi:1176
1681 #, no-wrap
1682 msgid "Invoking guix-daemon"
1683 msgstr "Invoquer guix-daemon"
1684
1685 #. type: menuentry
1686 #: doc/guix.texi:123 doc/guix.texi:398
1687 msgid "Running the build daemon."
1688 msgstr "Lancer le démon de construction."
1689
1690 #. type: section
1691 #: doc/guix.texi:123 doc/guix.texi:398 doc/guix.texi:1441 doc/guix.texi:1442
1692 #, no-wrap
1693 msgid "Application Setup"
1694 msgstr "Réglages applicatifs"
1695
1696 #. type: menuentry
1697 #: doc/guix.texi:123 doc/guix.texi:398
1698 msgid "Application-specific setup."
1699 msgstr "Réglages spécifiques pour les application."
1700
1701 #. type: subsection
1702 #: doc/guix.texi:129 doc/guix.texi:763 doc/guix.texi:765 doc/guix.texi:766
1703 #, no-wrap
1704 msgid "Build Environment Setup"
1705 msgstr "Réglages de l'environnement de construction"
1706
1707 #. type: menuentry
1708 #: doc/guix.texi:129 doc/guix.texi:763
1709 msgid "Preparing the isolated build environment."
1710 msgstr "Préparer l'environnement de construction isolé."
1711
1712 #. type: node
1713 #: doc/guix.texi:129 doc/guix.texi:763 doc/guix.texi:882
1714 #, no-wrap
1715 msgid "Daemon Offload Setup"
1716 msgstr "Réglages du délestage du démon"
1717
1718 #. type: menuentry
1719 #: doc/guix.texi:129 doc/guix.texi:763
1720 msgid "Offloading builds to remote machines."
1721 msgstr "Envoyer des constructions à des machines distantes."
1722
1723 #. type: subsection
1724 #: doc/guix.texi:129 doc/guix.texi:763 doc/guix.texi:1090 doc/guix.texi:1091
1725 #, no-wrap
1726 msgid "SELinux Support"
1727 msgstr "Support de SELinux"
1728
1729 #. type: menuentry
1730 #: doc/guix.texi:129 doc/guix.texi:763
1731 msgid "Using an SELinux policy for the daemon."
1732 msgstr "Utiliser une politique SELinux pour le démon."
1733
1734 #. type: section
1735 #: doc/guix.texi:140 doc/guix.texi:1682 doc/guix.texi:1684 doc/guix.texi:1685
1736 #, no-wrap
1737 msgid "Features"
1738 msgstr "Fonctionnalités"
1739
1740 #. type: menuentry
1741 #: doc/guix.texi:140 doc/guix.texi:1682
1742 msgid "How Guix will make your life brighter."
1743 msgstr "Comment Guix va rendre votre vie plus heureuse."
1744
1745 #. type: node
1746 #: doc/guix.texi:140 doc/guix.texi:1682 doc/guix.texi:1761
1747 #, no-wrap
1748 msgid "Invoking guix package"
1749 msgstr "Invoquer guix package"
1750
1751 #. type: menuentry
1752 #: doc/guix.texi:140 doc/guix.texi:1682
1753 msgid "Package installation, removal, etc."
1754 msgstr "Installation, suppression, etc. de paquets."
1755
1756 #. type: section
1757 #: doc/guix.texi:140 doc/guix.texi:142 doc/guix.texi:1682 doc/guix.texi:2245
1758 #: doc/guix.texi:2246
1759 #, no-wrap
1760 msgid "Substitutes"
1761 msgstr "Substituts"
1762
1763 #. type: menuentry
1764 #: doc/guix.texi:140 doc/guix.texi:1682
1765 msgid "Downloading pre-built binaries."
1766 msgstr "Télécharger des binaire déjà construits."
1767
1768 #. type: section
1769 #: doc/guix.texi:140 doc/guix.texi:1682 doc/guix.texi:2478 doc/guix.texi:2479
1770 #, no-wrap
1771 msgid "Packages with Multiple Outputs"
1772 msgstr "Des paquets avec plusieurs résultats"
1773
1774 #. type: menuentry
1775 #: doc/guix.texi:140 doc/guix.texi:1682
1776 msgid "Single source package, multiple outputs."
1777 msgstr "Un seul paquet source, plusieurs résultats."
1778
1779 #. type: node
1780 #: doc/guix.texi:140 doc/guix.texi:1682 doc/guix.texi:2532
1781 #, no-wrap
1782 msgid "Invoking guix gc"
1783 msgstr "Invoquer guix gc"
1784
1785 #. type: menuentry
1786 #: doc/guix.texi:140 doc/guix.texi:1682
1787 msgid "Running the garbage collector."
1788 msgstr "Lancer le ramasse-miettes."
1789
1790 #. type: node
1791 #: doc/guix.texi:140 doc/guix.texi:1682 doc/guix.texi:2720
1792 #, no-wrap
1793 msgid "Invoking guix pull"
1794 msgstr "Invoquer guix pull"
1795
1796 #. type: menuentry
1797 #: doc/guix.texi:140 doc/guix.texi:1682
1798 msgid "Fetching the latest Guix and distribution."
1799 msgstr "Récupérer la dernière version de Guix et de la distribution."
1800
1801 #. type: node
1802 #: doc/guix.texi:140 doc/guix.texi:1682 doc/guix.texi:2781
1803 #, no-wrap
1804 msgid "Invoking guix pack"
1805 msgstr "Invoquer guix pack"
1806
1807 #. type: menuentry
1808 #: doc/guix.texi:140 doc/guix.texi:1682
1809 msgid "Creating software bundles."
1810 msgstr "Créer des lots de logiciels."
1811
1812 #. type: node
1813 #: doc/guix.texi:140 doc/guix.texi:1682 doc/guix.texi:2941
1814 #, no-wrap
1815 msgid "Invoking guix archive"
1816 msgstr "Invoquer guix archive"
1817
1818 #. type: menuentry
1819 #: doc/guix.texi:140 doc/guix.texi:1682
1820 msgid "Exporting and importing store files."
1821 msgstr "Exporter et importer des fichiers du dépôt."
1822
1823 #. type: subsection
1824 #: doc/guix.texi:149 doc/guix.texi:2268 doc/guix.texi:2270 doc/guix.texi:2271
1825 #, no-wrap
1826 msgid "Official Substitute Server"
1827 msgstr "Serveur de substituts officiel"
1828
1829 #. type: menuentry
1830 #: doc/guix.texi:149 doc/guix.texi:2268
1831 msgid "One particular source of substitutes."
1832 msgstr "Une source particulière de substituts."
1833
1834 #. type: subsection
1835 #: doc/guix.texi:149 doc/guix.texi:2268 doc/guix.texi:2300 doc/guix.texi:2301
1836 #, no-wrap
1837 msgid "Substitute Server Authorization"
1838 msgstr "Autoriser un serveur de substituts"
1839
1840 #. type: menuentry
1841 #: doc/guix.texi:149 doc/guix.texi:2268
1842 msgid "How to enable or disable substitutes."
1843 msgstr "Comment activer ou désactiver les substituts."
1844
1845 #. type: subsection
1846 #: doc/guix.texi:149 doc/guix.texi:2268 doc/guix.texi:2373 doc/guix.texi:2374
1847 #, no-wrap
1848 msgid "Substitute Authentication"
1849 msgstr "Authentification des substituts"
1850
1851 #. type: menuentry
1852 #: doc/guix.texi:149 doc/guix.texi:2268
1853 msgid "How Guix verifies substitutes."
1854 msgstr "Coment Guix vérifie les substituts."
1855
1856 #. type: subsection
1857 #: doc/guix.texi:149 doc/guix.texi:2268 doc/guix.texi:2408 doc/guix.texi:2409
1858 #, no-wrap
1859 msgid "Proxy Settings"
1860 msgstr "Paramètres de serveur mandataire"
1861
1862 #. type: menuentry
1863 #: doc/guix.texi:149 doc/guix.texi:2268
1864 msgid "How to get substitutes via proxy."
1865 msgstr "Comment récupérer des substituts à travers un serveur mandataire."
1866
1867 #. type: subsection
1868 #: doc/guix.texi:149 doc/guix.texi:2268 doc/guix.texi:2420 doc/guix.texi:2421
1869 #, no-wrap
1870 msgid "Substitution Failure"
1871 msgstr "Échec de substitution"
1872
1873 #. type: menuentry
1874 #: doc/guix.texi:149 doc/guix.texi:2268
1875 msgid "What happens when substitution fails."
1876 msgstr "Qu'arrive-t-il quand la substitution échoue."
1877
1878 #. type: subsection
1879 #: doc/guix.texi:149 doc/guix.texi:2268 doc/guix.texi:2448 doc/guix.texi:2449
1880 #, no-wrap
1881 msgid "On Trusting Binaries"
1882 msgstr "De la confiance en des binaires"
1883
1884 #. type: menuentry
1885 #: doc/guix.texi:149 doc/guix.texi:2268
1886 msgid "How can you trust that binary blob?"
1887 msgstr "Comment pouvez-vous avoir confiance en un paquet binaire ?"
1888
1889 #. type: section
1890 #: doc/guix.texi:158 doc/guix.texi:160 doc/guix.texi:3141 doc/guix.texi:3143
1891 #: doc/guix.texi:3144
1892 #, no-wrap
1893 msgid "Defining Packages"
1894 msgstr "Définition des paquets"
1895
1896 #. type: menuentry
1897 #: doc/guix.texi:158 doc/guix.texi:3141
1898 msgid "Defining new packages."
1899 msgstr "Définir de nouveaux paquets."
1900
1901 #. type: section
1902 #: doc/guix.texi:158 doc/guix.texi:3141 doc/guix.texi:3607 doc/guix.texi:3608
1903 #, no-wrap
1904 msgid "Build Systems"
1905 msgstr "Systèmes de construction"
1906
1907 #. type: menuentry
1908 #: doc/guix.texi:158 doc/guix.texi:3141
1909 msgid "Specifying how packages are built."
1910 msgstr "Spécifier comment construire les paquets."
1911
1912 #. type: section
1913 #: doc/guix.texi:158 doc/guix.texi:3141 doc/guix.texi:4183 doc/guix.texi:4184
1914 #, no-wrap
1915 msgid "The Store"
1916 msgstr "Le dépôt"
1917
1918 #. type: menuentry
1919 #: doc/guix.texi:158 doc/guix.texi:3141
1920 msgid "Manipulating the package store."
1921 msgstr "Manipuler le dépôt de paquets."
1922
1923 #. type: section
1924 #: doc/guix.texi:158 doc/guix.texi:3141 doc/guix.texi:4333 doc/guix.texi:4334
1925 #, no-wrap
1926 msgid "Derivations"
1927 msgstr "Dérivations"
1928
1929 #. type: menuentry
1930 #: doc/guix.texi:158 doc/guix.texi:3141
1931 msgid "Low-level interface to package derivations."
1932 msgstr "Interface de bas-niveau avec les dérivations de paquets."
1933
1934 #. type: section
1935 #: doc/guix.texi:158 doc/guix.texi:3141 doc/guix.texi:4511 doc/guix.texi:4512
1936 #, no-wrap
1937 msgid "The Store Monad"
1938 msgstr "La monad du dépôt"
1939
1940 #. type: menuentry
1941 #: doc/guix.texi:158 doc/guix.texi:3141
1942 msgid "Purely functional interface to the store."
1943 msgstr "Interface purement fonctionnelle avec le dépôt."
1944
1945 #. type: section
1946 #: doc/guix.texi:158 doc/guix.texi:3141 doc/guix.texi:4820 doc/guix.texi:4821
1947 #, no-wrap
1948 msgid "G-Expressions"
1949 msgstr "G-Expressions"
1950
1951 #. type: menuentry
1952 #: doc/guix.texi:158 doc/guix.texi:3141
1953 msgid "Manipulating build expressions."
1954 msgstr "Manipuler les expressions de construction."
1955
1956 #. type: node
1957 #: doc/guix.texi:163 doc/guix.texi:3389 doc/guix.texi:3392
1958 #, no-wrap
1959 msgid "package Reference"
1960 msgstr "Référence de paquet"
1961
1962 #. type: menuentry
1963 #: doc/guix.texi:163 doc/guix.texi:3389
1964 msgid "The package data type."
1965 msgstr "Le type de donnée des paquets."
1966
1967 #. type: node
1968 #: doc/guix.texi:163 doc/guix.texi:3389 doc/guix.texi:3519
1969 #, no-wrap
1970 msgid "origin Reference"
1971 msgstr "Référence d'origine"
1972
1973 #. type: menuentry
1974 #: doc/guix.texi:163 doc/guix.texi:3389
1975 msgid "The origin data type."
1976 msgstr "Le type de données d'origine."
1977
1978 #. type: node
1979 #: doc/guix.texi:181 doc/guix.texi:5386 doc/guix.texi:5388
1980 #, no-wrap
1981 msgid "Invoking guix build"
1982 msgstr "Invoquer guix build"
1983
1984 #. type: menuentry
1985 #: doc/guix.texi:181 doc/guix.texi:5386
1986 msgid "Building packages from the command line."
1987 msgstr "Construire des paquets depuis la ligne de commande."
1988
1989 #. type: node
1990 #: doc/guix.texi:181 doc/guix.texi:5386 doc/guix.texi:5968
1991 #, no-wrap
1992 msgid "Invoking guix edit"
1993 msgstr "Invoquer guix edit"
1994
1995 #. type: menuentry
1996 #: doc/guix.texi:181 doc/guix.texi:5386
1997 msgid "Editing package definitions."
1998 msgstr "Modifier les définitions de paquets."
1999
2000 #. type: node
2001 #: doc/guix.texi:181 doc/guix.texi:5386 doc/guix.texi:5994
2002 #, no-wrap
2003 msgid "Invoking guix download"
2004 msgstr "Invoquer guix download"
2005
2006 #. type: menuentry
2007 #: doc/guix.texi:181 doc/guix.texi:5386
2008 msgid "Downloading a file and printing its hash."
2009 msgstr "Télécharger un fichier et afficher son hash."
2010
2011 #. type: node
2012 #: doc/guix.texi:181 doc/guix.texi:5386 doc/guix.texi:6047
2013 #, no-wrap
2014 msgid "Invoking guix hash"
2015 msgstr "Invoquer guix hash"
2016
2017 #. type: menuentry
2018 #: doc/guix.texi:181 doc/guix.texi:5386
2019 msgid "Computing the cryptographic hash of a file."
2020 msgstr "Calculer le hash cryptographique d'un fichier."
2021
2022 #. type: node
2023 #: doc/guix.texi:181 doc/guix.texi:5386 doc/guix.texi:6109
2024 #, no-wrap
2025 msgid "Invoking guix import"
2026 msgstr "Invoquer guix import"
2027
2028 #. type: menuentry
2029 #: doc/guix.texi:181 doc/guix.texi:5386
2030 msgid "Importing package definitions."
2031 msgstr "Importer des définitions de paquets."
2032
2033 #. type: node
2034 #: doc/guix.texi:181 doc/guix.texi:5386 doc/guix.texi:6476
2035 #, no-wrap
2036 msgid "Invoking guix refresh"
2037 msgstr "Invoquer guix refresh"
2038
2039 #. type: menuentry
2040 #: doc/guix.texi:181 doc/guix.texi:5386
2041 msgid "Updating package definitions."
2042 msgstr "Mettre à jour les définitions de paquets."
2043
2044 #. type: node
2045 #: doc/guix.texi:181 doc/guix.texi:5386 doc/guix.texi:6723
2046 #, no-wrap
2047 msgid "Invoking guix lint"
2048 msgstr "Invoquer guix lint"
2049
2050 #. type: menuentry
2051 #: doc/guix.texi:181 doc/guix.texi:5386
2052 msgid "Finding errors in package definitions."
2053 msgstr "Trouver des erreurs dans les définitions de paquets."
2054
2055 #. type: node
2056 #: doc/guix.texi:181 doc/guix.texi:5386 doc/guix.texi:6814
2057 #, no-wrap
2058 msgid "Invoking guix size"
2059 msgstr "Invoquer guix size"
2060
2061 #. type: menuentry
2062 #: doc/guix.texi:181 doc/guix.texi:5386
2063 msgid "Profiling disk usage."
2064 msgstr "Profiler l'utilisation du disque."
2065
2066 #. type: node
2067 #: doc/guix.texi:181 doc/guix.texi:5386 doc/guix.texi:6930
2068 #, no-wrap
2069 msgid "Invoking guix graph"
2070 msgstr "Invoquer guix graph"
2071
2072 #. type: menuentry
2073 #: doc/guix.texi:181 doc/guix.texi:5386
2074 msgid "Visualizing the graph of packages."
2075 msgstr "Visualiser le graphe des paquets."
2076
2077 #. type: node
2078 #: doc/guix.texi:181 doc/guix.texi:5386 doc/guix.texi:7109
2079 #, no-wrap
2080 msgid "Invoking guix environment"
2081 msgstr "Invoquer guix environment"
2082
2083 #. type: menuentry
2084 #: doc/guix.texi:181 doc/guix.texi:5386
2085 msgid "Setting up development environments."
2086 msgstr "Mettre en place des environnements de développement."
2087
2088 #. type: node
2089 #: doc/guix.texi:181 doc/guix.texi:5386 doc/guix.texi:7428
2090 #, no-wrap
2091 msgid "Invoking guix publish"
2092 msgstr "Invoquer guix publish"
2093
2094 #. type: menuentry
2095 #: doc/guix.texi:181 doc/guix.texi:5386
2096 msgid "Sharing substitutes."
2097 msgstr "Partager des substituts."
2098
2099 #. type: node
2100 #: doc/guix.texi:181 doc/guix.texi:5386 doc/guix.texi:7645
2101 #, no-wrap
2102 msgid "Invoking guix challenge"
2103 msgstr "Invoquer guix challenge"
2104
2105 #. type: menuentry
2106 #: doc/guix.texi:181 doc/guix.texi:5386
2107 msgid "Challenging substitute servers."
2108 msgstr "Défier les serveurs de substituts."
2109
2110 #. type: node
2111 #: doc/guix.texi:181 doc/guix.texi:5386 doc/guix.texi:7784
2112 #, no-wrap
2113 msgid "Invoking guix copy"
2114 msgstr "Invoquer guix copy"
2115
2116 #. type: menuentry
2117 #: doc/guix.texi:181 doc/guix.texi:5386
2118 msgid "Copying to and from a remote store."
2119 msgstr "Copier vers et depuis un dépôt distant."
2120
2121 #. type: node
2122 #: doc/guix.texi:181 doc/guix.texi:5386 doc/guix.texi:7847
2123 #, no-wrap
2124 msgid "Invoking guix container"
2125 msgstr "Invoquer guix container"
2126
2127 #. type: menuentry
2128 #: doc/guix.texi:181 doc/guix.texi:5386
2129 msgid "Process isolation."
2130 msgstr "Isolation de processus."
2131
2132 #. type: node
2133 #: doc/guix.texi:181 doc/guix.texi:5386 doc/guix.texi:7901
2134 #, no-wrap
2135 msgid "Invoking guix weather"
2136 msgstr "Invoquer guix weather"
2137
2138 #. type: menuentry
2139 #: doc/guix.texi:181 doc/guix.texi:5386
2140 msgid "Assessing substitute availability."
2141 msgstr "Mesurer la disponibilité des substituts."
2142
2143 #. type: section
2144 #: doc/guix.texi:183 doc/guix.texi:5389
2145 #, no-wrap
2146 msgid "Invoking @command{guix build}"
2147 msgstr "Invoquer @command{guix build}"
2148
2149 #. type: subsection
2150 #: doc/guix.texi:188 doc/guix.texi:5440 doc/guix.texi:5442 doc/guix.texi:5443
2151 #, no-wrap
2152 msgid "Common Build Options"
2153 msgstr "Options de construction communes"
2154
2155 #. type: menuentry
2156 #: doc/guix.texi:188 doc/guix.texi:5440
2157 msgid "Build options for most commands."
2158 msgstr "Options de construction pour la plupart des commandes."
2159
2160 #. type: subsection
2161 #: doc/guix.texi:188 doc/guix.texi:5440 doc/guix.texi:5584 doc/guix.texi:5585
2162 #, no-wrap
2163 msgid "Package Transformation Options"
2164 msgstr "Options de transformation de paquets"
2165
2166 #. type: menuentry
2167 #: doc/guix.texi:188 doc/guix.texi:5440
2168 msgid "Creating variants of packages."
2169 msgstr "Créer des variantes de paquets."
2170
2171 #. type: subsection
2172 #: doc/guix.texi:188 doc/guix.texi:5440 doc/guix.texi:5684 doc/guix.texi:5685
2173 #, no-wrap
2174 msgid "Additional Build Options"
2175 msgstr "Options de construction supplémentaires"
2176
2177 #. type: menuentry
2178 #: doc/guix.texi:188 doc/guix.texi:5440
2179 msgid "Options specific to 'guix build'."
2180 msgstr "Options spécifiques à « guix build »."
2181
2182 #. type: subsection
2183 #: doc/guix.texi:188 doc/guix.texi:5440 doc/guix.texi:5888 doc/guix.texi:5889
2184 #, no-wrap
2185 msgid "Debugging Build Failures"
2186 msgstr "Débogage des échecs de construction"
2187
2188 #. type: menuentry
2189 #: doc/guix.texi:188 doc/guix.texi:5440
2190 msgid "Real life packaging experience."
2191 msgstr "La vie d'un empaqueteur."
2192
2193 #. type: section
2194 #: doc/guix.texi:200 doc/guix.texi:202 doc/guix.texi:8053 doc/guix.texi:8058
2195 #: doc/guix.texi:8059
2196 #, no-wrap
2197 msgid "System Installation"
2198 msgstr "Installation du système"
2199
2200 #. type: menuentry
2201 #: doc/guix.texi:200 doc/guix.texi:8053
2202 msgid "Installing the whole operating system."
2203 msgstr "Installer le système d'exploitation complet."
2204
2205 #. type: section
2206 #: doc/guix.texi:200 doc/guix.texi:212 doc/guix.texi:8053 doc/guix.texi:8674
2207 #: doc/guix.texi:8675
2208 #, no-wrap
2209 msgid "System Configuration"
2210 msgstr "Configuration système"
2211
2212 #. type: menuentry
2213 #: doc/guix.texi:200 doc/guix.texi:8053
2214 msgid "Configuring the operating system."
2215 msgstr "Configurer le système d'exploitation."
2216
2217 #. type: section
2218 #: doc/guix.texi:200 doc/guix.texi:8053 doc/guix.texi:21351 doc/guix.texi:21352
2219 #, no-wrap
2220 msgid "Documentation"
2221 msgstr "Documentation"
2222
2223 #. type: menuentry
2224 #: doc/guix.texi:200 doc/guix.texi:8053
2225 msgid "Browsing software user manuals."
2226 msgstr "Visualiser les manuels d'utilisateur des logiciels."
2227
2228 #. type: section
2229 #: doc/guix.texi:200 doc/guix.texi:8053 doc/guix.texi:21415 doc/guix.texi:21416
2230 #, no-wrap
2231 msgid "Installing Debugging Files"
2232 msgstr "Installer les fichiers de débogage"
2233
2234 #. type: menuentry
2235 #: doc/guix.texi:200 doc/guix.texi:8053
2236 msgid "Feeding the debugger."
2237 msgstr "Nourrir le débogueur."
2238
2239 #. type: section
2240 #: doc/guix.texi:200 doc/guix.texi:8053 doc/guix.texi:21481 doc/guix.texi:21482
2241 #, no-wrap
2242 msgid "Security Updates"
2243 msgstr "Mises à jour de sécurité"
2244
2245 #. type: menuentry
2246 #: doc/guix.texi:200 doc/guix.texi:8053
2247 msgid "Deploying security fixes quickly."
2248 msgstr "Déployer des correctifs de sécurité rapidement."
2249
2250 #. type: section
2251 #: doc/guix.texi:200 doc/guix.texi:8053 doc/guix.texi:21601 doc/guix.texi:21602
2252 #, no-wrap
2253 msgid "Package Modules"
2254 msgstr "Modules de paquets"
2255
2256 #. type: menuentry
2257 #: doc/guix.texi:200 doc/guix.texi:8053
2258 msgid "Packages from the programmer's viewpoint."
2259 msgstr "Les paquets du point de vu du programmeur."
2260
2261 #. type: section
2262 #: doc/guix.texi:200 doc/guix.texi:265 doc/guix.texi:8053 doc/guix.texi:21655
2263 #: doc/guix.texi:21656
2264 #, no-wrap
2265 msgid "Packaging Guidelines"
2266 msgstr "Consignes d'empaquetage"
2267
2268 #. type: menuentry
2269 #: doc/guix.texi:200 doc/guix.texi:8053
2270 msgid "Growing the distribution."
2271 msgstr "Faire grandir la distribution."
2272
2273 #. type: section
2274 #: doc/guix.texi:200 doc/guix.texi:8053 doc/guix.texi:22106 doc/guix.texi:22107
2275 #, no-wrap
2276 msgid "Bootstrapping"
2277 msgstr "Bootstrapping"
2278
2279 #. type: menuentry
2280 #: doc/guix.texi:200 doc/guix.texi:8053
2281 msgid "GNU/Linux built from scratch."
2282 msgstr "GNU/Linux depuis zéro."
2283
2284 #. type: node
2285 #: doc/guix.texi:200 doc/guix.texi:8053 doc/guix.texi:22290
2286 #, no-wrap
2287 msgid "Porting"
2288 msgstr "Porter"
2289
2290 #. type: menuentry
2291 #: doc/guix.texi:200 doc/guix.texi:8053
2292 msgid "Targeting another platform or kernel."
2293 msgstr "Cibler une autre plateforme ou un autre noyau."
2294
2295 #. type: subsection
2296 #: doc/guix.texi:210 doc/guix.texi:1126 doc/guix.texi:8090 doc/guix.texi:8092
2297 #: doc/guix.texi:8093
2298 #, no-wrap
2299 msgid "Limitations"
2300 msgstr "Limitations"
2301
2302 #. type: menuentry
2303 #: doc/guix.texi:210 doc/guix.texi:8090
2304 msgid "What you can expect."
2305 msgstr "Ce à quoi vous attendre."
2306
2307 #. type: subsection
2308 #: doc/guix.texi:210 doc/guix.texi:8090 doc/guix.texi:8136 doc/guix.texi:8137
2309 #, no-wrap
2310 msgid "Hardware Considerations"
2311 msgstr "Considérations matérielles"
2312
2313 #. type: menuentry
2314 #: doc/guix.texi:210 doc/guix.texi:8090
2315 msgid "Supported hardware."
2316 msgstr "Matériel supporté."
2317
2318 #. type: subsection
2319 #: doc/guix.texi:210 doc/guix.texi:8090 doc/guix.texi:8171 doc/guix.texi:8172
2320 #, no-wrap
2321 msgid "USB Stick and DVD Installation"
2322 msgstr "Installation depuis une clef USB ou un DVD"
2323
2324 #. type: menuentry
2325 #: doc/guix.texi:210 doc/guix.texi:8090
2326 msgid "Preparing the installation medium."
2327 msgstr "Préparer le média d'installation."
2328
2329 #. type: subsection
2330 #: doc/guix.texi:210 doc/guix.texi:8090 doc/guix.texi:8269 doc/guix.texi:8270
2331 #, no-wrap
2332 msgid "Preparing for Installation"
2333 msgstr "Préparer l'installation"
2334
2335 #. type: menuentry
2336 #: doc/guix.texi:210 doc/guix.texi:8090
2337 msgid "Networking, partitioning, etc."
2338 msgstr "Réseau, partitionnement, etc."
2339
2340 #. type: subsection
2341 #: doc/guix.texi:210 doc/guix.texi:8090 doc/guix.texi:8508 doc/guix.texi:8509
2342 #, no-wrap
2343 msgid "Proceeding with the Installation"
2344 msgstr "Effectuer l'installation"
2345
2346 #. type: menuentry
2347 #: doc/guix.texi:210 doc/guix.texi:8090
2348 msgid "The real thing."
2349 msgstr "Pour de vrai."
2350
2351 #. type: node
2352 #: doc/guix.texi:210 doc/guix.texi:8090 doc/guix.texi:8605
2353 #, no-wrap
2354 msgid "Installing GuixSD in a VM"
2355 msgstr "Installer GuixSD dans une VM"
2356
2357 #. type: menuentry
2358 #: doc/guix.texi:210 doc/guix.texi:8090
2359 msgid "GuixSD playground."
2360 msgstr "Jouer avec GuixSD."
2361
2362 #. type: subsection
2363 #: doc/guix.texi:210 doc/guix.texi:8090 doc/guix.texi:8659 doc/guix.texi:8660
2364 #, no-wrap
2365 msgid "Building the Installation Image"
2366 msgstr "Construire l'image d'installation"
2367
2368 #. type: menuentry
2369 #: doc/guix.texi:210 doc/guix.texi:8090
2370 msgid "How this comes to be."
2371 msgstr "D'où vient tout cela."
2372
2373 #. type: subsection
2374 #: doc/guix.texi:228 doc/guix.texi:8715 doc/guix.texi:8717 doc/guix.texi:8718
2375 #, no-wrap
2376 msgid "Using the Configuration System"
2377 msgstr "Utiliser le système de configuration"
2378
2379 #. type: menuentry
2380 #: doc/guix.texi:228 doc/guix.texi:8715
2381 msgid "Customizing your GNU system."
2382 msgstr "Personnaliser votre système GNU."
2383
2384 #. type: node
2385 #: doc/guix.texi:228 doc/guix.texi:8715 doc/guix.texi:8933
2386 #, no-wrap
2387 msgid "operating-system Reference"
2388 msgstr "Référence de système d'exploitation"
2389
2390 #. type: menuentry
2391 #: doc/guix.texi:228 doc/guix.texi:8715
2392 msgid "Detail of operating-system declarations."
2393 msgstr "Détail sur la déclaration de système d'exploitation."
2394
2395 #. type: subsection
2396 #: doc/guix.texi:228 doc/guix.texi:8715 doc/guix.texi:9087 doc/guix.texi:9088
2397 #, no-wrap
2398 msgid "File Systems"
2399 msgstr "Systèmes de fichiers"
2400
2401 #. type: menuentry
2402 #: doc/guix.texi:228 doc/guix.texi:8715
2403 msgid "Configuring file system mounts."
2404 msgstr "Configurer les montages de systèmes de fichiers."
2405
2406 #. type: subsection
2407 #: doc/guix.texi:228 doc/guix.texi:8715 doc/guix.texi:9250 doc/guix.texi:9251
2408 #, no-wrap
2409 msgid "Mapped Devices"
2410 msgstr "Périphériques mappés"
2411
2412 #. type: menuentry
2413 #: doc/guix.texi:228 doc/guix.texi:8715
2414 msgid "Block device extra processing."
2415 msgstr "Gestion des périphériques de bloc."
2416
2417 #. type: subsection
2418 #: doc/guix.texi:228 doc/guix.texi:8715 doc/guix.texi:9371 doc/guix.texi:9372
2419 #, no-wrap
2420 msgid "User Accounts"
2421 msgstr "Comptes utilisateurs"
2422
2423 #. type: menuentry
2424 #: doc/guix.texi:228 doc/guix.texi:8715
2425 msgid "Specifying user accounts."
2426 msgstr "Spécifier des comptes utilisateurs."
2427
2428 #. type: subsection
2429 #: doc/guix.texi:228 doc/guix.texi:1449 doc/guix.texi:8715 doc/guix.texi:9506
2430 #: doc/guix.texi:9507
2431 #, no-wrap
2432 msgid "Locales"
2433 msgstr "Régionalisation"
2434
2435 #. type: menuentry
2436 #: doc/guix.texi:228 doc/guix.texi:8715
2437 msgid "Language and cultural convention settings."
2438 msgstr "Paramétrer la langue et les conventions culturelles."
2439
2440 #. type: subsection
2441 #: doc/guix.texi:228 doc/guix.texi:230 doc/guix.texi:8715 doc/guix.texi:9646
2442 #: doc/guix.texi:9647
2443 #, no-wrap
2444 msgid "Services"
2445 msgstr "Services"
2446
2447 #. type: menuentry
2448 #: doc/guix.texi:228 doc/guix.texi:8715
2449 msgid "Specifying system services."
2450 msgstr "Spécifier les services du système."
2451
2452 #. type: subsection
2453 #: doc/guix.texi:228 doc/guix.texi:8715 doc/guix.texi:19720 doc/guix.texi:19721
2454 #, no-wrap
2455 msgid "Setuid Programs"
2456 msgstr "Programmes setuid"
2457
2458 #. type: menuentry
2459 #: doc/guix.texi:228 doc/guix.texi:8715
2460 msgid "Programs running with root privileges."
2461 msgstr "Programmes tournant avec les privilèges root."
2462
2463 #. type: subsection
2464 #: doc/guix.texi:228 doc/guix.texi:1594 doc/guix.texi:8715 doc/guix.texi:19766
2465 #: doc/guix.texi:19767
2466 #, no-wrap
2467 msgid "X.509 Certificates"
2468 msgstr "Certificats X.509"
2469
2470 #. type: menuentry
2471 #: doc/guix.texi:228 doc/guix.texi:8715
2472 msgid "Authenticating HTTPS servers."
2473 msgstr "Authentifier les serveurs HTTPS."
2474
2475 #. type: subsection
2476 #: doc/guix.texi:228 doc/guix.texi:1492 doc/guix.texi:8715 doc/guix.texi:19829
2477 #: doc/guix.texi:19830
2478 #, no-wrap
2479 msgid "Name Service Switch"
2480 msgstr "Name Service Switch"
2481
2482 #. type: menuentry
2483 #: doc/guix.texi:228 doc/guix.texi:8715
2484 msgid "Configuring libc's name service switch."
2485 msgstr "Configurer le « name service switch » de la libc."
2486
2487 #. type: subsection
2488 #: doc/guix.texi:228 doc/guix.texi:8715 doc/guix.texi:19967 doc/guix.texi:19968
2489 #, no-wrap
2490 msgid "Initial RAM Disk"
2491 msgstr "Disque de RAM initial"
2492
2493 #. type: menuentry
2494 #: doc/guix.texi:228 doc/guix.texi:8715
2495 msgid "Linux-Libre bootstrapping."
2496 msgstr "Démarrage de Linux-Libre."
2497
2498 #. type: subsection
2499 #: doc/guix.texi:228 doc/guix.texi:8715 doc/guix.texi:20127 doc/guix.texi:20128
2500 #, no-wrap
2501 msgid "Bootloader Configuration"
2502 msgstr "Configuration du chargeur d'amorçage"
2503
2504 #. type: menuentry
2505 #: doc/guix.texi:228 doc/guix.texi:8715
2506 msgid "Configuring the boot loader."
2507 msgstr "Configurer le chargeur d'amorçage."
2508
2509 #. type: node
2510 #: doc/guix.texi:228 doc/guix.texi:8715 doc/guix.texi:20298
2511 #, no-wrap
2512 msgid "Invoking guix system"
2513 msgstr "Invoquer guix system"
2514
2515 #. type: menuentry
2516 #: doc/guix.texi:228 doc/guix.texi:8715
2517 msgid "Instantiating a system configuration."
2518 msgstr "Instantier une configuration du système."
2519
2520 #. type: node
2521 #: doc/guix.texi:228 doc/guix.texi:8715 doc/guix.texi:20723
2522 #, no-wrap
2523 msgid "Running GuixSD in a VM"
2524 msgstr "Lancer GuixSD dans une VM"
2525
2526 #. type: menuentry
2527 #: doc/guix.texi:228 doc/guix.texi:8715
2528 msgid "How to run GuixSD in a virtual machine."
2529 msgstr "Comment lancer GuixSD dans une machine virtuelle."
2530
2531 #. type: subsection
2532 #: doc/guix.texi:228 doc/guix.texi:258 doc/guix.texi:8715 doc/guix.texi:20834
2533 #: doc/guix.texi:20835
2534 #, no-wrap
2535 msgid "Defining Services"
2536 msgstr "Définir des services"
2537
2538 #. type: menuentry
2539 #: doc/guix.texi:228 doc/guix.texi:8715
2540 msgid "Adding new service definitions."
2541 msgstr "Ajouter de nouvelles définitions de services."
2542
2543 #. type: subsubsection
2544 #: doc/guix.texi:256 doc/guix.texi:9718 doc/guix.texi:9720 doc/guix.texi:9721
2545 #, no-wrap
2546 msgid "Base Services"
2547 msgstr "Services de base"
2548
2549 #. type: menuentry
2550 #: doc/guix.texi:256 doc/guix.texi:9718
2551 msgid "Essential system services."
2552 msgstr "Services systèmes essentiels."
2553
2554 #. type: subsubsection
2555 #: doc/guix.texi:256 doc/guix.texi:9718 doc/guix.texi:10488 doc/guix.texi:10489
2556 #, no-wrap
2557 msgid "Scheduled Job Execution"
2558 msgstr ""
2559
2560 #. type: menuentry
2561 #: doc/guix.texi:256 doc/guix.texi:9718
2562 msgid "The mcron service."
2563 msgstr ""
2564
2565 #. type: subsubsection
2566 #: doc/guix.texi:256 doc/guix.texi:9718 doc/guix.texi:10583 doc/guix.texi:10584
2567 #, no-wrap
2568 msgid "Log Rotation"
2569 msgstr ""
2570
2571 #. type: menuentry
2572 #: doc/guix.texi:256 doc/guix.texi:9718
2573 msgid "The rottlog service."
2574 msgstr ""
2575
2576 #. type: subsubsection
2577 #: doc/guix.texi:256 doc/guix.texi:9718 doc/guix.texi:10685 doc/guix.texi:10686
2578 #, no-wrap
2579 msgid "Networking Services"
2580 msgstr ""
2581
2582 #. type: menuentry
2583 #: doc/guix.texi:256 doc/guix.texi:9718
2584 msgid "Network setup, SSH daemon, etc."
2585 msgstr ""
2586
2587 #. type: subsubsection
2588 #: doc/guix.texi:256 doc/guix.texi:9718 doc/guix.texi:11431 doc/guix.texi:11432
2589 #, no-wrap
2590 msgid "X Window"
2591 msgstr ""
2592
2593 #. type: menuentry
2594 #: doc/guix.texi:256 doc/guix.texi:9718
2595 msgid "Graphical display."
2596 msgstr ""
2597
2598 #. type: subsubsection
2599 #: doc/guix.texi:256 doc/guix.texi:9718 doc/guix.texi:11677 doc/guix.texi:11678
2600 #, no-wrap
2601 msgid "Printing Services"
2602 msgstr ""
2603
2604 #. type: menuentry
2605 #: doc/guix.texi:256 doc/guix.texi:9718
2606 msgid "Local and remote printer support."
2607 msgstr ""
2608
2609 #. type: subsubsection
2610 #: doc/guix.texi:256 doc/guix.texi:9718 doc/guix.texi:12514 doc/guix.texi:12515
2611 #, no-wrap
2612 msgid "Desktop Services"
2613 msgstr ""
2614
2615 #. type: menuentry
2616 #: doc/guix.texi:256 doc/guix.texi:9718
2617 msgid "D-Bus and desktop services."
2618 msgstr ""
2619
2620 #. type: subsubsection
2621 #: doc/guix.texi:256 doc/guix.texi:9718 doc/guix.texi:12807 doc/guix.texi:12808
2622 #, no-wrap
2623 msgid "Database Services"
2624 msgstr ""
2625
2626 #. type: menuentry
2627 #: doc/guix.texi:256 doc/guix.texi:9718
2628 msgid "SQL databases, key-value stores, etc."
2629 msgstr ""
2630
2631 #. type: subsubsection
2632 #: doc/guix.texi:256 doc/guix.texi:9718 doc/guix.texi:12931 doc/guix.texi:12932
2633 #, no-wrap
2634 msgid "Mail Services"
2635 msgstr ""
2636
2637 #. type: menuentry
2638 #: doc/guix.texi:256 doc/guix.texi:9718
2639 msgid "IMAP, POP3, SMTP, and all that."
2640 msgstr ""
2641
2642 #. type: subsubsection
2643 #: doc/guix.texi:256 doc/guix.texi:9718 doc/guix.texi:14383 doc/guix.texi:14384
2644 #, no-wrap
2645 msgid "Messaging Services"
2646 msgstr ""
2647
2648 #. type: menuentry
2649 #: doc/guix.texi:256 doc/guix.texi:9718
2650 msgid "Messaging services."
2651 msgstr ""
2652
2653 #. type: subsubsection
2654 #: doc/guix.texi:256 doc/guix.texi:9718 doc/guix.texi:14851 doc/guix.texi:14852
2655 #, no-wrap
2656 msgid "Telephony Services"
2657 msgstr ""
2658
2659 #. type: menuentry
2660 #: doc/guix.texi:256 doc/guix.texi:9718
2661 msgid "Telephony services."
2662 msgstr ""
2663
2664 #. type: subsubsection
2665 #: doc/guix.texi:256 doc/guix.texi:9718 doc/guix.texi:15056 doc/guix.texi:15057
2666 #, no-wrap
2667 msgid "Monitoring Services"
2668 msgstr ""
2669
2670 #. type: menuentry
2671 #: doc/guix.texi:256 doc/guix.texi:9718
2672 msgid "Monitoring services."
2673 msgstr ""
2674
2675 #. type: subsubsection
2676 #: doc/guix.texi:256 doc/guix.texi:9718 doc/guix.texi:15209 doc/guix.texi:15210
2677 #, no-wrap
2678 msgid "Kerberos Services"
2679 msgstr ""
2680
2681 #. type: menuentry
2682 #: doc/guix.texi:256 doc/guix.texi:9718
2683 msgid "Kerberos services."
2684 msgstr ""
2685
2686 #. type: subsubsection
2687 #: doc/guix.texi:256 doc/guix.texi:9718 doc/guix.texi:15335 doc/guix.texi:15336
2688 #, no-wrap
2689 msgid "Web Services"
2690 msgstr ""
2691
2692 #. type: menuentry
2693 #: doc/guix.texi:256 doc/guix.texi:9718
2694 msgid "Web servers."
2695 msgstr ""
2696
2697 #. type: subsubsection
2698 #: doc/guix.texi:256 doc/guix.texi:9718 doc/guix.texi:15944 doc/guix.texi:15945
2699 #, no-wrap
2700 msgid "Certificate Services"
2701 msgstr ""
2702
2703 #. type: menuentry
2704 #: doc/guix.texi:256 doc/guix.texi:9718
2705 msgid "TLS certificates via Let's Encrypt."
2706 msgstr ""
2707
2708 #. type: subsubsection
2709 #: doc/guix.texi:256 doc/guix.texi:9718 doc/guix.texi:16090 doc/guix.texi:16091
2710 #, no-wrap
2711 msgid "DNS Services"
2712 msgstr ""
2713
2714 #. type: menuentry
2715 #: doc/guix.texi:256 doc/guix.texi:9718
2716 msgid "DNS daemons."
2717 msgstr ""
2718
2719 #. type: subsubsection
2720 #: doc/guix.texi:256 doc/guix.texi:9718 doc/guix.texi:16494 doc/guix.texi:16495
2721 #, no-wrap
2722 msgid "VPN Services"
2723 msgstr ""
2724
2725 #. type: menuentry
2726 #: doc/guix.texi:256 doc/guix.texi:9718
2727 msgid "VPN daemons."
2728 msgstr ""
2729
2730 #. type: subsubsection
2731 #: doc/guix.texi:256 doc/guix.texi:9718 doc/guix.texi:16852 doc/guix.texi:16853
2732 #, no-wrap
2733 msgid "Network File System"
2734 msgstr ""
2735
2736 #. type: menuentry
2737 #: doc/guix.texi:256 doc/guix.texi:9718
2738 msgid "NFS related services."
2739 msgstr ""
2740
2741 #. type: subsubsection
2742 #: doc/guix.texi:256 doc/guix.texi:9718 doc/guix.texi:16967 doc/guix.texi:16968
2743 #, no-wrap
2744 msgid "Continuous Integration"
2745 msgstr ""
2746
2747 #. type: menuentry
2748 #: doc/guix.texi:256 doc/guix.texi:9718
2749 msgid "The Cuirass service."
2750 msgstr ""
2751
2752 #. type: subsubsection
2753 #: doc/guix.texi:256 doc/guix.texi:9718 doc/guix.texi:17063 doc/guix.texi:17064
2754 #, no-wrap
2755 msgid "Power management Services"
2756 msgstr ""
2757
2758 #. type: menuentry
2759 #: doc/guix.texi:256 doc/guix.texi:9718
2760 msgid "The TLP tool."
2761 msgstr ""
2762
2763 #. type: subsubsection
2764 #: doc/guix.texi:256 doc/guix.texi:9718 doc/guix.texi:17591 doc/guix.texi:17592
2765 #, no-wrap
2766 msgid "Audio Services"
2767 msgstr ""
2768
2769 #. type: menuentry
2770 #: doc/guix.texi:256 doc/guix.texi:9718
2771 msgid "The MPD."
2772 msgstr ""
2773
2774 #. type: node
2775 #: doc/guix.texi:256 doc/guix.texi:9718 doc/guix.texi:17641
2776 #, no-wrap
2777 msgid "Virtualization Services"
2778 msgstr ""
2779
2780 #. type: menuentry
2781 #: doc/guix.texi:256 doc/guix.texi:9718
2782 msgid "Virtualization services."
2783 msgstr ""
2784
2785 #. type: subsubsection
2786 #: doc/guix.texi:256 doc/guix.texi:9718 doc/guix.texi:18434 doc/guix.texi:18435
2787 #, no-wrap
2788 msgid "Version Control Services"
2789 msgstr ""
2790
2791 #. type: menuentry
2792 #: doc/guix.texi:256 doc/guix.texi:9718
2793 msgid "Providing remote access to Git repositories."
2794 msgstr ""
2795
2796 #. type: subsubsection
2797 #: doc/guix.texi:256 doc/guix.texi:9718 doc/guix.texi:19528 doc/guix.texi:19529
2798 #, no-wrap
2799 msgid "Game Services"
2800 msgstr ""
2801
2802 #. type: menuentry
2803 #: doc/guix.texi:256 doc/guix.texi:9718
2804 msgid "Game servers."
2805 msgstr ""
2806
2807 #. type: subsubsection
2808 #: doc/guix.texi:256 doc/guix.texi:9718 doc/guix.texi:19559 doc/guix.texi:19560
2809 #, no-wrap
2810 msgid "Miscellaneous Services"
2811 msgstr ""
2812
2813 #. type: menuentry
2814 #: doc/guix.texi:256 doc/guix.texi:9718
2815 msgid "Other services."
2816 msgstr ""
2817
2818 #. type: subsubsection
2819 #: doc/guix.texi:263 doc/guix.texi:20846 doc/guix.texi:20848
2820 #: doc/guix.texi:20849
2821 #, no-wrap
2822 msgid "Service Composition"
2823 msgstr "Composition de services"
2824
2825 #. type: menuentry
2826 #: doc/guix.texi:263 doc/guix.texi:20846
2827 msgid "The model for composing services."
2828 msgstr "Le modèle de composition des services."
2829
2830 #. type: subsubsection
2831 #: doc/guix.texi:263 doc/guix.texi:20846 doc/guix.texi:20904
2832 #: doc/guix.texi:20905
2833 #, no-wrap
2834 msgid "Service Types and Services"
2835 msgstr "Types service et services"
2836
2837 #. type: menuentry
2838 #: doc/guix.texi:263 doc/guix.texi:20846
2839 msgid "Types and services."
2840 msgstr "Types et services."
2841
2842 #. type: subsubsection
2843 #: doc/guix.texi:263 doc/guix.texi:20846 doc/guix.texi:21041
2844 #: doc/guix.texi:21042
2845 #, no-wrap
2846 msgid "Service Reference"
2847 msgstr "Référence de service"
2848
2849 #. type: menuentry
2850 #: doc/guix.texi:263 doc/guix.texi:20846
2851 msgid "API reference."
2852 msgstr "Référence de l'API."
2853
2854 #. type: subsubsection
2855 #: doc/guix.texi:263 doc/guix.texi:20846 doc/guix.texi:21266
2856 #: doc/guix.texi:21267
2857 #, no-wrap
2858 msgid "Shepherd Services"
2859 msgstr "Services Shepherd"
2860
2861 #. type: menuentry
2862 #: doc/guix.texi:263 doc/guix.texi:20846
2863 msgid "A particular type of service."
2864 msgstr "Un type de service particulier."
2865
2866 #. type: subsection
2867 #: doc/guix.texi:274 doc/guix.texi:21730 doc/guix.texi:21732
2868 #: doc/guix.texi:21733
2869 #, no-wrap
2870 msgid "Software Freedom"
2871 msgstr "Liberté logiciel"
2872
2873 #. type: menuentry
2874 #: doc/guix.texi:274 doc/guix.texi:21730
2875 msgid "What may go into the distribution."
2876 msgstr "Ce que la distribution peut contenir."
2877
2878 #. type: subsection
2879 #: doc/guix.texi:274 doc/guix.texi:21730 doc/guix.texi:21760
2880 #: doc/guix.texi:21761
2881 #, no-wrap
2882 msgid "Package Naming"
2883 msgstr "Conventions de nommage"
2884
2885 #. type: menuentry
2886 #: doc/guix.texi:274 doc/guix.texi:21730
2887 msgid "What's in a name?"
2888 msgstr "Qu'est-ce qu'un bon nom ?"
2889
2890 #. type: subsection
2891 #: doc/guix.texi:274 doc/guix.texi:21730 doc/guix.texi:21785
2892 #: doc/guix.texi:21786
2893 #, no-wrap
2894 msgid "Version Numbers"
2895 msgstr "Numéros de version"
2896
2897 #. type: menuentry
2898 #: doc/guix.texi:274 doc/guix.texi:21730
2899 msgid "When the name is not enough."
2900 msgstr "Lorsque le nom n'est pas suffisant."
2901
2902 #. type: subsection
2903 #: doc/guix.texi:274 doc/guix.texi:21730 doc/guix.texi:21876
2904 #: doc/guix.texi:21877
2905 #, no-wrap
2906 msgid "Synopses and Descriptions"
2907 msgstr "Synopsis et descriptions"
2908
2909 #. type: menuentry
2910 #: doc/guix.texi:274 doc/guix.texi:21730
2911 msgid "Helping users find the right package."
2912 msgstr "Aider les utilisateurs à trouver le bon paquet."
2913
2914 #. type: subsection
2915 #: doc/guix.texi:274 doc/guix.texi:21730 doc/guix.texi:21956
2916 #: doc/guix.texi:21957
2917 #, no-wrap
2918 msgid "Python Modules"
2919 msgstr "Modules python"
2920
2921 #. type: menuentry
2922 #: doc/guix.texi:274 doc/guix.texi:21730
2923 msgid "A touch of British comedy."
2924 msgstr "Un peu de comédie anglaise."
2925
2926 #. type: subsection
2927 #: doc/guix.texi:274 doc/guix.texi:21730 doc/guix.texi:22031
2928 #: doc/guix.texi:22032
2929 #, no-wrap
2930 msgid "Perl Modules"
2931 msgstr "Modules perl"
2932
2933 #. type: menuentry
2934 #: doc/guix.texi:274 doc/guix.texi:21730
2935 msgid "Little pearls."
2936 msgstr "Petites perles."
2937
2938 #. type: subsection
2939 #: doc/guix.texi:274 doc/guix.texi:21730 doc/guix.texi:22047
2940 #: doc/guix.texi:22048
2941 #, no-wrap
2942 msgid "Java Packages"
2943 msgstr "Paquets java"
2944
2945 #. type: menuentry
2946 #: doc/guix.texi:274 doc/guix.texi:21730
2947 msgid "Coffee break."
2948 msgstr "Pause café."
2949
2950 #. type: subsection
2951 #: doc/guix.texi:274 doc/guix.texi:21730 doc/guix.texi:22067
2952 #: doc/guix.texi:22068
2953 #, no-wrap
2954 msgid "Fonts"
2955 msgstr "Polices de caractères"
2956
2957 #. type: menuentry
2958 #: doc/guix.texi:274 doc/guix.texi:21730
2959 msgid "Fond of fonts."
2960 msgstr ""
2961
2962 #. type: cindex
2963 #: doc/guix.texi:297
2964 #, no-wrap
2965 msgid "purpose"
2966 msgstr "but"
2967
2968 #. type: Plain text
2969 #: doc/guix.texi:304
2970 msgid ""
2971 "GNU Guix@footnote{``Guix'' is pronounced like ``geeks'', or ``ɡiːks'' using "
2972 "the international phonetic alphabet (IPA).} is a package management tool for "
2973 "the GNU system. Guix makes it easy for unprivileged users to install, "
2974 "upgrade, or remove packages, to roll back to a previous package set, to "
2975 "build packages from source, and generally assists with the creation and "
2976 "maintenance of software environments."
2977 msgstr ""
2978 "GNU Guix@footnote{« Guix » se prononce comme « geeks » (en prononçant le "
2979 "« s »), ou « ɡiːks » dans l'alphabet phonétique international (API).} est un "
2980 "outil de gestion de paquets pour le système GNU. Guix facilite pour les "
2981 "utilisateurs non privilégiés l'installation, la mise à jour et la "
2982 "suppression de paquets, la restauration à un ensemble de paquets précédent, "
2983 "la construction de paquets depuis les sources et plus généralement aide à la "
2984 "création et à la maintenance d'environnements logiciels."
2985
2986 #. type: cindex
2987 #: doc/guix.texi:305
2988 #, no-wrap
2989 msgid "user interfaces"
2990 msgstr "interfaces utilisateurs"
2991
2992 #. type: Plain text
2993 #: doc/guix.texi:310
2994 msgid ""
2995 "Guix provides a command-line package management interface (@pxref{Invoking "
2996 "guix package}), a set of command-line utilities (@pxref{Utilities}), as well "
2997 "as Scheme programming interfaces (@pxref{Programming Interface})."
2998 msgstr ""
2999 "Guix fournit une interface de gestion des paquets par la ligne de commande "
3000 "(@pxref{Invoquer guix package}), un ensemble d'utilitaires en ligne de "
3001 "commande (@pxref{Utilitaires}) ainsi que des interfaces de programmation "
3002 "Scheme (@pxref{Interface de programmation})."
3003
3004 #. type: cindex
3005 #: doc/guix.texi:310
3006 #, no-wrap
3007 msgid "build daemon"
3008 msgstr "démon de construction"
3009
3010 #. type: Plain text
3011 #: doc/guix.texi:314
3012 msgid ""
3013 "Its @dfn{build daemon} is responsible for building packages on behalf of "
3014 "users (@pxref{Setting Up the Daemon}) and for downloading pre-built binaries "
3015 "from authorized sources (@pxref{Substitutes})."
3016 msgstr ""
3017 "Son @dfn{démon de construction} est responsable de la construction des "
3018 "paquets pour les utilisateurs (@pxref{Paramétrer le démon}) et du "
3019 "téléchargement des binaires pré-construits depuis les sources autorisées "
3020 "(@pxref{Substituts})."
3021
3022 #. type: cindex
3023 #: doc/guix.texi:315
3024 #, no-wrap
3025 msgid "extensibility of the distribution"
3026 msgstr "extensibilité de la distribution"
3027
3028 #. type: cindex
3029 #: doc/guix.texi:316 doc/guix.texi:21623
3030 #, no-wrap
3031 msgid "customization, of packages"
3032 msgstr "personnalisation, des paquets"
3033
3034 #. type: Plain text
3035 #: doc/guix.texi:325
3036 msgid ""
3037 "Guix includes package definitions for many GNU and non-GNU packages, all of "
3038 "which @uref{https://www.gnu.org/philosophy/free-sw.html, respect the user's "
3039 "computing freedom}. It is @emph{extensible}: users can write their own "
3040 "package definitions (@pxref{Defining Packages}) and make them available as "
3041 "independent package modules (@pxref{Package Modules}). It is also "
3042 "@emph{customizable}: users can @emph{derive} specialized package definitions "
3043 "from existing ones, including from the command line (@pxref{Package "
3044 "Transformation Options})."
3045 msgstr ""
3046 "Guix contient de nombreuses définitions de paquet GNU et non-GNU qui "
3047 "respectent tous les @uref{https://www.gnu.org/philosophy/free-sw.fr.html, "
3048 "libertés de l'utilisateur}. Il est @emph{extensible} : les utilisateurs "
3049 "peuvent écrire leurs propres définitions de paquets (@pxref{Defining "
3050 "Packages}) et les rendre disponibles dans des modules de paquets "
3051 "indépendants (@pxref{Package Modules}). Il est aussi "
3052 "@emph{personnalisable} : les utilisateurs peuvent @emph{dériver} des "
3053 "définitions de paquets spécialisées à partir de définitions existantes, même "
3054 "depuis la ligne de commande (@pxref{Package Transformation Options})."
3055
3056 #. type: cindex
3057 #: doc/guix.texi:326 doc/guix.texi:7984 doc/guix.texi:8062
3058 #, no-wrap
3059 msgid "Guix System Distribution"
3060 msgstr "Distribution Système Guix"
3061
3062 #. type: cindex
3063 #: doc/guix.texi:327 doc/guix.texi:7985
3064 #, no-wrap
3065 msgid "GuixSD"
3066 msgstr "GuixSD"
3067
3068 #. type: Plain text
3069 #: doc/guix.texi:336
3070 msgid ""
3071 "You can install GNU@tie{}Guix on top of an existing GNU/Linux system where "
3072 "it complements the available tools without interference "
3073 "(@pxref{Installation}), or you can use it as part of the standalone "
3074 "@dfn{Guix System Distribution} or GuixSD (@pxref{GNU Distribution}). With "
3075 "GNU@tie{}GuixSD, you @emph{declare} all aspects of the operating system "
3076 "configuration and Guix takes care of instantiating the configuration in a "
3077 "transactional, reproducible, and stateless fashion (@pxref{System "
3078 "Configuration})."
3079 msgstr ""
3080 "Vous pouvez installer GNU@tie{}Guix sur un système GNU/Linux existant pour "
3081 "compléter les outils disponibles sans interférence (@pxref{Installation}) ou "
3082 "vous pouvez l'utiliser à travers la @dfn{Distribution Système Guix} ou "
3083 "GuixSD (@pxref{Distribution GNU}) distincte. Avec GNU@tie{}GuixSD, vous "
3084 "@emph{déclarez} tous les aspects de la configuration du système "
3085 "d'exploitation et Guix s'occupe de créer la configuration d'une manière "
3086 "transactionnelle, reproductible et sans état (@pxref{Configuration système})."
3087
3088 #. type: cindex
3089 #: doc/guix.texi:337
3090 #, no-wrap
3091 msgid "functional package management"
3092 msgstr "gestion de paquet fonctionnelle"
3093
3094 #. type: Plain text
3095 #: doc/guix.texi:352
3096 msgid ""
3097 "Under the hood, Guix implements the @dfn{functional package management} "
3098 "discipline pioneered by Nix (@pxref{Acknowledgments}). In Guix, the package "
3099 "build and installation process is seen as a @emph{function}, in the "
3100 "mathematical sense. That function takes inputs, such as build scripts, a "
3101 "compiler, and libraries, and returns an installed package. As a pure "
3102 "function, its result depends solely on its inputs---for instance, it cannot "
3103 "refer to software or scripts that were not explicitly passed as inputs. A "
3104 "build function always produces the same result when passed a given set of "
3105 "inputs. It cannot alter the environment of the running system in any way; "
3106 "for instance, it cannot create, modify, or delete files outside of its build "
3107 "and installation directories. This is achieved by running build processes "
3108 "in isolated environments (or @dfn{containers}), where only their explicit "
3109 "inputs are visible."
3110 msgstr ""
3111 "Sous le capot, Guix implémente la discipline de @dfn{gestion de paquet "
3112 "fonctionnel} inventé par Nix (@pxref{Remerciements}). Dans Guix le processus "
3113 "de construction et d'installation des paquets est vu comme une "
3114 "@emph{fonction} dans le sens mathématique du terme. Cette fonction a des "
3115 "entrées (comme des scripts de construction, un compilateur et des "
3116 "bibliothèques) et renvoie un paquet installé. En tant que fonction pure, son "
3117 "résultat ne dépend que de ses entrées. Par exemple, il ne peut pas faire "
3118 "référence à des logiciels ou des scripts qui n'ont pas été explicitement "
3119 "passés en entrée. Une fonction de construction produit toujours le même "
3120 "résultat quand on lui donne le même ensemble d'entrée. Elle ne peut pas "
3121 "modifier l'environnement du système en cours d'exécution d'aucune manière ; "
3122 "par exemple elle ne peut pas créer, modifier ou supprimer des fichiers en "
3123 "dehors de ses répertoires de construction et d'installation. Ce résultat "
3124 "s'obtient en lançant les processus de construction dans des environnements "
3125 "isolés (ou des @dfn{conteneurs}) où seules les entrées explicites sont "
3126 "visibles."
3127
3128 #. type: cindex
3129 #: doc/guix.texi:353 doc/guix.texi:4186
3130 #, no-wrap
3131 msgid "store"
3132 msgstr "dépôt"
3133
3134 #. type: Plain text
3135 #: doc/guix.texi:360
3136 msgid ""
3137 "The result of package build functions is @dfn{cached} in the file system, in "
3138 "a special directory called @dfn{the store} (@pxref{The Store}). Each "
3139 "package is installed in a directory of its own in the store---by default "
3140 "under @file{/gnu/store}. The directory name contains a hash of all the "
3141 "inputs used to build that package; thus, changing an input yields a "
3142 "different directory name."
3143 msgstr ""
3144 "Le résultat des fonctions de construction de paquets est mis en @dfn{cache} "
3145 "dans le système de fichier, dans répertoire spécial appelé le @dfn{dépôt} "
3146 "(@pxref{The Store}). Chaque paquet est installé dans son répertoire propre "
3147 "dans le dépôt — par défaut dans @file{/gnu/store}. Le nom du répertoire "
3148 "contient un hash de toutes les entrées utilisées pour construire le paquet ; "
3149 "ainsi, changer une entrée donnera un nom de répertoire différent."
3150
3151 #. type: Plain text
3152 #: doc/guix.texi:364
3153 msgid ""
3154 "This approach is the foundation for the salient features of Guix: support "
3155 "for transactional package upgrade and rollback, per-user installation, and "
3156 "garbage collection of packages (@pxref{Features})."
3157 msgstr ""
3158 "Cette approche est le fondement des fonctionnalités les plus importante de "
3159 "Guix : le support des mises à jour des paquets et des retours en arrière "
3160 "transactionnels, l'installation différenciée par utilisateur et le ramassage "
3161 "de miettes pour les paquets (@pxref{Fonctionnalités})."
3162
3163 #. type: cindex
3164 #: doc/guix.texi:370
3165 #, no-wrap
3166 msgid "installing Guix"
3167 msgstr "installer Guix"
3168
3169 #. type: Plain text
3170 #: doc/guix.texi:375
3171 msgid ""
3172 "GNU Guix is available for download from its website at @url{http://www.gnu."
3173 "org/software/guix/}. This section describes the software requirements of "
3174 "Guix, as well as how to install it and get ready to use it."
3175 msgstr ""
3176 "GNU Guix est disponible au téléchargement depuis son site web sur "
3177 "@url{http://www.gnu.org/software/guix/}. Cette section décrit les pré-requis "
3178 "logiciels de Guix ainsi que la manière de l'installer et de se préparer à "
3179 "l'utiliser."
3180
3181 #. type: Plain text
3182 #: doc/guix.texi:380
3183 msgid ""
3184 "Note that this section is concerned with the installation of the package "
3185 "manager, which can be done on top of a running GNU/Linux system. If, "
3186 "instead, you want to install the complete GNU operating system, "
3187 "@pxref{System Installation}."
3188 msgstr ""
3189 "Remarquez que cette section concerne l'installation du gestionnaire de "
3190 "paquet, ce qui se fait sur un système GNU/Linux en cours d'exécution. Si "
3191 "vous souhaitez plutôt installer le système d'exploitation GNU complet, "
3192 "@pxref{System Installation}."
3193
3194 #. type: cindex
3195 #: doc/guix.texi:381 doc/guix.texi:1444
3196 #, no-wrap
3197 msgid "foreign distro"
3198 msgstr "distro extérieure"
3199
3200 #. type: Plain text
3201 #: doc/guix.texi:387
3202 msgid ""
3203 "When installed on a running GNU/Linux system---thereafter called a "
3204 "@dfn{foreign distro}---GNU@tie{}Guix complements the available tools without "
3205 "interference. Its data lives exclusively in two directories, usually @file{/"
3206 "gnu/store} and @file{/var/guix}; other files on your system, such as @file{/"
3207 "etc}, are left untouched."
3208 msgstr ""
3209 "Lorsqu'il est installé sur an système GNU/Linux existant — ci-après nommé "
3210 "@dfn{distro extérieure} — GNU@tie{}Guix complète les outils disponibles sans "
3211 "interférence. Ses données se trouvent exclusivement dans deux répertoires, "
3212 "typiquement @file{/gnu/store} et @file{/var/guix} ; les autres fichiers de "
3213 "votre système comme @file{/etc} sont laissés intacts."
3214
3215 #. type: Plain text
3216 #: doc/guix.texi:390
3217 msgid ""
3218 "Once installed, Guix can be updated by running @command{guix pull} "
3219 "(@pxref{Invoking guix pull})."
3220 msgstr ""
3221 "Une fois installé, Guix peut être mis à jour en lançant @command{guix pull} "
3222 "(@pxref{Invoking guix pull})."
3223
3224 #. type: cindex
3225 #: doc/guix.texi:403
3226 #, no-wrap
3227 msgid "installing Guix from binaries"
3228 msgstr ""
3229
3230 #. type: Plain text
3231 #: doc/guix.texi:409
3232 msgid ""
3233 "This section describes how to install Guix on an arbitrary system from a "
3234 "self-contained tarball providing binaries for Guix and for all its "
3235 "dependencies. This is often quicker than installing from source, which is "
3236 "described in the next sections. The only requirement is to have GNU@tie{}"
3237 "tar and Xz."
3238 msgstr ""
3239
3240 #. type: Plain text
3241 #: doc/guix.texi:414
3242 msgid ""
3243 "We provide a @uref{https://git.savannah.gnu.org/cgit/guix.git/plain/etc/guix-"
3244 "install.sh, shell installer script}, which automates the download, "
3245 "installation, and initial configuration of Guix. It should be run as the "
3246 "root user."
3247 msgstr ""
3248
3249 #. type: Plain text
3250 #: doc/guix.texi:416
3251 msgid "Installing goes along these lines:"
3252 msgstr ""
3253
3254 #. type: cindex
3255 #: doc/guix.texi:419
3256 #, no-wrap
3257 msgid "downloading Guix binary"
3258 msgstr ""
3259
3260 #. type: enumerate
3261 #: doc/guix.texi:424
3262 msgid ""
3263 "Download the binary tarball from @indicateurl{ftp://alpha.gnu.org/gnu/guix/"
3264 "guix-binary-@value{VERSION}.@var{system}.tar.xz}, where @var{system} is "
3265 "@code{x86_64-linux} for an @code{x86_64} machine already running the kernel "
3266 "Linux, and so on."
3267 msgstr ""
3268
3269 #. type: enumerate
3270 #: doc/guix.texi:428
3271 msgid ""
3272 "Make sure to download the associated @file{.sig} file and to verify the "
3273 "authenticity of the tarball against it, along these lines:"
3274 msgstr ""
3275
3276 #. type: example
3277 #: doc/guix.texi:432
3278 #, no-wrap
3279 msgid ""
3280 "$ wget ftp://alpha.gnu.org/gnu/guix/guix-binary-@value{VERSION}.@var{system}.tar.xz.sig\n"
3281 "$ gpg --verify guix-binary-@value{VERSION}.@var{system}.tar.xz.sig\n"
3282 msgstr ""
3283
3284 #. type: Plain text
3285 #: doc/guix.texi:436 doc/guix.texi:8198
3286 msgid ""
3287 "If that command fails because you do not have the required public key, then "
3288 "run this command to import it:"
3289 msgstr ""
3290
3291 #. type: example
3292 #: doc/guix.texi:439 doc/guix.texi:8201
3293 #, no-wrap
3294 msgid "$ gpg --keyserver pgp.mit.edu --recv-keys @value{OPENPGP-SIGNING-KEY-ID}\n"
3295 msgstr ""
3296
3297 #. type: Plain text
3298 #: doc/guix.texi:444 doc/guix.texi:8206
3299 msgid "and rerun the @code{gpg --verify} command."
3300 msgstr ""
3301
3302 #. type: enumerate
3303 #: doc/guix.texi:448
3304 msgid ""
3305 "Now, you need to become the @code{root} user. Depending on your "
3306 "distribution, you may have to run @code{su -} or @code{sudo -i}. As "
3307 "@code{root}, run:"
3308 msgstr ""
3309
3310 #. type: example
3311 #: doc/guix.texi:454
3312 #, no-wrap
3313 msgid ""
3314 "# cd /tmp\n"
3315 "# tar --warning=no-timestamp -xf \\\n"
3316 " guix-binary-@value{VERSION}.@var{system}.tar.xz\n"
3317 "# mv var/guix /var/ && mv gnu /\n"
3318 msgstr ""
3319
3320 #. type: enumerate
3321 #: doc/guix.texi:459
3322 msgid ""
3323 "This creates @file{/gnu/store} (@pxref{The Store}) and @file{/var/guix}. "
3324 "The latter contains a ready-to-use profile for @code{root} (see next step.)"
3325 msgstr ""
3326
3327 #. type: enumerate
3328 #: doc/guix.texi:462
3329 msgid ""
3330 "Do @emph{not} unpack the tarball on a working Guix system since that would "
3331 "overwrite its own essential files."
3332 msgstr ""
3333
3334 #. type: enumerate
3335 #: doc/guix.texi:472
3336 msgid ""
3337 "The @code{--warning=no-timestamp} option makes sure GNU@tie{}tar does not "
3338 "emit warnings about ``implausibly old time stamps'' (such warnings were "
3339 "triggered by GNU@tie{}tar 1.26 and older; recent versions are fine.) They "
3340 "stem from the fact that all the files in the archive have their modification "
3341 "time set to zero (which means January 1st, 1970.) This is done on purpose "
3342 "to make sure the archive content is independent of its creation time, thus "
3343 "making it reproducible."
3344 msgstr ""
3345
3346 #. type: enumerate
3347 #: doc/guix.texi:475
3348 msgid "Make @code{root}'s profile available under @file{~root/.guix-profile}:"
3349 msgstr ""
3350
3351 #. type: example
3352 #: doc/guix.texi:479
3353 #, no-wrap
3354 msgid ""
3355 "# ln -sf /var/guix/profiles/per-user/root/guix-profile \\\n"
3356 " ~root/.guix-profile\n"
3357 msgstr ""
3358
3359 #. type: enumerate
3360 #: doc/guix.texi:483
3361 msgid ""
3362 "Source @file{etc/profile} to augment @code{PATH} and other relevant "
3363 "environment variables:"
3364 msgstr ""
3365
3366 #. type: example
3367 #: doc/guix.texi:487
3368 #, no-wrap
3369 msgid ""
3370 "# GUIX_PROFILE=\"`echo ~root`/.guix-profile\" ; \\\n"
3371 " source $GUIX_PROFILE/etc/profile\n"
3372 msgstr ""
3373
3374 #. type: enumerate
3375 #: doc/guix.texi:492
3376 msgid ""
3377 "Create the group and user accounts for build users as explained below "
3378 "(@pxref{Build Environment Setup})."
3379 msgstr ""
3380
3381 #. type: enumerate
3382 #: doc/guix.texi:495
3383 msgid "Run the daemon, and set it to automatically start on boot."
3384 msgstr ""
3385
3386 #. type: enumerate
3387 #: doc/guix.texi:498
3388 msgid ""
3389 "If your host distro uses the systemd init system, this can be achieved with "
3390 "these commands:"
3391 msgstr ""
3392
3393 #. type: example
3394 #: doc/guix.texi:510
3395 #, no-wrap
3396 msgid ""
3397 "# cp ~root/.guix-profile/lib/systemd/system/guix-daemon.service \\\n"
3398 " /etc/systemd/system/\n"
3399 "# systemctl start guix-daemon && systemctl enable guix-daemon\n"
3400 msgstr ""
3401
3402 #. type: itemize
3403 #: doc/guix.texi:513 doc/guix.texi:7635
3404 msgid "If your host distro uses the Upstart init system:"
3405 msgstr ""
3406
3407 #. type: example
3408 #: doc/guix.texi:518
3409 #, no-wrap
3410 msgid ""
3411 "# initctl reload-configuration\n"
3412 "# cp ~root/.guix-profile/lib/upstart/system/guix-daemon.conf /etc/init/\n"
3413 "# start guix-daemon\n"
3414 msgstr ""
3415
3416 #. type: enumerate
3417 #: doc/guix.texi:521
3418 msgid "Otherwise, you can still start the daemon manually with:"
3419 msgstr ""
3420
3421 #. type: example
3422 #: doc/guix.texi:524
3423 #, no-wrap
3424 msgid "# ~root/.guix-profile/bin/guix-daemon --build-users-group=guixbuild\n"
3425 msgstr ""
3426
3427 #. type: enumerate
3428 #: doc/guix.texi:529
3429 msgid ""
3430 "Make the @command{guix} command available to other users on the machine, for "
3431 "instance with:"
3432 msgstr ""
3433
3434 #. type: example
3435 #: doc/guix.texi:534
3436 #, no-wrap
3437 msgid ""
3438 "# mkdir -p /usr/local/bin\n"
3439 "# cd /usr/local/bin\n"
3440 "# ln -s /var/guix/profiles/per-user/root/guix-profile/bin/guix\n"
3441 msgstr ""
3442
3443 #. type: enumerate
3444 #: doc/guix.texi:538
3445 msgid ""
3446 "It is also a good idea to make the Info version of this manual available "
3447 "there:"
3448 msgstr ""
3449
3450 #. type: example
3451 #: doc/guix.texi:544
3452 #, no-wrap
3453 msgid ""
3454 "# mkdir -p /usr/local/share/info\n"
3455 "# cd /usr/local/share/info\n"
3456 "# for i in /var/guix/profiles/per-user/root/guix-profile/share/info/* ;\n"
3457 " do ln -s $i ; done\n"
3458 msgstr ""
3459
3460 #. type: enumerate
3461 #: doc/guix.texi:550
3462 msgid ""
3463 "That way, assuming @file{/usr/local/share/info} is in the search path, "
3464 "running @command{info guix} will open this manual (@pxref{Other Info "
3465 "Directories,,, texinfo, GNU Texinfo}, for more details on changing the Info "
3466 "search path.)"
3467 msgstr ""
3468
3469 #. type: cindex
3470 #: doc/guix.texi:552 doc/guix.texi:2304 doc/guix.texi:10194
3471 #, no-wrap
3472 msgid "substitutes, authorization thereof"
3473 msgstr ""
3474
3475 #. type: enumerate
3476 #: doc/guix.texi:555
3477 msgid ""
3478 "To use substitutes from @code{hydra.gnu.org} or one of its mirrors "
3479 "(@pxref{Substitutes}), authorize them:"
3480 msgstr ""
3481 "Pour utiliser les substituts de @code{hydra.gnu.org} ou l'un de ses mirroirs "
3482 "(@pxref{Substituts}), autorisez-les :"
3483
3484 #. type: example
3485 #: doc/guix.texi:558
3486 #, no-wrap
3487 msgid "# guix archive --authorize < ~root/.guix-profile/share/guix/hydra.gnu.org.pub\n"
3488 msgstr ""
3489
3490 #. type: enumerate
3491 #: doc/guix.texi:563
3492 msgid ""
3493 "Each user may need to perform a few additional steps to make their Guix "
3494 "environment ready for use, @pxref{Application Setup}."
3495 msgstr ""
3496
3497 #. type: Plain text
3498 #: doc/guix.texi:566
3499 msgid "Voilà, the installation is complete!"
3500 msgstr ""
3501
3502 #. type: Plain text
3503 #: doc/guix.texi:569
3504 msgid ""
3505 "You can confirm that Guix is working by installing a sample package into the "
3506 "root profile:"
3507 msgstr ""
3508
3509 #. type: example
3510 #: doc/guix.texi:572
3511 #, no-wrap
3512 msgid "# guix package -i hello\n"
3513 msgstr ""
3514
3515 #. type: Plain text
3516 #: doc/guix.texi:579
3517 msgid ""
3518 "The @code{guix} package must remain available in @code{root}'s profile, or "
3519 "it would become subject to garbage collection---in which case you would find "
3520 "yourself badly handicapped by the lack of the @command{guix} command. In "
3521 "other words, do not remove @code{guix} by running @code{guix package -r "
3522 "guix}."
3523 msgstr ""
3524
3525 #. type: Plain text
3526 #: doc/guix.texi:582
3527 msgid ""
3528 "The binary installation tarball can be (re)produced and verified simply by "
3529 "running the following command in the Guix source tree:"
3530 msgstr ""
3531
3532 #. type: example
3533 #: doc/guix.texi:585
3534 #, no-wrap
3535 msgid "make guix-binary.@var{system}.tar.xz\n"
3536 msgstr ""
3537
3538 #. type: Plain text
3539 #: doc/guix.texi:589
3540 msgid "... which, in turn, runs:"
3541 msgstr ""
3542
3543 #. type: example
3544 #: doc/guix.texi:592
3545 #, no-wrap
3546 msgid "guix pack -s @var{system} --localstatedir guix\n"
3547 msgstr ""
3548
3549 #. type: Plain text
3550 #: doc/guix.texi:595
3551 msgid "@xref{Invoking guix pack}, for more info on this handy tool."
3552 msgstr ""
3553
3554 #. type: Plain text
3555 #: doc/guix.texi:603
3556 msgid ""
3557 "This section lists requirements when building Guix from source. The build "
3558 "procedure for Guix is the same as for other GNU software, and is not covered "
3559 "here. Please see the files @file{README} and @file{INSTALL} in the Guix "
3560 "source tree for additional details."
3561 msgstr ""
3562
3563 #. type: Plain text
3564 #: doc/guix.texi:605
3565 msgid "GNU Guix depends on the following packages:"
3566 msgstr ""
3567
3568 #. type: item
3569 #: doc/guix.texi:607
3570 #, no-wrap
3571 msgid "@url{http://gnu.org/software/guile/, GNU Guile}, version 2.0.13 or"
3572 msgstr ""
3573
3574 #. type: itemize
3575 #: doc/guix.texi:609
3576 msgid "later, including 2.2.x;"
3577 msgstr ""
3578
3579 #. type: item
3580 #: doc/guix.texi:609
3581 #, no-wrap
3582 msgid "@url{http://gnupg.org/, GNU libgcrypt};"
3583 msgstr ""
3584
3585 #. type: itemize
3586 #: doc/guix.texi:614
3587 msgid ""
3588 "@uref{http://gnutls.org/, GnuTLS}, specifically its Guile bindings "
3589 "(@pxref{Guile Preparations, how to install the GnuTLS bindings for Guile,, "
3590 "gnutls-guile, GnuTLS-Guile});"
3591 msgstr ""
3592
3593 #. type: itemize
3594 #: doc/guix.texi:618
3595 msgid ""
3596 "@uref{https://gitlab.com/guile-git/guile-git, Guile-Git}, from August 2017 "
3597 "or later;"
3598 msgstr ""
3599
3600 #. type: item
3601 #: doc/guix.texi:618
3602 #, no-wrap
3603 msgid "@url{http://zlib.net, zlib};"
3604 msgstr ""
3605
3606 #. type: item
3607 #: doc/guix.texi:619
3608 #, no-wrap
3609 msgid "@url{http://www.gnu.org/software/make/, GNU Make}."
3610 msgstr ""
3611
3612 #. type: Plain text
3613 #: doc/guix.texi:623
3614 msgid "The following dependencies are optional:"
3615 msgstr ""
3616
3617 #. type: itemize
3618 #: doc/guix.texi:631
3619 msgid ""
3620 "Installing @url{http://savannah.nongnu.org/projects/guile-json/, Guile-JSON} "
3621 "will allow you to use the @command{guix import pypi} command "
3622 "(@pxref{Invoking guix import}). It is of interest primarily for developers "
3623 "and not for casual users."
3624 msgstr ""
3625
3626 #. type: itemize
3627 #: doc/guix.texi:638
3628 msgid ""
3629 "Support for build offloading (@pxref{Daemon Offload Setup}) and "
3630 "@command{guix copy} (@pxref{Invoking guix copy}) depends on @uref{https://"
3631 "github.com/artyom-poptsov/guile-ssh, Guile-SSH}, version 0.10.2 or later."
3632 msgstr ""
3633
3634 #. type: itemize
3635 #: doc/guix.texi:642
3636 msgid ""
3637 "When @url{http://www.bzip.org, libbz2} is available, @command{guix-daemon} "
3638 "can use it to compress build logs."
3639 msgstr ""
3640
3641 #. type: Plain text
3642 #: doc/guix.texi:646
3643 msgid ""
3644 "Unless @code{--disable-daemon} was passed to @command{configure}, the "
3645 "following packages are also needed:"
3646 msgstr ""
3647
3648 #. type: item
3649 #: doc/guix.texi:648
3650 #, no-wrap
3651 msgid "@url{http://sqlite.org, SQLite 3};"
3652 msgstr ""
3653
3654 #. type: item
3655 #: doc/guix.texi:649
3656 #, no-wrap
3657 msgid "@url{http://gcc.gnu.org, GCC's g++}, with support for the"
3658 msgstr ""
3659
3660 #. type: itemize
3661 #: doc/guix.texi:651
3662 msgid "C++11 standard."
3663 msgstr ""
3664
3665 #. type: cindex
3666 #: doc/guix.texi:653
3667 #, no-wrap
3668 msgid "state directory"
3669 msgstr ""
3670
3671 #. type: Plain text
3672 #: doc/guix.texi:661
3673 msgid ""
3674 "When configuring Guix on a system that already has a Guix installation, be "
3675 "sure to specify the same state directory as the existing installation using "
3676 "the @code{--localstatedir} option of the @command{configure} script "
3677 "(@pxref{Directory Variables, @code{localstatedir},, standards, GNU Coding "
3678 "Standards}). The @command{configure} script protects against unintended "
3679 "misconfiguration of @var{localstatedir} so you do not inadvertently corrupt "
3680 "your store (@pxref{The Store})."
3681 msgstr ""
3682
3683 #. type: cindex
3684 #: doc/guix.texi:662
3685 #, no-wrap
3686 msgid "Nix, compatibility"
3687 msgstr ""
3688
3689 #. type: Plain text
3690 #: doc/guix.texi:667
3691 msgid ""
3692 "When a working installation of @url{http://nixos.org/nix/, the Nix package "
3693 "manager} is available, you can instead configure Guix with @code{--disable-"
3694 "daemon}. In that case, Nix replaces the three dependencies above."
3695 msgstr ""
3696
3697 #. type: Plain text
3698 #: doc/guix.texi:677
3699 msgid ""
3700 "Guix is compatible with Nix, so it is possible to share the same store "
3701 "between both. To do so, you must pass @command{configure} not only the same "
3702 "@code{--with-store-dir} value, but also the same @code{--localstatedir} "
3703 "value. The latter is essential because it specifies where the database that "
3704 "stores metadata about the store is located, among other things. The default "
3705 "values for Nix are @code{--with-store-dir=/nix/store} and @code{--"
3706 "localstatedir=/nix/var}. Note that @code{--disable-daemon} is not required "
3707 "if your goal is to share the store with Nix."
3708 msgstr ""
3709
3710 #. type: cindex
3711 #: doc/guix.texi:681
3712 #, no-wrap
3713 msgid "test suite"
3714 msgstr ""
3715
3716 #. type: Plain text
3717 #: doc/guix.texi:687
3718 msgid ""
3719 "After a successful @command{configure} and @code{make} run, it is a good "
3720 "idea to run the test suite. It can help catch issues with the setup or "
3721 "environment, or bugs in Guix itself---and really, reporting test failures is "
3722 "a good way to help improve the software. To run the test suite, type:"
3723 msgstr ""
3724
3725 #. type: example
3726 #: doc/guix.texi:690
3727 #, no-wrap
3728 msgid "make check\n"
3729 msgstr ""
3730
3731 #. type: Plain text
3732 #: doc/guix.texi:697
3733 msgid ""
3734 "Test cases can run in parallel: you can use the @code{-j} option of GNU@tie{}"
3735 "make to speed things up. The first run may take a few minutes on a recent "
3736 "machine; subsequent runs will be faster because the store that is created "
3737 "for test purposes will already have various things in cache."
3738 msgstr ""
3739
3740 #. type: Plain text
3741 #: doc/guix.texi:700
3742 msgid ""
3743 "It is also possible to run a subset of the tests by defining the "
3744 "@code{TESTS} makefile variable as in this example:"
3745 msgstr ""
3746
3747 #. type: example
3748 #: doc/guix.texi:703
3749 #, no-wrap
3750 msgid "make check TESTS=\"tests/store.scm tests/cpio.scm\"\n"
3751 msgstr ""
3752
3753 #. type: Plain text
3754 #: doc/guix.texi:708
3755 msgid ""
3756 "By default, tests results are displayed at a file level. In order to see "
3757 "the details of every individual test cases, it is possible to define the "
3758 "@code{SCM_LOG_DRIVER_FLAGS} makefile variable as in this example:"
3759 msgstr ""
3760
3761 #. type: example
3762 #: doc/guix.texi:711
3763 #, no-wrap
3764 msgid "make check TESTS=\"tests/base64.scm\" SCM_LOG_DRIVER_FLAGS=\"--brief=no\"\n"
3765 msgstr ""
3766
3767 #. type: Plain text
3768 #: doc/guix.texi:717
3769 msgid ""
3770 "Upon failure, please email @email{bug-guix@@gnu.org} and attach the "
3771 "@file{test-suite.log} file. Please specify the Guix version being used as "
3772 "well as version numbers of the dependencies (@pxref{Requirements}) in your "
3773 "message."
3774 msgstr ""
3775
3776 #. type: Plain text
3777 #: doc/guix.texi:721
3778 msgid ""
3779 "Guix also comes with a whole-system test suite that tests complete GuixSD "
3780 "operating system instances. It can only run on systems where Guix is "
3781 "already installed, using:"
3782 msgstr ""
3783
3784 #. type: example
3785 #: doc/guix.texi:724
3786 #, no-wrap
3787 msgid "make check-system\n"
3788 msgstr ""
3789
3790 #. type: Plain text
3791 #: doc/guix.texi:728
3792 msgid "or, again, by defining @code{TESTS} to select a subset of tests to run:"
3793 msgstr ""
3794
3795 #. type: example
3796 #: doc/guix.texi:731
3797 #, no-wrap
3798 msgid "make check-system TESTS=\"basic mcron\"\n"
3799 msgstr ""
3800
3801 #. type: Plain text
3802 #: doc/guix.texi:739
3803 msgid ""
3804 "These system tests are defined in the @code{(gnu tests @dots{})} modules. "
3805 "They work by running the operating systems under test with lightweight "
3806 "instrumentation in a virtual machine (VM). They can be computationally "
3807 "intensive or rather cheap, depending on whether substitutes are available "
3808 "for their dependencies (@pxref{Substitutes}). Some of them require a lot of "
3809 "storage space to hold VM images."
3810 msgstr ""
3811 "Ces tests systèmes sont définis dans les modules @code{(gnu tests @dots{})}. "
3812 "Ils fonctionnent en lançant les systèmes d'exploitation sous test avec une "
3813 "instrumentation légère dans une machine virtuelle (VM). Ils peuvent être "
3814 "intenses en terme de calculs ou plutôt rapides en fonction de la "
3815 "disponibilité des substituts de leurs dépendances (@pxref{Substituts}). "
3816 "Certains requièrent beaucoup d'espace disque pour contenir les images des VM."
3817
3818 #. type: Plain text
3819 #: doc/guix.texi:742
3820 msgid ""
3821 "Again in case of test failures, please send @email{bug-guix@@gnu.org} all "
3822 "the details."
3823 msgstr ""
3824
3825 #. type: cindex
3826 #: doc/guix.texi:746
3827 #, no-wrap
3828 msgid "daemon"
3829 msgstr ""
3830
3831 #. type: Plain text
3832 #: doc/guix.texi:754
3833 msgid ""
3834 "Operations such as building a package or running the garbage collector are "
3835 "all performed by a specialized process, the @dfn{build daemon}, on behalf of "
3836 "clients. Only the daemon may access the store and its associated database. "
3837 "Thus, any operation that manipulates the store goes through the daemon. For "
3838 "instance, command-line tools such as @command{guix package} and "
3839 "@command{guix build} communicate with the daemon (@i{via} remote procedure "
3840 "calls) to instruct it what to do."
3841 msgstr ""
3842
3843 #. type: Plain text
3844 #: doc/guix.texi:758
3845 msgid ""
3846 "The following sections explain how to prepare the build daemon's "
3847 "environment. See also @ref{Substitutes}, for information on how to allow "
3848 "the daemon to download pre-built binaries."
3849 msgstr ""
3850 "Les sections suivantes expliquent comment préparer l'environnement du démon "
3851 "de construction. Voir aussi @ref{Substituts} pour apprendre comment "
3852 "permettre le téléchargement de binaires pré-construits."
3853
3854 #. type: cindex
3855 #: doc/guix.texi:768 doc/guix.texi:1193
3856 #, no-wrap
3857 msgid "build environment"
3858 msgstr ""
3859
3860 #. type: Plain text
3861 #: doc/guix.texi:776
3862 msgid ""
3863 "In a standard multi-user setup, Guix and its daemon---the @command{guix-"
3864 "daemon} program---are installed by the system administrator; @file{/gnu/"
3865 "store} is owned by @code{root} and @command{guix-daemon} runs as "
3866 "@code{root}. Unprivileged users may use Guix tools to build packages or "
3867 "otherwise access the store, and the daemon will do it on their behalf, "
3868 "ensuring that the store is kept in a consistent state, and allowing built "
3869 "packages to be shared among users."
3870 msgstr ""
3871
3872 #. type: cindex
3873 #: doc/guix.texi:777
3874 #, no-wrap
3875 msgid "build users"
3876 msgstr ""
3877
3878 #. type: Plain text
3879 #: doc/guix.texi:788
3880 msgid ""
3881 "When @command{guix-daemon} runs as @code{root}, you may not want package "
3882 "build processes themselves to run as @code{root} too, for obvious security "
3883 "reasons. To avoid that, a special pool of @dfn{build users} should be "
3884 "created for use by build processes started by the daemon. These build users "
3885 "need not have a shell and a home directory: they will just be used when the "
3886 "daemon drops @code{root} privileges in build processes. Having several such "
3887 "users allows the daemon to launch distinct build processes under separate "
3888 "UIDs, which guarantees that they do not interfere with each other---an "
3889 "essential feature since builds are regarded as pure functions "
3890 "(@pxref{Introduction})."
3891 msgstr ""
3892
3893 #. type: Plain text
3894 #: doc/guix.texi:791
3895 msgid ""
3896 "On a GNU/Linux system, a build user pool may be created like this (using "
3897 "Bash syntax and the @code{shadow} commands):"
3898 msgstr ""
3899
3900 #. type: example
3901 #: doc/guix.texi:803
3902 #, no-wrap
3903 msgid ""
3904 "# groupadd --system guixbuild\n"
3905 "# for i in `seq -w 1 10`;\n"
3906 " do\n"
3907 " useradd -g guixbuild -G guixbuild \\\n"
3908 " -d /var/empty -s `which nologin` \\\n"
3909 " -c \"Guix build user $i\" --system \\\n"
3910 " guixbuilder$i;\n"
3911 " done\n"
3912 msgstr ""
3913
3914 #. type: Plain text
3915 #: doc/guix.texi:813
3916 msgid ""
3917 "The number of build users determines how many build jobs may run in "
3918 "parallel, as specified by the @option{--max-jobs} option (@pxref{Invoking "
3919 "guix-daemon, @option{--max-jobs}}). To use @command{guix system vm} and "
3920 "related commands, you may need to add the build users to the @code{kvm} "
3921 "group so they can access @file{/dev/kvm}, using @code{-G guixbuild,kvm} "
3922 "instead of @code{-G guixbuild} (@pxref{Invoking guix system})."
3923 msgstr ""
3924
3925 #. type: Plain text
3926 #: doc/guix.texi:822
3927 msgid ""
3928 "The @code{guix-daemon} program may then be run as @code{root} with the "
3929 "following command@footnote{If your machine uses the systemd init system, "
3930 "dropping the @file{@var{prefix}/lib/systemd/system/guix-daemon.service} file "
3931 "in @file{/etc/systemd/system} will ensure that @command{guix-daemon} is "
3932 "automatically started. Similarly, if your machine uses the Upstart init "
3933 "system, drop the @file{@var{prefix}/lib/upstart/system/guix-daemon.conf} "
3934 "file in @file{/etc/init}.}:"
3935 msgstr ""
3936
3937 #. type: example
3938 #: doc/guix.texi:825 doc/guix.texi:1186
3939 #, no-wrap
3940 msgid "# guix-daemon --build-users-group=guixbuild\n"
3941 msgstr ""
3942
3943 #. type: cindex
3944 #: doc/guix.texi:827 doc/guix.texi:1191
3945 #, no-wrap
3946 msgid "chroot"
3947 msgstr ""
3948
3949 #. type: Plain text
3950 #: doc/guix.texi:832
3951 msgid ""
3952 "This way, the daemon starts build processes in a chroot, under one of the "
3953 "@code{guixbuilder} users. On GNU/Linux, by default, the chroot environment "
3954 "contains nothing but:"
3955 msgstr ""
3956
3957 #. type: itemize
3958 #: doc/guix.texi:840
3959 msgid ""
3960 "a minimal @code{/dev} directory, created mostly independently from the host "
3961 "@code{/dev}@footnote{``Mostly'', because while the set of files that appear "
3962 "in the chroot's @code{/dev} is fixed, most of these files can only be "
3963 "created if the host has them.};"
3964 msgstr ""
3965
3966 #. type: itemize
3967 #: doc/guix.texi:844
3968 msgid ""
3969 "the @code{/proc} directory; it only shows the processes of the container "
3970 "since a separate PID name space is used;"
3971 msgstr ""
3972
3973 #. type: itemize
3974 #: doc/guix.texi:848
3975 msgid ""
3976 "@file{/etc/passwd} with an entry for the current user and an entry for user "
3977 "@file{nobody};"
3978 msgstr ""
3979
3980 #. type: itemize
3981 #: doc/guix.texi:851
3982 msgid "@file{/etc/group} with an entry for the user's group;"
3983 msgstr ""
3984
3985 #. type: itemize
3986 #: doc/guix.texi:855
3987 msgid ""
3988 "@file{/etc/hosts} with an entry that maps @code{localhost} to "
3989 "@code{127.0.0.1};"
3990 msgstr ""
3991
3992 #. type: itemize
3993 #: doc/guix.texi:858
3994 msgid "a writable @file{/tmp} directory."
3995 msgstr ""
3996
3997 #. type: Plain text
3998 #: doc/guix.texi:867
3999 msgid ""
4000 "You can influence the directory where the daemon stores build trees @i{via} "
4001 "the @code{TMPDIR} environment variable. However, the build tree within the "
4002 "chroot is always called @file{/tmp/guix-build-@var{name}.drv-0}, where "
4003 "@var{name} is the derivation name---e.g., @code{coreutils-8.24}. This way, "
4004 "the value of @code{TMPDIR} does not leak inside build environments, which "
4005 "avoids discrepancies in cases where build processes capture the name of "
4006 "their build tree."
4007 msgstr ""
4008
4009 #. type: vindex
4010 #: doc/guix.texi:868 doc/guix.texi:2411
4011 #, no-wrap
4012 msgid "http_proxy"
4013 msgstr ""
4014
4015 #. type: Plain text
4016 #: doc/guix.texi:872
4017 msgid ""
4018 "The daemon also honors the @code{http_proxy} environment variable for HTTP "
4019 "downloads it performs, be it for fixed-output derivations "
4020 "(@pxref{Derivations}) or for substitutes (@pxref{Substitutes})."
4021 msgstr ""
4022 "Le démon tient aussi compte de la variable d'environnement @code{http_proxy} "
4023 "pour ses téléchargements HTTP, que ce soit pour les dérivations à sortie "
4024 "fixes (@pxref{Derivations}) ou pour les substituts (@pxref{Substituts})."
4025
4026 #. type: Plain text
4027 #: doc/guix.texi:880
4028 msgid ""
4029 "If you are installing Guix as an unprivileged user, it is still possible to "
4030 "run @command{guix-daemon} provided you pass @code{--disable-chroot}. "
4031 "However, build processes will not be isolated from one another, and not from "
4032 "the rest of the system. Thus, build processes may interfere with each "
4033 "other, and may access programs, libraries, and other files available on the "
4034 "system---making it much harder to view them as @emph{pure} functions."
4035 msgstr ""
4036
4037 #. type: subsection
4038 #: doc/guix.texi:883
4039 #, no-wrap
4040 msgid "Using the Offload Facility"
4041 msgstr ""
4042
4043 #. type: cindex
4044 #: doc/guix.texi:885
4045 #, no-wrap
4046 msgid "offloading"
4047 msgstr ""
4048
4049 #. type: cindex
4050 #: doc/guix.texi:886 doc/guix.texi:1247
4051 #, no-wrap
4052 msgid "build hook"
4053 msgstr ""
4054
4055 #. type: Plain text
4056 #: doc/guix.texi:900
4057 msgid ""
4058 "When desired, the build daemon can @dfn{offload} derivation builds to other "
4059 "machines running Guix, using the @code{offload} @dfn{build hook}"
4060 "@footnote{This feature is available only when @uref{https://github.com/"
4061 "artyom-poptsov/guile-ssh, Guile-SSH} is present.}. When that feature is "
4062 "enabled, a list of user-specified build machines is read from @file{/etc/"
4063 "guix/machines.scm}; every time a build is requested, for instance via "
4064 "@code{guix build}, the daemon attempts to offload it to one of the machines "
4065 "that satisfy the constraints of the derivation, in particular its system "
4066 "type---e.g., @file{x86_64-linux}. Missing prerequisites for the build are "
4067 "copied over SSH to the target machine, which then proceeds with the build; "
4068 "upon success the output(s) of the build are copied back to the initial "
4069 "machine."
4070 msgstr ""
4071
4072 #. type: Plain text
4073 #: doc/guix.texi:902
4074 msgid "The @file{/etc/guix/machines.scm} file typically looks like this:"
4075 msgstr ""
4076
4077 #. type: example
4078 #: doc/guix.texi:910
4079 #, no-wrap
4080 msgid ""
4081 "(list (build-machine\n"
4082 " (name \"eightysix.example.org\")\n"
4083 " (system \"x86_64-linux\")\n"
4084 " (host-key \"ssh-ed25519 AAAAC3Nza@dots{}\")\n"
4085 " (user \"bob\")\n"
4086 " (speed 2.)) ;incredibly fast!\n"
4087 "\n"
4088 msgstr ""
4089
4090 #. type: example
4091 #: doc/guix.texi:919
4092 #, no-wrap
4093 msgid ""
4094 " (build-machine\n"
4095 " (name \"meeps.example.org\")\n"
4096 " (system \"mips64el-linux\")\n"
4097 " (host-key \"ssh-rsa AAAAB3Nza@dots{}\")\n"
4098 " (user \"alice\")\n"
4099 " (private-key\n"
4100 " (string-append (getenv \"HOME\")\n"
4101 " \"/.ssh/identity-for-guix\"))))\n"
4102 msgstr ""
4103
4104 #. type: Plain text
4105 #: doc/guix.texi:925
4106 msgid ""
4107 "In the example above we specify a list of two build machines, one for the "
4108 "@code{x86_64} architecture and one for the @code{mips64el} architecture."
4109 msgstr ""
4110
4111 #. type: Plain text
4112 #: doc/guix.texi:934
4113 msgid ""
4114 "In fact, this file is---not surprisingly!---a Scheme file that is evaluated "
4115 "when the @code{offload} hook is started. Its return value must be a list of "
4116 "@code{build-machine} objects. While this example shows a fixed list of "
4117 "build machines, one could imagine, say, using DNS-SD to return a list of "
4118 "potential build machines discovered in the local network "
4119 "(@pxref{Introduction, Guile-Avahi,, guile-avahi, Using Avahi in Guile Scheme "
4120 "Programs}). The @code{build-machine} data type is detailed below."
4121 msgstr ""
4122
4123 #. type: deftp
4124 #: doc/guix.texi:935
4125 #, no-wrap
4126 msgid "{Data Type} build-machine"
4127 msgstr ""
4128
4129 #. type: deftp
4130 #: doc/guix.texi:938
4131 msgid ""
4132 "This data type represents build machines to which the daemon may offload "
4133 "builds. The important fields are:"
4134 msgstr ""
4135
4136 #. type: code{#1}
4137 #: doc/guix.texi:941 doc/guix.texi:3402 doc/guix.texi:9406 doc/guix.texi:9470
4138 #: doc/guix.texi:9565 doc/guix.texi:11000 doc/guix.texi:15037
4139 #: doc/guix.texi:15270 doc/guix.texi:15403 doc/guix.texi:15677
4140 #: doc/guix.texi:15718 doc/guix.texi:19663 doc/guix.texi:19680
4141 #: doc/guix.texi:19946 doc/guix.texi:21154
4142 #, no-wrap
4143 msgid "name"
4144 msgstr ""
4145
4146 #. type: table
4147 #: doc/guix.texi:943
4148 msgid "The host name of the remote machine."
4149 msgstr ""
4150
4151 #. type: item
4152 #: doc/guix.texi:944
4153 #, no-wrap
4154 msgid "system"
4155 msgstr ""
4156
4157 #. type: table
4158 #: doc/guix.texi:946
4159 msgid "The system type of the remote machine---e.g., @code{\"x86_64-linux\"}."
4160 msgstr ""
4161
4162 #. type: code{#1}
4163 #: doc/guix.texi:947 doc/guix.texi:11010
4164 #, no-wrap
4165 msgid "user"
4166 msgstr ""
4167
4168 #. type: table
4169 #: doc/guix.texi:951
4170 msgid ""
4171 "The user account to use when connecting to the remote machine over SSH. "
4172 "Note that the SSH key pair must @emph{not} be passphrase-protected, to allow "
4173 "non-interactive logins."
4174 msgstr ""
4175
4176 #. type: item
4177 #: doc/guix.texi:952
4178 #, no-wrap
4179 msgid "host-key"
4180 msgstr ""
4181
4182 #. type: table
4183 #: doc/guix.texi:956
4184 msgid ""
4185 "This must be the machine's SSH @dfn{public host key} in OpenSSH format. "
4186 "This is used to authenticate the machine when we connect to it. It is a "
4187 "long string that looks like this:"
4188 msgstr ""
4189
4190 #. type: example
4191 #: doc/guix.texi:959
4192 #, no-wrap
4193 msgid "ssh-ed25519 AAAAC3NzaC@dots{}mde+UhL hint@@example.org\n"
4194 msgstr ""
4195
4196 #. type: table
4197 #: doc/guix.texi:964
4198 msgid ""
4199 "If the machine is running the OpenSSH daemon, @command{sshd}, the host key "
4200 "can be found in a file such as @file{/etc/ssh/ssh_host_ed25519_key.pub}."
4201 msgstr ""
4202
4203 #. type: table
4204 #: doc/guix.texi:969
4205 msgid ""
4206 "If the machine is running the SSH daemon of GNU@tie{}lsh, @command{lshd}, "
4207 "the host key is in @file{/etc/lsh/host-key.pub} or a similar file. It can "
4208 "be converted to the OpenSSH format using @command{lsh-export-key} "
4209 "(@pxref{Converting keys,,, lsh, LSH Manual}):"
4210 msgstr ""
4211
4212 #. type: example
4213 #: doc/guix.texi:973
4214 #, no-wrap
4215 msgid ""
4216 "$ lsh-export-key --openssh < /etc/lsh/host-key.pub \n"
4217 "ssh-rsa AAAAB3NzaC1yc2EAAAAEOp8FoQAAAQEAs1eB46LV@dots{}\n"
4218 msgstr ""
4219
4220 #. type: deftp
4221 #: doc/guix.texi:978
4222 msgid "A number of optional fields may be specified:"
4223 msgstr ""
4224
4225 #. type: item
4226 #: doc/guix.texi:981
4227 #, no-wrap
4228 msgid "@code{port} (default: @code{22})"
4229 msgstr ""
4230
4231 #. type: table
4232 #: doc/guix.texi:983
4233 msgid "Port number of SSH server on the machine."
4234 msgstr ""
4235
4236 #. type: item
4237 #: doc/guix.texi:984
4238 #, no-wrap
4239 msgid "@code{private-key} (default: @file{~root/.ssh/id_rsa})"
4240 msgstr ""
4241
4242 #. type: table
4243 #: doc/guix.texi:987
4244 msgid ""
4245 "The SSH private key file to use when connecting to the machine, in OpenSSH "
4246 "format."
4247 msgstr ""
4248
4249 #. type: table
4250 #: doc/guix.texi:990
4251 msgid ""
4252 "Note that the default value is the private key @emph{of the root account}. "
4253 "Make sure it exists if you use the default."
4254 msgstr ""
4255
4256 #. type: item
4257 #: doc/guix.texi:991
4258 #, no-wrap
4259 msgid "@code{compression} (default: @code{\"zlib@@openssh.com,zlib\"})"
4260 msgstr ""
4261
4262 #. type: item
4263 #: doc/guix.texi:992 doc/guix.texi:10422
4264 #, no-wrap
4265 msgid "@code{compression-level} (default: @code{3})"
4266 msgstr ""
4267
4268 #. type: table
4269 #: doc/guix.texi:994
4270 msgid "The SSH-level compression methods and compression level requested."
4271 msgstr ""
4272
4273 #. type: table
4274 #: doc/guix.texi:997
4275 msgid ""
4276 "Note that offloading relies on SSH compression to reduce bandwidth usage "
4277 "when transferring files to and from build machines."
4278 msgstr ""
4279
4280 #. type: item
4281 #: doc/guix.texi:998
4282 #, no-wrap
4283 msgid "@code{daemon-socket} (default: @code{\"/var/guix/daemon-socket/socket\"})"
4284 msgstr ""
4285
4286 #. type: table
4287 #: doc/guix.texi:1001
4288 msgid ""
4289 "File name of the Unix-domain socket @command{guix-daemon} is listening to on "
4290 "that machine."
4291 msgstr ""
4292
4293 #. type: item
4294 #: doc/guix.texi:1002
4295 #, no-wrap
4296 msgid "@code{parallel-builds} (default: @code{1})"
4297 msgstr ""
4298
4299 #. type: table
4300 #: doc/guix.texi:1004
4301 msgid "The number of builds that may run in parallel on the machine."
4302 msgstr ""
4303
4304 #. type: item
4305 #: doc/guix.texi:1005
4306 #, no-wrap
4307 msgid "@code{speed} (default: @code{1.0})"
4308 msgstr ""
4309
4310 #. type: table
4311 #: doc/guix.texi:1008
4312 msgid ""
4313 "A ``relative speed factor''. The offload scheduler will tend to prefer "
4314 "machines with a higher speed factor."
4315 msgstr ""
4316
4317 #. type: item
4318 #: doc/guix.texi:1009
4319 #, no-wrap
4320 msgid "@code{features} (default: @code{'()})"
4321 msgstr ""
4322
4323 #. type: table
4324 #: doc/guix.texi:1014
4325 msgid ""
4326 "A list of strings denoting specific features supported by the machine. An "
4327 "example is @code{\"kvm\"} for machines that have the KVM Linux modules and "
4328 "corresponding hardware support. Derivations can request features by name, "
4329 "and they will be scheduled on matching build machines."
4330 msgstr ""
4331
4332 #. type: Plain text
4333 #: doc/guix.texi:1022
4334 msgid ""
4335 "The @code{guile} command must be in the search path on the build machines. "
4336 "In addition, the Guix modules must be in @code{$GUILE_LOAD_PATH} on the "
4337 "build machine---you can check whether this is the case by running:"
4338 msgstr ""
4339
4340 #. type: example
4341 #: doc/guix.texi:1025
4342 #, no-wrap
4343 msgid "ssh build-machine guile -c \"'(use-modules (guix config))'\"\n"
4344 msgstr ""
4345
4346 #. type: Plain text
4347 #: doc/guix.texi:1032
4348 msgid ""
4349 "There is one last thing to do once @file{machines.scm} is in place. As "
4350 "explained above, when offloading, files are transferred back and forth "
4351 "between the machine stores. For this to work, you first need to generate a "
4352 "key pair on each machine to allow the daemon to export signed archives of "
4353 "files from the store (@pxref{Invoking guix archive}):"
4354 msgstr ""
4355
4356 #. type: example
4357 #: doc/guix.texi:1035
4358 #, no-wrap
4359 msgid "# guix archive --generate-key\n"
4360 msgstr ""
4361
4362 #. type: Plain text
4363 #: doc/guix.texi:1040
4364 msgid ""
4365 "Each build machine must authorize the key of the master machine so that it "
4366 "accepts store items it receives from the master:"
4367 msgstr ""
4368
4369 #. type: example
4370 #: doc/guix.texi:1043
4371 #, no-wrap
4372 msgid "# guix archive --authorize < master-public-key.txt\n"
4373 msgstr ""
4374
4375 #. type: Plain text
4376 #: doc/guix.texi:1047
4377 msgid ""
4378 "Likewise, the master machine must authorize the key of each build machine."
4379 msgstr ""
4380
4381 #. type: Plain text
4382 #: doc/guix.texi:1053
4383 msgid ""
4384 "All the fuss with keys is here to express pairwise mutual trust relations "
4385 "between the master and the build machines. Concretely, when the master "
4386 "receives files from a build machine (and @i{vice versa}), its build daemon "
4387 "can make sure they are genuine, have not been tampered with, and that they "
4388 "are signed by an authorized key."
4389 msgstr ""
4390
4391 #. type: cindex
4392 #: doc/guix.texi:1054
4393 #, no-wrap
4394 msgid "offload test"
4395 msgstr ""
4396
4397 #. type: Plain text
4398 #: doc/guix.texi:1057
4399 msgid ""
4400 "To test whether your setup is operational, run this command on the master "
4401 "node:"
4402 msgstr ""
4403
4404 #. type: example
4405 #: doc/guix.texi:1060
4406 #, no-wrap
4407 msgid "# guix offload test\n"
4408 msgstr ""
4409
4410 #. type: Plain text
4411 #: doc/guix.texi:1066
4412 msgid ""
4413 "This will attempt to connect to each of the build machines specified in "
4414 "@file{/etc/guix/machines.scm}, make sure Guile and the Guix modules are "
4415 "available on each machine, attempt to export to the machine and import from "
4416 "it, and report any error in the process."
4417 msgstr ""
4418
4419 #. type: Plain text
4420 #: doc/guix.texi:1069
4421 msgid ""
4422 "If you want to test a different machine file, just specify it on the command "
4423 "line:"
4424 msgstr ""
4425
4426 #. type: example
4427 #: doc/guix.texi:1072
4428 #, no-wrap
4429 msgid "# guix offload test machines-qualif.scm\n"
4430 msgstr ""
4431
4432 #. type: Plain text
4433 #: doc/guix.texi:1076
4434 msgid ""
4435 "Last, you can test the subset of the machines whose name matches a regular "
4436 "expression like this:"
4437 msgstr ""
4438
4439 #. type: example
4440 #: doc/guix.texi:1079
4441 #, no-wrap
4442 msgid "# guix offload test machines.scm '\\.gnu\\.org$'\n"
4443 msgstr ""
4444
4445 #. type: cindex
4446 #: doc/guix.texi:1081
4447 #, no-wrap
4448 msgid "offload status"
4449 msgstr ""
4450
4451 #. type: Plain text
4452 #: doc/guix.texi:1084
4453 msgid ""
4454 "To display the current load of all build hosts, run this command on the main "
4455 "node:"
4456 msgstr ""
4457
4458 #. type: example
4459 #: doc/guix.texi:1087
4460 #, no-wrap
4461 msgid "# guix offload status\n"
4462 msgstr ""
4463
4464 #. type: cindex
4465 #: doc/guix.texi:1093
4466 #, no-wrap
4467 msgid "SELinux, daemon policy"
4468 msgstr ""
4469
4470 #. type: cindex
4471 #: doc/guix.texi:1094
4472 #, no-wrap
4473 msgid "mandatory access control, SELinux"
4474 msgstr ""
4475
4476 #. type: cindex
4477 #: doc/guix.texi:1095
4478 #, no-wrap
4479 msgid "security, guix-daemon"
4480 msgstr ""
4481
4482 #. type: Plain text
4483 #: doc/guix.texi:1101
4484 msgid ""
4485 "Guix includes an SELinux policy file at @file{etc/guix-daemon.cil} that can "
4486 "be installed on a system where SELinux is enabled, in order to label Guix "
4487 "files and to specify the expected behavior of the daemon. Since GuixSD does "
4488 "not provide an SELinux base policy, the daemon policy cannot be used on "
4489 "GuixSD."
4490 msgstr ""
4491
4492 #. type: subsubsection
4493 #: doc/guix.texi:1102
4494 #, no-wrap
4495 msgid "Installing the SELinux policy"
4496 msgstr ""
4497
4498 #. type: cindex
4499 #: doc/guix.texi:1103
4500 #, no-wrap
4501 msgid "SELinux, policy installation"
4502 msgstr ""
4503
4504 #. type: Plain text
4505 #: doc/guix.texi:1105
4506 msgid "To install the policy run this command as root:"
4507 msgstr ""
4508
4509 #. type: example
4510 #: doc/guix.texi:1108
4511 #, no-wrap
4512 msgid "semodule -i etc/guix-daemon.cil\n"
4513 msgstr ""
4514
4515 #. type: Plain text
4516 #: doc/guix.texi:1112
4517 msgid ""
4518 "Then relabel the file system with @code{restorecon} or by a different "
4519 "mechanism provided by your system."
4520 msgstr ""
4521
4522 #. type: Plain text
4523 #: doc/guix.texi:1117
4524 msgid ""
4525 "Once the policy is installed, the file system has been relabeled, and the "
4526 "daemon has been restarted, it should be running in the @code{guix_daemon_t} "
4527 "context. You can confirm this with the following command:"
4528 msgstr ""
4529
4530 #. type: example
4531 #: doc/guix.texi:1120
4532 #, no-wrap
4533 msgid "ps -Zax | grep guix-daemon\n"
4534 msgstr ""
4535
4536 #. type: Plain text
4537 #: doc/guix.texi:1125
4538 msgid ""
4539 "Monitor the SELinux log files as you run a command like @code{guix build "
4540 "hello} to convince yourself that SELinux permits all necessary operations."
4541 msgstr ""
4542
4543 #. type: cindex
4544 #: doc/guix.texi:1127
4545 #, no-wrap
4546 msgid "SELinux, limitations"
4547 msgstr ""
4548
4549 #. type: Plain text
4550 #: doc/guix.texi:1132
4551 msgid ""
4552 "This policy is not perfect. Here is a list of limitations or quirks that "
4553 "should be considered when deploying the provided SELinux policy for the Guix "
4554 "daemon."
4555 msgstr ""
4556
4557 #. type: enumerate
4558 #: doc/guix.texi:1139
4559 msgid ""
4560 "@code{guix_daemon_socket_t} isn’t actually used. None of the socket "
4561 "operations involve contexts that have anything to do with "
4562 "@code{guix_daemon_socket_t}. It doesn’t hurt to have this unused label, but "
4563 "it would be preferrable to define socket rules for only this label."
4564 msgstr ""
4565
4566 #. type: enumerate
4567 #: doc/guix.texi:1150
4568 msgid ""
4569 "@code{guix gc} cannot access arbitrary links to profiles. By design, the "
4570 "file label of the destination of a symlink is independent of the file label "
4571 "of the link itself. Although all profiles under $localstatedir are "
4572 "labelled, the links to these profiles inherit the label of the directory "
4573 "they are in. For links in the user’s home directory this will be "
4574 "@code{user_home_t}. But for links from the root user’s home directory, or "
4575 "@file{/tmp}, or the HTTP server’s working directory, etc, this won’t work. "
4576 "@code{guix gc} would be prevented from reading and following these links."
4577 msgstr ""
4578
4579 #. type: enumerate
4580 #: doc/guix.texi:1155
4581 msgid ""
4582 "The daemon’s feature to listen for TCP connections might no longer work. "
4583 "This might require extra rules, because SELinux treats network sockets "
4584 "differently from files."
4585 msgstr ""
4586
4587 #. type: enumerate
4588 #: doc/guix.texi:1166
4589 msgid ""
4590 "Currently all files with a name matching the regular expression @code{/gnu/"
4591 "store/.+-(guix-.+|profile)/bin/guix-daemon} are assigned the label "
4592 "@code{guix_daemon_exec_t}; this means that @emph{any} file with that name in "
4593 "any profile would be permitted to run in the @code{guix_daemon_t} domain. "
4594 "This is not ideal. An attacker could build a package that provides this "
4595 "executable and convince a user to install and run it, which lifts it into "
4596 "the @code{guix_daemon_t} domain. At that point SELinux could not prevent it "
4597 "from accessing files that are allowed for processes in that domain."
4598 msgstr ""
4599
4600 #. type: enumerate
4601 #: doc/guix.texi:1174
4602 msgid ""
4603 "We could generate a much more restrictive policy at installation time, so "
4604 "that only the @emph{exact} file name of the currently installed @code{guix-"
4605 "daemon} executable would be labelled with @code{guix_daemon_exec_t}, instead "
4606 "of using a broad regular expression. The downside is that root would have "
4607 "to install or upgrade the policy at installation time whenever the Guix "
4608 "package that provides the effectively running @code{guix-daemon} executable "
4609 "is upgraded."
4610 msgstr ""
4611
4612 #. type: section
4613 #: doc/guix.texi:1177
4614 #, no-wrap
4615 msgid "Invoking @command{guix-daemon}"
4616 msgstr ""
4617
4618 #. type: Plain text
4619 #: doc/guix.texi:1183
4620 msgid ""
4621 "The @command{guix-daemon} program implements all the functionality to access "
4622 "the store. This includes launching build processes, running the garbage "
4623 "collector, querying the availability of a build result, etc. It is normally "
4624 "run as @code{root} like this:"
4625 msgstr ""
4626
4627 #. type: Plain text
4628 #: doc/guix.texi:1190
4629 msgid "For details on how to set it up, @pxref{Setting Up the Daemon}."
4630 msgstr "Pour des détails sur son paramétrage, @pxref{Paramétrer le démon}."
4631
4632 #. type: cindex
4633 #: doc/guix.texi:1192
4634 #, no-wrap
4635 msgid "container, build environment"
4636 msgstr ""
4637
4638 #. type: cindex
4639 #: doc/guix.texi:1194 doc/guix.texi:1732 doc/guix.texi:2392 doc/guix.texi:7648
4640 #, no-wrap
4641 msgid "reproducible builds"
4642 msgstr ""
4643
4644 #. type: Plain text
4645 #: doc/guix.texi:1206
4646 msgid ""
4647 "By default, @command{guix-daemon} launches build processes under different "
4648 "UIDs, taken from the build group specified with @code{--build-users-group}. "
4649 "In addition, each build process is run in a chroot environment that only "
4650 "contains the subset of the store that the build process depends on, as "
4651 "specified by its derivation (@pxref{Programming Interface, derivation}), "
4652 "plus a set of specific system directories. By default, the latter contains "
4653 "@file{/dev} and @file{/dev/pts}. Furthermore, on GNU/Linux, the build "
4654 "environment is a @dfn{container}: in addition to having its own file system "
4655 "tree, it has a separate mount name space, its own PID name space, network "
4656 "name space, etc. This helps achieve reproducible builds (@pxref{Features})."
4657 msgstr ""
4658 "Par défaut, @command{guix-daemon} lance les processus de construction sous "
4659 "différents UID récupérés depuis le groupe de construction spécifié avec "
4660 "@code{--build-users-group}. En plus, chaque processus de construction est "
4661 "lancé dans un environnement chroot qui ne contient que le sous-ensemble du "
4662 "dépôt dont le processus de construction dépend, tel que spécifié par sa "
4663 "dérivation (@pxref{Interface de programmation, dérivation}), plus un "
4664 "ensemble de répertoires systèmes spécifiques. Par défaut ce dernier contient "
4665 "@file{/dev} et @file{/dev/pts}. De plus, sous GNU/Linux, l'environnement de "
4666 "construction est un @dfn{conteneur} : en plus d'avoir sa propre arborescence "
4667 "du système de fichier, elle a un espace de montage séparé, son propre espace "
4668 "de PID, son espace de réseau, etc. Cela aide à obtenir des constructions "
4669 "reproductibles (@pxref{Fonctionnalités})."
4670
4671 #. type: Plain text
4672 #: doc/guix.texi:1215
4673 msgid ""
4674 "When the daemon performs a build on behalf of the user, it creates a build "
4675 "directory under @file{/tmp} or under the directory specified by its "
4676 "@code{TMPDIR} environment variable; this directory is shared with the "
4677 "container for the duration of the build. Be aware that using a directory "
4678 "other than @file{/tmp} can affect build results---for example, with a longer "
4679 "directory name, a build process that uses Unix-domain sockets might hit the "
4680 "name length limitation for @code{sun_path}, which it would otherwise not hit."
4681 msgstr ""
4682
4683 #. type: Plain text
4684 #: doc/guix.texi:1219
4685 msgid ""
4686 "The build directory is automatically deleted upon completion, unless the "
4687 "build failed and the client specified @option{--keep-failed} "
4688 "(@pxref{Invoking guix build, @option{--keep-failed}})."
4689 msgstr ""
4690
4691 #. type: Plain text
4692 #: doc/guix.texi:1221
4693 msgid "The following command-line options are supported:"
4694 msgstr ""
4695
4696 #. type: item
4697 #: doc/guix.texi:1223
4698 #, no-wrap
4699 msgid "--build-users-group=@var{group}"
4700 msgstr ""
4701
4702 #. type: table
4703 #: doc/guix.texi:1226
4704 msgid ""
4705 "Take users from @var{group} to run build processes (@pxref{Setting Up the "
4706 "Daemon, build users})."
4707 msgstr ""
4708 "Prend les utilisateurs de @var{group} pour lancer les processus de "
4709 "construction (@pxref{Paramétrer le démon, utilisateurs de construction})."
4710
4711 #. type: item
4712 #: doc/guix.texi:1227 doc/guix.texi:5498
4713 #, no-wrap
4714 msgid "--no-substitutes"
4715 msgstr ""
4716
4717 #. type: cindex
4718 #: doc/guix.texi:1228 doc/guix.texi:1744 doc/guix.texi:2248
4719 #, no-wrap
4720 msgid "substitutes"
4721 msgstr ""
4722
4723 #. type: table
4724 #: doc/guix.texi:1232 doc/guix.texi:5502
4725 msgid ""
4726 "Do not use substitutes for build products. That is, always build things "
4727 "locally instead of allowing downloads of pre-built binaries "
4728 "(@pxref{Substitutes})."
4729 msgstr ""
4730 "Ne pas utiliser de substitut pour les résultats de la construction. C'est-à-"
4731 "dire, toujours construire localement plutôt que de permettre le "
4732 "téléchargement de binaires pré-construits (@pxref{Substituts})."
4733
4734 #. type: table
4735 #: doc/guix.texi:1236
4736 msgid ""
4737 "When the daemon runs with @code{--no-substitutes}, clients can still "
4738 "explicitly enable substitution @i{via} the @code{set-build-options} remote "
4739 "procedure call (@pxref{The Store})."
4740 msgstr ""
4741
4742 #. type: item
4743 #: doc/guix.texi:1237 doc/guix.texi:5485 doc/guix.texi:6897 doc/guix.texi:7773
4744 #: doc/guix.texi:7961
4745 #, no-wrap
4746 msgid "--substitute-urls=@var{urls}"
4747 msgstr ""
4748
4749 #. type: anchor{#1}
4750 #: doc/guix.texi:1243
4751 msgid "daemon-substitute-urls"
4752 msgstr ""
4753
4754 #. type: table
4755 #: doc/guix.texi:1243
4756 msgid ""
4757 "Consider @var{urls} the default whitespace-separated list of substitute "
4758 "source URLs. When this option is omitted, @indicateurl{https://mirror.hydra."
4759 "gnu.org https://hydra.gnu.org} is used (@code{mirror.hydra.gnu.org} is a "
4760 "mirror of @code{hydra.gnu.org})."
4761 msgstr ""
4762
4763 #. type: table
4764 #: doc/guix.texi:1246
4765 msgid ""
4766 "This means that substitutes may be downloaded from @var{urls}, as long as "
4767 "they are signed by a trusted signature (@pxref{Substitutes})."
4768 msgstr ""
4769 "Cela signifie que les substituts sont téléchargés depuis les @var{urls}, "
4770 "tant qu'ils sont signés par une signature de confiance (@pxref{Substituts})."
4771
4772 #. type: item
4773 #: doc/guix.texi:1248 doc/guix.texi:5523
4774 #, no-wrap
4775 msgid "--no-build-hook"
4776 msgstr ""
4777
4778 #. type: table
4779 #: doc/guix.texi:1250
4780 msgid "Do not use the @dfn{build hook}."
4781 msgstr ""
4782
4783 #. type: table
4784 #: doc/guix.texi:1254
4785 msgid ""
4786 "The build hook is a helper program that the daemon can start and to which it "
4787 "submits build requests. This mechanism is used to offload builds to other "
4788 "machines (@pxref{Daemon Offload Setup})."
4789 msgstr ""
4790
4791 #. type: item
4792 #: doc/guix.texi:1255
4793 #, no-wrap
4794 msgid "--cache-failures"
4795 msgstr ""
4796
4797 #. type: table
4798 #: doc/guix.texi:1257
4799 msgid "Cache build failures. By default, only successful builds are cached."
4800 msgstr ""
4801
4802 #. type: table
4803 #: doc/guix.texi:1262
4804 msgid ""
4805 "When this option is used, @command{guix gc --list-failures} can be used to "
4806 "query the set of store items marked as failed; @command{guix gc --clear-"
4807 "failures} removes store items from the set of cached failures. "
4808 "@xref{Invoking guix gc}."
4809 msgstr ""
4810
4811 #. type: item
4812 #: doc/guix.texi:1263 doc/guix.texi:5547
4813 #, no-wrap
4814 msgid "--cores=@var{n}"
4815 msgstr ""
4816
4817 #. type: itemx
4818 #: doc/guix.texi:1264 doc/guix.texi:5548
4819 #, no-wrap
4820 msgid "-c @var{n}"
4821 msgstr ""
4822
4823 #. type: table
4824 #: doc/guix.texi:1267
4825 msgid ""
4826 "Use @var{n} CPU cores to build each derivation; @code{0} means as many as "
4827 "available."
4828 msgstr ""
4829
4830 #. type: table
4831 #: doc/guix.texi:1271
4832 msgid ""
4833 "The default value is @code{0}, but it may be overridden by clients, such as "
4834 "the @code{--cores} option of @command{guix build} (@pxref{Invoking guix "
4835 "build})."
4836 msgstr ""
4837
4838 #. type: table
4839 #: doc/guix.texi:1275
4840 msgid ""
4841 "The effect is to define the @code{NIX_BUILD_CORES} environment variable in "
4842 "the build process, which can then use it to exploit internal parallelism---"
4843 "for instance, by running @code{make -j$NIX_BUILD_CORES}."
4844 msgstr ""
4845
4846 #. type: item
4847 #: doc/guix.texi:1276 doc/guix.texi:5552
4848 #, no-wrap
4849 msgid "--max-jobs=@var{n}"
4850 msgstr ""
4851
4852 #. type: itemx
4853 #: doc/guix.texi:1277 doc/guix.texi:5553
4854 #, no-wrap
4855 msgid "-M @var{n}"
4856 msgstr ""
4857
4858 #. type: table
4859 #: doc/guix.texi:1282
4860 msgid ""
4861 "Allow at most @var{n} build jobs in parallel. The default value is "
4862 "@code{1}. Setting it to @code{0} means that no builds will be performed "
4863 "locally; instead, the daemon will offload builds (@pxref{Daemon Offload "
4864 "Setup}), or simply fail."
4865 msgstr ""
4866
4867 #. type: item
4868 #: doc/guix.texi:1283 doc/guix.texi:5528
4869 #, no-wrap
4870 msgid "--max-silent-time=@var{seconds}"
4871 msgstr ""
4872
4873 #. type: table
4874 #: doc/guix.texi:1286 doc/guix.texi:5531
4875 msgid ""
4876 "When the build or substitution process remains silent for more than "
4877 "@var{seconds}, terminate it and report a build failure."
4878 msgstr ""
4879
4880 #. type: table
4881 #: doc/guix.texi:1288 doc/guix.texi:1297
4882 msgid "The default value is @code{0}, which disables the timeout."
4883 msgstr ""
4884
4885 #. type: table
4886 #: doc/guix.texi:1291
4887 msgid ""
4888 "The value specified here can be overridden by clients (@pxref{Common Build "
4889 "Options, @code{--max-silent-time}})."
4890 msgstr ""
4891
4892 #. type: item
4893 #: doc/guix.texi:1292 doc/guix.texi:5535
4894 #, no-wrap
4895 msgid "--timeout=@var{seconds}"
4896 msgstr ""
4897
4898 #. type: table
4899 #: doc/guix.texi:1295 doc/guix.texi:5538
4900 msgid ""
4901 "Likewise, when the build or substitution process lasts for more than "
4902 "@var{seconds}, terminate it and report a build failure."
4903 msgstr ""
4904
4905 #. type: table
4906 #: doc/guix.texi:1300
4907 msgid ""
4908 "The value specified here can be overridden by clients (@pxref{Common Build "
4909 "Options, @code{--timeout}})."
4910 msgstr ""
4911
4912 #. type: item
4913 #: doc/guix.texi:1301
4914 #, no-wrap
4915 msgid "--rounds=@var{N}"
4916 msgstr ""
4917
4918 #. type: table
4919 #: doc/guix.texi:1306
4920 msgid ""
4921 "Build each derivation @var{n} times in a row, and raise an error if "
4922 "consecutive build results are not bit-for-bit identical. Note that this "
4923 "setting can be overridden by clients such as @command{guix build} "
4924 "(@pxref{Invoking guix build})."
4925 msgstr ""
4926
4927 #. type: table
4928 #: doc/guix.texi:1310 doc/guix.texi:5830
4929 msgid ""
4930 "When used in conjunction with @option{--keep-failed}, the differing output "
4931 "is kept in the store, under @file{/gnu/store/@dots{}-check}. This makes it "
4932 "easy to look for differences between the two results."
4933 msgstr ""
4934
4935 #. type: item
4936 #: doc/guix.texi:1311
4937 #, no-wrap
4938 msgid "--debug"
4939 msgstr ""
4940
4941 #. type: table
4942 #: doc/guix.texi:1313
4943 msgid "Produce debugging output."
4944 msgstr ""
4945
4946 #. type: table
4947 #: doc/guix.texi:1317
4948 msgid ""
4949 "This is useful to debug daemon start-up issues, but then it may be "
4950 "overridden by clients, for example the @code{--verbosity} option of "
4951 "@command{guix build} (@pxref{Invoking guix build})."
4952 msgstr ""
4953
4954 #. type: item
4955 #: doc/guix.texi:1318
4956 #, no-wrap
4957 msgid "--chroot-directory=@var{dir}"
4958 msgstr ""
4959
4960 #. type: table
4961 #: doc/guix.texi:1320
4962 msgid "Add @var{dir} to the build chroot."
4963 msgstr ""
4964
4965 #. type: table
4966 #: doc/guix.texi:1326
4967 msgid ""
4968 "Doing this may change the result of build processes---for instance if they "
4969 "use optional dependencies found in @var{dir} when it is available, and not "
4970 "otherwise. For that reason, it is not recommended to do so. Instead, make "
4971 "sure that each derivation declares all the inputs that it needs."
4972 msgstr ""
4973
4974 #. type: item
4975 #: doc/guix.texi:1327
4976 #, no-wrap
4977 msgid "--disable-chroot"
4978 msgstr ""
4979
4980 #. type: table
4981 #: doc/guix.texi:1329
4982 msgid "Disable chroot builds."
4983 msgstr ""
4984
4985 #. type: table
4986 #: doc/guix.texi:1334
4987 msgid ""
4988 "Using this option is not recommended since, again, it would allow build "
4989 "processes to gain access to undeclared dependencies. It is necessary, "
4990 "though, when @command{guix-daemon} is running under an unprivileged user "
4991 "account."
4992 msgstr ""
4993
4994 #. type: item
4995 #: doc/guix.texi:1335
4996 #, no-wrap
4997 msgid "--log-compression=@var{type}"
4998 msgstr ""
4999
5000 #. type: table
5001 #: doc/guix.texi:1338
5002 msgid ""
5003 "Compress build logs according to @var{type}, one of @code{gzip}, "
5004 "@code{bzip2}, or @code{none}."
5005 msgstr ""
5006
5007 #. type: table
5008 #: doc/guix.texi:1342
5009 msgid ""
5010 "Unless @code{--lose-logs} is used, all the build logs are kept in the "
5011 "@var{localstatedir}. To save space, the daemon automatically compresses "
5012 "them with bzip2 by default."
5013 msgstr ""
5014
5015 #. type: item
5016 #: doc/guix.texi:1343
5017 #, no-wrap
5018 msgid "--disable-deduplication"
5019 msgstr ""
5020
5021 #. type: cindex
5022 #: doc/guix.texi:1344 doc/guix.texi:2708
5023 #, no-wrap
5024 msgid "deduplication"
5025 msgstr ""
5026
5027 #. type: table
5028 #: doc/guix.texi:1346
5029 msgid "Disable automatic file ``deduplication'' in the store."
5030 msgstr ""
5031
5032 #. type: table
5033 #: doc/guix.texi:1353
5034 msgid ""
5035 "By default, files added to the store are automatically ``deduplicated'': if "
5036 "a newly added file is identical to another one found in the store, the "
5037 "daemon makes the new file a hard link to the other file. This can "
5038 "noticeably reduce disk usage, at the expense of slightly increased input/"
5039 "output load at the end of a build process. This option disables this "
5040 "optimization."
5041 msgstr ""
5042
5043 #. type: item
5044 #: doc/guix.texi:1354
5045 #, no-wrap
5046 msgid "--gc-keep-outputs[=yes|no]"
5047 msgstr ""
5048
5049 #. type: table
5050 #: doc/guix.texi:1357
5051 msgid ""
5052 "Tell whether the garbage collector (GC) must keep outputs of live "
5053 "derivations."
5054 msgstr ""
5055
5056 #. type: cindex
5057 #: doc/guix.texi:1358 doc/guix.texi:2543
5058 #, no-wrap
5059 msgid "GC roots"
5060 msgstr ""
5061
5062 #. type: cindex
5063 #: doc/guix.texi:1359 doc/guix.texi:2544
5064 #, no-wrap
5065 msgid "garbage collector roots"
5066 msgstr ""
5067
5068 #. type: table
5069 #: doc/guix.texi:1364
5070 msgid ""
5071 "When set to ``yes'', the GC will keep the outputs of any live derivation "
5072 "available in the store---the @code{.drv} files. The default is ``no'', "
5073 "meaning that derivation outputs are kept only if they are GC roots. "
5074 "@xref{Invoking guix gc}, for more on GC roots."
5075 msgstr ""
5076
5077 #. type: item
5078 #: doc/guix.texi:1365
5079 #, no-wrap
5080 msgid "--gc-keep-derivations[=yes|no]"
5081 msgstr ""
5082
5083 #. type: table
5084 #: doc/guix.texi:1368
5085 msgid ""
5086 "Tell whether the garbage collector (GC) must keep derivations corresponding "
5087 "to live outputs."
5088 msgstr ""
5089
5090 #. type: table
5091 #: doc/guix.texi:1373
5092 msgid ""
5093 "When set to ``yes'', as is the case by default, the GC keeps derivations---i."
5094 "e., @code{.drv} files---as long as at least one of their outputs is live. "
5095 "This allows users to keep track of the origins of items in their store. "
5096 "Setting it to ``no'' saves a bit of disk space."
5097 msgstr ""
5098
5099 #. type: table
5100 #: doc/guix.texi:1380
5101 msgid ""
5102 "Note that when both @code{--gc-keep-derivations} and @code{--gc-keep-"
5103 "outputs} are used, the effect is to keep all the build prerequisites (the "
5104 "sources, compiler, libraries, and other build-time tools) of live objects in "
5105 "the store, regardless of whether these prerequisites are live. This is "
5106 "convenient for developers since it saves rebuilds or downloads."
5107 msgstr ""
5108
5109 #. type: item
5110 #: doc/guix.texi:1381
5111 #, no-wrap
5112 msgid "--impersonate-linux-2.6"
5113 msgstr ""
5114
5115 #. type: table
5116 #: doc/guix.texi:1384
5117 msgid ""
5118 "On Linux-based systems, impersonate Linux 2.6. This means that the kernel's "
5119 "@code{uname} system call will report 2.6 as the release number."
5120 msgstr ""
5121
5122 #. type: table
5123 #: doc/guix.texi:1387
5124 msgid ""
5125 "This might be helpful to build programs that (usually wrongfully) depend on "
5126 "the kernel version number."
5127 msgstr ""
5128
5129 #. type: item
5130 #: doc/guix.texi:1388
5131 #, no-wrap
5132 msgid "--lose-logs"
5133 msgstr ""
5134
5135 #. type: table
5136 #: doc/guix.texi:1391
5137 msgid ""
5138 "Do not keep build logs. By default they are kept under "
5139 "@code{@var{localstatedir}/guix/log}."
5140 msgstr ""
5141
5142 #. type: item
5143 #: doc/guix.texi:1392 doc/guix.texi:2890 doc/guix.texi:5783 doc/guix.texi:6924
5144 #: doc/guix.texi:7332 doc/guix.texi:7966 doc/guix.texi:20048
5145 #: doc/guix.texi:20592
5146 #, no-wrap
5147 msgid "--system=@var{system}"
5148 msgstr ""
5149
5150 #. type: table
5151 #: doc/guix.texi:1396
5152 msgid ""
5153 "Assume @var{system} as the current system type. By default it is the "
5154 "architecture/kernel pair found at configure time, such as @code{x86_64-"
5155 "linux}."
5156 msgstr ""
5157
5158 #. type: item
5159 #: doc/guix.texi:1397
5160 #, no-wrap
5161 msgid "--listen=@var{endpoint}"
5162 msgstr ""
5163
5164 #. type: table
5165 #: doc/guix.texi:1402
5166 msgid ""
5167 "Listen for connections on @var{endpoint}. @var{endpoint} is interpreted as "
5168 "the file name of a Unix-domain socket if it starts with @code{/} (slash "
5169 "sign). Otherwise, @var{endpoint} is interpreted as a host name or host name "
5170 "and port to listen to. Here are a few examples:"
5171 msgstr ""
5172
5173 #. type: item
5174 #: doc/guix.texi:1404
5175 #, no-wrap
5176 msgid "--listen=/gnu/var/daemon"
5177 msgstr ""
5178
5179 #. type: table
5180 #: doc/guix.texi:1407
5181 msgid ""
5182 "Listen for connections on the @file{/gnu/var/daemon} Unix-domain socket, "
5183 "creating it if needed."
5184 msgstr ""
5185
5186 #. type: item
5187 #: doc/guix.texi:1408
5188 #, no-wrap
5189 msgid "--listen=localhost"
5190 msgstr ""
5191
5192 #. type: cindex
5193 #: doc/guix.texi:1409 doc/guix.texi:4235
5194 #, no-wrap
5195 msgid "daemon, remote access"
5196 msgstr ""
5197
5198 #. type: cindex
5199 #: doc/guix.texi:1410 doc/guix.texi:4236
5200 #, no-wrap
5201 msgid "remote access to the daemon"
5202 msgstr ""
5203
5204 #. type: cindex
5205 #: doc/guix.texi:1411 doc/guix.texi:4237
5206 #, no-wrap
5207 msgid "daemon, cluster setup"
5208 msgstr ""
5209
5210 #. type: cindex
5211 #: doc/guix.texi:1412 doc/guix.texi:4238
5212 #, no-wrap
5213 msgid "clusters, daemon setup"
5214 msgstr ""
5215
5216 #. type: table
5217 #: doc/guix.texi:1415
5218 msgid ""
5219 "Listen for TCP connections on the network interface corresponding to "
5220 "@code{localhost}, on port 44146."
5221 msgstr ""
5222
5223 #. type: item
5224 #: doc/guix.texi:1416
5225 #, no-wrap
5226 msgid "--listen=128.0.0.42:1234"
5227 msgstr ""
5228
5229 #. type: table
5230 #: doc/guix.texi:1419
5231 msgid ""
5232 "Listen for TCP connections on the network interface corresponding to "
5233 "@code{128.0.0.42}, on port 1234."
5234 msgstr ""
5235
5236 #. type: table
5237 #: doc/guix.texi:1426
5238 msgid ""
5239 "This option can be repeated multiple times, in which case @command{guix-"
5240 "daemon} accepts connections on all the specified endpoints. Users can tell "
5241 "client commands what endpoint to connect to by setting the "
5242 "@code{GUIX_DAEMON_SOCKET} environment variable (@pxref{The Store, "
5243 "@code{GUIX_DAEMON_SOCKET}})."
5244 msgstr ""
5245
5246 #. type: quotation
5247 #: doc/guix.texi:1427 doc/guix.texi:2325 doc/guix.texi:2789 doc/guix.texi:2952
5248 #: doc/guix.texi:4205 doc/guix.texi:4273 doc/guix.texi:5788 doc/guix.texi:7224
5249 #: doc/guix.texi:7851 doc/guix.texi:8069 doc/guix.texi:8280 doc/guix.texi:11491
5250 #: doc/guix.texi:20375 doc/guix.texi:20573 doc/guix.texi:20660
5251 #: doc/guix.texi:21504
5252 #, no-wrap
5253 msgid "Note"
5254 msgstr ""
5255
5256 #. type: quotation
5257 #: doc/guix.texi:1433
5258 msgid ""
5259 "The daemon protocol is @emph{unauthenticated and unencrypted}. Using "
5260 "@code{--listen=@var{host}} is suitable on local networks, such as clusters, "
5261 "where only trusted nodes may connect to the build daemon. In other cases "
5262 "where remote access to the daemon is needed, we recommend using Unix-domain "
5263 "sockets along with SSH."
5264 msgstr ""
5265
5266 #. type: table
5267 #: doc/guix.texi:1438
5268 msgid ""
5269 "When @code{--listen} is omitted, @command{guix-daemon} listens for "
5270 "connections on the Unix-domain socket located at @file{@var{localstatedir}/"
5271 "guix/daemon-socket/socket}."
5272 msgstr ""
5273
5274 #. type: Plain text
5275 #: doc/guix.texi:1448
5276 msgid ""
5277 "When using Guix on top of GNU/Linux distribution other than GuixSD---a so-"
5278 "called @dfn{foreign distro}---a few additional steps are needed to get "
5279 "everything in place. Here are some of them."
5280 msgstr ""
5281
5282 #. type: anchor{#1}
5283 #: doc/guix.texi:1452
5284 msgid "locales-and-locpath"
5285 msgstr ""
5286
5287 #. type: cindex
5288 #: doc/guix.texi:1452
5289 #, no-wrap
5290 msgid "locales, when not on GuixSD"
5291 msgstr ""
5292
5293 #. type: vindex
5294 #: doc/guix.texi:1453 doc/guix.texi:9549
5295 #, no-wrap
5296 msgid "LOCPATH"
5297 msgstr ""
5298
5299 #. type: vindex
5300 #: doc/guix.texi:1454
5301 #, no-wrap
5302 msgid "GUIX_LOCPATH"
5303 msgstr ""
5304
5305 #. type: Plain text
5306 #: doc/guix.texi:1459
5307 msgid ""
5308 "Packages installed @i{via} Guix will not use the locale data of the host "
5309 "system. Instead, you must first install one of the locale packages "
5310 "available with Guix and then define the @code{GUIX_LOCPATH} environment "
5311 "variable:"
5312 msgstr ""
5313
5314 #. type: example
5315 #: doc/guix.texi:1463
5316 #, no-wrap
5317 msgid ""
5318 "$ guix package -i glibc-locales\n"
5319 "$ export GUIX_LOCPATH=$HOME/.guix-profile/lib/locale\n"
5320 msgstr ""
5321
5322 #. type: Plain text
5323 #: doc/guix.texi:1469
5324 msgid ""
5325 "Note that the @code{glibc-locales} package contains data for all the locales "
5326 "supported by the GNU@tie{}libc and weighs in at around 110@tie{}MiB. "
5327 "Alternatively, the @code{glibc-utf8-locales} is smaller but limited to a few "
5328 "UTF-8 locales."
5329 msgstr ""
5330
5331 #. type: Plain text
5332 #: doc/guix.texi:1473
5333 msgid ""
5334 "The @code{GUIX_LOCPATH} variable plays a role similar to @code{LOCPATH} "
5335 "(@pxref{Locale Names, @code{LOCPATH},, libc, The GNU C Library Reference "
5336 "Manual}). There are two important differences though:"
5337 msgstr ""
5338
5339 #. type: enumerate
5340 #: doc/guix.texi:1480
5341 msgid ""
5342 "@code{GUIX_LOCPATH} is honored only by the libc in Guix, and not by the libc "
5343 "provided by foreign distros. Thus, using @code{GUIX_LOCPATH} allows you to "
5344 "make sure the programs of the foreign distro will not end up loading "
5345 "incompatible locale data."
5346 msgstr ""
5347
5348 #. type: enumerate
5349 #: doc/guix.texi:1487
5350 msgid ""
5351 "libc suffixes each entry of @code{GUIX_LOCPATH} with @code{/X.Y}, where "
5352 "@code{X.Y} is the libc version---e.g., @code{2.22}. This means that, should "
5353 "your Guix profile contain a mixture of programs linked against different "
5354 "libc version, each libc version will only try to load locale data in the "
5355 "right format."
5356 msgstr ""
5357
5358 #. type: Plain text
5359 #: doc/guix.texi:1491
5360 msgid ""
5361 "This is important because the locale data format used by different libc "
5362 "versions may be incompatible."
5363 msgstr ""
5364
5365 #. type: cindex
5366 #: doc/guix.texi:1494
5367 #, no-wrap
5368 msgid "name service switch, glibc"
5369 msgstr ""
5370
5371 #. type: cindex
5372 #: doc/guix.texi:1495
5373 #, no-wrap
5374 msgid "NSS (name service switch), glibc"
5375 msgstr ""
5376
5377 #. type: cindex
5378 #: doc/guix.texi:1496
5379 #, no-wrap
5380 msgid "nscd (name service caching daemon)"
5381 msgstr ""
5382
5383 #. type: cindex
5384 #: doc/guix.texi:1497
5385 #, no-wrap
5386 msgid "name service caching daemon (nscd)"
5387 msgstr ""
5388
5389 #. type: Plain text
5390 #: doc/guix.texi:1504
5391 msgid ""
5392 "When using Guix on a foreign distro, we @emph{strongly recommend} that the "
5393 "system run the GNU C library's @dfn{name service cache daemon}, "
5394 "@command{nscd}, which should be listening on the @file{/var/run/nscd/socket} "
5395 "socket. Failing to do that, applications installed with Guix may fail to "
5396 "look up host names or user accounts, or may even crash. The next paragraphs "
5397 "explain why."
5398 msgstr ""
5399
5400 #. type: file{#1}
5401 #: doc/guix.texi:1505
5402 #, no-wrap
5403 msgid "nsswitch.conf"
5404 msgstr ""
5405
5406 #. type: Plain text
5407 #: doc/guix.texi:1510
5408 msgid ""
5409 "The GNU C library implements a @dfn{name service switch} (NSS), which is an "
5410 "extensible mechanism for ``name lookups'' in general: host name resolution, "
5411 "user accounts, and more (@pxref{Name Service Switch,,, libc, The GNU C "
5412 "Library Reference Manual})."
5413 msgstr ""
5414
5415 #. type: cindex
5416 #: doc/guix.texi:1511
5417 #, no-wrap
5418 msgid "Network information service (NIS)"
5419 msgstr ""
5420
5421 #. type: cindex
5422 #: doc/guix.texi:1512
5423 #, no-wrap
5424 msgid "NIS (Network information service)"
5425 msgstr ""
5426
5427 #. type: Plain text
5428 #: doc/guix.texi:1521
5429 msgid ""
5430 "Being extensible, the NSS supports @dfn{plugins}, which provide new name "
5431 "lookup implementations: for example, the @code{nss-mdns} plugin allow "
5432 "resolution of @code{.local} host names, the @code{nis} plugin allows user "
5433 "account lookup using the Network information service (NIS), and so on. "
5434 "These extra ``lookup services'' are configured system-wide in @file{/etc/"
5435 "nsswitch.conf}, and all the programs running on the system honor those "
5436 "settings (@pxref{NSS Configuration File,,, libc, The GNU C Reference "
5437 "Manual})."
5438 msgstr ""
5439
5440 #. type: Plain text
5441 #: doc/guix.texi:1531
5442 msgid ""
5443 "When they perform a name lookup---for instance by calling the "
5444 "@code{getaddrinfo} function in C---applications first try to connect to the "
5445 "nscd; on success, nscd performs name lookups on their behalf. If the nscd "
5446 "is not running, then they perform the name lookup by themselves, by loading "
5447 "the name lookup services into their own address space and running it. These "
5448 "name lookup services---the @file{libnss_*.so} files---are @code{dlopen}'d, "
5449 "but they may come from the host system's C library, rather than from the C "
5450 "library the application is linked against (the C library coming from Guix)."
5451 msgstr ""
5452
5453 #. type: Plain text
5454 #: doc/guix.texi:1536
5455 msgid ""
5456 "And this is where the problem is: if your application is linked against "
5457 "Guix's C library (say, glibc 2.24) and tries to load NSS plugins from "
5458 "another C library (say, @code{libnss_mdns.so} for glibc 2.22), it will "
5459 "likely crash or have its name lookups fail unexpectedly."
5460 msgstr ""
5461
5462 #. type: Plain text
5463 #: doc/guix.texi:1541
5464 msgid ""
5465 "Running @command{nscd} on the system, among other advantages, eliminates "
5466 "this binary incompatibility problem because those @code{libnss_*.so} files "
5467 "are loaded in the @command{nscd} process, not in applications themselves."
5468 msgstr ""
5469
5470 #. type: subsection
5471 #: doc/guix.texi:1542
5472 #, no-wrap
5473 msgid "X11 Fonts"
5474 msgstr ""
5475
5476 #. type: cindex
5477 #: doc/guix.texi:1544 doc/guix.texi:22070
5478 #, no-wrap
5479 msgid "fonts"
5480 msgstr ""
5481
5482 #. type: Plain text
5483 #: doc/guix.texi:1552
5484 msgid ""
5485 "The majority of graphical applications use Fontconfig to locate and load "
5486 "fonts and perform X11-client-side rendering. The @code{fontconfig} package "
5487 "in Guix looks for fonts in @file{$HOME/.guix-profile} by default. Thus, to "
5488 "allow graphical applications installed with Guix to display fonts, you have "
5489 "to install fonts with Guix as well. Essential font packages include "
5490 "@code{gs-fonts}, @code{font-dejavu}, and @code{font-gnu-freefont-ttf}."
5491 msgstr ""
5492
5493 #. type: Plain text
5494 #: doc/guix.texi:1559
5495 msgid ""
5496 "To display text written in Chinese languages, Japanese, or Korean in "
5497 "graphical applications, consider installing @code{font-adobe-source-han-"
5498 "sans} or @code{font-wqy-zenhei}. The former has multiple outputs, one per "
5499 "language family (@pxref{Packages with Multiple Outputs}). For instance, the "
5500 "following command installs fonts for Chinese languages:"
5501 msgstr ""
5502
5503 #. type: example
5504 #: doc/guix.texi:1562
5505 #, no-wrap
5506 msgid "guix package -i font-adobe-source-han-sans:cn\n"
5507 msgstr ""
5508
5509 #. type: code{#1}
5510 #: doc/guix.texi:1564
5511 #, no-wrap
5512 msgid "xterm"
5513 msgstr ""
5514
5515 #. type: Plain text
5516 #: doc/guix.texi:1568
5517 msgid ""
5518 "Older programs such as @command{xterm} do not use Fontconfig and instead "
5519 "rely on server-side font rendering. Such programs require to specify a full "
5520 "name of a font using XLFD (X Logical Font Description), like this:"
5521 msgstr ""
5522
5523 #. type: example
5524 #: doc/guix.texi:1571
5525 #, no-wrap
5526 msgid "-*-dejavu sans-medium-r-normal-*-*-100-*-*-*-*-*-1\n"
5527 msgstr ""
5528
5529 #. type: Plain text
5530 #: doc/guix.texi:1575
5531 msgid ""
5532 "To be able to use such full names for the TrueType fonts installed in your "
5533 "Guix profile, you need to extend the font path of the X server:"
5534 msgstr ""
5535
5536 #. type: example
5537 #: doc/guix.texi:1580
5538 #, no-wrap
5539 msgid "xset +fp $(dirname $(readlink -f ~/.guix-profile/share/fonts/truetype/fonts.dir))\n"
5540 msgstr ""
5541
5542 #. type: code{#1}
5543 #: doc/guix.texi:1582
5544 #, no-wrap
5545 msgid "xlsfonts"
5546 msgstr ""
5547
5548 #. type: Plain text
5549 #: doc/guix.texi:1585
5550 msgid ""
5551 "After that, you can run @code{xlsfonts} (from @code{xlsfonts} package) to "
5552 "make sure your TrueType fonts are listed there."
5553 msgstr ""
5554
5555 #. type: code{#1}
5556 #: doc/guix.texi:1586
5557 #, no-wrap
5558 msgid "fc-cache"
5559 msgstr ""
5560
5561 #. type: cindex
5562 #: doc/guix.texi:1587
5563 #, no-wrap
5564 msgid "font cache"
5565 msgstr ""
5566
5567 #. type: Plain text
5568 #: doc/guix.texi:1593
5569 msgid ""
5570 "After installing fonts you may have to refresh the font cache to use them in "
5571 "applications. The same applies when applications installed via Guix do not "
5572 "seem to find fonts. To force rebuilding of the font cache run @code{fc-"
5573 "cache -f}. The @code{fc-cache} command is provided by the @code{fontconfig} "
5574 "package."
5575 msgstr ""
5576
5577 #. type: code{#1}
5578 #: doc/guix.texi:1596 doc/guix.texi:19787
5579 #, no-wrap
5580 msgid "nss-certs"
5581 msgstr ""
5582
5583 #. type: Plain text
5584 #: doc/guix.texi:1599
5585 msgid ""
5586 "The @code{nss-certs} package provides X.509 certificates, which allow "
5587 "programs to authenticate Web servers accessed over HTTPS."
5588 msgstr ""
5589
5590 #. type: Plain text
5591 #: doc/guix.texi:1604
5592 msgid ""
5593 "When using Guix on a foreign distro, you can install this package and define "
5594 "the relevant environment variables so that packages know where to look for "
5595 "certificates. @xref{X.509 Certificates}, for detailed information."
5596 msgstr ""
5597
5598 #. type: subsection
5599 #: doc/guix.texi:1605
5600 #, no-wrap
5601 msgid "Emacs Packages"
5602 msgstr ""
5603
5604 #. type: code{#1}
5605 #: doc/guix.texi:1607
5606 #, no-wrap
5607 msgid "emacs"
5608 msgstr ""
5609
5610 #. type: Plain text
5611 #: doc/guix.texi:1618
5612 msgid ""
5613 "When you install Emacs packages with Guix, the elisp files may be placed "
5614 "either in @file{$HOME/.guix-profile/share/emacs/site-lisp/} or in sub-"
5615 "directories of @file{$HOME/.guix-profile/share/emacs/site-lisp/guix.d/}. "
5616 "The latter directory exists because potentially there may exist thousands of "
5617 "Emacs packages and storing all their files in a single directory may not be "
5618 "reliable (because of name conflicts). So we think using a separate "
5619 "directory for each package is a good idea. It is very similar to how the "
5620 "Emacs package system organizes the file structure (@pxref{Package Files,,, "
5621 "emacs, The GNU Emacs Manual})."
5622 msgstr ""
5623
5624 #. type: Plain text
5625 #: doc/guix.texi:1624
5626 msgid ""
5627 "By default, Emacs (installed with Guix) ``knows'' where these packages are "
5628 "placed, so you do not need to perform any configuration. If, for some "
5629 "reason, you want to avoid auto-loading Emacs packages installed with Guix, "
5630 "you can do so by running Emacs with @code{--no-site-file} option "
5631 "(@pxref{Init File,,, emacs, The GNU Emacs Manual})."
5632 msgstr ""
5633
5634 #. type: subsection
5635 #: doc/guix.texi:1625
5636 #, no-wrap
5637 msgid "The GCC toolchain"
5638 msgstr ""
5639
5640 #. type: cindex
5641 #: doc/guix.texi:1627
5642 #, no-wrap
5643 msgid "GCC"
5644 msgstr ""
5645
5646 #. type: cindex
5647 #: doc/guix.texi:1628
5648 #, no-wrap
5649 msgid "ld-wrapper"
5650 msgstr ""
5651
5652 #. type: Plain text
5653 #: doc/guix.texi:1637
5654 msgid ""
5655 "Guix offers individual compiler packages such as @code{gcc} but if you are "
5656 "in need of a complete toolchain for compiling and linking source code what "
5657 "you really want is the @code{gcc-toolchain} package. This package provides "
5658 "a complete GCC toolchain for C/C++ development, including GCC itself, the "
5659 "GNU C Library (headers and binaries, plus debugging symbols in the "
5660 "@code{debug} output), Binutils, and a linker wrapper."
5661 msgstr ""
5662
5663 #. type: cindex
5664 #: doc/guix.texi:1638
5665 #, no-wrap
5666 msgid "attempt to use impure library, error message"
5667 msgstr ""
5668
5669 #. type: Plain text
5670 #: doc/guix.texi:1648
5671 msgid ""
5672 "The wrapper's purpose is to inspect the @code{-L} and @code{-l} switches "
5673 "passed to the linker, add corresponding @code{-rpath} arguments, and invoke "
5674 "the actual linker with this new set of arguments. By default, the linker "
5675 "wrapper refuses to link to libraries outside the store to ensure "
5676 "``purity''. This can be annoying when using the toolchain to link with "
5677 "local libraries. To allow references to libraries outside the store you "
5678 "need to define the environment variable "
5679 "@code{GUIX_LD_WRAPPER_ALLOW_IMPURITIES}."
5680 msgstr ""
5681
5682 #. type: cindex
5683 #: doc/guix.texi:1655
5684 #, no-wrap
5685 msgid "packages"
5686 msgstr ""
5687
5688 #. type: Plain text
5689 #: doc/guix.texi:1660
5690 msgid ""
5691 "The purpose of GNU Guix is to allow users to easily install, upgrade, and "
5692 "remove software packages, without having to know about their build "
5693 "procedures or dependencies. Guix also goes beyond this obvious set of "
5694 "features."
5695 msgstr ""
5696
5697 #. type: Plain text
5698 #: doc/guix.texi:1668
5699 msgid ""
5700 "This chapter describes the main features of Guix, as well as the package "
5701 "management tools it provides. Along with the command-line interface "
5702 "described below (@pxref{Invoking guix package, @code{guix package}}), you "
5703 "may also use the Emacs-Guix interface (@pxref{Top,,, emacs-guix, The Emacs-"
5704 "Guix Reference Manual}), after installing @code{emacs-guix} package (run "
5705 "@kbd{M-x guix-help} command to start with it):"
5706 msgstr ""
5707 "Ce chapitre décrit les principales fonctionnalités de Guix, ainsi que des "
5708 "outils de gestion des paquets qu'il fournit. En plus de l'interface en ligne "
5709 "de commande décrite en dessous de (@pxref{Invoquer guix package, @code{guix "
5710 "package}}), vous pouvez aussi utiliser l'interface Emacs-Guix (@pxref{Top,,, "
5711 "emacs-guix, Le manuel de référence de emacs-guix}), après avoir installé le "
5712 "paquet @code{emacs-guix} (lancez la commande @kbd{M-x guix-help} pour le "
5713 "démarrer) :"
5714
5715 #. type: example
5716 #: doc/guix.texi:1671
5717 #, no-wrap
5718 msgid "guix package -i emacs-guix\n"
5719 msgstr "guix package -i emacs-guix\n"
5720
5721 #. type: Plain text
5722 #: doc/guix.texi:1690
5723 msgid ""
5724 "When using Guix, each package ends up in the @dfn{package store}, in its own "
5725 "directory---something that resembles @file{/gnu/store/xxx-package-1.2}, "
5726 "where @code{xxx} is a base32 string."
5727 msgstr ""
5728
5729 #. type: Plain text
5730 #: doc/guix.texi:1695
5731 msgid ""
5732 "Instead of referring to these directories, users have their own "
5733 "@dfn{profile}, which points to the packages that they actually want to use. "
5734 "These profiles are stored within each user's home directory, at @code{$HOME/."
5735 "guix-profile}."
5736 msgstr ""
5737
5738 #. type: Plain text
5739 #: doc/guix.texi:1703
5740 msgid ""
5741 "For example, @code{alice} installs GCC 4.7.2. As a result, @file{/home/"
5742 "alice/.guix-profile/bin/gcc} points to @file{/gnu/store/@dots{}-gcc-4.7.2/"
5743 "bin/gcc}. Now, on the same machine, @code{bob} had already installed GCC "
5744 "4.8.0. The profile of @code{bob} simply continues to point to @file{/gnu/"
5745 "store/@dots{}-gcc-4.8.0/bin/gcc}---i.e., both versions of GCC coexist on the "
5746 "same system without any interference."
5747 msgstr ""
5748
5749 #. type: Plain text
5750 #: doc/guix.texi:1707
5751 msgid ""
5752 "The @command{guix package} command is the central tool to manage packages "
5753 "(@pxref{Invoking guix package}). It operates on the per-user profiles, and "
5754 "can be used @emph{with normal user privileges}."
5755 msgstr ""
5756
5757 #. type: cindex
5758 #: doc/guix.texi:1708 doc/guix.texi:1777
5759 #, no-wrap
5760 msgid "transactions"
5761 msgstr ""
5762
5763 #. type: Plain text
5764 #: doc/guix.texi:1715
5765 msgid ""
5766 "The command provides the obvious install, remove, and upgrade operations. "
5767 "Each invocation is actually a @emph{transaction}: either the specified "
5768 "operation succeeds, or nothing happens. Thus, if the @command{guix package} "
5769 "process is terminated during the transaction, or if a power outage occurs "
5770 "during the transaction, then the user's profile remains in its previous "
5771 "state, and remains usable."
5772 msgstr ""
5773
5774 #. type: Plain text
5775 #: doc/guix.texi:1723
5776 msgid ""
5777 "In addition, any package transaction may be @emph{rolled back}. So, if, for "
5778 "example, an upgrade installs a new version of a package that turns out to "
5779 "have a serious bug, users may roll back to the previous instance of their "
5780 "profile, which was known to work well. Similarly, the global system "
5781 "configuration on GuixSD is subject to transactional upgrades and roll-back "
5782 "(@pxref{Using the Configuration System})."
5783 msgstr ""
5784
5785 #. type: Plain text
5786 #: doc/guix.texi:1730
5787 msgid ""
5788 "All packages in the package store may be @emph{garbage-collected}. Guix can "
5789 "determine which packages are still referenced by user profiles, and remove "
5790 "those that are provably no longer referenced (@pxref{Invoking guix gc}). "
5791 "Users may also explicitly remove old generations of their profile so that "
5792 "the packages they refer to can be collected."
5793 msgstr ""
5794
5795 #. type: cindex
5796 #: doc/guix.texi:1731
5797 #, no-wrap
5798 msgid "reproducibility"
5799 msgstr ""
5800
5801 #. type: Plain text
5802 #: doc/guix.texi:1743
5803 msgid ""
5804 "Finally, Guix takes a @dfn{purely functional} approach to package "
5805 "management, as described in the introduction (@pxref{Introduction}). Each "
5806 "@file{/gnu/store} package directory name contains a hash of all the inputs "
5807 "that were used to build that package---compiler, libraries, build scripts, "
5808 "etc. This direct correspondence allows users to make sure a given package "
5809 "installation matches the current state of their distribution. It also helps "
5810 "maximize @dfn{build reproducibility}: thanks to the isolated build "
5811 "environments that are used, a given build is likely to yield bit-identical "
5812 "files when performed on different machines (@pxref{Invoking guix-daemon, "
5813 "container})."
5814 msgstr ""
5815
5816 #. type: Plain text
5817 #: doc/guix.texi:1754
5818 msgid ""
5819 "This foundation allows Guix to support @dfn{transparent binary/source "
5820 "deployment}. When a pre-built binary for a @file{/gnu/store} item is "
5821 "available from an external source---a @dfn{substitute}, Guix just downloads "
5822 "it and unpacks it; otherwise, it builds the package from source, locally "
5823 "(@pxref{Substitutes}). Because build results are usually bit-for-bit "
5824 "reproducible, users do not have to trust servers that provide substitutes: "
5825 "they can force a local build and @emph{challenge} providers (@pxref{Invoking "
5826 "guix challenge})."
5827 msgstr ""
5828 "Ce fondement permet à Guix de supporter le @dfn{déploiement transparent de "
5829 "binaire ou source}. Lorsqu'une binaire pré-construit pour une entrée de "
5830 "@file{/gnu/store} est disponible depuis une source externe (un "
5831 "@dfn{substitut}), Guix le télécharge simplement et le décompresse ; sinon, "
5832 "il construit le paquet depuis les sources localement (@pxref{Substituts}). "
5833 "Comme les résultats des constructions sont généralement reproductibles au "
5834 "bit près, si vous n'avez pas besoin de faire confiance aux serveurs qui "
5835 "fournissent les substituts : vous pouvez forcer une construction locale et "
5836 "@emph{défier} les fournisseurs (@pxref{Invoking guix challenge})."
5837
5838 #. type: Plain text
5839 #: doc/guix.texi:1760
5840 msgid ""
5841 "Control over the build environment is a feature that is also useful for "
5842 "developers. The @command{guix environment} command allows developers of a "
5843 "package to quickly set up the right development environment for their "
5844 "package, without having to manually install the dependencies of the package "
5845 "into their profile (@pxref{Invoking guix environment})."
5846 msgstr ""
5847
5848 #. type: section
5849 #: doc/guix.texi:1762
5850 #, no-wrap
5851 msgid "Invoking @command{guix package}"
5852 msgstr ""
5853
5854 #. type: cindex
5855 #: doc/guix.texi:1764
5856 #, no-wrap
5857 msgid "installing packages"
5858 msgstr ""
5859
5860 #. type: cindex
5861 #: doc/guix.texi:1765
5862 #, no-wrap
5863 msgid "removing packages"
5864 msgstr ""
5865
5866 #. type: cindex
5867 #: doc/guix.texi:1766
5868 #, no-wrap
5869 msgid "package installation"
5870 msgstr ""
5871
5872 #. type: cindex
5873 #: doc/guix.texi:1767
5874 #, no-wrap
5875 msgid "package removal"
5876 msgstr ""
5877
5878 #. type: Plain text
5879 #: doc/guix.texi:1773
5880 msgid ""
5881 "The @command{guix package} command is the tool that allows users to install, "
5882 "upgrade, and remove packages, as well as rolling back to previous "
5883 "configurations. It operates only on the user's own profile, and works with "
5884 "normal user privileges (@pxref{Features}). Its syntax is:"
5885 msgstr ""
5886 "La commande @command{guix package} est l'outil qui permet d'installer, "
5887 "mettre à jour et supprimer les paquets ainsi que de revenir à une "
5888 "configuration précédente. Elle n'opère que dans le profil de l'utilisateur "
5889 "et fonctionne avec les privilèges utilisateurs normaux "
5890 "(@pxref{Fonctionnalités}). Sa syntaxe est :"
5891
5892 #. type: example
5893 #: doc/guix.texi:1776
5894 #, no-wrap
5895 msgid "guix package @var{options}\n"
5896 msgstr ""
5897
5898 #. type: Plain text
5899 #: doc/guix.texi:1782
5900 msgid ""
5901 "Primarily, @var{options} specifies the operations to be performed during the "
5902 "transaction. Upon completion, a new profile is created, but previous "
5903 "@dfn{generations} of the profile remain available, should the user want to "
5904 "roll back."
5905 msgstr ""
5906
5907 #. type: Plain text
5908 #: doc/guix.texi:1785
5909 msgid ""
5910 "For example, to remove @code{lua} and install @code{guile} and @code{guile-"
5911 "cairo} in a single transaction:"
5912 msgstr ""
5913
5914 #. type: example
5915 #: doc/guix.texi:1788
5916 #, no-wrap
5917 msgid "guix package -r lua -i guile guile-cairo\n"
5918 msgstr ""
5919
5920 #. type: Plain text
5921 #: doc/guix.texi:1794
5922 msgid ""
5923 "@command{guix package} also supports a @dfn{declarative approach} whereby "
5924 "the user specifies the exact set of packages to be available and passes it "
5925 "@i{via} the @option{--manifest} option (@pxref{profile-manifest, @option{--"
5926 "manifest}})."
5927 msgstr ""
5928
5929 #. type: cindex
5930 #: doc/guix.texi:1795
5931 #, no-wrap
5932 msgid "profile"
5933 msgstr ""
5934
5935 #. type: Plain text
5936 #: doc/guix.texi:1801
5937 msgid ""
5938 "For each user, a symlink to the user's default profile is automatically "
5939 "created in @file{$HOME/.guix-profile}. This symlink always points to the "
5940 "current generation of the user's default profile. Thus, users can add "
5941 "@file{$HOME/.guix-profile/bin} to their @code{PATH} environment variable, "
5942 "and so on."
5943 msgstr ""
5944
5945 #. type: cindex
5946 #: doc/guix.texi:1801 doc/guix.texi:1998
5947 #, no-wrap
5948 msgid "search paths"
5949 msgstr ""
5950
5951 #. type: Plain text
5952 #: doc/guix.texi:1806
5953 msgid ""
5954 "If you are not using the Guix System Distribution, consider adding the "
5955 "following lines to your @file{~/.bash_profile} (@pxref{Bash Startup Files,,, "
5956 "bash, The GNU Bash Reference Manual}) so that newly-spawned shells get all "
5957 "the right environment variable definitions:"
5958 msgstr ""
5959
5960 #. type: example
5961 #: doc/guix.texi:1810
5962 #, no-wrap
5963 msgid ""
5964 "GUIX_PROFILE=\"$HOME/.guix-profile\" ; \\\n"
5965 "source \"$HOME/.guix-profile/etc/profile\"\n"
5966 msgstr ""
5967
5968 #. type: Plain text
5969 #: doc/guix.texi:1821
5970 msgid ""
5971 "In a multi-user setup, user profiles are stored in a place registered as a "
5972 "@dfn{garbage-collector root}, which @file{$HOME/.guix-profile} points to "
5973 "(@pxref{Invoking guix gc}). That directory is normally "
5974 "@code{@var{localstatedir}/guix/profiles/per-user/@var{user}}, where "
5975 "@var{localstatedir} is the value passed to @code{configure} as @code{--"
5976 "localstatedir}, and @var{user} is the user name. The @file{per-user} "
5977 "directory is created when @command{guix-daemon} is started, and the "
5978 "@var{user} sub-directory is created by @command{guix package}."
5979 msgstr ""
5980
5981 #. type: Plain text
5982 #: doc/guix.texi:1823
5983 msgid "The @var{options} can be among the following:"
5984 msgstr ""
5985
5986 #. type: item
5987 #: doc/guix.texi:1826
5988 #, no-wrap
5989 msgid "--install=@var{package} @dots{}"
5990 msgstr ""
5991
5992 #. type: itemx
5993 #: doc/guix.texi:1827
5994 #, no-wrap
5995 msgid "-i @var{package} @dots{}"
5996 msgstr ""
5997
5998 #. type: table
5999 #: doc/guix.texi:1829
6000 msgid "Install the specified @var{package}s."
6001 msgstr ""
6002
6003 #. type: table
6004 #: doc/guix.texi:1834
6005 msgid ""
6006 "Each @var{package} may specify either a simple package name, such as "
6007 "@code{guile}, or a package name followed by an at-sign and version number, "
6008 "such as @code{guile@@1.8.8} or simply @code{guile@@1.8} (in the latter case, "
6009 "the newest version prefixed by @code{1.8} is selected.)"
6010 msgstr ""
6011
6012 #. type: table
6013 #: doc/guix.texi:1842
6014 msgid ""
6015 "If no version number is specified, the newest available version will be "
6016 "selected. In addition, @var{package} may contain a colon, followed by the "
6017 "name of one of the outputs of the package, as in @code{gcc:doc} or "
6018 "@code{binutils@@2.22:lib} (@pxref{Packages with Multiple Outputs}). "
6019 "Packages with a corresponding name (and optionally version) are searched for "
6020 "among the GNU distribution modules (@pxref{Package Modules})."
6021 msgstr ""
6022
6023 #. type: cindex
6024 #: doc/guix.texi:1843
6025 #, no-wrap
6026 msgid "propagated inputs"
6027 msgstr ""
6028
6029 #. type: table
6030 #: doc/guix.texi:1849
6031 msgid ""
6032 "Sometimes packages have @dfn{propagated inputs}: these are dependencies that "
6033 "automatically get installed along with the required package (@pxref{package-"
6034 "propagated-inputs, @code{propagated-inputs} in @code{package} objects}, for "
6035 "information about propagated inputs in package definitions)."
6036 msgstr ""
6037
6038 #. type: anchor{#1}
6039 #: doc/guix.texi:1856
6040 msgid "package-cmd-propagated-inputs"
6041 msgstr ""
6042
6043 #. type: table
6044 #: doc/guix.texi:1856
6045 msgid ""
6046 "An example is the GNU MPC library: its C header files refer to those of the "
6047 "GNU MPFR library, which in turn refer to those of the GMP library. Thus, "
6048 "when installing MPC, the MPFR and GMP libraries also get installed in the "
6049 "profile; removing MPC also removes MPFR and GMP---unless they had also been "
6050 "explicitly installed by the user."
6051 msgstr ""
6052
6053 #. type: table
6054 #: doc/guix.texi:1861
6055 msgid ""
6056 "Besides, packages sometimes rely on the definition of environment variables "
6057 "for their search paths (see explanation of @code{--search-paths} below). "
6058 "Any missing or possibly incorrect environment variable definitions are "
6059 "reported here."
6060 msgstr ""
6061
6062 #. type: item
6063 #: doc/guix.texi:1862
6064 #, no-wrap
6065 msgid "--install-from-expression=@var{exp}"
6066 msgstr ""
6067
6068 #. type: itemx
6069 #: doc/guix.texi:1863
6070 #, no-wrap
6071 msgid "-e @var{exp}"
6072 msgstr ""
6073
6074 #. type: table
6075 #: doc/guix.texi:1865
6076 msgid "Install the package @var{exp} evaluates to."
6077 msgstr ""
6078
6079 #. type: table
6080 #: doc/guix.texi:1870
6081 msgid ""
6082 "@var{exp} must be a Scheme expression that evaluates to a @code{<package>} "
6083 "object. This option is notably useful to disambiguate between same-named "
6084 "variants of a package, with expressions such as @code{(@@ (gnu packages "
6085 "base) guile-final)}."
6086 msgstr ""
6087
6088 #. type: table
6089 #: doc/guix.texi:1874
6090 msgid ""
6091 "Note that this option installs the first output of the specified package, "
6092 "which may be insufficient when needing a specific output of a multiple-"
6093 "output package."
6094 msgstr ""
6095
6096 #. type: item
6097 #: doc/guix.texi:1875
6098 #, no-wrap
6099 msgid "--install-from-file=@var{file}"
6100 msgstr ""
6101
6102 #. type: itemx
6103 #: doc/guix.texi:1876 doc/guix.texi:5699
6104 #, no-wrap
6105 msgid "-f @var{file}"
6106 msgstr ""
6107
6108 #. type: table
6109 #: doc/guix.texi:1878
6110 msgid "Install the package that the code within @var{file} evaluates to."
6111 msgstr ""
6112
6113 #. type: table
6114 #: doc/guix.texi:1881 doc/guix.texi:7283
6115 msgid ""
6116 "As an example, @var{file} might contain a definition like this "
6117 "(@pxref{Defining Packages}):"
6118 msgstr ""
6119
6120 #. type: example
6121 #: doc/guix.texi:1884 doc/guix.texi:5709
6122 #, no-wrap
6123 msgid "@verbatiminclude package-hello.scm\n"
6124 msgstr ""
6125
6126 #. type: table
6127 #: doc/guix.texi:1890
6128 msgid ""
6129 "Developers may find it useful to include such a @file{guix.scm} file in the "
6130 "root of their project source tree that can be used to test development "
6131 "snapshots and create reproducible development environments (@pxref{Invoking "
6132 "guix environment})."
6133 msgstr ""
6134
6135 #. type: item
6136 #: doc/guix.texi:1891
6137 #, no-wrap
6138 msgid "--remove=@var{package} @dots{}"
6139 msgstr ""
6140
6141 #. type: itemx
6142 #: doc/guix.texi:1892
6143 #, no-wrap
6144 msgid "-r @var{package} @dots{}"
6145 msgstr ""
6146
6147 #. type: table
6148 #: doc/guix.texi:1894
6149 msgid "Remove the specified @var{package}s."
6150 msgstr ""
6151
6152 #. type: table
6153 #: doc/guix.texi:1899
6154 msgid ""
6155 "As for @code{--install}, each @var{package} may specify a version number and/"
6156 "or output name in addition to the package name. For instance, @code{-r "
6157 "glibc:debug} would remove the @code{debug} output of @code{glibc}."
6158 msgstr ""
6159
6160 #. type: item
6161 #: doc/guix.texi:1900
6162 #, no-wrap
6163 msgid "--upgrade[=@var{regexp} @dots{}]"
6164 msgstr ""
6165
6166 #. type: itemx
6167 #: doc/guix.texi:1901
6168 #, no-wrap
6169 msgid "-u [@var{regexp} @dots{}]"
6170 msgstr ""
6171
6172 #. type: cindex
6173 #: doc/guix.texi:1902
6174 #, no-wrap
6175 msgid "upgrading packages"
6176 msgstr ""
6177
6178 #. type: table
6179 #: doc/guix.texi:1906
6180 msgid ""
6181 "Upgrade all the installed packages. If one or more @var{regexp}s are "
6182 "specified, upgrade only installed packages whose name matches a "
6183 "@var{regexp}. Also see the @code{--do-not-upgrade} option below."
6184 msgstr ""
6185
6186 #. type: table
6187 #: doc/guix.texi:1911
6188 msgid ""
6189 "Note that this upgrades package to the latest version of packages found in "
6190 "the distribution currently installed. To update your distribution, you "
6191 "should regularly run @command{guix pull} (@pxref{Invoking guix pull})."
6192 msgstr ""
6193
6194 #. type: item
6195 #: doc/guix.texi:1912
6196 #, no-wrap
6197 msgid "--do-not-upgrade[=@var{regexp} @dots{}]"
6198 msgstr ""
6199
6200 #. type: table
6201 #: doc/guix.texi:1917
6202 msgid ""
6203 "When used together with the @code{--upgrade} option, do @emph{not} upgrade "
6204 "any packages whose name matches a @var{regexp}. For example, to upgrade all "
6205 "packages in the current profile except those containing the substring "
6206 "``emacs'':"
6207 msgstr ""
6208
6209 #. type: example
6210 #: doc/guix.texi:1920
6211 #, no-wrap
6212 msgid "$ guix package --upgrade . --do-not-upgrade emacs\n"
6213 msgstr ""
6214
6215 #. type: anchor{#1}
6216 #: doc/guix.texi:1922
6217 #, no-wrap
6218 msgid "profile-manifest"
6219 msgstr ""
6220
6221 #. type: item
6222 #: doc/guix.texi:1922 doc/guix.texi:2877 doc/guix.texi:6577 doc/guix.texi:7288
6223 #: doc/guix.texi:7972
6224 #, no-wrap
6225 msgid "--manifest=@var{file}"
6226 msgstr ""
6227
6228 #. type: itemx
6229 #: doc/guix.texi:1923 doc/guix.texi:2878 doc/guix.texi:6578 doc/guix.texi:7289
6230 #, no-wrap
6231 msgid "-m @var{file}"
6232 msgstr ""
6233
6234 #. type: cindex
6235 #: doc/guix.texi:1924
6236 #, no-wrap
6237 msgid "profile declaration"
6238 msgstr ""
6239
6240 #. type: cindex
6241 #: doc/guix.texi:1925
6242 #, no-wrap
6243 msgid "profile manifest"
6244 msgstr ""
6245
6246 #. type: table
6247 #: doc/guix.texi:1928
6248 msgid ""
6249 "Create a new generation of the profile from the manifest object returned by "
6250 "the Scheme code in @var{file}."
6251 msgstr ""
6252
6253 #. type: table
6254 #: doc/guix.texi:1934
6255 msgid ""
6256 "This allows you to @emph{declare} the profile's contents rather than "
6257 "constructing it through a sequence of @code{--install} and similar "
6258 "commands. The advantage is that @var{file} can be put under version "
6259 "control, copied to different machines to reproduce the same profile, and so "
6260 "on."
6261 msgstr ""
6262
6263 #. type: table
6264 #: doc/guix.texi:1938
6265 msgid ""
6266 "@var{file} must return a @dfn{manifest} object, which is roughly a list of "
6267 "packages:"
6268 msgstr ""
6269
6270 #. type: findex
6271 #: doc/guix.texi:1939
6272 #, no-wrap
6273 msgid "packages->manifest"
6274 msgstr ""
6275
6276 #. type: example
6277 #: doc/guix.texi:1942
6278 #, no-wrap
6279 msgid ""
6280 "(use-package-modules guile emacs)\n"
6281 "\n"
6282 msgstr ""
6283
6284 #. type: example
6285 #: doc/guix.texi:1948
6286 #, no-wrap
6287 msgid ""
6288 "(packages->manifest\n"
6289 " (list emacs\n"
6290 " guile-2.0\n"
6291 " ;; Use a specific package output.\n"
6292 " (list guile-2.0 \"debug\")))\n"
6293 msgstr ""
6294
6295 #. type: findex
6296 #: doc/guix.texi:1950
6297 #, no-wrap
6298 msgid "specifications->manifest"
6299 msgstr ""
6300
6301 #. type: table
6302 #: doc/guix.texi:1957
6303 msgid ""
6304 "In this example we have to know which modules define the @code{emacs} and "
6305 "@code{guile-2.0} variables to provide the right @code{use-package-modules} "
6306 "line, which can be cumbersome. We can instead provide regular package "
6307 "specifications and let @code{specifications->manifest} look up the "
6308 "corresponding package objects, like this:"
6309 msgstr ""
6310
6311 #. type: example
6312 #: doc/guix.texi:1961
6313 #, no-wrap
6314 msgid ""
6315 "(specifications->manifest\n"
6316 " '(\"emacs\" \"guile@@2.2\" \"guile@@2.2:debug\"))\n"
6317 msgstr ""
6318
6319 #. type: item
6320 #: doc/guix.texi:1963
6321 #, no-wrap
6322 msgid "--roll-back"
6323 msgstr ""
6324
6325 #. type: cindex
6326 #: doc/guix.texi:1964 doc/guix.texi:20427
6327 #, no-wrap
6328 msgid "rolling back"
6329 msgstr ""
6330
6331 #. type: cindex
6332 #: doc/guix.texi:1965
6333 #, no-wrap
6334 msgid "undoing transactions"
6335 msgstr ""
6336
6337 #. type: cindex
6338 #: doc/guix.texi:1966
6339 #, no-wrap
6340 msgid "transactions, undoing"
6341 msgstr ""
6342
6343 #. type: table
6344 #: doc/guix.texi:1969
6345 msgid ""
6346 "Roll back to the previous @dfn{generation} of the profile---i.e., undo the "
6347 "last transaction."
6348 msgstr ""
6349
6350 #. type: table
6351 #: doc/guix.texi:1972
6352 msgid ""
6353 "When combined with options such as @code{--install}, roll back occurs before "
6354 "any other actions."
6355 msgstr ""
6356
6357 #. type: table
6358 #: doc/guix.texi:1976
6359 msgid ""
6360 "When rolling back from the first generation that actually contains installed "
6361 "packages, the profile is made to point to the @dfn{zeroth generation}, which "
6362 "contains no files apart from its own metadata."
6363 msgstr ""
6364
6365 #. type: table
6366 #: doc/guix.texi:1980
6367 msgid ""
6368 "After having rolled back, installing, removing, or upgrading packages "
6369 "overwrites previous future generations. Thus, the history of the "
6370 "generations in a profile is always linear."
6371 msgstr ""
6372
6373 #. type: item
6374 #: doc/guix.texi:1981
6375 #, no-wrap
6376 msgid "--switch-generation=@var{pattern}"
6377 msgstr ""
6378
6379 #. type: itemx
6380 #: doc/guix.texi:1982
6381 #, no-wrap
6382 msgid "-S @var{pattern}"
6383 msgstr ""
6384
6385 #. type: cindex
6386 #: doc/guix.texi:1983 doc/guix.texi:2181 doc/guix.texi:20385
6387 #, no-wrap
6388 msgid "generations"
6389 msgstr ""
6390
6391 #. type: table
6392 #: doc/guix.texi:1985
6393 msgid "Switch to a particular generation defined by @var{pattern}."
6394 msgstr ""
6395
6396 #. type: table
6397 #: doc/guix.texi:1991
6398 msgid ""
6399 "@var{pattern} may be either a generation number or a number prefixed with ``"
6400 "+'' or ``-''. The latter means: move forward/backward by a specified number "
6401 "of generations. For example, if you want to return to the latest generation "
6402 "after @code{--roll-back}, use @code{--switch-generation=+1}."
6403 msgstr ""
6404
6405 #. type: table
6406 #: doc/guix.texi:1996
6407 msgid ""
6408 "The difference between @code{--roll-back} and @code{--switch-generation=-1} "
6409 "is that @code{--switch-generation} will not make a zeroth generation, so if "
6410 "a specified generation does not exist, the current generation will not be "
6411 "changed."
6412 msgstr ""
6413
6414 #. type: item
6415 #: doc/guix.texi:1997
6416 #, no-wrap
6417 msgid "--search-paths[=@var{kind}]"
6418 msgstr ""
6419
6420 #. type: table
6421 #: doc/guix.texi:2003
6422 msgid ""
6423 "Report environment variable definitions, in Bash syntax, that may be needed "
6424 "in order to use the set of installed packages. These environment variables "
6425 "are used to specify @dfn{search paths} for files used by some of the "
6426 "installed packages."
6427 msgstr ""
6428
6429 #. type: table
6430 #: doc/guix.texi:2011
6431 msgid ""
6432 "For example, GCC needs the @code{CPATH} and @code{LIBRARY_PATH} environment "
6433 "variables to be defined so it can look for headers and libraries in the "
6434 "user's profile (@pxref{Environment Variables,,, gcc, Using the GNU Compiler "
6435 "Collection (GCC)}). If GCC and, say, the C library are installed in the "
6436 "profile, then @code{--search-paths} will suggest setting these variables to "
6437 "@code{@var{profile}/include} and @code{@var{profile}/lib}, respectively."
6438 msgstr ""
6439
6440 #. type: table
6441 #: doc/guix.texi:2014
6442 msgid ""
6443 "The typical use case is to define these environment variables in the shell:"
6444 msgstr ""
6445
6446 #. type: example
6447 #: doc/guix.texi:2017
6448 #, no-wrap
6449 msgid "$ eval `guix package --search-paths`\n"
6450 msgstr ""
6451
6452 #. type: table
6453 #: doc/guix.texi:2023
6454 msgid ""
6455 "@var{kind} may be one of @code{exact}, @code{prefix}, or @code{suffix}, "
6456 "meaning that the returned environment variable definitions will either be "
6457 "exact settings, or prefixes or suffixes of the current value of these "
6458 "variables. When omitted, @var{kind} defaults to @code{exact}."
6459 msgstr ""
6460
6461 #. type: table
6462 #: doc/guix.texi:2026
6463 msgid ""
6464 "This option can also be used to compute the @emph{combined} search paths of "
6465 "several profiles. Consider this example:"
6466 msgstr ""
6467
6468 #. type: example
6469 #: doc/guix.texi:2031
6470 #, no-wrap
6471 msgid ""
6472 "$ guix package -p foo -i guile\n"
6473 "$ guix package -p bar -i guile-json\n"
6474 "$ guix package -p foo -p bar --search-paths\n"
6475 msgstr ""
6476
6477 #. type: table
6478 #: doc/guix.texi:2036
6479 msgid ""
6480 "The last command above reports about the @code{GUILE_LOAD_PATH} variable, "
6481 "even though, taken individually, neither @file{foo} nor @file{bar} would "
6482 "lead to that recommendation."
6483 msgstr ""
6484
6485 #. type: item
6486 #: doc/guix.texi:2038
6487 #, no-wrap
6488 msgid "--profile=@var{profile}"
6489 msgstr ""
6490
6491 #. type: itemx
6492 #: doc/guix.texi:2039
6493 #, no-wrap
6494 msgid "-p @var{profile}"
6495 msgstr ""
6496
6497 #. type: table
6498 #: doc/guix.texi:2041
6499 msgid "Use @var{profile} instead of the user's default profile."
6500 msgstr ""
6501
6502 #. type: cindex
6503 #: doc/guix.texi:2042
6504 #, no-wrap
6505 msgid "collisions, in a profile"
6506 msgstr ""
6507
6508 #. type: cindex
6509 #: doc/guix.texi:2043
6510 #, no-wrap
6511 msgid "colliding packages in profiles"
6512 msgstr ""
6513
6514 #. type: cindex
6515 #: doc/guix.texi:2044
6516 #, no-wrap
6517 msgid "profile collisions"
6518 msgstr ""
6519
6520 #. type: item
6521 #: doc/guix.texi:2045
6522 #, no-wrap
6523 msgid "--allow-collisions"
6524 msgstr ""
6525
6526 #. type: table
6527 #: doc/guix.texi:2047
6528 msgid "Allow colliding packages in the new profile. Use at your own risk!"
6529 msgstr ""
6530
6531 #. type: table
6532 #: doc/guix.texi:2051
6533 msgid ""
6534 "By default, @command{guix package} reports as an error @dfn{collisions} in "
6535 "the profile. Collisions happen when two or more different versions or "
6536 "variants of a given package end up in the profile."
6537 msgstr ""
6538
6539 #. type: item
6540 #: doc/guix.texi:2052 doc/guix.texi:2754 doc/guix.texi:7777
6541 #, no-wrap
6542 msgid "--verbose"
6543 msgstr ""
6544
6545 #. type: table
6546 #: doc/guix.texi:2055
6547 msgid ""
6548 "Produce verbose output. In particular, emit the build log of the "
6549 "environment on the standard error port."
6550 msgstr ""
6551
6552 #. type: item
6553 #: doc/guix.texi:2056 doc/guix.texi:2773 doc/guix.texi:2931
6554 #, no-wrap
6555 msgid "--bootstrap"
6556 msgstr ""
6557
6558 #. type: table
6559 #: doc/guix.texi:2059
6560 msgid ""
6561 "Use the bootstrap Guile to build the profile. This option is only useful to "
6562 "distribution developers."
6563 msgstr ""
6564
6565 #. type: Plain text
6566 #: doc/guix.texi:2065
6567 msgid ""
6568 "In addition to these actions, @command{guix package} supports the following "
6569 "options to query the current state of a profile, or the availability of "
6570 "packages:"
6571 msgstr ""
6572
6573 #. type: item
6574 #: doc/guix.texi:2068
6575 #, no-wrap
6576 msgid "--search=@var{regexp}"
6577 msgstr ""
6578
6579 #. type: itemx
6580 #: doc/guix.texi:2069
6581 #, no-wrap
6582 msgid "-s @var{regexp}"
6583 msgstr ""
6584
6585 #. type: cindex
6586 #: doc/guix.texi:2070
6587 #, no-wrap
6588 msgid "searching for packages"
6589 msgstr ""
6590
6591 #. type: table
6592 #: doc/guix.texi:2075
6593 msgid ""
6594 "List the available packages whose name, synopsis, or description matches "
6595 "@var{regexp}, sorted by relevance. Print all the metadata of matching "
6596 "packages in @code{recutils} format (@pxref{Top, GNU recutils databases,, "
6597 "recutils, GNU recutils manual})."
6598 msgstr ""
6599
6600 #. type: table
6601 #: doc/guix.texi:2078
6602 msgid ""
6603 "This allows specific fields to be extracted using the @command{recsel} "
6604 "command, for instance:"
6605 msgstr ""
6606
6607 #. type: example
6608 #: doc/guix.texi:2084
6609 #, no-wrap
6610 msgid ""
6611 "$ guix package -s malloc | recsel -p name,version,relevance\n"
6612 "name: jemalloc\n"
6613 "version: 4.5.0\n"
6614 "relevance: 6\n"
6615 "\n"
6616 msgstr ""
6617
6618 #. type: example
6619 #: doc/guix.texi:2088
6620 #, no-wrap
6621 msgid ""
6622 "name: glibc\n"
6623 "version: 2.25\n"
6624 "relevance: 1\n"
6625 "\n"
6626 msgstr ""
6627
6628 #. type: example
6629 #: doc/guix.texi:2092
6630 #, no-wrap
6631 msgid ""
6632 "name: libgc\n"
6633 "version: 7.6.0\n"
6634 "relevance: 1\n"
6635 msgstr ""
6636
6637 #. type: table
6638 #: doc/guix.texi:2096
6639 msgid ""
6640 "Similarly, to show the name of all the packages available under the terms of "
6641 "the GNU@tie{}LGPL version 3:"
6642 msgstr ""
6643
6644 #. type: example
6645 #: doc/guix.texi:2100
6646 #, no-wrap
6647 msgid ""
6648 "$ guix package -s \"\" | recsel -p name -e 'license ~ \"LGPL 3\"'\n"
6649 "name: elfutils\n"
6650 "\n"
6651 msgstr ""
6652
6653 #. type: example
6654 #: doc/guix.texi:2103
6655 #, no-wrap
6656 msgid ""
6657 "name: gmp\n"
6658 "@dots{}\n"
6659 msgstr ""
6660
6661 #. type: table
6662 #: doc/guix.texi:2108
6663 msgid ""
6664 "It is also possible to refine search results using several @code{-s} flags. "
6665 "For example, the following command returns a list of board games:"
6666 msgstr ""
6667
6668 #. type: example
6669 #: doc/guix.texi:2113
6670 #, no-wrap
6671 msgid ""
6672 "$ guix package -s '\\<board\\>' -s game | recsel -p name\n"
6673 "name: gnubg\n"
6674 "@dots{}\n"
6675 msgstr ""
6676
6677 #. type: table
6678 #: doc/guix.texi:2119
6679 msgid ""
6680 "If we were to omit @code{-s game}, we would also get software packages that "
6681 "deal with printed circuit boards; removing the angle brackets around "
6682 "@code{board} would further add packages that have to do with keyboards."
6683 msgstr ""
6684
6685 #. type: table
6686 #: doc/guix.texi:2123
6687 msgid ""
6688 "And now for a more elaborate example. The following command searches for "
6689 "cryptographic libraries, filters out Haskell, Perl, Python, and Ruby "
6690 "libraries, and prints the name and synopsis of the matching packages:"
6691 msgstr ""
6692
6693 #. type: example
6694 #: doc/guix.texi:2127
6695 #, no-wrap
6696 msgid ""
6697 "$ guix package -s crypto -s library | \\\n"
6698 " recsel -e '! (name ~ \"^(ghc|perl|python|ruby)\")' -p name,synopsis\n"
6699 msgstr ""
6700
6701 #. type: table
6702 #: doc/guix.texi:2132
6703 msgid ""
6704 "@xref{Selection Expressions,,, recutils, GNU recutils manual}, for more "
6705 "information on @dfn{selection expressions} for @code{recsel -e}."
6706 msgstr ""
6707
6708 #. type: item
6709 #: doc/guix.texi:2133
6710 #, no-wrap
6711 msgid "--show=@var{package}"
6712 msgstr ""
6713
6714 #. type: table
6715 #: doc/guix.texi:2137
6716 msgid ""
6717 "Show details about @var{package}, taken from the list of available packages, "
6718 "in @code{recutils} format (@pxref{Top, GNU recutils databases,, recutils, "
6719 "GNU recutils manual})."
6720 msgstr ""
6721
6722 #. type: example
6723 #: doc/guix.texi:2142
6724 #, no-wrap
6725 msgid ""
6726 "$ guix package --show=python | recsel -p name,version\n"
6727 "name: python\n"
6728 "version: 2.7.6\n"
6729 "\n"
6730 msgstr ""
6731
6732 #. type: example
6733 #: doc/guix.texi:2145
6734 #, no-wrap
6735 msgid ""
6736 "name: python\n"
6737 "version: 3.3.5\n"
6738 msgstr ""
6739
6740 #. type: table
6741 #: doc/guix.texi:2149
6742 msgid ""
6743 "You may also specify the full name of a package to only get details about a "
6744 "specific version of it:"
6745 msgstr ""
6746
6747 #. type: example
6748 #: doc/guix.texi:2153
6749 #, no-wrap
6750 msgid ""
6751 "$ guix package --show=python@@3.4 | recsel -p name,version\n"
6752 "name: python\n"
6753 "version: 3.4.3\n"
6754 msgstr ""
6755
6756 #. type: item
6757 #: doc/guix.texi:2157
6758 #, no-wrap
6759 msgid "--list-installed[=@var{regexp}]"
6760 msgstr ""
6761
6762 #. type: itemx
6763 #: doc/guix.texi:2158
6764 #, no-wrap
6765 msgid "-I [@var{regexp}]"
6766 msgstr ""
6767
6768 #. type: table
6769 #: doc/guix.texi:2162
6770 msgid ""
6771 "List the currently installed packages in the specified profile, with the "
6772 "most recently installed packages shown last. When @var{regexp} is "
6773 "specified, list only installed packages whose name matches @var{regexp}."
6774 msgstr ""
6775
6776 #. type: table
6777 #: doc/guix.texi:2168
6778 msgid ""
6779 "For each installed package, print the following items, separated by tabs: "
6780 "the package name, its version string, the part of the package that is "
6781 "installed (for instance, @code{out} for the default output, @code{include} "
6782 "for its headers, etc.), and the path of this package in the store."
6783 msgstr ""
6784
6785 #. type: item
6786 #: doc/guix.texi:2169
6787 #, no-wrap
6788 msgid "--list-available[=@var{regexp}]"
6789 msgstr ""
6790
6791 #. type: itemx
6792 #: doc/guix.texi:2170
6793 #, no-wrap
6794 msgid "-A [@var{regexp}]"
6795 msgstr ""
6796
6797 #. type: table
6798 #: doc/guix.texi:2174
6799 msgid ""
6800 "List packages currently available in the distribution for this system "
6801 "(@pxref{GNU Distribution}). When @var{regexp} is specified, list only "
6802 "installed packages whose name matches @var{regexp}."
6803 msgstr ""
6804 "Liste les paquets actuellement disponibles dans la distribution pour ce "
6805 "système (@pxref{Distribution GNU}). Lorsque @var{regexp} est spécifié, liste "
6806 "uniquement les paquets dont le nom correspond à @var{regexp}."
6807
6808 #. type: table
6809 #: doc/guix.texi:2178
6810 msgid ""
6811 "For each package, print the following items separated by tabs: its name, its "
6812 "version string, the parts of the package (@pxref{Packages with Multiple "
6813 "Outputs}), and the source location of its definition."
6814 msgstr ""
6815
6816 #. type: item
6817 #: doc/guix.texi:2179
6818 #, no-wrap
6819 msgid "--list-generations[=@var{pattern}]"
6820 msgstr ""
6821
6822 #. type: itemx
6823 #: doc/guix.texi:2180
6824 #, no-wrap
6825 msgid "-l [@var{pattern}]"
6826 msgstr ""
6827
6828 #. type: table
6829 #: doc/guix.texi:2186
6830 msgid ""
6831 "Return a list of generations along with their creation dates; for each "
6832 "generation, show the installed packages, with the most recently installed "
6833 "packages shown last. Note that the zeroth generation is never shown."
6834 msgstr ""
6835
6836 #. type: table
6837 #: doc/guix.texi:2191
6838 msgid ""
6839 "For each installed package, print the following items, separated by tabs: "
6840 "the name of a package, its version string, the part of the package that is "
6841 "installed (@pxref{Packages with Multiple Outputs}), and the location of this "
6842 "package in the store."
6843 msgstr ""
6844
6845 #. type: table
6846 #: doc/guix.texi:2194
6847 msgid ""
6848 "When @var{pattern} is used, the command returns only matching generations. "
6849 "Valid patterns include:"
6850 msgstr ""
6851
6852 #. type: item
6853 #: doc/guix.texi:2196
6854 #, no-wrap
6855 msgid "@emph{Integers and comma-separated integers}. Both patterns denote"
6856 msgstr ""
6857
6858 #. type: itemize
6859 #: doc/guix.texi:2199
6860 msgid ""
6861 "generation numbers. For instance, @code{--list-generations=1} returns the "
6862 "first one."
6863 msgstr ""
6864
6865 #. type: itemize
6866 #: doc/guix.texi:2202
6867 msgid ""
6868 "And @code{--list-generations=1,8,2} outputs three generations in the "
6869 "specified order. Neither spaces nor trailing commas are allowed."
6870 msgstr ""
6871
6872 #. type: item
6873 #: doc/guix.texi:2203
6874 #, no-wrap
6875 msgid "@emph{Ranges}. @code{--list-generations=2..9} prints the"
6876 msgstr ""
6877
6878 #. type: itemize
6879 #: doc/guix.texi:2206
6880 msgid ""
6881 "specified generations and everything in between. Note that the start of a "
6882 "range must be smaller than its end."
6883 msgstr ""
6884
6885 #. type: itemize
6886 #: doc/guix.texi:2210
6887 msgid ""
6888 "It is also possible to omit the endpoint. For example, @code{--list-"
6889 "generations=2..}, returns all generations starting from the second one."
6890 msgstr ""
6891
6892 #. type: item
6893 #: doc/guix.texi:2211
6894 #, no-wrap
6895 msgid "@emph{Durations}. You can also get the last @emph{N}@tie{}days, weeks,"
6896 msgstr ""
6897
6898 #. type: itemize
6899 #: doc/guix.texi:2215
6900 msgid ""
6901 "or months by passing an integer along with the first letter of the "
6902 "duration. For example, @code{--list-generations=20d} lists generations that "
6903 "are up to 20 days old."
6904 msgstr ""
6905
6906 #. type: item
6907 #: doc/guix.texi:2217
6908 #, no-wrap
6909 msgid "--delete-generations[=@var{pattern}]"
6910 msgstr ""
6911
6912 #. type: itemx
6913 #: doc/guix.texi:2218
6914 #, no-wrap
6915 msgid "-d [@var{pattern}]"
6916 msgstr ""
6917
6918 #. type: table
6919 #: doc/guix.texi:2221
6920 msgid ""
6921 "When @var{pattern} is omitted, delete all generations except the current one."
6922 msgstr ""
6923
6924 #. type: table
6925 #: doc/guix.texi:2227
6926 msgid ""
6927 "This command accepts the same patterns as @option{--list-generations}. When "
6928 "@var{pattern} is specified, delete the matching generations. When "
6929 "@var{pattern} specifies a duration, generations @emph{older} than the "
6930 "specified duration match. For instance, @code{--delete-generations=1m} "
6931 "deletes generations that are more than one month old."
6932 msgstr ""
6933
6934 #. type: table
6935 #: doc/guix.texi:2230
6936 msgid ""
6937 "If the current generation matches, it is @emph{not} deleted. Also, the "
6938 "zeroth generation is never deleted."
6939 msgstr ""
6940
6941 #. type: table
6942 #: doc/guix.texi:2233
6943 msgid ""
6944 "Note that deleting generations prevents rolling back to them. Consequently, "
6945 "this command must be used with care."
6946 msgstr ""
6947
6948 #. type: Plain text
6949 #: doc/guix.texi:2244
6950 msgid ""
6951 "Finally, since @command{guix package} may actually start build processes, it "
6952 "supports all the common build options (@pxref{Common Build Options}). It "
6953 "also supports package transformation options, such as @option{--with-source} "
6954 "(@pxref{Package Transformation Options}). However, note that package "
6955 "transformations are lost when upgrading; to preserve transformations across "
6956 "upgrades, you should define your own package variant in a Guile module and "
6957 "add it to @code{GUIX_PACKAGE_PATH} (@pxref{Defining Packages})."
6958 msgstr ""
6959
6960 #. type: cindex
6961 #: doc/guix.texi:2249
6962 #, no-wrap
6963 msgid "pre-built binaries"
6964 msgstr ""
6965
6966 #. type: Plain text
6967 #: doc/guix.texi:2255
6968 msgid ""
6969 "Guix supports transparent source/binary deployment, which means that it can "
6970 "either build things locally, or download pre-built items from a server, or "
6971 "both. We call these pre-built items @dfn{substitutes}---they are "
6972 "substitutes for local build results. In many cases, downloading a "
6973 "substitute is much faster than building things locally."
6974 msgstr ""
6975
6976 #. type: Plain text
6977 #: doc/guix.texi:2260
6978 msgid ""
6979 "Substitutes can be anything resulting from a derivation build "
6980 "(@pxref{Derivations}). Of course, in the common case, they are pre-built "
6981 "package binaries, but source tarballs, for instance, which also result from "
6982 "derivation builds, can be available as substitutes."
6983 msgstr ""
6984
6985 #. type: cindex
6986 #: doc/guix.texi:2273
6987 #, no-wrap
6988 msgid "hydra"
6989 msgstr ""
6990
6991 #. type: cindex
6992 #: doc/guix.texi:2274
6993 #, no-wrap
6994 msgid "build farm"
6995 msgstr ""
6996
6997 #. type: Plain text
6998 #: doc/guix.texi:2284
6999 msgid ""
7000 "The @code{mirror.hydra.gnu.org} server is a front-end to an official build "
7001 "farm that builds packages from Guix continuously for some architectures, and "
7002 "makes them available as substitutes. This is the default source of "
7003 "substitutes; it can be overridden by passing the @option{--substitute-urls} "
7004 "option either to @command{guix-daemon} (@pxref{daemon-substitute-urls,, "
7005 "@code{guix-daemon --substitute-urls}}) or to client tools such as "
7006 "@command{guix package} (@pxref{client-substitute-urls,, client @option{--"
7007 "substitute-urls} option})."
7008 msgstr ""
7009
7010 #. type: Plain text
7011 #: doc/guix.texi:2290
7012 msgid ""
7013 "Substitute URLs can be either HTTP or HTTPS. HTTPS is recommended because "
7014 "communications are encrypted; conversely, using HTTP makes all "
7015 "communications visible to an eavesdropper, who could use the information "
7016 "gathered to determine, for instance, whether your system has unpatched "
7017 "security vulnerabilities."
7018 msgstr ""
7019
7020 #. type: Plain text
7021 #: doc/guix.texi:2299
7022 msgid ""
7023 "Substitutes from the official build farm are enabled by default when using "
7024 "the Guix System Distribution (@pxref{GNU Distribution}). However, they are "
7025 "disabled by default when using Guix on a foreign distribution, unless you "
7026 "have explicitly enabled them via one of the recommended installation steps "
7027 "(@pxref{Installation}). The following paragraphs describe how to enable or "
7028 "disable substitutes for the official build farm; the same procedure can also "
7029 "be used to enable substitutes for any other substitute server."
7030 msgstr ""
7031
7032 #. type: cindex
7033 #: doc/guix.texi:2303
7034 #, no-wrap
7035 msgid "security"
7036 msgstr ""
7037
7038 #. type: cindex
7039 #: doc/guix.texi:2305
7040 #, no-wrap
7041 msgid "access control list (ACL), for substitutes"
7042 msgstr ""
7043
7044 #. type: cindex
7045 #: doc/guix.texi:2306
7046 #, no-wrap
7047 msgid "ACL (access control list), for substitutes"
7048 msgstr ""
7049
7050 #. type: Plain text
7051 #: doc/guix.texi:2313
7052 msgid ""
7053 "To allow Guix to download substitutes from @code{hydra.gnu.org} or a mirror "
7054 "thereof, you must add its public key to the access control list (ACL) of "
7055 "archive imports, using the @command{guix archive} command (@pxref{Invoking "
7056 "guix archive}). Doing so implies that you trust @code{hydra.gnu.org} to not "
7057 "be compromised and to serve genuine substitutes."
7058 msgstr ""
7059
7060 #. type: Plain text
7061 #: doc/guix.texi:2320
7062 msgid ""
7063 "The public key for @code{hydra.gnu.org} is installed along with Guix, in "
7064 "@code{@var{prefix}/share/guix/hydra.gnu.org.pub}, where @var{prefix} is the "
7065 "installation prefix of Guix. If you installed Guix from source, make sure "
7066 "you checked the GPG signature of @file{guix-@value{VERSION}.tar.gz}, which "
7067 "contains this public key file. Then, you can run something like this:"
7068 msgstr ""
7069
7070 #. type: example
7071 #: doc/guix.texi:2323
7072 #, no-wrap
7073 msgid "# guix archive --authorize < @var{prefix}/share/guix/hydra.gnu.org.pub\n"
7074 msgstr ""
7075
7076 #. type: quotation
7077 #: doc/guix.texi:2329
7078 msgid ""
7079 "Similarly, the @file{berlin.guixsd.org.pub} file contains the public key for "
7080 "the project's new build farm, reachable at @indicateurl{https://berlin."
7081 "guixsd.org}."
7082 msgstr ""
7083
7084 #. type: quotation
7085 #: doc/guix.texi:2334
7086 msgid ""
7087 "As of this writing @code{berlin.guixsd.org} is being upgraded so it can "
7088 "better scale up, but you might want to give it a try. It is backed by 20 "
7089 "x86_64/i686 build nodes and may be able to provide substitutes more quickly "
7090 "than @code{mirror.hydra.gnu.org}."
7091 msgstr ""
7092
7093 #. type: Plain text
7094 #: doc/guix.texi:2338
7095 msgid ""
7096 "Once this is in place, the output of a command like @code{guix build} should "
7097 "change from something like:"
7098 msgstr ""
7099
7100 #. type: example
7101 #: doc/guix.texi:2347
7102 #, no-wrap
7103 msgid ""
7104 "$ guix build emacs --dry-run\n"
7105 "The following derivations would be built:\n"
7106 " /gnu/store/yr7bnx8xwcayd6j95r2clmkdl1qh688w-emacs-24.3.drv\n"
7107 " /gnu/store/x8qsh1hlhgjx6cwsjyvybnfv2i37z23w-dbus-1.6.4.tar.gz.drv\n"
7108 " /gnu/store/1ixwp12fl950d15h2cj11c73733jay0z-alsa-lib-1.0.27.1.tar.bz2.drv\n"
7109 " /gnu/store/nlma1pw0p603fpfiqy7kn4zm105r5dmw-util-linux-2.21.drv\n"
7110 "@dots{}\n"
7111 msgstr ""
7112
7113 #. type: Plain text
7114 #: doc/guix.texi:2351
7115 msgid "to something like:"
7116 msgstr ""
7117
7118 #. type: example
7119 #: doc/guix.texi:2360
7120 #, no-wrap
7121 msgid ""
7122 "$ guix build emacs --dry-run\n"
7123 "112.3 MB would be downloaded:\n"
7124 " /gnu/store/pk3n22lbq6ydamyymqkkz7i69wiwjiwi-emacs-24.3\n"
7125 " /gnu/store/2ygn4ncnhrpr61rssa6z0d9x22si0va3-libjpeg-8d\n"
7126 " /gnu/store/71yz6lgx4dazma9dwn2mcjxaah9w77jq-cairo-1.12.16\n"
7127 " /gnu/store/7zdhgp0n1518lvfn8mb96sxqfmvqrl7v-libxrender-0.9.7\n"
7128 "@dots{}\n"
7129 msgstr ""
7130
7131 #. type: Plain text
7132 #: doc/guix.texi:2365
7133 msgid ""
7134 "This indicates that substitutes from @code{hydra.gnu.org} are usable and "
7135 "will be downloaded, when possible, for future builds."
7136 msgstr ""
7137
7138 #. type: cindex
7139 #: doc/guix.texi:2366
7140 #, no-wrap
7141 msgid "substitutes, how to disable"
7142 msgstr ""
7143
7144 #. type: Plain text
7145 #: doc/guix.texi:2372
7146 msgid ""
7147 "The substitute mechanism can be disabled globally by running @code{guix-"
7148 "daemon} with @code{--no-substitutes} (@pxref{Invoking guix-daemon}). It can "
7149 "also be disabled temporarily by passing the @code{--no-substitutes} option "
7150 "to @command{guix package}, @command{guix build}, and other command-line "
7151 "tools."
7152 msgstr ""
7153
7154 #. type: cindex
7155 #: doc/guix.texi:2376
7156 #, no-wrap
7157 msgid "digital signatures"
7158 msgstr ""
7159
7160 #. type: Plain text
7161 #: doc/guix.texi:2380
7162 msgid ""
7163 "Guix detects and raises an error when attempting to use a substitute that "
7164 "has been tampered with. Likewise, it ignores substitutes that are not "
7165 "signed, or that are not signed by one of the keys listed in the ACL."
7166 msgstr ""
7167
7168 #. type: Plain text
7169 #: doc/guix.texi:2386
7170 msgid ""
7171 "There is one exception though: if an unauthorized server provides "
7172 "substitutes that are @emph{bit-for-bit identical} to those provided by an "
7173 "authorized server, then the unauthorized server becomes eligible for "
7174 "downloads. For example, assume we have chosen two substitute servers with "
7175 "this option:"
7176 msgstr ""
7177
7178 #. type: example
7179 #: doc/guix.texi:2389
7180 #, no-wrap
7181 msgid "--substitute-urls=\"https://a.example.org https://b.example.org\"\n"
7182 msgstr ""
7183
7184 #. type: Plain text
7185 #: doc/guix.texi:2400
7186 msgid ""
7187 "If the ACL contains only the key for @code{b.example.org}, and if @code{a."
7188 "example.org} happens to serve the @emph{exact same} substitutes, then Guix "
7189 "will download substitutes from @code{a.example.org} because it comes first "
7190 "in the list and can be considered a mirror of @code{b.example.org}. In "
7191 "practice, independent build machines usually produce the same binaries, "
7192 "thanks to bit-reproducible builds (see below)."
7193 msgstr ""
7194
7195 #. type: Plain text
7196 #: doc/guix.texi:2407
7197 msgid ""
7198 "When using HTTPS, the server's X.509 certificate is @emph{not} validated (in "
7199 "other words, the server is not authenticated), contrary to what HTTPS "
7200 "clients such as Web browsers usually do. This is because Guix authenticates "
7201 "substitute information itself, as explained above, which is what we care "
7202 "about (whereas X.509 certificates are about authenticating bindings between "
7203 "domain names and public keys.)"
7204 msgstr ""
7205
7206 #. type: Plain text
7207 #: doc/guix.texi:2419
7208 msgid ""
7209 "Substitutes are downloaded over HTTP or HTTPS. The @code{http_proxy} "
7210 "environment variable can be set in the environment of @command{guix-daemon} "
7211 "and is honored for downloads of substitutes. Note that the value of "
7212 "@code{http_proxy} in the environment where @command{guix build}, "
7213 "@command{guix package}, and other client commands are run has "
7214 "@emph{absolutely no effect}."
7215 msgstr ""
7216
7217 #. type: Plain text
7218 #: doc/guix.texi:2428
7219 msgid ""
7220 "Even when a substitute for a derivation is available, sometimes the "
7221 "substitution attempt will fail. This can happen for a variety of reasons: "
7222 "the substitute server might be offline, the substitute may recently have "
7223 "been deleted, the connection might have been interrupted, etc."
7224 msgstr ""
7225
7226 #. type: Plain text
7227 #: doc/guix.texi:2442
7228 msgid ""
7229 "When substitutes are enabled and a substitute for a derivation is available, "
7230 "but the substitution attempt fails, Guix will attempt to build the "
7231 "derivation locally depending on whether or not @code{--fallback} was given "
7232 "(@pxref{fallback-option,, common build option @code{--fallback}}). "
7233 "Specifically, if @code{--fallback} was omitted, then no local build will be "
7234 "performed, and the derivation is considered to have failed. However, if "
7235 "@code{--fallback} was given, then Guix will attempt to build the derivation "
7236 "locally, and the success or failure of the derivation depends on the success "
7237 "or failure of the local build. Note that when substitutes are disabled or "
7238 "no substitute is available for the derivation in question, a local build "
7239 "will @emph{always} be performed, regardless of whether or not @code{--"
7240 "fallback} was given."
7241 msgstr ""
7242
7243 #. type: Plain text
7244 #: doc/guix.texi:2447
7245 msgid ""
7246 "To get an idea of how many substitutes are available right now, you can try "
7247 "running the @command{guix weather} command (@pxref{Invoking guix weather}). "
7248 "This command provides statistics on the substitutes provided by a server."
7249 msgstr ""
7250
7251 #. type: cindex
7252 #: doc/guix.texi:2451
7253 #, no-wrap
7254 msgid "trust, of pre-built binaries"
7255 msgstr ""
7256
7257 #. type: Plain text
7258 #: doc/guix.texi:2461
7259 msgid ""
7260 "Today, each individual's control over their own computing is at the mercy of "
7261 "institutions, corporations, and groups with enough power and determination "
7262 "to subvert the computing infrastructure and exploit its weaknesses. While "
7263 "using @code{hydra.gnu.org} substitutes can be convenient, we encourage users "
7264 "to also build on their own, or even run their own build farm, such that "
7265 "@code{hydra.gnu.org} is less of an interesting target. One way to help is "
7266 "by publishing the software you build using @command{guix publish} so that "
7267 "others have one more choice of server to download substitutes from "
7268 "(@pxref{Invoking guix publish})."
7269 msgstr ""
7270
7271 #. type: Plain text
7272 #: doc/guix.texi:2473
7273 msgid ""
7274 "Guix has the foundations to maximize build reproducibility "
7275 "(@pxref{Features}). In most cases, independent builds of a given package or "
7276 "derivation should yield bit-identical results. Thus, through a diverse set "
7277 "of independent package builds, we can strengthen the integrity of our "
7278 "systems. The @command{guix challenge} command aims to help users assess "
7279 "substitute servers, and to assist developers in finding out about non-"
7280 "deterministic package builds (@pxref{Invoking guix challenge}). Similarly, "
7281 "the @option{--check} option of @command{guix build} allows users to check "
7282 "whether previously-installed substitutes are genuine by rebuilding them "
7283 "locally (@pxref{build-check, @command{guix build --check}})."
7284 msgstr ""
7285
7286 #. type: Plain text
7287 #: doc/guix.texi:2477
7288 msgid ""
7289 "In the future, we want Guix to have support to publish and retrieve binaries "
7290 "to/from other users, in a peer-to-peer fashion. If you would like to "
7291 "discuss this project, join us on @email{guix-devel@@gnu.org}."
7292 msgstr ""
7293
7294 #. type: cindex
7295 #: doc/guix.texi:2481
7296 #, no-wrap
7297 msgid "multiple-output packages"
7298 msgstr ""
7299
7300 #. type: cindex
7301 #: doc/guix.texi:2482
7302 #, no-wrap
7303 msgid "package outputs"
7304 msgstr ""
7305
7306 #. type: cindex
7307 #: doc/guix.texi:2483
7308 #, no-wrap
7309 msgid "outputs"
7310 msgstr ""
7311
7312 #. type: Plain text
7313 #: doc/guix.texi:2493
7314 msgid ""
7315 "Often, packages defined in Guix have a single @dfn{output}---i.e., the "
7316 "source package leads to exactly one directory in the store. When running "
7317 "@command{guix package -i glibc}, one installs the default output of the GNU "
7318 "libc package; the default output is called @code{out}, but its name can be "
7319 "omitted as shown in this command. In this particular case, the default "
7320 "output of @code{glibc} contains all the C header files, shared libraries, "
7321 "static libraries, Info documentation, and other supporting files."
7322 msgstr ""
7323
7324 #. type: Plain text
7325 #: doc/guix.texi:2501
7326 msgid ""
7327 "Sometimes it is more appropriate to separate the various types of files "
7328 "produced from a single source package into separate outputs. For instance, "
7329 "the GLib C library (used by GTK+ and related packages) installs more than "
7330 "20 MiB of reference documentation as HTML pages. To save space for users "
7331 "who do not need it, the documentation goes to a separate output, called "
7332 "@code{doc}. To install the main GLib output, which contains everything but "
7333 "the documentation, one would run:"
7334 msgstr ""
7335
7336 #. type: example
7337 #: doc/guix.texi:2504
7338 #, no-wrap
7339 msgid "guix package -i glib\n"
7340 msgstr ""
7341
7342 #. type: code{#1}
7343 #: doc/guix.texi:2506 doc/guix.texi:21321
7344 #, no-wrap
7345 msgid "documentation"
7346 msgstr ""
7347
7348 #. type: Plain text
7349 #: doc/guix.texi:2508
7350 msgid "The command to install its documentation is:"
7351 msgstr ""
7352
7353 #. type: example
7354 #: doc/guix.texi:2511
7355 #, no-wrap
7356 msgid "guix package -i glib:doc\n"
7357 msgstr ""
7358
7359 #. type: Plain text
7360 #: doc/guix.texi:2522
7361 msgid ""
7362 "Some packages install programs with different ``dependency footprints''. "
7363 "For instance, the WordNet package installs both command-line tools and "
7364 "graphical user interfaces (GUIs). The former depend solely on the C "
7365 "library, whereas the latter depend on Tcl/Tk and the underlying X "
7366 "libraries. In this case, we leave the command-line tools in the default "
7367 "output, whereas the GUIs are in a separate output. This allows users who do "
7368 "not need the GUIs to save space. The @command{guix size} command can help "
7369 "find out about such situations (@pxref{Invoking guix size}). @command{guix "
7370 "graph} can also be helpful (@pxref{Invoking guix graph})."
7371 msgstr ""
7372
7373 #. type: Plain text
7374 #: doc/guix.texi:2530
7375 msgid ""
7376 "There are several such multiple-output packages in the GNU distribution. "
7377 "Other conventional output names include @code{lib} for libraries and "
7378 "possibly header files, @code{bin} for stand-alone programs, and @code{debug} "
7379 "for debugging information (@pxref{Installing Debugging Files}). The outputs "
7380 "of a packages are listed in the third column of the output of @command{guix "
7381 "package --list-available} (@pxref{Invoking guix package})."
7382 msgstr ""
7383
7384 #. type: section
7385 #: doc/guix.texi:2533
7386 #, no-wrap
7387 msgid "Invoking @command{guix gc}"
7388 msgstr ""
7389
7390 #. type: cindex
7391 #: doc/guix.texi:2535
7392 #, no-wrap
7393 msgid "garbage collector"
7394 msgstr ""
7395
7396 #. type: cindex
7397 #: doc/guix.texi:2536
7398 #, no-wrap
7399 msgid "disk space"
7400 msgstr ""
7401
7402 #. type: Plain text
7403 #: doc/guix.texi:2542
7404 msgid ""
7405 "Packages that are installed, but not used, may be @dfn{garbage-collected}. "
7406 "The @command{guix gc} command allows users to explicitly run the garbage "
7407 "collector to reclaim space from the @file{/gnu/store} directory. It is the "
7408 "@emph{only} way to remove files from @file{/gnu/store}---removing files or "
7409 "directories manually may break it beyond repair!"
7410 msgstr ""
7411
7412 #. type: Plain text
7413 #: doc/guix.texi:2553
7414 msgid ""
7415 "The garbage collector has a set of known @dfn{roots}: any file under @file{/"
7416 "gnu/store} reachable from a root is considered @dfn{live} and cannot be "
7417 "deleted; any other file is considered @dfn{dead} and may be deleted. The "
7418 "set of garbage collector roots (``GC roots'' for short) includes default "
7419 "user profiles; by default, the symlinks under @file{/var/guix/gcroots} "
7420 "represent these GC roots. New GC roots can be added with @command{guix "
7421 "build --root}, for example (@pxref{Invoking guix build})."
7422 msgstr ""
7423
7424 #. type: Plain text
7425 #: doc/guix.texi:2559
7426 msgid ""
7427 "Prior to running @code{guix gc --collect-garbage} to make space, it is often "
7428 "useful to remove old generations from user profiles; that way, old package "
7429 "builds referenced by those generations can be reclaimed. This is achieved "
7430 "by running @code{guix package --delete-generations} (@pxref{Invoking guix "
7431 "package})."
7432 msgstr ""
7433
7434 #. type: Plain text
7435 #: doc/guix.texi:2563
7436 msgid ""
7437 "Our recommendation is to run a garbage collection periodically, or when you "
7438 "are short on disk space. For instance, to guarantee that at least 5@tie{}GB "
7439 "are available on your disk, simply run:"
7440 msgstr ""
7441
7442 #. type: example
7443 #: doc/guix.texi:2566
7444 #, no-wrap
7445 msgid "guix gc -F 5G\n"
7446 msgstr ""
7447
7448 #. type: Plain text
7449 #: doc/guix.texi:2575
7450 msgid ""
7451 "It is perfectly safe to run as a non-interactive periodic job "
7452 "(@pxref{Scheduled Job Execution}, for how to set up such a job on GuixSD). "
7453 "Running @command{guix gc} with no arguments will collect as much garbage as "
7454 "it can, but that is often inconvenient: you may find yourself having to "
7455 "rebuild or re-download software that is ``dead'' from the GC viewpoint but "
7456 "that is necessary to build other pieces of software---e.g., the compiler "
7457 "tool chain."
7458 msgstr ""
7459
7460 #. type: Plain text
7461 #: doc/guix.texi:2581
7462 msgid ""
7463 "The @command{guix gc} command has three modes of operation: it can be used "
7464 "to garbage-collect any dead files (the default), to delete specific files "
7465 "(the @code{--delete} option), to print garbage-collector information, or for "
7466 "more advanced queries. The garbage collection options are as follows:"
7467 msgstr ""
7468
7469 #. type: item
7470 #: doc/guix.texi:2583
7471 #, no-wrap
7472 msgid "--collect-garbage[=@var{min}]"
7473 msgstr ""
7474
7475 #. type: itemx
7476 #: doc/guix.texi:2584
7477 #, no-wrap
7478 msgid "-C [@var{min}]"
7479 msgstr ""
7480
7481 #. type: table
7482 #: doc/guix.texi:2588
7483 msgid ""
7484 "Collect garbage---i.e., unreachable @file{/gnu/store} files and sub-"
7485 "directories. This is the default operation when no option is specified."
7486 msgstr ""
7487
7488 #. type: table
7489 #: doc/guix.texi:2593
7490 msgid ""
7491 "When @var{min} is given, stop once @var{min} bytes have been collected. "
7492 "@var{min} may be a number of bytes, or it may include a unit as a suffix, "
7493 "such as @code{MiB} for mebibytes and @code{GB} for gigabytes (@pxref{Block "
7494 "size, size specifications,, coreutils, GNU Coreutils})."
7495 msgstr ""
7496
7497 #. type: table
7498 #: doc/guix.texi:2595
7499 msgid "When @var{min} is omitted, collect all the garbage."
7500 msgstr ""
7501
7502 #. type: item
7503 #: doc/guix.texi:2596
7504 #, no-wrap
7505 msgid "--free-space=@var{free}"
7506 msgstr ""
7507
7508 #. type: itemx
7509 #: doc/guix.texi:2597
7510 #, no-wrap
7511 msgid "-F @var{free}"
7512 msgstr ""
7513
7514 #. type: table
7515 #: doc/guix.texi:2601
7516 msgid ""
7517 "Collect garbage until @var{free} space is available under @file{/gnu/store}, "
7518 "if possible; @var{free} denotes storage space, such as @code{500MiB}, as "
7519 "described above."
7520 msgstr ""
7521
7522 #. type: table
7523 #: doc/guix.texi:2604
7524 msgid ""
7525 "When @var{free} or more is already available in @file{/gnu/store}, do "
7526 "nothing and exit immediately."
7527 msgstr ""
7528
7529 #. type: item
7530 #: doc/guix.texi:2605
7531 #, no-wrap
7532 msgid "--delete"
7533 msgstr ""
7534
7535 #. type: itemx
7536 #: doc/guix.texi:2606 doc/guix.texi:5840 doc/guix.texi:20598
7537 #, no-wrap
7538 msgid "-d"
7539 msgstr ""
7540
7541 #. type: table
7542 #: doc/guix.texi:2610
7543 msgid ""
7544 "Attempt to delete all the store files and directories specified as "
7545 "arguments. This fails if some of the files are not in the store, or if they "
7546 "are still live."
7547 msgstr ""
7548
7549 #. type: item
7550 #: doc/guix.texi:2611
7551 #, no-wrap
7552 msgid "--list-failures"
7553 msgstr ""
7554
7555 #. type: table
7556 #: doc/guix.texi:2613
7557 msgid "List store items corresponding to cached build failures."
7558 msgstr ""
7559
7560 #. type: table
7561 #: doc/guix.texi:2617
7562 msgid ""
7563 "This prints nothing unless the daemon was started with @option{--cache-"
7564 "failures} (@pxref{Invoking guix-daemon, @option{--cache-failures}})."
7565 msgstr ""
7566
7567 #. type: item
7568 #: doc/guix.texi:2618
7569 #, no-wrap
7570 msgid "--clear-failures"
7571 msgstr ""
7572
7573 #. type: table
7574 #: doc/guix.texi:2620
7575 msgid "Remove the specified store items from the failed-build cache."
7576 msgstr ""
7577
7578 #. type: table
7579 #: doc/guix.texi:2623
7580 msgid ""
7581 "Again, this option only makes sense when the daemon is started with "
7582 "@option{--cache-failures}. Otherwise, it does nothing."
7583 msgstr ""
7584
7585 #. type: item
7586 #: doc/guix.texi:2624
7587 #, no-wrap
7588 msgid "--list-dead"
7589 msgstr ""
7590
7591 #. type: table
7592 #: doc/guix.texi:2627
7593 msgid ""
7594 "Show the list of dead files and directories still present in the store---i."
7595 "e., files and directories no longer reachable from any root."
7596 msgstr ""
7597
7598 #. type: item
7599 #: doc/guix.texi:2628
7600 #, no-wrap
7601 msgid "--list-live"
7602 msgstr ""
7603
7604 #. type: table
7605 #: doc/guix.texi:2630
7606 msgid "Show the list of live store files and directories."
7607 msgstr ""
7608
7609 #. type: Plain text
7610 #: doc/guix.texi:2634
7611 msgid "In addition, the references among existing store files can be queried:"
7612 msgstr ""
7613
7614 #. type: item
7615 #: doc/guix.texi:2637
7616 #, no-wrap
7617 msgid "--references"
7618 msgstr ""
7619
7620 #. type: itemx
7621 #: doc/guix.texi:2638
7622 #, no-wrap
7623 msgid "--referrers"
7624 msgstr ""
7625
7626 #. type: cindex
7627 #: doc/guix.texi:2639 doc/guix.texi:6935
7628 #, no-wrap
7629 msgid "package dependencies"
7630 msgstr ""
7631
7632 #. type: table
7633 #: doc/guix.texi:2642
7634 msgid ""
7635 "List the references (respectively, the referrers) of store files given as "
7636 "arguments."
7637 msgstr ""
7638
7639 #. type: item
7640 #: doc/guix.texi:2643
7641 #, no-wrap
7642 msgid "--requisites"
7643 msgstr ""
7644
7645 #. type: itemx
7646 #: doc/guix.texi:2644
7647 #, no-wrap
7648 msgid "-R"
7649 msgstr ""
7650
7651 #. type: item
7652 #: doc/guix.texi:2645 doc/guix.texi:6819 doc/guix.texi:6843 doc/guix.texi:6907
7653 #, no-wrap
7654 msgid "closure"
7655 msgstr ""
7656
7657 #. type: table
7658 #: doc/guix.texi:2650
7659 msgid ""
7660 "List the requisites of the store files passed as arguments. Requisites "
7661 "include the store files themselves, their references, and the references of "
7662 "these, recursively. In other words, the returned list is the "
7663 "@dfn{transitive closure} of the store files."
7664 msgstr ""
7665
7666 #. type: table
7667 #: doc/guix.texi:2654
7668 msgid ""
7669 "@xref{Invoking guix size}, for a tool to profile the size of the closure of "
7670 "an element. @xref{Invoking guix graph}, for a tool to visualize the graph "
7671 "of references."
7672 msgstr ""
7673
7674 #. type: item
7675 #: doc/guix.texi:2655
7676 #, no-wrap
7677 msgid "--derivers"
7678 msgstr ""
7679
7680 #. type: item
7681 #: doc/guix.texi:2656 doc/guix.texi:3122 doc/guix.texi:7020
7682 #, no-wrap
7683 msgid "derivation"
7684 msgstr ""
7685
7686 #. type: table
7687 #: doc/guix.texi:2659
7688 msgid ""
7689 "Return the derivation(s) leading to the given store items "
7690 "(@pxref{Derivations})."
7691 msgstr ""
7692
7693 #. type: table
7694 #: doc/guix.texi:2661
7695 msgid "For example, this command:"
7696 msgstr ""
7697
7698 #. type: example
7699 #: doc/guix.texi:2664
7700 #, no-wrap
7701 msgid "guix gc --derivers `guix package -I ^emacs$ | cut -f4`\n"
7702 msgstr ""
7703
7704 #. type: table
7705 #: doc/guix.texi:2669
7706 msgid ""
7707 "returns the @file{.drv} file(s) leading to the @code{emacs} package "
7708 "installed in your profile."
7709 msgstr ""
7710
7711 #. type: table
7712 #: doc/guix.texi:2673
7713 msgid ""
7714 "Note that there may be zero matching @file{.drv} files, for instance because "
7715 "these files have been garbage-collected. There can also be more than one "
7716 "matching @file{.drv} due to fixed-output derivations."
7717 msgstr ""
7718
7719 #. type: Plain text
7720 #: doc/guix.texi:2677
7721 msgid ""
7722 "Lastly, the following options allow you to check the integrity of the store "
7723 "and to control disk usage."
7724 msgstr ""
7725
7726 #. type: item
7727 #: doc/guix.texi:2680
7728 #, no-wrap
7729 msgid "--verify[=@var{options}]"
7730 msgstr ""
7731
7732 #. type: cindex
7733 #: doc/guix.texi:2681
7734 #, no-wrap
7735 msgid "integrity, of the store"
7736 msgstr ""
7737
7738 #. type: cindex
7739 #: doc/guix.texi:2682
7740 #, no-wrap
7741 msgid "integrity checking"
7742 msgstr ""
7743
7744 #. type: table
7745 #: doc/guix.texi:2684
7746 msgid "Verify the integrity of the store."
7747 msgstr ""
7748
7749 #. type: table
7750 #: doc/guix.texi:2687
7751 msgid ""
7752 "By default, make sure that all the store items marked as valid in the "
7753 "database of the daemon actually exist in @file{/gnu/store}."
7754 msgstr ""
7755
7756 #. type: table
7757 #: doc/guix.texi:2690
7758 msgid ""
7759 "When provided, @var{options} must be a comma-separated list containing one "
7760 "or more of @code{contents} and @code{repair}."
7761 msgstr ""
7762
7763 #. type: table
7764 #: doc/guix.texi:2696
7765 msgid ""
7766 "When passing @option{--verify=contents}, the daemon computes the content "
7767 "hash of each store item and compares it against its hash in the database. "
7768 "Hash mismatches are reported as data corruptions. Because it traverses "
7769 "@emph{all the files in the store}, this command can take a long time, "
7770 "especially on systems with a slow disk drive."
7771 msgstr ""
7772
7773 #. type: cindex
7774 #: doc/guix.texi:2697
7775 #, no-wrap
7776 msgid "repairing the store"
7777 msgstr ""
7778
7779 #. type: cindex
7780 #: doc/guix.texi:2698 doc/guix.texi:5833
7781 #, no-wrap
7782 msgid "corruption, recovering from"
7783 msgstr ""
7784
7785 #. type: table
7786 #: doc/guix.texi:2706
7787 msgid ""
7788 "Using @option{--verify=repair} or @option{--verify=contents,repair} causes "
7789 "the daemon to try to repair corrupt store items by fetching substitutes for "
7790 "them (@pxref{Substitutes}). Because repairing is not atomic, and thus "
7791 "potentially dangerous, it is available only to the system administrator. A "
7792 "lightweight alternative, when you know exactly which items in the store are "
7793 "corrupt, is @command{guix build --repair} (@pxref{Invoking guix build})."
7794 msgstr ""
7795 "Utiliser @option{--verify=repair} ou @option{--verify=contents,repair} fait "
7796 "que le démon essaie de réparer les objets du dépôt corrompus en récupérant "
7797 "leurs substituts (@pxref{Substituts}). Comme la réparation n'est pas "
7798 "atomique et donc potentiellement dangereuse, elle n'est disponible que pour "
7799 "l'administrateur système. Une alternative plus légère lorsque vous "
7800 "connaissez exactement quelle entrée est corrompue consiste à lancer "
7801 "@command{guix build --repair} (@pxref{Invoking guix build})."
7802
7803 #. type: item
7804 #: doc/guix.texi:2707
7805 #, no-wrap
7806 msgid "--optimize"
7807 msgstr ""
7808
7809 #. type: table
7810 #: doc/guix.texi:2711
7811 msgid ""
7812 "Optimize the store by hard-linking identical files---this is "
7813 "@dfn{deduplication}."
7814 msgstr ""
7815
7816 #. type: table
7817 #: doc/guix.texi:2717
7818 msgid ""
7819 "The daemon performs deduplication after each successful build or archive "
7820 "import, unless it was started with @code{--disable-deduplication} "
7821 "(@pxref{Invoking guix-daemon, @code{--disable-deduplication}}). Thus, this "
7822 "option is primarily useful when the daemon was running with @code{--disable-"
7823 "deduplication}."
7824 msgstr ""
7825
7826 #. type: section
7827 #: doc/guix.texi:2721
7828 #, no-wrap
7829 msgid "Invoking @command{guix pull}"
7830 msgstr ""
7831
7832 #. type: cindex
7833 #: doc/guix.texi:2723
7834 #, no-wrap
7835 msgid "upgrading Guix"
7836 msgstr ""
7837
7838 #. type: cindex
7839 #: doc/guix.texi:2724
7840 #, no-wrap
7841 msgid "updating Guix"
7842 msgstr ""
7843
7844 #. type: command{#1}
7845 #: doc/guix.texi:2725
7846 #, no-wrap
7847 msgid "guix pull"
7848 msgstr ""
7849
7850 #. type: cindex
7851 #: doc/guix.texi:2726
7852 #, no-wrap
7853 msgid "pull"
7854 msgstr ""
7855
7856 #. type: Plain text
7857 #: doc/guix.texi:2733
7858 msgid ""
7859 "Packages are installed or upgraded to the latest version available in the "
7860 "distribution currently available on your local machine. To update that "
7861 "distribution, along with the Guix tools, you must run @command{guix pull}: "
7862 "the command downloads the latest Guix source code and package descriptions, "
7863 "and deploys it. Source code is downloaded from a @uref{https://git-scm.com, "
7864 "Git} repository."
7865 msgstr ""
7866
7867 #. type: Plain text
7868 #: doc/guix.texi:2739
7869 msgid ""
7870 "On completion, @command{guix package} will use packages and package versions "
7871 "from this just-retrieved copy of Guix. Not only that, but all the Guix "
7872 "commands and Scheme modules will also be taken from that latest version. "
7873 "New @command{guix} sub-commands added by the update also become available."
7874 msgstr ""
7875
7876 #. type: Plain text
7877 #: doc/guix.texi:2749
7878 msgid ""
7879 "Any user can update their Guix copy using @command{guix pull}, and the "
7880 "effect is limited to the user who run @command{guix pull}. For instance, "
7881 "when user @code{root} runs @command{guix pull}, this has no effect on the "
7882 "version of Guix that user @code{alice} sees, and vice versa@footnote{Under "
7883 "the hood, @command{guix pull} updates the @file{~/.config/guix/latest} "
7884 "symbolic link to point to the latest Guix, and the @command{guix} command "
7885 "loads code from there. Currently, the only way to roll back an invocation "
7886 "of @command{guix pull} is to manually update this symlink to point to the "
7887 "previous Guix.}."
7888 msgstr ""
7889
7890 #. type: Plain text
7891 #: doc/guix.texi:2752
7892 msgid ""
7893 "The @command{guix pull} command is usually invoked with no arguments, but it "
7894 "supports the following options:"
7895 msgstr ""
7896
7897 #. type: table
7898 #: doc/guix.texi:2756
7899 msgid ""
7900 "Produce verbose output, writing build logs to the standard error output."
7901 msgstr ""
7902
7903 #. type: item
7904 #: doc/guix.texi:2757
7905 #, no-wrap
7906 msgid "--url=@var{url}"
7907 msgstr ""
7908
7909 #. type: table
7910 #: doc/guix.texi:2759
7911 msgid "Download Guix from the Git repository at @var{url}."
7912 msgstr ""
7913
7914 #. type: vindex
7915 #: doc/guix.texi:2760
7916 #, no-wrap
7917 msgid "GUIX_PULL_URL"
7918 msgstr ""
7919
7920 #. type: table
7921 #: doc/guix.texi:2764
7922 msgid ""
7923 "By default, the source is taken from its canonical Git repository at "
7924 "@code{gnu.org}, for the stable branch of Guix. To use a different source, "
7925 "set the @code{GUIX_PULL_URL} environment variable."
7926 msgstr ""
7927
7928 #. type: item
7929 #: doc/guix.texi:2765
7930 #, no-wrap
7931 msgid "--commit=@var{commit}"
7932 msgstr ""
7933
7934 #. type: table
7935 #: doc/guix.texi:2768
7936 msgid ""
7937 "Deploy @var{commit}, a valid Git commit ID represented as a hexadecimal "
7938 "string."
7939 msgstr ""
7940
7941 #. type: item
7942 #: doc/guix.texi:2769
7943 #, no-wrap
7944 msgid "--branch=@var{branch}"
7945 msgstr ""
7946
7947 #. type: table
7948 #: doc/guix.texi:2772
7949 msgid ""
7950 "Deploy the tip of @var{branch}, the name of a Git branch available on the "
7951 "repository at @var{url}."
7952 msgstr ""
7953
7954 #. type: table
7955 #: doc/guix.texi:2776
7956 msgid ""
7957 "Use the bootstrap Guile to build the latest Guix. This option is only "
7958 "useful to Guix developers."
7959 msgstr ""
7960
7961 #. type: Plain text
7962 #: doc/guix.texi:2780
7963 msgid ""
7964 "In addition, @command{guix pull} supports all the common build options "
7965 "(@pxref{Common Build Options})."
7966 msgstr ""
7967
7968 #. type: section
7969 #: doc/guix.texi:2782
7970 #, no-wrap
7971 msgid "Invoking @command{guix pack}"
7972 msgstr ""
7973
7974 #. type: Plain text
7975 #: doc/guix.texi:2788
7976 msgid ""
7977 "Occasionally you want to pass software to people who are not (yet!) lucky "
7978 "enough to be using Guix. You'd tell them to run @command{guix package -i "
7979 "@var{something}}, but that's not possible in this case. This is where "
7980 "@command{guix pack} comes in."
7981 msgstr ""
7982
7983 #. type: quotation
7984 #: doc/guix.texi:2793
7985 msgid ""
7986 "If you are looking for ways to exchange binaries among machines that already "
7987 "run Guix, @pxref{Invoking guix copy}, @ref{Invoking guix publish}, and "
7988 "@ref{Invoking guix archive}."
7989 msgstr ""
7990
7991 #. type: cindex
7992 #: doc/guix.texi:2795
7993 #, no-wrap
7994 msgid "pack"
7995 msgstr ""
7996
7997 #. type: cindex
7998 #: doc/guix.texi:2796
7999 #, no-wrap
8000 msgid "bundle"
8001 msgstr ""
8002
8003 #. type: cindex
8004 #: doc/guix.texi:2797
8005 #, no-wrap
8006 msgid "application bundle"
8007 msgstr ""
8008
8009 #. type: cindex
8010 #: doc/guix.texi:2798
8011 #, no-wrap
8012 msgid "software bundle"
8013 msgstr ""
8014
8015 #. type: Plain text
8016 #: doc/guix.texi:2807
8017 msgid ""
8018 "The @command{guix pack} command creates a shrink-wrapped @dfn{pack} or "
8019 "@dfn{software bundle}: it creates a tarball or some other archive containing "
8020 "the binaries of the software you're interested in, and all its "
8021 "dependencies. The resulting archive can be used on any machine that does "
8022 "not have Guix, and people can run the exact same binaries as those you have "
8023 "with Guix. The pack itself is created in a bit-reproducible fashion, so "
8024 "anyone can verify that it really contains the build results that you pretend "
8025 "to be shipping."
8026 msgstr ""
8027
8028 #. type: Plain text
8029 #: doc/guix.texi:2810
8030 msgid ""
8031 "For example, to create a bundle containing Guile, Emacs, Geiser, and all "
8032 "their dependencies, you can run:"
8033 msgstr ""
8034
8035 #. type: example
8036 #: doc/guix.texi:2815
8037 #, no-wrap
8038 msgid ""
8039 "$ guix pack guile emacs geiser\n"
8040 "@dots{}\n"
8041 "/gnu/store/@dots{}-pack.tar.gz\n"
8042 msgstr ""
8043
8044 #. type: Plain text
8045 #: doc/guix.texi:2823
8046 msgid ""
8047 "The result here is a tarball containing a @file{/gnu/store} directory with "
8048 "all the relevant packages. The resulting tarball contains a @dfn{profile} "
8049 "with the three packages of interest; the profile is the same as would be "
8050 "created by @command{guix package -i}. It is this mechanism that is used to "
8051 "create Guix's own standalone binary tarball (@pxref{Binary Installation})."
8052 msgstr ""
8053
8054 #. type: Plain text
8055 #: doc/guix.texi:2828
8056 msgid ""
8057 "Users of this pack would have to run @file{/gnu/store/@dots{}-profile/bin/"
8058 "guile} to run Guile, which you may find inconvenient. To work around it, "
8059 "you can create, say, a @file{/opt/gnu/bin} symlink to the profile:"
8060 msgstr ""
8061
8062 #. type: example
8063 #: doc/guix.texi:2831
8064 #, no-wrap
8065 msgid "guix pack -S /opt/gnu/bin=bin guile emacs geiser\n"
8066 msgstr ""
8067
8068 #. type: Plain text
8069 #: doc/guix.texi:2835
8070 msgid "That way, users can happily type @file{/opt/gnu/bin/guile} and enjoy."
8071 msgstr ""
8072
8073 #. type: Plain text
8074 #: doc/guix.texi:2838
8075 msgid ""
8076 "Alternatively, you can produce a pack in the Docker image format using the "
8077 "following command:"
8078 msgstr ""
8079
8080 #. type: example
8081 #: doc/guix.texi:2841
8082 #, no-wrap
8083 msgid "guix pack -f docker guile emacs geiser\n"
8084 msgstr ""
8085
8086 #. type: Plain text
8087 #: doc/guix.texi:2848
8088 msgid ""
8089 "The result is a tarball that can be passed to the @command{docker load} "
8090 "command. See the @uref{https://docs.docker.com/engine/reference/commandline/"
8091 "load/, Docker documentation} for more information."
8092 msgstr ""
8093
8094 #. type: Plain text
8095 #: doc/guix.texi:2850
8096 msgid "Several command-line options allow you to customize your pack:"
8097 msgstr ""
8098
8099 #. type: item
8100 #: doc/guix.texi:2852
8101 #, no-wrap
8102 msgid "--format=@var{format}"
8103 msgstr ""
8104
8105 #. type: itemx
8106 #: doc/guix.texi:2853
8107 #, no-wrap
8108 msgid "-f @var{format}"
8109 msgstr ""
8110
8111 #. type: table
8112 #: doc/guix.texi:2855
8113 msgid "Produce a pack in the given @var{format}."
8114 msgstr ""
8115
8116 #. type: table
8117 #: doc/guix.texi:2857
8118 msgid "The available formats are:"
8119 msgstr ""
8120
8121 #. type: item
8122 #: doc/guix.texi:2859
8123 #, no-wrap
8124 msgid "tarball"
8125 msgstr ""
8126
8127 #. type: table
8128 #: doc/guix.texi:2862
8129 msgid ""
8130 "This is the default format. It produces a tarball containing all the "
8131 "specified binaries and symlinks."
8132 msgstr ""
8133
8134 #. type: item
8135 #: doc/guix.texi:2863
8136 #, no-wrap
8137 msgid "docker"
8138 msgstr ""
8139
8140 #. type: table
8141 #: doc/guix.texi:2867
8142 msgid ""
8143 "This produces a tarball that follows the @uref{https://github.com/docker/"
8144 "docker/blob/master/image/spec/v1.2.md, Docker Image Specification}."
8145 msgstr ""
8146
8147 #. type: item
8148 #: doc/guix.texi:2869 doc/guix.texi:5711 doc/guix.texi:6536 doc/guix.texi:7097
8149 #: doc/guix.texi:7247 doc/guix.texi:20584
8150 #, no-wrap
8151 msgid "--expression=@var{expr}"
8152 msgstr ""
8153
8154 #. type: itemx
8155 #: doc/guix.texi:2870 doc/guix.texi:5712 doc/guix.texi:6537 doc/guix.texi:7098
8156 #: doc/guix.texi:7248 doc/guix.texi:20585
8157 #, no-wrap
8158 msgid "-e @var{expr}"
8159 msgstr ""
8160
8161 #. type: table
8162 #: doc/guix.texi:2872 doc/guix.texi:6539 doc/guix.texi:7100
8163 msgid "Consider the package @var{expr} evaluates to."
8164 msgstr ""
8165
8166 #. type: table
8167 #: doc/guix.texi:2876
8168 msgid ""
8169 "This has the same purpose as the same-named option in @command{guix build} "
8170 "(@pxref{Additional Build Options, @code{--expression} in @command{guix "
8171 "build}})."
8172 msgstr ""
8173
8174 #. type: table
8175 #: doc/guix.texi:2881
8176 msgid ""
8177 "Use the packages contained in the manifest object returned by the Scheme "
8178 "code in @var{file}."
8179 msgstr ""
8180
8181 #. type: table
8182 #: doc/guix.texi:2889
8183 msgid ""
8184 "This has a similar purpose as the same-named option in @command{guix "
8185 "package} (@pxref{profile-manifest, @option{--manifest}}) and uses the same "
8186 "manifest files. It allows you to define a collection of packages once and "
8187 "use it both for creating profiles and for creating archives for use on "
8188 "machines that do not have Guix installed. Note that you can specify "
8189 "@emph{either} a manifest file @emph{or} a list of packages, but not both."
8190 msgstr ""
8191
8192 #. type: itemx
8193 #: doc/guix.texi:2891 doc/guix.texi:5784 doc/guix.texi:6925 doc/guix.texi:7333
8194 #: doc/guix.texi:7967 doc/guix.texi:20593
8195 #, no-wrap
8196 msgid "-s @var{system}"
8197 msgstr ""
8198
8199 #. type: table
8200 #: doc/guix.texi:2894 doc/guix.texi:5787
8201 msgid ""
8202 "Attempt to build for @var{system}---e.g., @code{i686-linux}---instead of the "
8203 "system type of the build host."
8204 msgstr ""
8205
8206 #. type: item
8207 #: doc/guix.texi:2895 doc/guix.texi:5808
8208 #, no-wrap
8209 msgid "--target=@var{triplet}"
8210 msgstr ""
8211
8212 #. type: cindex
8213 #: doc/guix.texi:2896 doc/guix.texi:3322 doc/guix.texi:5809
8214 #, no-wrap
8215 msgid "cross-compilation"
8216 msgstr ""
8217
8218 #. type: table
8219 #: doc/guix.texi:2900 doc/guix.texi:5813
8220 msgid ""
8221 "Cross-build for @var{triplet}, which must be a valid GNU triplet, such as "
8222 "@code{\"mips64el-linux-gnu\"} (@pxref{Specifying target triplets, GNU "
8223 "configuration triplets,, autoconf, Autoconf})."
8224 msgstr ""
8225
8226 #. type: item
8227 #: doc/guix.texi:2901
8228 #, no-wrap
8229 msgid "--compression=@var{tool}"
8230 msgstr ""
8231
8232 #. type: itemx
8233 #: doc/guix.texi:2902
8234 #, no-wrap
8235 msgid "-C @var{tool}"
8236 msgstr ""
8237
8238 #. type: table
8239 #: doc/guix.texi:2905
8240 msgid ""
8241 "Compress the resulting tarball using @var{tool}---one of @code{gzip}, "
8242 "@code{bzip2}, @code{xz}, @code{lzip}, or @code{none} for no compression."
8243 msgstr ""
8244
8245 #. type: item
8246 #: doc/guix.texi:2906
8247 #, no-wrap
8248 msgid "--symlink=@var{spec}"
8249 msgstr ""
8250
8251 #. type: itemx
8252 #: doc/guix.texi:2907
8253 #, no-wrap
8254 msgid "-S @var{spec}"
8255 msgstr ""
8256
8257 #. type: table
8258 #: doc/guix.texi:2910
8259 msgid ""
8260 "Add the symlinks specified by @var{spec} to the pack. This option can "
8261 "appear several times."
8262 msgstr ""
8263
8264 #. type: table
8265 #: doc/guix.texi:2914
8266 msgid ""
8267 "@var{spec} has the form @code{@var{source}=@var{target}}, where @var{source} "
8268 "is the symlink that will be created and @var{target} is the symlink target."
8269 msgstr ""
8270
8271 #. type: table
8272 #: doc/guix.texi:2917
8273 msgid ""
8274 "For instance, @code{-S /opt/gnu/bin=bin} creates a @file{/opt/gnu/bin} "
8275 "symlink pointing to the @file{bin} sub-directory of the profile."
8276 msgstr ""
8277
8278 #. type: item
8279 #: doc/guix.texi:2918
8280 #, no-wrap
8281 msgid "--localstatedir"
8282 msgstr ""
8283
8284 #. type: table
8285 #: doc/guix.texi:2921
8286 msgid ""
8287 "Include the ``local state directory'', @file{/var/guix}, in the resulting "
8288 "pack."
8289 msgstr ""
8290
8291 #. type: table
8292 #: doc/guix.texi:2927
8293 msgid ""
8294 "@file{/var/guix} contains the store database (@pxref{The Store}) as well as "
8295 "garbage-collector roots (@pxref{Invoking guix gc}). Providing it in the "
8296 "pack means that the store is ``complete'' and manageable by Guix; not "
8297 "providing it pack means that the store is ``dead'': items cannot be added to "
8298 "it or removed from it after extraction of the pack."
8299 msgstr ""
8300
8301 #. type: table
8302 #: doc/guix.texi:2930
8303 msgid ""
8304 "One use case for this is the Guix self-contained binary tarball "
8305 "(@pxref{Binary Installation})."
8306 msgstr ""
8307
8308 #. type: table
8309 #: doc/guix.texi:2934
8310 msgid ""
8311 "Use the bootstrap binaries to build the pack. This option is only useful to "
8312 "Guix developers."
8313 msgstr ""
8314
8315 #. type: Plain text
8316 #: doc/guix.texi:2939
8317 msgid ""
8318 "In addition, @command{guix pack} supports all the common build options "
8319 "(@pxref{Common Build Options}) and all the package transformation options "
8320 "(@pxref{Package Transformation Options})."
8321 msgstr ""
8322
8323 #. type: section
8324 #: doc/guix.texi:2942
8325 #, no-wrap
8326 msgid "Invoking @command{guix archive}"
8327 msgstr ""
8328
8329 #. type: command{#1}
8330 #: doc/guix.texi:2944
8331 #, no-wrap
8332 msgid "guix archive"
8333 msgstr ""
8334
8335 #. type: cindex
8336 #: doc/guix.texi:2945
8337 #, no-wrap
8338 msgid "archive"
8339 msgstr ""
8340
8341 #. type: Plain text
8342 #: doc/guix.texi:2951
8343 msgid ""
8344 "The @command{guix archive} command allows users to @dfn{export} files from "
8345 "the store into a single archive, and to later @dfn{import} them on a machine "
8346 "that runs Guix. In particular, it allows store files to be transferred from "
8347 "one machine to the store on another machine."
8348 msgstr ""
8349
8350 #. type: quotation
8351 #: doc/guix.texi:2955
8352 msgid ""
8353 "If you're looking for a way to produce archives in a format suitable for "
8354 "tools other than Guix, @pxref{Invoking guix pack}."
8355 msgstr ""
8356
8357 #. type: cindex
8358 #: doc/guix.texi:2957
8359 #, no-wrap
8360 msgid "exporting store items"
8361 msgstr ""
8362
8363 #. type: Plain text
8364 #: doc/guix.texi:2959
8365 msgid "To export store files as an archive to standard output, run:"
8366 msgstr ""
8367
8368 #. type: example
8369 #: doc/guix.texi:2962
8370 #, no-wrap
8371 msgid "guix archive --export @var{options} @var{specifications}...\n"
8372 msgstr ""
8373
8374 #. type: Plain text
8375 #: doc/guix.texi:2969
8376 msgid ""
8377 "@var{specifications} may be either store file names or package "
8378 "specifications, as for @command{guix package} (@pxref{Invoking guix "
8379 "package}). For instance, the following command creates an archive "
8380 "containing the @code{gui} output of the @code{git} package and the main "
8381 "output of @code{emacs}:"
8382 msgstr ""
8383
8384 #. type: example
8385 #: doc/guix.texi:2972
8386 #, no-wrap
8387 msgid "guix archive --export git:gui /gnu/store/...-emacs-24.3 > great.nar\n"
8388 msgstr ""
8389
8390 #. type: Plain text
8391 #: doc/guix.texi:2977
8392 msgid ""
8393 "If the specified packages are not built yet, @command{guix archive} "
8394 "automatically builds them. The build process may be controlled with the "
8395 "common build options (@pxref{Common Build Options})."
8396 msgstr ""
8397
8398 #. type: Plain text
8399 #: doc/guix.texi:2980
8400 msgid ""
8401 "To transfer the @code{emacs} package to a machine connected over SSH, one "
8402 "would run:"
8403 msgstr ""
8404
8405 #. type: example
8406 #: doc/guix.texi:2983
8407 #, no-wrap
8408 msgid "guix archive --export -r emacs | ssh the-machine guix archive --import\n"
8409 msgstr ""
8410
8411 #. type: Plain text
8412 #: doc/guix.texi:2988
8413 msgid ""
8414 "Similarly, a complete user profile may be transferred from one machine to "
8415 "another like this:"
8416 msgstr ""
8417
8418 #. type: example
8419 #: doc/guix.texi:2992
8420 #, no-wrap
8421 msgid ""
8422 "guix archive --export -r $(readlink -f ~/.guix-profile) | \\\n"
8423 " ssh the-machine guix-archive --import\n"
8424 msgstr ""
8425
8426 #. type: Plain text
8427 #: doc/guix.texi:3002
8428 msgid ""
8429 "However, note that, in both examples, all of @code{emacs} and the profile as "
8430 "well as all of their dependencies are transferred (due to @code{-r}), "
8431 "regardless of what is already available in the store on the target machine. "
8432 "The @code{--missing} option can help figure out which items are missing from "
8433 "the target store. The @command{guix copy} command simplifies and optimizes "
8434 "this whole process, so this is probably what you should use in this case "
8435 "(@pxref{Invoking guix copy})."
8436 msgstr ""
8437
8438 #. type: cindex
8439 #: doc/guix.texi:3003
8440 #, no-wrap
8441 msgid "nar, archive format"
8442 msgstr ""
8443
8444 #. type: cindex
8445 #: doc/guix.texi:3004
8446 #, no-wrap
8447 msgid "normalized archive (nar)"
8448 msgstr ""
8449
8450 #. type: Plain text
8451 #: doc/guix.texi:3014
8452 msgid ""
8453 "Archives are stored in the ``normalized archive'' or ``nar'' format, which "
8454 "is comparable in spirit to `tar', but with differences that make it more "
8455 "appropriate for our purposes. First, rather than recording all Unix "
8456 "metadata for each file, the nar format only mentions the file type (regular, "
8457 "directory, or symbolic link); Unix permissions and owner/group are "
8458 "dismissed. Second, the order in which directory entries are stored always "
8459 "follows the order of file names according to the C locale collation order. "
8460 "This makes archive production fully deterministic."
8461 msgstr ""
8462
8463 #. type: Plain text
8464 #: doc/guix.texi:3020
8465 msgid ""
8466 "When exporting, the daemon digitally signs the contents of the archive, and "
8467 "that digital signature is appended. When importing, the daemon verifies the "
8468 "signature and rejects the import in case of an invalid signature or if the "
8469 "signing key is not authorized."
8470 msgstr ""
8471
8472 #. type: Plain text
8473 #: doc/guix.texi:3022
8474 msgid "The main options are:"
8475 msgstr ""
8476
8477 #. type: item
8478 #: doc/guix.texi:3024
8479 #, no-wrap
8480 msgid "--export"
8481 msgstr ""
8482
8483 #. type: table
8484 #: doc/guix.texi:3027
8485 msgid ""
8486 "Export the specified store files or packages (see below.) Write the "
8487 "resulting archive to the standard output."
8488 msgstr ""
8489
8490 #. type: table
8491 #: doc/guix.texi:3030
8492 msgid ""
8493 "Dependencies are @emph{not} included in the output, unless @code{--"
8494 "recursive} is passed."
8495 msgstr ""
8496
8497 #. type: itemx
8498 #: doc/guix.texi:3031 doc/guix.texi:6080
8499 #, no-wrap
8500 msgid "-r"
8501 msgstr ""
8502
8503 #. type: item
8504 #: doc/guix.texi:3032 doc/guix.texi:6079
8505 #, no-wrap
8506 msgid "--recursive"
8507 msgstr ""
8508
8509 #. type: table
8510 #: doc/guix.texi:3037
8511 msgid ""
8512 "When combined with @code{--export}, this instructs @command{guix archive} to "
8513 "include dependencies of the given items in the archive. Thus, the resulting "
8514 "archive is self-contained: it contains the closure of the exported store "
8515 "items."
8516 msgstr ""
8517
8518 #. type: item
8519 #: doc/guix.texi:3038
8520 #, no-wrap
8521 msgid "--import"
8522 msgstr ""
8523
8524 #. type: table
8525 #: doc/guix.texi:3043
8526 msgid ""
8527 "Read an archive from the standard input, and import the files listed therein "
8528 "into the store. Abort if the archive has an invalid digital signature, or "
8529 "if it is signed by a public key not among the authorized keys (see @code{--"
8530 "authorize} below.)"
8531 msgstr ""
8532
8533 #. type: item
8534 #: doc/guix.texi:3044
8535 #, no-wrap
8536 msgid "--missing"
8537 msgstr ""
8538
8539 #. type: table
8540 #: doc/guix.texi:3048
8541 msgid ""
8542 "Read a list of store file names from the standard input, one per line, and "
8543 "write on the standard output the subset of these files missing from the "
8544 "store."
8545 msgstr ""
8546
8547 #. type: item
8548 #: doc/guix.texi:3049
8549 #, no-wrap
8550 msgid "--generate-key[=@var{parameters}]"
8551 msgstr ""
8552
8553 #. type: cindex
8554 #: doc/guix.texi:3050
8555 #, no-wrap
8556 msgid "signing, archives"
8557 msgstr ""
8558
8559 #. type: table
8560 #: doc/guix.texi:3055
8561 msgid ""
8562 "Generate a new key pair for the daemon. This is a prerequisite before "
8563 "archives can be exported with @code{--export}. Note that this operation "
8564 "usually takes time, because it needs to gather enough entropy to generate "
8565 "the key pair."
8566 msgstr ""
8567
8568 #. type: table
8569 #: doc/guix.texi:3065
8570 msgid ""
8571 "The generated key pair is typically stored under @file{/etc/guix}, in "
8572 "@file{signing-key.pub} (public key) and @file{signing-key.sec} (private key, "
8573 "which must be kept secret.) When @var{parameters} is omitted, an ECDSA key "
8574 "using the Ed25519 curve is generated, or, for Libgcrypt versions before "
8575 "1.6.0, it is a 4096-bit RSA key. Alternatively, @var{parameters} can "
8576 "specify @code{genkey} parameters suitable for Libgcrypt (@pxref{General "
8577 "public-key related Functions, @code{gcry_pk_genkey},, gcrypt, The Libgcrypt "
8578 "Reference Manual})."
8579 msgstr ""
8580
8581 #. type: item
8582 #: doc/guix.texi:3066
8583 #, no-wrap
8584 msgid "--authorize"
8585 msgstr ""
8586
8587 #. type: cindex
8588 #: doc/guix.texi:3067
8589 #, no-wrap
8590 msgid "authorizing, archives"
8591 msgstr ""
8592
8593 #. type: table
8594 #: doc/guix.texi:3071
8595 msgid ""
8596 "Authorize imports signed by the public key passed on standard input. The "
8597 "public key must be in ``s-expression advanced format''---i.e., the same "
8598 "format as the @file{signing-key.pub} file."
8599 msgstr ""
8600
8601 #. type: table
8602 #: doc/guix.texi:3078
8603 msgid ""
8604 "The list of authorized keys is kept in the human-editable file @file{/etc/"
8605 "guix/acl}. The file contains @url{http://people.csail.mit.edu/rivest/Sexp."
8606 "txt, ``advanced-format s-expressions''} and is structured as an access-"
8607 "control list in the @url{http://theworld.com/~cme/spki.txt, Simple Public-"
8608 "Key Infrastructure (SPKI)}."
8609 msgstr ""
8610
8611 #. type: item
8612 #: doc/guix.texi:3079
8613 #, no-wrap
8614 msgid "--extract=@var{directory}"
8615 msgstr ""
8616
8617 #. type: itemx
8618 #: doc/guix.texi:3080
8619 #, no-wrap
8620 msgid "-x @var{directory}"
8621 msgstr ""
8622
8623 #. type: table
8624 #: doc/guix.texi:3084
8625 msgid ""
8626 "Read a single-item archive as served by substitute servers "
8627 "(@pxref{Substitutes}) and extract it to @var{directory}. This is a low-"
8628 "level operation needed in only very narrow use cases; see below."
8629 msgstr ""
8630 "Lit une archive à un seul élément telle que servie par un serveur de "
8631 "substituts (@pxref{Substituts}) et l'extrait dans @var{directory}. C'est une "
8632 "opération de bas niveau requise seulement dans de rares cas d'usage ; voir "
8633 "plus loin."
8634
8635 #. type: table
8636 #: doc/guix.texi:3087
8637 msgid ""
8638 "For example, the following command extracts the substitute for Emacs served "
8639 "by @code{hydra.gnu.org} to @file{/tmp/emacs}:"
8640 msgstr ""
8641
8642 #. type: example
8643 #: doc/guix.texi:3092
8644 #, no-wrap
8645 msgid ""
8646 "$ wget -O - \\\n"
8647 " https://hydra.gnu.org/nar/@dots{}-emacs-24.5 \\\n"
8648 " | bunzip2 | guix archive -x /tmp/emacs\n"
8649 msgstr ""
8650
8651 #. type: table
8652 #: doc/guix.texi:3099
8653 msgid ""
8654 "Single-item archives are different from multiple-item archives produced by "
8655 "@command{guix archive --export}; they contain a single store item, and they "
8656 "do @emph{not} embed a signature. Thus this operation does @emph{no} "
8657 "signature verification and its output should be considered unsafe."
8658 msgstr ""
8659
8660 #. type: table
8661 #: doc/guix.texi:3102
8662 msgid ""
8663 "The primary purpose of this operation is to facilitate inspection of archive "
8664 "contents coming from possibly untrusted substitute servers."
8665 msgstr ""
8666
8667 #. type: Plain text
8668 #: doc/guix.texi:3115
8669 msgid ""
8670 "GNU Guix provides several Scheme programming interfaces (APIs) to define, "
8671 "build, and query packages. The first interface allows users to write high-"
8672 "level package definitions. These definitions refer to familiar packaging "
8673 "concepts, such as the name and version of a package, its build system, and "
8674 "its dependencies. These definitions can then be turned into concrete build "
8675 "actions."
8676 msgstr ""
8677
8678 #. type: Plain text
8679 #: doc/guix.texi:3121
8680 msgid ""
8681 "Build actions are performed by the Guix daemon, on behalf of users. In a "
8682 "standard setup, the daemon has write access to the store---the @file{/gnu/"
8683 "store} directory---whereas users do not. The recommended setup also has the "
8684 "daemon perform builds in chroots, under a specific build users, to minimize "
8685 "interference with the rest of the system."
8686 msgstr ""
8687
8688 #. type: Plain text
8689 #: doc/guix.texi:3130
8690 msgid ""
8691 "Lower-level APIs are available to interact with the daemon and the store. "
8692 "To instruct the daemon to perform a build action, users actually provide it "
8693 "with a @dfn{derivation}. A derivation is a low-level representation of the "
8694 "build actions to be taken, and the environment in which they should occur---"
8695 "derivations are to package definitions what assembly is to C programs. The "
8696 "term ``derivation'' comes from the fact that build results @emph{derive} "
8697 "from them."
8698 msgstr ""
8699
8700 #. type: Plain text
8701 #: doc/guix.texi:3133
8702 msgid ""
8703 "This chapter describes all these APIs in turn, starting from high-level "
8704 "package definitions."
8705 msgstr ""
8706
8707 #. type: Plain text
8708 #: doc/guix.texi:3150
8709 msgid ""
8710 "The high-level interface to package definitions is implemented in the "
8711 "@code{(guix packages)} and @code{(guix build-system)} modules. As an "
8712 "example, the package definition, or @dfn{recipe}, for the GNU Hello package "
8713 "looks like this:"
8714 msgstr ""
8715
8716 #. type: example
8717 #: doc/guix.texi:3158
8718 #, no-wrap
8719 msgid ""
8720 "(define-module (gnu packages hello)\n"
8721 " #:use-module (guix packages)\n"
8722 " #:use-module (guix download)\n"
8723 " #:use-module (guix build-system gnu)\n"
8724 " #:use-module (guix licenses)\n"
8725 " #:use-module (gnu packages gawk))\n"
8726 "\n"
8727 msgstr ""
8728
8729 #. type: example
8730 #: doc/guix.texi:3177
8731 #, no-wrap
8732 msgid ""
8733 "(define-public hello\n"
8734 " (package\n"
8735 " (name \"hello\")\n"
8736 " (version \"2.10\")\n"
8737 " (source (origin\n"
8738 " (method url-fetch)\n"
8739 " (uri (string-append \"mirror://gnu/hello/hello-\" version\n"
8740 " \".tar.gz\"))\n"
8741 " (sha256\n"
8742 " (base32\n"
8743 " \"0ssi1wpaf7plaswqqjwigppsg5fyh99vdlb9kzl7c9lng89ndq1i\"))))\n"
8744 " (build-system gnu-build-system)\n"
8745 " (arguments '(#:configure-flags '(\"--enable-silent-rules\")))\n"
8746 " (inputs `((\"gawk\" ,gawk)))\n"
8747 " (synopsis \"Hello, GNU world: An example GNU package\")\n"
8748 " (description \"Guess what GNU Hello prints!\")\n"
8749 " (home-page \"http://www.gnu.org/software/hello/\")\n"
8750 " (license gpl3+)))\n"
8751 msgstr ""
8752
8753 #. type: Plain text
8754 #: doc/guix.texi:3187
8755 msgid ""
8756 "Without being a Scheme expert, the reader may have guessed the meaning of "
8757 "the various fields here. This expression binds the variable @code{hello} to "
8758 "a @code{<package>} object, which is essentially a record (@pxref{SRFI-9, "
8759 "Scheme records,, guile, GNU Guile Reference Manual}). This package object "
8760 "can be inspected using procedures found in the @code{(guix packages)} "
8761 "module; for instance, @code{(package-name hello)} returns---surprise!---"
8762 "@code{\"hello\"}."
8763 msgstr ""
8764
8765 #. type: Plain text
8766 #: doc/guix.texi:3191
8767 msgid ""
8768 "With luck, you may be able to import part or all of the definition of the "
8769 "package you are interested in from another repository, using the @code{guix "
8770 "import} command (@pxref{Invoking guix import})."
8771 msgstr ""
8772
8773 #. type: Plain text
8774 #: doc/guix.texi:3197
8775 msgid ""
8776 "In the example above, @var{hello} is defined in a module of its own, "
8777 "@code{(gnu packages hello)}. Technically, this is not strictly necessary, "
8778 "but it is convenient to do so: all the packages defined in modules under "
8779 "@code{(gnu packages @dots{})} are automatically known to the command-line "
8780 "tools (@pxref{Package Modules})."
8781 msgstr ""
8782
8783 #. type: Plain text
8784 #: doc/guix.texi:3199
8785 msgid "There are a few points worth noting in the above package definition:"
8786 msgstr ""
8787
8788 #. type: itemize
8789 #: doc/guix.texi:3206
8790 msgid ""
8791 "The @code{source} field of the package is an @code{<origin>} object "
8792 "(@pxref{origin Reference}, for the complete reference). Here, the @code{url-"
8793 "fetch} method from @code{(guix download)} is used, meaning that the source "
8794 "is a file to be downloaded over FTP or HTTP."
8795 msgstr ""
8796
8797 #. type: itemize
8798 #: doc/guix.texi:3209
8799 msgid ""
8800 "The @code{mirror://gnu} prefix instructs @code{url-fetch} to use one of the "
8801 "GNU mirrors defined in @code{(guix download)}."
8802 msgstr ""
8803
8804 #. type: itemize
8805 #: doc/guix.texi:3216
8806 msgid ""
8807 "The @code{sha256} field specifies the expected SHA256 hash of the file being "
8808 "downloaded. It is mandatory, and allows Guix to check the integrity of the "
8809 "file. The @code{(base32 @dots{})} form introduces the base32 representation "
8810 "of the hash. You can obtain this information with @code{guix download} "
8811 "(@pxref{Invoking guix download}) and @code{guix hash} (@pxref{Invoking guix "
8812 "hash})."
8813 msgstr ""
8814
8815 #. type: cindex
8816 #: doc/guix.texi:3217
8817 #, no-wrap
8818 msgid "patches"
8819 msgstr ""
8820
8821 #. type: itemize
8822 #: doc/guix.texi:3221
8823 msgid ""
8824 "When needed, the @code{origin} form can also have a @code{patches} field "
8825 "listing patches to be applied, and a @code{snippet} field giving a Scheme "
8826 "expression to modify the source code."
8827 msgstr ""
8828
8829 #. type: cindex
8830 #: doc/guix.texi:3223
8831 #, no-wrap
8832 msgid "GNU Build System"
8833 msgstr ""
8834
8835 #. type: itemize
8836 #: doc/guix.texi:3229
8837 msgid ""
8838 "The @code{build-system} field specifies the procedure to build the package "
8839 "(@pxref{Build Systems}). Here, @var{gnu-build-system} represents the "
8840 "familiar GNU Build System, where packages may be configured, built, and "
8841 "installed with the usual @code{./configure && make && make check && make "
8842 "install} command sequence."
8843 msgstr ""
8844
8845 #. type: itemize
8846 #: doc/guix.texi:3235
8847 msgid ""
8848 "The @code{arguments} field specifies options for the build system "
8849 "(@pxref{Build Systems}). Here it is interpreted by @var{gnu-build-system} "
8850 "as a request run @file{configure} with the @code{--enable-silent-rules} flag."
8851 msgstr ""
8852
8853 #. type: findex
8854 #: doc/guix.texi:3236 doc/guix.texi:3239
8855 #, no-wrap
8856 msgid "quote"
8857 msgstr ""
8858
8859 #. type: cindex
8860 #: doc/guix.texi:3237
8861 #, no-wrap
8862 msgid "quoting"
8863 msgstr ""
8864
8865 #. type: findex
8866 #: doc/guix.texi:3238
8867 #, no-wrap
8868 msgid "'"
8869 msgstr ""
8870
8871 #. type: itemize
8872 #: doc/guix.texi:3247
8873 msgid ""
8874 "What about these quote (@code{'}) characters? They are Scheme syntax to "
8875 "introduce a literal list; @code{'} is synonymous with @code{quote}. "
8876 "@xref{Expression Syntax, quoting,, guile, GNU Guile Reference Manual}, for "
8877 "details. Here the value of the @code{arguments} field is a list of "
8878 "arguments passed to the build system down the road, as with @code{apply} "
8879 "(@pxref{Fly Evaluation, @code{apply},, guile, GNU Guile Reference Manual})."
8880 msgstr ""
8881
8882 #. type: itemize
8883 #: doc/guix.texi:3253
8884 msgid ""
8885 "The hash-colon (@code{#:}) sequence defines a Scheme @dfn{keyword} "
8886 "(@pxref{Keywords,,, guile, GNU Guile Reference Manual}), and @code{#:"
8887 "configure-flags} is a keyword used to pass a keyword argument to the build "
8888 "system (@pxref{Coding With Keywords,,, guile, GNU Guile Reference Manual})."
8889 msgstr ""
8890
8891 #. type: itemize
8892 #: doc/guix.texi:3259
8893 msgid ""
8894 "The @code{inputs} field specifies inputs to the build process---i.e., build-"
8895 "time or run-time dependencies of the package. Here, we define an input "
8896 "called @code{\"gawk\"} whose value is that of the @var{gawk} variable; "
8897 "@var{gawk} is itself bound to a @code{<package>} object."
8898 msgstr ""
8899
8900 #. type: cindex
8901 #: doc/guix.texi:3260
8902 #, no-wrap
8903 msgid "backquote (quasiquote)"
8904 msgstr ""
8905
8906 #. type: findex
8907 #: doc/guix.texi:3261
8908 #, no-wrap
8909 msgid "`"
8910 msgstr ""
8911
8912 #. type: findex
8913 #: doc/guix.texi:3262
8914 #, no-wrap
8915 msgid "quasiquote"
8916 msgstr ""
8917
8918 #. type: cindex
8919 #: doc/guix.texi:3263
8920 #, no-wrap
8921 msgid "comma (unquote)"
8922 msgstr ""
8923
8924 #. type: findex
8925 #: doc/guix.texi:3264
8926 #, no-wrap
8927 msgid ","
8928 msgstr ""
8929
8930 #. type: findex
8931 #: doc/guix.texi:3265
8932 #, no-wrap
8933 msgid "unquote"
8934 msgstr ""
8935
8936 #. type: findex
8937 #: doc/guix.texi:3266
8938 #, no-wrap
8939 msgid ",@@"
8940 msgstr ""
8941
8942 #. type: findex
8943 #: doc/guix.texi:3267
8944 #, no-wrap
8945 msgid "unquote-splicing"
8946 msgstr ""
8947
8948 #. type: itemize
8949 #: doc/guix.texi:3273
8950 msgid ""
8951 "Again, @code{`} (a backquote, synonymous with @code{quasiquote}) allows us "
8952 "to introduce a literal list in the @code{inputs} field, while @code{,} (a "
8953 "comma, synonymous with @code{unquote}) allows us to insert a value in that "
8954 "list (@pxref{Expression Syntax, unquote,, guile, GNU Guile Reference "
8955 "Manual})."
8956 msgstr ""
8957
8958 #. type: itemize
8959 #: doc/guix.texi:3277
8960 msgid ""
8961 "Note that GCC, Coreutils, Bash, and other essential tools do not need to be "
8962 "specified as inputs here. Instead, @var{gnu-build-system} takes care of "
8963 "ensuring that they are present (@pxref{Build Systems})."
8964 msgstr ""
8965
8966 #. type: itemize
8967 #: doc/guix.texi:3281
8968 msgid ""
8969 "However, any other dependencies need to be specified in the @code{inputs} "
8970 "field. Any dependency not specified here will simply be unavailable to the "
8971 "build process, possibly leading to a build failure."
8972 msgstr ""
8973
8974 #. type: Plain text
8975 #: doc/guix.texi:3284
8976 msgid "@xref{package Reference}, for a full description of possible fields."
8977 msgstr ""
8978
8979 #. type: Plain text
8980 #: doc/guix.texi:3295
8981 msgid ""
8982 "Once a package definition is in place, the package may actually be built "
8983 "using the @code{guix build} command-line tool (@pxref{Invoking guix build}), "
8984 "troubleshooting any build failures you encounter (@pxref{Debugging Build "
8985 "Failures}). You can easily jump back to the package definition using the "
8986 "@command{guix edit} command (@pxref{Invoking guix edit}). @xref{Packaging "
8987 "Guidelines}, for more information on how to test package definitions, and "
8988 "@ref{Invoking guix lint}, for information on how to check a definition for "
8989 "style conformance."
8990 msgstr ""
8991
8992 #. type: vindex
8993 #: doc/guix.texi:3295
8994 #, no-wrap
8995 msgid "GUIX_PACKAGE_PATH"
8996 msgstr ""
8997
8998 #. type: Plain text
8999 #: doc/guix.texi:3299
9000 msgid ""
9001 "Lastly, @pxref{Package Modules}, for information on how to extend the "
9002 "distribution by adding your own package definitions to "
9003 "@code{GUIX_PACKAGE_PATH}."
9004 msgstr ""
9005
9006 #. type: Plain text
9007 #: doc/guix.texi:3303
9008 msgid ""
9009 "Finally, updating the package definition to a new upstream version can be "
9010 "partly automated by the @command{guix refresh} command (@pxref{Invoking guix "
9011 "refresh})."
9012 msgstr ""
9013
9014 #. type: Plain text
9015 #: doc/guix.texi:3309
9016 msgid ""
9017 "Behind the scenes, a derivation corresponding to the @code{<package>} object "
9018 "is first computed by the @code{package-derivation} procedure. That "
9019 "derivation is stored in a @code{.drv} file under @file{/gnu/store}. The "
9020 "build actions it prescribes may then be realized by using the @code{build-"
9021 "derivations} procedure (@pxref{The Store})."
9022 msgstr ""
9023
9024 #. type: deffn
9025 #: doc/guix.texi:3310
9026 #, no-wrap
9027 msgid "{Scheme Procedure} package-derivation @var{store} @var{package} [@var{system}]"
9028 msgstr ""
9029
9030 #. type: deffn
9031 #: doc/guix.texi:3313
9032 msgid ""
9033 "Return the @code{<derivation>} object of @var{package} for @var{system} "
9034 "(@pxref{Derivations})."
9035 msgstr ""
9036
9037 #. type: deffn
9038 #: doc/guix.texi:3319
9039 msgid ""
9040 "@var{package} must be a valid @code{<package>} object, and @var{system} must "
9041 "be a string denoting the target system type---e.g., @code{\"x86_64-linux\"} "
9042 "for an x86_64 Linux-based GNU system. @var{store} must be a connection to "
9043 "the daemon, which operates on the store (@pxref{The Store})."
9044 msgstr ""
9045
9046 #. type: Plain text
9047 #: doc/guix.texi:3325
9048 msgid ""
9049 "Similarly, it is possible to compute a derivation that cross-builds a "
9050 "package for some other system:"
9051 msgstr ""
9052
9053 #. type: deffn
9054 #: doc/guix.texi:3326
9055 #, no-wrap
9056 msgid "{Scheme Procedure} package-cross-derivation @var{store} @"
9057 msgstr ""
9058
9059 #. type: deffn
9060 #: doc/guix.texi:3330
9061 msgid ""
9062 "@var{package} @var{target} [@var{system}] Return the @code{<derivation>} "
9063 "object of @var{package} cross-built from @var{system} to @var{target}."
9064 msgstr ""
9065
9066 #. type: deffn
9067 #: doc/guix.texi:3335
9068 msgid ""
9069 "@var{target} must be a valid GNU triplet denoting the target hardware and "
9070 "operating system, such as @code{\"mips64el-linux-gnu\"} "
9071 "(@pxref{Configuration Names, GNU configuration triplets,, configure, GNU "
9072 "Configure and Build System})."
9073 msgstr ""
9074
9075 #. type: cindex
9076 #: doc/guix.texi:3337
9077 #, no-wrap
9078 msgid "package transformations"
9079 msgstr ""
9080
9081 #. type: cindex
9082 #: doc/guix.texi:3338
9083 #, no-wrap
9084 msgid "input rewriting"
9085 msgstr ""
9086
9087 #. type: cindex
9088 #: doc/guix.texi:3339
9089 #, no-wrap
9090 msgid "dependency tree rewriting"
9091 msgstr ""
9092
9093 #. type: Plain text
9094 #: doc/guix.texi:3343
9095 msgid ""
9096 "Packages can be manipulated in arbitrary ways. An example of a useful "
9097 "transformation is @dfn{input rewriting}, whereby the dependency tree of a "
9098 "package is rewritten by replacing specific inputs by others:"
9099 msgstr ""
9100
9101 #. type: deffn
9102 #: doc/guix.texi:3344
9103 #, no-wrap
9104 msgid "{Scheme Procedure} package-input-rewriting @var{replacements} @"
9105 msgstr ""
9106
9107 #. type: deffn
9108 #: doc/guix.texi:3351
9109 msgid ""
9110 "[@var{rewrite-name}] Return a procedure that, when passed a package, "
9111 "replaces its direct and indirect dependencies (but not its implicit inputs) "
9112 "according to @var{replacements}. @var{replacements} is a list of package "
9113 "pairs; the first element of each pair is the package to replace, and the "
9114 "second one is the replacement."
9115 msgstr ""
9116
9117 #. type: deffn
9118 #: doc/guix.texi:3354
9119 msgid ""
9120 "Optionally, @var{rewrite-name} is a one-argument procedure that takes the "
9121 "name of a package and returns its new name after rewrite."
9122 msgstr ""
9123
9124 #. type: Plain text
9125 #: doc/guix.texi:3358
9126 msgid "Consider this example:"
9127 msgstr ""
9128
9129 #. type: example
9130 #: doc/guix.texi:3364
9131 #, no-wrap
9132 msgid ""
9133 "(define libressl-instead-of-openssl\n"
9134 " ;; This is a procedure to replace OPENSSL by LIBRESSL,\n"
9135 " ;; recursively.\n"
9136 " (package-input-rewriting `((,openssl . ,libressl))))\n"
9137 "\n"
9138 msgstr ""
9139
9140 #. type: example
9141 #: doc/guix.texi:3367
9142 #, no-wrap
9143 msgid ""
9144 "(define git-with-libressl\n"
9145 " (libressl-instead-of-openssl git))\n"
9146 msgstr ""
9147
9148 #. type: Plain text
9149 #: doc/guix.texi:3375
9150 msgid ""
9151 "Here we first define a rewriting procedure that replaces @var{openssl} with "
9152 "@var{libressl}. Then we use it to define a @dfn{variant} of the @var{git} "
9153 "package that uses @var{libressl} instead of @var{openssl}. This is exactly "
9154 "what the @option{--with-input} command-line option does (@pxref{Package "
9155 "Transformation Options, @option{--with-input}})."
9156 msgstr ""
9157
9158 #. type: Plain text
9159 #: doc/guix.texi:3379
9160 msgid ""
9161 "A more generic procedure to rewrite a package dependency graph is "
9162 "@code{package-mapping}: it supports arbitrary changes to nodes in the graph."
9163 msgstr ""
9164
9165 #. type: deffn
9166 #: doc/guix.texi:3380
9167 #, no-wrap
9168 msgid "{Scheme Procedure} package-mapping @var{proc} [@var{cut?}]"
9169 msgstr ""
9170
9171 #. type: deffn
9172 #: doc/guix.texi:3384
9173 msgid ""
9174 "Return a procedure that, given a package, applies @var{proc} to all the "
9175 "packages depended on and returns the resulting package. The procedure stops "
9176 "recursion when @var{cut?} returns true for a given package."
9177 msgstr ""
9178
9179 #. type: subsection
9180 #: doc/guix.texi:3393
9181 #, no-wrap
9182 msgid "@code{package} Reference"
9183 msgstr ""
9184
9185 #. type: Plain text
9186 #: doc/guix.texi:3397
9187 msgid ""
9188 "This section summarizes all the options available in @code{package} "
9189 "declarations (@pxref{Defining Packages})."
9190 msgstr ""
9191
9192 #. type: deftp
9193 #: doc/guix.texi:3398
9194 #, no-wrap
9195 msgid "{Data Type} package"
9196 msgstr ""
9197
9198 #. type: deftp
9199 #: doc/guix.texi:3400
9200 msgid "This is the data type representing a package recipe."
9201 msgstr ""
9202
9203 #. type: table
9204 #: doc/guix.texi:3404
9205 msgid "The name of the package, as a string."
9206 msgstr ""
9207
9208 #. type: code{#1}
9209 #: doc/guix.texi:3405
9210 #, no-wrap
9211 msgid "version"
9212 msgstr ""
9213
9214 #. type: table
9215 #: doc/guix.texi:3407
9216 msgid "The version of the package, as a string."
9217 msgstr ""
9218
9219 #. type: code{#1}
9220 #: doc/guix.texi:3408 doc/guix.texi:6743 doc/guix.texi:9281 doc/guix.texi:9569
9221 #, no-wrap
9222 msgid "source"
9223 msgstr ""
9224
9225 #. type: table
9226 #: doc/guix.texi:3415
9227 msgid ""
9228 "An object telling how the source code for the package should be acquired. "
9229 "Most of the time, this is an @code{origin} object, which denotes a file "
9230 "fetched from the Internet (@pxref{origin Reference}). It can also be any "
9231 "other ``file-like'' object such as a @code{local-file}, which denotes a file "
9232 "from the local file system (@pxref{G-Expressions, @code{local-file}})."
9233 msgstr ""
9234
9235 #. type: code{#1}
9236 #: doc/guix.texi:3416
9237 #, no-wrap
9238 msgid "build-system"
9239 msgstr ""
9240
9241 #. type: table
9242 #: doc/guix.texi:3419
9243 msgid ""
9244 "The build system that should be used to build the package (@pxref{Build "
9245 "Systems})."
9246 msgstr ""
9247
9248 #. type: item
9249 #: doc/guix.texi:3420 doc/guix.texi:11018
9250 #, no-wrap
9251 msgid "@code{arguments} (default: @code{'()})"
9252 msgstr ""
9253
9254 #. type: table
9255 #: doc/guix.texi:3423
9256 msgid ""
9257 "The arguments that should be passed to the build system. This is a list, "
9258 "typically containing sequential keyword-value pairs."
9259 msgstr ""
9260
9261 #. type: item
9262 #: doc/guix.texi:3424
9263 #, no-wrap
9264 msgid "@code{inputs} (default: @code{'()})"
9265 msgstr ""
9266
9267 #. type: itemx
9268 #: doc/guix.texi:3425
9269 #, no-wrap
9270 msgid "@code{native-inputs} (default: @code{'()})"
9271 msgstr ""
9272
9273 #. type: itemx
9274 #: doc/guix.texi:3426
9275 #, no-wrap
9276 msgid "@code{propagated-inputs} (default: @code{'()})"
9277 msgstr ""
9278
9279 #. type: cindex
9280 #: doc/guix.texi:3427
9281 #, no-wrap
9282 msgid "inputs, of packages"
9283 msgstr ""
9284
9285 #. type: table
9286 #: doc/guix.texi:3435
9287 msgid ""
9288 "These fields list dependencies of the package. Each one is a list of "
9289 "tuples, where each tuple has a label for the input (a string) as its first "
9290 "element, a package, origin, or derivation as its second element, and "
9291 "optionally the name of the output thereof that should be used, which "
9292 "defaults to @code{\"out\"} (@pxref{Packages with Multiple Outputs}, for more "
9293 "on package outputs). For example, the list below specifies three inputs:"
9294 msgstr ""
9295
9296 #. type: example
9297 #: doc/guix.texi:3440
9298 #, no-wrap
9299 msgid ""
9300 "`((\"libffi\" ,libffi)\n"
9301 " (\"libunistring\" ,libunistring)\n"
9302 " (\"glib:bin\" ,glib \"bin\")) ;the \"bin\" output of Glib\n"
9303 msgstr ""
9304
9305 #. type: cindex
9306 #: doc/guix.texi:3442
9307 #, no-wrap
9308 msgid "cross compilation, package dependencies"
9309 msgstr ""
9310
9311 #. type: table
9312 #: doc/guix.texi:3448
9313 msgid ""
9314 "The distinction between @code{native-inputs} and @code{inputs} is necessary "
9315 "when considering cross-compilation. When cross-compiling, dependencies "
9316 "listed in @code{inputs} are built for the @emph{target} architecture; "
9317 "conversely, dependencies listed in @code{native-inputs} are built for the "
9318 "architecture of the @emph{build} machine."
9319 msgstr ""
9320
9321 #. type: table
9322 #: doc/guix.texi:3453
9323 msgid ""
9324 "@code{native-inputs} is typically used to list tools needed at build time, "
9325 "but not at run time, such as Autoconf, Automake, pkg-config, Gettext, or "
9326 "Bison. @command{guix lint} can report likely mistakes in this area "
9327 "(@pxref{Invoking guix lint})."
9328 msgstr ""
9329
9330 #. type: anchor{#1}
9331 #: doc/guix.texi:3460
9332 msgid "package-propagated-inputs"
9333 msgstr ""
9334
9335 #. type: table
9336 #: doc/guix.texi:3460
9337 msgid ""
9338 "Lastly, @code{propagated-inputs} is similar to @code{inputs}, but the "
9339 "specified packages will be automatically installed alongside the package "
9340 "they belong to (@pxref{package-cmd-propagated-inputs, @command{guix "
9341 "package}}, for information on how @command{guix package} deals with "
9342 "propagated inputs.)"
9343 msgstr ""
9344
9345 #. type: table
9346 #: doc/guix.texi:3464
9347 msgid ""
9348 "For example this is necessary when a C/C++ library needs headers of another "
9349 "library to compile, or when a pkg-config file refers to another one @i{via} "
9350 "its @code{Requires} field."
9351 msgstr ""
9352
9353 #. type: table
9354 #: doc/guix.texi:3471
9355 msgid ""
9356 "Another example where @code{propagated-inputs} is useful is for languages "
9357 "that lack a facility to record the run-time search path akin to the "
9358 "@code{RUNPATH} of ELF files; this includes Guile, Python, Perl, and more. "
9359 "To ensure that libraries written in those languages can find library code "
9360 "they depend on at run time, run-time dependencies must be listed in "
9361 "@code{propagated-inputs} rather than @code{inputs}."
9362 msgstr ""
9363
9364 #. type: item
9365 #: doc/guix.texi:3472
9366 #, no-wrap
9367 msgid "@code{self-native-input?} (default: @code{#f})"
9368 msgstr ""
9369
9370 #. type: table
9371 #: doc/guix.texi:3475
9372 msgid ""
9373 "This is a Boolean field telling whether the package should use itself as a "
9374 "native input when cross-compiling."
9375 msgstr ""
9376
9377 #. type: item
9378 #: doc/guix.texi:3476
9379 #, no-wrap
9380 msgid "@code{outputs} (default: @code{'(\"out\")})"
9381 msgstr ""
9382
9383 #. type: table
9384 #: doc/guix.texi:3479
9385 msgid ""
9386 "The list of output names of the package. @xref{Packages with Multiple "
9387 "Outputs}, for typical uses of additional outputs."
9388 msgstr ""
9389
9390 #. type: item
9391 #: doc/guix.texi:3480
9392 #, no-wrap
9393 msgid "@code{native-search-paths} (default: @code{'()})"
9394 msgstr ""
9395
9396 #. type: itemx
9397 #: doc/guix.texi:3481
9398 #, no-wrap
9399 msgid "@code{search-paths} (default: @code{'()})"
9400 msgstr ""
9401
9402 #. type: table
9403 #: doc/guix.texi:3484
9404 msgid ""
9405 "A list of @code{search-path-specification} objects describing search-path "
9406 "environment variables honored by the package."
9407 msgstr ""
9408
9409 #. type: item
9410 #: doc/guix.texi:3485
9411 #, no-wrap
9412 msgid "@code{replacement} (default: @code{#f})"
9413 msgstr ""
9414
9415 #. type: table
9416 #: doc/guix.texi:3489
9417 msgid ""
9418 "This must be either @code{#f} or a package object that will be used as a "
9419 "@dfn{replacement} for this package. @xref{Security Updates, grafts}, for "
9420 "details."
9421 msgstr ""
9422
9423 #. type: item
9424 #: doc/guix.texi:3490 doc/guix.texi:6735
9425 #, no-wrap
9426 msgid "synopsis"
9427 msgstr ""
9428
9429 #. type: table
9430 #: doc/guix.texi:3492
9431 msgid "A one-line description of the package."
9432 msgstr ""
9433
9434 #. type: item
9435 #: doc/guix.texi:3493 doc/guix.texi:6736 doc/guix.texi:21027
9436 #, no-wrap
9437 msgid "description"
9438 msgstr ""
9439
9440 #. type: table
9441 #: doc/guix.texi:3495
9442 msgid "A more elaborate description of the package."
9443 msgstr ""
9444
9445 #. type: code{#1}
9446 #: doc/guix.texi:3496
9447 #, no-wrap
9448 msgid "license"
9449 msgstr ""
9450
9451 #. type: cindex
9452 #: doc/guix.texi:3497
9453 #, no-wrap
9454 msgid "license, of packages"
9455 msgstr ""
9456
9457 #. type: table
9458 #: doc/guix.texi:3500
9459 msgid ""
9460 "The license of the package; a value from @code{(guix licenses)}, or a list "
9461 "of such values."
9462 msgstr ""
9463
9464 #. type: itemx
9465 #: doc/guix.texi:3501 doc/guix.texi:6744
9466 #, no-wrap
9467 msgid "home-page"
9468 msgstr ""
9469
9470 #. type: table
9471 #: doc/guix.texi:3503
9472 msgid "The URL to the home-page of the package, as a string."
9473 msgstr ""
9474
9475 #. type: item
9476 #: doc/guix.texi:3504
9477 #, no-wrap
9478 msgid "@code{supported-systems} (default: @var{%supported-systems})"
9479 msgstr ""
9480
9481 #. type: table
9482 #: doc/guix.texi:3507
9483 msgid ""
9484 "The list of systems supported by the package, as strings of the form "
9485 "@code{architecture-kernel}, for example @code{\"x86_64-linux\"}."
9486 msgstr ""
9487
9488 #. type: item
9489 #: doc/guix.texi:3508
9490 #, no-wrap
9491 msgid "@code{maintainers} (default: @code{'()})"
9492 msgstr ""
9493
9494 #. type: table
9495 #: doc/guix.texi:3510
9496 msgid "The list of maintainers of the package, as @code{maintainer} objects."
9497 msgstr ""
9498
9499 #. type: item
9500 #: doc/guix.texi:3511
9501 #, no-wrap
9502 msgid "@code{location} (default: source location of the @code{package} form)"
9503 msgstr ""
9504
9505 #. type: table
9506 #: doc/guix.texi:3515
9507 msgid ""
9508 "The source location of the package. It is useful to override this when "
9509 "inheriting from another package, in which case this field is not "
9510 "automatically corrected."
9511 msgstr ""
9512
9513 #. type: subsection
9514 #: doc/guix.texi:3520
9515 #, no-wrap
9516 msgid "@code{origin} Reference"
9517 msgstr ""
9518
9519 #. type: Plain text
9520 #: doc/guix.texi:3524
9521 msgid ""
9522 "This section summarizes all the options available in @code{origin} "
9523 "declarations (@pxref{Defining Packages})."
9524 msgstr ""
9525
9526 #. type: deftp
9527 #: doc/guix.texi:3525
9528 #, no-wrap
9529 msgid "{Data Type} origin"
9530 msgstr ""
9531
9532 #. type: deftp
9533 #: doc/guix.texi:3527
9534 msgid "This is the data type representing a source code origin."
9535 msgstr ""
9536
9537 #. type: code{#1}
9538 #: doc/guix.texi:3529 doc/guix.texi:15696
9539 #, no-wrap
9540 msgid "uri"
9541 msgstr ""
9542
9543 #. type: table
9544 #: doc/guix.texi:3534
9545 msgid ""
9546 "An object containing the URI of the source. The object type depends on the "
9547 "@code{method} (see below). For example, when using the @var{url-fetch} "
9548 "method of @code{(guix download)}, the valid @code{uri} values are: a URL "
9549 "represented as a string, or a list thereof."
9550 msgstr ""
9551
9552 #. type: code{#1}
9553 #: doc/guix.texi:3535
9554 #, no-wrap
9555 msgid "method"
9556 msgstr ""
9557
9558 #. type: table
9559 #: doc/guix.texi:3537
9560 msgid "A procedure that handles the URI."
9561 msgstr ""
9562
9563 #. type: table
9564 #: doc/guix.texi:3539
9565 msgid "Examples include:"
9566 msgstr ""
9567
9568 #. type: item
9569 #: doc/guix.texi:3541
9570 #, no-wrap
9571 msgid "@var{url-fetch} from @code{(guix download)}"
9572 msgstr ""
9573
9574 #. type: table
9575 #: doc/guix.texi:3544
9576 msgid ""
9577 "download a file from the HTTP, HTTPS, or FTP URL specified in the @code{uri} "
9578 "field;"
9579 msgstr ""
9580
9581 #. type: vindex
9582 #: doc/guix.texi:3545 doc/guix.texi:6097
9583 #, no-wrap
9584 msgid "git-fetch"
9585 msgstr ""
9586
9587 #. type: item
9588 #: doc/guix.texi:3546
9589 #, no-wrap
9590 msgid "@var{git-fetch} from @code{(guix git-download)}"
9591 msgstr ""
9592
9593 #. type: table
9594 #: doc/guix.texi:3550
9595 msgid ""
9596 "clone the Git version control repository, and check out the revision "
9597 "specified in the @code{uri} field as a @code{git-reference} object; a "
9598 "@code{git-reference} looks like this:"
9599 msgstr ""
9600
9601 #. type: example
9602 #: doc/guix.texi:3555
9603 #, no-wrap
9604 msgid ""
9605 "(git-reference\n"
9606 " (url \"git://git.debian.org/git/pkg-shadow/shadow\")\n"
9607 " (commit \"v4.1.5.1\"))\n"
9608 msgstr ""
9609
9610 #. type: code{#1}
9611 #: doc/guix.texi:3558
9612 #, no-wrap
9613 msgid "sha256"
9614 msgstr ""
9615
9616 #. type: table
9617 #: doc/guix.texi:3562
9618 msgid ""
9619 "A bytevector containing the SHA-256 hash of the source. Typically the "
9620 "@code{base32} form is used here to generate the bytevector from a base-32 "
9621 "string."
9622 msgstr ""
9623
9624 #. type: table
9625 #: doc/guix.texi:3566
9626 msgid ""
9627 "You can obtain this information using @code{guix download} (@pxref{Invoking "
9628 "guix download}) or @code{guix hash} (@pxref{Invoking guix hash})."
9629 msgstr ""
9630
9631 #. type: item
9632 #: doc/guix.texi:3567
9633 #, no-wrap
9634 msgid "@code{file-name} (default: @code{#f})"
9635 msgstr ""
9636
9637 #. type: table
9638 #: doc/guix.texi:3573
9639 msgid ""
9640 "The file name under which the source code should be saved. When this is "
9641 "@code{#f}, a sensible default value will be used in most cases. In case the "
9642 "source is fetched from a URL, the file name from the URL will be used. For "
9643 "version control checkouts, it is recommended to provide the file name "
9644 "explicitly because the default is not very descriptive."
9645 msgstr ""
9646
9647 #. type: item
9648 #: doc/guix.texi:3574
9649 #, no-wrap
9650 msgid "@code{patches} (default: @code{'()})"
9651 msgstr ""
9652
9653 #. type: table
9654 #: doc/guix.texi:3577
9655 msgid ""
9656 "A list of file names, origins, or file-like objects (@pxref{G-Expressions, "
9657 "file-like objects}) pointing to patches to be applied to the source."
9658 msgstr ""
9659
9660 #. type: table
9661 #: doc/guix.texi:3581
9662 msgid ""
9663 "This list of patches must be unconditional. In particular, it cannot depend "
9664 "on the value of @code{%current-system} or @code{%current-target-system}."
9665 msgstr ""
9666
9667 #. type: item
9668 #: doc/guix.texi:3582
9669 #, no-wrap
9670 msgid "@code{snippet} (default: @code{#f})"
9671 msgstr ""
9672
9673 #. type: table
9674 #: doc/guix.texi:3586
9675 msgid ""
9676 "A G-expression (@pxref{G-Expressions}) or S-expression that will be run in "
9677 "the source directory. This is a convenient way to modify the source, "
9678 "sometimes more convenient than a patch."
9679 msgstr ""
9680
9681 #. type: item
9682 #: doc/guix.texi:3587
9683 #, no-wrap
9684 msgid "@code{patch-flags} (default: @code{'(\"-p1\")})"
9685 msgstr ""
9686
9687 #. type: table
9688 #: doc/guix.texi:3590
9689 msgid ""
9690 "A list of command-line flags that should be passed to the @code{patch} "
9691 "command."
9692 msgstr ""
9693
9694 #. type: item
9695 #: doc/guix.texi:3591
9696 #, no-wrap
9697 msgid "@code{patch-inputs} (default: @code{#f})"
9698 msgstr ""
9699
9700 #. type: table
9701 #: doc/guix.texi:3595
9702 msgid ""
9703 "Input packages or derivations to the patching process. When this is "
9704 "@code{#f}, the usual set of inputs necessary for patching are provided, such "
9705 "as GNU@tie{}Patch."
9706 msgstr ""
9707
9708 #. type: item
9709 #: doc/guix.texi:3596
9710 #, no-wrap
9711 msgid "@code{modules} (default: @code{'()})"
9712 msgstr ""
9713
9714 #. type: table
9715 #: doc/guix.texi:3599
9716 msgid ""
9717 "A list of Guile modules that should be loaded during the patching process "
9718 "and while running the code in the @code{snippet} field."
9719 msgstr ""
9720
9721 #. type: item
9722 #: doc/guix.texi:3600
9723 #, no-wrap
9724 msgid "@code{patch-guile} (default: @code{#f})"
9725 msgstr ""
9726
9727 #. type: table
9728 #: doc/guix.texi:3603
9729 msgid ""
9730 "The Guile package that should be used in the patching process. When this is "
9731 "@code{#f}, a sensible default is used."
9732 msgstr ""
9733
9734 #. type: cindex
9735 #: doc/guix.texi:3610
9736 #, no-wrap
9737 msgid "build system"
9738 msgstr ""
9739
9740 #. type: Plain text
9741 #: doc/guix.texi:3615
9742 msgid ""
9743 "Each package definition specifies a @dfn{build system} and arguments for "
9744 "that build system (@pxref{Defining Packages}). This @code{build-system} "
9745 "field represents the build procedure of the package, as well as implicit "
9746 "dependencies of that build procedure."
9747 msgstr ""
9748
9749 #. type: Plain text
9750 #: doc/guix.texi:3619
9751 msgid ""
9752 "Build systems are @code{<build-system>} objects. The interface to create "
9753 "and manipulate them is provided by the @code{(guix build-system)} module, "
9754 "and actual build systems are exported by specific modules."
9755 msgstr ""
9756
9757 #. type: cindex
9758 #: doc/guix.texi:3620
9759 #, no-wrap
9760 msgid "bag (low-level package representation)"
9761 msgstr ""
9762
9763 #. type: Plain text
9764 #: doc/guix.texi:3627
9765 msgid ""
9766 "Under the hood, build systems first compile package objects to @dfn{bags}. "
9767 "A @dfn{bag} is like a package, but with less ornamentation---in other words, "
9768 "a bag is a lower-level representation of a package, which includes all the "
9769 "inputs of that package, including some that were implicitly added by the "
9770 "build system. This intermediate representation is then compiled to a "
9771 "derivation (@pxref{Derivations})."
9772 msgstr ""
9773
9774 #. type: Plain text
9775 #: doc/guix.texi:3635
9776 msgid ""
9777 "Build systems accept an optional list of @dfn{arguments}. In package "
9778 "definitions, these are passed @i{via} the @code{arguments} field "
9779 "(@pxref{Defining Packages}). They are typically keyword arguments "
9780 "(@pxref{Optional Arguments, keyword arguments in Guile,, guile, GNU Guile "
9781 "Reference Manual}). The value of these arguments is usually evaluated in "
9782 "the @dfn{build stratum}---i.e., by a Guile process launched by the daemon "
9783 "(@pxref{Derivations})."
9784 msgstr ""
9785
9786 #. type: Plain text
9787 #: doc/guix.texi:3639
9788 msgid ""
9789 "The main build system is @var{gnu-build-system}, which implements the "
9790 "standard build procedure for GNU and many other packages. It is provided by "
9791 "the @code{(guix build-system gnu)} module."
9792 msgstr ""
9793
9794 #. type: defvr
9795 #: doc/guix.texi:3640
9796 #, no-wrap
9797 msgid "{Scheme Variable} gnu-build-system"
9798 msgstr ""
9799
9800 #. type: defvr
9801 #: doc/guix.texi:3644
9802 msgid ""
9803 "@var{gnu-build-system} represents the GNU Build System, and variants thereof "
9804 "(@pxref{Configuration, configuration and makefile conventions,, standards, "
9805 "GNU Coding Standards})."
9806 msgstr ""
9807
9808 #. type: cindex
9809 #: doc/guix.texi:3645
9810 #, no-wrap
9811 msgid "build phases"
9812 msgstr ""
9813
9814 #. type: defvr
9815 #: doc/guix.texi:3652
9816 msgid ""
9817 "In a nutshell, packages using it are configured, built, and installed with "
9818 "the usual @code{./configure && make && make check && make install} command "
9819 "sequence. In practice, a few additional steps are often needed. All these "
9820 "steps are split up in separate @dfn{phases}, notably@footnote{Please see the "
9821 "@code{(guix build gnu-build-system)} modules for more details about the "
9822 "build phases.}:"
9823 msgstr ""
9824
9825 #. type: item
9826 #: doc/guix.texi:3654
9827 #, no-wrap
9828 msgid "unpack"
9829 msgstr ""
9830
9831 #. type: table
9832 #: doc/guix.texi:3658
9833 msgid ""
9834 "Unpack the source tarball, and change the current directory to the extracted "
9835 "source tree. If the source is actually a directory, copy it to the build "
9836 "tree, and enter that directory."
9837 msgstr ""
9838
9839 #. type: item
9840 #: doc/guix.texi:3659
9841 #, no-wrap
9842 msgid "patch-source-shebangs"
9843 msgstr ""
9844
9845 #. type: table
9846 #: doc/guix.texi:3663
9847 msgid ""
9848 "Patch shebangs encountered in source files so they refer to the right store "
9849 "file names. For instance, this changes @code{#!/bin/sh} to @code{#!/gnu/"
9850 "store/@dots{}-bash-4.3/bin/sh}."
9851 msgstr ""
9852
9853 #. type: item
9854 #: doc/guix.texi:3664 doc/guix.texi:4130
9855 #, no-wrap
9856 msgid "configure"
9857 msgstr ""
9858
9859 #. type: table
9860 #: doc/guix.texi:3668
9861 msgid ""
9862 "Run the @file{configure} script with a number of default options, such as "
9863 "@code{--prefix=/gnu/store/@dots{}}, as well as the options specified by the "
9864 "@code{#:configure-flags} argument."
9865 msgstr ""
9866
9867 #. type: item
9868 #: doc/guix.texi:3669 doc/guix.texi:4135 doc/guix.texi:20437
9869 #, no-wrap
9870 msgid "build"
9871 msgstr ""
9872
9873 #. type: table
9874 #: doc/guix.texi:3673
9875 msgid ""
9876 "Run @code{make} with the list of flags specified with @code{#:make-flags}. "
9877 "If the @code{#:parallel-build?} argument is true (the default), build with "
9878 "@code{make -j}."
9879 msgstr ""
9880
9881 #. type: item
9882 #: doc/guix.texi:3674 doc/guix.texi:4139
9883 #, no-wrap
9884 msgid "check"
9885 msgstr ""
9886
9887 #. type: table
9888 #: doc/guix.texi:3679
9889 msgid ""
9890 "Run @code{make check}, or some other target specified with @code{#:test-"
9891 "target}, unless @code{#:tests? #f} is passed. If the @code{#:parallel-"
9892 "tests?} argument is true (the default), run @code{make check -j}."
9893 msgstr ""
9894
9895 #. type: item
9896 #: doc/guix.texi:3680 doc/guix.texi:4143
9897 #, no-wrap
9898 msgid "install"
9899 msgstr ""
9900
9901 #. type: table
9902 #: doc/guix.texi:3682
9903 msgid "Run @code{make install} with the flags listed in @code{#:make-flags}."
9904 msgstr ""
9905
9906 #. type: item
9907 #: doc/guix.texi:3683
9908 #, no-wrap
9909 msgid "patch-shebangs"
9910 msgstr ""
9911
9912 #. type: table
9913 #: doc/guix.texi:3685
9914 msgid "Patch shebangs on the installed executable files."
9915 msgstr ""
9916
9917 #. type: item
9918 #: doc/guix.texi:3686
9919 #, no-wrap
9920 msgid "strip"
9921 msgstr ""
9922
9923 #. type: table
9924 #: doc/guix.texi:3690
9925 msgid ""
9926 "Strip debugging symbols from ELF files (unless @code{#:strip-binaries?} is "
9927 "false), copying them to the @code{debug} output when available "
9928 "(@pxref{Installing Debugging Files})."
9929 msgstr ""
9930
9931 #. type: vindex
9932 #: doc/guix.texi:3692
9933 #, no-wrap
9934 msgid "%standard-phases"
9935 msgstr ""
9936
9937 #. type: defvr
9938 #: doc/guix.texi:3697
9939 msgid ""
9940 "The build-side module @code{(guix build gnu-build-system)} defines "
9941 "@var{%standard-phases} as the default list of build phases. @var{%standard-"
9942 "phases} is a list of symbol/procedure pairs, where the procedure implements "
9943 "the actual phase."
9944 msgstr ""
9945
9946 #. type: defvr
9947 #: doc/guix.texi:3700
9948 msgid ""
9949 "The list of phases used for a particular package can be changed with the "
9950 "@code{#:phases} parameter. For instance, passing:"
9951 msgstr ""
9952
9953 #. type: example
9954 #: doc/guix.texi:3703
9955 #, no-wrap
9956 msgid "#:phases (modify-phases %standard-phases (delete 'configure))\n"
9957 msgstr ""
9958
9959 #. type: defvr
9960 #: doc/guix.texi:3707
9961 msgid ""
9962 "means that all the phases described above will be used, except the "
9963 "@code{configure} phase."
9964 msgstr ""
9965
9966 #. type: defvr
9967 #: doc/guix.texi:3714
9968 msgid ""
9969 "In addition, this build system ensures that the ``standard'' environment for "
9970 "GNU packages is available. This includes tools such as GCC, libc, "
9971 "Coreutils, Bash, Make, Diffutils, grep, and sed (see the @code{(guix build-"
9972 "system gnu)} module for a complete list). We call these the @dfn{implicit "
9973 "inputs} of a package, because package definitions do not have to mention "
9974 "them."
9975 msgstr ""
9976
9977 #. type: Plain text
9978 #: doc/guix.texi:3721
9979 msgid ""
9980 "Other @code{<build-system>} objects are defined to support other conventions "
9981 "and tools used by free software packages. They inherit most of @var{gnu-"
9982 "build-system}, and differ mainly in the set of inputs implicitly added to "
9983 "the build process, and in the list of phases executed. Some of these build "
9984 "systems are listed below."
9985 msgstr ""
9986
9987 #. type: defvr
9988 #: doc/guix.texi:3722
9989 #, no-wrap
9990 msgid "{Scheme Variable} ant-build-system"
9991 msgstr ""
9992
9993 #. type: defvr
9994 #: doc/guix.texi:3726
9995 msgid ""
9996 "This variable is exported by @code{(guix build-system ant)}. It implements "
9997 "the build procedure for Java packages that can be built with @url{http://ant."
9998 "apache.org/, Ant build tool}."
9999 msgstr ""
10000
10001 #. type: defvr
10002 #: doc/guix.texi:3731
10003 msgid ""
10004 "It adds both @code{ant} and the @dfn{Java Development Kit} (JDK) as provided "
10005 "by the @code{icedtea} package to the set of inputs. Different packages can "
10006 "be specified with the @code{#:ant} and @code{#:jdk} parameters, respectively."
10007 msgstr ""
10008
10009 #. type: defvr
10010 #: doc/guix.texi:3737
10011 msgid ""
10012 "When the original package does not provide a suitable Ant build file, the "
10013 "parameter @code{#:jar-name} can be used to generate a minimal Ant build file "
10014 "@file{build.xml} with tasks to build the specified jar archive. In this "
10015 "case the parameter @code{#:source-dir} can be used to specify the source sub-"
10016 "directory, defaulting to ``src''."
10017 msgstr ""
10018
10019 #. type: defvr
10020 #: doc/guix.texi:3745
10021 msgid ""
10022 "The @code{#:main-class} parameter can be used with the minimal ant buildfile "
10023 "to specify the main class of the resulting jar. This makes the jar file "
10024 "executable. The @code{#:test-include} parameter can be used to specify the "
10025 "list of junit tests to run. It defaults to @code{(list \"**/*Test.java\")}. "
10026 "The @code{#:test-exclude} can be used to disable some tests. It defaults to "
10027 "@code{(list \"**/Abstract*.java\")}, because abstract classes cannot be run "
10028 "as tests."
10029 msgstr ""
10030
10031 #. type: defvr
10032 #: doc/guix.texi:3749
10033 msgid ""
10034 "The parameter @code{#:build-target} can be used to specify the Ant task that "
10035 "should be run during the @code{build} phase. By default the ``jar'' task "
10036 "will be run."
10037 msgstr ""
10038
10039 #. type: defvr
10040 #: doc/guix.texi:3752
10041 #, no-wrap
10042 msgid "{Scheme Variable} asdf-build-system/source"
10043 msgstr ""
10044
10045 #. type: defvrx
10046 #: doc/guix.texi:3753
10047 #, no-wrap
10048 msgid "{Scheme Variable} asdf-build-system/sbcl"
10049 msgstr ""
10050
10051 #. type: defvrx
10052 #: doc/guix.texi:3754
10053 #, no-wrap
10054 msgid "{Scheme Variable} asdf-build-system/ecl"
10055 msgstr ""
10056
10057 #. type: defvr
10058 #: doc/guix.texi:3760
10059 msgid ""
10060 "These variables, exported by @code{(guix build-system asdf)}, implement "
10061 "build procedures for Common Lisp packages using @url{https://common-lisp.net/"
10062 "project/asdf/, ``ASDF''}. ASDF is a system definition facility for Common "
10063 "Lisp programs and libraries."
10064 msgstr ""
10065
10066 #. type: defvr
10067 #: doc/guix.texi:3767
10068 msgid ""
10069 "The @code{asdf-build-system/source} system installs the packages in source "
10070 "form, and can be loaded using any common lisp implementation, via ASDF. The "
10071 "others, such as @code{asdf-build-system/sbcl}, install binary systems in the "
10072 "format which a particular implementation understands. These build systems "
10073 "can also be used to produce executable programs, or lisp images which "
10074 "contain a set of packages pre-loaded."
10075 msgstr ""
10076
10077 #. type: defvr
10078 #: doc/guix.texi:3771
10079 msgid ""
10080 "The build system uses naming conventions. For binary packages, the package "
10081 "name should be prefixed with the lisp implementation, such as @code{sbcl-} "
10082 "for @code{asdf-build-system/sbcl}."
10083 msgstr ""
10084
10085 #. type: defvr
10086 #: doc/guix.texi:3775
10087 msgid ""
10088 "Additionally, the corresponding source package should be labeled using the "
10089 "same convention as python packages (see @ref{Python Modules}), using the "
10090 "@code{cl-} prefix."
10091 msgstr ""
10092
10093 #. type: defvr
10094 #: doc/guix.texi:3780
10095 msgid ""
10096 "For binary packages, each system should be defined as a Guix package. If "
10097 "one package @code{origin} contains several systems, package variants can be "
10098 "created in order to build all the systems. Source packages, which use "
10099 "@code{asdf-build-system/source}, may contain several systems."
10100 msgstr ""
10101
10102 #. type: defvr
10103 #: doc/guix.texi:3787
10104 msgid ""
10105 "In order to create executable programs and images, the build-side procedures "
10106 "@code{build-program} and @code{build-image} can be used. They should be "
10107 "called in a build phase after the @code{create-symlinks} phase, so that the "
10108 "system which was just built can be used within the resulting image. "
10109 "@code{build-program} requires a list of Common Lisp expressions to be passed "
10110 "as the @code{#:entry-program} argument."
10111 msgstr ""
10112
10113 #. type: defvr
10114 #: doc/guix.texi:3796
10115 msgid ""
10116 "If the system is not defined within its own @code{.asd} file of the same "
10117 "name, then the @code{#:asd-file} parameter should be used to specify which "
10118 "file the system is defined in. Furthermore, if the package defines a system "
10119 "for its tests in a separate file, it will be loaded before the tests are run "
10120 "if it is specified by the @code{#:test-asd-file} parameter. If it is not "
10121 "set, the files @code{<system>-tests.asd}, @code{<system>-test.asd}, "
10122 "@code{tests.asd}, and @code{test.asd} will be tried if they exist."
10123 msgstr ""
10124
10125 #. type: defvr
10126 #: doc/guix.texi:3800
10127 msgid ""
10128 "If for some reason the package must be named in a different way than the "
10129 "naming conventions suggest, the @code{#:asd-system-name} parameter can be "
10130 "used to specify the name of the system."
10131 msgstr ""
10132
10133 #. type: defvr
10134 #: doc/guix.texi:3803
10135 #, no-wrap
10136 msgid "{Scheme Variable} cargo-build-system"
10137 msgstr ""
10138
10139 #. type: cindex
10140 #: doc/guix.texi:3804
10141 #, no-wrap
10142 msgid "Rust programming language"
10143 msgstr ""
10144
10145 #. type: cindex
10146 #: doc/guix.texi:3805
10147 #, no-wrap
10148 msgid "Cargo (Rust build system)"
10149 msgstr ""
10150
10151 #. type: defvr
10152 #: doc/guix.texi:3809
10153 msgid ""
10154 "This variable is exported by @code{(guix build-system cargo)}. It supports "
10155 "builds of packages using Cargo, the build tool of the @uref{https://www.rust-"
10156 "lang.org, Rust programming language}."
10157 msgstr ""
10158
10159 #. type: defvr
10160 #: doc/guix.texi:3814
10161 msgid ""
10162 "In its @code{configure} phase, this build system replaces dependencies "
10163 "specified in the @file{Carto.toml} file with inputs to the Guix package. "
10164 "The @code{install} phase installs the binaries, and it also installs the "
10165 "source code and @file{Cargo.toml} file."
10166 msgstr ""
10167
10168 #. type: defvr
10169 #: doc/guix.texi:3816
10170 #, no-wrap
10171 msgid "{Scheme Variable} cmake-build-system"
10172 msgstr ""
10173
10174 #. type: defvr
10175 #: doc/guix.texi:3820
10176 msgid ""
10177 "This variable is exported by @code{(guix build-system cmake)}. It "
10178 "implements the build procedure for packages using the @url{http://www.cmake."
10179 "org, CMake build tool}."
10180 msgstr ""
10181
10182 #. type: defvr
10183 #: doc/guix.texi:3824
10184 msgid ""
10185 "It automatically adds the @code{cmake} package to the set of inputs. Which "
10186 "package is used can be specified with the @code{#:cmake} parameter."
10187 msgstr ""
10188
10189 #. type: defvr
10190 #: doc/guix.texi:3831
10191 msgid ""
10192 "The @code{#:configure-flags} parameter is taken as a list of flags passed to "
10193 "the @command{cmake} command. The @code{#:build-type} parameter specifies in "
10194 "abstract terms the flags passed to the compiler; it defaults to "
10195 "@code{\"RelWithDebInfo\"} (short for ``release mode with debugging "
10196 "information''), which roughly means that code is compiled with @code{-O2 -"
10197 "g}, as is the case for Autoconf-based packages by default."
10198 msgstr ""
10199
10200 #. type: defvr
10201 #: doc/guix.texi:3833
10202 #, no-wrap
10203 msgid "{Scheme Variable} go-build-system"
10204 msgstr ""
10205
10206 #. type: defvr
10207 #: doc/guix.texi:3838
10208 msgid ""
10209 "This variable is exported by @code{(guix build-system go)}. It implements a "
10210 "build procedure for Go packages using the standard @url{https://golang.org/"
10211 "cmd/go/#hdr-Compile_packages_and_dependencies, Go build mechanisms}."
10212 msgstr ""
10213
10214 #. type: defvr
10215 #: doc/guix.texi:3849
10216 msgid ""
10217 "The user is expected to provide a value for the key @code{#:import-path} "
10218 "and, in some cases, @code{#:unpack-path}. The @url{https://golang.org/doc/"
10219 "code.html#ImportPaths, import path} corresponds to the file system path "
10220 "expected by the package's build scripts and any referring packages, and "
10221 "provides a unique way to refer to a Go package. It is typically based on a "
10222 "combination of the package source code's remote URI and file system "
10223 "hierarchy structure. In some cases, you will need to unpack the package's "
10224 "source code to a different directory structure than the one indicated by the "
10225 "import path, and @code{#:unpack-path} should be used in such cases."
10226 msgstr ""
10227
10228 #. type: defvr
10229 #: doc/guix.texi:3854
10230 msgid ""
10231 "Packages that provide Go libraries should be installed along with their "
10232 "source code. The key @code{#:install-source?}, which defaults to @code{#t}, "
10233 "controls whether or not the source code is installed. It can be set to "
10234 "@code{#f} for packages that only provide executable files."
10235 msgstr ""
10236
10237 #. type: defvr
10238 #: doc/guix.texi:3856
10239 #, no-wrap
10240 msgid "{Scheme Variable} glib-or-gtk-build-system"
10241 msgstr ""
10242
10243 #. type: defvr
10244 #: doc/guix.texi:3859
10245 msgid ""
10246 "This variable is exported by @code{(guix build-system glib-or-gtk)}. It is "
10247 "intended for use with packages making use of GLib or GTK+."
10248 msgstr ""
10249
10250 #. type: defvr
10251 #: doc/guix.texi:3862
10252 msgid ""
10253 "This build system adds the following two phases to the ones defined by "
10254 "@var{gnu-build-system}:"
10255 msgstr ""
10256
10257 #. type: item
10258 #: doc/guix.texi:3864 doc/guix.texi:4159
10259 #, no-wrap
10260 msgid "glib-or-gtk-wrap"
10261 msgstr ""
10262
10263 #. type: table
10264 #: doc/guix.texi:3871
10265 msgid ""
10266 "The phase @code{glib-or-gtk-wrap} ensures that programs in @file{bin/} are "
10267 "able to find GLib ``schemas'' and @uref{https://developer.gnome.org/gtk3/"
10268 "stable/gtk-running.html, GTK+ modules}. This is achieved by wrapping the "
10269 "programs in launch scripts that appropriately set the @code{XDG_DATA_DIRS} "
10270 "and @code{GTK_PATH} environment variables."
10271 msgstr ""
10272
10273 #. type: table
10274 #: doc/guix.texi:3878
10275 msgid ""
10276 "It is possible to exclude specific package outputs from that wrapping "
10277 "process by listing their names in the @code{#:glib-or-gtk-wrap-excluded-"
10278 "outputs} parameter. This is useful when an output is known not to contain "
10279 "any GLib or GTK+ binaries, and where wrapping would gratuitously add a "
10280 "dependency of that output on GLib and GTK+."
10281 msgstr ""
10282
10283 #. type: item
10284 #: doc/guix.texi:3879 doc/guix.texi:4163
10285 #, no-wrap
10286 msgid "glib-or-gtk-compile-schemas"
10287 msgstr ""
10288
10289 #. type: table
10290 #: doc/guix.texi:3887
10291 msgid ""
10292 "The phase @code{glib-or-gtk-compile-schemas} makes sure that all "
10293 "@uref{https://developer.gnome.org/gio/stable/glib-compile-schemas.html, "
10294 "GSettings schemas} of GLib are compiled. Compilation is performed by the "
10295 "@command{glib-compile-schemas} program. It is provided by the package "
10296 "@code{glib:bin} which is automatically imported by the build system. The "
10297 "@code{glib} package providing @command{glib-compile-schemas} can be "
10298 "specified with the @code{#:glib} parameter."
10299 msgstr ""
10300
10301 #. type: defvr
10302 #: doc/guix.texi:3890
10303 msgid "Both phases are executed after the @code{install} phase."
10304 msgstr ""
10305
10306 #. type: defvr
10307 #: doc/guix.texi:3892
10308 #, no-wrap
10309 msgid "{Scheme Variable} minify-build-system"
10310 msgstr ""
10311
10312 #. type: defvr
10313 #: doc/guix.texi:3895
10314 msgid ""
10315 "This variable is exported by @code{(guix build-system minify)}. It "
10316 "implements a minification procedure for simple JavaScript packages."
10317 msgstr ""
10318
10319 #. type: defvr
10320 #: doc/guix.texi:3901
10321 msgid ""
10322 "It adds @code{uglify-js} to the set of inputs and uses it to compress all "
10323 "JavaScript files in the @file{src} directory. A different minifier package "
10324 "can be specified with the @code{#:uglify-js} parameter, but it is expected "
10325 "that the package writes the minified code to the standard output."
10326 msgstr ""
10327
10328 #. type: defvr
10329 #: doc/guix.texi:3905
10330 msgid ""
10331 "When the input JavaScript files are not all located in the @file{src} "
10332 "directory, the parameter @code{#:javascript-files} can be used to specify a "
10333 "list of file names to feed to the minifier."
10334 msgstr ""
10335
10336 #. type: defvr
10337 #: doc/guix.texi:3907
10338 #, no-wrap
10339 msgid "{Scheme Variable} ocaml-build-system"
10340 msgstr ""
10341
10342 #. type: defvr
10343 #: doc/guix.texi:3913
10344 msgid ""
10345 "This variable is exported by @code{(guix build-system ocaml)}. It "
10346 "implements a build procedure for @uref{https://ocaml.org, OCaml} packages, "
10347 "which consists of choosing the correct set of commands to run for each "
10348 "package. OCaml packages can expect many different commands to be run. This "
10349 "build system will try some of them."
10350 msgstr ""
10351
10352 #. type: defvr
10353 #: doc/guix.texi:3923
10354 msgid ""
10355 "When the package has a @file{setup.ml} file present at the top-level, it "
10356 "will run @code{ocaml setup.ml -configure}, @code{ocaml setup.ml -build} and "
10357 "@code{ocaml setup.ml -install}. The build system will assume that this file "
10358 "was generated by @uref{http://oasis.forge.ocamlcore.org/, OASIS} and will "
10359 "take care of setting the prefix and enabling tests if they are not "
10360 "disabled. You can pass configure and build flags with the @code{#:configure-"
10361 "flags} and @code{#:build-flags}. The @code{#:test-flags} key can be passed "
10362 "to change the set of flags used to enable tests. The @code{#:use-make?} key "
10363 "can be used to bypass this system in the build and install phases."
10364 msgstr ""
10365
10366 #. type: defvr
10367 #: doc/guix.texi:3928
10368 msgid ""
10369 "When the package has a @file{configure} file, it is assumed that it is a "
10370 "hand-made configure script that requires a different argument format than in "
10371 "the @code{gnu-build-system}. You can add more flags with the @code{#:"
10372 "configure-flags} key."
10373 msgstr ""
10374
10375 #. type: defvr
10376 #: doc/guix.texi:3932
10377 msgid ""
10378 "When the package has a @file{Makefile} file (or @code{#:use-make?} is "
10379 "@code{#t}), it will be used and more flags can be passed to the build and "
10380 "install phases with the @code{#:make-flags} key."
10381 msgstr ""
10382
10383 #. type: defvr
10384 #: doc/guix.texi:3940
10385 msgid ""
10386 "Finally, some packages do not have these files and use a somewhat standard "
10387 "location for its build system. In that case, the build system will run "
10388 "@code{ocaml pkg/pkg.ml} or @code{ocaml pkg/build.ml} and take care of "
10389 "providing the path to the required findlib module. Additional flags can be "
10390 "passed via the @code{#:build-flags} key. Install is taken care of by "
10391 "@command{opam-installer}. In this case, the @code{opam} package must be "
10392 "added to the @code{native-inputs} field of the package definition."
10393 msgstr ""
10394
10395 #. type: defvr
10396 #: doc/guix.texi:3948
10397 msgid ""
10398 "Note that most OCaml packages assume they will be installed in the same "
10399 "directory as OCaml, which is not what we want in guix. In particular, they "
10400 "will install @file{.so} files in their module's directory, which is usually "
10401 "fine because it is in the OCaml compiler directory. In guix though, these "
10402 "libraries cannot be found and we use @code{CAML_LD_LIBRARY_PATH}. This "
10403 "variable points to @file{lib/ocaml/site-lib/stubslibs} and this is where "
10404 "@file{.so} libraries should be installed."
10405 msgstr ""
10406
10407 #. type: defvr
10408 #: doc/guix.texi:3950
10409 #, no-wrap
10410 msgid "{Scheme Variable} python-build-system"
10411 msgstr ""
10412
10413 #. type: defvr
10414 #: doc/guix.texi:3955
10415 msgid ""
10416 "This variable is exported by @code{(guix build-system python)}. It "
10417 "implements the more or less standard build procedure used by Python "
10418 "packages, which consists in running @code{python setup.py build} and then "
10419 "@code{python setup.py install --prefix=/gnu/store/@dots{}}."
10420 msgstr ""
10421
10422 #. type: defvr
10423 #: doc/guix.texi:3959
10424 msgid ""
10425 "For packages that install stand-alone Python programs under @code{bin/}, it "
10426 "takes care of wrapping these programs so that their @code{PYTHONPATH} "
10427 "environment variable points to all the Python libraries they depend on."
10428 msgstr ""
10429
10430 #. type: defvr
10431 #: doc/guix.texi:3965
10432 msgid ""
10433 "Which Python package is used to perform the build can be specified with the "
10434 "@code{#:python} parameter. This is a useful way to force a package to be "
10435 "built for a specific version of the Python interpreter, which might be "
10436 "necessary if the package is only compatible with a single interpreter "
10437 "version."
10438 msgstr ""
10439
10440 #. type: defvr
10441 #: doc/guix.texi:3970
10442 msgid ""
10443 "By default guix calls @code{setup.py} under control of @code{setuptools}, "
10444 "much like @command{pip} does. Some packages are not compatible with "
10445 "setuptools (and pip), thus you can disable this by setting the @code{#:use-"
10446 "setuptools} parameter to @code{#f}."
10447 msgstr ""
10448
10449 #. type: defvr
10450 #: doc/guix.texi:3972
10451 #, no-wrap
10452 msgid "{Scheme Variable} perl-build-system"
10453 msgstr ""
10454
10455 #. type: defvr
10456 #: doc/guix.texi:3984
10457 msgid ""
10458 "This variable is exported by @code{(guix build-system perl)}. It implements "
10459 "the standard build procedure for Perl packages, which either consists in "
10460 "running @code{perl Build.PL --prefix=/gnu/store/@dots{}}, followed by "
10461 "@code{Build} and @code{Build install}; or in running @code{perl Makefile.PL "
10462 "PREFIX=/gnu/store/@dots{}}, followed by @code{make} and @code{make install}, "
10463 "depending on which of @code{Build.PL} or @code{Makefile.PL} is present in "
10464 "the package distribution. Preference is given to the former if both "
10465 "@code{Build.PL} and @code{Makefile.PL} exist in the package distribution. "
10466 "This preference can be reversed by specifying @code{#t} for the @code{#:make-"
10467 "maker?} parameter."
10468 msgstr ""
10469
10470 #. type: defvr
10471 #: doc/guix.texi:3988
10472 msgid ""
10473 "The initial @code{perl Makefile.PL} or @code{perl Build.PL} invocation "
10474 "passes flags specified by the @code{#:make-maker-flags} or @code{#:module-"
10475 "build-flags} parameter, respectively."
10476 msgstr ""
10477
10478 #. type: defvr
10479 #: doc/guix.texi:3990
10480 msgid "Which Perl package is used can be specified with @code{#:perl}."
10481 msgstr ""
10482
10483 #. type: defvr
10484 #: doc/guix.texi:3992
10485 #, no-wrap
10486 msgid "{Scheme Variable} r-build-system"
10487 msgstr ""
10488
10489 #. type: defvr
10490 #: doc/guix.texi:4000
10491 msgid ""
10492 "This variable is exported by @code{(guix build-system r)}. It implements "
10493 "the build procedure used by @uref{http://r-project.org, R} packages, which "
10494 "essentially is little more than running @code{R CMD INSTALL --library=/gnu/"
10495 "store/@dots{}} in an environment where @code{R_LIBS_SITE} contains the paths "
10496 "to all R package inputs. Tests are run after installation using the R "
10497 "function @code{tools::testInstalledPackage}."
10498 msgstr ""
10499
10500 #. type: defvr
10501 #: doc/guix.texi:4002
10502 #, no-wrap
10503 msgid "{Scheme Variable} texlive-build-system"
10504 msgstr ""
10505
10506 #. type: defvr
10507 #: doc/guix.texi:4007
10508 msgid ""
10509 "This variable is exported by @code{(guix build-system texlive)}. It is used "
10510 "to build TeX packages in batch mode with a specified engine. The build "
10511 "system sets the @code{TEXINPUTS} variable to find all TeX source files in "
10512 "the inputs."
10513 msgstr ""
10514
10515 #. type: defvr
10516 #: doc/guix.texi:4016
10517 msgid ""
10518 "By default it runs @code{luatex} on all files ending on @code{ins}. A "
10519 "different engine and format can be specified with the @code{#:tex-format} "
10520 "argument. Different build targets can be specified with the @code{#:build-"
10521 "targets} argument, which expects a list of file names. The build system "
10522 "adds only @code{texlive-bin} and @code{texlive-latex-base} (both from "
10523 "@code{(gnu packages tex}) to the inputs. Both can be overridden with the "
10524 "arguments @code{#:texlive-bin} and @code{#:texlive-latex-base}, respectively."
10525 msgstr ""
10526
10527 #. type: defvr
10528 #: doc/guix.texi:4019
10529 msgid ""
10530 "The @code{#:tex-directory} parameter tells the build system where to install "
10531 "the built files under the texmf tree."
10532 msgstr ""
10533
10534 #. type: defvr
10535 #: doc/guix.texi:4021
10536 #, no-wrap
10537 msgid "{Scheme Variable} ruby-build-system"
10538 msgstr ""
10539
10540 #. type: defvr
10541 #: doc/guix.texi:4025
10542 msgid ""
10543 "This variable is exported by @code{(guix build-system ruby)}. It implements "
10544 "the RubyGems build procedure used by Ruby packages, which involves running "
10545 "@code{gem build} followed by @code{gem install}."
10546 msgstr ""
10547
10548 #. type: defvr
10549 #: doc/guix.texi:4033
10550 msgid ""
10551 "The @code{source} field of a package that uses this build system typically "
10552 "references a gem archive, since this is the format that Ruby developers use "
10553 "when releasing their software. The build system unpacks the gem archive, "
10554 "potentially patches the source, runs the test suite, repackages the gem, and "
10555 "installs it. Additionally, directories and tarballs may be referenced to "
10556 "allow building unreleased gems from Git or a traditional source release "
10557 "tarball."
10558 msgstr ""
10559
10560 #. type: defvr
10561 #: doc/guix.texi:4037
10562 msgid ""
10563 "Which Ruby package is used can be specified with the @code{#:ruby} "
10564 "parameter. A list of additional flags to be passed to the @command{gem} "
10565 "command can be specified with the @code{#:gem-flags} parameter."
10566 msgstr ""
10567
10568 #. type: defvr
10569 #: doc/guix.texi:4039
10570 #, no-wrap
10571 msgid "{Scheme Variable} waf-build-system"
10572 msgstr ""
10573
10574 #. type: defvr
10575 #: doc/guix.texi:4045
10576 msgid ""
10577 "This variable is exported by @code{(guix build-system waf)}. It implements "
10578 "a build procedure around the @code{waf} script. The common phases---"
10579 "@code{configure}, @code{build}, and @code{install}---are implemented by "
10580 "passing their names as arguments to the @code{waf} script."
10581 msgstr ""
10582
10583 #. type: defvr
10584 #: doc/guix.texi:4049
10585 msgid ""
10586 "The @code{waf} script is executed by the Python interpreter. Which Python "
10587 "package is used to run the script can be specified with the @code{#:python} "
10588 "parameter."
10589 msgstr ""
10590
10591 #. type: defvr
10592 #: doc/guix.texi:4051
10593 #, no-wrap
10594 msgid "{Scheme Variable} scons-build-system"
10595 msgstr ""
10596
10597 #. type: defvr
10598 #: doc/guix.texi:4057
10599 msgid ""
10600 "This variable is exported by @code{(guix build-system scons)}. It "
10601 "implements the build procedure used by the SCons software construction "
10602 "tool. This build system runs @code{scons} to build the package, @code{scons "
10603 "test} to run tests, and then @code{scons install} to install the package."
10604 msgstr ""
10605
10606 #. type: defvr
10607 #: doc/guix.texi:4062
10608 msgid ""
10609 "Additional flags to be passed to @code{scons} can be specified with the "
10610 "@code{#:scons-flags} parameter. The version of Python used to run SCons can "
10611 "be specified by selecting the appropriate SCons package with the @code{#:"
10612 "scons} parameter."
10613 msgstr ""
10614
10615 #. type: defvr
10616 #: doc/guix.texi:4064
10617 #, no-wrap
10618 msgid "{Scheme Variable} haskell-build-system"
10619 msgstr ""
10620
10621 #. type: defvr
10622 #: doc/guix.texi:4078
10623 msgid ""
10624 "This variable is exported by @code{(guix build-system haskell)}. It "
10625 "implements the Cabal build procedure used by Haskell packages, which "
10626 "involves running @code{runhaskell Setup.hs configure --prefix=/gnu/store/"
10627 "@dots{}} and @code{runhaskell Setup.hs build}. Instead of installing the "
10628 "package by running @code{runhaskell Setup.hs install}, to avoid trying to "
10629 "register libraries in the read-only compiler store directory, the build "
10630 "system uses @code{runhaskell Setup.hs copy}, followed by @code{runhaskell "
10631 "Setup.hs register}. In addition, the build system generates the package "
10632 "documentation by running @code{runhaskell Setup.hs haddock}, unless @code{#:"
10633 "haddock? #f} is passed. Optional Haddock parameters can be passed with the "
10634 "help of the @code{#:haddock-flags} parameter. If the file @code{Setup.hs} "
10635 "is not found, the build system looks for @code{Setup.lhs} instead."
10636 msgstr ""
10637
10638 #. type: defvr
10639 #: doc/guix.texi:4081
10640 msgid ""
10641 "Which Haskell compiler is used can be specified with the @code{#:haskell} "
10642 "parameter which defaults to @code{ghc}."
10643 msgstr ""
10644
10645 #. type: defvr
10646 #: doc/guix.texi:4083
10647 #, no-wrap
10648 msgid "{Scheme Variable} dub-build-system"
10649 msgstr ""
10650
10651 #. type: defvr
10652 #: doc/guix.texi:4088
10653 msgid ""
10654 "This variable is exported by @code{(guix build-system dub)}. It implements "
10655 "the Dub build procedure used by D packages, which involves running @code{dub "
10656 "build} and @code{dub run}. Installation is done by copying the files "
10657 "manually."
10658 msgstr ""
10659
10660 #. type: defvr
10661 #: doc/guix.texi:4091
10662 msgid ""
10663 "Which D compiler is used can be specified with the @code{#:ldc} parameter "
10664 "which defaults to @code{ldc}."
10665 msgstr ""
10666
10667 #. type: defvr
10668 #: doc/guix.texi:4093
10669 #, no-wrap
10670 msgid "{Scheme Variable} emacs-build-system"
10671 msgstr ""
10672
10673 #. type: defvr
10674 #: doc/guix.texi:4097
10675 msgid ""
10676 "This variable is exported by @code{(guix build-system emacs)}. It "
10677 "implements an installation procedure similar to the packaging system of "
10678 "Emacs itself (@pxref{Packages,,, emacs, The GNU Emacs Manual})."
10679 msgstr ""
10680
10681 #. type: defvr
10682 #: doc/guix.texi:4104
10683 msgid ""
10684 "It first creates the @code{@var{package}-autoloads.el} file, then it byte "
10685 "compiles all Emacs Lisp files. Differently from the Emacs packaging system, "
10686 "the Info documentation files are moved to the standard documentation "
10687 "directory and the @file{dir} file is deleted. Each package is installed in "
10688 "its own directory under @file{share/emacs/site-lisp/guix.d}."
10689 msgstr ""
10690
10691 #. type: defvr
10692 #: doc/guix.texi:4106
10693 #, no-wrap
10694 msgid "{Scheme Variable} font-build-system"
10695 msgstr ""
10696
10697 #. type: defvr
10698 #: doc/guix.texi:4112
10699 msgid ""
10700 "This variable is exported by @code{(guix build-system font)}. It implements "
10701 "an installation procedure for font packages where upstream provides pre-"
10702 "compiled TrueType, OpenType, etc. font files that merely need to be copied "
10703 "into place. It copies font files to standard locations in the output "
10704 "directory."
10705 msgstr ""
10706
10707 #. type: defvr
10708 #: doc/guix.texi:4114
10709 #, no-wrap
10710 msgid "{Scheme Variable} meson-build-system"
10711 msgstr ""
10712
10713 #. type: defvr
10714 #: doc/guix.texi:4118
10715 msgid ""
10716 "This variable is exported by @code{(guix build-system meson)}. It "
10717 "implements the build procedure for packages that use @url{http://mesonbuild."
10718 "com, Meson} as their build system."
10719 msgstr ""
10720
10721 #. type: defvr
10722 #: doc/guix.texi:4124
10723 msgid ""
10724 "It adds both Meson and @uref{https://ninja-build.org/, Ninja} to the set of "
10725 "inputs, and they can be changed with the parameters @code{#:meson} and "
10726 "@code{#:ninja} if needed. The default Meson is @code{meson-for-build}, "
10727 "which is special because it doesn't clear the @code{RUNPATH} of binaries and "
10728 "libraries when they are installed."
10729 msgstr ""
10730
10731 #. type: defvr
10732 #: doc/guix.texi:4127
10733 msgid ""
10734 "This build system is an extension of @var{gnu-build-system}, but with the "
10735 "following phases changed to some specific for Meson:"
10736 msgstr ""
10737
10738 #. type: table
10739 #: doc/guix.texi:4134
10740 msgid ""
10741 "The phase runs @code{meson} with the flags specified in @code{#:configure-"
10742 "flags}. The flag @code{--build-type} is always set to @code{plain} unless "
10743 "something else is specified in @code{#:build-type}."
10744 msgstr ""
10745
10746 #. type: table
10747 #: doc/guix.texi:4138
10748 msgid ""
10749 "The phase runs @code{ninja} to build the package in parallel by default, but "
10750 "this can be changed with @code{#:parallel-build?}."
10751 msgstr ""
10752
10753 #. type: table
10754 #: doc/guix.texi:4142
10755 msgid ""
10756 "The phase runs @code{ninja} with the target specified in @code{#:test-"
10757 "target}, which is @code{\"test\"} by default."
10758 msgstr ""
10759
10760 #. type: table
10761 #: doc/guix.texi:4145
10762 msgid "The phase runs @code{ninja install} and can not be changed."
10763 msgstr ""
10764
10765 #. type: defvr
10766 #: doc/guix.texi:4148
10767 msgid "Apart from that, the build system also adds the following phases:"
10768 msgstr ""
10769
10770 #. type: item
10771 #: doc/guix.texi:4151
10772 #, no-wrap
10773 msgid "fix-runpath"
10774 msgstr ""
10775
10776 #. type: table
10777 #: doc/guix.texi:4158
10778 msgid ""
10779 "This phase ensures that all binaries can find the libraries they need. It "
10780 "searches for required libraries in subdirectories of the package being "
10781 "built, and adds those to @code{RUNPATH} where needed. It also removes "
10782 "references to libraries left over from the build phase by @code{meson-for-"
10783 "build}, such as test dependencies, that aren't actually required for the "
10784 "program to run."
10785 msgstr ""
10786
10787 #. type: table
10788 #: doc/guix.texi:4162 doc/guix.texi:4166
10789 msgid ""
10790 "This phase is the phase provided by @code{glib-or-gtk-build-system}, and it "
10791 "is not enabled by default. It can be enabled with @code{#:glib-or-gtk?}."
10792 msgstr ""
10793
10794 #. type: Plain text
10795 #: doc/guix.texi:4173
10796 msgid ""
10797 "Lastly, for packages that do not need anything as sophisticated, a "
10798 "``trivial'' build system is provided. It is trivial in the sense that it "
10799 "provides basically no support: it does not pull any implicit inputs, and "
10800 "does not have a notion of build phases."
10801 msgstr ""
10802
10803 #. type: defvr
10804 #: doc/guix.texi:4174
10805 #, no-wrap
10806 msgid "{Scheme Variable} trivial-build-system"
10807 msgstr ""
10808
10809 #. type: defvr
10810 #: doc/guix.texi:4176
10811 msgid "This variable is exported by @code{(guix build-system trivial)}."
10812 msgstr ""
10813
10814 #. type: defvr
10815 #: doc/guix.texi:4181
10816 msgid ""
10817 "This build system requires a @code{#:builder} argument. This argument must "
10818 "be a Scheme expression that builds the package output(s)---as with "
10819 "@code{build-expression->derivation} (@pxref{Derivations, @code{build-"
10820 "expression->derivation}})."
10821 msgstr ""
10822
10823 #. type: cindex
10824 #: doc/guix.texi:4187
10825 #, no-wrap
10826 msgid "store items"
10827 msgstr ""
10828
10829 #. type: cindex
10830 #: doc/guix.texi:4188
10831 #, no-wrap
10832 msgid "store paths"
10833 msgstr ""
10834
10835 #. type: Plain text
10836 #: doc/guix.texi:4199
10837 msgid ""
10838 "Conceptually, the @dfn{store} is the place where derivations that have been "
10839 "built successfully are stored---by default, @file{/gnu/store}. Sub-"
10840 "directories in the store are referred to as @dfn{store items} or sometimes "
10841 "@dfn{store paths}. The store has an associated database that contains "
10842 "information such as the store paths referred to by each store path, and the "
10843 "list of @emph{valid} store items---results of successful builds. This "
10844 "database resides in @file{@var{localstatedir}/guix/db}, where "
10845 "@var{localstatedir} is the state directory specified @i{via} @option{--"
10846 "localstatedir} at configure time, usually @file{/var}."
10847 msgstr ""
10848
10849 #. type: Plain text
10850 #: doc/guix.texi:4204
10851 msgid ""
10852 "The store is @emph{always} accessed by the daemon on behalf of its clients "
10853 "(@pxref{Invoking guix-daemon}). To manipulate the store, clients connect to "
10854 "the daemon over a Unix-domain socket, send requests to it, and read the "
10855 "result---these are remote procedure calls, or RPCs."
10856 msgstr ""
10857
10858 #. type: quotation
10859 #: doc/guix.texi:4209
10860 msgid ""
10861 "Users must @emph{never} modify files under @file{/gnu/store} directly. This "
10862 "would lead to inconsistencies and break the immutability assumptions of "
10863 "Guix's functional model (@pxref{Introduction})."
10864 msgstr ""
10865
10866 #. type: quotation
10867 #: doc/guix.texi:4213
10868 msgid ""
10869 "@xref{Invoking guix gc, @command{guix gc --verify}}, for information on how "
10870 "to check the integrity of the store and attempt recovery from accidental "
10871 "modifications."
10872 msgstr ""
10873
10874 #. type: Plain text
10875 #: doc/guix.texi:4220
10876 msgid ""
10877 "The @code{(guix store)} module provides procedures to connect to the daemon, "
10878 "and to perform RPCs. These are described below. By default, @code{open-"
10879 "connection}, and thus all the @command{guix} commands, connect to the local "
10880 "daemon or to the URI specified by the @code{GUIX_DAEMON_SOCKET} environment "
10881 "variable."
10882 msgstr ""
10883
10884 #. type: defvr
10885 #: doc/guix.texi:4221
10886 #, no-wrap
10887 msgid "{Environment Variable} GUIX_DAEMON_SOCKET"
10888 msgstr ""
10889
10890 #. type: defvr
10891 #: doc/guix.texi:4226
10892 msgid ""
10893 "When set, the value of this variable should be a file name or a URI "
10894 "designating the daemon endpoint. When it is a file name, it denotes a Unix-"
10895 "domain socket to connect to. In addition to file names, the supported URI "
10896 "schemes are:"
10897 msgstr ""
10898
10899 #. type: code{#1}
10900 #: doc/guix.texi:4228 doc/guix.texi:15406
10901 #, no-wrap
10902 msgid "file"
10903 msgstr ""
10904
10905 #. type: itemx
10906 #: doc/guix.texi:4229
10907 #, no-wrap
10908 msgid "unix"
10909 msgstr ""
10910
10911 #. type: table
10912 #: doc/guix.texi:4233
10913 msgid ""
10914 "These are for Unix-domain sockets. @code{file:///var/guix/daemon-socket/"
10915 "socket} is equivalent to @file{/var/guix/daemon-socket/socket}."
10916 msgstr ""
10917
10918 #. type: item
10919 #: doc/guix.texi:4234
10920 #, no-wrap
10921 msgid "guix"
10922 msgstr ""
10923
10924 #. type: table
10925 #: doc/guix.texi:4242
10926 msgid ""
10927 "These URIs denote connections over TCP/IP, without encryption nor "
10928 "authentication of the remote host. The URI must specify the host name and "
10929 "optionally a port number (by default port 44146 is used):"
10930 msgstr ""
10931
10932 #. type: example
10933 #: doc/guix.texi:4245
10934 #, no-wrap
10935 msgid "guix://master.guix.example.org:1234\n"
10936 msgstr ""
10937
10938 #. type: table
10939 #: doc/guix.texi:4250
10940 msgid ""
10941 "This setup is suitable on local networks, such as clusters, where only "
10942 "trusted nodes may connect to the build daemon at @code{master.guix.example."
10943 "org}."
10944 msgstr ""
10945
10946 #. type: table
10947 #: doc/guix.texi:4254
10948 msgid ""
10949 "The @code{--listen} option of @command{guix-daemon} can be used to instruct "
10950 "it to listen for TCP connections (@pxref{Invoking guix-daemon, @code{--"
10951 "listen}})."
10952 msgstr ""
10953
10954 #. type: item
10955 #: doc/guix.texi:4255
10956 #, no-wrap
10957 msgid "ssh"
10958 msgstr ""
10959
10960 #. type: cindex
10961 #: doc/guix.texi:4256
10962 #, no-wrap
10963 msgid "SSH access to build daemons"
10964 msgstr ""
10965
10966 #. type: table
10967 #: doc/guix.texi:4260
10968 msgid ""
10969 "These URIs allow you to connect to a remote daemon over SSH@footnote{This "
10970 "feature requires Guile-SSH (@pxref{Requirements}).}. A typical URL might "
10971 "look like this:"
10972 msgstr ""
10973
10974 #. type: example
10975 #: doc/guix.texi:4263
10976 #, no-wrap
10977 msgid "ssh://charlie@@guix.example.org:22\n"
10978 msgstr ""
10979
10980 #. type: table
10981 #: doc/guix.texi:4267
10982 msgid ""
10983 "As for @command{guix copy}, the usual OpenSSH client configuration files are "
10984 "honored (@pxref{Invoking guix copy})."
10985 msgstr ""
10986
10987 #. type: defvr
10988 #: doc/guix.texi:4270
10989 msgid "Additional URI schemes may be supported in the future."
10990 msgstr ""
10991
10992 #. type: quotation
10993 #: doc/guix.texi:4277
10994 msgid ""
10995 "The ability to connect to remote build daemons is considered experimental as "
10996 "of @value{VERSION}. Please get in touch with us to share any problems or "
10997 "suggestions you may have (@pxref{Contributing})."
10998 msgstr ""
10999
11000 #. type: deffn
11001 #: doc/guix.texi:4280
11002 #, no-wrap
11003 msgid "{Scheme Procedure} open-connection [@var{uri}] [#:reserve-space? #t]"
11004 msgstr ""
11005
11006 #. type: deffn
11007 #: doc/guix.texi:4285
11008 msgid ""
11009 "Connect to the daemon over the Unix-domain socket at @var{uri} (a string). "
11010 "When @var{reserve-space?} is true, instruct it to reserve a little bit of "
11011 "extra space on the file system so that the garbage collector can still "
11012 "operate should the disk become full. Return a server object."
11013 msgstr ""
11014
11015 #. type: deffn
11016 #: doc/guix.texi:4288
11017 msgid ""
11018 "@var{file} defaults to @var{%default-socket-path}, which is the normal "
11019 "location given the options that were passed to @command{configure}."
11020 msgstr ""
11021
11022 #. type: deffn
11023 #: doc/guix.texi:4290
11024 #, no-wrap
11025 msgid "{Scheme Procedure} close-connection @var{server}"
11026 msgstr ""
11027
11028 #. type: deffn
11029 #: doc/guix.texi:4292
11030 msgid "Close the connection to @var{server}."
11031 msgstr ""
11032
11033 #. type: defvr
11034 #: doc/guix.texi:4294
11035 #, no-wrap
11036 msgid "{Scheme Variable} current-build-output-port"
11037 msgstr ""
11038
11039 #. type: defvr
11040 #: doc/guix.texi:4297
11041 msgid ""
11042 "This variable is bound to a SRFI-39 parameter, which refers to the port "
11043 "where build and error logs sent by the daemon should be written."
11044 msgstr ""
11045
11046 #. type: Plain text
11047 #: doc/guix.texi:4301
11048 msgid ""
11049 "Procedures that make RPCs all take a server object as their first argument."
11050 msgstr ""
11051
11052 #. type: deffn
11053 #: doc/guix.texi:4302
11054 #, no-wrap
11055 msgid "{Scheme Procedure} valid-path? @var{server} @var{path}"
11056 msgstr ""
11057
11058 #. type: cindex
11059 #: doc/guix.texi:4303
11060 #, no-wrap
11061 msgid "invalid store items"
11062 msgstr ""
11063
11064 #. type: deffn
11065 #: doc/guix.texi:4308
11066 msgid ""
11067 "Return @code{#t} when @var{path} designates a valid store item and @code{#f} "
11068 "otherwise (an invalid item may exist on disk but still be invalid, for "
11069 "instance because it is the result of an aborted or failed build.)"
11070 msgstr ""
11071
11072 #. type: deffn
11073 #: doc/guix.texi:4311
11074 msgid ""
11075 "A @code{&nix-protocol-error} condition is raised if @var{path} is not "
11076 "prefixed by the store directory (@file{/gnu/store})."
11077 msgstr ""
11078
11079 #. type: deffn
11080 #: doc/guix.texi:4313
11081 #, no-wrap
11082 msgid "{Scheme Procedure} add-text-to-store @var{server} @var{name} @var{text} [@var{references}]"
11083 msgstr ""
11084
11085 #. type: deffn
11086 #: doc/guix.texi:4317
11087 msgid ""
11088 "Add @var{text} under file @var{name} in the store, and return its store "
11089 "path. @var{references} is the list of store paths referred to by the "
11090 "resulting store path."
11091 msgstr ""
11092
11093 #. type: deffn
11094 #: doc/guix.texi:4319
11095 #, no-wrap
11096 msgid "{Scheme Procedure} build-derivations @var{server} @var{derivations}"
11097 msgstr ""
11098
11099 #. type: deffn
11100 #: doc/guix.texi:4323
11101 msgid ""
11102 "Build @var{derivations} (a list of @code{<derivation>} objects or derivation "
11103 "paths), and return when the worker is done building them. Return @code{#t} "
11104 "on success."
11105 msgstr ""
11106
11107 #. type: Plain text
11108 #: doc/guix.texi:4329
11109 msgid ""
11110 "Note that the @code{(guix monads)} module provides a monad as well as "
11111 "monadic versions of the above procedures, with the goal of making it more "
11112 "convenient to work with code that accesses the store (@pxref{The Store "
11113 "Monad})."
11114 msgstr ""
11115
11116 #. type: i{#1}
11117 #: doc/guix.texi:4332
11118 msgid "This section is currently incomplete."
11119 msgstr ""
11120
11121 #. type: cindex
11122 #: doc/guix.texi:4336
11123 #, no-wrap
11124 msgid "derivations"
11125 msgstr ""
11126
11127 #. type: Plain text
11128 #: doc/guix.texi:4340
11129 msgid ""
11130 "Low-level build actions and the environment in which they are performed are "
11131 "represented by @dfn{derivations}. A derivation contains the following "
11132 "pieces of information:"
11133 msgstr ""
11134
11135 #. type: itemize
11136 #: doc/guix.texi:4345
11137 msgid ""
11138 "The outputs of the derivation---derivations produce at least one file or "
11139 "directory in the store, but may produce more."
11140 msgstr ""
11141
11142 #. type: itemize
11143 #: doc/guix.texi:4349
11144 msgid ""
11145 "The inputs of the derivations, which may be other derivations or plain files "
11146 "in the store (patches, build scripts, etc.)"
11147 msgstr ""
11148
11149 #. type: itemize
11150 #: doc/guix.texi:4352
11151 msgid "The system type targeted by the derivation---e.g., @code{x86_64-linux}."
11152 msgstr ""
11153
11154 #. type: itemize
11155 #: doc/guix.texi:4356
11156 msgid ""
11157 "The file name of a build script in the store, along with the arguments to be "
11158 "passed."
11159 msgstr ""
11160
11161 #. type: itemize
11162 #: doc/guix.texi:4359
11163 msgid "A list of environment variables to be defined."
11164 msgstr ""
11165
11166 #. type: cindex
11167 #: doc/guix.texi:4362
11168 #, no-wrap
11169 msgid "derivation path"
11170 msgstr ""
11171
11172 #. type: Plain text
11173 #: doc/guix.texi:4370
11174 msgid ""
11175 "Derivations allow clients of the daemon to communicate build actions to the "
11176 "store. They exist in two forms: as an in-memory representation, both on the "
11177 "client- and daemon-side, and as files in the store whose name end in @code{."
11178 "drv}---these files are referred to as @dfn{derivation paths}. Derivations "
11179 "paths can be passed to the @code{build-derivations} procedure to perform the "
11180 "build actions they prescribe (@pxref{The Store})."
11181 msgstr ""
11182
11183 #. type: cindex
11184 #: doc/guix.texi:4371
11185 #, no-wrap
11186 msgid "fixed-output derivations"
11187 msgstr ""
11188
11189 #. type: Plain text
11190 #: doc/guix.texi:4378
11191 msgid ""
11192 "Operations such as file downloads and version-control checkouts for which "
11193 "the expected content hash is known in advance are modeled as @dfn{fixed-"
11194 "output derivations}. Unlike regular derivations, the outputs of a fixed-"
11195 "output derivation are independent of its inputs---e.g., a source code "
11196 "download produces the same result regardless of the download method and "
11197 "tools being used."
11198 msgstr ""
11199
11200 #. type: Plain text
11201 #: doc/guix.texi:4383
11202 msgid ""
11203 "The @code{(guix derivations)} module provides a representation of "
11204 "derivations as Scheme objects, along with procedures to create and otherwise "
11205 "manipulate derivations. The lowest-level primitive to create a derivation "
11206 "is the @code{derivation} procedure:"
11207 msgstr ""
11208
11209 #. type: deffn
11210 #: doc/guix.texi:4384
11211 #, no-wrap
11212 msgid "{Scheme Procedure} derivation @var{store} @var{name} @var{builder} @"
11213 msgstr "{Scheme Procedure} derivation @var{store} @var{name} @var{builder} @"
11214
11215 #. type: deffn
11216 #: doc/guix.texi:4393
11217 msgid ""
11218 "@var{args} [#:outputs '(\"out\")] [#:hash #f] [#:hash-algo #f] @ [#:"
11219 "recursive? #f] [#:inputs '()] [#:env-vars '()] @ [#:system (%current-"
11220 "system)] [#:references-graphs #f] @ [#:allowed-references #f] [#:disallowed-"
11221 "references #f] @ [#:leaked-env-vars #f] [#:local-build? #f] @ [#:"
11222 "substitutable? #t] Build a derivation with the given arguments, and return "
11223 "the resulting @code{<derivation>} object."
11224 msgstr ""
11225 "@var{args} [#:outputs '(\"out\")] [#:hash #f] [#:hash-algo #f] @ [#:"
11226 "recursive? #f] [#:inputs '()] [#:env-vars '()] @ [#:system (%current-"
11227 "system)] [#:references-graphs #f] @ [#:allowed-references #f] [#:disallowed-"
11228 "references #f] @ [#:leaked-env-vars #f] [#:local-build? #f] @ [#:"
11229 "substitutable? #t] Construit une dérivation avec les arguments donnés et "
11230 "renvie l'objet @code{<derivation>} obtenu."
11231
11232 #. type: deffn
11233 #: doc/guix.texi:4400
11234 msgid ""
11235 "When @var{hash} and @var{hash-algo} are given, a @dfn{fixed-output "
11236 "derivation} is created---i.e., one whose result is known in advance, such as "
11237 "a file download. If, in addition, @var{recursive?} is true, then that fixed "
11238 "output may be an executable file or a directory and @var{hash} must be the "
11239 "hash of an archive containing this output."
11240 msgstr ""
11241
11242 #. type: deffn
11243 #: doc/guix.texi:4405
11244 msgid ""
11245 "When @var{references-graphs} is true, it must be a list of file name/store "
11246 "path pairs. In that case, the reference graph of each store path is "
11247 "exported in the build environment in the corresponding file, in a simple "
11248 "text format."
11249 msgstr ""
11250
11251 #. type: deffn
11252 #: doc/guix.texi:4410
11253 msgid ""
11254 "When @var{allowed-references} is true, it must be a list of store items or "
11255 "outputs that the derivation's output may refer to. Likewise, "
11256 "@var{disallowed-references}, if true, must be a list of things the outputs "
11257 "may @emph{not} refer to."
11258 msgstr ""
11259
11260 #. type: deffn
11261 #: doc/guix.texi:4417
11262 msgid ""
11263 "When @var{leaked-env-vars} is true, it must be a list of strings denoting "
11264 "environment variables that are allowed to ``leak'' from the daemon's "
11265 "environment to the build environment. This is only applicable to fixed-"
11266 "output derivations---i.e., when @var{hash} is true. The main use is to "
11267 "allow variables such as @code{http_proxy} to be passed to derivations that "
11268 "download files."
11269 msgstr ""
11270
11271 #. type: deffn
11272 #: doc/guix.texi:4422
11273 msgid ""
11274 "When @var{local-build?} is true, declare that the derivation is not a good "
11275 "candidate for offloading and should rather be built locally (@pxref{Daemon "
11276 "Offload Setup}). This is the case for small derivations where the costs of "
11277 "data transfers would outweigh the benefits."
11278 msgstr ""
11279
11280 #. type: deffn
11281 #: doc/guix.texi:4427
11282 msgid ""
11283 "When @var{substitutable?} is false, declare that substitutes of the "
11284 "derivation's output should not be used (@pxref{Substitutes}). This is "
11285 "useful, for instance, when building packages that capture details of the "
11286 "host CPU instruction set."
11287 msgstr ""
11288 "Lorsque que @var{substitutable?} est faux, déclare que les substituts de la "
11289 "sortie de la dérivation ne devraient pas être utilisés (@pxref{Substituts}). "
11290 "Cela est utile par exemple pour construire des paquets qui utilisent des "
11291 "détails du jeu d'instruction du CPU hôte."
11292
11293 #. type: Plain text
11294 #: doc/guix.texi:4433
11295 msgid ""
11296 "Here's an example with a shell script as its builder, assuming @var{store} "
11297 "is an open connection to the daemon, and @var{bash} points to a Bash "
11298 "executable in the store:"
11299 msgstr ""
11300
11301 #. type: lisp
11302 #: doc/guix.texi:4438
11303 #, no-wrap
11304 msgid ""
11305 "(use-modules (guix utils)\n"
11306 " (guix store)\n"
11307 " (guix derivations))\n"
11308 "\n"
11309 msgstr ""
11310
11311 #. type: lisp
11312 #: doc/guix.texi:4447
11313 #, no-wrap
11314 msgid ""
11315 "(let ((builder ; add the Bash script to the store\n"
11316 " (add-text-to-store store \"my-builder.sh\"\n"
11317 " \"echo hello world > $out\\n\" '())))\n"
11318 " (derivation store \"foo\"\n"
11319 " bash `(\"-e\" ,builder)\n"
11320 " #:inputs `((,bash) (,builder))\n"
11321 " #:env-vars '((\"HOME\" . \"/homeless\"))))\n"
11322 "@result{} #<derivation /gnu/store/@dots{}-foo.drv => /gnu/store/@dots{}-foo>\n"
11323 msgstr ""
11324
11325 #. type: Plain text
11326 #: doc/guix.texi:4454
11327 msgid ""
11328 "As can be guessed, this primitive is cumbersome to use directly. A better "
11329 "approach is to write build scripts in Scheme, of course! The best course of "
11330 "action for that is to write the build code as a ``G-expression'', and to "
11331 "pass it to @code{gexp->derivation}. For more information, @pxref{G-"
11332 "Expressions}."
11333 msgstr ""
11334
11335 #. type: Plain text
11336 #: doc/guix.texi:4459
11337 msgid ""
11338 "Once upon a time, @code{gexp->derivation} did not exist and constructing "
11339 "derivations with build code written in Scheme was achieved with @code{build-"
11340 "expression->derivation}, documented below. This procedure is now deprecated "
11341 "in favor of the much nicer @code{gexp->derivation}."
11342 msgstr ""
11343
11344 #. type: deffn
11345 #: doc/guix.texi:4460
11346 #, no-wrap
11347 msgid "{Scheme Procedure} build-expression->derivation @var{store} @"
11348 msgstr ""
11349
11350 #. type: deffn
11351 #: doc/guix.texi:4476
11352 msgid ""
11353 "@var{name} @var{exp} @ [#:system (%current-system)] [#:inputs '()] @ [#:"
11354 "outputs '(\"out\")] [#:hash #f] [#:hash-algo #f] @ [#:recursive? #f] [#:env-"
11355 "vars '()] [#:modules '()] @ [#:references-graphs #f] [#:allowed-references "
11356 "#f] @ [#:disallowed-references #f] @ [#:local-build? #f] [#:substitutable? "
11357 "#t] [#:guile-for-build #f] Return a derivation that executes Scheme "
11358 "expression @var{exp} as a builder for derivation @var{name}. @var{inputs} "
11359 "must be a list of @code{(name drv-path sub-drv)} tuples; when @var{sub-drv} "
11360 "is omitted, @code{\"out\"} is assumed. @var{modules} is a list of names of "
11361 "Guile modules from the current search path to be copied in the store, "
11362 "compiled, and made available in the load path during the execution of "
11363 "@var{exp}---e.g., @code{((guix build utils) (guix build gnu-build-system))}."
11364 msgstr ""
11365
11366 #. type: deffn
11367 #: doc/guix.texi:4484
11368 msgid ""
11369 "@var{exp} is evaluated in an environment where @code{%outputs} is bound to a "
11370 "list of output/path pairs, and where @code{%build-inputs} is bound to a list "
11371 "of string/output-path pairs made from @var{inputs}. Optionally, @var{env-"
11372 "vars} is a list of string pairs specifying the name and value of environment "
11373 "variables visible to the builder. The builder terminates by passing the "
11374 "result of @var{exp} to @code{exit}; thus, when @var{exp} returns @code{#f}, "
11375 "the build is considered to have failed."
11376 msgstr ""
11377
11378 #. type: deffn
11379 #: doc/guix.texi:4488
11380 msgid ""
11381 "@var{exp} is built using @var{guile-for-build} (a derivation). When "
11382 "@var{guile-for-build} is omitted or is @code{#f}, the value of the "
11383 "@code{%guile-for-build} fluid is used instead."
11384 msgstr ""
11385
11386 #. type: deffn
11387 #: doc/guix.texi:4493
11388 msgid ""
11389 "See the @code{derivation} procedure for the meaning of @var{references-"
11390 "graphs}, @var{allowed-references}, @var{disallowed-references}, @var{local-"
11391 "build?}, and @var{substitutable?}."
11392 msgstr ""
11393
11394 #. type: Plain text
11395 #: doc/guix.texi:4498
11396 msgid ""
11397 "Here's an example of a single-output derivation that creates a directory "
11398 "containing one file:"
11399 msgstr ""
11400
11401 #. type: lisp
11402 #: doc/guix.texi:4506
11403 #, no-wrap
11404 msgid ""
11405 "(let ((builder '(let ((out (assoc-ref %outputs \"out\")))\n"
11406 " (mkdir out) ; create /gnu/store/@dots{}-goo\n"
11407 " (call-with-output-file (string-append out \"/test\")\n"
11408 " (lambda (p)\n"
11409 " (display '(hello guix) p))))))\n"
11410 " (build-expression->derivation store \"goo\" builder))\n"
11411 "\n"
11412 msgstr ""
11413
11414 #. type: lisp
11415 #: doc/guix.texi:4508
11416 #, no-wrap
11417 msgid "@result{} #<derivation /gnu/store/@dots{}-goo.drv => @dots{}>\n"
11418 msgstr ""
11419
11420 #. type: cindex
11421 #: doc/guix.texi:4514
11422 #, no-wrap
11423 msgid "monad"
11424 msgstr ""
11425
11426 #. type: Plain text
11427 #: doc/guix.texi:4520
11428 msgid ""
11429 "The procedures that operate on the store described in the previous sections "
11430 "all take an open connection to the build daemon as their first argument. "
11431 "Although the underlying model is functional, they either have side effects "
11432 "or depend on the current state of the store."
11433 msgstr ""
11434
11435 #. type: Plain text
11436 #: doc/guix.texi:4526
11437 msgid ""
11438 "The former is inconvenient: the connection to the build daemon has to be "
11439 "carried around in all those functions, making it impossible to compose "
11440 "functions that do not take that parameter with functions that do. The "
11441 "latter can be problematic: since store operations have side effects and/or "
11442 "depend on external state, they have to be properly sequenced."
11443 msgstr ""
11444
11445 #. type: cindex
11446 #: doc/guix.texi:4527
11447 #, no-wrap
11448 msgid "monadic values"
11449 msgstr ""
11450
11451 #. type: cindex
11452 #: doc/guix.texi:4528
11453 #, no-wrap
11454 msgid "monadic functions"
11455 msgstr ""
11456
11457 #. type: Plain text
11458 #: doc/guix.texi:4538
11459 msgid ""
11460 "This is where the @code{(guix monads)} module comes in. This module "
11461 "provides a framework for working with @dfn{monads}, and a particularly "
11462 "useful monad for our uses, the @dfn{store monad}. Monads are a construct "
11463 "that allows two things: associating ``context'' with values (in our case, "
11464 "the context is the store), and building sequences of computations (here "
11465 "computations include accesses to the store). Values in a monad---values "
11466 "that carry this additional context---are called @dfn{monadic values}; "
11467 "procedures that return such values are called @dfn{monadic procedures}."
11468 msgstr ""
11469
11470 #. type: Plain text
11471 #: doc/guix.texi:4540
11472 msgid "Consider this ``normal'' procedure:"
11473 msgstr ""
11474
11475 #. type: example
11476 #: doc/guix.texi:4549
11477 #, no-wrap
11478 msgid ""
11479 "(define (sh-symlink store)\n"
11480 " ;; Return a derivation that symlinks the 'bash' executable.\n"
11481 " (let* ((drv (package-derivation store bash))\n"
11482 " (out (derivation->output-path drv))\n"
11483 " (sh (string-append out \"/bin/bash\")))\n"
11484 " (build-expression->derivation store \"sh\"\n"
11485 " `(symlink ,sh %output))))\n"
11486 msgstr ""
11487
11488 #. type: Plain text
11489 #: doc/guix.texi:4553
11490 msgid ""
11491 "Using @code{(guix monads)} and @code{(guix gexp)}, it may be rewritten as a "
11492 "monadic function:"
11493 msgstr ""
11494
11495 #. type: example
11496 #: doc/guix.texi:4561
11497 #, no-wrap
11498 msgid ""
11499 "(define (sh-symlink)\n"
11500 " ;; Same, but return a monadic value.\n"
11501 " (mlet %store-monad ((drv (package->derivation bash)))\n"
11502 " (gexp->derivation \"sh\"\n"
11503 " #~(symlink (string-append #$drv \"/bin/bash\")\n"
11504 " #$output))))\n"
11505 msgstr ""
11506
11507 #. type: Plain text
11508 #: doc/guix.texi:4568
11509 msgid ""
11510 "There are several things to note in the second version: the @code{store} "
11511 "parameter is now implicit and is ``threaded'' in the calls to the "
11512 "@code{package->derivation} and @code{gexp->derivation} monadic procedures, "
11513 "and the monadic value returned by @code{package->derivation} is @dfn{bound} "
11514 "using @code{mlet} instead of plain @code{let}."
11515 msgstr ""
11516
11517 #. type: Plain text
11518 #: doc/guix.texi:4572
11519 msgid ""
11520 "As it turns out, the call to @code{package->derivation} can even be omitted "
11521 "since it will take place implicitly, as we will see later (@pxref{G-"
11522 "Expressions}):"
11523 msgstr ""
11524
11525 #. type: example
11526 #: doc/guix.texi:4578
11527 #, no-wrap
11528 msgid ""
11529 "(define (sh-symlink)\n"
11530 " (gexp->derivation \"sh\"\n"
11531 " #~(symlink (string-append #$bash \"/bin/bash\")\n"
11532 " #$output)))\n"
11533 msgstr ""
11534
11535 #. type: Plain text
11536 #: doc/guix.texi:4587
11537 msgid ""
11538 "Calling the monadic @code{sh-symlink} has no effect. As someone once said, "
11539 "``you exit a monad like you exit a building on fire: by running''. So, to "
11540 "exit the monad and get the desired effect, one must use @code{run-with-"
11541 "store}:"
11542 msgstr ""
11543
11544 #. type: example
11545 #: doc/guix.texi:4591
11546 #, no-wrap
11547 msgid ""
11548 "(run-with-store (open-connection) (sh-symlink))\n"
11549 "@result{} /gnu/store/...-sh-symlink\n"
11550 msgstr ""
11551
11552 #. type: Plain text
11553 #: doc/guix.texi:4597
11554 msgid ""
11555 "Note that the @code{(guix monad-repl)} module extends the Guile REPL with "
11556 "new ``meta-commands'' to make it easier to deal with monadic procedures: "
11557 "@code{run-in-store}, and @code{enter-store-monad}. The former is used to "
11558 "``run'' a single monadic value through the store:"
11559 msgstr ""
11560
11561 #. type: example
11562 #: doc/guix.texi:4601
11563 #, no-wrap
11564 msgid ""
11565 "scheme@@(guile-user)> ,run-in-store (package->derivation hello)\n"
11566 "$1 = #<derivation /gnu/store/@dots{}-hello-2.9.drv => @dots{}>\n"
11567 msgstr ""
11568
11569 #. type: Plain text
11570 #: doc/guix.texi:4605
11571 msgid ""
11572 "The latter enters a recursive REPL, where all the return values are "
11573 "automatically run through the store:"
11574 msgstr ""
11575
11576 #. type: example
11577 #: doc/guix.texi:4614
11578 #, no-wrap
11579 msgid ""
11580 "scheme@@(guile-user)> ,enter-store-monad\n"
11581 "store-monad@@(guile-user) [1]> (package->derivation hello)\n"
11582 "$2 = #<derivation /gnu/store/@dots{}-hello-2.9.drv => @dots{}>\n"
11583 "store-monad@@(guile-user) [1]> (text-file \"foo\" \"Hello!\")\n"
11584 "$3 = \"/gnu/store/@dots{}-foo\"\n"
11585 "store-monad@@(guile-user) [1]> ,q\n"
11586 "scheme@@(guile-user)>\n"
11587 msgstr ""
11588
11589 #. type: Plain text
11590 #: doc/guix.texi:4619
11591 msgid ""
11592 "Note that non-monadic values cannot be returned in the @code{store-monad} "
11593 "REPL."
11594 msgstr ""
11595
11596 #. type: Plain text
11597 #: doc/guix.texi:4622
11598 msgid ""
11599 "The main syntactic forms to deal with monads in general are provided by the "
11600 "@code{(guix monads)} module and are described below."
11601 msgstr ""
11602
11603 #. type: deffn
11604 #: doc/guix.texi:4623
11605 #, no-wrap
11606 msgid "{Scheme Syntax} with-monad @var{monad} @var{body} ..."
11607 msgstr ""
11608
11609 #. type: deffn
11610 #: doc/guix.texi:4626
11611 msgid ""
11612 "Evaluate any @code{>>=} or @code{return} forms in @var{body} as being in "
11613 "@var{monad}."
11614 msgstr ""
11615
11616 #. type: deffn
11617 #: doc/guix.texi:4628
11618 #, no-wrap
11619 msgid "{Scheme Syntax} return @var{val}"
11620 msgstr ""
11621
11622 #. type: deffn
11623 #: doc/guix.texi:4630
11624 msgid "Return a monadic value that encapsulates @var{val}."
11625 msgstr ""
11626
11627 #. type: deffn
11628 #: doc/guix.texi:4632
11629 #, no-wrap
11630 msgid "{Scheme Syntax} >>= @var{mval} @var{mproc} ..."
11631 msgstr ""
11632
11633 #. type: deffn
11634 #: doc/guix.texi:4639
11635 msgid ""
11636 "@dfn{Bind} monadic value @var{mval}, passing its ``contents'' to monadic "
11637 "procedures @var{mproc}@dots{}@footnote{This operation is commonly referred "
11638 "to as ``bind'', but that name denotes an unrelated procedure in Guile. Thus "
11639 "we use this somewhat cryptic symbol inherited from the Haskell language.}. "
11640 "There can be one @var{mproc} or several of them, as in this example:"
11641 msgstr ""
11642
11643 #. type: example
11644 #: doc/guix.texi:4647
11645 #, no-wrap
11646 msgid ""
11647 "(run-with-state\n"
11648 " (with-monad %state-monad\n"
11649 " (>>= (return 1)\n"
11650 " (lambda (x) (return (+ 1 x)))\n"
11651 " (lambda (x) (return (* 2 x)))))\n"
11652 " 'some-state)\n"
11653 "\n"
11654 msgstr ""
11655
11656 #. type: example
11657 #: doc/guix.texi:4650
11658 #, no-wrap
11659 msgid ""
11660 "@result{} 4\n"
11661 "@result{} some-state\n"
11662 msgstr ""
11663
11664 #. type: deffn
11665 #: doc/guix.texi:4653
11666 #, no-wrap
11667 msgid "{Scheme Syntax} mlet @var{monad} ((@var{var} @var{mval}) ...) @"
11668 msgstr ""
11669
11670 #. type: deffn
11671 #: doc/guix.texi:4655
11672 msgid "@var{body} ..."
11673 msgstr ""
11674
11675 #. type: deffnx
11676 #: doc/guix.texi:4655
11677 #, no-wrap
11678 msgid "{Scheme Syntax} mlet* @var{monad} ((@var{var} @var{mval}) ...) @"
11679 msgstr ""
11680
11681 #. type: deffn
11682 #: doc/guix.texi:4667
11683 msgid ""
11684 "@var{body} ... Bind the variables @var{var} to the monadic values "
11685 "@var{mval} in @var{body}, which is a sequence of expressions. As with the "
11686 "bind operator, this can be thought of as ``unpacking'' the raw, non-monadic "
11687 "value ``contained'' in @var{mval} and making @var{var} refer to that raw, "
11688 "non-monadic value within the scope of the @var{body}. The form (@var{var} -"
11689 "> @var{val}) binds @var{var} to the ``normal'' value @var{val}, as per "
11690 "@code{let}. The binding operations occur in sequence from left to right. "
11691 "The last expression of @var{body} must be a monadic expression, and its "
11692 "result will become the result of the @code{mlet} or @code{mlet*} when run in "
11693 "the @var{monad}."
11694 msgstr ""
11695
11696 #. type: deffn
11697 #: doc/guix.texi:4670
11698 msgid ""
11699 "@code{mlet*} is to @code{mlet} what @code{let*} is to @code{let} "
11700 "(@pxref{Local Bindings,,, guile, GNU Guile Reference Manual})."
11701 msgstr ""
11702
11703 #. type: deffn
11704 #: doc/guix.texi:4672
11705 #, no-wrap
11706 msgid "{Scheme System} mbegin @var{monad} @var{mexp} ..."
11707 msgstr ""
11708
11709 #. type: deffn
11710 #: doc/guix.texi:4676
11711 msgid ""
11712 "Bind @var{mexp} and the following monadic expressions in sequence, returning "
11713 "the result of the last expression. Every expression in the sequence must be "
11714 "a monadic expression."
11715 msgstr ""
11716
11717 #. type: deffn
11718 #: doc/guix.texi:4680
11719 msgid ""
11720 "This is akin to @code{mlet}, except that the return values of the monadic "
11721 "expressions are ignored. In that sense, it is analogous to @code{begin}, "
11722 "but applied to monadic expressions."
11723 msgstr ""
11724
11725 #. type: deffn
11726 #: doc/guix.texi:4682
11727 #, no-wrap
11728 msgid "{Scheme System} mwhen @var{condition} @var{mexp0} @var{mexp*} ..."
11729 msgstr ""
11730
11731 #. type: deffn
11732 #: doc/guix.texi:4687
11733 msgid ""
11734 "When @var{condition} is true, evaluate the sequence of monadic expressions "
11735 "@var{mexp0}..@var{mexp*} as in an @code{mbegin}. When @var{condition} is "
11736 "false, return @code{*unspecified*} in the current monad. Every expression "
11737 "in the sequence must be a monadic expression."
11738 msgstr ""
11739
11740 #. type: deffn
11741 #: doc/guix.texi:4689
11742 #, no-wrap
11743 msgid "{Scheme System} munless @var{condition} @var{mexp0} @var{mexp*} ..."
11744 msgstr ""
11745
11746 #. type: deffn
11747 #: doc/guix.texi:4694
11748 msgid ""
11749 "When @var{condition} is false, evaluate the sequence of monadic expressions "
11750 "@var{mexp0}..@var{mexp*} as in an @code{mbegin}. When @var{condition} is "
11751 "true, return @code{*unspecified*} in the current monad. Every expression in "
11752 "the sequence must be a monadic expression."
11753 msgstr ""
11754
11755 #. type: cindex
11756 #: doc/guix.texi:4696
11757 #, no-wrap
11758 msgid "state monad"
11759 msgstr ""
11760
11761 #. type: Plain text
11762 #: doc/guix.texi:4700
11763 msgid ""
11764 "The @code{(guix monads)} module provides the @dfn{state monad}, which allows "
11765 "an additional value---the state---to be @emph{threaded} through monadic "
11766 "procedure calls."
11767 msgstr ""
11768
11769 #. type: defvr
11770 #: doc/guix.texi:4701
11771 #, no-wrap
11772 msgid "{Scheme Variable} %state-monad"
11773 msgstr ""
11774
11775 #. type: defvr
11776 #: doc/guix.texi:4704
11777 msgid ""
11778 "The state monad. Procedures in the state monad can access and change the "
11779 "state that is threaded."
11780 msgstr ""
11781
11782 #. type: defvr
11783 #: doc/guix.texi:4708
11784 msgid ""
11785 "Consider the example below. The @code{square} procedure returns a value in "
11786 "the state monad. It returns the square of its argument, but also increments "
11787 "the current state value:"
11788 msgstr ""
11789
11790 #. type: example
11791 #: doc/guix.texi:4715
11792 #, no-wrap
11793 msgid ""
11794 "(define (square x)\n"
11795 " (mlet %state-monad ((count (current-state)))\n"
11796 " (mbegin %state-monad\n"
11797 " (set-current-state (+ 1 count))\n"
11798 " (return (* x x)))))\n"
11799 "\n"
11800 msgstr ""
11801
11802 #. type: example
11803 #: doc/guix.texi:4719
11804 #, no-wrap
11805 msgid ""
11806 "(run-with-state (sequence %state-monad (map square (iota 3))) 0)\n"
11807 "@result{} (0 1 4)\n"
11808 "@result{} 3\n"
11809 msgstr ""
11810
11811 #. type: defvr
11812 #: doc/guix.texi:4723
11813 msgid ""
11814 "When ``run'' through @var{%state-monad}, we obtain that additional state "
11815 "value, which is the number of @code{square} calls."
11816 msgstr ""
11817
11818 #. type: deffn
11819 #: doc/guix.texi:4725
11820 #, no-wrap
11821 msgid "{Monadic Procedure} current-state"
11822 msgstr ""
11823
11824 #. type: deffn
11825 #: doc/guix.texi:4727
11826 msgid "Return the current state as a monadic value."
11827 msgstr ""
11828
11829 #. type: deffn
11830 #: doc/guix.texi:4729
11831 #, no-wrap
11832 msgid "{Monadic Procedure} set-current-state @var{value}"
11833 msgstr ""
11834
11835 #. type: deffn
11836 #: doc/guix.texi:4732
11837 msgid ""
11838 "Set the current state to @var{value} and return the previous state as a "
11839 "monadic value."
11840 msgstr ""
11841
11842 #. type: deffn
11843 #: doc/guix.texi:4734
11844 #, no-wrap
11845 msgid "{Monadic Procedure} state-push @var{value}"
11846 msgstr ""
11847
11848 #. type: deffn
11849 #: doc/guix.texi:4737
11850 msgid ""
11851 "Push @var{value} to the current state, which is assumed to be a list, and "
11852 "return the previous state as a monadic value."
11853 msgstr ""
11854
11855 #. type: deffn
11856 #: doc/guix.texi:4739
11857 #, no-wrap
11858 msgid "{Monadic Procedure} state-pop"
11859 msgstr ""
11860
11861 #. type: deffn
11862 #: doc/guix.texi:4742
11863 msgid ""
11864 "Pop a value from the current state and return it as a monadic value. The "
11865 "state is assumed to be a list."
11866 msgstr ""
11867
11868 #. type: deffn
11869 #: doc/guix.texi:4744
11870 #, no-wrap
11871 msgid "{Scheme Procedure} run-with-state @var{mval} [@var{state}]"
11872 msgstr ""
11873
11874 #. type: deffn
11875 #: doc/guix.texi:4747
11876 msgid ""
11877 "Run monadic value @var{mval} starting with @var{state} as the initial "
11878 "state. Return two values: the resulting value, and the resulting state."
11879 msgstr ""
11880
11881 #. type: Plain text
11882 #: doc/guix.texi:4751
11883 msgid ""
11884 "The main interface to the store monad, provided by the @code{(guix store)} "
11885 "module, is as follows."
11886 msgstr ""
11887
11888 #. type: defvr
11889 #: doc/guix.texi:4752
11890 #, no-wrap
11891 msgid "{Scheme Variable} %store-monad"
11892 msgstr ""
11893
11894 #. type: defvr
11895 #: doc/guix.texi:4754
11896 msgid "The store monad---an alias for @var{%state-monad}."
11897 msgstr ""
11898
11899 #. type: defvr
11900 #: doc/guix.texi:4758
11901 msgid ""
11902 "Values in the store monad encapsulate accesses to the store. When its "
11903 "effect is needed, a value of the store monad must be ``evaluated'' by "
11904 "passing it to the @code{run-with-store} procedure (see below.)"
11905 msgstr ""
11906
11907 #. type: deffn
11908 #: doc/guix.texi:4760
11909 #, no-wrap
11910 msgid "{Scheme Procedure} run-with-store @var{store} @var{mval} [#:guile-for-build] [#:system (%current-system)]"
11911 msgstr ""
11912
11913 #. type: deffn
11914 #: doc/guix.texi:4763
11915 msgid ""
11916 "Run @var{mval}, a monadic value in the store monad, in @var{store}, an open "
11917 "store connection."
11918 msgstr ""
11919
11920 #. type: deffn
11921 #: doc/guix.texi:4765
11922 #, no-wrap
11923 msgid "{Monadic Procedure} text-file @var{name} @var{text} [@var{references}]"
11924 msgstr ""
11925
11926 #. type: deffn
11927 #: doc/guix.texi:4769
11928 msgid ""
11929 "Return as a monadic value the absolute file name in the store of the file "
11930 "containing @var{text}, a string. @var{references} is a list of store items "
11931 "that the resulting text file refers to; it defaults to the empty list."
11932 msgstr ""
11933
11934 #. type: deffn
11935 #: doc/guix.texi:4771
11936 #, no-wrap
11937 msgid "{Monadic Procedure} interned-file @var{file} [@var{name}] @"
11938 msgstr ""
11939
11940 #. type: deffn
11941 #: doc/guix.texi:4776
11942 msgid ""
11943 "[#:recursive? #t] [#:select? (const #t)] Return the name of @var{file} once "
11944 "interned in the store. Use @var{name} as its store name, or the basename of "
11945 "@var{file} if @var{name} is omitted."
11946 msgstr ""
11947
11948 #. type: deffn
11949 #: doc/guix.texi:4780 doc/guix.texi:5159
11950 msgid ""
11951 "When @var{recursive?} is true, the contents of @var{file} are added "
11952 "recursively; if @var{file} designates a flat file and @var{recursive?} is "
11953 "true, its contents are added, and its permission bits are kept."
11954 msgstr ""
11955
11956 #. type: deffn
11957 #: doc/guix.texi:4785 doc/guix.texi:5164
11958 msgid ""
11959 "When @var{recursive?} is true, call @code{(@var{select?} @var{file} "
11960 "@var{stat})} for each directory entry, where @var{file} is the entry's "
11961 "absolute file name and @var{stat} is the result of @code{lstat}; exclude "
11962 "entries for which @var{select?} does not return true."
11963 msgstr ""
11964
11965 #. type: deffn
11966 #: doc/guix.texi:4787
11967 msgid "The example below adds a file to the store, under two different names:"
11968 msgstr ""
11969
11970 #. type: example
11971 #: doc/guix.texi:4793
11972 #, no-wrap
11973 msgid ""
11974 "(run-with-store (open-connection)\n"
11975 " (mlet %store-monad ((a (interned-file \"README\"))\n"
11976 " (b (interned-file \"README\" \"LEGU-MIN\")))\n"
11977 " (return (list a b))))\n"
11978 "\n"
11979 msgstr ""
11980
11981 #. type: example
11982 #: doc/guix.texi:4795
11983 #, no-wrap
11984 msgid "@result{} (\"/gnu/store/rwm@dots{}-README\" \"/gnu/store/44i@dots{}-LEGU-MIN\")\n"
11985 msgstr ""
11986
11987 #. type: Plain text
11988 #: doc/guix.texi:4801
11989 msgid ""
11990 "The @code{(guix packages)} module exports the following package-related "
11991 "monadic procedures:"
11992 msgstr ""
11993
11994 #. type: deffn
11995 #: doc/guix.texi:4802
11996 #, no-wrap
11997 msgid "{Monadic Procedure} package-file @var{package} [@var{file}] @"
11998 msgstr ""
11999
12000 #. type: deffn
12001 #: doc/guix.texi:4810
12002 msgid ""
12003 "[#:system (%current-system)] [#:target #f] @ [#:output \"out\"] Return as a "
12004 "monadic value in the absolute file name of @var{file} within the "
12005 "@var{output} directory of @var{package}. When @var{file} is omitted, return "
12006 "the name of the @var{output} directory of @var{package}. When @var{target} "
12007 "is true, use it as a cross-compilation target triplet."
12008 msgstr ""
12009
12010 #. type: deffn
12011 #: doc/guix.texi:4812
12012 #, no-wrap
12013 msgid "{Monadic Procedure} package->derivation @var{package} [@var{system}]"
12014 msgstr ""
12015
12016 #. type: deffnx
12017 #: doc/guix.texi:4813
12018 #, no-wrap
12019 msgid "{Monadic Procedure} package->cross-derivation @var{package} @"
12020 msgstr ""
12021
12022 #. type: deffn
12023 #: doc/guix.texi:4817
12024 msgid ""
12025 "@var{target} [@var{system}] Monadic version of @code{package-derivation} and "
12026 "@code{package-cross-derivation} (@pxref{Defining Packages})."
12027 msgstr ""
12028
12029 #. type: cindex
12030 #: doc/guix.texi:4823
12031 #, no-wrap
12032 msgid "G-expression"
12033 msgstr ""
12034
12035 #. type: cindex
12036 #: doc/guix.texi:4824
12037 #, no-wrap
12038 msgid "build code quoting"
12039 msgstr ""
12040
12041 #. type: Plain text
12042 #: doc/guix.texi:4830
12043 msgid ""
12044 "So we have ``derivations'', which represent a sequence of build actions to "
12045 "be performed to produce an item in the store (@pxref{Derivations}). These "
12046 "build actions are performed when asking the daemon to actually build the "
12047 "derivations; they are run by the daemon in a container (@pxref{Invoking guix-"
12048 "daemon})."
12049 msgstr ""
12050
12051 #. type: cindex
12052 #: doc/guix.texi:4831
12053 #, no-wrap
12054 msgid "strata of code"
12055 msgstr ""
12056
12057 #. type: Plain text
12058 #: doc/guix.texi:4843
12059 msgid ""
12060 "It should come as no surprise that we like to write these build actions in "
12061 "Scheme. When we do that, we end up with two @dfn{strata} of Scheme "
12062 "code@footnote{The term @dfn{stratum} in this context was coined by Manuel "
12063 "Serrano et al.@: in the context of their work on Hop. Oleg Kiselyov, who "
12064 "has written insightful @url{http://okmij.org/ftp/meta-programming/#meta-"
12065 "scheme, essays and code on this topic}, refers to this kind of code "
12066 "generation as @dfn{staging}.}: the ``host code''---code that defines "
12067 "packages, talks to the daemon, etc.---and the ``build code''---code that "
12068 "actually performs build actions, such as making directories, invoking "
12069 "@command{make}, etc."
12070 msgstr ""
12071
12072 #. type: Plain text
12073 #: doc/guix.texi:4850
12074 msgid ""
12075 "To describe a derivation and its build actions, one typically needs to embed "
12076 "build code inside host code. It boils down to manipulating build code as "
12077 "data, and the homoiconicity of Scheme---code has a direct representation as "
12078 "data---comes in handy for that. But we need more than the normal "
12079 "@code{quasiquote} mechanism in Scheme to construct build expressions."
12080 msgstr ""
12081
12082 #. type: Plain text
12083 #: doc/guix.texi:4859
12084 msgid ""
12085 "The @code{(guix gexp)} module implements @dfn{G-expressions}, a form of S-"
12086 "expressions adapted to build expressions. G-expressions, or @dfn{gexps}, "
12087 "consist essentially of three syntactic forms: @code{gexp}, @code{ungexp}, "
12088 "and @code{ungexp-splicing} (or simply: @code{#~}, @code{#$}, and @code{#"
12089 "$@@}), which are comparable to @code{quasiquote}, @code{unquote}, and "
12090 "@code{unquote-splicing}, respectively (@pxref{Expression Syntax, "
12091 "@code{quasiquote},, guile, GNU Guile Reference Manual}). However, there are "
12092 "major differences:"
12093 msgstr ""
12094
12095 #. type: itemize
12096 #: doc/guix.texi:4864
12097 msgid ""
12098 "Gexps are meant to be written to a file and run or manipulated by other "
12099 "processes."
12100 msgstr ""
12101
12102 #. type: itemize
12103 #: doc/guix.texi:4869
12104 msgid ""
12105 "When a high-level object such as a package or derivation is unquoted inside "
12106 "a gexp, the result is as if its output file name had been introduced."
12107 msgstr ""
12108
12109 #. type: itemize
12110 #: doc/guix.texi:4874
12111 msgid ""
12112 "Gexps carry information about the packages or derivations they refer to, and "
12113 "these dependencies are automatically added as inputs to the build processes "
12114 "that use them."
12115 msgstr ""
12116
12117 #. type: cindex
12118 #: doc/guix.texi:4876 doc/guix.texi:5346
12119 #, no-wrap
12120 msgid "lowering, of high-level objects in gexps"
12121 msgstr ""
12122
12123 #. type: Plain text
12124 #: doc/guix.texi:4886
12125 msgid ""
12126 "This mechanism is not limited to package and derivation objects: "
12127 "@dfn{compilers} able to ``lower'' other high-level objects to derivations or "
12128 "files in the store can be defined, such that these objects can also be "
12129 "inserted into gexps. For example, a useful type of high-level objects that "
12130 "can be inserted in a gexp is ``file-like objects'', which make it easy to "
12131 "add files to the store and to refer to them in derivations and such (see "
12132 "@code{local-file} and @code{plain-file} below.)"
12133 msgstr ""
12134
12135 #. type: Plain text
12136 #: doc/guix.texi:4888
12137 msgid "To illustrate the idea, here is an example of a gexp:"
12138 msgstr ""
12139
12140 #. type: example
12141 #: doc/guix.texi:4896
12142 #, no-wrap
12143 msgid ""
12144 "(define build-exp\n"
12145 " #~(begin\n"
12146 " (mkdir #$output)\n"
12147 " (chdir #$output)\n"
12148 " (symlink (string-append #$coreutils \"/bin/ls\")\n"
12149 " \"list-files\")))\n"
12150 msgstr ""
12151
12152 #. type: Plain text
12153 #: doc/guix.texi:4901
12154 msgid ""
12155 "This gexp can be passed to @code{gexp->derivation}; we obtain a derivation "
12156 "that builds a directory containing exactly one symlink to @file{/gnu/store/"
12157 "@dots{}-coreutils-8.22/bin/ls}:"
12158 msgstr ""
12159
12160 #. type: example
12161 #: doc/guix.texi:4904
12162 #, no-wrap
12163 msgid "(gexp->derivation \"the-thing\" build-exp)\n"
12164 msgstr ""
12165
12166 #. type: Plain text
12167 #: doc/guix.texi:4912
12168 msgid ""
12169 "As one would expect, the @code{\"/gnu/store/@dots{}-coreutils-8.22\"} string "
12170 "is substituted to the reference to the @var{coreutils} package in the actual "
12171 "build code, and @var{coreutils} is automatically made an input to the "
12172 "derivation. Likewise, @code{#$output} (equivalent to @code{(ungexp "
12173 "output)}) is replaced by a string containing the directory name of the "
12174 "output of the derivation."
12175 msgstr ""
12176
12177 #. type: cindex
12178 #: doc/guix.texi:4913
12179 #, no-wrap
12180 msgid "cross compilation"
12181 msgstr ""
12182
12183 #. type: Plain text
12184 #: doc/guix.texi:4919
12185 msgid ""
12186 "In a cross-compilation context, it is useful to distinguish between "
12187 "references to the @emph{native} build of a package---that can run on the "
12188 "host---versus references to cross builds of a package. To that end, the "
12189 "@code{#+} plays the same role as @code{#$}, but is a reference to a native "
12190 "package build:"
12191 msgstr ""
12192
12193 #. type: example
12194 #: doc/guix.texi:4929
12195 #, no-wrap
12196 msgid ""
12197 "(gexp->derivation \"vi\"\n"
12198 " #~(begin\n"
12199 " (mkdir #$output)\n"
12200 " (system* (string-append #+coreutils \"/bin/ln\")\n"
12201 " \"-s\"\n"
12202 " (string-append #$emacs \"/bin/emacs\")\n"
12203 " (string-append #$output \"/bin/vi\")))\n"
12204 " #:target \"mips64el-linux-gnu\")\n"
12205 msgstr ""
12206
12207 #. type: Plain text
12208 #: doc/guix.texi:4935
12209 msgid ""
12210 "In the example above, the native build of @var{coreutils} is used, so that "
12211 "@command{ln} can actually run on the host; but then the cross-compiled build "
12212 "of @var{emacs} is referenced."
12213 msgstr ""
12214
12215 #. type: cindex
12216 #: doc/guix.texi:4936
12217 #, no-wrap
12218 msgid "imported modules, for gexps"
12219 msgstr ""
12220
12221 #. type: findex
12222 #: doc/guix.texi:4937
12223 #, no-wrap
12224 msgid "with-imported-modules"
12225 msgstr ""
12226
12227 #. type: Plain text
12228 #: doc/guix.texi:4942
12229 msgid ""
12230 "Another gexp feature is @dfn{imported modules}: sometimes you want to be "
12231 "able to use certain Guile modules from the ``host environment'' in the gexp, "
12232 "so those modules should be imported in the ``build environment''. The "
12233 "@code{with-imported-modules} form allows you to express that:"
12234 msgstr ""
12235
12236 #. type: example
12237 #: doc/guix.texi:4953
12238 #, no-wrap
12239 msgid ""
12240 "(let ((build (with-imported-modules '((guix build utils))\n"
12241 " #~(begin\n"
12242 " (use-modules (guix build utils))\n"
12243 " (mkdir-p (string-append #$output \"/bin\"))))))\n"
12244 " (gexp->derivation \"empty-dir\"\n"
12245 " #~(begin\n"
12246 " #$build\n"
12247 " (display \"success!\\n\")\n"
12248 " #t)))\n"
12249 msgstr ""
12250
12251 #. type: Plain text
12252 #: doc/guix.texi:4959
12253 msgid ""
12254 "In this example, the @code{(guix build utils)} module is automatically "
12255 "pulled into the isolated build environment of our gexp, such that @code{(use-"
12256 "modules (guix build utils))} works as expected."
12257 msgstr ""
12258
12259 #. type: cindex
12260 #: doc/guix.texi:4960
12261 #, no-wrap
12262 msgid "module closure"
12263 msgstr ""
12264
12265 #. type: findex
12266 #: doc/guix.texi:4961
12267 #, no-wrap
12268 msgid "source-module-closure"
12269 msgstr ""
12270
12271 #. type: Plain text
12272 #: doc/guix.texi:4968
12273 msgid ""
12274 "Usually you want the @emph{closure} of the module to be imported---i.e., the "
12275 "module itself and all the modules it depends on---rather than just the "
12276 "module; failing to do that, attempts to use the module will fail because of "
12277 "missing dependent modules. The @code{source-module-closure} procedure "
12278 "computes the closure of a module by looking at its source file headers, "
12279 "which comes in handy in this case:"
12280 msgstr ""
12281
12282 #. type: example
12283 #: doc/guix.texi:4971
12284 #, no-wrap
12285 msgid ""
12286 "(use-modules (guix modules)) ;for 'source-module-closure'\n"
12287 "\n"
12288 msgstr ""
12289
12290 #. type: example
12291 #: doc/guix.texi:4980
12292 #, no-wrap
12293 msgid ""
12294 "(with-imported-modules (source-module-closure\n"
12295 " '((guix build utils)\n"
12296 " (gnu build vm)))\n"
12297 " (gexp->derivation \"something-with-vms\"\n"
12298 " #~(begin\n"
12299 " (use-modules (guix build utils)\n"
12300 " (gnu build vm))\n"
12301 " @dots{})))\n"
12302 msgstr ""
12303
12304 #. type: Plain text
12305 #: doc/guix.texi:4983
12306 msgid "The syntactic form to construct gexps is summarized below."
12307 msgstr ""
12308
12309 #. type: deffn
12310 #: doc/guix.texi:4984
12311 #, no-wrap
12312 msgid "{Scheme Syntax} #~@var{exp}"
12313 msgstr ""
12314
12315 #. type: deffnx
12316 #: doc/guix.texi:4985
12317 #, no-wrap
12318 msgid "{Scheme Syntax} (gexp @var{exp})"
12319 msgstr ""
12320
12321 #. type: deffn
12322 #: doc/guix.texi:4988
12323 msgid ""
12324 "Return a G-expression containing @var{exp}. @var{exp} may contain one or "
12325 "more of the following forms:"
12326 msgstr ""
12327
12328 #. type: item
12329 #: doc/guix.texi:4990
12330 #, no-wrap
12331 msgid "#$@var{obj}"
12332 msgstr ""
12333
12334 #. type: itemx
12335 #: doc/guix.texi:4991
12336 #, no-wrap
12337 msgid "(ungexp @var{obj})"
12338 msgstr ""
12339
12340 #. type: table
12341 #: doc/guix.texi:4996
12342 msgid ""
12343 "Introduce a reference to @var{obj}. @var{obj} may have one of the supported "
12344 "types, for example a package or a derivation, in which case the "
12345 "@code{ungexp} form is replaced by its output file name---e.g., @code{\"/gnu/"
12346 "store/@dots{}-coreutils-8.22}."
12347 msgstr ""
12348
12349 #. type: table
12350 #: doc/guix.texi:4999
12351 msgid ""
12352 "If @var{obj} is a list, it is traversed and references to supported objects "
12353 "are substituted similarly."
12354 msgstr ""
12355
12356 #. type: table
12357 #: doc/guix.texi:5002
12358 msgid ""
12359 "If @var{obj} is another gexp, its contents are inserted and its dependencies "
12360 "are added to those of the containing gexp."
12361 msgstr ""
12362
12363 #. type: table
12364 #: doc/guix.texi:5004
12365 msgid "If @var{obj} is another kind of object, it is inserted as is."
12366 msgstr ""
12367
12368 #. type: item
12369 #: doc/guix.texi:5005
12370 #, no-wrap
12371 msgid "#$@var{obj}:@var{output}"
12372 msgstr ""
12373
12374 #. type: itemx
12375 #: doc/guix.texi:5006
12376 #, no-wrap
12377 msgid "(ungexp @var{obj} @var{output})"
12378 msgstr ""
12379
12380 #. type: table
12381 #: doc/guix.texi:5010
12382 msgid ""
12383 "This is like the form above, but referring explicitly to the @var{output} of "
12384 "@var{obj}---this is useful when @var{obj} produces multiple outputs "
12385 "(@pxref{Packages with Multiple Outputs})."
12386 msgstr ""
12387
12388 #. type: item
12389 #: doc/guix.texi:5011
12390 #, no-wrap
12391 msgid "#+@var{obj}"
12392 msgstr ""
12393
12394 #. type: itemx
12395 #: doc/guix.texi:5012
12396 #, no-wrap
12397 msgid "#+@var{obj}:output"
12398 msgstr ""
12399
12400 #. type: itemx
12401 #: doc/guix.texi:5013
12402 #, no-wrap
12403 msgid "(ungexp-native @var{obj})"
12404 msgstr ""
12405
12406 #. type: itemx
12407 #: doc/guix.texi:5014
12408 #, no-wrap
12409 msgid "(ungexp-native @var{obj} @var{output})"
12410 msgstr ""
12411
12412 #. type: table
12413 #: doc/guix.texi:5017
12414 msgid ""
12415 "Same as @code{ungexp}, but produces a reference to the @emph{native} build "
12416 "of @var{obj} when used in a cross compilation context."
12417 msgstr ""
12418
12419 #. type: item
12420 #: doc/guix.texi:5018
12421 #, no-wrap
12422 msgid "#$output[:@var{output}]"
12423 msgstr ""
12424
12425 #. type: itemx
12426 #: doc/guix.texi:5019
12427 #, no-wrap
12428 msgid "(ungexp output [@var{output}])"
12429 msgstr ""
12430
12431 #. type: table
12432 #: doc/guix.texi:5022
12433 msgid ""
12434 "Insert a reference to derivation output @var{output}, or to the main output "
12435 "when @var{output} is omitted."
12436 msgstr ""
12437
12438 #. type: table
12439 #: doc/guix.texi:5024
12440 msgid "This only makes sense for gexps passed to @code{gexp->derivation}."
12441 msgstr ""
12442
12443 #. type: item
12444 #: doc/guix.texi:5025
12445 #, no-wrap
12446 msgid "#$@@@var{lst}"
12447 msgstr ""
12448
12449 #. type: itemx
12450 #: doc/guix.texi:5026
12451 #, no-wrap
12452 msgid "(ungexp-splicing @var{lst})"
12453 msgstr ""
12454
12455 #. type: table
12456 #: doc/guix.texi:5029
12457 msgid ""
12458 "Like the above, but splices the contents of @var{lst} inside the containing "
12459 "list."
12460 msgstr ""
12461
12462 #. type: item
12463 #: doc/guix.texi:5030
12464 #, no-wrap
12465 msgid "#+@@@var{lst}"
12466 msgstr ""
12467
12468 #. type: itemx
12469 #: doc/guix.texi:5031
12470 #, no-wrap
12471 msgid "(ungexp-native-splicing @var{lst})"
12472 msgstr ""
12473
12474 #. type: table
12475 #: doc/guix.texi:5034
12476 msgid ""
12477 "Like the above, but refers to native builds of the objects listed in "
12478 "@var{lst}."
12479 msgstr ""
12480
12481 #. type: deffn
12482 #: doc/guix.texi:5039
12483 msgid ""
12484 "G-expressions created by @code{gexp} or @code{#~} are run-time objects of "
12485 "the @code{gexp?} type (see below.)"
12486 msgstr ""
12487
12488 #. type: deffn
12489 #: doc/guix.texi:5041
12490 #, no-wrap
12491 msgid "{Scheme Syntax} with-imported-modules @var{modules} @var{body}@dots{}"
12492 msgstr ""
12493
12494 #. type: deffn
12495 #: doc/guix.texi:5044
12496 msgid ""
12497 "Mark the gexps defined in @var{body}@dots{} as requiring @var{modules} in "
12498 "their execution environment."
12499 msgstr ""
12500
12501 #. type: deffn
12502 #: doc/guix.texi:5048
12503 msgid ""
12504 "Each item in @var{modules} can be the name of a module, such as @code{(guix "
12505 "build utils)}, or it can be a module name, followed by an arrow, followed by "
12506 "a file-like object:"
12507 msgstr ""
12508
12509 #. type: example
12510 #: doc/guix.texi:5054
12511 #, no-wrap
12512 msgid ""
12513 "`((guix build utils)\n"
12514 " (guix gcrypt)\n"
12515 " ((guix config) => ,(scheme-file \"config.scm\"\n"
12516 " #~(define-module @dots{}))))\n"
12517 msgstr ""
12518
12519 #. type: deffn
12520 #: doc/guix.texi:5059
12521 msgid ""
12522 "In the example above, the first two modules are taken from the search path, "
12523 "and the last one is created from the given file-like object."
12524 msgstr ""
12525
12526 #. type: deffn
12527 #: doc/guix.texi:5063
12528 msgid ""
12529 "This form has @emph{lexical} scope: it has an effect on the gexps directly "
12530 "defined in @var{body}@dots{}, but not on those defined, say, in procedures "
12531 "called from @var{body}@dots{}."
12532 msgstr ""
12533
12534 #. type: deffn
12535 #: doc/guix.texi:5065
12536 #, no-wrap
12537 msgid "{Scheme Procedure} gexp? @var{obj}"
12538 msgstr ""
12539
12540 #. type: deffn
12541 #: doc/guix.texi:5067
12542 msgid "Return @code{#t} if @var{obj} is a G-expression."
12543 msgstr ""
12544
12545 #. type: Plain text
12546 #: doc/guix.texi:5073
12547 msgid ""
12548 "G-expressions are meant to be written to disk, either as code building some "
12549 "derivation, or as plain files in the store. The monadic procedures below "
12550 "allow you to do that (@pxref{The Store Monad}, for more information about "
12551 "monads.)"
12552 msgstr ""
12553
12554 #. type: deffn
12555 #: doc/guix.texi:5074
12556 #, no-wrap
12557 msgid "{Monadic Procedure} gexp->derivation @var{name} @var{exp} @"
12558 msgstr ""
12559
12560 #. type: deffn
12561 #: doc/guix.texi:5090
12562 msgid ""
12563 "[#:system (%current-system)] [#:target #f] [#:graft? #t] @ [#:hash #f] [#:"
12564 "hash-algo #f] @ [#:recursive? #f] [#:env-vars '()] [#:modules '()] @ [#:"
12565 "module-path @var{%load-path}] @ [#:references-graphs #f] [#:allowed-"
12566 "references #f] @ [#:disallowed-references #f] @ [#:leaked-env-vars #f] @ [#:"
12567 "script-name (string-append @var{name} \"-builder\")] @ [#:deprecation-"
12568 "warnings #f] @ [#:local-build? #f] [#:substitutable? #t] [#:guile-for-build "
12569 "#f] Return a derivation @var{name} that runs @var{exp} (a gexp) with "
12570 "@var{guile-for-build} (a derivation) on @var{system}; @var{exp} is stored in "
12571 "a file called @var{script-name}. When @var{target} is true, it is used as "
12572 "the cross-compilation target triplet for packages referred to by @var{exp}."
12573 msgstr ""
12574
12575 #. type: deffn
12576 #: doc/guix.texi:5098
12577 msgid ""
12578 "@var{modules} is deprecated in favor of @code{with-imported-modules}. Its "
12579 "meaning is to make @var{modules} available in the evaluation context of "
12580 "@var{exp}; @var{modules} is a list of names of Guile modules searched in "
12581 "@var{module-path} to be copied in the store, compiled, and made available in "
12582 "the load path during the execution of @var{exp}---e.g., @code{((guix build "
12583 "utils) (guix build gnu-build-system))}."
12584 msgstr ""
12585
12586 #. type: deffn
12587 #: doc/guix.texi:5101
12588 msgid ""
12589 "@var{graft?} determines whether packages referred to by @var{exp} should be "
12590 "grafted when applicable."
12591 msgstr ""
12592
12593 #. type: deffn
12594 #: doc/guix.texi:5104
12595 msgid ""
12596 "When @var{references-graphs} is true, it must be a list of tuples of one of "
12597 "the following forms:"
12598 msgstr ""
12599
12600 #. type: example
12601 #: doc/guix.texi:5111
12602 #, no-wrap
12603 msgid ""
12604 "(@var{file-name} @var{package})\n"
12605 "(@var{file-name} @var{package} @var{output})\n"
12606 "(@var{file-name} @var{derivation})\n"
12607 "(@var{file-name} @var{derivation} @var{output})\n"
12608 "(@var{file-name} @var{store-item})\n"
12609 msgstr ""
12610
12611 #. type: deffn
12612 #: doc/guix.texi:5117
12613 msgid ""
12614 "The right-hand-side of each element of @var{references-graphs} is "
12615 "automatically made an input of the build process of @var{exp}. In the build "
12616 "environment, each @var{file-name} contains the reference graph of the "
12617 "corresponding item, in a simple text format."
12618 msgstr ""
12619
12620 #. type: deffn
12621 #: doc/guix.texi:5123
12622 msgid ""
12623 "@var{allowed-references} must be either @code{#f} or a list of output names "
12624 "and packages. In the latter case, the list denotes store items that the "
12625 "result is allowed to refer to. Any reference to another store item will "
12626 "lead to a build error. Similarly for @var{disallowed-references}, which can "
12627 "list items that must not be referenced by the outputs."
12628 msgstr ""
12629
12630 #. type: deffn
12631 #: doc/guix.texi:5126
12632 msgid ""
12633 "@var{deprecation-warnings} determines whether to show deprecation warnings "
12634 "while compiling modules. It can be @code{#f}, @code{#t}, or "
12635 "@code{'detailed}."
12636 msgstr ""
12637
12638 #. type: deffn
12639 #: doc/guix.texi:5128
12640 msgid "The other arguments are as for @code{derivation} (@pxref{Derivations})."
12641 msgstr ""
12642
12643 #. type: cindex
12644 #: doc/guix.texi:5130
12645 #, no-wrap
12646 msgid "file-like objects"
12647 msgstr ""
12648
12649 #. type: Plain text
12650 #: doc/guix.texi:5135
12651 msgid ""
12652 "The @code{local-file}, @code{plain-file}, @code{computed-file}, "
12653 "@code{program-file}, and @code{scheme-file} procedures below return "
12654 "@dfn{file-like objects}. That is, when unquoted in a G-expression, these "
12655 "objects lead to a file in the store. Consider this G-expression:"
12656 msgstr ""
12657
12658 #. type: example
12659 #: doc/guix.texi:5139
12660 #, no-wrap
12661 msgid ""
12662 "#~(system* #$(file-append glibc \"/sbin/nscd\") \"-f\"\n"
12663 " #$(local-file \"/tmp/my-nscd.conf\"))\n"
12664 msgstr ""
12665
12666 #. type: Plain text
12667 #: doc/guix.texi:5148
12668 msgid ""
12669 "The effect here is to ``intern'' @file{/tmp/my-nscd.conf} by copying it to "
12670 "the store. Once expanded, for instance @i{via} @code{gexp->derivation}, the "
12671 "G-expression refers to that copy under @file{/gnu/store}; thus, modifying or "
12672 "removing the file in @file{/tmp} does not have any effect on what the G-"
12673 "expression does. @code{plain-file} can be used similarly; it differs in "
12674 "that the file content is directly passed as a string."
12675 msgstr ""
12676
12677 #. type: deffn
12678 #: doc/guix.texi:5149
12679 #, no-wrap
12680 msgid "{Scheme Procedure} local-file @var{file} [@var{name}] @"
12681 msgstr ""
12682
12683 #. type: deffn
12684 #: doc/guix.texi:5155
12685 msgid ""
12686 "[#:recursive? #f] [#:select? (const #t)] Return an object representing local "
12687 "file @var{file} to add to the store; this object can be used in a gexp. If "
12688 "@var{file} is a relative file name, it is looked up relative to the source "
12689 "file where this form appears. @var{file} will be added to the store under "
12690 "@var{name}--by default the base name of @var{file}."
12691 msgstr ""
12692
12693 #. type: deffn
12694 #: doc/guix.texi:5167
12695 msgid ""
12696 "This is the declarative counterpart of the @code{interned-file} monadic "
12697 "procedure (@pxref{The Store Monad, @code{interned-file}})."
12698 msgstr ""
12699
12700 #. type: deffn
12701 #: doc/guix.texi:5169
12702 #, no-wrap
12703 msgid "{Scheme Procedure} plain-file @var{name} @var{content}"
12704 msgstr ""
12705
12706 #. type: deffn
12707 #: doc/guix.texi:5172
12708 msgid ""
12709 "Return an object representing a text file called @var{name} with the given "
12710 "@var{content} (a string) to be added to the store."
12711 msgstr ""
12712
12713 #. type: deffn
12714 #: doc/guix.texi:5174
12715 msgid "This is the declarative counterpart of @code{text-file}."
12716 msgstr ""
12717
12718 #. type: deffn
12719 #: doc/guix.texi:5176
12720 #, no-wrap
12721 msgid "{Scheme Procedure} computed-file @var{name} @var{gexp} @"
12722 msgstr ""
12723
12724 #. type: deffn
12725 #: doc/guix.texi:5181
12726 msgid ""
12727 "[#:options '(#:local-build? #t)] Return an object representing the store "
12728 "item @var{name}, a file or directory computed by @var{gexp}. @var{options} "
12729 "is a list of additional arguments to pass to @code{gexp->derivation}."
12730 msgstr ""
12731
12732 #. type: deffn
12733 #: doc/guix.texi:5183
12734 msgid "This is the declarative counterpart of @code{gexp->derivation}."
12735 msgstr ""
12736
12737 #. type: deffn
12738 #: doc/guix.texi:5185
12739 #, no-wrap
12740 msgid "{Monadic Procedure} gexp->script @var{name} @var{exp} @"
12741 msgstr ""
12742
12743 #. type: deffn
12744 #: doc/guix.texi:5190
12745 msgid ""
12746 "[#:guile (default-guile)] [#:module-path %load-path] Return an executable "
12747 "script @var{name} that runs @var{exp} using @var{guile}, with @var{exp}'s "
12748 "imported modules in its search path. Look up @var{exp}'s modules in "
12749 "@var{module-path}."
12750 msgstr ""
12751
12752 #. type: deffn
12753 #: doc/guix.texi:5193
12754 msgid ""
12755 "The example below builds a script that simply invokes the @command{ls} "
12756 "command:"
12757 msgstr ""
12758
12759 #. type: example
12760 #: doc/guix.texi:5196
12761 #, no-wrap
12762 msgid ""
12763 "(use-modules (guix gexp) (gnu packages base))\n"
12764 "\n"
12765 msgstr ""
12766
12767 #. type: example
12768 #: doc/guix.texi:5200
12769 #, no-wrap
12770 msgid ""
12771 "(gexp->script \"list-files\"\n"
12772 " #~(execl #$(file-append coreutils \"/bin/ls\")\n"
12773 " \"ls\"))\n"
12774 msgstr ""
12775
12776 #. type: deffn
12777 #: doc/guix.texi:5205
12778 msgid ""
12779 "When ``running'' it through the store (@pxref{The Store Monad, @code{run-"
12780 "with-store}}), we obtain a derivation that produces an executable file "
12781 "@file{/gnu/store/@dots{}-list-files} along these lines:"
12782 msgstr ""
12783
12784 #. type: example
12785 #: doc/guix.texi:5210
12786 #, no-wrap
12787 msgid ""
12788 "#!/gnu/store/@dots{}-guile-2.0.11/bin/guile -ds\n"
12789 "!#\n"
12790 "(execl \"/gnu/store/@dots{}-coreutils-8.22\"/bin/ls\" \"ls\")\n"
12791 msgstr ""
12792
12793 #. type: deffn
12794 #: doc/guix.texi:5213
12795 #, no-wrap
12796 msgid "{Scheme Procedure} program-file @var{name} @var{exp} @"
12797 msgstr ""
12798
12799 #. type: deffn
12800 #: doc/guix.texi:5218
12801 msgid ""
12802 "[#:guile #f] [#:module-path %load-path] Return an object representing the "
12803 "executable store item @var{name} that runs @var{gexp}. @var{guile} is the "
12804 "Guile package used to execute that script. Imported modules of @var{gexp} "
12805 "are looked up in @var{module-path}."
12806 msgstr ""
12807
12808 #. type: deffn
12809 #: doc/guix.texi:5220
12810 msgid "This is the declarative counterpart of @code{gexp->script}."
12811 msgstr ""
12812
12813 #. type: deffn
12814 #: doc/guix.texi:5222
12815 #, no-wrap
12816 msgid "{Monadic Procedure} gexp->file @var{name} @var{exp} @"
12817 msgstr ""
12818
12819 #. type: deffn
12820 #: doc/guix.texi:5229
12821 msgid ""
12822 "[#:set-load-path? #t] [#:module-path %load-path] @ [#:splice? #f] @ [#:guile "
12823 "(default-guile)] Return a derivation that builds a file @var{name} "
12824 "containing @var{exp}. When @var{splice?} is true, @var{exp} is considered "
12825 "to be a list of expressions that will be spliced in the resulting file."
12826 msgstr ""
12827
12828 #. type: deffn
12829 #: doc/guix.texi:5234
12830 msgid ""
12831 "When @var{set-load-path?} is true, emit code in the resulting file to set "
12832 "@code{%load-path} and @code{%load-compiled-path} to honor @var{exp}'s "
12833 "imported modules. Look up @var{exp}'s modules in @var{module-path}."
12834 msgstr ""
12835
12836 #. type: deffn
12837 #: doc/guix.texi:5237
12838 msgid ""
12839 "The resulting file holds references to all the dependencies of @var{exp} or "
12840 "a subset thereof."
12841 msgstr ""
12842
12843 #. type: deffn
12844 #: doc/guix.texi:5239
12845 #, fuzzy, no-wrap
12846 msgid "{Scheme Procedure} scheme-file @var{name} @var{exp} [#:splice? #f]"
12847 msgstr "{Scheme Procedure} derivation @var{store} @var{name} @var{builder} @"
12848
12849 #. type: deffn
12850 #: doc/guix.texi:5242
12851 msgid ""
12852 "Return an object representing the Scheme file @var{name} that contains "
12853 "@var{exp}."
12854 msgstr ""
12855
12856 #. type: deffn
12857 #: doc/guix.texi:5244
12858 msgid "This is the declarative counterpart of @code{gexp->file}."
12859 msgstr ""
12860
12861 #. type: deffn
12862 #: doc/guix.texi:5246
12863 #, no-wrap
12864 msgid "{Monadic Procedure} text-file* @var{name} @var{text} @dots{}"
12865 msgstr ""
12866
12867 #. type: deffn
12868 #: doc/guix.texi:5252
12869 msgid ""
12870 "Return as a monadic value a derivation that builds a text file containing "
12871 "all of @var{text}. @var{text} may list, in addition to strings, objects of "
12872 "any type that can be used in a gexp: packages, derivations, local file "
12873 "objects, etc. The resulting store file holds references to all these."
12874 msgstr ""
12875
12876 #. type: deffn
12877 #: doc/guix.texi:5257
12878 msgid ""
12879 "This variant should be preferred over @code{text-file} anytime the file to "
12880 "create will reference items from the store. This is typically the case when "
12881 "building a configuration file that embeds store file names, like this:"
12882 msgstr ""
12883
12884 #. type: example
12885 #: doc/guix.texi:5265
12886 #, no-wrap
12887 msgid ""
12888 "(define (profile.sh)\n"
12889 " ;; Return the name of a shell script in the store that\n"
12890 " ;; initializes the 'PATH' environment variable.\n"
12891 " (text-file* \"profile.sh\"\n"
12892 " \"export PATH=\" coreutils \"/bin:\"\n"
12893 " grep \"/bin:\" sed \"/bin\\n\"))\n"
12894 msgstr ""
12895
12896 #. type: deffn
12897 #: doc/guix.texi:5270
12898 msgid ""
12899 "In this example, the resulting @file{/gnu/store/@dots{}-profile.sh} file "
12900 "will reference @var{coreutils}, @var{grep}, and @var{sed}, thereby "
12901 "preventing them from being garbage-collected during its lifetime."
12902 msgstr ""
12903
12904 #. type: deffn
12905 #: doc/guix.texi:5272
12906 #, no-wrap
12907 msgid "{Scheme Procedure} mixed-text-file @var{name} @var{text} @dots{}"
12908 msgstr ""
12909
12910 #. type: deffn
12911 #: doc/guix.texi:5276
12912 msgid ""
12913 "Return an object representing store file @var{name} containing @var{text}. "
12914 "@var{text} is a sequence of strings and file-like objects, as in:"
12915 msgstr ""
12916
12917 #. type: example
12918 #: doc/guix.texi:5280
12919 #, no-wrap
12920 msgid ""
12921 "(mixed-text-file \"profile\"\n"
12922 " \"export PATH=\" coreutils \"/bin:\" grep \"/bin\")\n"
12923 msgstr ""
12924
12925 #. type: deffn
12926 #: doc/guix.texi:5283
12927 msgid "This is the declarative counterpart of @code{text-file*}."
12928 msgstr ""
12929
12930 #. type: deffn
12931 #: doc/guix.texi:5285
12932 #, no-wrap
12933 msgid "{Scheme Procedure} file-union @var{name} @var{files}"
12934 msgstr ""
12935
12936 #. type: deffn
12937 #: doc/guix.texi:5290
12938 msgid ""
12939 "Return a @code{<computed-file>} that builds a directory containing all of "
12940 "@var{files}. Each item in @var{files} must be a two-element list where the "
12941 "first element is the file name to use in the new directory, and the second "
12942 "element is a gexp denoting the target file. Here's an example:"
12943 msgstr ""
12944
12945 #. type: example
12946 #: doc/guix.texi:5297
12947 #, no-wrap
12948 msgid ""
12949 "(file-union \"etc\"\n"
12950 " `((\"hosts\" ,(plain-file \"hosts\"\n"
12951 " \"127.0.0.1 localhost\"))\n"
12952 " (\"bashrc\" ,(plain-file \"bashrc\"\n"
12953 " \"alias ls='ls --color'\"))))\n"
12954 msgstr ""
12955
12956 #. type: deffn
12957 #: doc/guix.texi:5300
12958 msgid "This yields an @code{etc} directory containing these two files."
12959 msgstr ""
12960
12961 #. type: deffn
12962 #: doc/guix.texi:5302
12963 #, no-wrap
12964 msgid "{Scheme Procedure} directory-union @var{name} @var{things}"
12965 msgstr ""
12966
12967 #. type: deffn
12968 #: doc/guix.texi:5305
12969 msgid ""
12970 "Return a directory that is the union of @var{things}, where @var{things} is "
12971 "a list of file-like objects denoting directories. For example:"
12972 msgstr ""
12973
12974 #. type: example
12975 #: doc/guix.texi:5308
12976 #, no-wrap
12977 msgid "(directory-union \"guile+emacs\" (list guile emacs))\n"
12978 msgstr ""
12979
12980 #. type: deffn
12981 #: doc/guix.texi:5311
12982 msgid ""
12983 "yields a directory that is the union of the @code{guile} and @code{emacs} "
12984 "packages."
12985 msgstr ""
12986
12987 #. type: deffn
12988 #: doc/guix.texi:5313
12989 #, no-wrap
12990 msgid "{Scheme Procedure} file-append @var{obj} @var{suffix} @dots{}"
12991 msgstr ""
12992
12993 #. type: deffn
12994 #: doc/guix.texi:5317
12995 msgid ""
12996 "Return a file-like object that expands to the concatenation of @var{obj} and "
12997 "@var{suffix}, where @var{obj} is a lowerable object and each @var{suffix} is "
12998 "a string."
12999 msgstr ""
13000
13001 #. type: deffn
13002 #: doc/guix.texi:5319
13003 msgid "As an example, consider this gexp:"
13004 msgstr ""
13005
13006 #. type: example
13007 #: doc/guix.texi:5324
13008 #, no-wrap
13009 msgid ""
13010 "(gexp->script \"run-uname\"\n"
13011 " #~(system* #$(file-append coreutils\n"
13012 " \"/bin/uname\")))\n"
13013 msgstr ""
13014
13015 #. type: deffn
13016 #: doc/guix.texi:5327
13017 msgid "The same effect could be achieved with:"
13018 msgstr ""
13019
13020 #. type: example
13021 #: doc/guix.texi:5332
13022 #, no-wrap
13023 msgid ""
13024 "(gexp->script \"run-uname\"\n"
13025 " #~(system* (string-append #$coreutils\n"
13026 " \"/bin/uname\")))\n"
13027 msgstr ""
13028
13029 #. type: deffn
13030 #: doc/guix.texi:5338
13031 msgid ""
13032 "There is one difference though: in the @code{file-append} case, the "
13033 "resulting script contains the absolute file name as a string, whereas in the "
13034 "second case, the resulting script contains a @code{(string-append @dots{})} "
13035 "expression to construct the file name @emph{at run time}."
13036 msgstr ""
13037
13038 #. type: Plain text
13039 #: doc/guix.texi:5345
13040 msgid ""
13041 "Of course, in addition to gexps embedded in ``host'' code, there are also "
13042 "modules containing build tools. To make it clear that they are meant to be "
13043 "used in the build stratum, these modules are kept in the @code{(guix build "
13044 "@dots{})} name space."
13045 msgstr ""
13046
13047 #. type: Plain text
13048 #: doc/guix.texi:5351
13049 msgid ""
13050 "Internally, high-level objects are @dfn{lowered}, using their compiler, to "
13051 "either derivations or store items. For instance, lowering a package yields "
13052 "a derivation, and lowering a @code{plain-file} yields a store item. This is "
13053 "achieved using the @code{lower-object} monadic procedure."
13054 msgstr ""
13055
13056 #. type: deffn
13057 #: doc/guix.texi:5352
13058 #, no-wrap
13059 msgid "{Monadic Procedure} lower-object @var{obj} [@var{system}] @"
13060 msgstr ""
13061
13062 #. type: deffn
13063 #: doc/guix.texi:5358
13064 msgid ""
13065 "[#:target #f] Return as a value in @var{%store-monad} the derivation or "
13066 "store item corresponding to @var{obj} for @var{system}, cross-compiling for "
13067 "@var{target} if @var{target} is true. @var{obj} must be an object that has "
13068 "an associated gexp compiler, such as a @code{<package>}."
13069 msgstr ""
13070
13071 #. type: Plain text
13072 #: doc/guix.texi:5369
13073 msgid ""
13074 "This section describes Guix command-line utilities. Some of them are "
13075 "primarily targeted at developers and users who write new package "
13076 "definitions, while others are more generally useful. They complement the "
13077 "Scheme programming interface of Guix in a convenient way."
13078 msgstr ""
13079
13080 #. type: cindex
13081 #: doc/guix.texi:5391
13082 #, no-wrap
13083 msgid "package building"
13084 msgstr ""
13085
13086 #. type: command{#1}
13087 #: doc/guix.texi:5392
13088 #, no-wrap
13089 msgid "guix build"
13090 msgstr ""
13091
13092 #. type: Plain text
13093 #: doc/guix.texi:5398
13094 msgid ""
13095 "The @command{guix build} command builds packages or derivations and their "
13096 "dependencies, and prints the resulting store paths. Note that it does not "
13097 "modify the user's profile---this is the job of the @command{guix package} "
13098 "command (@pxref{Invoking guix package}). Thus, it is mainly useful for "
13099 "distribution developers."
13100 msgstr ""
13101
13102 #. type: Plain text
13103 #: doc/guix.texi:5400 doc/guix.texi:6057 doc/guix.texi:6124 doc/guix.texi:6793
13104 #: doc/guix.texi:7123 doc/guix.texi:7453 doc/guix.texi:7758 doc/guix.texi:7824
13105 #: doc/guix.texi:7863
13106 msgid "The general syntax is:"
13107 msgstr ""
13108
13109 #. type: example
13110 #: doc/guix.texi:5403
13111 #, no-wrap
13112 msgid "guix build @var{options} @var{package-or-derivation}@dots{}\n"
13113 msgstr ""
13114
13115 #. type: Plain text
13116 #: doc/guix.texi:5408
13117 msgid ""
13118 "As an example, the following command builds the latest versions of Emacs and "
13119 "of Guile, displays their build logs, and finally displays the resulting "
13120 "directories:"
13121 msgstr ""
13122
13123 #. type: example
13124 #: doc/guix.texi:5411
13125 #, no-wrap
13126 msgid "guix build emacs guile\n"
13127 msgstr ""
13128
13129 #. type: Plain text
13130 #: doc/guix.texi:5414
13131 msgid "Similarly, the following command builds all the available packages:"
13132 msgstr ""
13133
13134 #. type: example
13135 #: doc/guix.texi:5418
13136 #, no-wrap
13137 msgid ""
13138 "guix build --quiet --keep-going \\\n"
13139 " `guix package -A | cut -f1,2 --output-delimiter=@@`\n"
13140 msgstr ""
13141
13142 #. type: Plain text
13143 #: doc/guix.texi:5426
13144 msgid ""
13145 "@var{package-or-derivation} may be either the name of a package found in the "
13146 "software distribution such as @code{coreutils} or @code{coreutils@@8.20}, or "
13147 "a derivation such as @file{/gnu/store/@dots{}-coreutils-8.19.drv}. In the "
13148 "former case, a package with the corresponding name (and optionally version) "
13149 "is searched for among the GNU distribution modules (@pxref{Package Modules})."
13150 msgstr ""
13151
13152 #. type: Plain text
13153 #: doc/guix.texi:5431
13154 msgid ""
13155 "Alternatively, the @code{--expression} option may be used to specify a "
13156 "Scheme expression that evaluates to a package; this is useful when "
13157 "disambiguating among several same-named packages or package variants is "
13158 "needed."
13159 msgstr ""
13160
13161 #. type: Plain text
13162 #: doc/guix.texi:5434
13163 msgid ""
13164 "There may be zero or more @var{options}. The available options are "
13165 "described in the subsections below."
13166 msgstr ""
13167
13168 #. type: Plain text
13169 #: doc/guix.texi:5449
13170 msgid ""
13171 "A number of options that control the build process are common to "
13172 "@command{guix build} and other commands that can spawn builds, such as "
13173 "@command{guix package} or @command{guix archive}. These are the following:"
13174 msgstr ""
13175
13176 #. type: item
13177 #: doc/guix.texi:5452
13178 #, no-wrap
13179 msgid "--load-path=@var{directory}"
13180 msgstr ""
13181
13182 #. type: itemx
13183 #: doc/guix.texi:5453
13184 #, no-wrap
13185 msgid "-L @var{directory}"
13186 msgstr ""
13187
13188 #. type: table
13189 #: doc/guix.texi:5456
13190 msgid ""
13191 "Add @var{directory} to the front of the package module search path "
13192 "(@pxref{Package Modules})."
13193 msgstr ""
13194
13195 #. type: table
13196 #: doc/guix.texi:5459
13197 msgid ""
13198 "This allows users to define their own packages and make them visible to the "
13199 "command-line tools."
13200 msgstr ""
13201
13202 #. type: item
13203 #: doc/guix.texi:5460
13204 #, no-wrap
13205 msgid "--keep-failed"
13206 msgstr ""
13207
13208 #. type: itemx
13209 #: doc/guix.texi:5461
13210 #, no-wrap
13211 msgid "-K"
13212 msgstr ""
13213
13214 #. type: table
13215 #: doc/guix.texi:5467
13216 msgid ""
13217 "Keep the build tree of failed builds. Thus, if a build fails, its build "
13218 "tree is kept under @file{/tmp}, in a directory whose name is shown at the "
13219 "end of the build log. This is useful when debugging build issues. "
13220 "@xref{Debugging Build Failures}, for tips and tricks on how to debug build "
13221 "issues."
13222 msgstr ""
13223
13224 #. type: item
13225 #: doc/guix.texi:5468
13226 #, no-wrap
13227 msgid "--keep-going"
13228 msgstr ""
13229
13230 #. type: itemx
13231 #: doc/guix.texi:5469
13232 #, no-wrap
13233 msgid "-k"
13234 msgstr ""
13235
13236 #. type: table
13237 #: doc/guix.texi:5472
13238 msgid ""
13239 "Keep going when some of the derivations fail to build; return only once all "
13240 "the builds have either completed or failed."
13241 msgstr ""
13242
13243 #. type: table
13244 #: doc/guix.texi:5475
13245 msgid ""
13246 "The default behavior is to stop as soon as one of the specified derivations "
13247 "has failed."
13248 msgstr ""
13249
13250 #. type: item
13251 #: doc/guix.texi:5476
13252 #, no-wrap
13253 msgid "--dry-run"
13254 msgstr ""
13255
13256 #. type: itemx
13257 #: doc/guix.texi:5477
13258 #, no-wrap
13259 msgid "-n"
13260 msgstr ""
13261
13262 #. type: table
13263 #: doc/guix.texi:5479
13264 msgid "Do not build the derivations."
13265 msgstr ""
13266
13267 #. type: anchor{#1}
13268 #: doc/guix.texi:5481
13269 msgid "fallback-option"
13270 msgstr ""
13271
13272 #. type: item
13273 #: doc/guix.texi:5481
13274 #, no-wrap
13275 msgid "--fallback"
13276 msgstr ""
13277
13278 #. type: table
13279 #: doc/guix.texi:5484
13280 msgid ""
13281 "When substituting a pre-built binary fails, fall back to building packages "
13282 "locally (@pxref{Substitution Failure})."
13283 msgstr ""
13284
13285 #. type: anchor{#1}
13286 #: doc/guix.texi:5490
13287 msgid "client-substitute-urls"
13288 msgstr ""
13289
13290 #. type: table
13291 #: doc/guix.texi:5490
13292 msgid ""
13293 "Consider @var{urls} the whitespace-separated list of substitute source URLs, "
13294 "overriding the default list of URLs of @command{guix-daemon} (@pxref{daemon-"
13295 "substitute-urls,, @command{guix-daemon} URLs})."
13296 msgstr ""
13297
13298 #. type: table
13299 #: doc/guix.texi:5494
13300 msgid ""
13301 "This means that substitutes may be downloaded from @var{urls}, provided they "
13302 "are signed by a key authorized by the system administrator "
13303 "(@pxref{Substitutes})."
13304 msgstr ""
13305 "Cela signifie que les substituts peuvent être téléchargés depuis @var{urls}, "
13306 "tant qu'ils sont signés par une clef autorisée par l'administrateur système "
13307 "(@pxref{Substituts})."
13308
13309 #. type: table
13310 #: doc/guix.texi:5497
13311 msgid ""
13312 "When @var{urls} is the empty string, substitutes are effectively disabled."
13313 msgstr ""
13314
13315 #. type: item
13316 #: doc/guix.texi:5503
13317 #, no-wrap
13318 msgid "--no-grafts"
13319 msgstr ""
13320
13321 #. type: table
13322 #: doc/guix.texi:5507
13323 msgid ""
13324 "Do not ``graft'' packages. In practice, this means that package updates "
13325 "available as grafts are not applied. @xref{Security Updates}, for more "
13326 "information on grafts."
13327 msgstr ""
13328
13329 #. type: item
13330 #: doc/guix.texi:5508
13331 #, no-wrap
13332 msgid "--rounds=@var{n}"
13333 msgstr ""
13334
13335 #. type: table
13336 #: doc/guix.texi:5511
13337 msgid ""
13338 "Build each derivation @var{n} times in a row, and raise an error if "
13339 "consecutive build results are not bit-for-bit identical."
13340 msgstr ""
13341
13342 #. type: table
13343 #: doc/guix.texi:5516
13344 msgid ""
13345 "This is a useful way to detect non-deterministic builds processes. Non-"
13346 "deterministic build processes are a problem because they make it practically "
13347 "impossible for users to @emph{verify} whether third-party binaries are "
13348 "genuine. @xref{Invoking guix challenge}, for more."
13349 msgstr ""
13350
13351 #. type: table
13352 #: doc/guix.texi:5522
13353 msgid ""
13354 "Note that, currently, the differing build results are not kept around, so "
13355 "you will have to manually investigate in case of an error---e.g., by "
13356 "stashing one of the build results with @code{guix archive --export} "
13357 "(@pxref{Invoking guix archive}), then rebuilding, and finally comparing the "
13358 "two results."
13359 msgstr ""
13360
13361 #. type: table
13362 #: doc/guix.texi:5527
13363 msgid ""
13364 "Do not attempt to offload builds @i{via} the ``build hook'' of the daemon "
13365 "(@pxref{Daemon Offload Setup}). That is, always build things locally "
13366 "instead of offloading builds to remote machines."
13367 msgstr ""
13368
13369 #. type: table
13370 #: doc/guix.texi:5534
13371 msgid ""
13372 "By default, the daemon's setting is honored (@pxref{Invoking guix-daemon, "
13373 "@code{--max-silent-time}})."
13374 msgstr ""
13375
13376 #. type: table
13377 #: doc/guix.texi:5541
13378 msgid ""
13379 "By default, the daemon's setting is honored (@pxref{Invoking guix-daemon, "
13380 "@code{--timeout}})."
13381 msgstr ""
13382
13383 #. type: item
13384 #: doc/guix.texi:5542
13385 #, no-wrap
13386 msgid "--verbosity=@var{level}"
13387 msgstr ""
13388
13389 #. type: table
13390 #: doc/guix.texi:5546
13391 msgid ""
13392 "Use the given verbosity level. @var{level} must be an integer between 0 and "
13393 "5; higher means more verbose output. Setting a level of 4 or more may be "
13394 "helpful when debugging setup issues with the build daemon."
13395 msgstr ""
13396
13397 #. type: table
13398 #: doc/guix.texi:5551
13399 msgid ""
13400 "Allow the use of up to @var{n} CPU cores for the build. The special value "
13401 "@code{0} means to use as many CPU cores as available."
13402 msgstr ""
13403
13404 #. type: table
13405 #: doc/guix.texi:5557
13406 msgid ""
13407 "Allow at most @var{n} build jobs in parallel. @xref{Invoking guix-daemon, "
13408 "@code{--max-jobs}}, for details about this option and the equivalent "
13409 "@command{guix-daemon} option."
13410 msgstr ""
13411
13412 #. type: Plain text
13413 #: doc/guix.texi:5564
13414 msgid ""
13415 "Behind the scenes, @command{guix build} is essentially an interface to the "
13416 "@code{package-derivation} procedure of the @code{(guix packages)} module, "
13417 "and to the @code{build-derivations} procedure of the @code{(guix "
13418 "derivations)} module."
13419 msgstr ""
13420
13421 #. type: Plain text
13422 #: doc/guix.texi:5568
13423 msgid ""
13424 "In addition to options explicitly passed on the command line, @command{guix "
13425 "build} and other @command{guix} commands that support building honor the "
13426 "@code{GUIX_BUILD_OPTIONS} environment variable."
13427 msgstr ""
13428
13429 #. type: defvr
13430 #: doc/guix.texi:5569
13431 #, no-wrap
13432 msgid "{Environment Variable} GUIX_BUILD_OPTIONS"
13433 msgstr ""
13434
13435 #. type: defvr
13436 #: doc/guix.texi:5574
13437 msgid ""
13438 "Users can define this variable to a list of command line options that will "
13439 "automatically be used by @command{guix build} and other @command{guix} "
13440 "commands that can perform builds, as in the example below:"
13441 msgstr ""
13442
13443 #. type: example
13444 #: doc/guix.texi:5577
13445 #, no-wrap
13446 msgid "$ export GUIX_BUILD_OPTIONS=\"--no-substitutes -c 2 -L /foo/bar\"\n"
13447 msgstr ""
13448
13449 #. type: defvr
13450 #: doc/guix.texi:5581
13451 msgid ""
13452 "These options are parsed independently, and the result is appended to the "
13453 "parsed command-line options."
13454 msgstr ""
13455
13456 #. type: cindex
13457 #: doc/guix.texi:5587
13458 #, no-wrap
13459 msgid "package variants"
13460 msgstr ""
13461
13462 #. type: Plain text
13463 #: doc/guix.texi:5595
13464 msgid ""
13465 "Another set of command-line options supported by @command{guix build} and "
13466 "also @command{guix package} are @dfn{package transformation options}. These "
13467 "are options that make it possible to define @dfn{package variants}---for "
13468 "instance, packages built from different source code. This is a convenient "
13469 "way to create customized packages on the fly without having to type in the "
13470 "definitions of package variants (@pxref{Defining Packages})."
13471 msgstr ""
13472
13473 #. type: item
13474 #: doc/guix.texi:5598
13475 #, no-wrap
13476 msgid "--with-source=@var{source}"
13477 msgstr ""
13478
13479 #. type: itemx
13480 #: doc/guix.texi:5599
13481 #, no-wrap
13482 msgid "--with-source=@var{package}=@var{source}"
13483 msgstr ""
13484
13485 #. type: itemx
13486 #: doc/guix.texi:5600
13487 #, no-wrap
13488 msgid "--with-source=@var{package}@@@var{version}=@var{source}"
13489 msgstr ""
13490
13491 #. type: table
13492 #: doc/guix.texi:5605
13493 msgid ""
13494 "Use @var{source} as the source of @var{package}, and @var{version} as its "
13495 "version number. @var{source} must be a file name or a URL, as for "
13496 "@command{guix download} (@pxref{Invoking guix download})."
13497 msgstr ""
13498
13499 #. type: table
13500 #: doc/guix.texi:5611
13501 msgid ""
13502 "When @var{package} is omitted, it is taken to be the package name specified "
13503 "on the command line that matches the base of @var{source}---e.g., if "
13504 "@var{source} is @code{/src/guile-2.0.10.tar.gz}, the corresponding package "
13505 "is @code{guile}."
13506 msgstr ""
13507
13508 #. type: table
13509 #: doc/guix.texi:5614
13510 msgid ""
13511 "Likewise, when @var{version} is omitted, the version string is inferred from "
13512 "@var{source}; in the previous example, it is @code{2.0.10}."
13513 msgstr ""
13514
13515 #. type: table
13516 #: doc/guix.texi:5619
13517 msgid ""
13518 "This option allows users to try out versions of packages other than the one "
13519 "provided by the distribution. The example below downloads @file{ed-1.7.tar."
13520 "gz} from a GNU mirror and uses that as the source for the @code{ed} package:"
13521 msgstr ""
13522
13523 #. type: example
13524 #: doc/guix.texi:5622
13525 #, no-wrap
13526 msgid "guix build ed --with-source=mirror://gnu/ed/ed-1.7.tar.gz\n"
13527 msgstr ""
13528
13529 #. type: table
13530 #: doc/guix.texi:5626
13531 msgid ""
13532 "As a developer, @code{--with-source} makes it easy to test release "
13533 "candidates:"
13534 msgstr ""
13535
13536 #. type: example
13537 #: doc/guix.texi:5629
13538 #, no-wrap
13539 msgid "guix build guile --with-source=../guile-2.0.9.219-e1bb7.tar.xz\n"
13540 msgstr ""
13541
13542 #. type: table
13543 #: doc/guix.texi:5632
13544 msgid "@dots{} or to build from a checkout in a pristine environment:"
13545 msgstr ""
13546
13547 #. type: example
13548 #: doc/guix.texi:5636
13549 #, no-wrap
13550 msgid ""
13551 "$ git clone git://git.sv.gnu.org/guix.git\n"
13552 "$ guix build guix --with-source=guix@@1.0=./guix\n"
13553 msgstr ""
13554
13555 #. type: item
13556 #: doc/guix.texi:5638
13557 #, no-wrap
13558 msgid "--with-input=@var{package}=@var{replacement}"
13559 msgstr ""
13560
13561 #. type: table
13562 #: doc/guix.texi:5643
13563 msgid ""
13564 "Replace dependency on @var{package} by a dependency on @var{replacement}. "
13565 "@var{package} must be a package name, and @var{replacement} must be a "
13566 "package specification such as @code{guile} or @code{guile@@1.8}."
13567 msgstr ""
13568
13569 #. type: table
13570 #: doc/guix.texi:5647
13571 msgid ""
13572 "For instance, the following command builds Guix, but replaces its dependency "
13573 "on the current stable version of Guile with a dependency on the legacy "
13574 "version of Guile, @code{guile@@2.0}:"
13575 msgstr ""
13576
13577 #. type: example
13578 #: doc/guix.texi:5650
13579 #, no-wrap
13580 msgid "guix build --with-input=guile=guile@@2.0 guix\n"
13581 msgstr ""
13582
13583 #. type: table
13584 #: doc/guix.texi:5655
13585 msgid ""
13586 "This is a recursive, deep replacement. So in this example, both @code{guix} "
13587 "and its dependency @code{guile-json} (which also depends on @code{guile}) "
13588 "get rebuilt against @code{guile@@2.0}."
13589 msgstr ""
13590
13591 #. type: table
13592 #: doc/guix.texi:5658
13593 msgid ""
13594 "This is implemented using the @code{package-input-rewriting} Scheme "
13595 "procedure (@pxref{Defining Packages, @code{package-input-rewriting}})."
13596 msgstr ""
13597
13598 #. type: item
13599 #: doc/guix.texi:5659
13600 #, no-wrap
13601 msgid "--with-graft=@var{package}=@var{replacement}"
13602 msgstr ""
13603
13604 #. type: table
13605 #: doc/guix.texi:5665
13606 msgid ""
13607 "This is similar to @code{--with-input} but with an important difference: "
13608 "instead of rebuilding the whole dependency chain, @var{replacement} is built "
13609 "and then @dfn{grafted} onto the binaries that were initially referring to "
13610 "@var{package}. @xref{Security Updates}, for more information on grafts."
13611 msgstr ""
13612
13613 #. type: table
13614 #: doc/guix.texi:5669
13615 msgid ""
13616 "For example, the command below grafts version 3.5.4 of GnuTLS onto Wget and "
13617 "all its dependencies, replacing references to the version of GnuTLS they "
13618 "currently refer to:"
13619 msgstr ""
13620
13621 #. type: example
13622 #: doc/guix.texi:5672
13623 #, no-wrap
13624 msgid "guix build --with-graft=gnutls=gnutls@@3.5.4 wget\n"
13625 msgstr ""
13626
13627 #. type: table
13628 #: doc/guix.texi:5681
13629 msgid ""
13630 "This has the advantage of being much faster than rebuilding everything. But "
13631 "there is a caveat: it works if and only if @var{package} and "
13632 "@var{replacement} are strictly compatible---for example, if they provide a "
13633 "library, the application binary interface (ABI) of those libraries must be "
13634 "compatible. If @var{replacement} is somehow incompatible with "
13635 "@var{package}, then the resulting package may be unusable. Use with care!"
13636 msgstr ""
13637
13638 #. type: Plain text
13639 #: doc/guix.texi:5689
13640 msgid ""
13641 "The command-line options presented below are specific to @command{guix "
13642 "build}."
13643 msgstr ""
13644
13645 #. type: item
13646 #: doc/guix.texi:5692
13647 #, no-wrap
13648 msgid "--quiet"
13649 msgstr ""
13650
13651 #. type: itemx
13652 #: doc/guix.texi:5693
13653 #, no-wrap
13654 msgid "-q"
13655 msgstr ""
13656
13657 #. type: table
13658 #: doc/guix.texi:5697
13659 msgid ""
13660 "Build quietly, without displaying the build log. Upon completion, the build "
13661 "log is kept in @file{/var} (or similar) and can always be retrieved using "
13662 "the @option{--log-file} option."
13663 msgstr ""
13664
13665 #. type: item
13666 #: doc/guix.texi:5698
13667 #, no-wrap
13668 msgid "--file=@var{file}"
13669 msgstr ""
13670
13671 #. type: table
13672 #: doc/guix.texi:5703
13673 msgid ""
13674 "Build the package or derivation that the code within @var{file} evaluates to."
13675 msgstr ""
13676
13677 #. type: table
13678 #: doc/guix.texi:5706
13679 msgid ""
13680 "As an example, @var{file} might contain a package definition like this "
13681 "(@pxref{Defining Packages}):"
13682 msgstr ""
13683
13684 #. type: table
13685 #: doc/guix.texi:5714
13686 msgid "Build the package or derivation @var{expr} evaluates to."
13687 msgstr ""
13688
13689 #. type: table
13690 #: doc/guix.texi:5718
13691 msgid ""
13692 "For example, @var{expr} may be @code{(@@ (gnu packages guile) guile-1.8)}, "
13693 "which unambiguously designates this specific variant of version 1.8 of Guile."
13694 msgstr ""
13695
13696 #. type: table
13697 #: doc/guix.texi:5722
13698 msgid ""
13699 "Alternatively, @var{expr} may be a G-expression, in which case it is used as "
13700 "a build program passed to @code{gexp->derivation} (@pxref{G-Expressions})."
13701 msgstr ""
13702
13703 #. type: table
13704 #: doc/guix.texi:5726
13705 msgid ""
13706 "Lastly, @var{expr} may refer to a zero-argument monadic procedure "
13707 "(@pxref{The Store Monad}). The procedure must return a derivation as a "
13708 "monadic value, which is then passed through @code{run-with-store}."
13709 msgstr ""
13710
13711 #. type: item
13712 #: doc/guix.texi:5727
13713 #, no-wrap
13714 msgid "--source"
13715 msgstr ""
13716
13717 #. type: itemx
13718 #: doc/guix.texi:5728
13719 #, no-wrap
13720 msgid "-S"
13721 msgstr ""
13722
13723 #. type: table
13724 #: doc/guix.texi:5731
13725 msgid ""
13726 "Build the source derivations of the packages, rather than the packages "
13727 "themselves."
13728 msgstr ""
13729
13730 #. type: table
13731 #: doc/guix.texi:5735
13732 msgid ""
13733 "For instance, @code{guix build -S gcc} returns something like @file{/gnu/"
13734 "store/@dots{}-gcc-4.7.2.tar.bz2}, which is the GCC source tarball."
13735 msgstr ""
13736
13737 #. type: table
13738 #: doc/guix.texi:5739
13739 msgid ""
13740 "The returned source tarball is the result of applying any patches and code "
13741 "snippets specified in the package @code{origin} (@pxref{Defining Packages})."
13742 msgstr ""
13743
13744 #. type: item
13745 #: doc/guix.texi:5740
13746 #, no-wrap
13747 msgid "--sources"
13748 msgstr ""
13749
13750 #. type: table
13751 #: doc/guix.texi:5747
13752 msgid ""
13753 "Fetch and return the source of @var{package-or-derivation} and all their "
13754 "dependencies, recursively. This is a handy way to obtain a local copy of "
13755 "all the source code needed to build @var{packages}, allowing you to "
13756 "eventually build them even without network access. It is an extension of "
13757 "the @code{--source} option and can accept one of the following optional "
13758 "argument values:"
13759 msgstr ""
13760
13761 #. type: item
13762 #: doc/guix.texi:5749 doc/guix.texi:6974
13763 #, no-wrap
13764 msgid "package"
13765 msgstr ""
13766
13767 #. type: table
13768 #: doc/guix.texi:5752
13769 msgid ""
13770 "This value causes the @code{--sources} option to behave in the same way as "
13771 "the @code{--source} option."
13772 msgstr ""
13773
13774 #. type: item
13775 #: doc/guix.texi:5753 doc/guix.texi:11798
13776 #, no-wrap
13777 msgid "all"
13778 msgstr ""
13779
13780 #. type: table
13781 #: doc/guix.texi:5756
13782 msgid ""
13783 "Build the source derivations of all packages, including any source that "
13784 "might be listed as @code{inputs}. This is the default value."
13785 msgstr ""
13786
13787 #. type: example
13788 #: doc/guix.texi:5762
13789 #, no-wrap
13790 msgid ""
13791 "$ guix build --sources tzdata\n"
13792 "The following derivations will be built:\n"
13793 " /gnu/store/@dots{}-tzdata2015b.tar.gz.drv\n"
13794 " /gnu/store/@dots{}-tzcode2015b.tar.gz.drv\n"
13795 msgstr ""
13796
13797 #. type: item
13798 #: doc/guix.texi:5764
13799 #, no-wrap
13800 msgid "transitive"
13801 msgstr ""
13802
13803 #. type: table
13804 #: doc/guix.texi:5768
13805 msgid ""
13806 "Build the source derivations of all packages, as well of all transitive "
13807 "inputs to the packages. This can be used e.g. to prefetch package source "
13808 "for later offline building."
13809 msgstr ""
13810
13811 #. type: example
13812 #: doc/guix.texi:5779
13813 #, no-wrap
13814 msgid ""
13815 "$ guix build --sources=transitive tzdata\n"
13816 "The following derivations will be built:\n"
13817 " /gnu/store/@dots{}-tzcode2015b.tar.gz.drv\n"
13818 " /gnu/store/@dots{}-findutils-4.4.2.tar.xz.drv\n"
13819 " /gnu/store/@dots{}-grep-2.21.tar.xz.drv\n"
13820 " /gnu/store/@dots{}-coreutils-8.23.tar.xz.drv\n"
13821 " /gnu/store/@dots{}-make-4.1.tar.xz.drv\n"
13822 " /gnu/store/@dots{}-bash-4.3.tar.xz.drv\n"
13823 "@dots{}\n"
13824 msgstr ""
13825
13826 #. type: quotation
13827 #: doc/guix.texi:5792
13828 msgid ""
13829 "The @code{--system} flag is for @emph{native} compilation and must not be "
13830 "confused with cross-compilation. See @code{--target} below for information "
13831 "on cross-compilation."
13832 msgstr ""
13833
13834 #. type: table
13835 #: doc/guix.texi:5798
13836 msgid ""
13837 "An example use of this is on Linux-based systems, which can emulate "
13838 "different personalities. For instance, passing @code{--system=i686-linux} "
13839 "on an @code{x86_64-linux} system allows you to build packages in a complete "
13840 "32-bit environment."
13841 msgstr ""
13842
13843 #. type: table
13844 #: doc/guix.texi:5803
13845 msgid ""
13846 "Similarly, when transparent emulation with QEMU and @code{binfmt_misc} is "
13847 "enabled (@pxref{Virtualization Services, @code{qemu-binfmt-service-type}}), "
13848 "you can build for any system for which a QEMU @code{binfmt_misc} handler is "
13849 "installed."
13850 msgstr ""
13851
13852 #. type: table
13853 #: doc/guix.texi:5807
13854 msgid ""
13855 "Builds for a system other than that of the machine you are using can also be "
13856 "offloaded to a remote machine of the right architecture. @xref{Daemon "
13857 "Offload Setup}, for more information on offloading."
13858 msgstr ""
13859
13860 #. type: anchor{#1}
13861 #: doc/guix.texi:5815
13862 msgid "build-check"
13863 msgstr ""
13864
13865 #. type: item
13866 #: doc/guix.texi:5815
13867 #, no-wrap
13868 msgid "--check"
13869 msgstr "--check"
13870
13871 #. type: cindex
13872 #: doc/guix.texi:5816
13873 #, no-wrap
13874 msgid "determinism, checking"
13875 msgstr "déterminisme, vérification"
13876
13877 #. type: cindex
13878 #: doc/guix.texi:5817
13879 #, no-wrap
13880 msgid "reproducibility, checking"
13881 msgstr "reproductibilité, vérification"
13882
13883 #. type: table
13884 #: doc/guix.texi:5821
13885 msgid ""
13886 "Rebuild @var{package-or-derivation}, which are already available in the "
13887 "store, and raise an error if the build results are not bit-for-bit identical."
13888 msgstr ""
13889
13890 #. type: table
13891 #: doc/guix.texi:5826
13892 msgid ""
13893 "This mechanism allows you to check whether previously installed substitutes "
13894 "are genuine (@pxref{Substitutes}), or whether the build result of a package "
13895 "is deterministic. @xref{Invoking guix challenge}, for more background "
13896 "information and tools."
13897 msgstr ""
13898 "Ce mécanisme vous permet de vérifier si les substituts précédemment "
13899 "installés sont authentiques (@pxref{Substituts}) ou si le résultat de la "
13900 "construction d'un paquet est déterministe. @xref{Invoking guix challenge} "
13901 "pour plus d'informations et pour les outils."
13902
13903 #. type: item
13904 #: doc/guix.texi:5831
13905 #, no-wrap
13906 msgid "--repair"
13907 msgstr "--repair"
13908
13909 #. type: cindex
13910 #: doc/guix.texi:5832
13911 #, no-wrap
13912 msgid "repairing store items"
13913 msgstr ""
13914
13915 #. type: table
13916 #: doc/guix.texi:5836
13917 msgid ""
13918 "Attempt to repair the specified store items, if they are corrupt, by re-"
13919 "downloading or rebuilding them."
13920 msgstr ""
13921
13922 #. type: table
13923 #: doc/guix.texi:5838
13924 msgid "This operation is not atomic and thus restricted to @code{root}."
13925 msgstr ""
13926
13927 #. type: item
13928 #: doc/guix.texi:5839
13929 #, no-wrap
13930 msgid "--derivations"
13931 msgstr ""
13932
13933 #. type: table
13934 #: doc/guix.texi:5843
13935 msgid ""
13936 "Return the derivation paths, not the output paths, of the given packages."
13937 msgstr ""
13938
13939 #. type: item
13940 #: doc/guix.texi:5844 doc/guix.texi:7231 doc/guix.texi:20625
13941 #, no-wrap
13942 msgid "--root=@var{file}"
13943 msgstr ""
13944
13945 #. type: itemx
13946 #: doc/guix.texi:5845 doc/guix.texi:7232 doc/guix.texi:20626
13947 #, no-wrap
13948 msgid "-r @var{file}"
13949 msgstr ""
13950
13951 #. type: cindex
13952 #: doc/guix.texi:5846
13953 #, no-wrap
13954 msgid "GC roots, adding"
13955 msgstr ""
13956
13957 #. type: cindex
13958 #: doc/guix.texi:5847
13959 #, no-wrap
13960 msgid "garbage collector roots, adding"
13961 msgstr ""
13962
13963 #. type: table
13964 #: doc/guix.texi:5850 doc/guix.texi:20629
13965 msgid ""
13966 "Make @var{file} a symlink to the result, and register it as a garbage "
13967 "collector root."
13968 msgstr ""
13969
13970 #. type: table
13971 #: doc/guix.texi:5856
13972 msgid ""
13973 "Consequently, the results of this @command{guix build} invocation are "
13974 "protected from garbage collection until @var{file} is removed. When that "
13975 "option is omitted, build results are eligible for garbage collection as soon "
13976 "as the build completes. @xref{Invoking guix gc}, for more on GC roots."
13977 msgstr ""
13978
13979 #. type: item
13980 #: doc/guix.texi:5857
13981 #, no-wrap
13982 msgid "--log-file"
13983 msgstr ""
13984
13985 #. type: cindex
13986 #: doc/guix.texi:5858
13987 #, no-wrap
13988 msgid "build logs, access"
13989 msgstr ""
13990
13991 #. type: table
13992 #: doc/guix.texi:5862
13993 msgid ""
13994 "Return the build log file names or URLs for the given @var{package-or-"
13995 "derivation}, or raise an error if build logs are missing."
13996 msgstr ""
13997
13998 #. type: table
13999 #: doc/guix.texi:5865
14000 msgid ""
14001 "This works regardless of how packages or derivations are specified. For "
14002 "instance, the following invocations are equivalent:"
14003 msgstr ""
14004
14005 #. type: example
14006 #: doc/guix.texi:5871
14007 #, no-wrap
14008 msgid ""
14009 "guix build --log-file `guix build -d guile`\n"
14010 "guix build --log-file `guix build guile`\n"
14011 "guix build --log-file guile\n"
14012 "guix build --log-file -e '(@@ (gnu packages guile) guile-2.0)'\n"
14013 msgstr ""
14014
14015 #. type: table
14016 #: doc/guix.texi:5876
14017 msgid ""
14018 "If a log is unavailable locally, and unless @code{--no-substitutes} is "
14019 "passed, the command looks for a corresponding log on one of the substitute "
14020 "servers (as specified with @code{--substitute-urls}.)"
14021 msgstr ""
14022
14023 #. type: table
14024 #: doc/guix.texi:5879
14025 msgid ""
14026 "So for instance, imagine you want to see the build log of GDB on MIPS, but "
14027 "you are actually on an @code{x86_64} machine:"
14028 msgstr ""
14029
14030 #. type: example
14031 #: doc/guix.texi:5883
14032 #, no-wrap
14033 msgid ""
14034 "$ guix build --log-file gdb -s mips64el-linux\n"
14035 "https://hydra.gnu.org/log/@dots{}-gdb-7.10\n"
14036 msgstr ""
14037
14038 #. type: table
14039 #: doc/guix.texi:5886
14040 msgid "You can freely access a huge library of build logs!"
14041 msgstr ""
14042
14043 #. type: cindex
14044 #: doc/guix.texi:5891
14045 #, no-wrap
14046 msgid "build failures, debugging"
14047 msgstr ""
14048
14049 #. type: Plain text
14050 #: doc/guix.texi:5897
14051 msgid ""
14052 "When defining a new package (@pxref{Defining Packages}), you will probably "
14053 "find yourself spending some time debugging and tweaking the build until it "
14054 "succeeds. To do that, you need to operate the build commands yourself in an "
14055 "environment as close as possible to the one the build daemon uses."
14056 msgstr ""
14057
14058 #. type: Plain text
14059 #: doc/guix.texi:5902
14060 msgid ""
14061 "To that end, the first thing to do is to use the @option{--keep-failed} or "
14062 "@option{-K} option of @command{guix build}, which will keep the failed build "
14063 "tree in @file{/tmp} or whatever directory you specified as @code{TMPDIR} "
14064 "(@pxref{Invoking guix build, @code{--keep-failed}})."
14065 msgstr ""
14066
14067 #. type: Plain text
14068 #: doc/guix.texi:5908
14069 msgid ""
14070 "From there on, you can @command{cd} to the failed build tree and source the "
14071 "@file{environment-variables} file, which contains all the environment "
14072 "variable definitions that were in place when the build failed. So let's say "
14073 "you're debugging a build failure in package @code{foo}; a typical session "
14074 "would look like this:"
14075 msgstr ""
14076
14077 #. type: example
14078 #: doc/guix.texi:5915
14079 #, no-wrap
14080 msgid ""
14081 "$ guix build foo -K\n"
14082 "@dots{} @i{build fails}\n"
14083 "$ cd /tmp/guix-build-foo.drv-0\n"
14084 "$ source ./environment-variables\n"
14085 "$ cd foo-1.2\n"
14086 msgstr ""
14087
14088 #. type: Plain text
14089 #: doc/guix.texi:5919
14090 msgid ""
14091 "Now, you can invoke commands as if you were the daemon (almost) and "
14092 "troubleshoot your build process."
14093 msgstr ""
14094
14095 #. type: Plain text
14096 #: doc/guix.texi:5925
14097 msgid ""
14098 "Sometimes it happens that, for example, a package's tests pass when you run "
14099 "them manually but they fail when the daemon runs them. This can happen "
14100 "because the daemon runs builds in containers where, unlike in our "
14101 "environment above, network access is missing, @file{/bin/sh} does not exist, "
14102 "etc. (@pxref{Build Environment Setup})."
14103 msgstr ""
14104
14105 #. type: Plain text
14106 #: doc/guix.texi:5928
14107 msgid ""
14108 "In such cases, you may need to run inspect the build process from within a "
14109 "container similar to the one the build daemon creates:"
14110 msgstr ""
14111
14112 #. type: example
14113 #: doc/guix.texi:5936
14114 #, no-wrap
14115 msgid ""
14116 "$ guix build -K foo\n"
14117 "@dots{}\n"
14118 "$ cd /tmp/guix-build-foo.drv-0\n"
14119 "$ guix environment --no-grafts -C foo --ad-hoc strace gdb\n"
14120 "[env]# source ./environment-variables\n"
14121 "[env]# cd foo-1.2\n"
14122 msgstr ""
14123
14124 #. type: Plain text
14125 #: doc/guix.texi:5945
14126 msgid ""
14127 "Here, @command{guix environment -C} creates a container and spawns a new "
14128 "shell in it (@pxref{Invoking guix environment}). The @command{--ad-hoc "
14129 "strace gdb} part adds the @command{strace} and @command{gdb} commands to the "
14130 "container, which would may find handy while debugging. The @option{--no-"
14131 "grafts} option makes sure we get the exact same environment, with ungrafted "
14132 "packages (@pxref{Security Updates}, for more info on grafts)."
14133 msgstr ""
14134
14135 #. type: Plain text
14136 #: doc/guix.texi:5948
14137 msgid ""
14138 "To get closer to a container like that used by the build daemon, we can "
14139 "remove @file{/bin/sh}:"
14140 msgstr ""
14141
14142 #. type: example
14143 #: doc/guix.texi:5951
14144 #, no-wrap
14145 msgid "[env]# rm /bin/sh\n"
14146 msgstr ""
14147
14148 #. type: Plain text
14149 #: doc/guix.texi:5955
14150 msgid ""
14151 "(Don't worry, this is harmless: this is all happening in the throw-away "
14152 "container created by @command{guix environment}.)"
14153 msgstr ""
14154
14155 #. type: Plain text
14156 #: doc/guix.texi:5958
14157 msgid ""
14158 "The @command{strace} command is probably not in the search path, but we can "
14159 "run:"
14160 msgstr ""
14161
14162 #. type: example
14163 #: doc/guix.texi:5961
14164 #, no-wrap
14165 msgid "[env]# $GUIX_ENVIRONMENT/bin/strace -f -o log make check\n"
14166 msgstr ""
14167
14168 #. type: Plain text
14169 #: doc/guix.texi:5966
14170 msgid ""
14171 "In this way, not only you will have reproduced the environment variables the "
14172 "daemon uses, you will also be running the build process in a container "
14173 "similar to the one the daemon uses."
14174 msgstr ""
14175
14176 #. type: section
14177 #: doc/guix.texi:5969
14178 #, no-wrap
14179 msgid "Invoking @command{guix edit}"
14180 msgstr ""
14181
14182 #. type: command{#1}
14183 #: doc/guix.texi:5971
14184 #, no-wrap
14185 msgid "guix edit"
14186 msgstr ""
14187
14188 #. type: cindex
14189 #: doc/guix.texi:5972
14190 #, no-wrap
14191 msgid "package definition, editing"
14192 msgstr ""
14193
14194 #. type: Plain text
14195 #: doc/guix.texi:5977
14196 msgid ""
14197 "So many packages, so many source files! The @command{guix edit} command "
14198 "facilitates the life of users and packagers by pointing their editor at the "
14199 "source file containing the definition of the specified packages. For "
14200 "instance:"
14201 msgstr ""
14202
14203 #. type: example
14204 #: doc/guix.texi:5980
14205 #, no-wrap
14206 msgid "guix edit gcc@@4.9 vim\n"
14207 msgstr ""
14208
14209 #. type: Plain text
14210 #: doc/guix.texi:5986
14211 msgid ""
14212 "launches the program specified in the @code{VISUAL} or in the @code{EDITOR} "
14213 "environment variable to view the recipe of GCC@tie{}4.9.3 and that of Vim."
14214 msgstr ""
14215
14216 #. type: Plain text
14217 #: doc/guix.texi:5992
14218 msgid ""
14219 "If you are using a Guix Git checkout (@pxref{Building from Git}), or have "
14220 "created your own packages on @code{GUIX_PACKAGE_PATH} (@pxref{Defining "
14221 "Packages}), you will be able to edit the package recipes. Otherwise, you "
14222 "will be able to examine the read-only recipes for packages currently in the "
14223 "store."
14224 msgstr ""
14225
14226 #. type: section
14227 #: doc/guix.texi:5995
14228 #, no-wrap
14229 msgid "Invoking @command{guix download}"
14230 msgstr ""
14231
14232 #. type: command{#1}
14233 #: doc/guix.texi:5997
14234 #, no-wrap
14235 msgid "guix download"
14236 msgstr ""
14237
14238 #. type: cindex
14239 #: doc/guix.texi:5998
14240 #, no-wrap
14241 msgid "downloading package sources"
14242 msgstr ""
14243
14244 #. type: Plain text
14245 #: doc/guix.texi:6005
14246 msgid ""
14247 "When writing a package definition, developers typically need to download a "
14248 "source tarball, compute its SHA256 hash, and write that hash in the package "
14249 "definition (@pxref{Defining Packages}). The @command{guix download} tool "
14250 "helps with this task: it downloads a file from the given URI, adds it to the "
14251 "store, and prints both its file name in the store and its SHA256 hash."
14252 msgstr ""
14253
14254 #. type: Plain text
14255 #: doc/guix.texi:6012
14256 msgid ""
14257 "The fact that the downloaded file is added to the store saves bandwidth: "
14258 "when the developer eventually tries to build the newly defined package with "
14259 "@command{guix build}, the source tarball will not have to be downloaded "
14260 "again because it is already in the store. It is also a convenient way to "
14261 "temporarily stash files, which may be deleted eventually (@pxref{Invoking "
14262 "guix gc})."
14263 msgstr ""
14264
14265 #. type: Plain text
14266 #: doc/guix.texi:6020
14267 msgid ""
14268 "The @command{guix download} command supports the same URIs as used in "
14269 "package definitions. In particular, it supports @code{mirror://} URIs. "
14270 "@code{https} URIs (HTTP over TLS) are supported @emph{provided} the Guile "
14271 "bindings for GnuTLS are available in the user's environment; when they are "
14272 "not available, an error is raised. @xref{Guile Preparations, how to install "
14273 "the GnuTLS bindings for Guile,, gnutls-guile, GnuTLS-Guile}, for more "
14274 "information."
14275 msgstr ""
14276
14277 #. type: Plain text
14278 #: doc/guix.texi:6025
14279 msgid ""
14280 "@command{guix download} verifies HTTPS server certificates by loading the "
14281 "certificates of X.509 authorities from the directory pointed to by the "
14282 "@code{SSL_CERT_DIR} environment variable (@pxref{X.509 Certificates}), "
14283 "unless @option{--no-check-certificate} is used."
14284 msgstr ""
14285
14286 #. type: Plain text
14287 #: doc/guix.texi:6027 doc/guix.texi:7511
14288 msgid "The following options are available:"
14289 msgstr ""
14290
14291 #. type: item
14292 #: doc/guix.texi:6029 doc/guix.texi:6068
14293 #, no-wrap
14294 msgid "--format=@var{fmt}"
14295 msgstr ""
14296
14297 #. type: itemx
14298 #: doc/guix.texi:6030 doc/guix.texi:6069
14299 #, no-wrap
14300 msgid "-f @var{fmt}"
14301 msgstr ""
14302
14303 #. type: table
14304 #: doc/guix.texi:6033
14305 msgid ""
14306 "Write the hash in the format specified by @var{fmt}. For more information "
14307 "on the valid values for @var{fmt}, @pxref{Invoking guix hash}."
14308 msgstr ""
14309
14310 #. type: item
14311 #: doc/guix.texi:6034
14312 #, no-wrap
14313 msgid "--no-check-certificate"
14314 msgstr ""
14315
14316 #. type: table
14317 #: doc/guix.texi:6036
14318 msgid "Do not validate the X.509 certificates of HTTPS servers."
14319 msgstr ""
14320
14321 #. type: table
14322 #: doc/guix.texi:6040
14323 msgid ""
14324 "When using this option, you have @emph{absolutely no guarantee} that you are "
14325 "communicating with the authentic server responsible for the given URL, which "
14326 "makes you vulnerable to ``man-in-the-middle'' attacks."
14327 msgstr ""
14328
14329 #. type: item
14330 #: doc/guix.texi:6041
14331 #, no-wrap
14332 msgid "--output=@var{file}"
14333 msgstr ""
14334
14335 #. type: itemx
14336 #: doc/guix.texi:6042
14337 #, no-wrap
14338 msgid "-o @var{file}"
14339 msgstr ""
14340
14341 #. type: table
14342 #: doc/guix.texi:6045
14343 msgid ""
14344 "Save the downloaded file to @var{file} instead of adding it to the store."
14345 msgstr ""
14346
14347 #. type: section
14348 #: doc/guix.texi:6048
14349 #, no-wrap
14350 msgid "Invoking @command{guix hash}"
14351 msgstr ""
14352
14353 #. type: command{#1}
14354 #: doc/guix.texi:6050
14355 #, no-wrap
14356 msgid "guix hash"
14357 msgstr ""
14358
14359 #. type: Plain text
14360 #: doc/guix.texi:6055
14361 msgid ""
14362 "The @command{guix hash} command computes the SHA256 hash of a file. It is "
14363 "primarily a convenience tool for anyone contributing to the distribution: it "
14364 "computes the cryptographic hash of a file, which can be used in the "
14365 "definition of a package (@pxref{Defining Packages})."
14366 msgstr ""
14367
14368 #. type: example
14369 #: doc/guix.texi:6060
14370 #, no-wrap
14371 msgid "guix hash @var{option} @var{file}\n"
14372 msgstr ""
14373
14374 #. type: Plain text
14375 #: doc/guix.texi:6065
14376 msgid ""
14377 "When @var{file} is @code{-} (a hyphen), @command{guix hash} computes the "
14378 "hash of data read from standard input. @command{guix hash} has the "
14379 "following options:"
14380 msgstr ""
14381
14382 #. type: table
14383 #: doc/guix.texi:6071
14384 msgid "Write the hash in the format specified by @var{fmt}."
14385 msgstr ""
14386
14387 #. type: table
14388 #: doc/guix.texi:6074
14389 msgid ""
14390 "Supported formats: @code{nix-base32}, @code{base32}, @code{base16} "
14391 "(@code{hex} and @code{hexadecimal} can be used as well)."
14392 msgstr ""
14393
14394 #. type: table
14395 #: doc/guix.texi:6078
14396 msgid ""
14397 "If the @option{--format} option is not specified, @command{guix hash} will "
14398 "output the hash in @code{nix-base32}. This representation is used in the "
14399 "definitions of packages."
14400 msgstr ""
14401
14402 #. type: table
14403 #: doc/guix.texi:6082
14404 msgid "Compute the hash on @var{file} recursively."
14405 msgstr ""
14406
14407 #. type: table
14408 #: doc/guix.texi:6091
14409 msgid ""
14410 "In this case, the hash is computed on an archive containing @var{file}, "
14411 "including its children if it is a directory. Some of the metadata of "
14412 "@var{file} is part of the archive; for instance, when @var{file} is a "
14413 "regular file, the hash is different depending on whether @var{file} is "
14414 "executable or not. Metadata such as time stamps has no impact on the hash "
14415 "(@pxref{Invoking guix archive})."
14416 msgstr ""
14417
14418 #. type: item
14419 #: doc/guix.texi:6092
14420 #, no-wrap
14421 msgid "--exclude-vcs"
14422 msgstr ""
14423
14424 #. type: itemx
14425 #: doc/guix.texi:6093
14426 #, no-wrap
14427 msgid "-x"
14428 msgstr ""
14429
14430 #. type: table
14431 #: doc/guix.texi:6096
14432 msgid ""
14433 "When combined with @option{--recursive}, exclude version control system "
14434 "directories (@file{.bzr}, @file{.git}, @file{.hg}, etc.)"
14435 msgstr ""
14436
14437 #. type: table
14438 #: doc/guix.texi:6101
14439 msgid ""
14440 "As an example, here is how you would compute the hash of a Git checkout, "
14441 "which is useful when using the @code{git-fetch} method (@pxref{origin "
14442 "Reference}):"
14443 msgstr ""
14444
14445 #. type: example
14446 #: doc/guix.texi:6106
14447 #, no-wrap
14448 msgid ""
14449 "$ git clone http://example.org/foo.git\n"
14450 "$ cd foo\n"
14451 "$ guix hash -rx .\n"
14452 msgstr ""
14453
14454 #. type: cindex
14455 #: doc/guix.texi:6110 doc/guix.texi:6115
14456 #, no-wrap
14457 msgid "Invoking @command{guix import}"
14458 msgstr ""
14459
14460 #. type: cindex
14461 #: doc/guix.texi:6112
14462 #, no-wrap
14463 msgid "importing packages"
14464 msgstr ""
14465
14466 #. type: cindex
14467 #: doc/guix.texi:6113
14468 #, no-wrap
14469 msgid "package import"
14470 msgstr ""
14471
14472 #. type: cindex
14473 #: doc/guix.texi:6114
14474 #, no-wrap
14475 msgid "package conversion"
14476 msgstr ""
14477
14478 #. type: Plain text
14479 #: doc/guix.texi:6122
14480 msgid ""
14481 "The @command{guix import} command is useful for people who would like to add "
14482 "a package to the distribution with as little work as possible---a legitimate "
14483 "demand. The command knows of a few repositories from which it can "
14484 "``import'' package metadata. The result is a package definition, or a "
14485 "template thereof, in the format we know (@pxref{Defining Packages})."
14486 msgstr ""
14487
14488 #. type: example
14489 #: doc/guix.texi:6127
14490 #, no-wrap
14491 msgid "guix import @var{importer} @var{options}@dots{}\n"
14492 msgstr ""
14493
14494 #. type: Plain text
14495 #: doc/guix.texi:6133
14496 msgid ""
14497 "@var{importer} specifies the source from which to import package metadata, "
14498 "and @var{options} specifies a package identifier and other options specific "
14499 "to @var{importer}. Currently, the available ``importers'' are:"
14500 msgstr ""
14501
14502 #. type: item
14503 #: doc/guix.texi:6135 doc/guix.texi:6588
14504 #, no-wrap
14505 msgid "gnu"
14506 msgstr ""
14507
14508 #. type: table
14509 #: doc/guix.texi:6139
14510 msgid ""
14511 "Import metadata for the given GNU package. This provides a template for the "
14512 "latest version of that GNU package, including the hash of its source "
14513 "tarball, and its canonical synopsis and description."
14514 msgstr ""
14515
14516 #. type: table
14517 #: doc/guix.texi:6142
14518 msgid ""
14519 "Additional information such as the package dependencies and its license "
14520 "needs to be figured out manually."
14521 msgstr ""
14522
14523 #. type: table
14524 #: doc/guix.texi:6145
14525 msgid ""
14526 "For example, the following command returns a package definition for GNU@tie{}"
14527 "Hello:"
14528 msgstr ""
14529
14530 #. type: example
14531 #: doc/guix.texi:6148
14532 #, no-wrap
14533 msgid "guix import gnu hello\n"
14534 msgstr ""
14535
14536 #. type: table
14537 #: doc/guix.texi:6151 doc/guix.texi:6369 doc/guix.texi:6414 doc/guix.texi:6438
14538 msgid "Specific command-line options are:"
14539 msgstr ""
14540
14541 #. type: item
14542 #: doc/guix.texi:6153 doc/guix.texi:6689
14543 #, no-wrap
14544 msgid "--key-download=@var{policy}"
14545 msgstr ""
14546
14547 #. type: table
14548 #: doc/guix.texi:6157
14549 msgid ""
14550 "As for @code{guix refresh}, specify the policy to handle missing OpenPGP "
14551 "keys when verifying the package signature. @xref{Invoking guix refresh, "
14552 "@code{--key-download}}."
14553 msgstr ""
14554
14555 #. type: item
14556 #: doc/guix.texi:6159 doc/guix.texi:6160 doc/guix.texi:6606
14557 #, no-wrap
14558 msgid "pypi"
14559 msgstr ""
14560
14561 #. type: table
14562 #: doc/guix.texi:6168
14563 msgid ""
14564 "Import metadata from the @uref{https://pypi.python.org/, Python Package "
14565 "Index}@footnote{This functionality requires Guile-JSON to be installed. "
14566 "@xref{Requirements}.}. Information is taken from the JSON-formatted "
14567 "description available at @code{pypi.python.org} and usually includes all the "
14568 "relevant information, including package dependencies. For maximum "
14569 "efficiency, it is recommended to install the @command{unzip} utility, so "
14570 "that the importer can unzip Python wheels and gather data from them."
14571 msgstr ""
14572
14573 #. type: table
14574 #: doc/guix.texi:6171
14575 msgid ""
14576 "The command below imports metadata for the @code{itsdangerous} Python "
14577 "package:"
14578 msgstr ""
14579
14580 #. type: example
14581 #: doc/guix.texi:6174
14582 #, no-wrap
14583 msgid "guix import pypi itsdangerous\n"
14584 msgstr ""
14585
14586 #. type: item
14587 #: doc/guix.texi:6176 doc/guix.texi:6177 doc/guix.texi:6608
14588 #, no-wrap
14589 msgid "gem"
14590 msgstr ""
14591
14592 #. type: table
14593 #: doc/guix.texi:6188
14594 msgid ""
14595 "Import metadata from @uref{https://rubygems.org/, RubyGems}@footnote{This "
14596 "functionality requires Guile-JSON to be installed. @xref{Requirements}.}. "
14597 "Information is taken from the JSON-formatted description available at "
14598 "@code{rubygems.org} and includes most relevant information, including "
14599 "runtime dependencies. There are some caveats, however. The metadata "
14600 "doesn't distinguish between synopses and descriptions, so the same string is "
14601 "used for both fields. Additionally, the details of non-Ruby dependencies "
14602 "required to build native extensions is unavailable and left as an exercise "
14603 "to the packager."
14604 msgstr ""
14605
14606 #. type: table
14607 #: doc/guix.texi:6190
14608 msgid "The command below imports metadata for the @code{rails} Ruby package:"
14609 msgstr ""
14610
14611 #. type: example
14612 #: doc/guix.texi:6193
14613 #, no-wrap
14614 msgid "guix import gem rails\n"
14615 msgstr ""
14616
14617 #. type: item
14618 #: doc/guix.texi:6195 doc/guix.texi:6604
14619 #, no-wrap
14620 msgid "cpan"
14621 msgstr ""
14622
14623 #. type: cindex
14624 #: doc/guix.texi:6196
14625 #, no-wrap
14626 msgid "CPAN"
14627 msgstr ""
14628
14629 #. type: table
14630 #: doc/guix.texi:6206
14631 msgid ""
14632 "Import metadata from @uref{https://www.metacpan.org/, MetaCPAN}"
14633 "@footnote{This functionality requires Guile-JSON to be installed. "
14634 "@xref{Requirements}.}. Information is taken from the JSON-formatted "
14635 "metadata provided through @uref{https://fastapi.metacpan.org/, MetaCPAN's "
14636 "API} and includes most relevant information, such as module dependencies. "
14637 "License information should be checked closely. If Perl is available in the "
14638 "store, then the @code{corelist} utility will be used to filter core modules "
14639 "out of the list of dependencies."
14640 msgstr ""
14641
14642 #. type: table
14643 #: doc/guix.texi:6209
14644 msgid ""
14645 "The command command below imports metadata for the @code{Acme::Boolean} Perl "
14646 "module:"
14647 msgstr ""
14648
14649 #. type: example
14650 #: doc/guix.texi:6212
14651 #, no-wrap
14652 msgid "guix import cpan Acme::Boolean\n"
14653 msgstr ""
14654
14655 #. type: item
14656 #: doc/guix.texi:6214 doc/guix.texi:6600
14657 #, no-wrap
14658 msgid "cran"
14659 msgstr ""
14660
14661 #. type: cindex
14662 #: doc/guix.texi:6215
14663 #, no-wrap
14664 msgid "CRAN"
14665 msgstr ""
14666
14667 #. type: cindex
14668 #: doc/guix.texi:6216
14669 #, no-wrap
14670 msgid "Bioconductor"
14671 msgstr ""
14672
14673 #. type: table
14674 #: doc/guix.texi:6220
14675 msgid ""
14676 "Import metadata from @uref{https://cran.r-project.org/, CRAN}, the central "
14677 "repository for the @uref{http://r-project.org, GNU@tie{}R statistical and "
14678 "graphical environment}."
14679 msgstr ""
14680
14681 #. type: table
14682 #: doc/guix.texi:6222
14683 msgid ""
14684 "Information is extracted from the @code{DESCRIPTION} file of the package."
14685 msgstr ""
14686
14687 #. type: table
14688 #: doc/guix.texi:6225
14689 msgid ""
14690 "The command command below imports metadata for the @code{Cairo} R package:"
14691 msgstr ""
14692
14693 #. type: example
14694 #: doc/guix.texi:6228
14695 #, no-wrap
14696 msgid "guix import cran Cairo\n"
14697 msgstr ""
14698
14699 #. type: table
14700 #: doc/guix.texi:6233
14701 msgid ""
14702 "When @code{--recursive} is added, the importer will traverse the dependency "
14703 "graph of the given upstream package recursively and generate package "
14704 "expressions for all those packages that are not yet in Guix."
14705 msgstr ""
14706
14707 #. type: table
14708 #: doc/guix.texi:6238
14709 msgid ""
14710 "When @code{--archive=bioconductor} is added, metadata is imported from "
14711 "@uref{https://www.bioconductor.org/, Bioconductor}, a repository of R "
14712 "packages for for the analysis and comprehension of high-throughput genomic "
14713 "data in bioinformatics."
14714 msgstr ""
14715
14716 #. type: table
14717 #: doc/guix.texi:6241
14718 msgid ""
14719 "Information is extracted from the @code{DESCRIPTION} file of a package "
14720 "published on the web interface of the Bioconductor SVN repository."
14721 msgstr ""
14722
14723 #. type: table
14724 #: doc/guix.texi:6244
14725 msgid ""
14726 "The command below imports metadata for the @code{GenomicRanges} R package:"
14727 msgstr ""
14728
14729 #. type: example
14730 #: doc/guix.texi:6247
14731 #, no-wrap
14732 msgid "guix import cran --archive=bioconductor GenomicRanges\n"
14733 msgstr ""
14734
14735 #. type: item
14736 #: doc/guix.texi:6249
14737 #, no-wrap
14738 msgid "texlive"
14739 msgstr ""
14740
14741 #. type: cindex
14742 #: doc/guix.texi:6250
14743 #, no-wrap
14744 msgid "TeX Live"
14745 msgstr ""
14746
14747 #. type: cindex
14748 #: doc/guix.texi:6251
14749 #, no-wrap
14750 msgid "CTAN"
14751 msgstr ""
14752
14753 #. type: table
14754 #: doc/guix.texi:6255
14755 msgid ""
14756 "Import metadata from @uref{http://www.ctan.org/, CTAN}, the comprehensive "
14757 "TeX archive network for TeX packages that are part of the @uref{https://www."
14758 "tug.org/texlive/, TeX Live distribution}."
14759 msgstr ""
14760
14761 #. type: table
14762 #: doc/guix.texi:6260
14763 msgid ""
14764 "Information about the package is obtained through the XML API provided by "
14765 "CTAN, while the source code is downloaded from the SVN repository of the Tex "
14766 "Live project. This is done because the CTAN does not keep versioned "
14767 "archives."
14768 msgstr ""
14769
14770 #. type: table
14771 #: doc/guix.texi:6263
14772 msgid ""
14773 "The command command below imports metadata for the @code{fontspec} TeX "
14774 "package:"
14775 msgstr ""
14776
14777 #. type: example
14778 #: doc/guix.texi:6266
14779 #, no-wrap
14780 msgid "guix import texlive fontspec\n"
14781 msgstr ""
14782
14783 #. type: table
14784 #: doc/guix.texi:6272
14785 msgid ""
14786 "When @code{--archive=DIRECTORY} is added, the source code is downloaded not "
14787 "from the @file{latex} sub-directory of the @file{texmf-dist/source} tree in "
14788 "the TeX Live SVN repository, but from the specified sibling directory under "
14789 "the same root."
14790 msgstr ""
14791
14792 #. type: table
14793 #: doc/guix.texi:6276
14794 msgid ""
14795 "The command below imports metadata for the @code{ifxetex} package from CTAN "
14796 "while fetching the sources from the directory @file{texmf/source/generic}:"
14797 msgstr ""
14798
14799 #. type: example
14800 #: doc/guix.texi:6279
14801 #, no-wrap
14802 msgid "guix import texlive --archive=generic ifxetex\n"
14803 msgstr ""
14804
14805 #. type: item
14806 #: doc/guix.texi:6281
14807 #, no-wrap
14808 msgid "json"
14809 msgstr ""
14810
14811 #. type: cindex
14812 #: doc/guix.texi:6282
14813 #, no-wrap
14814 msgid "JSON, import"
14815 msgstr ""
14816
14817 #. type: table
14818 #: doc/guix.texi:6287
14819 msgid ""
14820 "Import package metadata from a local JSON file@footnote{This functionality "
14821 "requires Guile-JSON to be installed. @xref{Requirements}.}. Consider the "
14822 "following example package definition in JSON format:"
14823 msgstr ""
14824
14825 #. type: example
14826 #: doc/guix.texi:6300
14827 #, no-wrap
14828 msgid ""
14829 "@{\n"
14830 " \"name\": \"hello\",\n"
14831 " \"version\": \"2.10\",\n"
14832 " \"source\": \"mirror://gnu/hello/hello-2.10.tar.gz\",\n"
14833 " \"build-system\": \"gnu\",\n"
14834 " \"home-page\": \"https://www.gnu.org/software/hello/\",\n"
14835 " \"synopsis\": \"Hello, GNU world: An example GNU package\",\n"
14836 " \"description\": \"GNU Hello prints a greeting.\",\n"
14837 " \"license\": \"GPL-3.0+\",\n"
14838 " \"native-inputs\": [\"gcc@@6\"]\n"
14839 "@}\n"
14840 msgstr ""
14841
14842 #. type: table
14843 #: doc/guix.texi:6306
14844 msgid ""
14845 "The field names are the same as for the @code{<package>} record "
14846 "(@xref{Defining Packages}). References to other packages are provided as "
14847 "JSON lists of quoted package specification strings such as @code{guile} or "
14848 "@code{guile@@2.0}."
14849 msgstr ""
14850
14851 #. type: table
14852 #: doc/guix.texi:6309
14853 msgid ""
14854 "The importer also supports a more explicit source definition using the "
14855 "common fields for @code{<origin>} records:"
14856 msgstr ""
14857
14858 #. type: example
14859 #: doc/guix.texi:6322
14860 #, no-wrap
14861 msgid ""
14862 "@{\n"
14863 " @dots{}\n"
14864 " \"source\": @{\n"
14865 " \"method\": \"url-fetch\",\n"
14866 " \"uri\": \"mirror://gnu/hello/hello-2.10.tar.gz\",\n"
14867 " \"sha256\": @{\n"
14868 " \"base32\": \"0ssi1wpaf7plaswqqjwigppsg5fyh99vdlb9kzl7c9lng89ndq1i\"\n"
14869 " @}\n"
14870 " @}\n"
14871 " @dots{}\n"
14872 "@}\n"
14873 msgstr ""
14874
14875 #. type: table
14876 #: doc/guix.texi:6326
14877 msgid ""
14878 "The command below reads metadata from the JSON file @code{hello.json} and "
14879 "outputs a package expression:"
14880 msgstr ""
14881
14882 #. type: example
14883 #: doc/guix.texi:6329
14884 #, no-wrap
14885 msgid "guix import json hello.json\n"
14886 msgstr ""
14887
14888 #. type: item
14889 #: doc/guix.texi:6331
14890 #, no-wrap
14891 msgid "nix"
14892 msgstr ""
14893
14894 #. type: table
14895 #: doc/guix.texi:6340
14896 msgid ""
14897 "Import metadata from a local copy of the source of the @uref{http://nixos."
14898 "org/nixpkgs/, Nixpkgs distribution}@footnote{This relies on the @command{nix-"
14899 "instantiate} command of @uref{http://nixos.org/nix/, Nix}.}. Package "
14900 "definitions in Nixpkgs are typically written in a mixture of Nix-language "
14901 "and Bash code. This command only imports the high-level package structure "
14902 "that is written in the Nix language. It normally includes all the basic "
14903 "fields of a package definition."
14904 msgstr ""
14905
14906 #. type: table
14907 #: doc/guix.texi:6343
14908 msgid ""
14909 "When importing a GNU package, the synopsis and descriptions are replaced by "
14910 "their canonical upstream variant."
14911 msgstr ""
14912
14913 #. type: table
14914 #: doc/guix.texi:6345
14915 msgid "Usually, you will first need to do:"
14916 msgstr ""
14917
14918 #. type: example
14919 #: doc/guix.texi:6348
14920 #, no-wrap
14921 msgid "export NIX_REMOTE=daemon\n"
14922 msgstr ""
14923
14924 #. type: table
14925 #: doc/guix.texi:6352
14926 msgid ""
14927 "so that @command{nix-instantiate} does not try to open the Nix database."
14928 msgstr ""
14929
14930 #. type: table
14931 #: doc/guix.texi:6356
14932 msgid ""
14933 "As an example, the command below imports the package definition of "
14934 "LibreOffice (more precisely, it imports the definition of the package bound "
14935 "to the @code{libreoffice} top-level attribute):"
14936 msgstr ""
14937
14938 #. type: example
14939 #: doc/guix.texi:6359
14940 #, no-wrap
14941 msgid "guix import nix ~/path/to/nixpkgs libreoffice\n"
14942 msgstr ""
14943
14944 #. type: item
14945 #: doc/guix.texi:6361 doc/guix.texi:6362 doc/guix.texi:6612
14946 #, no-wrap
14947 msgid "hackage"
14948 msgstr ""
14949
14950 #. type: table
14951 #: doc/guix.texi:6367
14952 msgid ""
14953 "Import metadata from the Haskell community's central package archive "
14954 "@uref{https://hackage.haskell.org/, Hackage}. Information is taken from "
14955 "Cabal files and includes all the relevant information, including package "
14956 "dependencies."
14957 msgstr ""
14958
14959 #. type: item
14960 #: doc/guix.texi:6371
14961 #, no-wrap
14962 msgid "--stdin"
14963 msgstr ""
14964
14965 #. type: itemx
14966 #: doc/guix.texi:6372
14967 #, no-wrap
14968 msgid "-s"
14969 msgstr ""
14970
14971 #. type: table
14972 #: doc/guix.texi:6374
14973 msgid "Read a Cabal file from standard input."
14974 msgstr ""
14975
14976 #. type: item
14977 #: doc/guix.texi:6374 doc/guix.texi:6416
14978 #, no-wrap
14979 msgid "--no-test-dependencies"
14980 msgstr ""
14981
14982 #. type: itemx
14983 #: doc/guix.texi:6375 doc/guix.texi:6417
14984 #, no-wrap
14985 msgid "-t"
14986 msgstr ""
14987
14988 #. type: table
14989 #: doc/guix.texi:6377 doc/guix.texi:6419
14990 msgid "Do not include dependencies required only by the test suites."
14991 msgstr ""
14992
14993 #. type: item
14994 #: doc/guix.texi:6377
14995 #, no-wrap
14996 msgid "--cabal-environment=@var{alist}"
14997 msgstr ""
14998
14999 #. type: itemx
15000 #: doc/guix.texi:6378
15001 #, no-wrap
15002 msgid "-e @var{alist}"
15003 msgstr ""
15004
15005 #. type: table
15006 #: doc/guix.texi:6387
15007 msgid ""
15008 "@var{alist} is a Scheme alist defining the environment in which the Cabal "
15009 "conditionals are evaluated. The accepted keys are: @code{os}, @code{arch}, "
15010 "@code{impl} and a string representing the name of a flag. The value "
15011 "associated with a flag has to be either the symbol @code{true} or "
15012 "@code{false}. The value associated with other keys has to conform to the "
15013 "Cabal file format definition. The default value associated with the keys "
15014 "@code{os}, @code{arch} and @code{impl} is @samp{linux}, @samp{x86_64} and "
15015 "@samp{ghc}, respectively."
15016 msgstr ""
15017
15018 #. type: table
15019 #: doc/guix.texi:6392
15020 msgid ""
15021 "The command below imports metadata for the latest version of the @code{HTTP} "
15022 "Haskell package without including test dependencies and specifying the value "
15023 "of the flag @samp{network-uri} as @code{false}:"
15024 msgstr ""
15025
15026 #. type: example
15027 #: doc/guix.texi:6395
15028 #, no-wrap
15029 msgid "guix import hackage -t -e \"'((\\\"network-uri\\\" . false))\" HTTP\n"
15030 msgstr ""
15031
15032 #. type: table
15033 #: doc/guix.texi:6399
15034 msgid ""
15035 "A specific package version may optionally be specified by following the "
15036 "package name by an at-sign and a version number as in the following example:"
15037 msgstr ""
15038
15039 #. type: example
15040 #: doc/guix.texi:6402
15041 #, no-wrap
15042 msgid "guix import hackage mtl@@2.1.3.1\n"
15043 msgstr ""
15044
15045 #. type: item
15046 #: doc/guix.texi:6404 doc/guix.texi:6405 doc/guix.texi:6614
15047 #, no-wrap
15048 msgid "stackage"
15049 msgstr ""
15050
15051 #. type: table
15052 #: doc/guix.texi:6412
15053 msgid ""
15054 "The @code{stackage} importer is a wrapper around the @code{hackage} one. It "
15055 "takes a package name, looks up the package version included in a long-term "
15056 "support (LTS) @uref{https://www.stackage.org, Stackage} release and uses the "
15057 "@code{hackage} importer to retrieve its metadata. Note that it is up to you "
15058 "to select an LTS release compatible with the GHC compiler used by Guix."
15059 msgstr ""
15060
15061 #. type: item
15062 #: doc/guix.texi:6419
15063 #, no-wrap
15064 msgid "--lts-version=@var{version}"
15065 msgstr ""
15066
15067 #. type: itemx
15068 #: doc/guix.texi:6420
15069 #, no-wrap
15070 msgid "-r @var{version}"
15071 msgstr ""
15072
15073 #. type: table
15074 #: doc/guix.texi:6423
15075 msgid ""
15076 "@var{version} is the desired LTS release version. If omitted the latest "
15077 "release is used."
15078 msgstr ""
15079
15080 #. type: table
15081 #: doc/guix.texi:6427
15082 msgid ""
15083 "The command below imports metadata for the @code{HTTP} Haskell package "
15084 "included in the LTS Stackage release version 7.18:"
15085 msgstr ""
15086
15087 #. type: example
15088 #: doc/guix.texi:6430
15089 #, no-wrap
15090 msgid "guix import stackage --lts-version=7.18 HTTP\n"
15091 msgstr ""
15092
15093 #. type: item
15094 #: doc/guix.texi:6432 doc/guix.texi:6433 doc/guix.texi:6598
15095 #, no-wrap
15096 msgid "elpa"
15097 msgstr ""
15098
15099 #. type: table
15100 #: doc/guix.texi:6436
15101 msgid ""
15102 "Import metadata from an Emacs Lisp Package Archive (ELPA) package repository "
15103 "(@pxref{Packages,,, emacs, The GNU Emacs Manual})."
15104 msgstr ""
15105
15106 #. type: item
15107 #: doc/guix.texi:6440
15108 #, no-wrap
15109 msgid "--archive=@var{repo}"
15110 msgstr ""
15111
15112 #. type: itemx
15113 #: doc/guix.texi:6441
15114 #, no-wrap
15115 msgid "-a @var{repo}"
15116 msgstr ""
15117
15118 #. type: table
15119 #: doc/guix.texi:6445
15120 msgid ""
15121 "@var{repo} identifies the archive repository from which to retrieve the "
15122 "information. Currently the supported repositories and their identifiers are:"
15123 msgstr ""
15124
15125 #. type: itemize
15126 #: doc/guix.texi:6449
15127 msgid ""
15128 "@uref{http://elpa.gnu.org/packages, GNU}, selected by the @code{gnu} "
15129 "identifier. This is the default."
15130 msgstr ""
15131
15132 #. type: itemize
15133 #: doc/guix.texi:6455
15134 msgid ""
15135 "Packages from @code{elpa.gnu.org} are signed with one of the keys contained "
15136 "in the GnuPG keyring at @file{share/emacs/25.1/etc/package-keyring.gpg} (or "
15137 "similar) in the @code{emacs} package (@pxref{Package Installation, ELPA "
15138 "package signatures,, emacs, The GNU Emacs Manual})."
15139 msgstr ""
15140
15141 #. type: itemize
15142 #: doc/guix.texi:6459
15143 msgid ""
15144 "@uref{http://stable.melpa.org/packages, MELPA-Stable}, selected by the "
15145 "@code{melpa-stable} identifier."
15146 msgstr ""
15147
15148 #. type: itemize
15149 #: doc/guix.texi:6463
15150 msgid ""
15151 "@uref{http://melpa.org/packages, MELPA}, selected by the @code{melpa} "
15152 "identifier."
15153 msgstr ""
15154
15155 #. type: item
15156 #: doc/guix.texi:6466 doc/guix.texi:6467 doc/guix.texi:6616
15157 #, no-wrap
15158 msgid "crate"
15159 msgstr ""
15160
15161 #. type: table
15162 #: doc/guix.texi:6470
15163 msgid ""
15164 "Import metadata from the crates.io Rust package repository @uref{https://"
15165 "crates.io, crates.io}."
15166 msgstr ""
15167
15168 #. type: Plain text
15169 #: doc/guix.texi:6475
15170 msgid ""
15171 "The structure of the @command{guix import} code is modular. It would be "
15172 "useful to have more importers for other package formats, and your help is "
15173 "welcome here (@pxref{Contributing})."
15174 msgstr ""
15175
15176 #. type: section
15177 #: doc/guix.texi:6477
15178 #, no-wrap
15179 msgid "Invoking @command{guix refresh}"
15180 msgstr ""
15181
15182 #. type: command{#1}
15183 #: doc/guix.texi:6479
15184 #, no-wrap
15185 msgid "guix refresh"
15186 msgstr ""
15187
15188 #. type: Plain text
15189 #: doc/guix.texi:6484
15190 msgid ""
15191 "The primary audience of the @command{guix refresh} command is developers of "
15192 "the GNU software distribution. By default, it reports any packages provided "
15193 "by the distribution that are outdated compared to the latest upstream "
15194 "version, like this:"
15195 msgstr ""
15196
15197 #. type: example
15198 #: doc/guix.texi:6489
15199 #, no-wrap
15200 msgid ""
15201 "$ guix refresh\n"
15202 "gnu/packages/gettext.scm:29:13: gettext would be upgraded from 0.18.1.1 to 0.18.2.1\n"
15203 "gnu/packages/glib.scm:77:12: glib would be upgraded from 2.34.3 to 2.37.0\n"
15204 msgstr ""
15205
15206 #. type: Plain text
15207 #: doc/guix.texi:6493
15208 msgid ""
15209 "Alternately, one can specify packages to consider, in which case a warning "
15210 "is emitted for packages that lack an updater:"
15211 msgstr ""
15212
15213 #. type: example
15214 #: doc/guix.texi:6498
15215 #, no-wrap
15216 msgid ""
15217 "$ guix refresh coreutils guile guile-ssh\n"
15218 "gnu/packages/ssh.scm:205:2: warning: no updater for guile-ssh\n"
15219 "gnu/packages/guile.scm:136:12: guile would be upgraded from 2.0.12 to 2.0.13\n"
15220 msgstr ""
15221
15222 #. type: Plain text
15223 #: doc/guix.texi:6507
15224 msgid ""
15225 "@command{guix refresh} browses the upstream repository of each package and "
15226 "determines the highest version number of the releases therein. The command "
15227 "knows how to update specific types of packages: GNU packages, ELPA packages, "
15228 "etc.---see the documentation for @option{--type} below. There are many "
15229 "packages, though, for which it lacks a method to determine whether a new "
15230 "upstream release is available. However, the mechanism is extensible, so "
15231 "feel free to get in touch with us to add a new method!"
15232 msgstr ""
15233
15234 #. type: Plain text
15235 #: doc/guix.texi:6512
15236 msgid ""
15237 "Sometimes the upstream name differs from the package name used in Guix, and "
15238 "@command{guix refresh} needs a little help. Most updaters honor the "
15239 "@code{upstream-name} property in package definitions, which can be used to "
15240 "that effect:"
15241 msgstr ""
15242
15243 #. type: example
15244 #: doc/guix.texi:6519
15245 #, no-wrap
15246 msgid ""
15247 "(define-public network-manager\n"
15248 " (package\n"
15249 " (name \"network-manager\")\n"
15250 " ;; @dots{}\n"
15251 " (properties '((upstream-name . \"NetworkManager\")))))\n"
15252 msgstr ""
15253
15254 #. type: Plain text
15255 #: doc/guix.texi:6531
15256 msgid ""
15257 "When passed @code{--update}, it modifies distribution source files to update "
15258 "the version numbers and source tarball hashes of those package recipes "
15259 "(@pxref{Defining Packages}). This is achieved by downloading each package's "
15260 "latest source tarball and its associated OpenPGP signature, authenticating "
15261 "the downloaded tarball against its signature using @command{gpg}, and "
15262 "finally computing its hash. When the public key used to sign the tarball is "
15263 "missing from the user's keyring, an attempt is made to automatically "
15264 "retrieve it from a public key server; when this is successful, the key is "
15265 "added to the user's keyring; otherwise, @command{guix refresh} reports an "
15266 "error."
15267 msgstr ""
15268
15269 #. type: Plain text
15270 #: doc/guix.texi:6533
15271 msgid "The following options are supported:"
15272 msgstr ""
15273
15274 #. type: table
15275 #: doc/guix.texi:6541 doc/guix.texi:7102
15276 msgid "This is useful to precisely refer to a package, as in this example:"
15277 msgstr ""
15278
15279 #. type: example
15280 #: doc/guix.texi:6544
15281 #, no-wrap
15282 msgid "guix refresh -l -e '(@@@@ (gnu packages commencement) glibc-final)'\n"
15283 msgstr ""
15284
15285 #. type: table
15286 #: doc/guix.texi:6548
15287 msgid ""
15288 "This command lists the dependents of the ``final'' libc (essentially all the "
15289 "packages.)"
15290 msgstr ""
15291
15292 #. type: item
15293 #: doc/guix.texi:6549
15294 #, no-wrap
15295 msgid "--update"
15296 msgstr ""
15297
15298 #. type: itemx
15299 #: doc/guix.texi:6550
15300 #, no-wrap
15301 msgid "-u"
15302 msgstr ""
15303
15304 #. type: table
15305 #: doc/guix.texi:6554
15306 msgid ""
15307 "Update distribution source files (package recipes) in place. This is "
15308 "usually run from a checkout of the Guix source tree (@pxref{Running Guix "
15309 "Before It Is Installed}):"
15310 msgstr ""
15311
15312 #. type: example
15313 #: doc/guix.texi:6557
15314 #, no-wrap
15315 msgid "$ ./pre-inst-env guix refresh -s non-core -u\n"
15316 msgstr ""
15317
15318 #. type: table
15319 #: doc/guix.texi:6560
15320 msgid "@xref{Defining Packages}, for more information on package definitions."
15321 msgstr ""
15322
15323 #. type: item
15324 #: doc/guix.texi:6561
15325 #, no-wrap
15326 msgid "--select=[@var{subset}]"
15327 msgstr ""
15328
15329 #. type: itemx
15330 #: doc/guix.texi:6562
15331 #, no-wrap
15332 msgid "-s @var{subset}"
15333 msgstr ""
15334
15335 #. type: table
15336 #: doc/guix.texi:6565
15337 msgid ""
15338 "Select all the packages in @var{subset}, one of @code{core} or @code{non-"
15339 "core}."
15340 msgstr ""
15341
15342 #. type: table
15343 #: doc/guix.texi:6572
15344 msgid ""
15345 "The @code{core} subset refers to all the packages at the core of the "
15346 "distribution---i.e., packages that are used to build ``everything else''. "
15347 "This includes GCC, libc, Binutils, Bash, etc. Usually, changing one of "
15348 "these packages in the distribution entails a rebuild of all the others. "
15349 "Thus, such updates are an inconvenience to users in terms of build time or "
15350 "bandwidth used to achieve the upgrade."
15351 msgstr ""
15352
15353 #. type: table
15354 #: doc/guix.texi:6576
15355 msgid ""
15356 "The @code{non-core} subset refers to the remaining packages. It is "
15357 "typically useful in cases where an update of the core packages would be "
15358 "inconvenient."
15359 msgstr ""
15360
15361 #. type: table
15362 #: doc/guix.texi:6581
15363 msgid ""
15364 "Select all the packages from the manifest in @var{file}. This is useful to "
15365 "check if any packages of the user manifest can be updated."
15366 msgstr ""
15367
15368 #. type: item
15369 #: doc/guix.texi:6582
15370 #, no-wrap
15371 msgid "--type=@var{updater}"
15372 msgstr ""
15373
15374 #. type: itemx
15375 #: doc/guix.texi:6583
15376 #, no-wrap
15377 msgid "-t @var{updater}"
15378 msgstr ""
15379
15380 #. type: table
15381 #: doc/guix.texi:6586
15382 msgid ""
15383 "Select only packages handled by @var{updater} (may be a comma-separated list "
15384 "of updaters). Currently, @var{updater} may be one of:"
15385 msgstr ""
15386
15387 #. type: table
15388 #: doc/guix.texi:6590
15389 msgid "the updater for GNU packages;"
15390 msgstr ""
15391
15392 #. type: item
15393 #: doc/guix.texi:6590
15394 #, no-wrap
15395 msgid "gnome"
15396 msgstr ""
15397
15398 #. type: table
15399 #: doc/guix.texi:6592
15400 msgid "the updater for GNOME packages;"
15401 msgstr ""
15402
15403 #. type: item
15404 #: doc/guix.texi:6592
15405 #, no-wrap
15406 msgid "kde"
15407 msgstr ""
15408
15409 #. type: table
15410 #: doc/guix.texi:6594
15411 msgid "the updater for KDE packages;"
15412 msgstr ""
15413
15414 #. type: item
15415 #: doc/guix.texi:6594
15416 #, no-wrap
15417 msgid "xorg"
15418 msgstr ""
15419
15420 #. type: table
15421 #: doc/guix.texi:6596
15422 msgid "the updater for X.org packages;"
15423 msgstr ""
15424
15425 #. type: item
15426 #: doc/guix.texi:6596
15427 #, no-wrap
15428 msgid "kernel.org"
15429 msgstr ""
15430
15431 #. type: table
15432 #: doc/guix.texi:6598
15433 msgid "the updater for packages hosted on kernel.org;"
15434 msgstr ""
15435
15436 #. type: table
15437 #: doc/guix.texi:6600
15438 msgid "the updater for @uref{http://elpa.gnu.org/, ELPA} packages;"
15439 msgstr ""
15440
15441 #. type: table
15442 #: doc/guix.texi:6602
15443 msgid "the updater for @uref{https://cran.r-project.org/, CRAN} packages;"
15444 msgstr ""
15445
15446 #. type: item
15447 #: doc/guix.texi:6602
15448 #, no-wrap
15449 msgid "bioconductor"
15450 msgstr ""
15451
15452 #. type: table
15453 #: doc/guix.texi:6604
15454 msgid ""
15455 "the updater for @uref{https://www.bioconductor.org/, Bioconductor} R "
15456 "packages;"
15457 msgstr ""
15458
15459 #. type: table
15460 #: doc/guix.texi:6606
15461 msgid "the updater for @uref{http://www.cpan.org/, CPAN} packages;"
15462 msgstr ""
15463
15464 #. type: table
15465 #: doc/guix.texi:6608
15466 msgid "the updater for @uref{https://pypi.python.org, PyPI} packages."
15467 msgstr ""
15468
15469 #. type: table
15470 #: doc/guix.texi:6610
15471 msgid "the updater for @uref{https://rubygems.org, RubyGems} packages."
15472 msgstr ""
15473
15474 #. type: item
15475 #: doc/guix.texi:6610
15476 #, no-wrap
15477 msgid "github"
15478 msgstr ""
15479
15480 #. type: table
15481 #: doc/guix.texi:6612
15482 msgid "the updater for @uref{https://github.com, GitHub} packages."
15483 msgstr ""
15484
15485 #. type: table
15486 #: doc/guix.texi:6614
15487 msgid "the updater for @uref{https://hackage.haskell.org, Hackage} packages."
15488 msgstr ""
15489
15490 #. type: table
15491 #: doc/guix.texi:6616
15492 msgid "the updater for @uref{https://www.stackage.org, Stackage} packages."
15493 msgstr ""
15494
15495 #. type: table
15496 #: doc/guix.texi:6618
15497 msgid "the updater for @uref{https://crates.io, Crates} packages."
15498 msgstr ""
15499
15500 #. type: table
15501 #: doc/guix.texi:6622
15502 msgid ""
15503 "For instance, the following command only checks for updates of Emacs "
15504 "packages hosted at @code{elpa.gnu.org} and for updates of CRAN packages:"
15505 msgstr ""
15506
15507 #. type: example
15508 #: doc/guix.texi:6627
15509 #, no-wrap
15510 msgid ""
15511 "$ guix refresh --type=elpa,cran\n"
15512 "gnu/packages/statistics.scm:819:13: r-testthat would be upgraded from 0.10.0 to 0.11.0\n"
15513 "gnu/packages/emacs.scm:856:13: emacs-auctex would be upgraded from 11.88.6 to 11.88.9\n"
15514 msgstr ""
15515
15516 #. type: Plain text
15517 #: doc/guix.texi:6633
15518 msgid ""
15519 "In addition, @command{guix refresh} can be passed one or more package names, "
15520 "as in this example:"
15521 msgstr ""
15522
15523 #. type: example
15524 #: doc/guix.texi:6636
15525 #, no-wrap
15526 msgid "$ ./pre-inst-env guix refresh -u emacs idutils gcc@@4.8\n"
15527 msgstr ""
15528
15529 #. type: Plain text
15530 #: doc/guix.texi:6642
15531 msgid ""
15532 "The command above specifically updates the @code{emacs} and @code{idutils} "
15533 "packages. The @code{--select} option would have no effect in this case."
15534 msgstr ""
15535
15536 #. type: Plain text
15537 #: doc/guix.texi:6647
15538 msgid ""
15539 "When considering whether to upgrade a package, it is sometimes convenient to "
15540 "know which packages would be affected by the upgrade and should be checked "
15541 "for compatibility. For this the following option may be used when passing "
15542 "@command{guix refresh} one or more package names:"
15543 msgstr ""
15544
15545 #. type: item
15546 #: doc/guix.texi:6650
15547 #, no-wrap
15548 msgid "--list-updaters"
15549 msgstr ""
15550
15551 #. type: itemx
15552 #: doc/guix.texi:6651
15553 #, no-wrap
15554 msgid "-L"
15555 msgstr ""
15556
15557 #. type: table
15558 #: doc/guix.texi:6653
15559 msgid "List available updaters and exit (see @option{--type} above.)"
15560 msgstr ""
15561
15562 #. type: table
15563 #: doc/guix.texi:6656
15564 msgid ""
15565 "For each updater, display the fraction of packages it covers; at the end, "
15566 "display the fraction of packages covered by all these updaters."
15567 msgstr ""
15568
15569 #. type: item
15570 #: doc/guix.texi:6657
15571 #, no-wrap
15572 msgid "--list-dependent"
15573 msgstr ""
15574
15575 #. type: itemx
15576 #: doc/guix.texi:6658 doc/guix.texi:6803
15577 #, no-wrap
15578 msgid "-l"
15579 msgstr ""
15580
15581 #. type: table
15582 #: doc/guix.texi:6661
15583 msgid ""
15584 "List top-level dependent packages that would need to be rebuilt as a result "
15585 "of upgrading one or more packages."
15586 msgstr ""
15587
15588 #. type: table
15589 #: doc/guix.texi:6665
15590 msgid ""
15591 "@xref{Invoking guix graph, the @code{reverse-package} type of @command{guix "
15592 "graph}}, for information on how to visualize the list of dependents of a "
15593 "package."
15594 msgstr ""
15595
15596 #. type: Plain text
15597 #: doc/guix.texi:6671
15598 msgid ""
15599 "Be aware that the @code{--list-dependent} option only @emph{approximates} "
15600 "the rebuilds that would be required as a result of an upgrade. More "
15601 "rebuilds might be required under some circumstances."
15602 msgstr ""
15603
15604 #. type: example
15605 #: doc/guix.texi:6676
15606 #, no-wrap
15607 msgid ""
15608 "$ guix refresh --list-dependent flex\n"
15609 "Building the following 120 packages would ensure 213 dependent packages are rebuilt:\n"
15610 "hop@@2.4.0 geiser@@0.4 notmuch@@0.18 mu@@0.9.9.5 cflow@@1.4 idutils@@4.6 @dots{}\n"
15611 msgstr ""
15612
15613 #. type: Plain text
15614 #: doc/guix.texi:6680
15615 msgid ""
15616 "The command above lists a set of packages that could be built to check for "
15617 "compatibility with an upgraded @code{flex} package."
15618 msgstr ""
15619
15620 #. type: Plain text
15621 #: doc/guix.texi:6682
15622 msgid "The following options can be used to customize GnuPG operation:"
15623 msgstr ""
15624
15625 #. type: item
15626 #: doc/guix.texi:6685
15627 #, no-wrap
15628 msgid "--gpg=@var{command}"
15629 msgstr ""
15630
15631 #. type: table
15632 #: doc/guix.texi:6688
15633 msgid ""
15634 "Use @var{command} as the GnuPG 2.x command. @var{command} is searched for "
15635 "in @code{$PATH}."
15636 msgstr ""
15637
15638 #. type: table
15639 #: doc/guix.texi:6692
15640 msgid ""
15641 "Handle missing OpenPGP keys according to @var{policy}, which may be one of:"
15642 msgstr ""
15643
15644 #. type: item
15645 #: doc/guix.texi:6694 doc/guix.texi:13715
15646 #, no-wrap
15647 msgid "always"
15648 msgstr ""
15649
15650 #. type: table
15651 #: doc/guix.texi:6697
15652 msgid ""
15653 "Always download missing OpenPGP keys from the key server, and add them to "
15654 "the user's GnuPG keyring."
15655 msgstr ""
15656
15657 #. type: item
15658 #: doc/guix.texi:6698 doc/guix.texi:13717
15659 #, no-wrap
15660 msgid "never"
15661 msgstr ""
15662
15663 #. type: table
15664 #: doc/guix.texi:6700
15665 msgid "Never try to download missing OpenPGP keys. Instead just bail out."
15666 msgstr ""
15667
15668 #. type: item
15669 #: doc/guix.texi:6701
15670 #, no-wrap
15671 msgid "interactive"
15672 msgstr ""
15673
15674 #. type: table
15675 #: doc/guix.texi:6704
15676 msgid ""
15677 "When a package signed with an unknown OpenPGP key is encountered, ask the "
15678 "user whether to download it or not. This is the default behavior."
15679 msgstr ""
15680
15681 #. type: item
15682 #: doc/guix.texi:6706
15683 #, no-wrap
15684 msgid "--key-server=@var{host}"
15685 msgstr ""
15686
15687 #. type: table
15688 #: doc/guix.texi:6708
15689 msgid "Use @var{host} as the OpenPGP key server when importing a public key."
15690 msgstr ""
15691
15692 #. type: Plain text
15693 #: doc/guix.texi:6721
15694 msgid ""
15695 "The @code{github} updater uses the @uref{https://developer.github.com/v3/, "
15696 "GitHub API} to query for new releases. When used repeatedly e.g. when "
15697 "refreshing all packages, GitHub will eventually refuse to answer any further "
15698 "API requests. By default 60 API requests per hour are allowed, and a full "
15699 "refresh on all GitHub packages in Guix requires more than this. "
15700 "Authentication with GitHub through the use of an API token alleviates these "
15701 "limits. To use an API token, set the environment variable "
15702 "@code{GUIX_GITHUB_TOKEN} to a token procured from @uref{https://github.com/"
15703 "settings/tokens} or otherwise."
15704 msgstr ""
15705
15706 #. type: section
15707 #: doc/guix.texi:6724
15708 #, no-wrap
15709 msgid "Invoking @command{guix lint}"
15710 msgstr ""
15711
15712 #. type: command{#1}
15713 #: doc/guix.texi:6726
15714 #, no-wrap
15715 msgid "guix lint"
15716 msgstr ""
15717
15718 #. type: cindex
15719 #: doc/guix.texi:6727
15720 #, no-wrap
15721 msgid "package, checking for errors"
15722 msgstr ""
15723
15724 #. type: Plain text
15725 #: doc/guix.texi:6733
15726 msgid ""
15727 "The @command{guix lint} command is meant to help package developers avoid "
15728 "common errors and use a consistent style. It runs a number of checks on a "
15729 "given set of packages in order to find common mistakes in their "
15730 "definitions. Available @dfn{checkers} include (see @code{--list-checkers} "
15731 "for a complete list):"
15732 msgstr ""
15733
15734 #. type: table
15735 #: doc/guix.texi:6739
15736 msgid ""
15737 "Validate certain typographical and stylistic rules about package "
15738 "descriptions and synopses."
15739 msgstr ""
15740
15741 #. type: item
15742 #: doc/guix.texi:6740
15743 #, no-wrap
15744 msgid "inputs-should-be-native"
15745 msgstr ""
15746
15747 #. type: table
15748 #: doc/guix.texi:6742
15749 msgid "Identify inputs that should most likely be native inputs."
15750 msgstr ""
15751
15752 #. type: itemx
15753 #: doc/guix.texi:6745
15754 #, no-wrap
15755 msgid "mirror-url"
15756 msgstr ""
15757
15758 #. type: itemx
15759 #: doc/guix.texi:6746
15760 #, no-wrap
15761 msgid "source-file-name"
15762 msgstr ""
15763
15764 #. type: table
15765 #: doc/guix.texi:6752
15766 msgid ""
15767 "Probe @code{home-page} and @code{source} URLs and report those that are "
15768 "invalid. Suggest a @code{mirror://} URL when applicable. Check that the "
15769 "source file name is meaningful, e.g. is not just a version number or ``git-"
15770 "checkout'', without a declared @code{file-name} (@pxref{origin Reference})."
15771 msgstr ""
15772
15773 #. type: item
15774 #: doc/guix.texi:6753
15775 #, no-wrap
15776 msgid "cve"
15777 msgstr ""
15778
15779 #. type: cindex
15780 #: doc/guix.texi:6754 doc/guix.texi:21485
15781 #, no-wrap
15782 msgid "security vulnerabilities"
15783 msgstr ""
15784
15785 #. type: cindex
15786 #: doc/guix.texi:6755
15787 #, no-wrap
15788 msgid "CVE, Common Vulnerabilities and Exposures"
15789 msgstr ""
15790
15791 #. type: table
15792 #: doc/guix.texi:6760
15793 msgid ""
15794 "Report known vulnerabilities found in the Common Vulnerabilities and "
15795 "Exposures (CVE) databases of the current and past year @uref{https://nvd."
15796 "nist.gov/download.cfm#CVE_FEED, published by the US NIST}."
15797 msgstr ""
15798
15799 #. type: table
15800 #: doc/guix.texi:6762
15801 msgid ""
15802 "To view information about a particular vulnerability, visit pages such as:"
15803 msgstr ""
15804
15805 #. type: indicateurl{#1}
15806 #: doc/guix.texi:6766
15807 msgid "https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-YYYY-ABCD"
15808 msgstr ""
15809
15810 #. type: indicateurl{#1}
15811 #: doc/guix.texi:6768
15812 msgid "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-YYYY-ABCD"
15813 msgstr ""
15814
15815 #. type: table
15816 #: doc/guix.texi:6773
15817 msgid ""
15818 "where @code{CVE-YYYY-ABCD} is the CVE identifier---e.g., "
15819 "@code{CVE-2015-7554}."
15820 msgstr ""
15821
15822 #. type: table
15823 #: doc/guix.texi:6778
15824 msgid ""
15825 "Package developers can specify in package recipes the @uref{https://nvd.nist."
15826 "gov/cpe.cfm,Common Platform Enumeration (CPE)} name and version of the "
15827 "package when they differ from the name that Guix uses, as in this example:"
15828 msgstr ""
15829
15830 #. type: example
15831 #: doc/guix.texi:6785
15832 #, no-wrap
15833 msgid ""
15834 "(package\n"
15835 " (name \"grub\")\n"
15836 " ;; @dots{}\n"
15837 " ;; CPE calls this package \"grub2\".\n"
15838 " (properties '((cpe-name . \"grub2\"))))\n"
15839 msgstr ""
15840
15841 #. type: item
15842 #: doc/guix.texi:6787
15843 #, no-wrap
15844 msgid "formatting"
15845 msgstr ""
15846
15847 #. type: table
15848 #: doc/guix.texi:6790
15849 msgid ""
15850 "Warn about obvious source code formatting issues: trailing white space, use "
15851 "of tabulations, etc."
15852 msgstr ""
15853
15854 #. type: example
15855 #: doc/guix.texi:6796
15856 #, no-wrap
15857 msgid "guix lint @var{options} @var{package}@dots{}\n"
15858 msgstr ""
15859
15860 #. type: Plain text
15861 #: doc/guix.texi:6800
15862 msgid ""
15863 "If no package is given on the command line, then all packages are checked. "
15864 "The @var{options} may be zero or more of the following:"
15865 msgstr ""
15866
15867 #. type: item
15868 #: doc/guix.texi:6802
15869 #, no-wrap
15870 msgid "--list-checkers"
15871 msgstr ""
15872
15873 #. type: table
15874 #: doc/guix.texi:6806
15875 msgid ""
15876 "List and describe all the available checkers that will be run on packages "
15877 "and exit."
15878 msgstr ""
15879
15880 #. type: item
15881 #: doc/guix.texi:6807
15882 #, no-wrap
15883 msgid "--checkers"
15884 msgstr ""
15885
15886 #. type: itemx
15887 #: doc/guix.texi:6808
15888 #, no-wrap
15889 msgid "-c"
15890 msgstr ""
15891
15892 #. type: table
15893 #: doc/guix.texi:6811
15894 msgid ""
15895 "Only enable the checkers specified in a comma-separated list using the names "
15896 "returned by @code{--list-checkers}."
15897 msgstr ""
15898
15899 #. type: section
15900 #: doc/guix.texi:6815
15901 #, no-wrap
15902 msgid "Invoking @command{guix size}"
15903 msgstr ""
15904
15905 #. type: cindex
15906 #: doc/guix.texi:6817
15907 #, no-wrap
15908 msgid "size"
15909 msgstr ""
15910
15911 #. type: cindex
15912 #: doc/guix.texi:6818
15913 #, no-wrap
15914 msgid "package size"
15915 msgstr ""
15916
15917 #. type: command{#1}
15918 #: doc/guix.texi:6820
15919 #, no-wrap
15920 msgid "guix size"
15921 msgstr ""
15922
15923 #. type: Plain text
15924 #: doc/guix.texi:6827
15925 msgid ""
15926 "The @command{guix size} command helps package developers profile the disk "
15927 "usage of packages. It is easy to overlook the impact of an additional "
15928 "dependency added to a package, or the impact of using a single output for a "
15929 "package that could easily be split (@pxref{Packages with Multiple "
15930 "Outputs}). Such are the typical issues that @command{guix size} can "
15931 "highlight."
15932 msgstr ""
15933
15934 #. type: Plain text
15935 #: doc/guix.texi:6831
15936 msgid ""
15937 "The command can be passed a package specification such as @code{gcc@@4.8} or "
15938 "@code{guile:debug}, or a file name in the store. Consider this example:"
15939 msgstr ""
15940
15941 #. type: example
15942 #: doc/guix.texi:6841
15943 #, no-wrap
15944 msgid ""
15945 "$ guix size coreutils\n"
15946 "store item total self\n"
15947 "/gnu/store/@dots{}-coreutils-8.23 70.0 13.9 19.8%\n"
15948 "/gnu/store/@dots{}-gmp-6.0.0a 55.3 2.5 3.6%\n"
15949 "/gnu/store/@dots{}-acl-2.2.52 53.7 0.5 0.7%\n"
15950 "/gnu/store/@dots{}-attr-2.4.46 53.2 0.3 0.5%\n"
15951 "/gnu/store/@dots{}-gcc-4.8.4-lib 52.9 15.7 22.4%\n"
15952 "/gnu/store/@dots{}-glibc-2.21 37.2 37.2 53.1%\n"
15953 msgstr ""
15954
15955 #. type: Plain text
15956 #: doc/guix.texi:6847
15957 msgid ""
15958 "The store items listed here constitute the @dfn{transitive closure} of "
15959 "Coreutils---i.e., Coreutils and all its dependencies, recursively---as would "
15960 "be returned by:"
15961 msgstr ""
15962
15963 #. type: example
15964 #: doc/guix.texi:6850
15965 #, no-wrap
15966 msgid "$ guix gc -R /gnu/store/@dots{}-coreutils-8.23\n"
15967 msgstr ""
15968
15969 #. type: Plain text
15970 #: doc/guix.texi:6858
15971 msgid ""
15972 "Here the output shows three columns next to store items. The first column, "
15973 "labeled ``total'', shows the size in mebibytes (MiB) of the closure of the "
15974 "store item---that is, its own size plus the size of all its dependencies. "
15975 "The next column, labeled ``self'', shows the size of the item itself. The "
15976 "last column shows the ratio of the size of the item itself to the space "
15977 "occupied by all the items listed here."
15978 msgstr ""
15979
15980 #. type: Plain text
15981 #: doc/guix.texi:6863
15982 msgid ""
15983 "In this example, we see that the closure of Coreutils weighs in at 70@tie{}"
15984 "MiB, half of which is taken by libc. (That libc represents a large fraction "
15985 "of the closure is not a problem @i{per se} because it is always available on "
15986 "the system anyway.)"
15987 msgstr ""
15988
15989 #. type: Plain text
15990 #: doc/guix.texi:6869
15991 msgid ""
15992 "When the package passed to @command{guix size} is available in the store, "
15993 "@command{guix size} queries the daemon to determine its dependencies, and "
15994 "measures its size in the store, similar to @command{du -ms --apparent-size} "
15995 "(@pxref{du invocation,,, coreutils, GNU Coreutils})."
15996 msgstr ""
15997
15998 #. type: Plain text
15999 #: doc/guix.texi:6874
16000 msgid ""
16001 "When the given package is @emph{not} in the store, @command{guix size} "
16002 "reports information based on the available substitutes "
16003 "(@pxref{Substitutes}). This makes it possible it to profile disk usage of "
16004 "store items that are not even on disk, only available remotely."
16005 msgstr ""
16006 "Lorsque le paquet donné n'est @emph{pas} dans le dépôt, @command{guix size} "
16007 "rapporte les informations en se basant sur les substituts disponibles "
16008 "(@pxref{Substituts}). Cela permet de profiler l'utilisation du disque des "
16009 "éléments du dépôt qui ne sont pas sur le disque, mais seulement disponibles "
16010 "à distance."
16011
16012 #. type: Plain text
16013 #: doc/guix.texi:6876
16014 msgid "You can also specify several package names:"
16015 msgstr ""
16016
16017 #. type: example
16018 #: doc/guix.texi:6886
16019 #, no-wrap
16020 msgid ""
16021 "$ guix size coreutils grep sed bash\n"
16022 "store item total self\n"
16023 "/gnu/store/@dots{}-coreutils-8.24 77.8 13.8 13.4%\n"
16024 "/gnu/store/@dots{}-grep-2.22 73.1 0.8 0.8%\n"
16025 "/gnu/store/@dots{}-bash-4.3.42 72.3 4.7 4.6%\n"
16026 "/gnu/store/@dots{}-readline-6.3 67.6 1.2 1.2%\n"
16027 "@dots{}\n"
16028 "total: 102.3 MiB\n"
16029 msgstr ""
16030
16031 #. type: Plain text
16032 #: doc/guix.texi:6892
16033 msgid ""
16034 "In this example we see that the combination of the four packages takes "
16035 "102.3@tie{}MiB in total, which is much less than the sum of each closure "
16036 "since they have a lot of dependencies in common."
16037 msgstr ""
16038
16039 #. type: Plain text
16040 #: doc/guix.texi:6894
16041 msgid "The available options are:"
16042 msgstr ""
16043
16044 #. type: table
16045 #: doc/guix.texi:6900
16046 msgid ""
16047 "Use substitute information from @var{urls}. @xref{client-substitute-urls, "
16048 "the same option for @code{guix build}}."
16049 msgstr ""
16050
16051 #. type: item
16052 #: doc/guix.texi:6901
16053 #, no-wrap
16054 msgid "--sort=@var{key}"
16055 msgstr ""
16056
16057 #. type: table
16058 #: doc/guix.texi:6903
16059 msgid "Sort lines according to @var{key}, one of the following options:"
16060 msgstr ""
16061
16062 #. type: item
16063 #: doc/guix.texi:6905
16064 #, no-wrap
16065 msgid "self"
16066 msgstr ""
16067
16068 #. type: table
16069 #: doc/guix.texi:6907
16070 msgid "the size of each item (the default);"
16071 msgstr ""
16072
16073 #. type: table
16074 #: doc/guix.texi:6909
16075 msgid "the total size of the item's closure."
16076 msgstr ""
16077
16078 #. type: item
16079 #: doc/guix.texi:6911
16080 #, no-wrap
16081 msgid "--map-file=@var{file}"
16082 msgstr ""
16083
16084 #. type: table
16085 #: doc/guix.texi:6913
16086 msgid "Write a graphical map of disk usage in PNG format to @var{file}."
16087 msgstr ""
16088
16089 #. type: table
16090 #: doc/guix.texi:6915
16091 msgid "For the example above, the map looks like this:"
16092 msgstr ""
16093
16094 #. type: table
16095 #: doc/guix.texi:6918
16096 msgid ""
16097 "@image{images/coreutils-size-map,5in,, map of Coreutils disk usage produced "
16098 "by @command{guix size}}"
16099 msgstr ""
16100
16101 #. type: table
16102 #: doc/guix.texi:6923
16103 msgid ""
16104 "This option requires that @uref{http://wingolog.org/software/guile-"
16105 "charting/, Guile-Charting} be installed and visible in Guile's module search "
16106 "path. When that is not the case, @command{guix size} fails as it tries to "
16107 "load it."
16108 msgstr ""
16109
16110 #. type: table
16111 #: doc/guix.texi:6927
16112 msgid "Consider packages for @var{system}---e.g., @code{x86_64-linux}."
16113 msgstr ""
16114
16115 #. type: section
16116 #: doc/guix.texi:6931
16117 #, no-wrap
16118 msgid "Invoking @command{guix graph}"
16119 msgstr ""
16120
16121 #. type: cindex
16122 #: doc/guix.texi:6933
16123 #, no-wrap
16124 msgid "DAG"
16125 msgstr ""
16126
16127 #. type: command{#1}
16128 #: doc/guix.texi:6934
16129 #, no-wrap
16130 msgid "guix graph"
16131 msgstr ""
16132
16133 #. type: Plain text
16134 #: doc/guix.texi:6948
16135 msgid ""
16136 "Packages and their dependencies form a @dfn{graph}, specifically a directed "
16137 "acyclic graph (DAG). It can quickly become difficult to have a mental model "
16138 "of the package DAG, so the @command{guix graph} command provides a visual "
16139 "representation of the DAG. By default, @command{guix graph} emits a DAG "
16140 "representation in the input format of @uref{http://www.graphviz.org/, "
16141 "Graphviz}, so its output can be passed directly to the @command{dot} command "
16142 "of Graphviz. It can also emit an HTML page with embedded JavaScript code to "
16143 "display a ``chord diagram'' in a Web browser, using the @uref{https://d3js."
16144 "org/, d3.js} library, or emit Cypher queries to construct a graph in a graph "
16145 "database supporting the @uref{http://www.opencypher.org/, openCypher} query "
16146 "language. The general syntax is:"
16147 msgstr ""
16148
16149 #. type: example
16150 #: doc/guix.texi:6951
16151 #, no-wrap
16152 msgid "guix graph @var{options} @var{package}@dots{}\n"
16153 msgstr ""
16154
16155 #. type: Plain text
16156 #: doc/guix.texi:6956
16157 msgid ""
16158 "For example, the following command generates a PDF file representing the "
16159 "package DAG for the GNU@tie{}Core Utilities, showing its build-time "
16160 "dependencies:"
16161 msgstr ""
16162
16163 #. type: example
16164 #: doc/guix.texi:6959
16165 #, no-wrap
16166 msgid "guix graph coreutils | dot -Tpdf > dag.pdf\n"
16167 msgstr ""
16168
16169 #. type: Plain text
16170 #: doc/guix.texi:6962
16171 msgid "The output looks like this:"
16172 msgstr ""
16173
16174 #. type: Plain text
16175 #: doc/guix.texi:6964
16176 msgid ""
16177 "@image{images/coreutils-graph,2in,,Dependency graph of the GNU Coreutils}"
16178 msgstr ""
16179
16180 #. type: Plain text
16181 #: doc/guix.texi:6966
16182 msgid "Nice little graph, no?"
16183 msgstr ""
16184
16185 #. type: Plain text
16186 #: doc/guix.texi:6972
16187 msgid ""
16188 "But there is more than one graph! The one above is concise: it is the graph "
16189 "of package objects, omitting implicit inputs such as GCC, libc, grep, etc. "
16190 "It is often useful to have such a concise graph, but sometimes one may want "
16191 "to see more details. @command{guix graph} supports several types of graphs, "
16192 "allowing you to choose the level of detail:"
16193 msgstr ""
16194
16195 #. type: table
16196 #: doc/guix.texi:6978
16197 msgid ""
16198 "This is the default type used in the example above. It shows the DAG of "
16199 "package objects, excluding implicit dependencies. It is concise, but "
16200 "filters out many details."
16201 msgstr ""
16202
16203 #. type: item
16204 #: doc/guix.texi:6979
16205 #, no-wrap
16206 msgid "reverse-package"
16207 msgstr ""
16208
16209 #. type: table
16210 #: doc/guix.texi:6981
16211 msgid "This shows the @emph{reverse} DAG of packages. For example:"
16212 msgstr ""
16213
16214 #. type: example
16215 #: doc/guix.texi:6984
16216 #, no-wrap
16217 msgid "guix graph --type=reverse-package ocaml\n"
16218 msgstr ""
16219
16220 #. type: table
16221 #: doc/guix.texi:6987
16222 msgid "... yields the graph of packages that depend on OCaml."
16223 msgstr ""
16224
16225 #. type: table
16226 #: doc/guix.texi:6992
16227 msgid ""
16228 "Note that for core packages this can yield huge graphs. If all you want is "
16229 "to know the number of packages that depend on a given package, use "
16230 "@command{guix refresh --list-dependent} (@pxref{Invoking guix refresh, "
16231 "@option{--list-dependent}})."
16232 msgstr ""
16233
16234 #. type: item
16235 #: doc/guix.texi:6993
16236 #, no-wrap
16237 msgid "bag-emerged"
16238 msgstr ""
16239
16240 #. type: table
16241 #: doc/guix.texi:6995
16242 msgid "This is the package DAG, @emph{including} implicit inputs."
16243 msgstr ""
16244
16245 #. type: table
16246 #: doc/guix.texi:6997
16247 msgid "For instance, the following command:"
16248 msgstr ""
16249
16250 #. type: example
16251 #: doc/guix.texi:7000
16252 #, no-wrap
16253 msgid "guix graph --type=bag-emerged coreutils | dot -Tpdf > dag.pdf\n"
16254 msgstr ""
16255
16256 #. type: table
16257 #: doc/guix.texi:7003
16258 msgid "... yields this bigger graph:"
16259 msgstr ""
16260
16261 #. type: table
16262 #: doc/guix.texi:7005
16263 msgid ""
16264 "@image{images/coreutils-bag-graph,,5in,Detailed dependency graph of the GNU "
16265 "Coreutils}"
16266 msgstr ""
16267
16268 #. type: table
16269 #: doc/guix.texi:7008
16270 msgid ""
16271 "At the bottom of the graph, we see all the implicit inputs of @var{gnu-build-"
16272 "system} (@pxref{Build Systems, @code{gnu-build-system}})."
16273 msgstr ""
16274
16275 #. type: table
16276 #: doc/guix.texi:7012
16277 msgid ""
16278 "Now, note that the dependencies of these implicit inputs---that is, the "
16279 "@dfn{bootstrap dependencies} (@pxref{Bootstrapping})---are not shown here, "
16280 "for conciseness."
16281 msgstr ""
16282
16283 #. type: item
16284 #: doc/guix.texi:7013
16285 #, no-wrap
16286 msgid "bag"
16287 msgstr ""
16288
16289 #. type: table
16290 #: doc/guix.texi:7016
16291 msgid ""
16292 "Similar to @code{bag-emerged}, but this time including all the bootstrap "
16293 "dependencies."
16294 msgstr ""
16295
16296 #. type: item
16297 #: doc/guix.texi:7017
16298 #, no-wrap
16299 msgid "bag-with-origins"
16300 msgstr ""
16301
16302 #. type: table
16303 #: doc/guix.texi:7019
16304 msgid "Similar to @code{bag}, but also showing origins and their dependencies."
16305 msgstr ""
16306
16307 #. type: table
16308 #: doc/guix.texi:7025
16309 msgid ""
16310 "This is the most detailed representation: It shows the DAG of derivations "
16311 "(@pxref{Derivations}) and plain store items. Compared to the above "
16312 "representation, many additional nodes are visible, including build scripts, "
16313 "patches, Guile modules, etc."
16314 msgstr ""
16315
16316 #. type: table
16317 #: doc/guix.texi:7028
16318 msgid ""
16319 "For this type of graph, it is also possible to pass a @file{.drv} file name "
16320 "instead of a package name, as in:"
16321 msgstr ""
16322
16323 #. type: example
16324 #: doc/guix.texi:7031
16325 #, no-wrap
16326 msgid "guix graph -t derivation `guix system build -d my-config.scm`\n"
16327 msgstr ""
16328
16329 #. type: item
16330 #: doc/guix.texi:7033
16331 #, no-wrap
16332 msgid "module"
16333 msgstr "module"
16334
16335 #. type: table
16336 #: doc/guix.texi:7037
16337 msgid ""
16338 "This is the graph of @dfn{package modules} (@pxref{Package Modules}). For "
16339 "example, the following command shows the graph for the package module that "
16340 "defines the @code{guile} package:"
16341 msgstr ""
16342
16343 #. type: example
16344 #: doc/guix.texi:7040
16345 #, no-wrap
16346 msgid "guix graph -t module guile | dot -Tpdf > module-graph.pdf\n"
16347 msgstr ""
16348
16349 #. type: Plain text
16350 #: doc/guix.texi:7045
16351 msgid ""
16352 "All the types above correspond to @emph{build-time dependencies}. The "
16353 "following graph type represents the @emph{run-time dependencies}:"
16354 msgstr ""
16355
16356 #. type: item
16357 #: doc/guix.texi:7047
16358 #, no-wrap
16359 msgid "references"
16360 msgstr ""
16361
16362 #. type: table
16363 #: doc/guix.texi:7050
16364 msgid ""
16365 "This is the graph of @dfn{references} of a package output, as returned by "
16366 "@command{guix gc --references} (@pxref{Invoking guix gc})."
16367 msgstr ""
16368
16369 #. type: table
16370 #: doc/guix.texi:7053
16371 msgid ""
16372 "If the given package output is not available in the store, @command{guix "
16373 "graph} attempts to obtain dependency information from substitutes."
16374 msgstr ""
16375
16376 #. type: table
16377 #: doc/guix.texi:7057
16378 msgid ""
16379 "Here you can also pass a store file name instead of a package name. For "
16380 "example, the command below produces the reference graph of your profile "
16381 "(which can be big!):"
16382 msgstr ""
16383
16384 #. type: example
16385 #: doc/guix.texi:7060
16386 #, no-wrap
16387 msgid "guix graph -t references `readlink -f ~/.guix-profile`\n"
16388 msgstr ""
16389
16390 #. type: item
16391 #: doc/guix.texi:7062
16392 #, no-wrap
16393 msgid "referrers"
16394 msgstr ""
16395
16396 #. type: table
16397 #: doc/guix.texi:7065
16398 msgid ""
16399 "This is the graph of the @dfn{referrers} of a store item, as returned by "
16400 "@command{guix gc --referrers} (@pxref{Invoking guix gc})."
16401 msgstr ""
16402
16403 #. type: table
16404 #: doc/guix.texi:7071
16405 msgid ""
16406 "This relies exclusively on local information from your store. For instance, "
16407 "let us suppose that the current Inkscape is available in 10 profiles on your "
16408 "machine; @command{guix graph -t referrers inkscape} will show a graph rooted "
16409 "at Inkscape and with those 10 profiles linked to it."
16410 msgstr ""
16411
16412 #. type: table
16413 #: doc/guix.texi:7074
16414 msgid ""
16415 "It can help determine what is preventing a store item from being garbage "
16416 "collected."
16417 msgstr ""
16418
16419 #. type: Plain text
16420 #: doc/guix.texi:7078
16421 msgid "The available options are the following:"
16422 msgstr ""
16423
16424 #. type: item
16425 #: doc/guix.texi:7080
16426 #, no-wrap
16427 msgid "--type=@var{type}"
16428 msgstr ""
16429
16430 #. type: itemx
16431 #: doc/guix.texi:7081 doc/guix.texi:20603
16432 #, no-wrap
16433 msgid "-t @var{type}"
16434 msgstr ""
16435
16436 #. type: table
16437 #: doc/guix.texi:7084
16438 msgid ""
16439 "Produce a graph output of @var{type}, where @var{type} must be one of the "
16440 "values listed above."
16441 msgstr ""
16442
16443 #. type: item
16444 #: doc/guix.texi:7085
16445 #, no-wrap
16446 msgid "--list-types"
16447 msgstr ""
16448
16449 #. type: table
16450 #: doc/guix.texi:7087
16451 msgid "List the supported graph types."
16452 msgstr ""
16453
16454 #. type: item
16455 #: doc/guix.texi:7088
16456 #, no-wrap
16457 msgid "--backend=@var{backend}"
16458 msgstr ""
16459
16460 #. type: itemx
16461 #: doc/guix.texi:7089
16462 #, no-wrap
16463 msgid "-b @var{backend}"
16464 msgstr ""
16465
16466 #. type: table
16467 #: doc/guix.texi:7091
16468 msgid "Produce a graph using the selected @var{backend}."
16469 msgstr ""
16470
16471 #. type: item
16472 #: doc/guix.texi:7092
16473 #, no-wrap
16474 msgid "--list-backends"
16475 msgstr ""
16476
16477 #. type: table
16478 #: doc/guix.texi:7094
16479 msgid "List the supported graph backends."
16480 msgstr ""
16481
16482 #. type: table
16483 #: doc/guix.texi:7096
16484 msgid "Currently, the available backends are Graphviz and d3.js."
16485 msgstr ""
16486
16487 #. type: example
16488 #: doc/guix.texi:7105
16489 #, no-wrap
16490 msgid "guix graph -e '(@@@@ (gnu packages commencement) gnu-make-final)'\n"
16491 msgstr ""
16492
16493 #. type: section
16494 #: doc/guix.texi:7110
16495 #, no-wrap
16496 msgid "Invoking @command{guix environment}"
16497 msgstr ""
16498
16499 #. type: cindex
16500 #: doc/guix.texi:7112
16501 #, no-wrap
16502 msgid "reproducible build environments"
16503 msgstr ""
16504
16505 #. type: cindex
16506 #: doc/guix.texi:7113
16507 #, no-wrap
16508 msgid "development environments"
16509 msgstr ""
16510
16511 #. type: command{#1}
16512 #: doc/guix.texi:7114
16513 #, no-wrap
16514 msgid "guix environment"
16515 msgstr ""
16516
16517 #. type: cindex
16518 #: doc/guix.texi:7115
16519 #, no-wrap
16520 msgid "environment, package build environment"
16521 msgstr ""
16522
16523 #. type: Plain text
16524 #: doc/guix.texi:7121
16525 msgid ""
16526 "The purpose of @command{guix environment} is to assist hackers in creating "
16527 "reproducible development environments without polluting their package "
16528 "profile. The @command{guix environment} tool takes one or more packages, "
16529 "builds all of their inputs, and creates a shell environment to use them."
16530 msgstr ""
16531
16532 #. type: example
16533 #: doc/guix.texi:7126
16534 #, no-wrap
16535 msgid "guix environment @var{options} @var{package}@dots{}\n"
16536 msgstr ""
16537
16538 #. type: Plain text
16539 #: doc/guix.texi:7130
16540 msgid ""
16541 "The following example spawns a new shell set up for the development of "
16542 "GNU@tie{}Guile:"
16543 msgstr ""
16544
16545 #. type: example
16546 #: doc/guix.texi:7133
16547 #, no-wrap
16548 msgid "guix environment guile\n"
16549 msgstr ""
16550
16551 #. type: Plain text
16552 #: doc/guix.texi:7150
16553 msgid ""
16554 "If the needed dependencies are not built yet, @command{guix environment} "
16555 "automatically builds them. The environment of the new shell is an augmented "
16556 "version of the environment that @command{guix environment} was run in. It "
16557 "contains the necessary search paths for building the given package added to "
16558 "the existing environment variables. To create a ``pure'' environment, in "
16559 "which the original environment variables have been unset, use the @code{--"
16560 "pure} option@footnote{Users sometimes wrongfully augment environment "
16561 "variables such as @code{PATH} in their @file{~/.bashrc} file. As a "
16562 "consequence, when @code{guix environment} launches it, Bash may read "
16563 "@file{~/.bashrc}, thereby introducing ``impurities'' in these environment "
16564 "variables. It is an error to define such environment variables in @file{."
16565 "bashrc}; instead, they should be defined in @file{.bash_profile}, which is "
16566 "sourced only by log-in shells. @xref{Bash Startup Files,,, bash, The GNU "
16567 "Bash Reference Manual}, for details on Bash start-up files.}."
16568 msgstr ""
16569
16570 #. type: vindex
16571 #: doc/guix.texi:7151
16572 #, no-wrap
16573 msgid "GUIX_ENVIRONMENT"
16574 msgstr ""
16575
16576 #. type: Plain text
16577 #: doc/guix.texi:7157
16578 msgid ""
16579 "@command{guix environment} defines the @code{GUIX_ENVIRONMENT} variable in "
16580 "the shell it spawns; its value is the file name of the profile of this "
16581 "environment. This allows users to, say, define a specific prompt for "
16582 "development environments in their @file{.bashrc} (@pxref{Bash Startup "
16583 "Files,,, bash, The GNU Bash Reference Manual}):"
16584 msgstr ""
16585
16586 #. type: example
16587 #: doc/guix.texi:7163
16588 #, no-wrap
16589 msgid ""
16590 "if [ -n \"$GUIX_ENVIRONMENT\" ]\n"
16591 "then\n"
16592 " export PS1=\"\\u@@\\h \\w [dev]\\$ \"\n"
16593 "fi\n"
16594 msgstr ""
16595
16596 #. type: Plain text
16597 #: doc/guix.texi:7167
16598 msgid "... or to browse the profile:"
16599 msgstr ""
16600
16601 #. type: example
16602 #: doc/guix.texi:7170
16603 #, no-wrap
16604 msgid "$ ls \"$GUIX_ENVIRONMENT/bin\"\n"
16605 msgstr ""
16606
16607 #. type: Plain text
16608 #: doc/guix.texi:7176
16609 msgid ""
16610 "Additionally, more than one package may be specified, in which case the "
16611 "union of the inputs for the given packages are used. For example, the "
16612 "command below spawns a shell where all of the dependencies of both Guile and "
16613 "Emacs are available:"
16614 msgstr ""
16615
16616 #. type: example
16617 #: doc/guix.texi:7179
16618 #, no-wrap
16619 msgid "guix environment guile emacs\n"
16620 msgstr ""
16621
16622 #. type: Plain text
16623 #: doc/guix.texi:7184
16624 msgid ""
16625 "Sometimes an interactive shell session is not desired. An arbitrary command "
16626 "may be invoked by placing the @code{--} token to separate the command from "
16627 "the rest of the arguments:"
16628 msgstr ""
16629
16630 #. type: example
16631 #: doc/guix.texi:7187
16632 #, no-wrap
16633 msgid "guix environment guile -- make -j4\n"
16634 msgstr ""
16635
16636 #. type: Plain text
16637 #: doc/guix.texi:7193
16638 msgid ""
16639 "In other situations, it is more convenient to specify the list of packages "
16640 "needed in the environment. For example, the following command runs "
16641 "@command{python} from an environment containing Python@tie{}2.7 and NumPy:"
16642 msgstr ""
16643
16644 #. type: example
16645 #: doc/guix.texi:7196
16646 #, no-wrap
16647 msgid "guix environment --ad-hoc python2-numpy python-2.7 -- python\n"
16648 msgstr ""
16649
16650 #. type: Plain text
16651 #: doc/guix.texi:7207
16652 msgid ""
16653 "Furthermore, one might want the dependencies of a package and also some "
16654 "additional packages that are not build-time or runtime dependencies, but are "
16655 "useful when developing nonetheless. Because of this, the @code{--ad-hoc} "
16656 "flag is positional. Packages appearing before @code{--ad-hoc} are "
16657 "interpreted as packages whose dependencies will be added to the "
16658 "environment. Packages appearing after are interpreted as packages that will "
16659 "be added to the environment directly. For example, the following command "
16660 "creates a Guix development environment that additionally includes Git and "
16661 "strace:"
16662 msgstr ""
16663
16664 #. type: example
16665 #: doc/guix.texi:7210
16666 #, no-wrap
16667 msgid "guix environment guix --ad-hoc git strace\n"
16668 msgstr ""
16669
16670 #. type: Plain text
16671 #: doc/guix.texi:7219
16672 msgid ""
16673 "Sometimes it is desirable to isolate the environment as much as possible, "
16674 "for maximal purity and reproducibility. In particular, when using Guix on a "
16675 "host distro that is not GuixSD, it is desirable to prevent access to @file{/"
16676 "usr/bin} and other system-wide resources from the development environment. "
16677 "For example, the following command spawns a Guile REPL in a ``container'' "
16678 "where only the store and the current working directory are mounted:"
16679 msgstr ""
16680
16681 #. type: example
16682 #: doc/guix.texi:7222
16683 #, no-wrap
16684 msgid "guix environment --ad-hoc --container guile -- guile\n"
16685 msgstr ""
16686
16687 #. type: quotation
16688 #: doc/guix.texi:7226
16689 msgid "The @code{--container} option requires Linux-libre 3.19 or newer."
16690 msgstr ""
16691
16692 #. type: Plain text
16693 #: doc/guix.texi:7229
16694 msgid "The available options are summarized below."
16695 msgstr ""
16696
16697 #. type: cindex
16698 #: doc/guix.texi:7233
16699 #, no-wrap
16700 msgid "persistent environment"
16701 msgstr ""
16702
16703 #. type: cindex
16704 #: doc/guix.texi:7234
16705 #, no-wrap
16706 msgid "garbage collector root, for environments"
16707 msgstr ""
16708
16709 #. type: table
16710 #: doc/guix.texi:7237
16711 msgid ""
16712 "Make @var{file} a symlink to the profile for this environment, and register "
16713 "it as a garbage collector root."
16714 msgstr ""
16715
16716 #. type: table
16717 #: doc/guix.texi:7240
16718 msgid ""
16719 "This is useful if you want to protect your environment from garbage "
16720 "collection, to make it ``persistent''."
16721 msgstr ""
16722
16723 #. type: table
16724 #: doc/guix.texi:7246
16725 msgid ""
16726 "When this option is omitted, the environment is protected from garbage "
16727 "collection only for the duration of the @command{guix environment} session. "
16728 "This means that next time you recreate the same environment, you could have "
16729 "to rebuild or re-download packages. @xref{Invoking guix gc}, for more on GC "
16730 "roots."
16731 msgstr ""
16732
16733 #. type: table
16734 #: doc/guix.texi:7251
16735 msgid ""
16736 "Create an environment for the package or list of packages that @var{expr} "
16737 "evaluates to."
16738 msgstr ""
16739
16740 #. type: table
16741 #: doc/guix.texi:7253
16742 msgid "For example, running:"
16743 msgstr ""
16744
16745 #. type: example
16746 #: doc/guix.texi:7256
16747 #, no-wrap
16748 msgid "guix environment -e '(@@ (gnu packages maths) petsc-openmpi)'\n"
16749 msgstr ""
16750
16751 #. type: table
16752 #: doc/guix.texi:7260
16753 msgid ""
16754 "starts a shell with the environment for this specific variant of the PETSc "
16755 "package."
16756 msgstr ""
16757
16758 #. type: table
16759 #: doc/guix.texi:7262
16760 msgid "Running:"
16761 msgstr ""
16762
16763 #. type: example
16764 #: doc/guix.texi:7265
16765 #, no-wrap
16766 msgid "guix environment --ad-hoc -e '(@@ (gnu) %base-packages)'\n"
16767 msgstr ""
16768
16769 #. type: table
16770 #: doc/guix.texi:7268
16771 msgid "starts a shell with all the GuixSD base packages available."
16772 msgstr ""
16773
16774 #. type: table
16775 #: doc/guix.texi:7271
16776 msgid ""
16777 "The above commands only use the default output of the given packages. To "
16778 "select other outputs, two element tuples can be specified:"
16779 msgstr ""
16780
16781 #. type: example
16782 #: doc/guix.texi:7274
16783 #, no-wrap
16784 msgid "guix environment --ad-hoc -e '(list (@@ (gnu packages bash) bash) \"include\")'\n"
16785 msgstr ""
16786
16787 #. type: item
16788 #: doc/guix.texi:7276
16789 #, no-wrap
16790 msgid "--load=@var{file}"
16791 msgstr ""
16792
16793 #. type: itemx
16794 #: doc/guix.texi:7277
16795 #, no-wrap
16796 msgid "-l @var{file}"
16797 msgstr ""
16798
16799 #. type: table
16800 #: doc/guix.texi:7280
16801 msgid ""
16802 "Create an environment for the package or list of packages that the code "
16803 "within @var{file} evaluates to."
16804 msgstr ""
16805
16806 #. type: example
16807 #: doc/guix.texi:7286
16808 #, no-wrap
16809 msgid "@verbatiminclude environment-gdb.scm\n"
16810 msgstr ""
16811
16812 #. type: table
16813 #: doc/guix.texi:7292
16814 msgid ""
16815 "Create an environment for the packages contained in the manifest object "
16816 "returned by the Scheme code in @var{file}."
16817 msgstr ""
16818
16819 #. type: table
16820 #: doc/guix.texi:7296
16821 msgid ""
16822 "This is similar to the same-named option in @command{guix package} "
16823 "(@pxref{profile-manifest, @option{--manifest}}) and uses the same manifest "
16824 "files."
16825 msgstr ""
16826
16827 #. type: item
16828 #: doc/guix.texi:7297
16829 #, no-wrap
16830 msgid "--ad-hoc"
16831 msgstr ""
16832
16833 #. type: table
16834 #: doc/guix.texi:7302
16835 msgid ""
16836 "Include all specified packages in the resulting environment, as if an @i{ad "
16837 "hoc} package were defined with them as inputs. This option is useful for "
16838 "quickly creating an environment without having to write a package expression "
16839 "to contain the desired inputs."
16840 msgstr ""
16841
16842 #. type: table
16843 #: doc/guix.texi:7304
16844 msgid "For instance, the command:"
16845 msgstr ""
16846
16847 #. type: example
16848 #: doc/guix.texi:7307
16849 #, no-wrap
16850 msgid "guix environment --ad-hoc guile guile-sdl -- guile\n"
16851 msgstr ""
16852
16853 #. type: table
16854 #: doc/guix.texi:7311
16855 msgid ""
16856 "runs @command{guile} in an environment where Guile and Guile-SDL are "
16857 "available."
16858 msgstr ""
16859
16860 #. type: table
16861 #: doc/guix.texi:7316
16862 msgid ""
16863 "Note that this example implicitly asks for the default output of "
16864 "@code{guile} and @code{guile-sdl}, but it is possible to ask for a specific "
16865 "output---e.g., @code{glib:bin} asks for the @code{bin} output of @code{glib} "
16866 "(@pxref{Packages with Multiple Outputs})."
16867 msgstr ""
16868
16869 #. type: table
16870 #: doc/guix.texi:7322
16871 msgid ""
16872 "This option may be composed with the default behavior of @command{guix "
16873 "environment}. Packages appearing before @code{--ad-hoc} are interpreted as "
16874 "packages whose dependencies will be added to the environment, the default "
16875 "behavior. Packages appearing after are interpreted as packages that will be "
16876 "added to the environment directly."
16877 msgstr ""
16878
16879 #. type: item
16880 #: doc/guix.texi:7323
16881 #, no-wrap
16882 msgid "--pure"
16883 msgstr ""
16884
16885 #. type: table
16886 #: doc/guix.texi:7327
16887 msgid ""
16888 "Unset existing environment variables when building the new environment. "
16889 "This has the effect of creating an environment in which search paths only "
16890 "contain package inputs."
16891 msgstr ""
16892
16893 #. type: item
16894 #: doc/guix.texi:7328
16895 #, no-wrap
16896 msgid "--search-paths"
16897 msgstr ""
16898
16899 #. type: table
16900 #: doc/guix.texi:7331
16901 msgid ""
16902 "Display the environment variable definitions that make up the environment."
16903 msgstr ""
16904
16905 #. type: table
16906 #: doc/guix.texi:7335
16907 msgid "Attempt to build for @var{system}---e.g., @code{i686-linux}."
16908 msgstr ""
16909
16910 #. type: item
16911 #: doc/guix.texi:7336
16912 #, no-wrap
16913 msgid "--container"
16914 msgstr ""
16915
16916 #. type: itemx
16917 #: doc/guix.texi:7337
16918 #, no-wrap
16919 msgid "-C"
16920 msgstr ""
16921
16922 #. type: item
16923 #: doc/guix.texi:7338 doc/guix.texi:7849 doc/guix.texi:20552
16924 #, no-wrap
16925 msgid "container"
16926 msgstr ""
16927
16928 #. type: table
16929 #: doc/guix.texi:7346
16930 msgid ""
16931 "Run @var{command} within an isolated container. The current working "
16932 "directory outside the container is mapped inside the container. "
16933 "Additionally, unless overridden with @code{--user}, a dummy home directory "
16934 "is created that matches the current user's home directory, and @file{/etc/"
16935 "passwd} is configured accordingly. The spawned process runs as the current "
16936 "user outside the container, but has root privileges in the context of the "
16937 "container."
16938 msgstr ""
16939
16940 #. type: item
16941 #: doc/guix.texi:7347
16942 #, no-wrap
16943 msgid "--network"
16944 msgstr ""
16945
16946 #. type: itemx
16947 #: doc/guix.texi:7348
16948 #, no-wrap
16949 msgid "-N"
16950 msgstr ""
16951
16952 #. type: table
16953 #: doc/guix.texi:7352
16954 msgid ""
16955 "For containers, share the network namespace with the host system. "
16956 "Containers created without this flag only have access to the loopback device."
16957 msgstr ""
16958
16959 #. type: item
16960 #: doc/guix.texi:7353
16961 #, no-wrap
16962 msgid "--link-profile"
16963 msgstr ""
16964
16965 #. type: itemx
16966 #: doc/guix.texi:7354
16967 #, no-wrap
16968 msgid "-P"
16969 msgstr ""
16970
16971 #. type: table
16972 #: doc/guix.texi:7361
16973 msgid ""
16974 "For containers, link the environment profile to @file{~/.guix-profile} "
16975 "within the container. This is equivalent to running the command @command{ln "
16976 "-s $GUIX_ENVIRONMENT ~/.guix-profile} within the container. Linking will "
16977 "fail and abort the environment if the directory already exists, which will "
16978 "certainly be the case if @command{guix environment} was invoked in the "
16979 "user's home directory."
16980 msgstr ""
16981
16982 #. type: table
16983 #: doc/guix.texi:7368
16984 msgid ""
16985 "Certain packages are configured to look in @code{~/.guix-profile} for "
16986 "configuration files and data;@footnote{For example, the @code{fontconfig} "
16987 "package inspects @file{~/.guix-profile/share/fonts} for additional fonts.} "
16988 "@code{--link-profile} allows these programs to behave as expected within the "
16989 "environment."
16990 msgstr ""
16991
16992 #. type: item
16993 #: doc/guix.texi:7369 doc/guix.texi:7521
16994 #, no-wrap
16995 msgid "--user=@var{user}"
16996 msgstr ""
16997
16998 #. type: itemx
16999 #: doc/guix.texi:7370 doc/guix.texi:7522
17000 #, no-wrap
17001 msgid "-u @var{user}"
17002 msgstr ""
17003
17004 #. type: table
17005 #: doc/guix.texi:7376
17006 msgid ""
17007 "For containers, use the username @var{user} in place of the current user. "
17008 "The generated @file{/etc/passwd} entry within the container will contain the "
17009 "name @var{user}; the home directory will be @file{/home/USER}; and no user "
17010 "GECOS data will be copied. @var{user} need not exist on the system."
17011 msgstr ""
17012
17013 #. type: table
17014 #: doc/guix.texi:7381
17015 msgid ""
17016 "Additionally, any shared or exposed path (see @code{--share} and @code{--"
17017 "expose} respectively) whose target is within the current user's home "
17018 "directory will be remapped relative to @file{/home/USER}; this includes the "
17019 "automatic mapping of the current working directory."
17020 msgstr ""
17021
17022 #. type: example
17023 #: doc/guix.texi:7388
17024 #, no-wrap
17025 msgid ""
17026 "# will expose paths as /home/foo/wd, /home/foo/test, and /home/foo/target\n"
17027 "cd $HOME/wd\n"
17028 "guix environment --container --user=foo \\\n"
17029 " --expose=$HOME/test \\\n"
17030 " --expose=/tmp/target=$HOME/target\n"
17031 msgstr ""
17032
17033 #. type: table
17034 #: doc/guix.texi:7393
17035 msgid ""
17036 "While this will limit the leaking of user identity through home paths and "
17037 "each of the user fields, this is only one useful component of a broader "
17038 "privacy/anonymity solution---not one in and of itself."
17039 msgstr ""
17040
17041 #. type: item
17042 #: doc/guix.texi:7394
17043 #, no-wrap
17044 msgid "--expose=@var{source}[=@var{target}]"
17045 msgstr ""
17046
17047 #. type: table
17048 #: doc/guix.texi:7399
17049 msgid ""
17050 "For containers, expose the file system @var{source} from the host system as "
17051 "the read-only file system @var{target} within the container. If "
17052 "@var{target} is not specified, @var{source} is used as the target mount "
17053 "point in the container."
17054 msgstr ""
17055
17056 #. type: table
17057 #: doc/guix.texi:7403
17058 msgid ""
17059 "The example below spawns a Guile REPL in a container in which the user's "
17060 "home directory is accessible read-only via the @file{/exchange} directory:"
17061 msgstr ""
17062
17063 #. type: example
17064 #: doc/guix.texi:7406
17065 #, no-wrap
17066 msgid "guix environment --container --expose=$HOME=/exchange --ad-hoc guile -- guile\n"
17067 msgstr ""
17068
17069 #. type: item
17070 #: doc/guix.texi:7408
17071 #, no-wrap
17072 msgid "--share=@var{source}[=@var{target}]"
17073 msgstr ""
17074
17075 #. type: table
17076 #: doc/guix.texi:7413
17077 msgid ""
17078 "For containers, share the file system @var{source} from the host system as "
17079 "the writable file system @var{target} within the container. If @var{target} "
17080 "is not specified, @var{source} is used as the target mount point in the "
17081 "container."
17082 msgstr ""
17083
17084 #. type: table
17085 #: doc/guix.texi:7417
17086 msgid ""
17087 "The example below spawns a Guile REPL in a container in which the user's "
17088 "home directory is accessible for both reading and writing via the @file{/"
17089 "exchange} directory:"
17090 msgstr ""
17091
17092 #. type: example
17093 #: doc/guix.texi:7420
17094 #, no-wrap
17095 msgid "guix environment --container --share=$HOME=/exchange --ad-hoc guile -- guile\n"
17096 msgstr ""
17097
17098 #. type: Plain text
17099 #: doc/guix.texi:7426
17100 msgid ""
17101 "@command{guix environment} also supports all of the common build options "
17102 "that @command{guix build} supports (@pxref{Common Build Options})."
17103 msgstr ""
17104
17105 #. type: section
17106 #: doc/guix.texi:7429
17107 #, no-wrap
17108 msgid "Invoking @command{guix publish}"
17109 msgstr ""
17110
17111 #. type: command{#1}
17112 #: doc/guix.texi:7431
17113 #, no-wrap
17114 msgid "guix publish"
17115 msgstr ""
17116
17117 #. type: Plain text
17118 #: doc/guix.texi:7435
17119 msgid ""
17120 "The purpose of @command{guix publish} is to enable users to easily share "
17121 "their store with others, who can then use it as a substitute server "
17122 "(@pxref{Substitutes})."
17123 msgstr ""
17124 "Le but de @command{guix publish} est de vous permettre de partager "
17125 "facilement votre dépôt avec d'autres personnes qui peuvent ensuite "
17126 "l'utiliser comme serveur de substituts (@pxref{Substituts})."
17127
17128 #. type: Plain text
17129 #: doc/guix.texi:7441
17130 msgid ""
17131 "When @command{guix publish} runs, it spawns an HTTP server which allows "
17132 "anyone with network access to obtain substitutes from it. This means that "
17133 "any machine running Guix can also act as if it were a build farm, since the "
17134 "HTTP interface is compatible with Hydra, the software behind the @code{hydra."
17135 "gnu.org} build farm."
17136 msgstr ""
17137
17138 #. type: Plain text
17139 #: doc/guix.texi:7447
17140 msgid ""
17141 "For security, each substitute is signed, allowing recipients to check their "
17142 "authenticity and integrity (@pxref{Substitutes}). Because @command{guix "
17143 "publish} uses the signing key of the system, which is only readable by the "
17144 "system administrator, it must be started as root; the @code{--user} option "
17145 "makes it drop root privileges early on."
17146 msgstr ""
17147 "Pour des raisons de sécurité, chaque substitut est signé, ce qui permet aux "
17148 "destinataires de vérifier leur authenticité et leur intégrité "
17149 "(@pxref{Substituts}). Comme @command{guix publish} utilise la clef de "
17150 "signature du système, qui n'est lisible que par l'administrateur système, il "
17151 "doit être lancé en root ; l'option @code{--user} lui fait baisser ses "
17152 "privilèges le plus tôt possible."
17153
17154 #. type: Plain text
17155 #: doc/guix.texi:7451
17156 msgid ""
17157 "The signing key pair must be generated before @command{guix publish} is "
17158 "launched, using @command{guix archive --generate-key} (@pxref{Invoking guix "
17159 "archive})."
17160 msgstr ""
17161
17162 #. type: example
17163 #: doc/guix.texi:7456
17164 #, no-wrap
17165 msgid "guix publish @var{options}@dots{}\n"
17166 msgstr ""
17167
17168 #. type: Plain text
17169 #: doc/guix.texi:7460
17170 msgid ""
17171 "Running @command{guix publish} without any additional arguments will spawn "
17172 "an HTTP server on port 8080:"
17173 msgstr ""
17174
17175 #. type: example
17176 #: doc/guix.texi:7463
17177 #, no-wrap
17178 msgid "guix publish\n"
17179 msgstr ""
17180
17181 #. type: Plain text
17182 #: doc/guix.texi:7467
17183 msgid ""
17184 "Once a publishing server has been authorized (@pxref{Invoking guix "
17185 "archive}), the daemon may download substitutes from it:"
17186 msgstr ""
17187
17188 #. type: example
17189 #: doc/guix.texi:7470
17190 #, no-wrap
17191 msgid "guix-daemon --substitute-urls=http://example.org:8080\n"
17192 msgstr ""
17193
17194 #. type: Plain text
17195 #: doc/guix.texi:7479
17196 msgid ""
17197 "By default, @command{guix publish} compresses archives on the fly as it "
17198 "serves them. This ``on-the-fly'' mode is convenient in that it requires no "
17199 "setup and is immediately available. However, when serving lots of clients, "
17200 "we recommend using the @option{--cache} option, which enables caching of the "
17201 "archives before they are sent to clients---see below for details. The "
17202 "@command{guix weather} command provides a handy way to check what a server "
17203 "provides (@pxref{Invoking guix weather})."
17204 msgstr ""
17205
17206 #. type: Plain text
17207 #: doc/guix.texi:7486
17208 msgid ""
17209 "As a bonus, @command{guix publish} also serves as a content-addressed mirror "
17210 "for source files referenced in @code{origin} records (@pxref{origin "
17211 "Reference}). For instance, assuming @command{guix publish} is running on "
17212 "@code{example.org}, the following URL returns the raw @file{hello-2.10.tar."
17213 "gz} file with the given SHA256 hash (represented in @code{nix-base32} "
17214 "format, @pxref{Invoking guix hash}):"
17215 msgstr ""
17216
17217 #. type: example
17218 #: doc/guix.texi:7489
17219 #, no-wrap
17220 msgid "http://example.org/file/hello-2.10.tar.gz/sha256/0ssi1@dots{}ndq1i\n"
17221 msgstr ""
17222
17223 #. type: Plain text
17224 #: doc/guix.texi:7493
17225 msgid ""
17226 "Obviously, these URLs only work for files that are in the store; in other "
17227 "cases, they return 404 (``Not Found'')."
17228 msgstr ""
17229
17230 #. type: cindex
17231 #: doc/guix.texi:7494
17232 #, no-wrap
17233 msgid "build logs, publication"
17234 msgstr ""
17235
17236 #. type: Plain text
17237 #: doc/guix.texi:7496
17238 msgid "Build logs are available from @code{/log} URLs like:"
17239 msgstr ""
17240
17241 #. type: example
17242 #: doc/guix.texi:7499
17243 #, no-wrap
17244 msgid "http://example.org/log/gwspk@dots{}-guile-2.2.3\n"
17245 msgstr ""
17246
17247 #. type: Plain text
17248 #: doc/guix.texi:7509
17249 msgid ""
17250 "When @command{guix-daemon} is configured to save compressed build logs, as "
17251 "is the case by default (@pxref{Invoking guix-daemon}), @code{/log} URLs "
17252 "return the compressed log as-is, with an appropriate @code{Content-Type} and/"
17253 "or @code{Content-Encoding} header. We recommend running @command{guix-"
17254 "daemon} with @code{--log-compression=gzip} since Web browsers can "
17255 "automatically decompress it, which is not the case with bzip2 compression."
17256 msgstr ""
17257
17258 #. type: item
17259 #: doc/guix.texi:7513
17260 #, no-wrap
17261 msgid "--port=@var{port}"
17262 msgstr ""
17263
17264 #. type: itemx
17265 #: doc/guix.texi:7514
17266 #, no-wrap
17267 msgid "-p @var{port}"
17268 msgstr ""
17269
17270 #. type: table
17271 #: doc/guix.texi:7516
17272 msgid "Listen for HTTP requests on @var{port}."
17273 msgstr ""
17274
17275 #. type: item
17276 #: doc/guix.texi:7517 doc/guix.texi:17032
17277 #, no-wrap
17278 msgid "--listen=@var{host}"
17279 msgstr ""
17280
17281 #. type: table
17282 #: doc/guix.texi:7520
17283 msgid ""
17284 "Listen on the network interface for @var{host}. The default is to accept "
17285 "connections from any interface."
17286 msgstr ""
17287
17288 #. type: table
17289 #: doc/guix.texi:7525
17290 msgid ""
17291 "Change privileges to @var{user} as soon as possible---i.e., once the server "
17292 "socket is open and the signing key has been read."
17293 msgstr ""
17294
17295 #. type: item
17296 #: doc/guix.texi:7526
17297 #, no-wrap
17298 msgid "--compression[=@var{level}]"
17299 msgstr ""
17300
17301 #. type: itemx
17302 #: doc/guix.texi:7527
17303 #, no-wrap
17304 msgid "-C [@var{level}]"
17305 msgstr ""
17306
17307 #. type: table
17308 #: doc/guix.texi:7532
17309 msgid ""
17310 "Compress data using the given @var{level}. When @var{level} is zero, "
17311 "disable compression. The range 1 to 9 corresponds to different gzip "
17312 "compression levels: 1 is the fastest, and 9 is the best (CPU-intensive). "
17313 "The default is 3."
17314 msgstr ""
17315
17316 #. type: table
17317 #: doc/guix.texi:7541
17318 msgid ""
17319 "Unless @option{--cache} is used, compression occurs on the fly and the "
17320 "compressed streams are not cached. Thus, to reduce load on the machine that "
17321 "runs @command{guix publish}, it may be a good idea to choose a low "
17322 "compression level, to run @command{guix publish} behind a caching proxy, or "
17323 "to use @option{--cache}. Using @option{--cache} has the advantage that it "
17324 "allows @command{guix publish} to add @code{Content-Length} HTTP header to "
17325 "its responses."
17326 msgstr ""
17327
17328 #. type: item
17329 #: doc/guix.texi:7542
17330 #, no-wrap
17331 msgid "--cache=@var{directory}"
17332 msgstr ""
17333
17334 #. type: itemx
17335 #: doc/guix.texi:7543
17336 #, no-wrap
17337 msgid "-c @var{directory}"
17338 msgstr ""
17339
17340 #. type: table
17341 #: doc/guix.texi:7546
17342 msgid ""
17343 "Cache archives and meta-data (@code{.narinfo} URLs) to @var{directory} and "
17344 "only serve archives that are in cache."
17345 msgstr ""
17346
17347 #. type: table
17348 #: doc/guix.texi:7554
17349 msgid ""
17350 "When this option is omitted, archives and meta-data are created on-the-fly. "
17351 "This can reduce the available bandwidth, especially when compression is "
17352 "enabled, since this may become CPU-bound. Another drawback of the default "
17353 "mode is that the length of archives is not known in advance, so "
17354 "@command{guix publish} does not add a @code{Content-Length} HTTP header to "
17355 "its responses, which in turn prevents clients from knowing the amount of "
17356 "data being downloaded."
17357 msgstr ""
17358
17359 #. type: table
17360 #: doc/guix.texi:7562
17361 msgid ""
17362 "Conversely, when @option{--cache} is used, the first request for a store "
17363 "item (@i{via} a @code{.narinfo} URL) returns 404 and triggers a background "
17364 "process to @dfn{bake} the archive---computing its @code{.narinfo} and "
17365 "compressing the archive, if needed. Once the archive is cached in "
17366 "@var{directory}, subsequent requests succeed and are served directly from "
17367 "the cache, which guarantees that clients get the best possible bandwidth."
17368 msgstr ""
17369
17370 #. type: table
17371 #: doc/guix.texi:7566
17372 msgid ""
17373 "The ``baking'' process is performed by worker threads. By default, one "
17374 "thread per CPU core is created, but this can be customized. See @option{--"
17375 "workers} below."
17376 msgstr ""
17377
17378 #. type: table
17379 #: doc/guix.texi:7569
17380 msgid ""
17381 "When @option{--ttl} is used, cached entries are automatically deleted when "
17382 "they have expired."
17383 msgstr ""
17384
17385 #. type: item
17386 #: doc/guix.texi:7570
17387 #, no-wrap
17388 msgid "--workers=@var{N}"
17389 msgstr ""
17390
17391 #. type: table
17392 #: doc/guix.texi:7573
17393 msgid ""
17394 "When @option{--cache} is used, request the allocation of @var{N} worker "
17395 "threads to ``bake'' archives."
17396 msgstr ""
17397
17398 #. type: item
17399 #: doc/guix.texi:7574
17400 #, no-wrap
17401 msgid "--ttl=@var{ttl}"
17402 msgstr ""
17403
17404 #. type: table
17405 #: doc/guix.texi:7578
17406 msgid ""
17407 "Produce @code{Cache-Control} HTTP headers that advertise a time-to-live "
17408 "(TTL) of @var{ttl}. @var{ttl} must denote a duration: @code{5d} means 5 "
17409 "days, @code{1m} means 1 month, and so on."
17410 msgstr ""
17411
17412 #. type: table
17413 #: doc/guix.texi:7583
17414 msgid ""
17415 "This allows the user's Guix to keep substitute information in cache for "
17416 "@var{ttl}. However, note that @code{guix publish} does not itself guarantee "
17417 "that the store items it provides will indeed remain available for as long as "
17418 "@var{ttl}."
17419 msgstr ""
17420
17421 #. type: table
17422 #: doc/guix.texi:7587
17423 msgid ""
17424 "Additionally, when @option{--cache} is used, cached entries that have not "
17425 "been accessed for @var{ttl} and that no longer have a corresponding item in "
17426 "the store, may be deleted."
17427 msgstr ""
17428
17429 #. type: item
17430 #: doc/guix.texi:7588
17431 #, no-wrap
17432 msgid "--nar-path=@var{path}"
17433 msgstr ""
17434
17435 #. type: table
17436 #: doc/guix.texi:7591
17437 msgid ""
17438 "Use @var{path} as the prefix for the URLs of ``nar'' files (@pxref{Invoking "
17439 "guix archive, normalized archives})."
17440 msgstr ""
17441
17442 #. type: table
17443 #: doc/guix.texi:7595
17444 msgid ""
17445 "By default, nars are served at a URL such as @code{/nar/gzip/@dots{}-"
17446 "coreutils-8.25}. This option allows you to change the @code{/nar} part to "
17447 "@var{path}."
17448 msgstr ""
17449
17450 #. type: item
17451 #: doc/guix.texi:7596
17452 #, no-wrap
17453 msgid "--public-key=@var{file}"
17454 msgstr ""
17455
17456 #. type: itemx
17457 #: doc/guix.texi:7597
17458 #, no-wrap
17459 msgid "--private-key=@var{file}"
17460 msgstr ""
17461
17462 #. type: table
17463 #: doc/guix.texi:7600
17464 msgid ""
17465 "Use the specific @var{file}s as the public/private key pair used to sign the "
17466 "store items being published."
17467 msgstr ""
17468
17469 #. type: table
17470 #: doc/guix.texi:7607
17471 msgid ""
17472 "The files must correspond to the same key pair (the private key is used for "
17473 "signing and the public key is merely advertised in the signature metadata). "
17474 "They must contain keys in the canonical s-expression format as produced by "
17475 "@command{guix archive --generate-key} (@pxref{Invoking guix archive}). By "
17476 "default, @file{/etc/guix/signing-key.pub} and @file{/etc/guix/signing-key."
17477 "sec} are used."
17478 msgstr ""
17479
17480 #. type: item
17481 #: doc/guix.texi:7608
17482 #, no-wrap
17483 msgid "--repl[=@var{port}]"
17484 msgstr ""
17485
17486 #. type: itemx
17487 #: doc/guix.texi:7609
17488 #, no-wrap
17489 msgid "-r [@var{port}]"
17490 msgstr ""
17491
17492 #. type: table
17493 #: doc/guix.texi:7613
17494 msgid ""
17495 "Spawn a Guile REPL server (@pxref{REPL Servers,,, guile, GNU Guile Reference "
17496 "Manual}) on @var{port} (37146 by default). This is used primarily for "
17497 "debugging a running @command{guix publish} server."
17498 msgstr ""
17499
17500 #. type: Plain text
17501 #: doc/guix.texi:7619
17502 msgid ""
17503 "Enabling @command{guix publish} on a GuixSD system is a one-liner: just "
17504 "instantiate a @code{guix-publish-service-type} service in the "
17505 "@code{services} field of the @code{operating-system} declaration "
17506 "(@pxref{guix-publish-service-type, @code{guix-publish-service-type}})."
17507 msgstr ""
17508
17509 #. type: Plain text
17510 #: doc/guix.texi:7622
17511 msgid ""
17512 "If you are instead running Guix on a ``foreign distro'', follow these "
17513 "instructions:”"
17514 msgstr ""
17515
17516 #. type: itemize
17517 #: doc/guix.texi:7626
17518 msgid "If your host distro uses the systemd init system:"
17519 msgstr ""
17520
17521 #. type: example
17522 #: doc/guix.texi:7631
17523 #, no-wrap
17524 msgid ""
17525 "# ln -s ~root/.guix-profile/lib/systemd/system/guix-publish.service \\\n"
17526 " /etc/systemd/system/\n"
17527 "# systemctl start guix-publish && systemctl enable guix-publish\n"
17528 msgstr ""
17529
17530 #. type: example
17531 #: doc/guix.texi:7639
17532 #, no-wrap
17533 msgid ""
17534 "# ln -s ~root/.guix-profile/lib/upstart/system/guix-publish.conf /etc/init/\n"
17535 "# start guix-publish\n"
17536 msgstr ""
17537
17538 #. type: itemize
17539 #: doc/guix.texi:7643
17540 msgid "Otherwise, proceed similarly with your distro's init system."
17541 msgstr ""
17542
17543 #. type: section
17544 #: doc/guix.texi:7646
17545 #, no-wrap
17546 msgid "Invoking @command{guix challenge}"
17547 msgstr ""
17548
17549 #. type: cindex
17550 #: doc/guix.texi:7649
17551 #, no-wrap
17552 msgid "verifiable builds"
17553 msgstr ""
17554
17555 #. type: command{#1}
17556 #: doc/guix.texi:7650
17557 #, no-wrap
17558 msgid "guix challenge"
17559 msgstr ""
17560
17561 #. type: cindex
17562 #: doc/guix.texi:7651
17563 #, no-wrap
17564 msgid "challenge"
17565 msgstr ""
17566
17567 #. type: Plain text
17568 #: doc/guix.texi:7656
17569 msgid ""
17570 "Do the binaries provided by this server really correspond to the source code "
17571 "it claims to build? Is a package build process deterministic? These are the "
17572 "questions the @command{guix challenge} command attempts to answer."
17573 msgstr ""
17574
17575 #. type: Plain text
17576 #: doc/guix.texi:7664
17577 msgid ""
17578 "The former is obviously an important question: Before using a substitute "
17579 "server (@pxref{Substitutes}), one had better @emph{verify} that it provides "
17580 "the right binaries, and thus @emph{challenge} it. The latter is what "
17581 "enables the former: If package builds are deterministic, then independent "
17582 "builds of the package should yield the exact same result, bit for bit; if a "
17583 "server provides a binary different from the one obtained locally, it may be "
17584 "either corrupt or malicious."
17585 msgstr ""
17586 "La première question est évidemment importante : avant d'utiliser un serveur "
17587 "de substituts (@pxref{Substituts}), il vaut mieux @emph{vérifier} qu'il "
17588 "fournit les bons binaires et donc le @emph{défier}. La deuxième est ce qui "
17589 "permet la première : si les constructions des paquets sont déterministes "
17590 "alors des constructions indépendantes du paquet devraient donner le même "
17591 "résultat, bit à bit ; si un serveur fournit un binaire différent de celui "
17592 "obtenu localement, il peut être soit corrompu, soit malveillant."
17593
17594 #. type: Plain text
17595 #: doc/guix.texi:7673
17596 msgid ""
17597 "We know that the hash that shows up in @file{/gnu/store} file names is the "
17598 "hash of all the inputs of the process that built the file or directory---"
17599 "compilers, libraries, build scripts, etc. (@pxref{Introduction}). Assuming "
17600 "deterministic build processes, one store file name should map to exactly one "
17601 "build output. @command{guix challenge} checks whether there is, indeed, a "
17602 "single mapping by comparing the build outputs of several independent builds "
17603 "of any given store item."
17604 msgstr ""
17605
17606 #. type: Plain text
17607 #: doc/guix.texi:7675
17608 msgid "The command output looks like this:"
17609 msgstr ""
17610
17611 #. type: smallexample
17612 #: doc/guix.texi:7692
17613 #, no-wrap
17614 msgid ""
17615 "$ guix challenge --substitute-urls=\"https://hydra.gnu.org https://guix.example.org\"\n"
17616 "updating list of substitutes from 'https://hydra.gnu.org'... 100.0%\n"
17617 "updating list of substitutes from 'https://guix.example.org'... 100.0%\n"
17618 "/gnu/store/@dots{}-openssl-1.0.2d contents differ:\n"
17619 " local hash: 0725l22r5jnzazaacncwsvp9kgf42266ayyp814v7djxs7nk963q\n"
17620 " https://hydra.gnu.org/nar/@dots{}-openssl-1.0.2d: 0725l22r5jnzazaacncwsvp9kgf42266ayyp814v7djxs7nk963q\n"
17621 " https://guix.example.org/nar/@dots{}-openssl-1.0.2d: 1zy4fmaaqcnjrzzajkdn3f5gmjk754b43qkq47llbyak9z0qjyim\n"
17622 "/gnu/store/@dots{}-git-2.5.0 contents differ:\n"
17623 " local hash: 00p3bmryhjxrhpn2gxs2fy0a15lnip05l97205pgbk5ra395hyha\n"
17624 " https://hydra.gnu.org/nar/@dots{}-git-2.5.0: 069nb85bv4d4a6slrwjdy8v1cn4cwspm3kdbmyb81d6zckj3nq9f\n"
17625 " https://guix.example.org/nar/@dots{}-git-2.5.0: 0mdqa9w1p6cmli6976v4wi0sw9r4p5prkj7lzfd1877wk11c9c73\n"
17626 "/gnu/store/@dots{}-pius-2.1.1 contents differ:\n"
17627 " local hash: 0k4v3m9z1zp8xzzizb7d8kjj72f9172xv078sq4wl73vnq9ig3ax\n"
17628 " https://hydra.gnu.org/nar/@dots{}-pius-2.1.1: 0k4v3m9z1zp8xzzizb7d8kjj72f9172xv078sq4wl73vnq9ig3ax\n"
17629 " https://guix.example.org/nar/@dots{}-pius-2.1.1: 1cy25x1a4fzq5rk0pmvc8xhwyffnqz95h2bpvqsz2mpvlbccy0gs\n"
17630 "\n"
17631 msgstr ""
17632
17633 #. type: smallexample
17634 #: doc/guix.texi:7694
17635 #, no-wrap
17636 msgid ""
17637 "@dots{}\n"
17638 "\n"
17639 msgstr ""
17640
17641 #. type: smallexample
17642 #: doc/guix.texi:7699
17643 #, no-wrap
17644 msgid ""
17645 "6,406 store items were analyzed:\n"
17646 " - 4,749 (74.1%) were identical\n"
17647 " - 525 (8.2%) differed\n"
17648 " - 1,132 (17.7%) were inconclusive\n"
17649 msgstr ""
17650
17651 #. type: Plain text
17652 #: doc/guix.texi:7707
17653 msgid ""
17654 "In this example, @command{guix challenge} first scans the store to determine "
17655 "the set of locally-built derivations---as opposed to store items that were "
17656 "downloaded from a substitute server---and then queries all the substitute "
17657 "servers. It then reports those store items for which the servers obtained a "
17658 "result different from the local build."
17659 msgstr ""
17660
17661 #. type: cindex
17662 #: doc/guix.texi:7708
17663 #, no-wrap
17664 msgid "non-determinism, in package builds"
17665 msgstr ""
17666
17667 #. type: Plain text
17668 #: doc/guix.texi:7719
17669 msgid ""
17670 "As an example, @code{guix.example.org} always gets a different answer. "
17671 "Conversely, @code{hydra.gnu.org} agrees with local builds, except in the "
17672 "case of Git. This might indicate that the build process of Git is non-"
17673 "deterministic, meaning that its output varies as a function of various "
17674 "things that Guix does not fully control, in spite of building packages in "
17675 "isolated environments (@pxref{Features}). Most common sources of non-"
17676 "determinism include the addition of timestamps in build results, the "
17677 "inclusion of random numbers, and directory listings sorted by inode number. "
17678 "See @uref{https://reproducible-builds.org/docs/}, for more information."
17679 msgstr ""
17680
17681 #. type: Plain text
17682 #: doc/guix.texi:7722
17683 msgid ""
17684 "To find out what is wrong with this Git binary, we can do something along "
17685 "these lines (@pxref{Invoking guix archive}):"
17686 msgstr ""
17687
17688 #. type: example
17689 #: doc/guix.texi:7727
17690 #, no-wrap
17691 msgid ""
17692 "$ wget -q -O - https://hydra.gnu.org/nar/@dots{}-git-2.5.0 \\\n"
17693 " | guix archive -x /tmp/git\n"
17694 "$ diff -ur --no-dereference /gnu/store/@dots{}-git.2.5.0 /tmp/git\n"
17695 msgstr ""
17696
17697 #. type: Plain text
17698 #: doc/guix.texi:7736
17699 msgid ""
17700 "This command shows the difference between the files resulting from the local "
17701 "build, and the files resulting from the build on @code{hydra.gnu.org} "
17702 "(@pxref{Overview, Comparing and Merging Files,, diffutils, Comparing and "
17703 "Merging Files}). The @command{diff} command works great for text files. "
17704 "When binary files differ, a better option is @uref{https://diffoscope.org/, "
17705 "Diffoscope}, a tool that helps visualize differences for all kinds of files."
17706 msgstr ""
17707
17708 #. type: Plain text
17709 #: doc/guix.texi:7744
17710 msgid ""
17711 "Once you have done that work, you can tell whether the differences are due "
17712 "to a non-deterministic build process or to a malicious server. We try hard "
17713 "to remove sources of non-determinism in packages to make it easier to verify "
17714 "substitutes, but of course, this is a process that involves not just Guix, "
17715 "but a large part of the free software community. In the meantime, "
17716 "@command{guix challenge} is one tool to help address the problem."
17717 msgstr ""
17718
17719 #. type: Plain text
17720 #: doc/guix.texi:7748
17721 msgid ""
17722 "If you are writing packages for Guix, you are encouraged to check whether "
17723 "@code{hydra.gnu.org} and other substitute servers obtain the same build "
17724 "result as you did with:"
17725 msgstr ""
17726
17727 #. type: example
17728 #: doc/guix.texi:7751
17729 #, no-wrap
17730 msgid "$ guix challenge @var{package}\n"
17731 msgstr ""
17732
17733 #. type: Plain text
17734 #: doc/guix.texi:7756
17735 msgid ""
17736 "where @var{package} is a package specification such as @code{guile@@2.0} or "
17737 "@code{glibc:debug}."
17738 msgstr ""
17739
17740 #. type: example
17741 #: doc/guix.texi:7761
17742 #, no-wrap
17743 msgid "guix challenge @var{options} [@var{packages}@dots{}]\n"
17744 msgstr ""
17745
17746 #. type: Plain text
17747 #: doc/guix.texi:7768
17748 msgid ""
17749 "When a difference is found between the hash of a locally-built item and that "
17750 "of a server-provided substitute, or among substitutes provided by different "
17751 "servers, the command displays it as in the example above and its exit code "
17752 "is 2 (other non-zero exit codes denote other kinds of errors.)"
17753 msgstr ""
17754
17755 #. type: Plain text
17756 #: doc/guix.texi:7770
17757 msgid "The one option that matters is:"
17758 msgstr ""
17759
17760 #. type: table
17761 #: doc/guix.texi:7776
17762 msgid ""
17763 "Consider @var{urls} the whitespace-separated list of substitute source URLs "
17764 "to compare to."
17765 msgstr ""
17766
17767 #. type: itemx
17768 #: doc/guix.texi:7778
17769 #, no-wrap
17770 msgid "-v"
17771 msgstr ""
17772
17773 #. type: table
17774 #: doc/guix.texi:7781
17775 msgid ""
17776 "Show details about matches (identical contents) in addition to information "
17777 "about mismatches."
17778 msgstr ""
17779
17780 #. type: section
17781 #: doc/guix.texi:7785
17782 #, no-wrap
17783 msgid "Invoking @command{guix copy}"
17784 msgstr ""
17785
17786 #. type: cindex
17787 #: doc/guix.texi:7787
17788 #, no-wrap
17789 msgid "copy, of store items, over SSH"
17790 msgstr ""
17791
17792 #. type: cindex
17793 #: doc/guix.texi:7788
17794 #, no-wrap
17795 msgid "SSH, copy of store items"
17796 msgstr ""
17797
17798 #. type: cindex
17799 #: doc/guix.texi:7789
17800 #, no-wrap
17801 msgid "sharing store items across machines"
17802 msgstr ""
17803
17804 #. type: cindex
17805 #: doc/guix.texi:7790
17806 #, no-wrap
17807 msgid "transferring store items across machines"
17808 msgstr ""
17809
17810 #. type: Plain text
17811 #: doc/guix.texi:7797
17812 msgid ""
17813 "The @command{guix copy} command copies items from the store of one machine "
17814 "to that of another machine over a secure shell (SSH) "
17815 "connection@footnote{This command is available only when Guile-SSH was "
17816 "found. @xref{Requirements}, for details.}. For example, the following "
17817 "command copies the @code{coreutils} package, the user's profile, and all "
17818 "their dependencies over to @var{host}, logged in as @var{user}:"
17819 msgstr ""
17820
17821 #. type: example
17822 #: doc/guix.texi:7801
17823 #, no-wrap
17824 msgid ""
17825 "guix copy --to=@var{user}@@@var{host} \\\n"
17826 " coreutils `readlink -f ~/.guix-profile`\n"
17827 msgstr ""
17828
17829 #. type: Plain text
17830 #: doc/guix.texi:7805
17831 msgid ""
17832 "If some of the items to be copied are already present on @var{host}, they "
17833 "are not actually sent."
17834 msgstr ""
17835
17836 #. type: Plain text
17837 #: doc/guix.texi:7808
17838 msgid ""
17839 "The command below retrieves @code{libreoffice} and @code{gimp} from "
17840 "@var{host}, assuming they are available there:"
17841 msgstr ""
17842
17843 #. type: example
17844 #: doc/guix.texi:7811
17845 #, no-wrap
17846 msgid "guix copy --from=@var{host} libreoffice gimp\n"
17847 msgstr ""
17848
17849 #. type: Plain text
17850 #: doc/guix.texi:7816
17851 msgid ""
17852 "The SSH connection is established using the Guile-SSH client, which is "
17853 "compatible with OpenSSH: it honors @file{~/.ssh/known_hosts} and @file{~/."
17854 "ssh/config}, and uses the SSH agent for authentication."
17855 msgstr ""
17856
17857 #. type: Plain text
17858 #: doc/guix.texi:7822
17859 msgid ""
17860 "The key used to sign items that are sent must be accepted by the remote "
17861 "machine. Likewise, the key used by the remote machine to sign items you are "
17862 "retrieving must be in @file{/etc/guix/acl} so it is accepted by your own "
17863 "daemon. @xref{Invoking guix archive}, for more information about store item "
17864 "authentication."
17865 msgstr ""
17866
17867 #. type: example
17868 #: doc/guix.texi:7827
17869 #, no-wrap
17870 msgid "guix copy [--to=@var{spec}|--from=@var{spec}] @var{items}@dots{}\n"
17871 msgstr ""
17872
17873 #. type: Plain text
17874 #: doc/guix.texi:7830
17875 msgid "You must always specify one of the following options:"
17876 msgstr ""
17877
17878 #. type: item
17879 #: doc/guix.texi:7832
17880 #, no-wrap
17881 msgid "--to=@var{spec}"
17882 msgstr ""
17883
17884 #. type: itemx
17885 #: doc/guix.texi:7833
17886 #, no-wrap
17887 msgid "--from=@var{spec}"
17888 msgstr ""
17889
17890 #. type: table
17891 #: doc/guix.texi:7837
17892 msgid ""
17893 "Specify the host to send to or receive from. @var{spec} must be an SSH spec "
17894 "such as @code{example.org}, @code{charlie@@example.org}, or "
17895 "@code{charlie@@example.org:2222}."
17896 msgstr ""
17897
17898 #. type: Plain text
17899 #: doc/guix.texi:7841
17900 msgid ""
17901 "The @var{items} can be either package names, such as @code{gimp}, or store "
17902 "items, such as @file{/gnu/store/@dots{}-idutils-4.6}."
17903 msgstr ""
17904
17905 #. type: Plain text
17906 #: doc/guix.texi:7845
17907 msgid ""
17908 "When specifying the name of a package to send, it is first built if needed, "
17909 "unless @option{--dry-run} was specified. Common build options are supported "
17910 "(@pxref{Common Build Options})."
17911 msgstr ""
17912
17913 #. type: section
17914 #: doc/guix.texi:7848
17915 #, no-wrap
17916 msgid "Invoking @command{guix container}"
17917 msgstr ""
17918
17919 #. type: command{#1}
17920 #: doc/guix.texi:7850
17921 #, no-wrap
17922 msgid "guix container"
17923 msgstr ""
17924
17925 #. type: quotation
17926 #: doc/guix.texi:7854
17927 msgid ""
17928 "As of version @value{VERSION}, this tool is experimental. The interface is "
17929 "subject to radical change in the future."
17930 msgstr ""
17931
17932 #. type: Plain text
17933 #: doc/guix.texi:7861
17934 msgid ""
17935 "The purpose of @command{guix container} is to manipulate processes running "
17936 "within an isolated environment, commonly known as a ``container'', typically "
17937 "created by the @command{guix environment} (@pxref{Invoking guix "
17938 "environment}) and @command{guix system container} (@pxref{Invoking guix "
17939 "system}) commands."
17940 msgstr ""
17941
17942 #. type: example
17943 #: doc/guix.texi:7866
17944 #, no-wrap
17945 msgid "guix container @var{action} @var{options}@dots{}\n"
17946 msgstr ""
17947
17948 #. type: Plain text
17949 #: doc/guix.texi:7870
17950 msgid ""
17951 "@var{action} specifies the operation to perform with a container, and "
17952 "@var{options} specifies the context-specific arguments for the action."
17953 msgstr ""
17954
17955 #. type: Plain text
17956 #: doc/guix.texi:7872
17957 msgid "The following actions are available:"
17958 msgstr ""
17959
17960 #. type: item
17961 #: doc/guix.texi:7874
17962 #, no-wrap
17963 msgid "exec"
17964 msgstr ""
17965
17966 #. type: table
17967 #: doc/guix.texi:7876
17968 msgid "Execute a command within the context of a running container."
17969 msgstr ""
17970
17971 #. type: table
17972 #: doc/guix.texi:7878
17973 msgid "The syntax is:"
17974 msgstr ""
17975
17976 #. type: example
17977 #: doc/guix.texi:7881
17978 #, no-wrap
17979 msgid "guix container exec @var{pid} @var{program} @var{arguments}@dots{}\n"
17980 msgstr ""
17981
17982 #. type: table
17983 #: doc/guix.texi:7887
17984 msgid ""
17985 "@var{pid} specifies the process ID of the running container. @var{program} "
17986 "specifies an executable file name within the root file system of the "
17987 "container. @var{arguments} are the additional options that will be passed "
17988 "to @var{program}."
17989 msgstr ""
17990
17991 #. type: table
17992 #: doc/guix.texi:7891
17993 msgid ""
17994 "The following command launches an interactive login shell inside a GuixSD "
17995 "container, started by @command{guix system container}, and whose process ID "
17996 "is 9001:"
17997 msgstr ""
17998
17999 #. type: example
18000 #: doc/guix.texi:7894
18001 #, no-wrap
18002 msgid "guix container exec 9001 /run/current-system/profile/bin/bash --login\n"
18003 msgstr ""
18004
18005 #. type: table
18006 #: doc/guix.texi:7898
18007 msgid ""
18008 "Note that the @var{pid} cannot be the parent process of a container. It "
18009 "must be PID 1 of the container or one of its child processes."
18010 msgstr ""
18011
18012 #. type: section
18013 #: doc/guix.texi:7902
18014 #, no-wrap
18015 msgid "Invoking @command{guix weather}"
18016 msgstr ""
18017
18018 #. type: Plain text
18019 #: doc/guix.texi:7911
18020 msgid ""
18021 "Occasionally you're grumpy because substitutes are lacking and you end up "
18022 "building packages by yourself (@pxref{Substitutes}). The @command{guix "
18023 "weather} command reports on substitute availability on the specified servers "
18024 "so you can have an idea of whether you'll be grumpy today. It can sometimes "
18025 "be useful info as a user, but it is primarily useful to people running "
18026 "@command{guix publish} (@pxref{Invoking guix publish})."
18027 msgstr ""
18028 "Vous pouvez parfois grogner lorsque les substituts ne sont pas disponibles "
18029 "et que vous devez construire les paquets vous-même (@pxref{Substituts}). La "
18030 "commande @command{guix weather} rapporte la disponibilité des substituts sur "
18031 "les serveurs spécifiés pour que vous sachiez si vous allez raller "
18032 "aujourd'hui. Cela peut parfois être une information utile pour les "
18033 "utilisateurs, mais elle est surtout utile pour les personnes qui font "
18034 "tourner @command{guix publish} (@pxref{Invoking guix publish})."
18035
18036 #. type: cindex
18037 #: doc/guix.texi:7912
18038 #, no-wrap
18039 msgid "statistics, for substitutes"
18040 msgstr ""
18041
18042 #. type: cindex
18043 #: doc/guix.texi:7913
18044 #, no-wrap
18045 msgid "availability of substitutes"
18046 msgstr ""
18047
18048 #. type: cindex
18049 #: doc/guix.texi:7914
18050 #, no-wrap
18051 msgid "substitute availability"
18052 msgstr ""
18053
18054 #. type: cindex
18055 #: doc/guix.texi:7915
18056 #, no-wrap
18057 msgid "weather, substitute availability"
18058 msgstr ""
18059
18060 #. type: Plain text
18061 #: doc/guix.texi:7917
18062 msgid "Here's a sample run:"
18063 msgstr ""
18064
18065 #. type: example
18066 #: doc/guix.texi:7929
18067 #, no-wrap
18068 msgid ""
18069 "$ guix weather --substitute-urls=https://guix.example.org\n"
18070 "computing 5,872 package derivations for x86_64-linux...\n"
18071 "looking for 6,128 store items on https://guix.example.org..\n"
18072 "updating list of substitutes from 'https://guix.example.org'... 100.0%\n"
18073 "https://guix.example.org\n"
18074 " 43.4% substitutes available (2,658 out of 6,128)\n"
18075 " 7,032.5 MiB of nars (compressed)\n"
18076 " 19,824.2 MiB on disk (uncompressed)\n"
18077 " 0.030 seconds per request (182.9 seconds in total)\n"
18078 " 33.5 requests per second\n"
18079 "\n"
18080 msgstr ""
18081
18082 #. type: example
18083 #: doc/guix.texi:7939
18084 #, no-wrap
18085 msgid ""
18086 " 9.8% (342 out of 3,470) of the missing items are queued\n"
18087 " 867 queued builds\n"
18088 " x86_64-linux: 518 (59.7%)\n"
18089 " i686-linux: 221 (25.5%)\n"
18090 " aarch64-linux: 128 (14.8%)\n"
18091 " build rate: 23.41 builds per hour\n"
18092 " x86_64-linux: 11.16 builds per hour\n"
18093 " i686-linux: 6.03 builds per hour\n"
18094 " aarch64-linux: 6.41 builds per hour\n"
18095 msgstr ""
18096
18097 #. type: cindex
18098 #: doc/guix.texi:7941
18099 #, no-wrap
18100 msgid "continuous integration, statistics"
18101 msgstr ""
18102
18103 #. type: Plain text
18104 #: doc/guix.texi:7950
18105 msgid ""
18106 "As you can see, it reports the fraction of all the packages for which "
18107 "substitutes are available on the server---regardless of whether substitutes "
18108 "are enabled, and regardless of whether this server's signing key is "
18109 "authorized. It also reports the size of the compressed archives (``nars'') "
18110 "provided by the server, the size the corresponding store items occupy in the "
18111 "store (assuming deduplication is turned off), and the server's throughput. "
18112 "The second part gives continuous integration (CI) statistics, if the server "
18113 "supports it."
18114 msgstr ""
18115
18116 #. type: Plain text
18117 #: doc/guix.texi:7956
18118 msgid ""
18119 "To achieve that, @command{guix weather} queries over HTTP(S) meta-data "
18120 "(@dfn{narinfos}) for all the relevant store items. Like @command{guix "
18121 "challenge}, it ignores signatures on those substitutes, which is innocuous "
18122 "since the command only gathers statistics and cannot install those "
18123 "substitutes."
18124 msgstr ""
18125
18126 #. type: Plain text
18127 #: doc/guix.texi:7959
18128 msgid ""
18129 "Among other things, it is possible to query specific system types and "
18130 "specific package sets. The available options are listed below."
18131 msgstr ""
18132
18133 #. type: table
18134 #: doc/guix.texi:7965
18135 msgid ""
18136 "@var{urls} is the space-separated list of substitute server URLs to query. "
18137 "When this option is omitted, the default set of substitute servers is "
18138 "queried."
18139 msgstr ""
18140
18141 #. type: table
18142 #: doc/guix.texi:7971
18143 msgid ""
18144 "Query substitutes for @var{system}---e.g., @code{aarch64-linux}. This "
18145 "option can be repeated, in which case @command{guix weather} will query "
18146 "substitutes for several system types."
18147 msgstr ""
18148
18149 #. type: table
18150 #: doc/guix.texi:7977
18151 msgid ""
18152 "Instead of querying substitutes for all the packages, only ask for those "
18153 "specified in @var{file}. @var{file} must contain a @dfn{manifest}, as with "
18154 "the @code{-m} option of @command{guix package} (@pxref{Invoking guix "
18155 "package})."
18156 msgstr ""
18157
18158 #. type: Plain text
18159 #: doc/guix.texi:7995
18160 msgid ""
18161 "Guix comes with a distribution of the GNU system consisting entirely of free "
18162 "software@footnote{The term ``free'' here refers to the @url{http://www.gnu."
18163 "org/philosophy/free-sw.html,freedom provided to users of that software}.}. "
18164 "The distribution can be installed on its own (@pxref{System Installation}), "
18165 "but it is also possible to install Guix as a package manager on top of an "
18166 "installed GNU/Linux system (@pxref{Installation}). To distinguish between "
18167 "the two, we refer to the standalone distribution as the Guix System "
18168 "Distribution, or GuixSD."
18169 msgstr ""
18170
18171 #. type: Plain text
18172 #: doc/guix.texi:8001
18173 msgid ""
18174 "The distribution provides core GNU packages such as GNU libc, GCC, and "
18175 "Binutils, as well as many GNU and non-GNU applications. The complete list "
18176 "of available packages can be browsed @url{http://www.gnu.org/software/guix/"
18177 "packages,on-line} or by running @command{guix package} (@pxref{Invoking guix "
18178 "package}):"
18179 msgstr ""
18180
18181 #. type: example
18182 #: doc/guix.texi:8004
18183 #, no-wrap
18184 msgid "guix package --list-available\n"
18185 msgstr ""
18186
18187 #. type: Plain text
18188 #: doc/guix.texi:8010
18189 msgid ""
18190 "Our goal is to provide a practical 100% free software distribution of Linux-"
18191 "based and other variants of GNU, with a focus on the promotion and tight "
18192 "integration of GNU components, and an emphasis on programs and tools that "
18193 "help users exert that freedom."
18194 msgstr ""
18195
18196 #. type: Plain text
18197 #: doc/guix.texi:8012
18198 msgid "Packages are currently available on the following platforms:"
18199 msgstr ""
18200
18201 #. type: item
18202 #: doc/guix.texi:8015 doc/guix.texi:8180
18203 #, no-wrap
18204 msgid "x86_64-linux"
18205 msgstr ""
18206
18207 #. type: table
18208 #: doc/guix.texi:8017
18209 msgid "Intel/AMD @code{x86_64} architecture, Linux-Libre kernel;"
18210 msgstr ""
18211
18212 #. type: item
18213 #: doc/guix.texi:8018 doc/guix.texi:8183
18214 #, no-wrap
18215 msgid "i686-linux"
18216 msgstr ""
18217
18218 #. type: table
18219 #: doc/guix.texi:8020
18220 msgid "Intel 32-bit architecture (IA32), Linux-Libre kernel;"
18221 msgstr ""
18222
18223 #. type: item
18224 #: doc/guix.texi:8021
18225 #, no-wrap
18226 msgid "armhf-linux"
18227 msgstr ""
18228
18229 #. type: table
18230 #: doc/guix.texi:8025
18231 msgid ""
18232 "ARMv7-A architecture with hard float, Thumb-2 and NEON, using the EABI hard-"
18233 "float application binary interface (ABI), and Linux-Libre kernel."
18234 msgstr ""
18235
18236 #. type: item
18237 #: doc/guix.texi:8026
18238 #, no-wrap
18239 msgid "aarch64-linux"
18240 msgstr ""
18241
18242 #. type: table
18243 #: doc/guix.texi:8030
18244 msgid ""
18245 "little-endian 64-bit ARMv8-A processors, Linux-Libre kernel. This is "
18246 "currently in an experimental stage, with limited support. "
18247 "@xref{Contributing}, for how to help!"
18248 msgstr ""
18249
18250 #. type: item
18251 #: doc/guix.texi:8031
18252 #, no-wrap
18253 msgid "mips64el-linux"
18254 msgstr ""
18255
18256 #. type: table
18257 #: doc/guix.texi:8034
18258 msgid ""
18259 "little-endian 64-bit MIPS processors, specifically the Loongson series, n32 "
18260 "ABI, and Linux-Libre kernel."
18261 msgstr ""
18262
18263 #. type: Plain text
18264 #: doc/guix.texi:8038
18265 msgid ""
18266 "GuixSD itself is currently only available on @code{i686} and @code{x86_64}."
18267 msgstr ""
18268
18269 #. type: Plain text
18270 #: doc/guix.texi:8042
18271 msgid ""
18272 "For information on porting to other architectures or kernels, "
18273 "@pxref{Porting}."
18274 msgstr ""
18275
18276 #. type: Plain text
18277 #: doc/guix.texi:8057
18278 msgid ""
18279 "Building this distribution is a cooperative effort, and you are invited to "
18280 "join! @xref{Contributing}, for information about how you can help."
18281 msgstr ""
18282
18283 #. type: cindex
18284 #: doc/guix.texi:8061
18285 #, no-wrap
18286 msgid "installing GuixSD"
18287 msgstr ""
18288
18289 #. type: Plain text
18290 #: doc/guix.texi:8067
18291 msgid ""
18292 "This section explains how to install the Guix System Distribution (GuixSD) "
18293 "on a machine. The Guix package manager can also be installed on top of a "
18294 "running GNU/Linux system, @pxref{Installation}."
18295 msgstr ""
18296
18297 #. type: quotation
18298 #: doc/guix.texi:8076
18299 msgid ""
18300 "You are reading this documentation with an Info reader. For details on how "
18301 "to use it, hit the @key{RET} key (``return'' or ``enter'') on the link that "
18302 "follows: @pxref{Top, Info reader,, info-stnd, Stand-alone GNU Info}. Hit "
18303 "@kbd{l} afterwards to come back here."
18304 msgstr ""
18305
18306 #. type: quotation
18307 #: doc/guix.texi:8079
18308 msgid ""
18309 "Alternately, run @command{info info} in another tty to keep the manual "
18310 "available."
18311 msgstr ""
18312
18313 #. type: Plain text
18314 #: doc/guix.texi:8104
18315 msgid ""
18316 "As of version @value{VERSION}, the Guix System Distribution (GuixSD) is not "
18317 "production-ready. It may contain bugs and lack important features. Thus, "
18318 "if you are looking for a stable production system that respects your freedom "
18319 "as a computer user, a good solution at this point is to consider @url{http://"
18320 "www.gnu.org/distros/free-distros.html, one of the more established GNU/Linux "
18321 "distributions}. We hope you can soon switch to the GuixSD without fear, of "
18322 "course. In the meantime, you can also keep using your distribution and try "
18323 "out the package manager on top of it (@pxref{Installation})."
18324 msgstr ""
18325
18326 #. type: Plain text
18327 #: doc/guix.texi:8107
18328 msgid ""
18329 "Before you proceed with the installation, be aware of the following "
18330 "noteworthy limitations applicable to version @value{VERSION}:"
18331 msgstr ""
18332
18333 #. type: itemize
18334 #: doc/guix.texi:8113
18335 msgid ""
18336 "The installation process does not include a graphical user interface and "
18337 "requires familiarity with GNU/Linux (see the following subsections to get a "
18338 "feel of what that means.)"
18339 msgstr ""
18340
18341 #. type: itemize
18342 #: doc/guix.texi:8116
18343 msgid "Support for the Logical Volume Manager (LVM) is missing."
18344 msgstr ""
18345
18346 #. type: itemize
18347 #: doc/guix.texi:8120
18348 msgid ""
18349 "More and more system services are provided (@pxref{Services}), but some may "
18350 "be missing."
18351 msgstr ""
18352
18353 #. type: itemize
18354 #: doc/guix.texi:8124
18355 msgid ""
18356 "More than 6,500 packages are available, but you might occasionally find that "
18357 "a useful package is missing."
18358 msgstr ""
18359
18360 #. type: itemize
18361 #: doc/guix.texi:8129
18362 msgid ""
18363 "GNOME, Xfce, LXDE, and Enlightenment are available (@pxref{Desktop "
18364 "Services}), as well as a number of X11 window managers. However, some "
18365 "graphical applications may be missing, as well as KDE."
18366 msgstr ""
18367
18368 #. type: Plain text
18369 #: doc/guix.texi:8134
18370 msgid ""
18371 "You have been warned! But more than a disclaimer, this is an invitation to "
18372 "report issues (and success stories!), and to join us in improving it. "
18373 "@xref{Contributing}, for more info."
18374 msgstr ""
18375
18376 #. type: cindex
18377 #: doc/guix.texi:8139
18378 #, no-wrap
18379 msgid "hardware support on GuixSD"
18380 msgstr ""
18381
18382 #. type: Plain text
18383 #: doc/guix.texi:8148
18384 msgid ""
18385 "GNU@tie{}GuixSD focuses on respecting the user's computing freedom. It "
18386 "builds around the kernel Linux-libre, which means that only hardware for "
18387 "which free software drivers and firmware exist is supported. Nowadays, a "
18388 "wide range of off-the-shelf hardware is supported on GNU/Linux-libre---from "
18389 "keyboards to graphics cards to scanners and Ethernet controllers. "
18390 "Unfortunately, there are still areas where hardware vendors deny users "
18391 "control over their own computing, and such hardware is not supported on "
18392 "GuixSD."
18393 msgstr ""
18394
18395 #. type: cindex
18396 #: doc/guix.texi:8149
18397 #, no-wrap
18398 msgid "WiFi, hardware support"
18399 msgstr ""
18400
18401 #. type: Plain text
18402 #: doc/guix.texi:8158
18403 msgid ""
18404 "One of the main areas where free drivers or firmware are lacking is WiFi "
18405 "devices. WiFi devices known to work include those using Atheros chips "
18406 "(AR9271 and AR7010), which corresponds to the @code{ath9k} Linux-libre "
18407 "driver, and those using Broadcom/AirForce chips (BCM43xx with Wireless-Core "
18408 "Revision 5), which corresponds to the @code{b43-open} Linux-libre driver. "
18409 "Free firmware exists for both and is available out-of-the-box on GuixSD, as "
18410 "part of @var{%base-firmware} (@pxref{operating-system Reference, "
18411 "@code{firmware}})."
18412 msgstr ""
18413
18414 #. type: cindex
18415 #: doc/guix.texi:8159
18416 #, no-wrap
18417 msgid "RYF, Respects Your Freedom"
18418 msgstr ""
18419
18420 #. type: Plain text
18421 #: doc/guix.texi:8165
18422 msgid ""
18423 "The @uref{https://www.fsf.org/, Free Software Foundation} runs @uref{https://"
18424 "www.fsf.org/ryf, @dfn{Respects Your Freedom}} (RYF), a certification program "
18425 "for hardware products that respect your freedom and your privacy and ensure "
18426 "that you have control over your device. We encourage you to check the list "
18427 "of RYF-certified devices."
18428 msgstr ""
18429
18430 #. type: Plain text
18431 #: doc/guix.texi:8169
18432 msgid ""
18433 "Another useful resource is the @uref{https://www.h-node.org/, H-Node} web "
18434 "site. It contains a catalog of hardware devices with information about "
18435 "their support in GNU/Linux."
18436 msgstr ""
18437
18438 #. type: Plain text
18439 #: doc/guix.texi:8178
18440 msgid ""
18441 "An ISO-9660 installation image that can be written to a USB stick or burnt "
18442 "to a DVD can be downloaded from @indicateurl{ftp://alpha.gnu.org/gnu/guix/"
18443 "guixsd-install-@value{VERSION}.@var{system}.iso.xz}, where @var{system} is "
18444 "one of:"
18445 msgstr ""
18446
18447 #. type: table
18448 #: doc/guix.texi:8182
18449 msgid "for a GNU/Linux system on Intel/AMD-compatible 64-bit CPUs;"
18450 msgstr ""
18451
18452 #. type: table
18453 #: doc/guix.texi:8185
18454 msgid "for a 32-bit GNU/Linux system on Intel-compatible CPUs."
18455 msgstr ""
18456
18457 #. type: Plain text
18458 #: doc/guix.texi:8190
18459 msgid ""
18460 "Make sure to download the associated @file{.sig} file and to verify the "
18461 "authenticity of the image against it, along these lines:"
18462 msgstr ""
18463
18464 #. type: example
18465 #: doc/guix.texi:8194
18466 #, no-wrap
18467 msgid ""
18468 "$ wget ftp://alpha.gnu.org/gnu/guix/guixsd-install-@value{VERSION}.@var{system}.iso.xz.sig\n"
18469 "$ gpg --verify guixsd-install-@value{VERSION}.@var{system}.iso.xz.sig\n"
18470 msgstr ""
18471
18472 #. type: Plain text
18473 #: doc/guix.texi:8209
18474 msgid ""
18475 "This image contains the tools necessary for an installation. It is meant to "
18476 "be copied @emph{as is} to a large-enough USB stick or DVD."
18477 msgstr ""
18478
18479 #. type: unnumberedsubsubsec
18480 #: doc/guix.texi:8210
18481 #, no-wrap
18482 msgid "Copying to a USB Stick"
18483 msgstr ""
18484
18485 #. type: Plain text
18486 #: doc/guix.texi:8213
18487 msgid "To copy the image to a USB stick, follow these steps:"
18488 msgstr ""
18489
18490 #. type: enumerate
18491 #: doc/guix.texi:8217 doc/guix.texi:8242
18492 msgid "Decompress the image using the @command{xz} command:"
18493 msgstr ""
18494
18495 #. type: example
18496 #: doc/guix.texi:8220 doc/guix.texi:8245
18497 #, no-wrap
18498 msgid "xz -d guixsd-install-@value{VERSION}.@var{system}.iso.xz\n"
18499 msgstr ""
18500
18501 #. type: enumerate
18502 #: doc/guix.texi:8226
18503 msgid ""
18504 "Insert a USB stick of 1@tie{}GiB or more into your machine, and determine "
18505 "its device name. Assuming that the USB stick is known as @file{/dev/sdX}, "
18506 "copy the image with:"
18507 msgstr ""
18508
18509 #. type: example
18510 #: doc/guix.texi:8230
18511 #, no-wrap
18512 msgid ""
18513 "dd if=guixsd-install-@value{VERSION}.x86_64-linux.iso of=/dev/sdX\n"
18514 "sync\n"
18515 msgstr ""
18516
18517 #. type: enumerate
18518 #: doc/guix.texi:8233
18519 msgid "Access to @file{/dev/sdX} usually requires root privileges."
18520 msgstr ""
18521
18522 #. type: unnumberedsubsubsec
18523 #: doc/guix.texi:8235
18524 #, no-wrap
18525 msgid "Burning on a DVD"
18526 msgstr ""
18527
18528 #. type: Plain text
18529 #: doc/guix.texi:8238
18530 msgid "To copy the image to a DVD, follow these steps:"
18531 msgstr ""
18532
18533 #. type: enumerate
18534 #: doc/guix.texi:8251
18535 msgid ""
18536 "Insert a blank DVD into your machine, and determine its device name. "
18537 "Assuming that the DVD drive is known as @file{/dev/srX}, copy the image with:"
18538 msgstr ""
18539
18540 #. type: example
18541 #: doc/guix.texi:8254
18542 #, no-wrap
18543 msgid "growisofs -dvd-compat -Z /dev/srX=guixsd-install-@value{VERSION}.x86_64.iso\n"
18544 msgstr ""
18545
18546 #. type: enumerate
18547 #: doc/guix.texi:8257
18548 msgid "Access to @file{/dev/srX} usually requires root privileges."
18549 msgstr ""
18550
18551 #. type: unnumberedsubsubsec
18552 #: doc/guix.texi:8259
18553 #, no-wrap
18554 msgid "Booting"
18555 msgstr ""
18556
18557 #. type: Plain text
18558 #: doc/guix.texi:8264
18559 msgid ""
18560 "Once this is done, you should be able to reboot the system and boot from the "
18561 "USB stick or DVD. The latter usually requires you to get in the BIOS or "
18562 "UEFI boot menu, where you can choose to boot from the USB stick."
18563 msgstr ""
18564
18565 #. type: Plain text
18566 #: doc/guix.texi:8267
18567 msgid ""
18568 "@xref{Installing GuixSD in a VM}, if, instead, you would like to install "
18569 "GuixSD in a virtual machine (VM)."
18570 msgstr ""
18571
18572 #. type: Plain text
18573 #: doc/guix.texi:8279
18574 msgid ""
18575 "Once you have successfully booted your computer using the installation "
18576 "medium, you should end up with a root prompt. Several console TTYs are "
18577 "configured and can be used to run commands as root. TTY2 shows this "
18578 "documentation, browsable using the Info reader commands (@pxref{Top,,, info-"
18579 "stnd, Stand-alone GNU Info}). The installation system runs the GPM mouse "
18580 "daemon, which allows you to select text with the left mouse button and to "
18581 "paste it with the middle button."
18582 msgstr ""
18583
18584 #. type: quotation
18585 #: doc/guix.texi:8284
18586 msgid ""
18587 "Installation requires access to the Internet so that any missing "
18588 "dependencies of your system configuration can be downloaded. See the "
18589 "``Networking'' section below."
18590 msgstr ""
18591
18592 #. type: Plain text
18593 #: doc/guix.texi:8290
18594 msgid ""
18595 "The installation system includes many common tools needed for this task. "
18596 "But it is also a full-blown GuixSD system, which means that you can install "
18597 "additional packages, should you need it, using @command{guix package} "
18598 "(@pxref{Invoking guix package})."
18599 msgstr ""
18600
18601 #. type: subsubsection
18602 #: doc/guix.texi:8291
18603 #, no-wrap
18604 msgid "Keyboard Layout"
18605 msgstr ""
18606
18607 #. type: cindex
18608 #: doc/guix.texi:8293 doc/guix.texi:10364
18609 #, no-wrap
18610 msgid "keyboard layout"
18611 msgstr ""
18612
18613 #. type: Plain text
18614 #: doc/guix.texi:8297
18615 msgid ""
18616 "The installation image uses the US qwerty keyboard layout. If you want to "
18617 "change it, you can use the @command{loadkeys} command. For example, the "
18618 "following command selects the Dvorak keyboard layout:"
18619 msgstr ""
18620
18621 #. type: example
18622 #: doc/guix.texi:8300
18623 #, no-wrap
18624 msgid "loadkeys dvorak\n"
18625 msgstr ""
18626
18627 #. type: Plain text
18628 #: doc/guix.texi:8305
18629 msgid ""
18630 "See the files under @file{/run/current-system/profile/share/keymaps} for a "
18631 "list of available keyboard layouts. Run @command{man loadkeys} for more "
18632 "information."
18633 msgstr ""
18634
18635 #. type: subsubsection
18636 #: doc/guix.texi:8306
18637 #, no-wrap
18638 msgid "Networking"
18639 msgstr ""
18640
18641 #. type: Plain text
18642 #: doc/guix.texi:8309
18643 msgid "Run the following command see what your network interfaces are called:"
18644 msgstr ""
18645
18646 #. type: example
18647 #: doc/guix.texi:8312
18648 #, no-wrap
18649 msgid "ifconfig -a\n"
18650 msgstr ""
18651
18652 #. type: Plain text
18653 #: doc/guix.texi:8316
18654 msgid "@dots{} or, using the GNU/Linux-specific @command{ip} command:"
18655 msgstr ""
18656
18657 #. type: example
18658 #: doc/guix.texi:8319
18659 #, no-wrap
18660 msgid "ip a\n"
18661 msgstr ""
18662
18663 #. type: Plain text
18664 #: doc/guix.texi:8326
18665 msgid ""
18666 "Wired interfaces have a name starting with @samp{e}; for example, the "
18667 "interface corresponding to the first on-board Ethernet controller is called "
18668 "@samp{eno1}. Wireless interfaces have a name starting with @samp{w}, like "
18669 "@samp{w1p2s0}."
18670 msgstr ""
18671
18672 #. type: item
18673 #: doc/guix.texi:8328
18674 #, no-wrap
18675 msgid "Wired connection"
18676 msgstr ""
18677
18678 #. type: table
18679 #: doc/guix.texi:8331
18680 msgid ""
18681 "To configure a wired network run the following command, substituting "
18682 "@var{interface} with the name of the wired interface you want to use."
18683 msgstr ""
18684
18685 #. type: example
18686 #: doc/guix.texi:8334
18687 #, no-wrap
18688 msgid "ifconfig @var{interface} up\n"
18689 msgstr ""
18690
18691 #. type: item
18692 #: doc/guix.texi:8336
18693 #, no-wrap
18694 msgid "Wireless connection"
18695 msgstr ""
18696
18697 #. type: cindex
18698 #: doc/guix.texi:8337 doc/guix.texi:10763
18699 #, no-wrap
18700 msgid "wireless"
18701 msgstr ""
18702
18703 #. type: cindex
18704 #: doc/guix.texi:8338 doc/guix.texi:10764
18705 #, no-wrap
18706 msgid "WiFi"
18707 msgstr ""
18708
18709 #. type: table
18710 #: doc/guix.texi:8343
18711 msgid ""
18712 "To configure wireless networking, you can create a configuration file for "
18713 "the @command{wpa_supplicant} configuration tool (its location is not "
18714 "important) using one of the available text editors such as @command{nano}:"
18715 msgstr ""
18716
18717 #. type: example
18718 #: doc/guix.texi:8346
18719 #, no-wrap
18720 msgid "nano wpa_supplicant.conf\n"
18721 msgstr ""
18722
18723 #. type: table
18724 #: doc/guix.texi:8351
18725 msgid ""
18726 "As an example, the following stanza can go to this file and will work for "
18727 "many wireless networks, provided you give the actual SSID and passphrase for "
18728 "the network you are connecting to:"
18729 msgstr ""
18730
18731 #. type: example
18732 #: doc/guix.texi:8358
18733 #, no-wrap
18734 msgid ""
18735 "network=@{\n"
18736 " ssid=\"@var{my-ssid}\"\n"
18737 " key_mgmt=WPA-PSK\n"
18738 " psk=\"the network's secret passphrase\"\n"
18739 "@}\n"
18740 msgstr ""
18741
18742 #. type: table
18743 #: doc/guix.texi:8363
18744 msgid ""
18745 "Start the wireless service and run it in the background with the following "
18746 "command (substitute @var{interface} with the name of the network interface "
18747 "you want to use):"
18748 msgstr ""
18749
18750 #. type: example
18751 #: doc/guix.texi:8366
18752 #, no-wrap
18753 msgid "wpa_supplicant -c wpa_supplicant.conf -i @var{interface} -B\n"
18754 msgstr ""
18755
18756 #. type: table
18757 #: doc/guix.texi:8369
18758 msgid "Run @command{man wpa_supplicant} for more information."
18759 msgstr ""
18760
18761 #. type: cindex
18762 #: doc/guix.texi:8371
18763 #, no-wrap
18764 msgid "DHCP"
18765 msgstr ""
18766
18767 #. type: Plain text
18768 #: doc/guix.texi:8374
18769 msgid ""
18770 "At this point, you need to acquire an IP address. On a network where IP "
18771 "addresses are automatically assigned @i{via} DHCP, you can run:"
18772 msgstr ""
18773
18774 #. type: example
18775 #: doc/guix.texi:8377
18776 #, no-wrap
18777 msgid "dhclient -v @var{interface}\n"
18778 msgstr ""
18779
18780 #. type: Plain text
18781 #: doc/guix.texi:8380
18782 msgid "Try to ping a server to see if networking is up and running:"
18783 msgstr ""
18784
18785 #. type: example
18786 #: doc/guix.texi:8383
18787 #, no-wrap
18788 msgid "ping -c 3 gnu.org\n"
18789 msgstr ""
18790
18791 #. type: Plain text
18792 #: doc/guix.texi:8387
18793 msgid ""
18794 "Setting up network access is almost always a requirement because the image "
18795 "does not contain all the software and tools that may be needed."
18796 msgstr ""
18797
18798 #. type: cindex
18799 #: doc/guix.texi:8388
18800 #, no-wrap
18801 msgid "installing over SSH"
18802 msgstr ""
18803
18804 #. type: Plain text
18805 #: doc/guix.texi:8391
18806 msgid ""
18807 "If you want to, you can continue the installation remotely by starting an "
18808 "SSH server:"
18809 msgstr ""
18810
18811 #. type: example
18812 #: doc/guix.texi:8394
18813 #, no-wrap
18814 msgid "herd start ssh-daemon\n"
18815 msgstr ""
18816
18817 #. type: Plain text
18818 #: doc/guix.texi:8398
18819 msgid ""
18820 "Make sure to either set a password with @command{passwd}, or configure "
18821 "OpenSSH public key authentication before logging in."
18822 msgstr ""
18823
18824 #. type: subsubsection
18825 #: doc/guix.texi:8399
18826 #, no-wrap
18827 msgid "Disk Partitioning"
18828 msgstr ""
18829
18830 #. type: Plain text
18831 #: doc/guix.texi:8403
18832 msgid ""
18833 "Unless this has already been done, the next step is to partition, and then "
18834 "format the target partition(s)."
18835 msgstr ""
18836
18837 #. type: Plain text
18838 #: doc/guix.texi:8408
18839 msgid ""
18840 "The installation image includes several partitioning tools, including Parted "
18841 "(@pxref{Overview,,, parted, GNU Parted User Manual}), @command{fdisk}, and "
18842 "@command{cfdisk}. Run it and set up your disk with the partition layout you "
18843 "want:"
18844 msgstr ""
18845
18846 #. type: example
18847 #: doc/guix.texi:8411
18848 #, no-wrap
18849 msgid "cfdisk\n"
18850 msgstr ""
18851
18852 #. type: Plain text
18853 #: doc/guix.texi:8417
18854 msgid ""
18855 "If your disk uses the GUID Partition Table (GPT) format and you plan to "
18856 "install BIOS-based GRUB (which is the default), make sure a BIOS Boot "
18857 "Partition is available (@pxref{BIOS installation,,, grub, GNU GRUB manual})."
18858 msgstr ""
18859
18860 #. type: cindex
18861 #: doc/guix.texi:8418
18862 #, no-wrap
18863 msgid "EFI, installation"
18864 msgstr ""
18865
18866 #. type: cindex
18867 #: doc/guix.texi:8419
18868 #, no-wrap
18869 msgid "UEFI, installation"
18870 msgstr ""
18871
18872 #. type: cindex
18873 #: doc/guix.texi:8420
18874 #, no-wrap
18875 msgid "ESP, EFI system partition"
18876 msgstr ""
18877
18878 #. type: Plain text
18879 #: doc/guix.texi:8424
18880 msgid ""
18881 "If you instead wish to use EFI-based GRUB, a FAT32 @dfn{EFI System "
18882 "Partition} (ESP) is required. This partition should be mounted at @file{/"
18883 "boot/efi} and must have the @code{esp} flag set. E.g., for @command{parted}:"
18884 msgstr ""
18885
18886 #. type: example
18887 #: doc/guix.texi:8427
18888 #, no-wrap
18889 msgid "parted /dev/sda set 1 esp on\n"
18890 msgstr ""
18891
18892 #. type: Plain text
18893 #: doc/guix.texi:8435
18894 msgid ""
18895 "Once you are done partitioning the target hard disk drive, you have to "
18896 "create a file system on the relevant partition(s)@footnote{Currently GuixSD "
18897 "only supports ext4 and btrfs file systems. In particular, code that reads "
18898 "file system UUIDs and labels only works for these file system types.}. For "
18899 "the ESP, if you have one and assuming it is @file{/dev/sda2}, run:"
18900 msgstr ""
18901
18902 #. type: example
18903 #: doc/guix.texi:8438
18904 #, no-wrap
18905 msgid "mkfs.fat -F32 /dev/sda2\n"
18906 msgstr ""
18907
18908 #. type: Plain text
18909 #: doc/guix.texi:8446
18910 msgid ""
18911 "Preferably, assign file systems a label so that you can easily and reliably "
18912 "refer to them in @code{file-system} declarations (@pxref{File Systems}). "
18913 "This is typically done using the @code{-L} option of @command{mkfs.ext4} and "
18914 "related commands. So, assuming the target root partition lives at @file{/"
18915 "dev/sda1}, a file system with the label @code{my-root} can be created with:"
18916 msgstr ""
18917
18918 #. type: example
18919 #: doc/guix.texi:8449
18920 #, no-wrap
18921 msgid "mkfs.ext4 -L my-root /dev/sda1\n"
18922 msgstr ""
18923
18924 #. type: cindex
18925 #: doc/guix.texi:8451 doc/guix.texi:8840
18926 #, no-wrap
18927 msgid "encrypted disk"
18928 msgstr ""
18929
18930 #. type: Plain text
18931 #: doc/guix.texi:8458
18932 msgid ""
18933 "If you are instead planning to encrypt the root partition, you can use the "
18934 "Cryptsetup/LUKS utilities to do that (see @inlinefmtifelse{html, "
18935 "@uref{https://linux.die.net/man/8/cryptsetup, @code{man cryptsetup}}, "
18936 "@code{man cryptsetup}} for more information.) Assuming you want to store "
18937 "the root partition on @file{/dev/sda1}, the command sequence would be along "
18938 "these lines:"
18939 msgstr ""
18940
18941 #. type: example
18942 #: doc/guix.texi:8463
18943 #, no-wrap
18944 msgid ""
18945 "cryptsetup luksFormat /dev/sda1\n"
18946 "cryptsetup open --type luks /dev/sda1 my-partition\n"
18947 "mkfs.ext4 -L my-root /dev/mapper/my-partition\n"
18948 msgstr ""
18949
18950 #. type: Plain text
18951 #: doc/guix.texi:8468
18952 msgid ""
18953 "Once that is done, mount the target file system under @file{/mnt} with a "
18954 "command like (again, assuming @code{my-root} is the label of the root file "
18955 "system):"
18956 msgstr ""
18957
18958 #. type: example
18959 #: doc/guix.texi:8471
18960 #, no-wrap
18961 msgid "mount LABEL=my-root /mnt\n"
18962 msgstr ""
18963
18964 #. type: Plain text
18965 #: doc/guix.texi:8477
18966 msgid ""
18967 "Also mount any other file systems you would like to use on the target system "
18968 "relative to this path. If you have @file{/boot} on a separate partition for "
18969 "example, mount it at @file{/mnt/boot} now so it is found by @code{guix "
18970 "system init} afterwards."
18971 msgstr ""
18972
18973 #. type: Plain text
18974 #: doc/guix.texi:8482
18975 msgid ""
18976 "Finally, if you plan to use one or more swap partitions (@pxref{Memory "
18977 "Concepts, swap space,, libc, The GNU C Library Reference Manual}), make sure "
18978 "to initialize them with @command{mkswap}. Assuming you have one swap "
18979 "partition on @file{/dev/sda2}, you would run:"
18980 msgstr ""
18981
18982 #. type: example
18983 #: doc/guix.texi:8486
18984 #, no-wrap
18985 msgid ""
18986 "mkswap /dev/sda2\n"
18987 "swapon /dev/sda2\n"
18988 msgstr ""
18989
18990 #. type: Plain text
18991 #: doc/guix.texi:8494
18992 msgid ""
18993 "Alternatively, you may use a swap file. For example, assuming that in the "
18994 "new system you want to use the file @file{/swapfile} as a swap file, you "
18995 "would run@footnote{This example will work for many types of file systems (e."
18996 "g., ext4). However, for copy-on-write file systems (e.g., btrfs), the "
18997 "required steps may be different. For details, see the manual pages for "
18998 "@command{mkswap} and @command{swapon}.}:"
18999 msgstr ""
19000
19001 #. type: example
19002 #: doc/guix.texi:8502
19003 #, no-wrap
19004 msgid ""
19005 "# This is 10 GiB of swap space. Adjust \"count\" to change the size.\n"
19006 "dd if=/dev/zero of=/mnt/swapfile bs=1MiB count=10240\n"
19007 "# For security, make the file readable and writable only by root.\n"
19008 "chmod 600 /mnt/swapfile\n"
19009 "mkswap /mnt/swapfile\n"
19010 "swapon /mnt/swapfile\n"
19011 msgstr ""
19012
19013 #. type: Plain text
19014 #: doc/guix.texi:8507
19015 msgid ""
19016 "Note that if you have encrypted the root partition and created a swap file "
19017 "in its file system as described above, then the encryption also protects the "
19018 "swap file, just like any other file in that file system."
19019 msgstr ""
19020
19021 #. type: Plain text
19022 #: doc/guix.texi:8513
19023 msgid ""
19024 "With the target partitions ready and the target root mounted on @file{/mnt}, "
19025 "we're ready to go. First, run:"
19026 msgstr ""
19027
19028 #. type: example
19029 #: doc/guix.texi:8516
19030 #, no-wrap
19031 msgid "herd start cow-store /mnt\n"
19032 msgstr ""
19033
19034 #. type: Plain text
19035 #: doc/guix.texi:8523
19036 msgid ""
19037 "This makes @file{/gnu/store} copy-on-write, such that packages added to it "
19038 "during the installation phase are written to the target disk on @file{/mnt} "
19039 "rather than kept in memory. This is necessary because the first phase of "
19040 "the @command{guix system init} command (see below) entails downloads or "
19041 "builds to @file{/gnu/store} which, initially, is an in-memory file system."
19042 msgstr ""
19043
19044 #. type: Plain text
19045 #: doc/guix.texi:8534
19046 msgid ""
19047 "Next, you have to edit a file and provide the declaration of the operating "
19048 "system to be installed. To that end, the installation system comes with "
19049 "three text editors. We recommend GNU nano (@pxref{Top,,, nano, GNU nano "
19050 "Manual}), which supports syntax highlighting and parentheses matching; other "
19051 "editors include GNU Zile (an Emacs clone), and nvi (a clone of the original "
19052 "BSD @command{vi} editor). We strongly recommend storing that file on the "
19053 "target root file system, say, as @file{/mnt/etc/config.scm}. Failing to do "
19054 "that, you will have lost your configuration file once you have rebooted into "
19055 "the newly-installed system."
19056 msgstr ""
19057
19058 #. type: Plain text
19059 #: doc/guix.texi:8541
19060 msgid ""
19061 "@xref{Using the Configuration System}, for an overview of the configuration "
19062 "file. The example configurations discussed in that section are available "
19063 "under @file{/etc/configuration} in the installation image. Thus, to get "
19064 "started with a system configuration providing a graphical display server (a "
19065 "``desktop'' system), you can run something along these lines:"
19066 msgstr ""
19067
19068 #. type: example
19069 #: doc/guix.texi:8546
19070 #, no-wrap
19071 msgid ""
19072 "# mkdir /mnt/etc\n"
19073 "# cp /etc/configuration/desktop.scm /mnt/etc/config.scm\n"
19074 "# nano /mnt/etc/config.scm\n"
19075 msgstr ""
19076
19077 #. type: Plain text
19078 #: doc/guix.texi:8550
19079 msgid ""
19080 "You should pay attention to what your configuration file contains, and in "
19081 "particular:"
19082 msgstr ""
19083
19084 #. type: itemize
19085 #: doc/guix.texi:8560
19086 msgid ""
19087 "Make sure the @code{bootloader-configuration} form refers to the target you "
19088 "want to install GRUB on. It should mention @code{grub-bootloader} if you "
19089 "are installing GRUB in the legacy way, or @code{grub-efi-bootloader} for "
19090 "newer UEFI systems. For legacy systems, the @code{target} field names a "
19091 "device, like @code{/dev/sda}; for UEFI systems it names a path to a mounted "
19092 "EFI partition, like @code{/boot/efi}, and do make sure the path is actually "
19093 "mounted."
19094 msgstr ""
19095
19096 #. type: itemize
19097 #: doc/guix.texi:8566
19098 msgid ""
19099 "Be sure that your file system labels match the value of their respective "
19100 "@code{device} fields in your @code{file-system} configuration, assuming your "
19101 "@code{file-system} configuration sets the value of @code{title} to "
19102 "@code{'label}."
19103 msgstr ""
19104
19105 #. type: itemize
19106 #: doc/guix.texi:8570
19107 msgid ""
19108 "If there are encrypted or RAID partitions, make sure to add a @code{mapped-"
19109 "devices} field to describe them (@pxref{Mapped Devices})."
19110 msgstr ""
19111
19112 #. type: Plain text
19113 #: doc/guix.texi:8575
19114 msgid ""
19115 "Once you are done preparing the configuration file, the new system must be "
19116 "initialized (remember that the target root file system is mounted under "
19117 "@file{/mnt}):"
19118 msgstr ""
19119
19120 #. type: example
19121 #: doc/guix.texi:8578
19122 #, no-wrap
19123 msgid "guix system init /mnt/etc/config.scm /mnt\n"
19124 msgstr ""
19125
19126 #. type: Plain text
19127 #: doc/guix.texi:8585
19128 msgid ""
19129 "This copies all the necessary files and installs GRUB on @file{/dev/sdX}, "
19130 "unless you pass the @option{--no-bootloader} option. For more information, "
19131 "@pxref{Invoking guix system}. This command may trigger downloads or builds "
19132 "of missing packages, which can take some time."
19133 msgstr ""
19134
19135 #. type: Plain text
19136 #: doc/guix.texi:8592
19137 msgid ""
19138 "Once that command has completed---and hopefully succeeded!---you can run "
19139 "@command{reboot} and boot into the new system. The @code{root} password in "
19140 "the new system is initially empty; other users' passwords need to be "
19141 "initialized by running the @command{passwd} command as @code{root}, unless "
19142 "your configuration specifies otherwise (@pxref{user-account-password, user "
19143 "account passwords})."
19144 msgstr ""
19145
19146 #. type: cindex
19147 #: doc/guix.texi:8593
19148 #, no-wrap
19149 msgid "upgrading GuixSD"
19150 msgstr ""
19151
19152 #. type: Plain text
19153 #: doc/guix.texi:8600
19154 msgid ""
19155 "From then on, you can update GuixSD whenever you want by running "
19156 "@command{guix pull} as @code{root} (@pxref{Invoking guix pull}), and then "
19157 "running @command{guix system reconfigure} to build a new system generation "
19158 "with the latest packages and services (@pxref{Invoking guix system}). We "
19159 "recommend doing that regularly so that your system includes the latest "
19160 "security updates (@pxref{Security Updates})."
19161 msgstr ""
19162
19163 #. type: Plain text
19164 #: doc/guix.texi:8604
19165 msgid ""
19166 "Join us on @code{#guix} on the Freenode IRC network or on @file{guix-"
19167 "devel@@gnu.org} to share your experience---good or not so good."
19168 msgstr ""
19169
19170 #. type: subsection
19171 #: doc/guix.texi:8606
19172 #, no-wrap
19173 msgid "Installing GuixSD in a Virtual Machine"
19174 msgstr ""
19175
19176 #. type: cindex
19177 #: doc/guix.texi:8608
19178 #, no-wrap
19179 msgid "virtual machine, GuixSD installation"
19180 msgstr ""
19181
19182 #. type: cindex
19183 #: doc/guix.texi:8609
19184 #, no-wrap
19185 msgid "virtual private server (VPS)"
19186 msgstr ""
19187
19188 #. type: cindex
19189 #: doc/guix.texi:8610
19190 #, no-wrap
19191 msgid "VPS (virtual private server)"
19192 msgstr ""
19193
19194 #. type: Plain text
19195 #: doc/guix.texi:8614
19196 msgid ""
19197 "If you'd like to install GuixSD in a virtual machine (VM) or on a virtual "
19198 "private server (VPS) rather than on your beloved machine, this section is "
19199 "for you."
19200 msgstr ""
19201
19202 #. type: Plain text
19203 #: doc/guix.texi:8617
19204 msgid ""
19205 "To boot a @uref{http://qemu.org/,QEMU} VM for installing GuixSD in a disk "
19206 "image, follow these steps:"
19207 msgstr ""
19208
19209 #. type: enumerate
19210 #: doc/guix.texi:8622
19211 msgid ""
19212 "First, retrieve and decompress the GuixSD installation image as described "
19213 "previously (@pxref{USB Stick and DVD Installation})."
19214 msgstr ""
19215
19216 #. type: enumerate
19217 #: doc/guix.texi:8626
19218 msgid ""
19219 "Create a disk image that will hold the installed system. To make a qcow2-"
19220 "formatted disk image, use the @command{qemu-img} command:"
19221 msgstr ""
19222
19223 #. type: example
19224 #: doc/guix.texi:8629
19225 #, no-wrap
19226 msgid "qemu-img create -f qcow2 guixsd.img 50G\n"
19227 msgstr ""
19228
19229 #. type: enumerate
19230 #: doc/guix.texi:8633
19231 msgid ""
19232 "The resulting file will be much smaller than 50 GB (typically less than 1 "
19233 "MB), but it will grow as the virtualized storage device is filled up."
19234 msgstr ""
19235
19236 #. type: enumerate
19237 #: doc/guix.texi:8636
19238 msgid "Boot the USB installation image in an VM:"
19239 msgstr ""
19240
19241 #. type: example
19242 #: doc/guix.texi:8642
19243 #, no-wrap
19244 msgid ""
19245 "qemu-system-x86_64 -m 1024 -smp 1 \\\n"
19246 " -net user -net nic,model=virtio -boot menu=on \\\n"
19247 " -drive file=guixsd-install-@value{VERSION}.@var{system}.iso \\\n"
19248 " -drive file=guixsd.img\n"
19249 msgstr ""
19250
19251 #. type: enumerate
19252 #: doc/guix.texi:8645
19253 msgid "The ordering of the drives matters."
19254 msgstr ""
19255
19256 #. type: enumerate
19257 #: doc/guix.texi:8649
19258 msgid ""
19259 "In the VM console, quickly press the @kbd{F12} key to enter the boot menu. "
19260 "Then press the @kbd{2} key and the @kbd{RET} key to validate your selection."
19261 msgstr ""
19262
19263 #. type: enumerate
19264 #: doc/guix.texi:8653
19265 msgid ""
19266 "You're now root in the VM, proceed with the installation process. "
19267 "@xref{Preparing for Installation}, and follow the instructions."
19268 msgstr ""
19269
19270 #. type: Plain text
19271 #: doc/guix.texi:8658
19272 msgid ""
19273 "Once installation is complete, you can boot the system that's on your "
19274 "@file{guixsd.img} image. @xref{Running GuixSD in a VM}, for how to do that."
19275 msgstr ""
19276
19277 #. type: cindex
19278 #: doc/guix.texi:8662
19279 #, no-wrap
19280 msgid "installation image"
19281 msgstr ""
19282
19283 #. type: Plain text
19284 #: doc/guix.texi:8665
19285 msgid ""
19286 "The installation image described above was built using the @command{guix "
19287 "system} command, specifically:"
19288 msgstr ""
19289
19290 #. type: example
19291 #: doc/guix.texi:8668
19292 #, no-wrap
19293 msgid "guix system disk-image gnu/system/install.scm\n"
19294 msgstr ""
19295
19296 #. type: Plain text
19297 #: doc/guix.texi:8673
19298 msgid ""
19299 "Have a look at @file{gnu/system/install.scm} in the source tree, and see "
19300 "also @ref{Invoking guix system} for more information about the installation "
19301 "image."
19302 msgstr ""
19303
19304 #. type: cindex
19305 #: doc/guix.texi:8677
19306 #, no-wrap
19307 msgid "system configuration"
19308 msgstr ""
19309
19310 #. type: Plain text
19311 #: doc/guix.texi:8683
19312 msgid ""
19313 "The Guix System Distribution supports a consistent whole-system "
19314 "configuration mechanism. By that we mean that all aspects of the global "
19315 "system configuration---such as the available system services, timezone and "
19316 "locale settings, user accounts---are declared in a single place. Such a "
19317 "@dfn{system configuration} can be @dfn{instantiated}---i.e., effected."
19318 msgstr ""
19319
19320 #. type: Plain text
19321 #: doc/guix.texi:8693
19322 msgid ""
19323 "One of the advantages of putting all the system configuration under the "
19324 "control of Guix is that it supports transactional system upgrades, and makes "
19325 "it possible to roll back to a previous system instantiation, should "
19326 "something go wrong with the new one (@pxref{Features}). Another advantage "
19327 "is that it makes it easy to replicate the exact same configuration across "
19328 "different machines, or at different points in time, without having to resort "
19329 "to additional administration tools layered on top of the own tools of the "
19330 "system."
19331 msgstr ""
19332
19333 #. type: Plain text
19334 #: doc/guix.texi:8698
19335 msgid ""
19336 "This section describes this mechanism. First we focus on the system "
19337 "administrator's viewpoint---explaining how the system is configured and "
19338 "instantiated. Then we show how this mechanism can be extended, for instance "
19339 "to support new system services."
19340 msgstr ""
19341
19342 #. type: Plain text
19343 #: doc/guix.texi:8725
19344 msgid ""
19345 "The operating system is configured by providing an @code{operating-system} "
19346 "declaration in a file that can then be passed to the @command{guix system} "
19347 "command (@pxref{Invoking guix system}). A simple setup, with the default "
19348 "system services, the default Linux-Libre kernel, initial RAM disk, and boot "
19349 "loader looks like this:"
19350 msgstr ""
19351
19352 #. type: findex
19353 #: doc/guix.texi:8726
19354 #, no-wrap
19355 msgid "operating-system"
19356 msgstr ""
19357
19358 #. type: include
19359 #: doc/guix.texi:8728
19360 #, no-wrap
19361 msgid "os-config-bare-bones.texi"
19362 msgstr ""
19363
19364 #. type: Plain text
19365 #: doc/guix.texi:8735
19366 msgid ""
19367 "This example should be self-describing. Some of the fields defined above, "
19368 "such as @code{host-name} and @code{bootloader}, are mandatory. Others, such "
19369 "as @code{packages} and @code{services}, can be omitted, in which case they "
19370 "get a default value."
19371 msgstr ""
19372
19373 #. type: Plain text
19374 #: doc/guix.texi:8740
19375 msgid ""
19376 "Below we discuss the effect of some of the most important fields "
19377 "(@pxref{operating-system Reference}, for details about all the available "
19378 "fields), and how to @dfn{instantiate} the operating system using "
19379 "@command{guix system}."
19380 msgstr ""
19381
19382 #. type: unnumberedsubsubsec
19383 #: doc/guix.texi:8741
19384 #, no-wrap
19385 msgid "Globally-Visible Packages"
19386 msgstr ""
19387
19388 #. type: vindex
19389 #: doc/guix.texi:8743
19390 #, no-wrap
19391 msgid "%base-packages"
19392 msgstr ""
19393
19394 #. type: Plain text
19395 #: doc/guix.texi:8756
19396 msgid ""
19397 "The @code{packages} field lists packages that will be globally visible on "
19398 "the system, for all user accounts---i.e., in every user's @code{PATH} "
19399 "environment variable---in addition to the per-user profiles (@pxref{Invoking "
19400 "guix package}). The @var{%base-packages} variable provides all the tools "
19401 "one would expect for basic user and administrator tasks---including the GNU "
19402 "Core Utilities, the GNU Networking Utilities, the GNU Zile lightweight text "
19403 "editor, @command{find}, @command{grep}, etc. The example above adds "
19404 "GNU@tie{}Screen and OpenSSH to those, taken from the @code{(gnu packages "
19405 "screen)} and @code{(gnu packages ssh)} modules (@pxref{Package Modules}). "
19406 "The @code{(list package output)} syntax can be used to add a specific output "
19407 "of a package:"
19408 msgstr ""
19409
19410 #. type: lisp
19411 #: doc/guix.texi:8760
19412 #, no-wrap
19413 msgid ""
19414 "(use-modules (gnu packages))\n"
19415 "(use-modules (gnu packages dns))\n"
19416 "\n"
19417 msgstr ""
19418
19419 #. type: lisp
19420 #: doc/guix.texi:8765
19421 #, no-wrap
19422 msgid ""
19423 "(operating-system\n"
19424 " ;; ...\n"
19425 " (packages (cons (list bind \"utils\")\n"
19426 " %base-packages)))\n"
19427 msgstr ""
19428
19429 #. type: findex
19430 #: doc/guix.texi:8767
19431 #, no-wrap
19432 msgid "specification->package"
19433 msgstr ""
19434
19435 #. type: Plain text
19436 #: doc/guix.texi:8776
19437 msgid ""
19438 "Referring to packages by variable name, like @code{bind} above, has the "
19439 "advantage of being unambiguous; it also allows typos and such to be "
19440 "diagnosed right away as ``unbound variables''. The downside is that one "
19441 "needs to know which module defines which package, and to augment the "
19442 "@code{use-package-modules} line accordingly. To avoid that, one can use the "
19443 "@code{specification->package} procedure of the @code{(gnu packages)} module, "
19444 "which returns the best package for a given name or name and version:"
19445 msgstr ""
19446
19447 #. type: lisp
19448 #: doc/guix.texi:8779
19449 #, no-wrap
19450 msgid ""
19451 "(use-modules (gnu packages))\n"
19452 "\n"
19453 msgstr ""
19454
19455 #. type: lisp
19456 #: doc/guix.texi:8785
19457 #, no-wrap
19458 msgid ""
19459 "(operating-system\n"
19460 " ;; ...\n"
19461 " (packages (append (map specification->package\n"
19462 " '(\"tcpdump\" \"htop\" \"gnupg@@2.0\"))\n"
19463 " %base-packages)))\n"
19464 msgstr ""
19465
19466 #. type: unnumberedsubsubsec
19467 #: doc/guix.texi:8787
19468 #, no-wrap
19469 msgid "System Services"
19470 msgstr ""
19471
19472 #. type: cindex
19473 #: doc/guix.texi:8789 doc/guix.texi:19933 doc/guix.texi:20851
19474 #, no-wrap
19475 msgid "services"
19476 msgstr ""
19477
19478 #. type: vindex
19479 #: doc/guix.texi:8790
19480 #, no-wrap
19481 msgid "%base-services"
19482 msgstr ""
19483
19484 #. type: Plain text
19485 #: doc/guix.texi:8800
19486 msgid ""
19487 "The @code{services} field lists @dfn{system services} to be made available "
19488 "when the system starts (@pxref{Services}). The @code{operating-system} "
19489 "declaration above specifies that, in addition to the basic services, we want "
19490 "the @command{lshd} secure shell daemon listening on port 2222 "
19491 "(@pxref{Networking Services, @code{lsh-service}}). Under the hood, "
19492 "@code{lsh-service} arranges so that @code{lshd} is started with the right "
19493 "command-line options, possibly with supporting configuration files generated "
19494 "as needed (@pxref{Defining Services})."
19495 msgstr ""
19496
19497 #. type: cindex
19498 #: doc/guix.texi:8801
19499 #, no-wrap
19500 msgid "customization, of services"
19501 msgstr ""
19502
19503 #. type: findex
19504 #: doc/guix.texi:8802
19505 #, no-wrap
19506 msgid "modify-services"
19507 msgstr ""
19508
19509 #. type: Plain text
19510 #: doc/guix.texi:8806
19511 msgid ""
19512 "Occasionally, instead of using the base services as is, you will want to "
19513 "customize them. To do this, use @code{modify-services} (@pxref{Service "
19514 "Reference, @code{modify-services}}) to modify the list."
19515 msgstr ""
19516
19517 #. type: Plain text
19518 #: doc/guix.texi:8811
19519 msgid ""
19520 "For example, suppose you want to modify @code{guix-daemon} and Mingetty (the "
19521 "console log-in) in the @var{%base-services} list (@pxref{Base Services, "
19522 "@code{%base-services}}). To do that, you can write the following in your "
19523 "operating system declaration:"
19524 msgstr ""
19525
19526 #. type: lisp
19527 #: doc/guix.texi:8824
19528 #, no-wrap
19529 msgid ""
19530 "(define %my-services\n"
19531 " ;; My very own list of services.\n"
19532 " (modify-services %base-services\n"
19533 " (guix-service-type config =>\n"
19534 " (guix-configuration\n"
19535 " (inherit config)\n"
19536 " (use-substitutes? #f)\n"
19537 " (extra-options '(\"--gc-keep-derivations\"))))\n"
19538 " (mingetty-service-type config =>\n"
19539 " (mingetty-configuration\n"
19540 " (inherit config)))))\n"
19541 "\n"
19542 msgstr ""
19543
19544 #. type: lisp
19545 #: doc/guix.texi:8828
19546 #, no-wrap
19547 msgid ""
19548 "(operating-system\n"
19549 " ;; @dots{}\n"
19550 " (services %my-services))\n"
19551 msgstr ""
19552
19553 #. type: Plain text
19554 #: doc/guix.texi:8839
19555 msgid ""
19556 "This changes the configuration---i.e., the service parameters---of the "
19557 "@code{guix-service-type} instance, and that of all the @code{mingetty-"
19558 "service-type} instances in the @var{%base-services} list. Observe how this "
19559 "is accomplished: first, we arrange for the original configuration to be "
19560 "bound to the identifier @code{config} in the @var{body}, and then we write "
19561 "the @var{body} so that it evaluates to the desired configuration. In "
19562 "particular, notice how we use @code{inherit} to create a new configuration "
19563 "which has the same values as the old configuration, but with a few "
19564 "modifications."
19565 msgstr ""
19566
19567 #. type: Plain text
19568 #: doc/guix.texi:8846
19569 msgid ""
19570 "The configuration for a typical ``desktop'' usage, with an encrypted root "
19571 "partition, the X11 display server, GNOME and Xfce (users can choose which of "
19572 "these desktop environments to use at the log-in screen by pressing "
19573 "@kbd{F1}), network management, power management, and more, would look like "
19574 "this:"
19575 msgstr ""
19576
19577 #. type: include
19578 #: doc/guix.texi:8848
19579 #, no-wrap
19580 msgid "os-config-desktop.texi"
19581 msgstr ""
19582
19583 #. type: cindex
19584 #: doc/guix.texi:8851
19585 #, no-wrap
19586 msgid "UEFI"
19587 msgstr ""
19588
19589 #. type: Plain text
19590 #: doc/guix.texi:8854
19591 msgid ""
19592 "A graphical UEFI system with a choice of lightweight window managers instead "
19593 "of full-blown desktop environments would look like this:"
19594 msgstr ""
19595
19596 #. type: include
19597 #: doc/guix.texi:8856
19598 #, no-wrap
19599 msgid "os-config-lightweight-desktop.texi"
19600 msgstr ""
19601
19602 #. type: Plain text
19603 #: doc/guix.texi:8862
19604 msgid ""
19605 "This example refers to the @file{/boot/efi} file system by its UUID, "
19606 "@code{1234-ABCD}. Replace this UUID with the right UUID on your system, as "
19607 "returned by the @command{blkid} command."
19608 msgstr ""
19609
19610 #. type: Plain text
19611 #: doc/guix.texi:8866
19612 msgid ""
19613 "@xref{Desktop Services}, for the exact list of services provided by "
19614 "@var{%desktop-services}. @xref{X.509 Certificates}, for background "
19615 "information about the @code{nss-certs} package that is used here."
19616 msgstr ""
19617
19618 #. type: Plain text
19619 #: doc/guix.texi:8873
19620 msgid ""
19621 "Again, @var{%desktop-services} is just a list of service objects. If you "
19622 "want to remove services from there, you can do so using the procedures for "
19623 "list filtering (@pxref{SRFI-1 Filtering and Partitioning,,, guile, GNU Guile "
19624 "Reference Manual}). For instance, the following expression returns a list "
19625 "that contains all the services in @var{%desktop-services} minus the Avahi "
19626 "service:"
19627 msgstr ""
19628
19629 #. type: example
19630 #: doc/guix.texi:8878
19631 #, no-wrap
19632 msgid ""
19633 "(remove (lambda (service)\n"
19634 " (eq? (service-kind service) avahi-service-type))\n"
19635 " %desktop-services)\n"
19636 msgstr ""
19637
19638 #. type: unnumberedsubsubsec
19639 #: doc/guix.texi:8880
19640 #, no-wrap
19641 msgid "Instantiating the System"
19642 msgstr ""
19643
19644 #. type: Plain text
19645 #: doc/guix.texi:8887
19646 msgid ""
19647 "Assuming the @code{operating-system} declaration is stored in the @file{my-"
19648 "system-config.scm} file, the @command{guix system reconfigure my-system-"
19649 "config.scm} command instantiates that configuration, and makes it the "
19650 "default GRUB boot entry (@pxref{Invoking guix system})."
19651 msgstr ""
19652
19653 #. type: Plain text
19654 #: doc/guix.texi:8895
19655 msgid ""
19656 "The normal way to change the system configuration is by updating this file "
19657 "and re-running @command{guix system reconfigure}. One should never have to "
19658 "touch files in @file{/etc} or to run commands that modify the system state "
19659 "such as @command{useradd} or @command{grub-install}. In fact, you must "
19660 "avoid that since that would not only void your warranty but also prevent you "
19661 "from rolling back to previous versions of your system, should you ever need "
19662 "to."
19663 msgstr ""
19664
19665 #. type: cindex
19666 #: doc/guix.texi:8896
19667 #, no-wrap
19668 msgid "roll-back, of the operating system"
19669 msgstr ""
19670
19671 #. type: Plain text
19672 #: doc/guix.texi:8906
19673 msgid ""
19674 "Speaking of roll-back, each time you run @command{guix system reconfigure}, "
19675 "a new @dfn{generation} of the system is created---without modifying or "
19676 "deleting previous generations. Old system generations get an entry in the "
19677 "bootloader boot menu, allowing you to boot them in case something went wrong "
19678 "with the latest generation. Reassuring, no? The @command{guix system list-"
19679 "generations} command lists the system generations available on disk. It is "
19680 "also possible to roll back the system via the commands @command{guix system "
19681 "roll-back} and @command{guix system switch-generation}."
19682 msgstr ""
19683
19684 #. type: Plain text
19685 #: doc/guix.texi:8912
19686 msgid ""
19687 "Although the command @command{guix system reconfigure} will not modify "
19688 "previous generations, must take care when the current generation is not the "
19689 "latest (e.g., after invoking @command{guix system roll-back}), since the "
19690 "operation might overwrite a later generation (@pxref{Invoking guix system})."
19691 msgstr ""
19692
19693 #. type: unnumberedsubsubsec
19694 #: doc/guix.texi:8913
19695 #, no-wrap
19696 msgid "The Programming Interface"
19697 msgstr ""
19698
19699 #. type: Plain text
19700 #: doc/guix.texi:8918
19701 msgid ""
19702 "At the Scheme level, the bulk of an @code{operating-system} declaration is "
19703 "instantiated with the following monadic procedure (@pxref{The Store Monad}):"
19704 msgstr ""
19705
19706 #. type: deffn
19707 #: doc/guix.texi:8919
19708 #, no-wrap
19709 msgid "{Monadic Procedure} operating-system-derivation os"
19710 msgstr ""
19711
19712 #. type: deffn
19713 #: doc/guix.texi:8922
19714 msgid ""
19715 "Return a derivation that builds @var{os}, an @code{operating-system} object "
19716 "(@pxref{Derivations})."
19717 msgstr ""
19718
19719 #. type: deffn
19720 #: doc/guix.texi:8926
19721 msgid ""
19722 "The output of the derivation is a single directory that refers to all the "
19723 "packages, configuration files, and other supporting files needed to "
19724 "instantiate @var{os}."
19725 msgstr ""
19726
19727 #. type: Plain text
19728 #: doc/guix.texi:8931
19729 msgid ""
19730 "This procedure is provided by the @code{(gnu system)} module. Along with "
19731 "@code{(gnu services)} (@pxref{Services}), this module contains the guts of "
19732 "GuixSD. Make sure to visit it!"
19733 msgstr ""
19734
19735 #. type: subsection
19736 #: doc/guix.texi:8934
19737 #, no-wrap
19738 msgid "@code{operating-system} Reference"
19739 msgstr ""
19740
19741 #. type: Plain text
19742 #: doc/guix.texi:8939
19743 msgid ""
19744 "This section summarizes all the options available in @code{operating-system} "
19745 "declarations (@pxref{Using the Configuration System})."
19746 msgstr ""
19747
19748 #. type: deftp
19749 #: doc/guix.texi:8940
19750 #, no-wrap
19751 msgid "{Data Type} operating-system"
19752 msgstr ""
19753
19754 #. type: deftp
19755 #: doc/guix.texi:8944
19756 msgid ""
19757 "This is the data type representing an operating system configuration. By "
19758 "that, we mean all the global system configuration, not per-user "
19759 "configuration (@pxref{Using the Configuration System})."
19760 msgstr ""
19761
19762 #. type: item
19763 #: doc/guix.texi:8946
19764 #, no-wrap
19765 msgid "@code{kernel} (default: @var{linux-libre})"
19766 msgstr ""
19767
19768 #. type: table
19769 #: doc/guix.texi:8950
19770 msgid ""
19771 "The package object of the operating system kernel to use@footnote{Currently "
19772 "only the Linux-libre kernel is supported. In the future, it will be "
19773 "possible to use the GNU@tie{}Hurd.}."
19774 msgstr ""
19775
19776 #. type: item
19777 #: doc/guix.texi:8951
19778 #, no-wrap
19779 msgid "@code{kernel-arguments} (default: @code{'()})"
19780 msgstr ""
19781
19782 #. type: table
19783 #: doc/guix.texi:8954
19784 msgid ""
19785 "List of strings or gexps representing additional arguments to pass on the "
19786 "command-line of the kernel---e.g., @code{(\"console=ttyS0\")}."
19787 msgstr ""
19788
19789 #. type: code{#1}
19790 #: doc/guix.texi:8955 doc/guix.texi:20130 doc/guix.texi:20149
19791 #, no-wrap
19792 msgid "bootloader"
19793 msgstr ""
19794
19795 #. type: table
19796 #: doc/guix.texi:8957
19797 msgid ""
19798 "The system bootloader configuration object. @xref{Bootloader Configuration}."
19799 msgstr ""
19800
19801 #. type: item
19802 #: doc/guix.texi:8958
19803 #, no-wrap
19804 msgid "@code{initrd-modules} (default: @code{%base-initrd-modules})"
19805 msgstr ""
19806
19807 #. type: code{#1}
19808 #: doc/guix.texi:8959 doc/guix.texi:19970 doc/guix.texi:20073
19809 #: doc/guix.texi:20268
19810 #, no-wrap
19811 msgid "initrd"
19812 msgstr ""
19813
19814 #. type: cindex
19815 #: doc/guix.texi:8960 doc/guix.texi:19971 doc/guix.texi:20074
19816 #, no-wrap
19817 msgid "initial RAM disk"
19818 msgstr ""
19819
19820 #. type: table
19821 #: doc/guix.texi:8963
19822 msgid ""
19823 "The list of Linux kernel modules that need to be available in the initial "
19824 "RAM disk. @xref{Initial RAM Disk}."
19825 msgstr ""
19826
19827 #. type: item
19828 #: doc/guix.texi:8964
19829 #, no-wrap
19830 msgid "@code{initrd} (default: @code{base-initrd})"
19831 msgstr ""
19832
19833 #. type: table
19834 #: doc/guix.texi:8968
19835 msgid ""
19836 "A monadic procedure that returns an initial RAM disk for the Linux kernel. "
19837 "This field is provided to support low-level customization and should rarely "
19838 "be needed for casual use. @xref{Initial RAM Disk}."
19839 msgstr ""
19840
19841 #. type: item
19842 #: doc/guix.texi:8969
19843 #, no-wrap
19844 msgid "@code{firmware} (default: @var{%base-firmware})"
19845 msgstr ""
19846
19847 #. type: cindex
19848 #: doc/guix.texi:8970
19849 #, no-wrap
19850 msgid "firmware"
19851 msgstr ""
19852
19853 #. type: table
19854 #: doc/guix.texi:8972
19855 msgid "List of firmware packages loadable by the operating system kernel."
19856 msgstr ""
19857
19858 #. type: table
19859 #: doc/guix.texi:8977
19860 msgid ""
19861 "The default includes firmware needed for Atheros- and Broadcom-based WiFi "
19862 "devices (Linux-libre modules @code{ath9k} and @code{b43-open}, "
19863 "respectively). @xref{Hardware Considerations}, for more info on supported "
19864 "hardware."
19865 msgstr ""
19866
19867 #. type: code{#1}
19868 #: doc/guix.texi:8978
19869 #, no-wrap
19870 msgid "host-name"
19871 msgstr ""
19872
19873 #. type: table
19874 #: doc/guix.texi:8980
19875 msgid "The host name."
19876 msgstr ""
19877
19878 #. type: code{#1}
19879 #: doc/guix.texi:8981
19880 #, no-wrap
19881 msgid "hosts-file"
19882 msgstr ""
19883
19884 #. type: cindex
19885 #: doc/guix.texi:8982
19886 #, no-wrap
19887 msgid "hosts file"
19888 msgstr ""
19889
19890 #. type: table
19891 #: doc/guix.texi:8987
19892 msgid ""
19893 "A file-like object (@pxref{G-Expressions, file-like objects}) for use as "
19894 "@file{/etc/hosts} (@pxref{Host Names,,, libc, The GNU C Library Reference "
19895 "Manual}). The default is a file with entries for @code{localhost} and "
19896 "@var{host-name}."
19897 msgstr ""
19898
19899 #. type: item
19900 #: doc/guix.texi:8988
19901 #, no-wrap
19902 msgid "@code{mapped-devices} (default: @code{'()})"
19903 msgstr ""
19904
19905 #. type: table
19906 #: doc/guix.texi:8990
19907 msgid "A list of mapped devices. @xref{Mapped Devices}."
19908 msgstr ""
19909
19910 #. type: code{#1}
19911 #: doc/guix.texi:8991
19912 #, no-wrap
19913 msgid "file-systems"
19914 msgstr ""
19915
19916 #. type: table
19917 #: doc/guix.texi:8993
19918 msgid "A list of file systems. @xref{File Systems}."
19919 msgstr ""
19920
19921 #. type: item
19922 #: doc/guix.texi:8994
19923 #, no-wrap
19924 msgid "@code{swap-devices} (default: @code{'()})"
19925 msgstr ""
19926
19927 #. type: cindex
19928 #: doc/guix.texi:8995
19929 #, no-wrap
19930 msgid "swap devices"
19931 msgstr ""
19932
19933 #. type: table
19934 #: doc/guix.texi:9002
19935 msgid ""
19936 "A list of strings identifying devices or files to be used for ``swap "
19937 "space'' (@pxref{Memory Concepts,,, libc, The GNU C Library Reference "
19938 "Manual}). For example, @code{'(\"/dev/sda3\")} or @code{'(\"/swapfile\")}. "
19939 "It is possible to specify a swap file in a file system on a mapped device, "
19940 "provided that the necessary device mapping and file system are also "
19941 "specified. @xref{Mapped Devices} and @ref{File Systems}."
19942 msgstr ""
19943
19944 #. type: item
19945 #: doc/guix.texi:9003
19946 #, no-wrap
19947 msgid "@code{users} (default: @code{%base-user-accounts})"
19948 msgstr ""
19949
19950 #. type: itemx
19951 #: doc/guix.texi:9004
19952 #, no-wrap
19953 msgid "@code{groups} (default: @var{%base-groups})"
19954 msgstr ""
19955
19956 #. type: table
19957 #: doc/guix.texi:9006
19958 msgid "List of user accounts and groups. @xref{User Accounts}."
19959 msgstr ""
19960
19961 #. type: table
19962 #: doc/guix.texi:9009
19963 msgid ""
19964 "If the @code{users} list lacks a user account with UID@tie{}0, a ``root'' "
19965 "account with UID@tie{}0 is automatically added."
19966 msgstr ""
19967
19968 #. type: item
19969 #: doc/guix.texi:9010
19970 #, no-wrap
19971 msgid "@code{skeletons} (default: @code{(default-skeletons)})"
19972 msgstr ""
19973
19974 #. type: table
19975 #: doc/guix.texi:9014
19976 msgid ""
19977 "A list target file name/file-like object tuples (@pxref{G-Expressions, file-"
19978 "like objects}). These are the skeleton files that will be added to the home "
19979 "directory of newly-created user accounts."
19980 msgstr ""
19981
19982 #. type: table
19983 #: doc/guix.texi:9016
19984 msgid "For instance, a valid value may look like this:"
19985 msgstr ""
19986
19987 #. type: example
19988 #: doc/guix.texi:9022
19989 #, no-wrap
19990 msgid ""
19991 "`((\".bashrc\" ,(plain-file \"bashrc\" \"echo Hello\\n\"))\n"
19992 " (\".guile\" ,(plain-file \"guile\"\n"
19993 " \"(use-modules (ice-9 readline))\n"
19994 " (activate-readline)\")))\n"
19995 msgstr ""
19996
19997 #. type: item
19998 #: doc/guix.texi:9024
19999 #, no-wrap
20000 msgid "@code{issue} (default: @var{%default-issue})"
20001 msgstr ""
20002
20003 #. type: table
20004 #: doc/guix.texi:9027
20005 msgid ""
20006 "A string denoting the contents of the @file{/etc/issue} file, which is "
20007 "displayed when users log in on a text console."
20008 msgstr ""
20009
20010 #. type: item
20011 #: doc/guix.texi:9028
20012 #, no-wrap
20013 msgid "@code{packages} (default: @var{%base-packages})"
20014 msgstr ""
20015
20016 #. type: table
20017 #: doc/guix.texi:9031
20018 msgid ""
20019 "The set of packages installed in the global profile, which is accessible at "
20020 "@file{/run/current-system/profile}."
20021 msgstr ""
20022
20023 #. type: table
20024 #: doc/guix.texi:9035
20025 msgid ""
20026 "The default set includes core utilities and it is good practice to install "
20027 "non-core utilities in user profiles (@pxref{Invoking guix package})."
20028 msgstr ""
20029
20030 #. type: code{#1}
20031 #: doc/guix.texi:9036
20032 #, no-wrap
20033 msgid "timezone"
20034 msgstr ""
20035
20036 #. type: table
20037 #: doc/guix.texi:9038
20038 msgid "A timezone identifying string---e.g., @code{\"Europe/Paris\"}."
20039 msgstr ""
20040
20041 #. type: table
20042 #: doc/guix.texi:9042
20043 msgid ""
20044 "You can run the @command{tzselect} command to find out which timezone string "
20045 "corresponds to your region. Choosing an invalid timezone name causes "
20046 "@command{guix system} to fail."
20047 msgstr ""
20048
20049 #. type: item
20050 #: doc/guix.texi:9043
20051 #, no-wrap
20052 msgid "@code{locale} (default: @code{\"en_US.utf8\"})"
20053 msgstr ""
20054
20055 #. type: table
20056 #: doc/guix.texi:9046
20057 msgid ""
20058 "The name of the default locale (@pxref{Locale Names,,, libc, The GNU C "
20059 "Library Reference Manual}). @xref{Locales}, for more information."
20060 msgstr ""
20061
20062 #. type: item
20063 #: doc/guix.texi:9047
20064 #, no-wrap
20065 msgid "@code{locale-definitions} (default: @var{%default-locale-definitions})"
20066 msgstr ""
20067
20068 #. type: table
20069 #: doc/guix.texi:9050
20070 msgid ""
20071 "The list of locale definitions to be compiled and that may be used at run "
20072 "time. @xref{Locales}."
20073 msgstr ""
20074
20075 #. type: item
20076 #: doc/guix.texi:9051
20077 #, no-wrap
20078 msgid "@code{locale-libcs} (default: @code{(list @var{glibc})})"
20079 msgstr ""
20080
20081 #. type: table
20082 #: doc/guix.texi:9055
20083 msgid ""
20084 "The list of GNU@tie{}libc packages whose locale data and tools are used to "
20085 "build the locale definitions. @xref{Locales}, for compatibility "
20086 "considerations that justify this option."
20087 msgstr ""
20088
20089 #. type: item
20090 #: doc/guix.texi:9056
20091 #, no-wrap
20092 msgid "@code{name-service-switch} (default: @var{%default-nss})"
20093 msgstr ""
20094
20095 #. type: table
20096 #: doc/guix.texi:9060
20097 msgid ""
20098 "Configuration of the libc name service switch (NSS)---a @code{<name-service-"
20099 "switch>} object. @xref{Name Service Switch}, for details."
20100 msgstr ""
20101
20102 #. type: item
20103 #: doc/guix.texi:9061
20104 #, no-wrap
20105 msgid "@code{services} (default: @var{%base-services})"
20106 msgstr ""
20107
20108 #. type: table
20109 #: doc/guix.texi:9063
20110 msgid "A list of service objects denoting system services. @xref{Services}."
20111 msgstr ""
20112
20113 #. type: item
20114 #: doc/guix.texi:9064
20115 #, no-wrap
20116 msgid "@code{pam-services} (default: @code{(base-pam-services)})"
20117 msgstr ""
20118
20119 #. type: cindex
20120 #: doc/guix.texi:9065
20121 #, no-wrap
20122 msgid "PAM"
20123 msgstr ""
20124
20125 #. type: cindex
20126 #: doc/guix.texi:9066
20127 #, no-wrap
20128 msgid "pluggable authentication modules"
20129 msgstr ""
20130
20131 #. type: table
20132 #: doc/guix.texi:9069
20133 msgid "Linux @dfn{pluggable authentication module} (PAM) services."
20134 msgstr ""
20135
20136 #. type: item
20137 #: doc/guix.texi:9070
20138 #, no-wrap
20139 msgid "@code{setuid-programs} (default: @var{%setuid-programs})"
20140 msgstr ""
20141
20142 #. type: table
20143 #: doc/guix.texi:9073
20144 msgid ""
20145 "List of string-valued G-expressions denoting setuid programs. @xref{Setuid "
20146 "Programs}."
20147 msgstr ""
20148
20149 #. type: item
20150 #: doc/guix.texi:9074
20151 #, no-wrap
20152 msgid "@code{sudoers-file} (default: @var{%sudoers-specification})"
20153 msgstr ""
20154
20155 #. type: cindex
20156 #: doc/guix.texi:9075
20157 #, no-wrap
20158 msgid "sudoers file"
20159 msgstr ""
20160
20161 #. type: table
20162 #: doc/guix.texi:9078
20163 msgid ""
20164 "The contents of the @file{/etc/sudoers} file as a file-like object (@pxref{G-"
20165 "Expressions, @code{local-file} and @code{plain-file}})."
20166 msgstr ""
20167
20168 #. type: table
20169 #: doc/guix.texi:9083
20170 msgid ""
20171 "This file specifies which users can use the @command{sudo} command, what "
20172 "they are allowed to do, and what privileges they may gain. The default is "
20173 "that only @code{root} and members of the @code{wheel} group may use "
20174 "@code{sudo}."
20175 msgstr ""
20176
20177 #. type: Plain text
20178 #: doc/guix.texi:9094
20179 msgid ""
20180 "The list of file systems to be mounted is specified in the @code{file-"
20181 "systems} field of the operating system declaration (@pxref{Using the "
20182 "Configuration System}). Each file system is declared using the @code{file-"
20183 "system} form, like this:"
20184 msgstr ""
20185
20186 #. type: example
20187 #: doc/guix.texi:9100
20188 #, no-wrap
20189 msgid ""
20190 "(file-system\n"
20191 " (mount-point \"/home\")\n"
20192 " (device \"/dev/sda3\")\n"
20193 " (type \"ext4\"))\n"
20194 msgstr ""
20195
20196 #. type: Plain text
20197 #: doc/guix.texi:9104
20198 msgid ""
20199 "As usual, some of the fields are mandatory---those shown in the example "
20200 "above---while others can be omitted. These are described below."
20201 msgstr ""
20202
20203 #. type: deftp
20204 #: doc/guix.texi:9105
20205 #, no-wrap
20206 msgid "{Data Type} file-system"
20207 msgstr ""
20208
20209 #. type: deftp
20210 #: doc/guix.texi:9108
20211 msgid ""
20212 "Objects of this type represent file systems to be mounted. They contain the "
20213 "following members:"
20214 msgstr ""
20215
20216 #. type: item
20217 #: doc/guix.texi:9110 doc/guix.texi:9294
20218 #, no-wrap
20219 msgid "type"
20220 msgstr ""
20221
20222 #. type: table
20223 #: doc/guix.texi:9113
20224 msgid ""
20225 "This is a string specifying the type of the file system---e.g., "
20226 "@code{\"ext4\"}."
20227 msgstr ""
20228
20229 #. type: code{#1}
20230 #: doc/guix.texi:9114
20231 #, no-wrap
20232 msgid "mount-point"
20233 msgstr ""
20234
20235 #. type: table
20236 #: doc/guix.texi:9116
20237 msgid "This designates the place where the file system is to be mounted."
20238 msgstr ""
20239
20240 #. type: code{#1}
20241 #: doc/guix.texi:9117
20242 #, no-wrap
20243 msgid "device"
20244 msgstr ""
20245
20246 #. type: table
20247 #: doc/guix.texi:9121
20248 msgid ""
20249 "This names the ``source'' of the file system. By default it is the name of "
20250 "a node under @file{/dev}, but its meaning depends on the @code{title} field "
20251 "described below."
20252 msgstr ""
20253
20254 #. type: item
20255 #: doc/guix.texi:9122
20256 #, no-wrap
20257 msgid "@code{title} (default: @code{'device})"
20258 msgstr ""
20259
20260 #. type: table
20261 #: doc/guix.texi:9125
20262 msgid ""
20263 "This is a symbol that specifies how the @code{device} field is to be "
20264 "interpreted."
20265 msgstr ""
20266
20267 #. type: table
20268 #: doc/guix.texi:9130
20269 msgid ""
20270 "When it is the symbol @code{device}, then the @code{device} field is "
20271 "interpreted as a file name; when it is @code{label}, then @code{device} is "
20272 "interpreted as a file system label name; when it is @code{uuid}, "
20273 "@code{device} is interpreted as a file system unique identifier (UUID)."
20274 msgstr ""
20275
20276 #. type: table
20277 #: doc/guix.texi:9138
20278 msgid ""
20279 "UUIDs may be converted from their string representation (as shown by the "
20280 "@command{tune2fs -l} command) using the @code{uuid} form@footnote{The "
20281 "@code{uuid} form expects 16-byte UUIDs as defined in @uref{https://tools."
20282 "ietf.org/html/rfc4122, RFC@tie{}4122}. This is the form of UUID used by the "
20283 "ext2 family of file systems and others, but it is different from ``UUIDs'' "
20284 "found in FAT file systems, for instance.}, like this:"
20285 msgstr ""
20286
20287 #. type: example
20288 #: doc/guix.texi:9145
20289 #, no-wrap
20290 msgid ""
20291 "(file-system\n"
20292 " (mount-point \"/home\")\n"
20293 " (type \"ext4\")\n"
20294 " (title 'uuid)\n"
20295 " (device (uuid \"4dab5feb-d176-45de-b287-9b0a6e4c01cb\")))\n"
20296 msgstr ""
20297
20298 #. type: table
20299 #: doc/guix.texi:9154
20300 msgid ""
20301 "The @code{label} and @code{uuid} options offer a way to refer to file "
20302 "systems without having to hard-code their actual device name@footnote{Note "
20303 "that, while it is tempting to use @file{/dev/disk/by-uuid} and similar "
20304 "device names to achieve the same result, this is not recommended: These "
20305 "special device nodes are created by the udev daemon and may be unavailable "
20306 "at the time the device is mounted.}."
20307 msgstr ""
20308
20309 #. type: table
20310 #: doc/guix.texi:9161
20311 msgid ""
20312 "However, when the source of a file system is a mapped device (@pxref{Mapped "
20313 "Devices}), its @code{device} field @emph{must} refer to the mapped device "
20314 "name---e.g., @file{/dev/mapper/root-partition}---and consequently "
20315 "@code{title} must be set to @code{'device}. This is required so that the "
20316 "system knows that mounting the file system depends on having the "
20317 "corresponding device mapping established."
20318 msgstr ""
20319
20320 #. type: item
20321 #: doc/guix.texi:9162
20322 #, no-wrap
20323 msgid "@code{flags} (default: @code{'()})"
20324 msgstr ""
20325
20326 #. type: table
20327 #: doc/guix.texi:9167
20328 msgid ""
20329 "This is a list of symbols denoting mount flags. Recognized flags include "
20330 "@code{read-only}, @code{bind-mount}, @code{no-dev} (disallow access to "
20331 "special files), @code{no-suid} (ignore setuid and setgid bits), and @code{no-"
20332 "exec} (disallow program execution.)"
20333 msgstr ""
20334
20335 #. type: item
20336 #: doc/guix.texi:9168
20337 #, no-wrap
20338 msgid "@code{options} (default: @code{#f})"
20339 msgstr ""
20340
20341 #. type: table
20342 #: doc/guix.texi:9170
20343 msgid "This is either @code{#f}, or a string denoting mount options."
20344 msgstr ""
20345
20346 #. type: item
20347 #: doc/guix.texi:9171
20348 #, no-wrap
20349 msgid "@code{mount?} (default: @code{#t})"
20350 msgstr ""
20351
20352 #. type: table
20353 #: doc/guix.texi:9176
20354 msgid ""
20355 "This value indicates whether to automatically mount the file system when the "
20356 "system is brought up. When set to @code{#f}, the file system gets an entry "
20357 "in @file{/etc/fstab} (read by the @command{mount} command) but is not "
20358 "automatically mounted."
20359 msgstr ""
20360
20361 #. type: item
20362 #: doc/guix.texi:9177
20363 #, no-wrap
20364 msgid "@code{needed-for-boot?} (default: @code{#f})"
20365 msgstr ""
20366
20367 #. type: table
20368 #: doc/guix.texi:9182
20369 msgid ""
20370 "This Boolean value indicates whether the file system is needed when "
20371 "booting. If that is true, then the file system is mounted when the initial "
20372 "RAM disk (initrd) is loaded. This is always the case, for instance, for the "
20373 "root file system."
20374 msgstr ""
20375
20376 #. type: item
20377 #: doc/guix.texi:9183
20378 #, no-wrap
20379 msgid "@code{check?} (default: @code{#t})"
20380 msgstr ""
20381
20382 #. type: table
20383 #: doc/guix.texi:9186
20384 msgid ""
20385 "This Boolean indicates whether the file system needs to be checked for "
20386 "errors before being mounted."
20387 msgstr ""
20388
20389 #. type: item
20390 #: doc/guix.texi:9187
20391 #, no-wrap
20392 msgid "@code{create-mount-point?} (default: @code{#f})"
20393 msgstr ""
20394
20395 #. type: table
20396 #: doc/guix.texi:9189
20397 msgid "When true, the mount point is created if it does not exist yet."
20398 msgstr ""
20399
20400 #. type: item
20401 #: doc/guix.texi:9190
20402 #, no-wrap
20403 msgid "@code{dependencies} (default: @code{'()})"
20404 msgstr ""
20405
20406 #. type: table
20407 #: doc/guix.texi:9194
20408 msgid ""
20409 "This is a list of @code{<file-system>} or @code{<mapped-device>} objects "
20410 "representing file systems that must be mounted or mapped devices that must "
20411 "be opened before (and unmounted or closed after) this one."
20412 msgstr ""
20413
20414 #. type: table
20415 #: doc/guix.texi:9198
20416 msgid ""
20417 "As an example, consider a hierarchy of mounts: @file{/sys/fs/cgroup} is a "
20418 "dependency of @file{/sys/fs/cgroup/cpu} and @file{/sys/fs/cgroup/memory}."
20419 msgstr ""
20420
20421 #. type: table
20422 #: doc/guix.texi:9201
20423 msgid ""
20424 "Another example is a file system that depends on a mapped device, for "
20425 "example for an encrypted partition (@pxref{Mapped Devices})."
20426 msgstr ""
20427
20428 #. type: Plain text
20429 #: doc/guix.texi:9206
20430 msgid ""
20431 "The @code{(gnu system file-systems)} exports the following useful variables."
20432 msgstr ""
20433
20434 #. type: defvr
20435 #: doc/guix.texi:9207
20436 #, no-wrap
20437 msgid "{Scheme Variable} %base-file-systems"
20438 msgstr ""
20439
20440 #. type: defvr
20441 #: doc/guix.texi:9212
20442 msgid ""
20443 "These are essential file systems that are required on normal systems, such "
20444 "as @var{%pseudo-terminal-file-system} and @var{%immutable-store} (see "
20445 "below.) Operating system declarations should always contain at least these."
20446 msgstr ""
20447
20448 #. type: defvr
20449 #: doc/guix.texi:9214
20450 #, no-wrap
20451 msgid "{Scheme Variable} %pseudo-terminal-file-system"
20452 msgstr ""
20453
20454 #. type: defvr
20455 #: doc/guix.texi:9220
20456 msgid ""
20457 "This is the file system to be mounted as @file{/dev/pts}. It supports "
20458 "@dfn{pseudo-terminals} created @i{via} @code{openpty} and similar functions "
20459 "(@pxref{Pseudo-Terminals,,, libc, The GNU C Library Reference Manual}). "
20460 "Pseudo-terminals are used by terminal emulators such as @command{xterm}."
20461 msgstr ""
20462
20463 #. type: defvr
20464 #: doc/guix.texi:9222
20465 #, no-wrap
20466 msgid "{Scheme Variable} %shared-memory-file-system"
20467 msgstr ""
20468
20469 #. type: defvr
20470 #: doc/guix.texi:9226
20471 msgid ""
20472 "This file system is mounted as @file{/dev/shm} and is used to support memory "
20473 "sharing across processes (@pxref{Memory-mapped I/O, @code{shm_open},, libc, "
20474 "The GNU C Library Reference Manual})."
20475 msgstr ""
20476
20477 #. type: defvr
20478 #: doc/guix.texi:9228
20479 #, no-wrap
20480 msgid "{Scheme Variable} %immutable-store"
20481 msgstr ""
20482
20483 #. type: defvr
20484 #: doc/guix.texi:9233
20485 msgid ""
20486 "This file system performs a read-only ``bind mount'' of @file{/gnu/store}, "
20487 "making it read-only for all the users including @code{root}. This prevents "
20488 "against accidental modification by software running as @code{root} or by "
20489 "system administrators."
20490 msgstr ""
20491
20492 #. type: defvr
20493 #: doc/guix.texi:9236
20494 msgid ""
20495 "The daemon itself is still able to write to the store: it remounts it read-"
20496 "write in its own ``name space.''"
20497 msgstr ""
20498
20499 #. type: defvr
20500 #: doc/guix.texi:9238
20501 #, no-wrap
20502 msgid "{Scheme Variable} %binary-format-file-system"
20503 msgstr ""
20504
20505 #. type: defvr
20506 #: doc/guix.texi:9242
20507 msgid ""
20508 "The @code{binfmt_misc} file system, which allows handling of arbitrary "
20509 "executable file types to be delegated to user space. This requires the "
20510 "@code{binfmt.ko} kernel module to be loaded."
20511 msgstr ""
20512
20513 #. type: defvr
20514 #: doc/guix.texi:9244
20515 #, no-wrap
20516 msgid "{Scheme Variable} %fuse-control-file-system"
20517 msgstr ""
20518
20519 #. type: defvr
20520 #: doc/guix.texi:9248
20521 msgid ""
20522 "The @code{fusectl} file system, which allows unprivileged users to mount and "
20523 "unmount user-space FUSE file systems. This requires the @code{fuse.ko} "
20524 "kernel module to be loaded."
20525 msgstr ""
20526
20527 #. type: cindex
20528 #: doc/guix.texi:9253
20529 #, no-wrap
20530 msgid "device mapping"
20531 msgstr ""
20532
20533 #. type: cindex
20534 #: doc/guix.texi:9254
20535 #, no-wrap
20536 msgid "mapped devices"
20537 msgstr ""
20538
20539 #. type: Plain text
20540 #: doc/guix.texi:9272
20541 msgid ""
20542 "The Linux kernel has a notion of @dfn{device mapping}: a block device, such "
20543 "as a hard disk partition, can be @dfn{mapped} into another device, usually "
20544 "in @code{/dev/mapper/}, with additional processing over the data that flows "
20545 "through it@footnote{Note that the GNU@tie{}Hurd makes no difference between "
20546 "the concept of a ``mapped device'' and that of a file system: both boil down "
20547 "to @emph{translating} input/output operations made on a file to operations "
20548 "on its backing store. Thus, the Hurd implements mapped devices, like file "
20549 "systems, using the generic @dfn{translator} mechanism (@pxref{Translators,,, "
20550 "hurd, The GNU Hurd Reference Manual}).}. A typical example is encryption "
20551 "device mapping: all writes to the mapped device are encrypted, and all reads "
20552 "are deciphered, transparently. Guix extends this notion by considering any "
20553 "device or set of devices that are @dfn{transformed} in some way to create a "
20554 "new device; for instance, RAID devices are obtained by @dfn{assembling} "
20555 "several other devices, such as hard disks or partitions, into a new one that "
20556 "behaves as one partition. Other examples, not yet implemented, are LVM "
20557 "logical volumes."
20558 msgstr ""
20559
20560 #. type: Plain text
20561 #: doc/guix.texi:9275
20562 msgid ""
20563 "Mapped devices are declared using the @code{mapped-device} form, defined as "
20564 "follows; for examples, see below."
20565 msgstr ""
20566
20567 #. type: deftp
20568 #: doc/guix.texi:9276
20569 #, no-wrap
20570 msgid "{Data Type} mapped-device"
20571 msgstr ""
20572
20573 #. type: deftp
20574 #: doc/guix.texi:9279
20575 msgid ""
20576 "Objects of this type represent device mappings that will be made when the "
20577 "system boots up."
20578 msgstr ""
20579
20580 #. type: table
20581 #: doc/guix.texi:9285
20582 msgid ""
20583 "This is either a string specifying the name of the block device to be "
20584 "mapped, such as @code{\"/dev/sda3\"}, or a list of such strings when several "
20585 "devices need to be assembled for creating a new one."
20586 msgstr ""
20587
20588 #. type: code{#1}
20589 #: doc/guix.texi:9286 doc/guix.texi:20162
20590 #, no-wrap
20591 msgid "target"
20592 msgstr ""
20593
20594 #. type: table
20595 #: doc/guix.texi:9293
20596 msgid ""
20597 "This string specifies the name of the resulting mapped device. For kernel "
20598 "mappers such as encrypted devices of type @code{luks-device-mapping}, "
20599 "specifying @code{\"my-partition\"} leads to the creation of the @code{\"/dev/"
20600 "mapper/my-partition\"} device. For RAID devices of type @code{raid-device-"
20601 "mapping}, the full device name such as @code{\"/dev/md0\"} needs to be given."
20602 msgstr ""
20603
20604 #. type: table
20605 #: doc/guix.texi:9297
20606 msgid ""
20607 "This must be a @code{mapped-device-kind} object, which specifies how "
20608 "@var{source} is mapped to @var{target}."
20609 msgstr ""
20610
20611 #. type: defvr
20612 #: doc/guix.texi:9300
20613 #, no-wrap
20614 msgid "{Scheme Variable} luks-device-mapping"
20615 msgstr ""
20616
20617 #. type: defvr
20618 #: doc/guix.texi:9304
20619 msgid ""
20620 "This defines LUKS block device encryption using the @command{cryptsetup} "
20621 "command from the package with the same name. It relies on the @code{dm-"
20622 "crypt} Linux kernel module."
20623 msgstr ""
20624
20625 #. type: defvr
20626 #: doc/guix.texi:9306
20627 #, no-wrap
20628 msgid "{Scheme Variable} raid-device-mapping"
20629 msgstr ""
20630
20631 #. type: defvr
20632 #: doc/guix.texi:9311
20633 msgid ""
20634 "This defines a RAID device, which is assembled using the @code{mdadm} "
20635 "command from the package with the same name. It requires a Linux kernel "
20636 "module for the appropriate RAID level to be loaded, such as @code{raid456} "
20637 "for RAID-4, RAID-5 or RAID-6, or @code{raid10} for RAID-10."
20638 msgstr ""
20639
20640 #. type: cindex
20641 #: doc/guix.texi:9313
20642 #, no-wrap
20643 msgid "disk encryption"
20644 msgstr ""
20645
20646 #. type: cindex
20647 #: doc/guix.texi:9314
20648 #, no-wrap
20649 msgid "LUKS"
20650 msgstr ""
20651
20652 #. type: Plain text
20653 #: doc/guix.texi:9322
20654 msgid ""
20655 "The following example specifies a mapping from @file{/dev/sda3} to @file{/"
20656 "dev/mapper/home} using LUKS---the @url{https://gitlab.com/cryptsetup/"
20657 "cryptsetup,Linux Unified Key Setup}, a standard mechanism for disk "
20658 "encryption. The @file{/dev/mapper/home} device can then be used as the "
20659 "@code{device} of a @code{file-system} declaration (@pxref{File Systems})."
20660 msgstr ""
20661
20662 #. type: example
20663 #: doc/guix.texi:9328
20664 #, no-wrap
20665 msgid ""
20666 "(mapped-device\n"
20667 " (source \"/dev/sda3\")\n"
20668 " (target \"home\")\n"
20669 " (type luks-device-mapping))\n"
20670 msgstr ""
20671
20672 #. type: Plain text
20673 #: doc/guix.texi:9333
20674 msgid ""
20675 "Alternatively, to become independent of device numbering, one may obtain the "
20676 "LUKS UUID (@dfn{unique identifier}) of the source device by a command like:"
20677 msgstr ""
20678
20679 #. type: example
20680 #: doc/guix.texi:9336
20681 #, no-wrap
20682 msgid "cryptsetup luksUUID /dev/sda3\n"
20683 msgstr ""
20684
20685 #. type: Plain text
20686 #: doc/guix.texi:9339
20687 msgid "and use it as follows:"
20688 msgstr ""
20689
20690 #. type: example
20691 #: doc/guix.texi:9345
20692 #, no-wrap
20693 msgid ""
20694 "(mapped-device\n"
20695 " (source (uuid \"cb67fc72-0d54-4c88-9d4b-b225f30b0f44\"))\n"
20696 " (target \"home\")\n"
20697 " (type luks-device-mapping))\n"
20698 msgstr ""
20699
20700 #. type: cindex
20701 #: doc/guix.texi:9347
20702 #, no-wrap
20703 msgid "swap encryption"
20704 msgstr ""
20705
20706 #. type: Plain text
20707 #: doc/guix.texi:9353
20708 msgid ""
20709 "It is also desirable to encrypt swap space, since swap space may contain "
20710 "sensitive data. One way to accomplish that is to use a swap file in a file "
20711 "system on a device mapped via LUKS encryption. In this way, the swap file "
20712 "is encrypted because the entire device is encrypted. @xref{Preparing for "
20713 "Installation,,Disk Partitioning}, for an example."
20714 msgstr ""
20715
20716 #. type: Plain text
20717 #: doc/guix.texi:9356
20718 msgid ""
20719 "A RAID device formed of the partitions @file{/dev/sda1} and @file{/dev/sdb1} "
20720 "may be declared as follows:"
20721 msgstr ""
20722
20723 #. type: example
20724 #: doc/guix.texi:9362
20725 #, no-wrap
20726 msgid ""
20727 "(mapped-device\n"
20728 " (source (list \"/dev/sda1\" \"/dev/sdb1\"))\n"
20729 " (target \"/dev/md0\")\n"
20730 " (type raid-device-mapping))\n"
20731 msgstr ""
20732
20733 #. type: Plain text
20734 #: doc/guix.texi:9369
20735 msgid ""
20736 "The @file{/dev/md0} device can then be used as the @code{device} of a "
20737 "@code{file-system} declaration (@pxref{File Systems}). Note that the RAID "
20738 "level need not be given; it is chosen during the initial creation and "
20739 "formatting of the RAID device and is determined automatically later."
20740 msgstr ""
20741
20742 #. type: cindex
20743 #: doc/guix.texi:9374
20744 #, no-wrap
20745 msgid "users"
20746 msgstr ""
20747
20748 #. type: cindex
20749 #: doc/guix.texi:9375
20750 #, no-wrap
20751 msgid "accounts"
20752 msgstr ""
20753
20754 #. type: cindex
20755 #: doc/guix.texi:9376
20756 #, no-wrap
20757 msgid "user accounts"
20758 msgstr ""
20759
20760 #. type: Plain text
20761 #: doc/guix.texi:9380
20762 msgid ""
20763 "User accounts and groups are entirely managed through the @code{operating-"
20764 "system} declaration. They are specified with the @code{user-account} and "
20765 "@code{user-group} forms:"
20766 msgstr ""
20767
20768 #. type: example
20769 #: doc/guix.texi:9391
20770 #, no-wrap
20771 msgid ""
20772 "(user-account\n"
20773 " (name \"alice\")\n"
20774 " (group \"users\")\n"
20775 " (supplementary-groups '(\"wheel\" ;allow use of sudo, etc.\n"
20776 " \"audio\" ;sound card\n"
20777 " \"video\" ;video devices such as webcams\n"
20778 " \"cdrom\")) ;the good ol' CD-ROM\n"
20779 " (comment \"Bob's sister\")\n"
20780 " (home-directory \"/home/alice\"))\n"
20781 msgstr ""
20782
20783 #. type: Plain text
20784 #: doc/guix.texi:9400
20785 msgid ""
20786 "When booting or upon completion of @command{guix system reconfigure}, the "
20787 "system ensures that only the user accounts and groups specified in the "
20788 "@code{operating-system} declaration exist, and with the specified "
20789 "properties. Thus, account or group creations or modifications made by "
20790 "directly invoking commands such as @command{useradd} are lost upon "
20791 "reconfiguration or reboot. This ensures that the system remains exactly as "
20792 "declared."
20793 msgstr ""
20794
20795 #. type: deftp
20796 #: doc/guix.texi:9401
20797 #, no-wrap
20798 msgid "{Data Type} user-account"
20799 msgstr ""
20800
20801 #. type: deftp
20802 #: doc/guix.texi:9404
20803 msgid ""
20804 "Objects of this type represent user accounts. The following members may be "
20805 "specified:"
20806 msgstr ""
20807
20808 #. type: table
20809 #: doc/guix.texi:9408
20810 msgid "The name of the user account."
20811 msgstr ""
20812
20813 #. type: itemx
20814 #: doc/guix.texi:9409 doc/guix.texi:19924
20815 #, no-wrap
20816 msgid "group"
20817 msgstr ""
20818
20819 #. type: cindex
20820 #: doc/guix.texi:9410 doc/guix.texi:9459
20821 #, no-wrap
20822 msgid "groups"
20823 msgstr ""
20824
20825 #. type: table
20826 #: doc/guix.texi:9413
20827 msgid ""
20828 "This is the name (a string) or identifier (a number) of the user group this "
20829 "account belongs to."
20830 msgstr ""
20831
20832 #. type: item
20833 #: doc/guix.texi:9414
20834 #, no-wrap
20835 msgid "@code{supplementary-groups} (default: @code{'()})"
20836 msgstr ""
20837
20838 #. type: table
20839 #: doc/guix.texi:9417
20840 msgid ""
20841 "Optionally, this can be defined as a list of group names that this account "
20842 "belongs to."
20843 msgstr ""
20844
20845 #. type: item
20846 #: doc/guix.texi:9418
20847 #, no-wrap
20848 msgid "@code{uid} (default: @code{#f})"
20849 msgstr ""
20850
20851 #. type: table
20852 #: doc/guix.texi:9422
20853 msgid ""
20854 "This is the user ID for this account (a number), or @code{#f}. In the "
20855 "latter case, a number is automatically chosen by the system when the account "
20856 "is created."
20857 msgstr ""
20858
20859 #. type: item
20860 #: doc/guix.texi:9423
20861 #, no-wrap
20862 msgid "@code{comment} (default: @code{\"\"})"
20863 msgstr ""
20864
20865 #. type: table
20866 #: doc/guix.texi:9425
20867 msgid "A comment about the account, such as the account owner's full name."
20868 msgstr ""
20869
20870 #. type: code{#1}
20871 #: doc/guix.texi:9426
20872 #, no-wrap
20873 msgid "home-directory"
20874 msgstr ""
20875
20876 #. type: table
20877 #: doc/guix.texi:9428
20878 msgid "This is the name of the home directory for the account."
20879 msgstr ""
20880
20881 #. type: item
20882 #: doc/guix.texi:9429
20883 #, no-wrap
20884 msgid "@code{create-home-directory?} (default: @code{#t})"
20885 msgstr ""
20886
20887 #. type: table
20888 #: doc/guix.texi:9432
20889 msgid ""
20890 "Indicates whether the home directory of this account should be created if it "
20891 "does not exist yet."
20892 msgstr ""
20893
20894 #. type: item
20895 #: doc/guix.texi:9433
20896 #, no-wrap
20897 msgid "@code{shell} (default: Bash)"
20898 msgstr ""
20899
20900 #. type: table
20901 #: doc/guix.texi:9436
20902 msgid ""
20903 "This is a G-expression denoting the file name of a program to be used as the "
20904 "shell (@pxref{G-Expressions})."
20905 msgstr ""
20906
20907 #. type: item
20908 #: doc/guix.texi:9437 doc/guix.texi:9477
20909 #, no-wrap
20910 msgid "@code{system?} (default: @code{#f})"
20911 msgstr ""
20912
20913 #. type: table
20914 #: doc/guix.texi:9441
20915 msgid ""
20916 "This Boolean value indicates whether the account is a ``system'' account. "
20917 "System accounts are sometimes treated specially; for instance, graphical "
20918 "login managers do not list them."
20919 msgstr ""
20920
20921 #. type: anchor{#1}
20922 #: doc/guix.texi:9443
20923 msgid "user-account-password"
20924 msgstr ""
20925
20926 #. type: item
20927 #: doc/guix.texi:9443 doc/guix.texi:9481
20928 #, no-wrap
20929 msgid "@code{password} (default: @code{#f})"
20930 msgstr ""
20931
20932 #. type: table
20933 #: doc/guix.texi:9449
20934 msgid ""
20935 "You would normally leave this field to @code{#f}, initialize user passwords "
20936 "as @code{root} with the @command{passwd} command, and then let users change "
20937 "it with @command{passwd}. Passwords set with @command{passwd} are of course "
20938 "preserved across reboot and reconfiguration."
20939 msgstr ""
20940
20941 #. type: table
20942 #: doc/guix.texi:9455
20943 msgid ""
20944 "If you @emph{do} want to have a preset password for an account, then this "
20945 "field must contain the encrypted password, as a string. @xref{crypt,,, "
20946 "libc, The GNU C Library Reference Manual}, for more information on password "
20947 "encryption, and @ref{Encryption,,, guile, GNU Guile Reference Manual}, for "
20948 "information on Guile's @code{crypt} procedure."
20949 msgstr ""
20950
20951 #. type: Plain text
20952 #: doc/guix.texi:9461
20953 msgid "User group declarations are even simpler:"
20954 msgstr ""
20955
20956 #. type: example
20957 #: doc/guix.texi:9464
20958 #, no-wrap
20959 msgid "(user-group (name \"students\"))\n"
20960 msgstr ""
20961
20962 #. type: deftp
20963 #: doc/guix.texi:9466
20964 #, no-wrap
20965 msgid "{Data Type} user-group"
20966 msgstr ""
20967
20968 #. type: deftp
20969 #: doc/guix.texi:9468
20970 msgid "This type is for, well, user groups. There are just a few fields:"
20971 msgstr ""
20972
20973 #. type: table
20974 #: doc/guix.texi:9472
20975 msgid "The name of the group."
20976 msgstr ""
20977
20978 #. type: item
20979 #: doc/guix.texi:9473
20980 #, no-wrap
20981 msgid "@code{id} (default: @code{#f})"
20982 msgstr ""
20983
20984 #. type: table
20985 #: doc/guix.texi:9476
20986 msgid ""
20987 "The group identifier (a number). If @code{#f}, a new number is "
20988 "automatically allocated when the group is created."
20989 msgstr ""
20990
20991 #. type: table
20992 #: doc/guix.texi:9480
20993 msgid ""
20994 "This Boolean value indicates whether the group is a ``system'' group. "
20995 "System groups have low numerical IDs."
20996 msgstr ""
20997
20998 #. type: table
20999 #: doc/guix.texi:9484
21000 msgid ""
21001 "What, user groups can have a password? Well, apparently yes. Unless "
21002 "@code{#f}, this field specifies the password of the group."
21003 msgstr ""
21004
21005 #. type: Plain text
21006 #: doc/guix.texi:9490
21007 msgid ""
21008 "For convenience, a variable lists all the basic user groups one may expect:"
21009 msgstr ""
21010
21011 #. type: defvr
21012 #: doc/guix.texi:9491
21013 #, no-wrap
21014 msgid "{Scheme Variable} %base-groups"
21015 msgstr ""
21016
21017 #. type: defvr
21018 #: doc/guix.texi:9496
21019 msgid ""
21020 "This is the list of basic user groups that users and/or packages expect to "
21021 "be present on the system. This includes groups such as ``root'', ``wheel'', "
21022 "and ``users'', as well as groups used to control access to specific devices "
21023 "such as ``audio'', ``disk'', and ``cdrom''."
21024 msgstr ""
21025
21026 #. type: defvr
21027 #: doc/guix.texi:9498
21028 #, no-wrap
21029 msgid "{Scheme Variable} %base-user-accounts"
21030 msgstr ""
21031
21032 #. type: defvr
21033 #: doc/guix.texi:9501
21034 msgid ""
21035 "This is the list of basic system accounts that programs may expect to find "
21036 "on a GNU/Linux system, such as the ``nobody'' account."
21037 msgstr ""
21038
21039 #. type: defvr
21040 #: doc/guix.texi:9504
21041 msgid ""
21042 "Note that the ``root'' account is not included here. It is a special-case "
21043 "and is automatically added whether or not it is specified."
21044 msgstr ""
21045
21046 #. type: cindex
21047 #: doc/guix.texi:9509
21048 #, no-wrap
21049 msgid "locale"
21050 msgstr ""
21051
21052 #. type: Plain text
21053 #: doc/guix.texi:9516
21054 msgid ""
21055 "A @dfn{locale} defines cultural conventions for a particular language and "
21056 "region of the world (@pxref{Locales,,, libc, The GNU C Library Reference "
21057 "Manual}). Each locale has a name that typically has the form "
21058 "@code{@var{language}_@var{territory}.@var{codeset}}---e.g., @code{fr_LU."
21059 "utf8} designates the locale for the French language, with cultural "
21060 "conventions from Luxembourg, and using the UTF-8 encoding."
21061 msgstr ""
21062
21063 #. type: cindex
21064 #: doc/guix.texi:9517
21065 #, no-wrap
21066 msgid "locale definition"
21067 msgstr ""
21068
21069 #. type: Plain text
21070 #: doc/guix.texi:9521
21071 msgid ""
21072 "Usually, you will want to specify the default locale for the machine using "
21073 "the @code{locale} field of the @code{operating-system} declaration "
21074 "(@pxref{operating-system Reference, @code{locale}})."
21075 msgstr ""
21076
21077 #. type: Plain text
21078 #: doc/guix.texi:9530
21079 msgid ""
21080 "The selected locale is automatically added to the @dfn{locale definitions} "
21081 "known to the system if needed, with its codeset inferred from its name---e."
21082 "g., @code{bo_CN.utf8} will be assumed to use the @code{UTF-8} codeset. "
21083 "Additional locale definitions can be specified in the @code{locale-"
21084 "definitions} slot of @code{operating-system}---this is useful, for instance, "
21085 "if the codeset could not be inferred from the locale name. The default set "
21086 "of locale definitions includes some widely used locales, but not all the "
21087 "available locales, in order to save space."
21088 msgstr ""
21089
21090 #. type: Plain text
21091 #: doc/guix.texi:9533
21092 msgid ""
21093 "For instance, to add the North Frisian locale for Germany, the value of that "
21094 "field may be:"
21095 msgstr ""
21096
21097 #. type: example
21098 #: doc/guix.texi:9538
21099 #, no-wrap
21100 msgid ""
21101 "(cons (locale-definition\n"
21102 " (name \"fy_DE.utf8\") (source \"fy_DE\"))\n"
21103 " %default-locale-definitions)\n"
21104 msgstr ""
21105
21106 #. type: Plain text
21107 #: doc/guix.texi:9542
21108 msgid ""
21109 "Likewise, to save space, one might want @code{locale-definitions} to list "
21110 "only the locales that are actually used, as in:"
21111 msgstr ""
21112
21113 #. type: example
21114 #: doc/guix.texi:9547
21115 #, no-wrap
21116 msgid ""
21117 "(list (locale-definition\n"
21118 " (name \"ja_JP.eucjp\") (source \"ja_JP\")\n"
21119 " (charset \"EUC-JP\")))\n"
21120 msgstr ""
21121
21122 #. type: Plain text
21123 #: doc/guix.texi:9556
21124 msgid ""
21125 "The compiled locale definitions are available at @file{/run/current-system/"
21126 "locale/X.Y}, where @code{X.Y} is the libc version, which is the default "
21127 "location where the GNU@tie{}libc provided by Guix looks for locale data. "
21128 "This can be overridden using the @code{LOCPATH} environment variable "
21129 "(@pxref{locales-and-locpath, @code{LOCPATH} and locale packages})."
21130 msgstr ""
21131
21132 #. type: Plain text
21133 #: doc/guix.texi:9559
21134 msgid ""
21135 "The @code{locale-definition} form is provided by the @code{(gnu system "
21136 "locale)} module. Details are given below."
21137 msgstr ""
21138
21139 #. type: deftp
21140 #: doc/guix.texi:9560
21141 #, no-wrap
21142 msgid "{Data Type} locale-definition"
21143 msgstr ""
21144
21145 #. type: deftp
21146 #: doc/guix.texi:9562
21147 msgid "This is the data type of a locale definition."
21148 msgstr ""
21149
21150 #. type: table
21151 #: doc/guix.texi:9568
21152 msgid ""
21153 "The name of the locale. @xref{Locale Names,,, libc, The GNU C Library "
21154 "Reference Manual}, for more information on locale names."
21155 msgstr ""
21156
21157 #. type: table
21158 #: doc/guix.texi:9572
21159 msgid ""
21160 "The name of the source for that locale. This is typically the "
21161 "@code{@var{language}_@var{territory}} part of the locale name."
21162 msgstr ""
21163
21164 #. type: item
21165 #: doc/guix.texi:9573
21166 #, no-wrap
21167 msgid "@code{charset} (default: @code{\"UTF-8\"})"
21168 msgstr ""
21169
21170 #. type: table
21171 #: doc/guix.texi:9577
21172 msgid ""
21173 "The ``character set'' or ``code set'' for that locale, @uref{http://www.iana."
21174 "org/assignments/character-sets, as defined by IANA}."
21175 msgstr ""
21176
21177 #. type: defvr
21178 #: doc/guix.texi:9581
21179 #, no-wrap
21180 msgid "{Scheme Variable} %default-locale-definitions"
21181 msgstr ""
21182
21183 #. type: defvr
21184 #: doc/guix.texi:9585
21185 msgid ""
21186 "A list of commonly used UTF-8 locales, used as the default value of the "
21187 "@code{locale-definitions} field of @code{operating-system} declarations."
21188 msgstr ""
21189
21190 #. type: cindex
21191 #: doc/guix.texi:9586
21192 #, no-wrap
21193 msgid "locale name"
21194 msgstr ""
21195
21196 #. type: cindex
21197 #: doc/guix.texi:9587
21198 #, no-wrap
21199 msgid "normalized codeset in locale names"
21200 msgstr ""
21201
21202 #. type: defvr
21203 #: doc/guix.texi:9593
21204 msgid ""
21205 "These locale definitions use the @dfn{normalized codeset} for the part that "
21206 "follows the dot in the name (@pxref{Using gettextized software, normalized "
21207 "codeset,, libc, The GNU C Library Reference Manual}). So for instance it "
21208 "has @code{uk_UA.utf8} but @emph{not}, say, @code{uk_UA.UTF-8}."
21209 msgstr ""
21210
21211 #. type: subsubsection
21212 #: doc/guix.texi:9595
21213 #, no-wrap
21214 msgid "Locale Data Compatibility Considerations"
21215 msgstr ""
21216
21217 #. type: cindex
21218 #: doc/guix.texi:9597
21219 #, no-wrap
21220 msgid "incompatibility, of locale data"
21221 msgstr ""
21222
21223 #. type: Plain text
21224 #: doc/guix.texi:9604
21225 msgid ""
21226 "@code{operating-system} declarations provide a @code{locale-libcs} field to "
21227 "specify the GNU@tie{}libc packages that are used to compile locale "
21228 "declarations (@pxref{operating-system Reference}). ``Why would I care?'', "
21229 "you may ask. Well, it turns out that the binary format of locale data is "
21230 "occasionally incompatible from one libc version to another."
21231 msgstr ""
21232
21233 #. type: Plain text
21234 #: doc/guix.texi:9616
21235 msgid ""
21236 "For instance, a program linked against libc version 2.21 is unable to read "
21237 "locale data produced with libc 2.22; worse, that program @emph{aborts} "
21238 "instead of simply ignoring the incompatible locale data@footnote{Versions "
21239 "2.23 and later of GNU@tie{}libc will simply skip the incompatible locale "
21240 "data, which is already an improvement.}. Similarly, a program linked "
21241 "against libc 2.22 can read most, but not all, of the locale data from libc "
21242 "2.21 (specifically, @code{LC_COLLATE} data is incompatible); thus calls to "
21243 "@code{setlocale} may fail, but programs will not abort."
21244 msgstr ""
21245
21246 #. type: Plain text
21247 #: doc/guix.texi:9621
21248 msgid ""
21249 "The ``problem'' in GuixSD is that users have a lot of freedom: They can "
21250 "choose whether and when to upgrade software in their profiles, and might be "
21251 "using a libc version different from the one the system administrator used to "
21252 "build the system-wide locale data."
21253 msgstr ""
21254
21255 #. type: Plain text
21256 #: doc/guix.texi:9625
21257 msgid ""
21258 "Fortunately, unprivileged users can also install their own locale data and "
21259 "define @var{GUIX_LOCPATH} accordingly (@pxref{locales-and-locpath, "
21260 "@code{GUIX_LOCPATH} and locale packages})."
21261 msgstr ""
21262
21263 #. type: Plain text
21264 #: doc/guix.texi:9632
21265 msgid ""
21266 "Still, it is best if the system-wide locale data at @file{/run/current-"
21267 "system/locale} is built for all the libc versions actually in use on the "
21268 "system, so that all the programs can access it---this is especially crucial "
21269 "on a multi-user system. To do that, the administrator can specify several "
21270 "libc packages in the @code{locale-libcs} field of @code{operating-system}:"
21271 msgstr ""
21272
21273 #. type: example
21274 #: doc/guix.texi:9635
21275 #, no-wrap
21276 msgid ""
21277 "(use-package-modules base)\n"
21278 "\n"
21279 msgstr ""
21280
21281 #. type: example
21282 #: doc/guix.texi:9639
21283 #, no-wrap
21284 msgid ""
21285 "(operating-system\n"
21286 " ;; @dots{}\n"
21287 " (locale-libcs (list glibc-2.21 (canonical-package glibc))))\n"
21288 msgstr ""
21289
21290 #. type: Plain text
21291 #: doc/guix.texi:9644
21292 msgid ""
21293 "This example would lead to a system containing locale definitions for both "
21294 "libc 2.21 and the current version of libc in @file{/run/current-system/"
21295 "locale}."
21296 msgstr ""
21297
21298 #. type: cindex
21299 #: doc/guix.texi:9649
21300 #, no-wrap
21301 msgid "system services"
21302 msgstr ""
21303
21304 #. type: Plain text
21305 #: doc/guix.texi:9655
21306 msgid ""
21307 "An important part of preparing an @code{operating-system} declaration is "
21308 "listing @dfn{system services} and their configuration (@pxref{Using the "
21309 "Configuration System}). System services are typically daemons launched when "
21310 "the system boots, or other actions needed at that time---e.g., configuring "
21311 "network access."
21312 msgstr ""
21313
21314 #. type: Plain text
21315 #: doc/guix.texi:9662
21316 msgid ""
21317 "GuixSD has a broad definition of ``service'' (@pxref{Service Composition}), "
21318 "but many services are managed by the GNU@tie{}Shepherd (@pxref{Shepherd "
21319 "Services}). On a running system, the @command{herd} command allows you to "
21320 "list the available services, show their status, start and stop them, or do "
21321 "other specific operations (@pxref{Jump Start,,, shepherd, The GNU Shepherd "
21322 "Manual}). For example:"
21323 msgstr ""
21324
21325 #. type: example
21326 #: doc/guix.texi:9665
21327 #, no-wrap
21328 msgid "# herd status\n"
21329 msgstr ""
21330
21331 #. type: Plain text
21332 #: doc/guix.texi:9670
21333 msgid ""
21334 "The above command, run as @code{root}, lists the currently defined "
21335 "services. The @command{herd doc} command shows a synopsis of the given "
21336 "service:"
21337 msgstr ""
21338
21339 #. type: example
21340 #: doc/guix.texi:9674
21341 #, no-wrap
21342 msgid ""
21343 "# herd doc nscd\n"
21344 "Run libc's name service cache daemon (nscd).\n"
21345 msgstr ""
21346
21347 #. type: Plain text
21348 #: doc/guix.texi:9679
21349 msgid ""
21350 "The @command{start}, @command{stop}, and @command{restart} sub-commands have "
21351 "the effect you would expect. For instance, the commands below stop the nscd "
21352 "service and restart the Xorg display server:"
21353 msgstr ""
21354
21355 #. type: example
21356 #: doc/guix.texi:9686
21357 #, no-wrap
21358 msgid ""
21359 "# herd stop nscd\n"
21360 "Service nscd has been stopped.\n"
21361 "# herd restart xorg-server\n"
21362 "Service xorg-server has been stopped.\n"
21363 "Service xorg-server has been started.\n"
21364 msgstr ""
21365
21366 #. type: Plain text
21367 #: doc/guix.texi:9691
21368 msgid ""
21369 "The following sections document the available services, starting with the "
21370 "core services, that may be used in an @code{operating-system} declaration."
21371 msgstr ""
21372
21373 #. type: Plain text
21374 #: doc/guix.texi:9726
21375 msgid ""
21376 "The @code{(gnu services base)} module provides definitions for the basic "
21377 "services that one expects from the system. The services exported by this "
21378 "module are listed below."
21379 msgstr ""
21380
21381 #. type: defvr
21382 #: doc/guix.texi:9727
21383 #, no-wrap
21384 msgid "{Scheme Variable} %base-services"
21385 msgstr ""
21386
21387 #. type: defvr
21388 #: doc/guix.texi:9733
21389 msgid ""
21390 "This variable contains a list of basic services (@pxref{Service Types and "
21391 "Services}, for more information on service objects) one would expect from "
21392 "the system: a login service (mingetty) on each tty, syslogd, the libc name "
21393 "service cache daemon (nscd), the udev device manager, and more."
21394 msgstr ""
21395
21396 #. type: defvr
21397 #: doc/guix.texi:9738
21398 msgid ""
21399 "This is the default value of the @code{services} field of @code{operating-"
21400 "system} declarations. Usually, when customizing a system, you will want to "
21401 "append services to @var{%base-services}, like this:"
21402 msgstr ""
21403
21404 #. type: example
21405 #: doc/guix.texi:9741
21406 #, no-wrap
21407 msgid "(cons* (avahi-service) (lsh-service) %base-services)\n"
21408 msgstr ""
21409
21410 #. type: defvr
21411 #: doc/guix.texi:9744
21412 #, no-wrap
21413 msgid "{Scheme Variable} special-files-service-type"
21414 msgstr ""
21415
21416 #. type: defvr
21417 #: doc/guix.texi:9747
21418 msgid ""
21419 "This is the service that sets up ``special files'' such as @file{/bin/sh}; "
21420 "an instance of it is part of @code{%base-services}."
21421 msgstr ""
21422
21423 #. type: defvr
21424 #: doc/guix.texi:9751
21425 msgid ""
21426 "The value associated with @code{special-files-service-type} services must be "
21427 "a list of tuples where the first element is the ``special file'' and the "
21428 "second element is its target. By default it is:"
21429 msgstr ""
21430
21431 #. type: file{#1}
21432 #: doc/guix.texi:9752
21433 #, no-wrap
21434 msgid "/bin/sh"
21435 msgstr ""
21436
21437 #. type: cindex
21438 #: doc/guix.texi:9753
21439 #, no-wrap
21440 msgid "@file{sh}, in @file{/bin}"
21441 msgstr ""
21442
21443 #. type: example
21444 #: doc/guix.texi:9756
21445 #, no-wrap
21446 msgid "`((\"/bin/sh\" ,(file-append @var{bash} \"/bin/sh\")))\n"
21447 msgstr ""
21448
21449 #. type: file{#1}
21450 #: doc/guix.texi:9758
21451 #, no-wrap
21452 msgid "/usr/bin/env"
21453 msgstr ""
21454
21455 #. type: cindex
21456 #: doc/guix.texi:9759
21457 #, no-wrap
21458 msgid "@file{env}, in @file{/usr/bin}"
21459 msgstr ""
21460
21461 #. type: defvr
21462 #: doc/guix.texi:9762
21463 msgid ""
21464 "If you want to add, say, @code{/usr/bin/env} to your system, you can change "
21465 "it to:"
21466 msgstr ""
21467
21468 #. type: example
21469 #: doc/guix.texi:9766
21470 #, no-wrap
21471 msgid ""
21472 "`((\"/bin/sh\" ,(file-append @var{bash} \"/bin/sh\"))\n"
21473 " (\"/usr/bin/env\" ,(file-append @var{coreutils} \"/bin/env\")))\n"
21474 msgstr ""
21475
21476 #. type: defvr
21477 #: doc/guix.texi:9773
21478 msgid ""
21479 "Since this is part of @code{%base-services}, you can use @code{modify-"
21480 "services} to customize the set of special files (@pxref{Service Reference, "
21481 "@code{modify-services}}). But the simple way to add a special file is "
21482 "@i{via} the @code{extra-special-file} procedure (see below.)"
21483 msgstr ""
21484
21485 #. type: deffn
21486 #: doc/guix.texi:9775
21487 #, no-wrap
21488 msgid "{Scheme Procedure} extra-special-file @var{file} @var{target}"
21489 msgstr ""
21490
21491 #. type: deffn
21492 #: doc/guix.texi:9777
21493 msgid "Use @var{target} as the ``special file'' @var{file}."
21494 msgstr ""
21495
21496 #. type: deffn
21497 #: doc/guix.texi:9781
21498 msgid ""
21499 "For example, adding the following lines to the @code{services} field of your "
21500 "operating system declaration leads to a @file{/usr/bin/env} symlink:"
21501 msgstr ""
21502
21503 #. type: example
21504 #: doc/guix.texi:9785
21505 #, no-wrap
21506 msgid ""
21507 "(extra-special-file \"/usr/bin/env\"\n"
21508 " (file-append coreutils \"/bin/env\"))\n"
21509 msgstr ""
21510
21511 #. type: deffn
21512 #: doc/guix.texi:9788
21513 #, no-wrap
21514 msgid "{Scheme Procedure} host-name-service @var{name}"
21515 msgstr ""
21516
21517 #. type: deffn
21518 #: doc/guix.texi:9790
21519 msgid "Return a service that sets the host name to @var{name}."
21520 msgstr ""
21521
21522 #. type: deffn
21523 #: doc/guix.texi:9792
21524 #, no-wrap
21525 msgid "{Scheme Procedure} login-service @var{config}"
21526 msgstr ""
21527
21528 #. type: deffn
21529 #: doc/guix.texi:9796
21530 msgid ""
21531 "Return a service to run login according to @var{config}, a @code{<login-"
21532 "configuration>} object, which specifies the message of the day, among other "
21533 "things."
21534 msgstr ""
21535
21536 #. type: deftp
21537 #: doc/guix.texi:9798
21538 #, no-wrap
21539 msgid "{Data Type} login-configuration"
21540 msgstr ""
21541
21542 #. type: deftp
21543 #: doc/guix.texi:9800
21544 msgid "This is the data type representing the configuration of login."
21545 msgstr ""
21546
21547 #. type: code{#1}
21548 #: doc/guix.texi:9803
21549 #, no-wrap
21550 msgid "motd"
21551 msgstr ""
21552
21553 #. type: cindex
21554 #: doc/guix.texi:9804
21555 #, no-wrap
21556 msgid "message of the day"
21557 msgstr ""
21558
21559 #. type: table
21560 #: doc/guix.texi:9806
21561 msgid "A file-like object containing the ``message of the day''."
21562 msgstr ""
21563
21564 #. type: item
21565 #: doc/guix.texi:9807 doc/guix.texi:11469
21566 #, no-wrap
21567 msgid "@code{allow-empty-passwords?} (default: @code{#t})"
21568 msgstr ""
21569
21570 #. type: table
21571 #: doc/guix.texi:9810
21572 msgid ""
21573 "Allow empty passwords by default so that first-time users can log in when "
21574 "the 'root' account has just been created."
21575 msgstr ""
21576
21577 #. type: deffn
21578 #: doc/guix.texi:9814
21579 #, no-wrap
21580 msgid "{Scheme Procedure} mingetty-service @var{config}"
21581 msgstr ""
21582
21583 #. type: deffn
21584 #: doc/guix.texi:9818
21585 msgid ""
21586 "Return a service to run mingetty according to @var{config}, a "
21587 "@code{<mingetty-configuration>} object, which specifies the tty to run, "
21588 "among other things."
21589 msgstr ""
21590
21591 #. type: deftp
21592 #: doc/guix.texi:9820
21593 #, no-wrap
21594 msgid "{Data Type} mingetty-configuration"
21595 msgstr ""
21596
21597 #. type: deftp
21598 #: doc/guix.texi:9823
21599 msgid ""
21600 "This is the data type representing the configuration of Mingetty, which "
21601 "provides the default implementation of virtual console log-in."
21602 msgstr ""
21603
21604 #. type: code{#1}
21605 #: doc/guix.texi:9826 doc/guix.texi:9862
21606 #, no-wrap
21607 msgid "tty"
21608 msgstr ""
21609
21610 #. type: table
21611 #: doc/guix.texi:9828
21612 msgid "The name of the console this Mingetty runs on---e.g., @code{\"tty1\"}."
21613 msgstr ""
21614
21615 #. type: item
21616 #: doc/guix.texi:9829 doc/guix.texi:9891
21617 #, no-wrap
21618 msgid "@code{auto-login} (default: @code{#f})"
21619 msgstr ""
21620
21621 #. type: table
21622 #: doc/guix.texi:9833
21623 msgid ""
21624 "When true, this field must be a string denoting the user name under which "
21625 "the system automatically logs in. When it is @code{#f}, a user name and "
21626 "password must be entered to log in."
21627 msgstr ""
21628
21629 #. type: item
21630 #: doc/guix.texi:9834
21631 #, no-wrap
21632 msgid "@code{login-program} (default: @code{#f})"
21633 msgstr ""
21634
21635 #. type: table
21636 #: doc/guix.texi:9838
21637 msgid ""
21638 "This must be either @code{#f}, in which case the default log-in program is "
21639 "used (@command{login} from the Shadow tool suite), or a gexp denoting the "
21640 "name of the log-in program."
21641 msgstr ""
21642
21643 #. type: item
21644 #: doc/guix.texi:9839
21645 #, no-wrap
21646 msgid "@code{login-pause?} (default: @code{#f})"
21647 msgstr ""
21648
21649 #. type: table
21650 #: doc/guix.texi:9842
21651 msgid ""
21652 "When set to @code{#t} in conjunction with @var{auto-login}, the user will "
21653 "have to press a key before the log-in shell is launched."
21654 msgstr ""
21655
21656 #. type: item
21657 #: doc/guix.texi:9843
21658 #, no-wrap
21659 msgid "@code{mingetty} (default: @var{mingetty})"
21660 msgstr ""
21661
21662 #. type: table
21663 #: doc/guix.texi:9845
21664 msgid "The Mingetty package to use."
21665 msgstr ""
21666
21667 #. type: deffn
21668 #: doc/guix.texi:9849
21669 #, no-wrap
21670 msgid "{Scheme Procedure} agetty-service @var{config}"
21671 msgstr ""
21672
21673 #. type: deffn
21674 #: doc/guix.texi:9853
21675 msgid ""
21676 "Return a service to run agetty according to @var{config}, an @code{<agetty-"
21677 "configuration>} object, which specifies the tty to run, among other things."
21678 msgstr ""
21679
21680 #. type: deftp
21681 #: doc/guix.texi:9855
21682 #, no-wrap
21683 msgid "{Data Type} agetty-configuration"
21684 msgstr ""
21685
21686 #. type: deftp
21687 #: doc/guix.texi:9859
21688 msgid ""
21689 "This is the data type representing the configuration of agetty, which "
21690 "implements virtual and serial console log-in. See the @code{agetty(8)} man "
21691 "page for more information."
21692 msgstr ""
21693
21694 #. type: table
21695 #: doc/guix.texi:9866
21696 msgid ""
21697 "The name of the console this agetty runs on, as a string---e.g., "
21698 "@code{\"ttyS0\"}. This argument is optional, it will default to a reasonable "
21699 "default serial port used by the kernel Linux."
21700 msgstr ""
21701
21702 #. type: table
21703 #: doc/guix.texi:9870
21704 msgid ""
21705 "For this, if there is a value for an option @code{agetty.tty} in the kernel "
21706 "command line, agetty will extract the device name of the serial port from it "
21707 "and use that."
21708 msgstr ""
21709
21710 #. type: table
21711 #: doc/guix.texi:9874
21712 msgid ""
21713 "If not and if there is a value for an option @code{console} with a tty in "
21714 "the Linux command line, agetty will extract the device name of the serial "
21715 "port from it and use that."
21716 msgstr ""
21717
21718 #. type: table
21719 #: doc/guix.texi:9878
21720 msgid ""
21721 "In both cases, agetty will leave the other serial device settings (baud rate "
21722 "etc.) alone---in the hope that Linux pinned them to the correct values."
21723 msgstr ""
21724
21725 #. type: item
21726 #: doc/guix.texi:9879
21727 #, no-wrap
21728 msgid "@code{baud-rate} (default: @code{#f})"
21729 msgstr ""
21730
21731 #. type: table
21732 #: doc/guix.texi:9882
21733 msgid ""
21734 "A string containing a comma-separated list of one or more baud rates, in "
21735 "descending order."
21736 msgstr ""
21737
21738 #. type: item
21739 #: doc/guix.texi:9883
21740 #, no-wrap
21741 msgid "@code{term} (default: @code{#f})"
21742 msgstr ""
21743
21744 #. type: table
21745 #: doc/guix.texi:9886
21746 msgid ""
21747 "A string containing the value used for the @code{TERM} environment variable."
21748 msgstr ""
21749
21750 #. type: item
21751 #: doc/guix.texi:9887
21752 #, no-wrap
21753 msgid "@code{eight-bits?} (default: @code{#f})"
21754 msgstr ""
21755
21756 #. type: table
21757 #: doc/guix.texi:9890
21758 msgid ""
21759 "When @code{#t}, the tty is assumed to be 8-bit clean, and parity detection "
21760 "is disabled."
21761 msgstr ""
21762
21763 #. type: table
21764 #: doc/guix.texi:9894
21765 msgid ""
21766 "When passed a login name, as a string, the specified user will be logged in "
21767 "automatically without prompting for their login name or password."
21768 msgstr ""
21769
21770 #. type: item
21771 #: doc/guix.texi:9895
21772 #, no-wrap
21773 msgid "@code{no-reset?} (default: @code{#f})"
21774 msgstr ""
21775
21776 #. type: table
21777 #: doc/guix.texi:9897
21778 msgid "When @code{#t}, don't reset terminal cflags (control modes)."
21779 msgstr ""
21780
21781 #. type: item
21782 #: doc/guix.texi:9898
21783 #, no-wrap
21784 msgid "@code{host} (default: @code{#f})"
21785 msgstr ""
21786
21787 #. type: table
21788 #: doc/guix.texi:9901
21789 msgid ""
21790 "This accepts a string containing the \"login_host\", which will be written "
21791 "into the @file{/var/run/utmpx} file."
21792 msgstr ""
21793
21794 #. type: item
21795 #: doc/guix.texi:9902
21796 #, no-wrap
21797 msgid "@code{remote?} (default: @code{#f})"
21798 msgstr ""
21799
21800 #. type: table
21801 #: doc/guix.texi:9906
21802 msgid ""
21803 "When set to @code{#t} in conjunction with @var{host}, this will add an "
21804 "@code{-r} fakehost option to the command line of the login program specified "
21805 "in @var{login-program}."
21806 msgstr ""
21807
21808 #. type: item
21809 #: doc/guix.texi:9907
21810 #, no-wrap
21811 msgid "@code{flow-control?} (default: @code{#f})"
21812 msgstr ""
21813
21814 #. type: table
21815 #: doc/guix.texi:9909
21816 msgid "When set to @code{#t}, enable hardware (RTS/CTS) flow control."
21817 msgstr ""
21818
21819 #. type: item
21820 #: doc/guix.texi:9910
21821 #, no-wrap
21822 msgid "@code{no-issue?} (default: @code{#f})"
21823 msgstr ""
21824
21825 #. type: table
21826 #: doc/guix.texi:9913
21827 msgid ""
21828 "When set to @code{#t}, the contents of the @file{/etc/issue} file will not "
21829 "be displayed before presenting the login prompt."
21830 msgstr ""
21831
21832 #. type: item
21833 #: doc/guix.texi:9914
21834 #, no-wrap
21835 msgid "@code{init-string} (default: @code{#f})"
21836 msgstr ""
21837
21838 #. type: table
21839 #: doc/guix.texi:9917
21840 msgid ""
21841 "This accepts a string that will be sent to the tty or modem before sending "
21842 "anything else. It can be used to initialize a modem."
21843 msgstr ""
21844
21845 #. type: item
21846 #: doc/guix.texi:9918
21847 #, no-wrap
21848 msgid "@code{no-clear?} (default: @code{#f})"
21849 msgstr ""
21850
21851 #. type: table
21852 #: doc/guix.texi:9921
21853 msgid ""
21854 "When set to @code{#t}, agetty will not clear the screen before showing the "
21855 "login prompt."
21856 msgstr ""
21857
21858 #. type: item
21859 #: doc/guix.texi:9922
21860 #, no-wrap
21861 msgid "@code{login-program} (default: (file-append shadow \"/bin/login\"))"
21862 msgstr ""
21863
21864 #. type: table
21865 #: doc/guix.texi:9926
21866 msgid ""
21867 "This must be either a gexp denoting the name of a log-in program, or unset, "
21868 "in which case the default value is the @command{login} from the Shadow tool "
21869 "suite."
21870 msgstr ""
21871
21872 #. type: item
21873 #: doc/guix.texi:9927
21874 #, no-wrap
21875 msgid "@code{local-line} (default: @code{#f})"
21876 msgstr ""
21877
21878 #. type: table
21879 #: doc/guix.texi:9931
21880 msgid ""
21881 "Control the CLOCAL line flag. This accepts one of three symbols as "
21882 "arguments, @code{'auto}, @code{'always}, or @code{'never}. If @code{#f}, the "
21883 "default value chosen by agetty is @code{'auto}."
21884 msgstr ""
21885
21886 #. type: item
21887 #: doc/guix.texi:9932
21888 #, no-wrap
21889 msgid "@code{extract-baud?} (default: @code{#f})"
21890 msgstr ""
21891
21892 #. type: table
21893 #: doc/guix.texi:9935
21894 msgid ""
21895 "When set to @code{#t}, instruct agetty to try to extract the baud rate from "
21896 "the status messages produced by certain types of modems."
21897 msgstr ""
21898
21899 #. type: item
21900 #: doc/guix.texi:9936
21901 #, no-wrap
21902 msgid "@code{skip-login?} (default: @code{#f})"
21903 msgstr ""
21904
21905 #. type: table
21906 #: doc/guix.texi:9940
21907 msgid ""
21908 "When set to @code{#t}, do not prompt the user for a login name. This can be "
21909 "used with @var{login-program} field to use non-standard login systems."
21910 msgstr ""
21911
21912 #. type: item
21913 #: doc/guix.texi:9941
21914 #, no-wrap
21915 msgid "@code{no-newline?} (default: @code{#f})"
21916 msgstr ""
21917
21918 #. type: table
21919 #: doc/guix.texi:9944
21920 msgid ""
21921 "When set to @code{#t}, do not print a newline before printing the @file{/etc/"
21922 "issue} file."
21923 msgstr ""
21924
21925 #. type: item
21926 #: doc/guix.texi:9946
21927 #, no-wrap
21928 msgid "@code{login-options} (default: @code{#f})"
21929 msgstr ""
21930
21931 #. type: table
21932 #: doc/guix.texi:9951
21933 msgid ""
21934 "This option accepts a string containing options that are passed to the login "
21935 "program. When used with the @var{login-program}, be aware that a malicious "
21936 "user could try to enter a login name containing embedded options that could "
21937 "be parsed by the login program."
21938 msgstr ""
21939
21940 #. type: item
21941 #: doc/guix.texi:9952
21942 #, no-wrap
21943 msgid "@code{login-pause} (default: @code{#f})"
21944 msgstr ""
21945
21946 #. type: table
21947 #: doc/guix.texi:9956
21948 msgid ""
21949 "When set to @code{#t}, wait for any key before showing the login prompt. "
21950 "This can be used in conjunction with @var{auto-login} to save memory by "
21951 "lazily spawning shells."
21952 msgstr ""
21953
21954 #. type: item
21955 #: doc/guix.texi:9957
21956 #, no-wrap
21957 msgid "@code{chroot} (default: @code{#f})"
21958 msgstr ""
21959
21960 #. type: table
21961 #: doc/guix.texi:9960
21962 msgid ""
21963 "Change root to the specified directory. This option accepts a directory "
21964 "path as a string."
21965 msgstr ""
21966
21967 #. type: item
21968 #: doc/guix.texi:9961
21969 #, no-wrap
21970 msgid "@code{hangup?} (default: @code{#f})"
21971 msgstr ""
21972
21973 #. type: table
21974 #: doc/guix.texi:9964
21975 msgid ""
21976 "Use the Linux system call @code{vhangup} to do a virtual hangup of the "
21977 "specified terminal."
21978 msgstr ""
21979
21980 #. type: item
21981 #: doc/guix.texi:9965
21982 #, no-wrap
21983 msgid "@code{keep-baud?} (default: @code{#f})"
21984 msgstr ""
21985
21986 #. type: table
21987 #: doc/guix.texi:9969
21988 msgid ""
21989 "When set to @code{#t}, try to keep the existing baud rate. The baud rates "
21990 "from @var{baud-rate} are used when agetty receives a @key{BREAK} character."
21991 msgstr ""
21992
21993 #. type: item
21994 #: doc/guix.texi:9970
21995 #, no-wrap
21996 msgid "@code{timeout} (default: @code{#f})"
21997 msgstr ""
21998
21999 #. type: table
22000 #: doc/guix.texi:9973
22001 msgid ""
22002 "When set to an integer value, terminate if no user name could be read within "
22003 "@var{timeout} seconds."
22004 msgstr ""
22005
22006 #. type: item
22007 #: doc/guix.texi:9974
22008 #, no-wrap
22009 msgid "@code{detect-case?} (default: @code{#f})"
22010 msgstr ""
22011
22012 #. type: table
22013 #: doc/guix.texi:9980
22014 msgid ""
22015 "When set to @code{#t}, turn on support for detecting an uppercase-only "
22016 "terminal. This setting will detect a login name containing only uppercase "
22017 "letters as indicating an uppercase-only terminal and turn on some upper-to-"
22018 "lower case conversions. Note that this will not support Unicode characters."
22019 msgstr ""
22020
22021 #. type: item
22022 #: doc/guix.texi:9981
22023 #, no-wrap
22024 msgid "@code{wait-cr?} (default: @code{#f})"
22025 msgstr ""
22026
22027 #. type: table
22028 #: doc/guix.texi:9986
22029 msgid ""
22030 "When set to @code{#t}, wait for the user or modem to send a carriage-return "
22031 "or linefeed character before displaying @file{/etc/issue} or login prompt. "
22032 "This is typically used with the @var{init-string} option."
22033 msgstr ""
22034
22035 #. type: item
22036 #: doc/guix.texi:9987
22037 #, no-wrap
22038 msgid "@code{no-hints?} (default: @code{#f})"
22039 msgstr ""
22040
22041 #. type: table
22042 #: doc/guix.texi:9990
22043 msgid ""
22044 "When set to @code{#t}, do not print hints about Num, Caps, and Scroll locks."
22045 msgstr ""
22046
22047 #. type: item
22048 #: doc/guix.texi:9991
22049 #, no-wrap
22050 msgid "@code{no-hostname?} (default: @code{#f})"
22051 msgstr ""
22052
22053 #. type: table
22054 #: doc/guix.texi:9994
22055 msgid ""
22056 "By default, the hostname is printed. When this option is set to @code{#t}, "
22057 "no hostname will be shown at all."
22058 msgstr ""
22059
22060 #. type: item
22061 #: doc/guix.texi:9995
22062 #, no-wrap
22063 msgid "@code{long-hostname?} (default: @code{#f})"
22064 msgstr ""
22065
22066 #. type: table
22067 #: doc/guix.texi:9999
22068 msgid ""
22069 "By default, the hostname is only printed until the first dot. When this "
22070 "option is set to @code{#t}, the fully qualified hostname by "
22071 "@code{gethostname} or @code{getaddrinfo} is shown."
22072 msgstr ""
22073
22074 #. type: item
22075 #: doc/guix.texi:10000
22076 #, no-wrap
22077 msgid "@code{erase-characters} (default: @code{#f})"
22078 msgstr ""
22079
22080 #. type: table
22081 #: doc/guix.texi:10003
22082 msgid ""
22083 "This option accepts a string of additional characters that should be "
22084 "interpreted as backspace when the user types their login name."
22085 msgstr ""
22086
22087 #. type: item
22088 #: doc/guix.texi:10004
22089 #, no-wrap
22090 msgid "@code{kill-characters} (default: @code{#f})"
22091 msgstr ""
22092
22093 #. type: table
22094 #: doc/guix.texi:10008
22095 msgid ""
22096 "This option accepts a string that should be interpreted to mean \"ignore all "
22097 "previous characters\" (also called a \"kill\" character) when the types "
22098 "their login name."
22099 msgstr ""
22100
22101 #. type: item
22102 #: doc/guix.texi:10009
22103 #, no-wrap
22104 msgid "@code{chdir} (default: @code{#f})"
22105 msgstr ""
22106
22107 #. type: table
22108 #: doc/guix.texi:10012
22109 msgid ""
22110 "This option accepts, as a string, a directory path that will be changed to "
22111 "before login."
22112 msgstr ""
22113
22114 #. type: item
22115 #: doc/guix.texi:10013
22116 #, no-wrap
22117 msgid "@code{delay} (default: @code{#f})"
22118 msgstr ""
22119
22120 #. type: table
22121 #: doc/guix.texi:10016
22122 msgid ""
22123 "This options accepts, as an integer, the number of seconds to sleep before "
22124 "opening the tty and displaying the login prompt."
22125 msgstr ""
22126
22127 #. type: item
22128 #: doc/guix.texi:10017
22129 #, no-wrap
22130 msgid "@code{nice} (default: @code{#f})"
22131 msgstr ""
22132
22133 #. type: table
22134 #: doc/guix.texi:10020
22135 msgid ""
22136 "This option accepts, as an integer, the nice value with which to run the "
22137 "@command{login} program."
22138 msgstr ""
22139
22140 #. type: item
22141 #: doc/guix.texi:10021 doc/guix.texi:10221
22142 #, no-wrap
22143 msgid "@code{extra-options} (default: @code{'()})"
22144 msgstr ""
22145
22146 #. type: table
22147 #: doc/guix.texi:10024
22148 msgid ""
22149 "This option provides an \"escape hatch\" for the user to provide arbitrary "
22150 "command-line arguments to @command{agetty} as a list of strings."
22151 msgstr ""
22152
22153 #. type: deffn
22154 #: doc/guix.texi:10028
22155 #, no-wrap
22156 msgid "{Scheme Procedure} kmscon-service-type @var{config}"
22157 msgstr ""
22158
22159 #. type: deffn
22160 #: doc/guix.texi:10032
22161 msgid ""
22162 "Return a service to run @uref{https://www.freedesktop.org/wiki/Software/"
22163 "kmscon,kmscon} according to @var{config}, a @code{<kmscon-configuration>} "
22164 "object, which specifies the tty to run, among other things."
22165 msgstr ""
22166
22167 #. type: deftp
22168 #: doc/guix.texi:10034
22169 #, no-wrap
22170 msgid "{Data Type} kmscon-configuration"
22171 msgstr ""
22172
22173 #. type: deftp
22174 #: doc/guix.texi:10037
22175 msgid ""
22176 "This is the data type representing the configuration of Kmscon, which "
22177 "implements virtual console log-in."
22178 msgstr ""
22179
22180 #. type: code{#1}
22181 #: doc/guix.texi:10040
22182 #, no-wrap
22183 msgid "virtual-terminal"
22184 msgstr ""
22185
22186 #. type: table
22187 #: doc/guix.texi:10042
22188 msgid "The name of the console this Kmscon runs on---e.g., @code{\"tty1\"}."
22189 msgstr ""
22190
22191 #. type: item
22192 #: doc/guix.texi:10043
22193 #, no-wrap
22194 msgid "@code{login-program} (default: @code{#~(string-append #$shadow \"/bin/login\")})"
22195 msgstr ""
22196
22197 #. type: table
22198 #: doc/guix.texi:10046
22199 msgid ""
22200 "A gexp denoting the name of the log-in program. The default log-in program "
22201 "is @command{login} from the Shadow tool suite."
22202 msgstr ""
22203
22204 #. type: item
22205 #: doc/guix.texi:10047
22206 #, no-wrap
22207 msgid "@code{login-arguments} (default: @code{'(\"-p\")})"
22208 msgstr ""
22209
22210 #. type: table
22211 #: doc/guix.texi:10049
22212 msgid "A list of arguments to pass to @command{login}."
22213 msgstr ""
22214
22215 #. type: item
22216 #: doc/guix.texi:10050
22217 #, no-wrap
22218 msgid "@code{hardware-acceleration?} (default: #f)"
22219 msgstr ""
22220
22221 #. type: table
22222 #: doc/guix.texi:10052
22223 msgid "Whether to use hardware acceleration."
22224 msgstr ""
22225
22226 #. type: item
22227 #: doc/guix.texi:10053
22228 #, no-wrap
22229 msgid "@code{kmscon} (default: @var{kmscon})"
22230 msgstr ""
22231
22232 #. type: table
22233 #: doc/guix.texi:10055
22234 msgid "The Kmscon package to use."
22235 msgstr ""
22236
22237 #. type: cindex
22238 #: doc/guix.texi:10059
22239 #, no-wrap
22240 msgid "name service cache daemon"
22241 msgstr ""
22242
22243 #. type: cindex
22244 #: doc/guix.texi:10060
22245 #, no-wrap
22246 msgid "nscd"
22247 msgstr ""
22248
22249 #. type: deffn
22250 #: doc/guix.texi:10061
22251 #, no-wrap
22252 msgid "{Scheme Procedure} nscd-service [@var{config}] [#:glibc glibc] @"
22253 msgstr ""
22254
22255 #. type: deffn
22256 #: doc/guix.texi:10066
22257 msgid ""
22258 "[#:name-services '()] Return a service that runs the libc name service cache "
22259 "daemon (nscd) with the given @var{config}---an @code{<nscd-configuration>} "
22260 "object. @xref{Name Service Switch}, for an example."
22261 msgstr ""
22262
22263 #. type: defvr
22264 #: doc/guix.texi:10068
22265 #, no-wrap
22266 msgid "{Scheme Variable} %nscd-default-configuration"
22267 msgstr ""
22268
22269 #. type: defvr
22270 #: doc/guix.texi:10072
22271 msgid ""
22272 "This is the default @code{<nscd-configuration>} value (see below) used by "
22273 "@code{nscd-service}. It uses the caches defined by @var{%nscd-default-"
22274 "caches}; see below."
22275 msgstr ""
22276
22277 #. type: deftp
22278 #: doc/guix.texi:10074
22279 #, no-wrap
22280 msgid "{Data Type} nscd-configuration"
22281 msgstr ""
22282
22283 #. type: deftp
22284 #: doc/guix.texi:10077
22285 msgid ""
22286 "This is the data type representing the name service cache daemon (nscd) "
22287 "configuration."
22288 msgstr ""
22289
22290 #. type: item
22291 #: doc/guix.texi:10080
22292 #, no-wrap
22293 msgid "@code{name-services} (default: @code{'()})"
22294 msgstr ""
22295
22296 #. type: table
22297 #: doc/guix.texi:10083
22298 msgid ""
22299 "List of packages denoting @dfn{name services} that must be visible to the "
22300 "nscd---e.g., @code{(list @var{nss-mdns})}."
22301 msgstr ""
22302
22303 #. type: item
22304 #: doc/guix.texi:10084
22305 #, no-wrap
22306 msgid "@code{glibc} (default: @var{glibc})"
22307 msgstr ""
22308
22309 #. type: table
22310 #: doc/guix.texi:10087
22311 msgid ""
22312 "Package object denoting the GNU C Library providing the @command{nscd} "
22313 "command."
22314 msgstr ""
22315
22316 #. type: item
22317 #: doc/guix.texi:10088
22318 #, no-wrap
22319 msgid "@code{log-file} (default: @code{\"/var/log/nscd.log\"})"
22320 msgstr ""
22321
22322 #. type: table
22323 #: doc/guix.texi:10091
22324 msgid ""
22325 "Name of the nscd log file. This is where debugging output goes when "
22326 "@code{debug-level} is strictly positive."
22327 msgstr ""
22328
22329 #. type: item
22330 #: doc/guix.texi:10092
22331 #, no-wrap
22332 msgid "@code{debug-level} (default: @code{0})"
22333 msgstr ""
22334
22335 #. type: table
22336 #: doc/guix.texi:10095
22337 msgid ""
22338 "Integer denoting the debugging levels. Higher numbers mean that more "
22339 "debugging output is logged."
22340 msgstr ""
22341
22342 #. type: item
22343 #: doc/guix.texi:10096
22344 #, no-wrap
22345 msgid "@code{caches} (default: @var{%nscd-default-caches})"
22346 msgstr ""
22347
22348 #. type: table
22349 #: doc/guix.texi:10099
22350 msgid ""
22351 "List of @code{<nscd-cache>} objects denoting things to be cached; see below."
22352 msgstr ""
22353
22354 #. type: deftp
22355 #: doc/guix.texi:10103
22356 #, no-wrap
22357 msgid "{Data Type} nscd-cache"
22358 msgstr ""
22359
22360 #. type: deftp
22361 #: doc/guix.texi:10105
22362 msgid "Data type representing a cache database of nscd and its parameters."
22363 msgstr ""
22364
22365 #. type: cindex
22366 #: doc/guix.texi:10108 doc/guix.texi:12810
22367 #, no-wrap
22368 msgid "database"
22369 msgstr ""
22370
22371 #. type: table
22372 #: doc/guix.texi:10113
22373 msgid ""
22374 "This is a symbol representing the name of the database to be cached. Valid "
22375 "values are @code{passwd}, @code{group}, @code{hosts}, and @code{services}, "
22376 "which designate the corresponding NSS database (@pxref{NSS Basics,,, libc, "
22377 "The GNU C Library Reference Manual})."
22378 msgstr ""
22379
22380 #. type: code{#1}
22381 #: doc/guix.texi:10114
22382 #, no-wrap
22383 msgid "positive-time-to-live"
22384 msgstr ""
22385
22386 #. type: itemx
22387 #: doc/guix.texi:10115
22388 #, no-wrap
22389 msgid "@code{negative-time-to-live} (default: @code{20})"
22390 msgstr ""
22391
22392 #. type: table
22393 #: doc/guix.texi:10118
22394 msgid ""
22395 "A number representing the number of seconds during which a positive or "
22396 "negative lookup result remains in cache."
22397 msgstr ""
22398
22399 #. type: item
22400 #: doc/guix.texi:10119
22401 #, no-wrap
22402 msgid "@code{check-files?} (default: @code{#t})"
22403 msgstr ""
22404
22405 #. type: table
22406 #: doc/guix.texi:10122
22407 msgid ""
22408 "Whether to check for updates of the files corresponding to @var{database}."
22409 msgstr ""
22410
22411 #. type: table
22412 #: doc/guix.texi:10126
22413 msgid ""
22414 "For instance, when @var{database} is @code{hosts}, setting this flag "
22415 "instructs nscd to check for updates in @file{/etc/hosts} and to take them "
22416 "into account."
22417 msgstr ""
22418
22419 #. type: item
22420 #: doc/guix.texi:10127
22421 #, no-wrap
22422 msgid "@code{persistent?} (default: @code{#t})"
22423 msgstr ""
22424
22425 #. type: table
22426 #: doc/guix.texi:10129
22427 msgid "Whether the cache should be stored persistently on disk."
22428 msgstr ""
22429
22430 #. type: item
22431 #: doc/guix.texi:10130
22432 #, no-wrap
22433 msgid "@code{shared?} (default: @code{#t})"
22434 msgstr ""
22435
22436 #. type: table
22437 #: doc/guix.texi:10132
22438 msgid "Whether the cache should be shared among users."
22439 msgstr ""
22440
22441 #. type: item
22442 #: doc/guix.texi:10133
22443 #, no-wrap
22444 msgid "@code{max-database-size} (default: 32@tie{}MiB)"
22445 msgstr ""
22446
22447 #. type: table
22448 #: doc/guix.texi:10135
22449 msgid "Maximum size in bytes of the database cache."
22450 msgstr ""
22451
22452 #. type: defvr
22453 #: doc/guix.texi:10142
22454 #, no-wrap
22455 msgid "{Scheme Variable} %nscd-default-caches"
22456 msgstr ""
22457
22458 #. type: defvr
22459 #: doc/guix.texi:10145
22460 msgid ""
22461 "List of @code{<nscd-cache>} objects used by default by @code{nscd-"
22462 "configuration} (see above)."
22463 msgstr ""
22464
22465 #. type: defvr
22466 #: doc/guix.texi:10151
22467 msgid ""
22468 "It enables persistent and aggressive caching of service and host name "
22469 "lookups. The latter provides better host name lookup performance, "
22470 "resilience in the face of unreliable name servers, and also better privacy---"
22471 "often the result of host name lookups is in local cache, so external name "
22472 "servers do not even need to be queried."
22473 msgstr ""
22474
22475 #. type: anchor{#1}
22476 #: doc/guix.texi:10154
22477 msgid "syslog-configuration-type"
22478 msgstr ""
22479
22480 #. type: cindex
22481 #: doc/guix.texi:10154 doc/guix.texi:10170
22482 #, no-wrap
22483 msgid "syslog"
22484 msgstr ""
22485
22486 #. type: cindex
22487 #: doc/guix.texi:10155 doc/guix.texi:10588
22488 #, no-wrap
22489 msgid "logging"
22490 msgstr ""
22491
22492 #. type: deftp
22493 #: doc/guix.texi:10156
22494 #, no-wrap
22495 msgid "{Data Type} syslog-configuration"
22496 msgstr ""
22497
22498 #. type: deftp
22499 #: doc/guix.texi:10158
22500 msgid "This data type represents the configuration of the syslog daemon."
22501 msgstr ""
22502
22503 #. type: item
22504 #: doc/guix.texi:10160
22505 #, no-wrap
22506 msgid "@code{syslogd} (default: @code{#~(string-append #$inetutils \"/libexec/syslogd\")})"
22507 msgstr ""
22508
22509 #. type: table
22510 #: doc/guix.texi:10162
22511 msgid "The syslog daemon to use."
22512 msgstr ""
22513
22514 #. type: item
22515 #: doc/guix.texi:10163
22516 #, no-wrap
22517 msgid "@code{config-file} (default: @code{%default-syslog.conf})"
22518 msgstr ""
22519
22520 #. type: table
22521 #: doc/guix.texi:10165
22522 msgid "The syslog configuration file to use."
22523 msgstr ""
22524
22525 #. type: anchor{#1}
22526 #: doc/guix.texi:10170
22527 msgid "syslog-service"
22528 msgstr ""
22529
22530 #. type: deffn
22531 #: doc/guix.texi:10171
22532 #, no-wrap
22533 msgid "{Scheme Procedure} syslog-service @var{config}"
22534 msgstr ""
22535
22536 #. type: deffn
22537 #: doc/guix.texi:10173
22538 msgid "Return a service that runs a syslog daemon according to @var{config}."
22539 msgstr ""
22540
22541 #. type: deffn
22542 #: doc/guix.texi:10176
22543 msgid ""
22544 "@xref{syslogd invocation,,, inetutils, GNU Inetutils}, for more information "
22545 "on the configuration file syntax."
22546 msgstr ""
22547
22548 #. type: anchor{#1}
22549 #: doc/guix.texi:10179
22550 msgid "guix-configuration-type"
22551 msgstr ""
22552
22553 #. type: deftp
22554 #: doc/guix.texi:10179
22555 #, no-wrap
22556 msgid "{Data Type} guix-configuration"
22557 msgstr ""
22558
22559 #. type: deftp
22560 #: doc/guix.texi:10182
22561 msgid ""
22562 "This data type represents the configuration of the Guix build daemon. "
22563 "@xref{Invoking guix-daemon}, for more information."
22564 msgstr ""
22565
22566 #. type: item
22567 #: doc/guix.texi:10184
22568 #, no-wrap
22569 msgid "@code{guix} (default: @var{guix})"
22570 msgstr ""
22571
22572 #. type: table
22573 #: doc/guix.texi:10186 doc/guix.texi:10414
22574 msgid "The Guix package to use."
22575 msgstr ""
22576
22577 #. type: item
22578 #: doc/guix.texi:10187
22579 #, no-wrap
22580 msgid "@code{build-group} (default: @code{\"guixbuild\"})"
22581 msgstr ""
22582
22583 #. type: table
22584 #: doc/guix.texi:10189
22585 msgid "Name of the group for build user accounts."
22586 msgstr ""
22587
22588 #. type: item
22589 #: doc/guix.texi:10190
22590 #, no-wrap
22591 msgid "@code{build-accounts} (default: @code{10})"
22592 msgstr ""
22593
22594 #. type: table
22595 #: doc/guix.texi:10192
22596 msgid "Number of build user accounts to create."
22597 msgstr ""
22598
22599 #. type: item
22600 #: doc/guix.texi:10193
22601 #, no-wrap
22602 msgid "@code{authorize-key?} (default: @code{#t})"
22603 msgstr ""
22604
22605 #. type: table
22606 #: doc/guix.texi:10198
22607 msgid ""
22608 "Whether to authorize the substitute keys listed in @code{authorized-keys}---"
22609 "by default that of @code{hydra.gnu.org} (@pxref{Substitutes})."
22610 msgstr ""
22611 "Autoriser ou non les clefs de substituts listées dans @code{authorize-keys} "
22612 "— par défaut celle de @code{hydra.gny.org} (@pxref{Substituts})."
22613
22614 #. type: vindex
22615 #: doc/guix.texi:10199
22616 #, no-wrap
22617 msgid "%default-authorized-guix-keys"
22618 msgstr ""
22619
22620 #. type: item
22621 #: doc/guix.texi:10200
22622 #, no-wrap
22623 msgid "@code{authorized-keys} (default: @var{%default-authorized-guix-keys})"
22624 msgstr ""
22625
22626 #. type: table
22627 #: doc/guix.texi:10204
22628 msgid ""
22629 "The list of authorized key files for archive imports, as a list of string-"
22630 "valued gexps (@pxref{Invoking guix archive}). By default, it contains that "
22631 "of @code{hydra.gnu.org} (@pxref{Substitutes})."
22632 msgstr ""
22633 "La liste des fichiers de clefs autorisées pour les imports d'archives, en "
22634 "tant que liste de gexps sous forme de chaînes (@pxref{Invoking guix "
22635 "archive}). Par défaut, elle contient celle de @code{hydra.gnu.org} "
22636 "(@pxref{Substituts})."
22637
22638 #. type: item
22639 #: doc/guix.texi:10205
22640 #, no-wrap
22641 msgid "@code{use-substitutes?} (default: @code{#t})"
22642 msgstr ""
22643
22644 #. type: table
22645 #: doc/guix.texi:10207
22646 msgid "Whether to use substitutes."
22647 msgstr ""
22648
22649 #. type: item
22650 #: doc/guix.texi:10208
22651 #, no-wrap
22652 msgid "@code{substitute-urls} (default: @var{%default-substitute-urls})"
22653 msgstr ""
22654
22655 #. type: table
22656 #: doc/guix.texi:10210
22657 msgid "The list of URLs where to look for substitutes by default."
22658 msgstr ""
22659
22660 #. type: item
22661 #: doc/guix.texi:10211
22662 #, no-wrap
22663 msgid "@code{max-silent-time} (default: @code{0})"
22664 msgstr ""
22665
22666 #. type: itemx
22667 #: doc/guix.texi:10212
22668 #, no-wrap
22669 msgid "@code{timeout} (default: @code{0})"
22670 msgstr ""
22671
22672 #. type: table
22673 #: doc/guix.texi:10216
22674 msgid ""
22675 "The number of seconds of silence and the number of seconds of activity, "
22676 "respectively, after which a build process times out. A value of zero "
22677 "disables the timeout."
22678 msgstr ""
22679
22680 #. type: item
22681 #: doc/guix.texi:10217
22682 #, no-wrap
22683 msgid "@code{log-compression} (default: @code{'bzip2})"
22684 msgstr ""
22685
22686 #. type: table
22687 #: doc/guix.texi:10220
22688 msgid ""
22689 "The type of compression used for build logs---one of @code{gzip}, "
22690 "@code{bzip2}, or @code{none}."
22691 msgstr ""
22692
22693 #. type: table
22694 #: doc/guix.texi:10223
22695 msgid "List of extra command-line options for @command{guix-daemon}."
22696 msgstr ""
22697
22698 #. type: item
22699 #: doc/guix.texi:10224
22700 #, no-wrap
22701 msgid "@code{log-file} (default: @code{\"/var/log/guix-daemon.log\"})"
22702 msgstr ""
22703
22704 #. type: table
22705 #: doc/guix.texi:10227
22706 msgid ""
22707 "File where @command{guix-daemon}'s standard output and standard error are "
22708 "written."
22709 msgstr ""
22710
22711 #. type: item
22712 #: doc/guix.texi:10228
22713 #, no-wrap
22714 msgid "@code{http-proxy} (default: @code{#f})"
22715 msgstr ""
22716
22717 #. type: table
22718 #: doc/guix.texi:10231
22719 msgid ""
22720 "The HTTP proxy used for downloading fixed-output derivations and substitutes."
22721 msgstr ""
22722
22723 #. type: item
22724 #: doc/guix.texi:10232
22725 #, no-wrap
22726 msgid "@code{tmpdir} (default: @code{#f})"
22727 msgstr ""
22728
22729 #. type: table
22730 #: doc/guix.texi:10234
22731 msgid "A directory path where the @command{guix-daemon} will perform builds."
22732 msgstr ""
22733
22734 #. type: deffn
22735 #: doc/guix.texi:10238
22736 #, no-wrap
22737 msgid "{Scheme Procedure} guix-service @var{config}"
22738 msgstr ""
22739
22740 #. type: deffn
22741 #: doc/guix.texi:10241
22742 msgid ""
22743 "Return a service that runs the Guix build daemon according to @var{config}."
22744 msgstr ""
22745
22746 #. type: deffn
22747 #: doc/guix.texi:10243
22748 #, no-wrap
22749 msgid "{Scheme Procedure} udev-service [#:udev @var{eudev} #:rules @code{'()}]"
22750 msgstr ""
22751
22752 #. type: deffn
22753 #: doc/guix.texi:10248
22754 msgid ""
22755 "Run @var{udev}, which populates the @file{/dev} directory dynamically. udev "
22756 "rules can be provided as a list of files through the @var{rules} variable. "
22757 "The procedures @var{udev-rule} and @var{file->udev-rule} from @code{(gnu "
22758 "services base)} simplify the creation of such rule files."
22759 msgstr ""
22760
22761 #. type: deffn
22762 #: doc/guix.texi:10249
22763 #, no-wrap
22764 msgid "{Scheme Procedure} udev-rule [@var{file-name} @var{contents}]"
22765 msgstr ""
22766
22767 #. type: deffn
22768 #: doc/guix.texi:10252
22769 msgid ""
22770 "Return a udev-rule file named @var{file-name} containing the rules defined "
22771 "by the @var{contents} literal."
22772 msgstr ""
22773
22774 #. type: deffn
22775 #: doc/guix.texi:10256
22776 msgid ""
22777 "In the following example, a rule for a USB device is defined to be stored in "
22778 "the file @file{90-usb-thing.rules}. The rule runs a script upon detecting a "
22779 "USB device with a given product identifier."
22780 msgstr ""
22781
22782 #. type: example
22783 #: doc/guix.texi:10264
22784 #, no-wrap
22785 msgid ""
22786 "(define %example-udev-rule\n"
22787 " (udev-rule\n"
22788 " \"90-usb-thing.rules\"\n"
22789 " (string-append \"ACTION==\\\"add\\\", SUBSYSTEM==\\\"usb\\\", \"\n"
22790 " \"ATTR@{product@}==\\\"Example\\\", \"\n"
22791 " \"RUN+=\\\"/path/to/script\\\"\")))\n"
22792 msgstr ""
22793
22794 #. type: deffn
22795 #: doc/guix.texi:10268
22796 msgid ""
22797 "Here we show how the default @var{udev-service} can be extended with it."
22798 msgstr ""
22799
22800 #. type: example
22801 #: doc/guix.texi:10278
22802 #, no-wrap
22803 msgid ""
22804 "(operating-system\n"
22805 " ;; @dots{}\n"
22806 " (services\n"
22807 " (modify-services %desktop-services\n"
22808 " (udev-service-type config =>\n"
22809 " (udev-configuration (inherit config)\n"
22810 " (rules (append (udev-configuration-rules config)\n"
22811 " (list %example-udev-rule))))))))\n"
22812 msgstr ""
22813
22814 #. type: deffn
22815 #: doc/guix.texi:10280
22816 #, no-wrap
22817 msgid "{Scheme Procedure} file->udev-rule [@var{file-name} @var{file}]"
22818 msgstr ""
22819
22820 #. type: deffn
22821 #: doc/guix.texi:10283
22822 msgid ""
22823 "Return a udev file named @var{file-name} containing the rules defined within "
22824 "@var{file}, a file-like object."
22825 msgstr ""
22826
22827 #. type: deffn
22828 #: doc/guix.texi:10285
22829 msgid "The following example showcases how we can use an existing rule file."
22830 msgstr ""
22831
22832 #. type: example
22833 #: doc/guix.texi:10290
22834 #, no-wrap
22835 msgid ""
22836 "(use-modules (guix download) ;for url-fetch\n"
22837 " (guix packages) ;for origin\n"
22838 " ;; @dots{})\n"
22839 "\n"
22840 msgstr ""
22841
22842 #. type: example
22843 #: doc/guix.texi:10301
22844 #, no-wrap
22845 msgid ""
22846 "(define %android-udev-rules\n"
22847 " (file->udev-rule\n"
22848 " \"51-android-udev.rules\"\n"
22849 " (let ((version \"20170910\"))\n"
22850 " (origin\n"
22851 " (method url-fetch)\n"
22852 " (uri (string-append \"https://raw.githubusercontent.com/M0Rf30/\"\n"
22853 " \"android-udev-rules/\" version \"/51-android.rules\"))\n"
22854 " (sha256\n"
22855 " (base32 \"0lmmagpyb6xsq6zcr2w1cyx9qmjqmajkvrdbhjx32gqf1d9is003\"))))))\n"
22856 msgstr ""
22857
22858 #. type: deffn
22859 #: doc/guix.texi:10310
22860 msgid ""
22861 "Additionally, Guix package definitions can be included in @var{rules} in "
22862 "order to extend the udev rules with the definitions found under their "
22863 "@file{lib/udev/rules.d} sub-directory. In lieu of the previous @var{file-"
22864 ">udev-rule} example, we could have used the @var{android-udev-rules} package "
22865 "which exists in Guix in the @code{(gnu packages android)} module."
22866 msgstr ""
22867
22868 #. type: deffn
22869 #: doc/guix.texi:10319
22870 msgid ""
22871 "The following example shows how to use the @var{android-udev-rules} package "
22872 "so that the Android tool @command{adb} can detect devices without root "
22873 "privileges. It also details how to create the @code{adbusers} group, which "
22874 "is required for the proper functioning of the rules defined within the "
22875 "@var{android-udev-rules} package. To create such a group, we must define it "
22876 "both as part of the @var{supplementary-groups} of our @var{user-account} "
22877 "declaration, as well as in the @var{groups} field of the @var{operating-"
22878 "system} record."
22879 msgstr ""
22880
22881 #. type: example
22882 #: doc/guix.texi:10324
22883 #, no-wrap
22884 msgid ""
22885 "(use-modules (gnu packages android) ;for android-udev-rules\n"
22886 " (gnu system shadow) ;for user-group\n"
22887 " ;; @dots{})\n"
22888 "\n"
22889 msgstr ""
22890
22891 #. type: example
22892 #: doc/guix.texi:10333
22893 #, no-wrap
22894 msgid ""
22895 "(operating-system\n"
22896 " ;; @dots{}\n"
22897 " (users (cons (user-acount\n"
22898 " ;; @dots{}\n"
22899 " (supplementary-groups\n"
22900 " '(\"adbusers\" ;for adb\n"
22901 " \"wheel\" \"netdev\" \"audio\" \"video\"))\n"
22902 " ;; @dots{})))\n"
22903 "\n"
22904 msgstr ""
22905
22906 #. type: example
22907 #: doc/guix.texi:10336
22908 #, no-wrap
22909 msgid ""
22910 " (groups (cons (user-group (system? #t) (name \"adbusers\"))\n"
22911 " %base-groups))\n"
22912 "\n"
22913 msgstr ""
22914
22915 #. type: example
22916 #: doc/guix.texi:10338
22917 #, no-wrap
22918 msgid ""
22919 " ;; @dots{}\n"
22920 "\n"
22921 msgstr ""
22922
22923 #. type: example
22924 #: doc/guix.texi:10345
22925 #, no-wrap
22926 msgid ""
22927 " (services\n"
22928 " (modify-services %desktop-services\n"
22929 " (udev-service-type config =>\n"
22930 " (udev-configuration (inherit config)\n"
22931 " (rules (cons* android-udev-rules\n"
22932 " (udev-configuration-rules config))))))))\n"
22933 msgstr ""
22934
22935 #. type: defvr
22936 #: doc/guix.texi:10348
22937 #, no-wrap
22938 msgid "{Scheme Variable} urandom-seed-service-type"
22939 msgstr ""
22940
22941 #. type: defvr
22942 #: doc/guix.texi:10353
22943 msgid ""
22944 "Save some entropy in @var{%random-seed-file} to seed @file{/dev/urandom} "
22945 "when rebooting. It also tries to seed @file{/dev/urandom} from @file{/dev/"
22946 "hwrng} while booting, if @file{/dev/hwrng} exists and is readable."
22947 msgstr ""
22948
22949 #. type: defvr
22950 #: doc/guix.texi:10355
22951 #, no-wrap
22952 msgid "{Scheme Variable} %random-seed-file"
22953 msgstr ""
22954
22955 #. type: defvr
22956 #: doc/guix.texi:10359
22957 msgid ""
22958 "This is the name of the file where some random bytes are saved by "
22959 "@var{urandom-seed-service} to seed @file{/dev/urandom} when rebooting. It "
22960 "defaults to @file{/var/lib/random-seed}."
22961 msgstr ""
22962
22963 #. type: cindex
22964 #: doc/guix.texi:10361
22965 #, no-wrap
22966 msgid "keymap"
22967 msgstr ""
22968
22969 #. type: cindex
22970 #: doc/guix.texi:10362
22971 #, no-wrap
22972 msgid "keyboard"
22973 msgstr ""
22974
22975 #. type: deffn
22976 #: doc/guix.texi:10363
22977 #, no-wrap
22978 msgid "{Scheme Procedure} console-keymap-service @var{files} ..."
22979 msgstr ""
22980
22981 #. type: deffn
22982 #: doc/guix.texi:10368
22983 msgid ""
22984 "Return a service to load console keymaps from @var{files} using "
22985 "@command{loadkeys} command. Most likely, you want to load some default "
22986 "keymap, which can be done like this:"
22987 msgstr ""
22988
22989 #. type: example
22990 #: doc/guix.texi:10371
22991 #, no-wrap
22992 msgid "(console-keymap-service \"dvorak\")\n"
22993 msgstr ""
22994
22995 #. type: deffn
22996 #: doc/guix.texi:10375
22997 msgid ""
22998 "Or, for example, for a Swedish keyboard, you may need to combine the "
22999 "following keymaps:"
23000 msgstr ""
23001
23002 #. type: example
23003 #: doc/guix.texi:10377
23004 #, no-wrap
23005 msgid "(console-keymap-service \"se-lat6\" \"se-fi-lat6\")\n"
23006 msgstr ""
23007
23008 #. type: deffn
23009 #: doc/guix.texi:10381
23010 msgid ""
23011 "Also you can specify a full file name (or file names) of your keymap(s). "
23012 "See @code{man loadkeys} for details."
23013 msgstr ""
23014
23015 #. type: cindex
23016 #: doc/guix.texi:10384
23017 #, no-wrap
23018 msgid "mouse"
23019 msgstr ""
23020
23021 #. type: cindex
23022 #: doc/guix.texi:10385
23023 #, no-wrap
23024 msgid "gpm"
23025 msgstr ""
23026
23027 #. type: deffn
23028 #: doc/guix.texi:10386
23029 #, no-wrap
23030 msgid "{Scheme Procedure} gpm-service [#:gpm @var{gpm}] @"
23031 msgstr ""
23032
23033 #. type: deffn
23034 #: doc/guix.texi:10392
23035 msgid ""
23036 "[#:options] Run @var{gpm}, the general-purpose mouse daemon, with the given "
23037 "command-line @var{options}. GPM allows users to use the mouse in the "
23038 "console, notably to select, copy, and paste text. The default value of "
23039 "@var{options} uses the @code{ps2} protocol, which works for both USB and "
23040 "PS/2 mice."
23041 msgstr ""
23042
23043 #. type: deffn
23044 #: doc/guix.texi:10394
23045 msgid "This service is not part of @var{%base-services}."
23046 msgstr ""
23047
23048 #. type: anchor{#1}
23049 #: doc/guix.texi:10397
23050 msgid "guix-publish-service-type"
23051 msgstr ""
23052
23053 #. type: deffn
23054 #: doc/guix.texi:10397
23055 #, no-wrap
23056 msgid "{Scheme Variable} guix-publish-service-type"
23057 msgstr ""
23058
23059 #. type: deffn
23060 #: doc/guix.texi:10401
23061 msgid ""
23062 "This is the service type for @command{guix publish} (@pxref{Invoking guix "
23063 "publish}). Its value must be a @code{guix-configuration} object, as "
23064 "described below."
23065 msgstr ""
23066
23067 #. type: deffn
23068 #: doc/guix.texi:10405
23069 msgid ""
23070 "This assumes that @file{/etc/guix} already contains a signing key pair as "
23071 "created by @command{guix archive --generate-key} (@pxref{Invoking guix "
23072 "archive}). If that is not the case, the service will fail to start."
23073 msgstr ""
23074
23075 #. type: deftp
23076 #: doc/guix.texi:10407
23077 #, no-wrap
23078 msgid "{Data Type} guix-publish-configuration"
23079 msgstr ""
23080
23081 #. type: deftp
23082 #: doc/guix.texi:10410
23083 msgid ""
23084 "Data type representing the configuration of the @code{guix publish} service."
23085 msgstr ""
23086
23087 #. type: item
23088 #: doc/guix.texi:10412
23089 #, no-wrap
23090 msgid "@code{guix} (default: @code{guix})"
23091 msgstr ""
23092
23093 #. type: item
23094 #: doc/guix.texi:10415
23095 #, no-wrap
23096 msgid "@code{port} (default: @code{80})"
23097 msgstr ""
23098
23099 #. type: table
23100 #: doc/guix.texi:10417
23101 msgid "The TCP port to listen for connections."
23102 msgstr ""
23103
23104 #. type: item
23105 #: doc/guix.texi:10418
23106 #, no-wrap
23107 msgid "@code{host} (default: @code{\"localhost\"})"
23108 msgstr ""
23109
23110 #. type: table
23111 #: doc/guix.texi:10421
23112 msgid ""
23113 "The host (and thus, network interface) to listen to. Use @code{\"0.0.0.0\"} "
23114 "to listen on all the network interfaces."
23115 msgstr ""
23116
23117 #. type: table
23118 #: doc/guix.texi:10426
23119 msgid ""
23120 "The gzip compression level at which substitutes are compressed. Use "
23121 "@code{0} to disable compression altogether, and @code{9} to get the best "
23122 "compression ratio at the expense of increased CPU usage."
23123 msgstr ""
23124
23125 #. type: item
23126 #: doc/guix.texi:10427
23127 #, no-wrap
23128 msgid "@code{nar-path} (default: @code{\"nar\"})"
23129 msgstr ""
23130
23131 #. type: table
23132 #: doc/guix.texi:10430
23133 msgid ""
23134 "The URL path at which ``nars'' can be fetched. @xref{Invoking guix publish, "
23135 "@code{--nar-path}}, for details."
23136 msgstr ""
23137
23138 #. type: item
23139 #: doc/guix.texi:10431
23140 #, no-wrap
23141 msgid "@code{cache} (default: @code{#f})"
23142 msgstr ""
23143
23144 #. type: table
23145 #: doc/guix.texi:10437
23146 msgid ""
23147 "When it is @code{#f}, disable caching and instead generate archives on "
23148 "demand. Otherwise, this should be the name of a directory---e.g., @code{\"/"
23149 "var/cache/guix/publish\"}---where @command{guix publish} caches archives and "
23150 "meta-data ready to be sent. @xref{Invoking guix publish, @option{--cache}}, "
23151 "for more information on the tradeoffs involved."
23152 msgstr ""
23153
23154 #. type: item
23155 #: doc/guix.texi:10438
23156 #, no-wrap
23157 msgid "@code{workers} (default: @code{#f})"
23158 msgstr ""
23159
23160 #. type: table
23161 #: doc/guix.texi:10442
23162 msgid ""
23163 "When it is an integer, this is the number of worker threads used for "
23164 "caching; when @code{#f}, the number of processors is used. @xref{Invoking "
23165 "guix publish, @option{--workers}}, for more information."
23166 msgstr ""
23167
23168 #. type: item
23169 #: doc/guix.texi:10443
23170 #, no-wrap
23171 msgid "@code{ttl} (default: @code{#f})"
23172 msgstr ""
23173
23174 #. type: table
23175 #: doc/guix.texi:10447
23176 msgid ""
23177 "When it is an integer, this denotes the @dfn{time-to-live} in seconds of the "
23178 "published archives. @xref{Invoking guix publish, @option{--ttl}}, for more "
23179 "information."
23180 msgstr ""
23181
23182 #. type: anchor{#1}
23183 #: doc/guix.texi:10451
23184 msgid "rngd-service"
23185 msgstr ""
23186
23187 #. type: deffn
23188 #: doc/guix.texi:10451
23189 #, no-wrap
23190 msgid "{Scheme Procedure} rngd-service [#:rng-tools @var{rng-tools}] @"
23191 msgstr ""
23192
23193 #. type: deffn
23194 #: doc/guix.texi:10456
23195 msgid ""
23196 "[#:device \"/dev/hwrng\"] Return a service that runs the @command{rngd} "
23197 "program from @var{rng-tools} to add @var{device} to the kernel's entropy "
23198 "pool. The service will fail if @var{device} does not exist."
23199 msgstr ""
23200
23201 #. type: anchor{#1}
23202 #: doc/guix.texi:10459
23203 msgid "pam-limits-service"
23204 msgstr ""
23205
23206 #. type: cindex
23207 #: doc/guix.texi:10459
23208 #, no-wrap
23209 msgid "session limits"
23210 msgstr ""
23211
23212 #. type: cindex
23213 #: doc/guix.texi:10460
23214 #, no-wrap
23215 msgid "ulimit"
23216 msgstr ""
23217
23218 #. type: cindex
23219 #: doc/guix.texi:10461
23220 #, no-wrap
23221 msgid "priority"
23222 msgstr ""
23223
23224 #. type: cindex
23225 #: doc/guix.texi:10462
23226 #, no-wrap
23227 msgid "realtime"
23228 msgstr ""
23229
23230 #. type: cindex
23231 #: doc/guix.texi:10463
23232 #, no-wrap
23233 msgid "jackd"
23234 msgstr ""
23235
23236 #. type: deffn
23237 #: doc/guix.texi:10464
23238 #, no-wrap
23239 msgid "{Scheme Procedure} pam-limits-service [#:limits @code{'()}]"
23240 msgstr ""
23241
23242 #. type: deffn
23243 #: doc/guix.texi:10471
23244 msgid ""
23245 "Return a service that installs a configuration file for the @uref{http://"
23246 "linux-pam.org/Linux-PAM-html/sag-pam_limits.html, @code{pam_limits} "
23247 "module}. The procedure optionally takes a list of @code{pam-limits-entry} "
23248 "values, which can be used to specify @code{ulimit} limits and nice priority "
23249 "limits to user sessions."
23250 msgstr ""
23251
23252 #. type: deffn
23253 #: doc/guix.texi:10474
23254 msgid ""
23255 "The following limits definition sets two hard and soft limits for all login "
23256 "sessions of users in the @code{realtime} group:"
23257 msgstr ""
23258
23259 #. type: example
23260 #: doc/guix.texi:10480
23261 #, no-wrap
23262 msgid ""
23263 "(pam-limits-service\n"
23264 " (list\n"
23265 " (pam-limits-entry \"@@realtime\" 'both 'rtprio 99)\n"
23266 " (pam-limits-entry \"@@realtime\" 'both 'memlock 'unlimited)))\n"
23267 msgstr ""
23268
23269 #. type: deffn
23270 #: doc/guix.texi:10486
23271 msgid ""
23272 "The first entry increases the maximum realtime priority for non-privileged "
23273 "processes; the second entry lifts any restriction of the maximum address "
23274 "space that can be locked in memory. These settings are commonly used for "
23275 "real-time audio systems."
23276 msgstr ""
23277
23278 #. type: cindex
23279 #: doc/guix.texi:10491
23280 #, no-wrap
23281 msgid "cron"
23282 msgstr ""
23283
23284 #. type: cindex
23285 #: doc/guix.texi:10492
23286 #, no-wrap
23287 msgid "mcron"
23288 msgstr ""
23289
23290 #. type: cindex
23291 #: doc/guix.texi:10493
23292 #, no-wrap
23293 msgid "scheduling jobs"
23294 msgstr ""
23295
23296 #. type: Plain text
23297 #: doc/guix.texi:10500
23298 msgid ""
23299 "The @code{(gnu services mcron)} module provides an interface to GNU@tie{}"
23300 "mcron, a daemon to run jobs at scheduled times (@pxref{Top,,, mcron, "
23301 "GNU@tie{}mcron}). GNU@tie{}mcron is similar to the traditional Unix "
23302 "@command{cron} daemon; the main difference is that it is implemented in "
23303 "Guile Scheme, which provides a lot of flexibility when specifying the "
23304 "scheduling of jobs and their actions."
23305 msgstr ""
23306
23307 #. type: Plain text
23308 #: doc/guix.texi:10508
23309 msgid ""
23310 "The example below defines an operating system that runs the "
23311 "@command{updatedb} (@pxref{Invoking updatedb,,, find, Finding Files}) and "
23312 "the @command{guix gc} commands (@pxref{Invoking guix gc}) daily, as well as "
23313 "the @command{mkid} command on behalf of an unprivileged user (@pxref{mkid "
23314 "invocation,,, idutils, ID Database Utilities}). It uses gexps to introduce "
23315 "job definitions that are passed to mcron (@pxref{G-Expressions})."
23316 msgstr ""
23317
23318 #. type: lisp
23319 #: doc/guix.texi:10512
23320 #, no-wrap
23321 msgid ""
23322 "(use-modules (guix) (gnu) (gnu services mcron))\n"
23323 "(use-package-modules base idutils)\n"
23324 "\n"
23325 msgstr ""
23326
23327 #. type: lisp
23328 #: doc/guix.texi:10521
23329 #, no-wrap
23330 msgid ""
23331 "(define updatedb-job\n"
23332 " ;; Run 'updatedb' at 3AM every day. Here we write the\n"
23333 " ;; job's action as a Scheme procedure.\n"
23334 " #~(job '(next-hour '(3))\n"
23335 " (lambda ()\n"
23336 " (execl (string-append #$findutils \"/bin/updatedb\")\n"
23337 " \"updatedb\"\n"
23338 " \"--prunepaths=/tmp /var/tmp /gnu/store\"))))\n"
23339 "\n"
23340 msgstr ""
23341
23342 #. type: lisp
23343 #: doc/guix.texi:10527
23344 #, no-wrap
23345 msgid ""
23346 "(define garbage-collector-job\n"
23347 " ;; Collect garbage 5 minutes after midnight every day.\n"
23348 " ;; The job's action is a shell command.\n"
23349 " #~(job \"5 0 * * *\" ;Vixie cron syntax\n"
23350 " \"guix gc -F 1G\"))\n"
23351 "\n"
23352 msgstr ""
23353
23354 #. type: lisp
23355 #: doc/guix.texi:10534
23356 #, no-wrap
23357 msgid ""
23358 "(define idutils-job\n"
23359 " ;; Update the index database as user \"charlie\" at 12:15PM\n"
23360 " ;; and 19:15PM. This runs from the user's home directory.\n"
23361 " #~(job '(next-minute-from (next-hour '(12 19)) '(15))\n"
23362 " (string-append #$idutils \"/bin/mkid src\")\n"
23363 " #:user \"charlie\"))\n"
23364 "\n"
23365 msgstr ""
23366
23367 #. type: lisp
23368 #: doc/guix.texi:10541
23369 #, no-wrap
23370 msgid ""
23371 "(operating-system\n"
23372 " ;; @dots{}\n"
23373 " (services (cons (mcron-service (list garbage-collector-job\n"
23374 " updatedb-job\n"
23375 " idutils-job))\n"
23376 " %base-services)))\n"
23377 msgstr ""
23378
23379 #. type: Plain text
23380 #: doc/guix.texi:10546
23381 msgid ""
23382 "@xref{Guile Syntax, mcron job specifications,, mcron, GNU@tie{}mcron}, for "
23383 "more information on mcron job specifications. Below is the reference of the "
23384 "mcron service."
23385 msgstr ""
23386
23387 #. type: deffn
23388 #: doc/guix.texi:10547
23389 #, no-wrap
23390 msgid "{Scheme Procedure} mcron-service @var{jobs} [#:mcron @var{mcron}]"
23391 msgstr ""
23392
23393 #. type: deffn
23394 #: doc/guix.texi:10550
23395 msgid ""
23396 "Return an mcron service running @var{mcron} that schedules @var{jobs}, a "
23397 "list of gexps denoting mcron job specifications."
23398 msgstr ""
23399
23400 #. type: deffn
23401 #: doc/guix.texi:10552
23402 msgid "This is a shorthand for:"
23403 msgstr ""
23404
23405 #. type: example
23406 #: doc/guix.texi:10555
23407 #, no-wrap
23408 msgid ""
23409 "(service mcron-service-type\n"
23410 " (mcron-configuration (mcron mcron) (jobs jobs)))\n"
23411 msgstr ""
23412
23413 #. type: defvr
23414 #: doc/guix.texi:10558
23415 #, no-wrap
23416 msgid "{Scheme Variable} mcron-service-type"
23417 msgstr ""
23418
23419 #. type: defvr
23420 #: doc/guix.texi:10561
23421 msgid ""
23422 "This is the type of the @code{mcron} service, whose value is an @code{mcron-"
23423 "configuration} object."
23424 msgstr ""
23425
23426 #. type: defvr
23427 #: doc/guix.texi:10566
23428 msgid ""
23429 "This service type can be the target of a service extension that provides it "
23430 "additional job specifications (@pxref{Service Composition}). In other "
23431 "words, it is possible to define services that provide additional mcron jobs "
23432 "to run."
23433 msgstr ""
23434
23435 #. type: deftp
23436 #: doc/guix.texi:10568
23437 #, no-wrap
23438 msgid "{Data Type} mcron-configuration"
23439 msgstr ""
23440
23441 #. type: deftp
23442 #: doc/guix.texi:10570
23443 msgid "Data type representing the configuration of mcron."
23444 msgstr ""
23445
23446 #. type: item
23447 #: doc/guix.texi:10572
23448 #, no-wrap
23449 msgid "@code{mcron} (default: @var{mcron})"
23450 msgstr ""
23451
23452 #. type: table
23453 #: doc/guix.texi:10574
23454 msgid "The mcron package to use."
23455 msgstr ""
23456
23457 #. type: code{#1}
23458 #: doc/guix.texi:10575 doc/guix.texi:10634
23459 #, no-wrap
23460 msgid "jobs"
23461 msgstr ""
23462
23463 #. type: table
23464 #: doc/guix.texi:10579
23465 msgid ""
23466 "This is a list of gexps (@pxref{G-Expressions}), where each gexp corresponds "
23467 "to an mcron job specification (@pxref{Syntax, mcron job specifications,, "
23468 "mcron, GNU@tie{}mcron})."
23469 msgstr ""
23470
23471 #. type: cindex
23472 #: doc/guix.texi:10586
23473 #, no-wrap
23474 msgid "rottlog"
23475 msgstr ""
23476
23477 #. type: cindex
23478 #: doc/guix.texi:10587
23479 #, no-wrap
23480 msgid "log rotation"
23481 msgstr ""
23482
23483 #. type: Plain text
23484 #: doc/guix.texi:10594
23485 msgid ""
23486 "Log files such as those found in @file{/var/log} tend to grow endlessly, so "
23487 "it's a good idea to @dfn{rotate} them once in a while---i.e., archive their "
23488 "contents in separate files, possibly compressed. The @code{(gnu services "
23489 "admin)} module provides an interface to GNU@tie{}Rot[t]log, a log rotation "
23490 "tool (@pxref{Top,,, rottlog, GNU Rot[t]log Manual})."
23491 msgstr ""
23492
23493 #. type: Plain text
23494 #: doc/guix.texi:10597
23495 msgid ""
23496 "The example below defines an operating system that provides log rotation "
23497 "with the default settings, for commonly encountered log files."
23498 msgstr ""
23499
23500 #. type: lisp
23501 #: doc/guix.texi:10602
23502 #, no-wrap
23503 msgid ""
23504 "(use-modules (guix) (gnu))\n"
23505 "(use-service-modules admin mcron)\n"
23506 "(use-package-modules base idutils)\n"
23507 "\n"
23508 msgstr ""
23509
23510 #. type: lisp
23511 #: doc/guix.texi:10607
23512 #, no-wrap
23513 msgid ""
23514 "(operating-system\n"
23515 " ;; @dots{}\n"
23516 " (services (cons (service rottlog-service-type)\n"
23517 " %base-services)))\n"
23518 msgstr ""
23519
23520 #. type: defvr
23521 #: doc/guix.texi:10609
23522 #, no-wrap
23523 msgid "{Scheme Variable} rottlog-service-type"
23524 msgstr ""
23525
23526 #. type: defvr
23527 #: doc/guix.texi:10612
23528 msgid ""
23529 "This is the type of the Rottlog service, whose value is a @code{rottlog-"
23530 "configuration} object."
23531 msgstr ""
23532
23533 #. type: defvr
23534 #: doc/guix.texi:10615
23535 msgid ""
23536 "Other services can extend this one with new @code{log-rotation} objects (see "
23537 "below), thereby augmenting the set of files to be rotated."
23538 msgstr ""
23539
23540 #. type: defvr
23541 #: doc/guix.texi:10618
23542 msgid ""
23543 "This service type can define mcron jobs (@pxref{Scheduled Job Execution}) to "
23544 "run the rottlog service."
23545 msgstr ""
23546
23547 #. type: deftp
23548 #: doc/guix.texi:10620
23549 #, no-wrap
23550 msgid "{Data Type} rottlog-configuration"
23551 msgstr ""
23552
23553 #. type: deftp
23554 #: doc/guix.texi:10622
23555 msgid "Data type representing the configuration of rottlog."
23556 msgstr ""
23557
23558 #. type: item
23559 #: doc/guix.texi:10624
23560 #, no-wrap
23561 msgid "@code{rottlog} (default: @code{rottlog})"
23562 msgstr ""
23563
23564 #. type: table
23565 #: doc/guix.texi:10626
23566 msgid "The Rottlog package to use."
23567 msgstr ""
23568
23569 #. type: item
23570 #: doc/guix.texi:10627
23571 #, no-wrap
23572 msgid "@code{rc-file} (default: @code{(file-append rottlog \"/etc/rc\")})"
23573 msgstr ""
23574
23575 #. type: table
23576 #: doc/guix.texi:10630
23577 msgid ""
23578 "The Rottlog configuration file to use (@pxref{Mandatory RC Variables,,, "
23579 "rottlog, GNU Rot[t]log Manual})."
23580 msgstr ""
23581
23582 #. type: item
23583 #: doc/guix.texi:10631
23584 #, no-wrap
23585 msgid "@code{rotations} (default: @code{%default-rotations})"
23586 msgstr ""
23587
23588 #. type: table
23589 #: doc/guix.texi:10633
23590 msgid "A list of @code{log-rotation} objects as defined below."
23591 msgstr ""
23592
23593 #. type: table
23594 #: doc/guix.texi:10637
23595 msgid ""
23596 "This is a list of gexps where each gexp corresponds to an mcron job "
23597 "specification (@pxref{Scheduled Job Execution})."
23598 msgstr ""
23599
23600 #. type: deftp
23601 #: doc/guix.texi:10640
23602 #, no-wrap
23603 msgid "{Data Type} log-rotation"
23604 msgstr ""
23605
23606 #. type: deftp
23607 #: doc/guix.texi:10642
23608 msgid "Data type representing the rotation of a group of log files."
23609 msgstr ""
23610
23611 #. type: deftp
23612 #: doc/guix.texi:10646
23613 msgid ""
23614 "Taking an example from the Rottlog manual (@pxref{Period Related File "
23615 "Examples,,, rottlog, GNU Rot[t]log Manual}), a log rotation might be defined "
23616 "like this:"
23617 msgstr ""
23618
23619 #. type: example
23620 #: doc/guix.texi:10655
23621 #, no-wrap
23622 msgid ""
23623 "(log-rotation\n"
23624 " (frequency 'daily)\n"
23625 " (files '(\"/var/log/apache/*\"))\n"
23626 " (options '(\"storedir apache-archives\"\n"
23627 " \"rotate 6\"\n"
23628 " \"notifempty\"\n"
23629 " \"nocompress\")))\n"
23630 msgstr ""
23631
23632 #. type: deftp
23633 #: doc/guix.texi:10658
23634 msgid "The list of fields is as follows:"
23635 msgstr ""
23636
23637 #. type: item
23638 #: doc/guix.texi:10660
23639 #, no-wrap
23640 msgid "@code{frequency} (default: @code{'weekly})"
23641 msgstr ""
23642
23643 #. type: table
23644 #: doc/guix.texi:10662
23645 msgid "The log rotation frequency, a symbol."
23646 msgstr ""
23647
23648 #. type: code{#1}
23649 #: doc/guix.texi:10663
23650 #, no-wrap
23651 msgid "files"
23652 msgstr ""
23653
23654 #. type: table
23655 #: doc/guix.texi:10665
23656 msgid "The list of files or file glob patterns to rotate."
23657 msgstr ""
23658
23659 #. type: item
23660 #: doc/guix.texi:10666
23661 #, no-wrap
23662 msgid "@code{options} (default: @code{'()})"
23663 msgstr ""
23664
23665 #. type: table
23666 #: doc/guix.texi:10669
23667 msgid ""
23668 "The list of rottlog options for this rotation (@pxref{Configuration "
23669 "parameters,,, rottlog, GNU Rot[t]lg Manual})."
23670 msgstr ""
23671
23672 #. type: item
23673 #: doc/guix.texi:10670
23674 #, no-wrap
23675 msgid "@code{post-rotate} (default: @code{#f})"
23676 msgstr ""
23677
23678 #. type: table
23679 #: doc/guix.texi:10672
23680 msgid "Either @code{#f} or a gexp to execute once the rotation has completed."
23681 msgstr ""
23682
23683 #. type: defvr
23684 #: doc/guix.texi:10675
23685 #, no-wrap
23686 msgid "{Scheme Variable} %default-rotations"
23687 msgstr ""
23688
23689 #. type: defvr
23690 #: doc/guix.texi:10678
23691 msgid ""
23692 "Specifies weekly rotation of @var{%rotated-files} and a couple of other "
23693 "files."
23694 msgstr ""
23695
23696 #. type: defvr
23697 #: doc/guix.texi:10680
23698 #, no-wrap
23699 msgid "{Scheme Variable} %rotated-files"
23700 msgstr ""
23701
23702 #. type: defvr
23703 #: doc/guix.texi:10683
23704 msgid ""
23705 "The list of syslog-controlled files to be rotated. By default it is: "
23706 "@code{'(\"/var/log/messages\" \"/var/log/secure\")}."
23707 msgstr ""
23708
23709 #. type: Plain text
23710 #: doc/guix.texi:10690
23711 msgid ""
23712 "The @code{(gnu services networking)} module provides services to configure "
23713 "the network interface."
23714 msgstr ""
23715
23716 #. type: cindex
23717 #: doc/guix.texi:10691
23718 #, no-wrap
23719 msgid "DHCP, networking service"
23720 msgstr ""
23721
23722 #. type: deffn
23723 #: doc/guix.texi:10692
23724 #, no-wrap
23725 msgid "{Scheme Procedure} dhcp-client-service [#:dhcp @var{isc-dhcp}]"
23726 msgstr ""
23727
23728 #. type: deffn
23729 #: doc/guix.texi:10695
23730 msgid ""
23731 "Return a service that runs @var{dhcp}, a Dynamic Host Configuration Protocol "
23732 "(DHCP) client, on all the non-loopback network interfaces."
23733 msgstr ""
23734
23735 #. type: deffn
23736 #: doc/guix.texi:10697
23737 #, no-wrap
23738 msgid "{Scheme Procedure} dhcpd-service-type"
23739 msgstr ""
23740
23741 #. type: deffn
23742 #: doc/guix.texi:10701
23743 msgid ""
23744 "This type defines a service that runs a DHCP daemon. To create a service of "
23745 "this type, you must supply a @code{<dhcpd-configuration>}. For example:"
23746 msgstr ""
23747
23748 #. type: example
23749 #: doc/guix.texi:10707
23750 #, no-wrap
23751 msgid ""
23752 "(service dhcpd-service-type\n"
23753 " (dhcpd-configuration\n"
23754 " (config-file (local-file \"my-dhcpd.conf\"))\n"
23755 " (interfaces '(\"enp0s25\"))))\n"
23756 msgstr ""
23757
23758 #. type: deftp
23759 #: doc/guix.texi:10710
23760 #, no-wrap
23761 msgid "{Data Type} dhcpd-configuration"
23762 msgstr ""
23763
23764 #. type: item
23765 #: doc/guix.texi:10712
23766 #, no-wrap
23767 msgid "@code{package} (default: @code{isc-dhcp})"
23768 msgstr ""
23769
23770 #. type: table
23771 #: doc/guix.texi:10717
23772 msgid ""
23773 "The package that provides the DHCP daemon. This package is expected to "
23774 "provide the daemon at @file{sbin/dhcpd} relative to its output directory. "
23775 "The default package is the @uref{http://www.isc.org/products/DHCP, ISC's "
23776 "DHCP server}."
23777 msgstr ""
23778
23779 #. type: item
23780 #: doc/guix.texi:10717 doc/guix.texi:14345
23781 #, no-wrap
23782 msgid "@code{config-file} (default: @code{#f})"
23783 msgstr ""
23784
23785 #. type: table
23786 #: doc/guix.texi:10722
23787 msgid ""
23788 "The configuration file to use. This is required. It will be passed to "
23789 "@code{dhcpd} via its @code{-cf} option. This may be any ``file-like'' "
23790 "object (@pxref{G-Expressions, file-like objects}). See @code{man dhcpd."
23791 "conf} for details on the configuration file syntax."
23792 msgstr ""
23793
23794 #. type: item
23795 #: doc/guix.texi:10722
23796 #, no-wrap
23797 msgid "@code{version} (default: @code{\"4\"})"
23798 msgstr ""
23799
23800 #. type: table
23801 #: doc/guix.texi:10727
23802 msgid ""
23803 "The DHCP version to use. The ISC DHCP server supports the values ``4'', "
23804 "``6'', and ``4o6''. These correspond to the @code{dhcpd} program options "
23805 "@code{-4}, @code{-6}, and @code{-4o6}. See @code{man dhcpd} for details."
23806 msgstr ""
23807
23808 #. type: item
23809 #: doc/guix.texi:10727
23810 #, no-wrap
23811 msgid "@code{run-directory} (default: @code{\"/run/dhcpd\"})"
23812 msgstr ""
23813
23814 #. type: table
23815 #: doc/guix.texi:10730
23816 msgid ""
23817 "The run directory to use. At service activation time, this directory will "
23818 "be created if it does not exist."
23819 msgstr ""
23820
23821 #. type: item
23822 #: doc/guix.texi:10730
23823 #, no-wrap
23824 msgid "@code{pid-file} (default: @code{\"/run/dhcpd/dhcpd.pid\"})"
23825 msgstr ""
23826
23827 #. type: table
23828 #: doc/guix.texi:10733
23829 msgid ""
23830 "The PID file to use. This corresponds to the @code{-pf} option of "
23831 "@code{dhcpd}. See @code{man dhcpd} for details."
23832 msgstr ""
23833
23834 #. type: item
23835 #: doc/guix.texi:10733
23836 #, no-wrap
23837 msgid "@code{interfaces} (default: @code{'()})"
23838 msgstr ""
23839
23840 #. type: table
23841 #: doc/guix.texi:10739
23842 msgid ""
23843 "The names of the network interfaces on which dhcpd should listen for "
23844 "broadcasts. If this list is not empty, then its elements (which must be "
23845 "strings) will be appended to the @code{dhcpd} invocation when starting the "
23846 "daemon. It may not be necessary to explicitly specify any interfaces here; "
23847 "see @code{man dhcpd} for details."
23848 msgstr ""
23849
23850 #. type: defvr
23851 #: doc/guix.texi:10742
23852 #, no-wrap
23853 msgid "{Scheme Variable} static-networking-service-type"
23854 msgstr ""
23855
23856 #. type: defvr
23857 #: doc/guix.texi:10745
23858 msgid "This is the type for statically-configured network interfaces."
23859 msgstr ""
23860
23861 #. type: deffn
23862 #: doc/guix.texi:10747
23863 #, no-wrap
23864 msgid "{Scheme Procedure} static-networking-service @var{interface} @var{ip} @"
23865 msgstr ""
23866
23867 #. type: deffn
23868 #: doc/guix.texi:10755
23869 msgid ""
23870 "[#:netmask #f] [#:gateway #f] [#:name-servers @code{'()}] [#:requirement "
23871 "@code{'(udev)}] Return a service that starts @var{interface} with address "
23872 "@var{ip}. If @var{netmask} is true, use it as the network mask. If "
23873 "@var{gateway} is true, it must be a string specifying the default network "
23874 "gateway. @var{requirement} can be used to declare a dependency on another "
23875 "service before configuring the interface."
23876 msgstr ""
23877
23878 #. type: deffn
23879 #: doc/guix.texi:10760
23880 msgid ""
23881 "This procedure can be called several times, one for each network interface "
23882 "of interest. Behind the scenes what it does is extend @code{static-"
23883 "networking-service-type} with additional network interfaces to handle."
23884 msgstr ""
23885
23886 #. type: cindex
23887 #: doc/guix.texi:10762
23888 #, no-wrap
23889 msgid "wicd"
23890 msgstr ""
23891
23892 #. type: cindex
23893 #: doc/guix.texi:10765
23894 #, no-wrap
23895 msgid "network management"
23896 msgstr ""
23897
23898 #. type: deffn
23899 #: doc/guix.texi:10766
23900 #, no-wrap
23901 msgid "{Scheme Procedure} wicd-service [#:wicd @var{wicd}]"
23902 msgstr ""
23903
23904 #. type: deffn
23905 #: doc/guix.texi:10769
23906 msgid ""
23907 "Return a service that runs @url{https://launchpad.net/wicd,Wicd}, a network "
23908 "management daemon that aims to simplify wired and wireless networking."
23909 msgstr ""
23910
23911 #. type: deffn
23912 #: doc/guix.texi:10774
23913 msgid ""
23914 "This service adds the @var{wicd} package to the global profile, providing "
23915 "several commands to interact with the daemon and configure networking: "
23916 "@command{wicd-client}, a graphical user interface, and the @command{wicd-"
23917 "cli} and @command{wicd-curses} user interfaces."
23918 msgstr ""
23919
23920 #. type: cindex
23921 #: doc/guix.texi:10776
23922 #, no-wrap
23923 msgid "NetworkManager"
23924 msgstr ""
23925
23926 #. type: defvr
23927 #: doc/guix.texi:10778
23928 #, no-wrap
23929 msgid "{Scheme Variable} network-manager-service-type"
23930 msgstr ""
23931
23932 #. type: defvr
23933 #: doc/guix.texi:10783
23934 msgid ""
23935 "This is the service type for the @uref{https://wiki.gnome.org/Projects/"
23936 "NetworkManager, NetworkManager} service. The value for this service type is "
23937 "a @code{network-manager-configuration} record."
23938 msgstr ""
23939
23940 #. type: defvr
23941 #: doc/guix.texi:10786
23942 msgid ""
23943 "This service is part of @code{%desktop-services} (@pxref{Desktop Services})."
23944 msgstr ""
23945
23946 #. type: deftp
23947 #: doc/guix.texi:10788
23948 #, no-wrap
23949 msgid "{Data Type} network-manager-configuration"
23950 msgstr ""
23951
23952 #. type: deftp
23953 #: doc/guix.texi:10790
23954 msgid "Data type representing the configuration of NetworkManager."
23955 msgstr ""
23956
23957 #. type: item
23958 #: doc/guix.texi:10792
23959 #, no-wrap
23960 msgid "@code{network-manager} (default: @code{network-manager})"
23961 msgstr ""
23962
23963 #. type: table
23964 #: doc/guix.texi:10794
23965 msgid "The NetworkManager package to use."
23966 msgstr ""
23967
23968 #. type: item
23969 #: doc/guix.texi:10795
23970 #, no-wrap
23971 msgid "@code{dns} (default: @code{\"default\"})"
23972 msgstr ""
23973
23974 #. type: table
23975 #: doc/guix.texi:10798
23976 msgid ""
23977 "Processing mode for DNS, which affects how NetworkManager uses the "
23978 "@code{resolv.conf} configuration file."
23979 msgstr ""
23980
23981 #. type: item
23982 #: doc/guix.texi:10800
23983 #, no-wrap
23984 msgid "default"
23985 msgstr ""
23986
23987 #. type: table
23988 #: doc/guix.texi:10803
23989 msgid ""
23990 "NetworkManager will update @code{resolv.conf} to reflect the nameservers "
23991 "provided by currently active connections."
23992 msgstr ""
23993
23994 #. type: item
23995 #: doc/guix.texi:10804
23996 #, no-wrap
23997 msgid "dnsmasq"
23998 msgstr ""
23999
24000 #. type: table
24001 #: doc/guix.texi:10808
24002 msgid ""
24003 "NetworkManager will run @code{dnsmasq} as a local caching nameserver, using "
24004 "a \"split DNS\" configuration if you are connected to a VPN, and then update "
24005 "@code{resolv.conf} to point to the local nameserver."
24006 msgstr ""
24007
24008 #. type: item
24009 #: doc/guix.texi:10809 doc/guix.texi:11795
24010 #, no-wrap
24011 msgid "none"
24012 msgstr ""
24013
24014 #. type: table
24015 #: doc/guix.texi:10811
24016 msgid "NetworkManager will not modify @code{resolv.conf}."
24017 msgstr ""
24018
24019 #. type: item
24020 #: doc/guix.texi:10813
24021 #, no-wrap
24022 msgid "@code{vpn-plugins} (default: @code{'()})"
24023 msgstr ""
24024
24025 #. type: table
24026 #: doc/guix.texi:10817
24027 msgid ""
24028 "This is the list of available plugins for virtual private networks (VPNs). "
24029 "An example of this is the @code{network-manager-openvpn} package, which "
24030 "allows NetworkManager to manage VPNs @i{via} OpenVPN."
24031 msgstr ""
24032
24033 #. type: cindex
24034 #: doc/guix.texi:10821
24035 #, no-wrap
24036 msgid "Connman"
24037 msgstr ""
24038
24039 #. type: deffn
24040 #: doc/guix.texi:10822
24041 #, no-wrap
24042 msgid "{Scheme Variable} connman-service-type"
24043 msgstr ""
24044
24045 #. type: deffn
24046 #: doc/guix.texi:10825
24047 msgid ""
24048 "This is the service type to run @url{https://01.org/connman,Connman}, a "
24049 "network connection manager."
24050 msgstr ""
24051
24052 #. type: deffn
24053 #: doc/guix.texi:10828
24054 msgid ""
24055 "Its value must be an @code{connman-configuration} record as in this example:"
24056 msgstr ""
24057
24058 #. type: example
24059 #: doc/guix.texi:10833
24060 #, no-wrap
24061 msgid ""
24062 "(service connman-service-type\n"
24063 " (connman-configuration\n"
24064 " (disable-vpn? #t)))\n"
24065 msgstr ""
24066
24067 #. type: deffn
24068 #: doc/guix.texi:10836
24069 msgid "See below for details about @code{connman-configuration}."
24070 msgstr ""
24071
24072 #. type: deftp
24073 #: doc/guix.texi:10838
24074 #, no-wrap
24075 msgid "{Data Type} connman-configuration"
24076 msgstr ""
24077
24078 #. type: deftp
24079 #: doc/guix.texi:10840
24080 msgid "Data Type representing the configuration of connman."
24081 msgstr ""
24082
24083 #. type: item
24084 #: doc/guix.texi:10842
24085 #, no-wrap
24086 msgid "@code{connman} (default: @var{connman})"
24087 msgstr ""
24088
24089 #. type: table
24090 #: doc/guix.texi:10844
24091 msgid "The connman package to use."
24092 msgstr ""
24093
24094 #. type: item
24095 #: doc/guix.texi:10845
24096 #, no-wrap
24097 msgid "@code{disable-vpn?} (default: @code{#f})"
24098 msgstr ""
24099
24100 #. type: table
24101 #: doc/guix.texi:10847
24102 msgid "When true, enable connman's vpn plugin."
24103 msgstr ""
24104
24105 #. type: cindex
24106 #: doc/guix.texi:10850
24107 #, no-wrap
24108 msgid "WPA Supplicant"
24109 msgstr ""
24110
24111 #. type: defvr
24112 #: doc/guix.texi:10851
24113 #, no-wrap
24114 msgid "{Scheme Variable} wpa-supplicant-service-type"
24115 msgstr ""
24116
24117 #. type: defvr
24118 #: doc/guix.texi:10856
24119 msgid ""
24120 "This is the service type to run @url{https://w1.fi/wpa_supplicant/,WPA "
24121 "supplicant}, an authentication daemon required to authenticate against "
24122 "encrypted WiFi or ethernet networks. It is configured to listen for "
24123 "requests on D-Bus."
24124 msgstr ""
24125
24126 #. type: defvr
24127 #: doc/guix.texi:10859
24128 msgid ""
24129 "The value of this service is the @code{wpa-supplicant} package to use. "
24130 "Thus, it can be instantiated like this:"
24131 msgstr ""
24132
24133 #. type: lisp
24134 #: doc/guix.texi:10862
24135 #, no-wrap
24136 msgid ""
24137 "(use-modules (gnu services networking))\n"
24138 "\n"
24139 msgstr ""
24140
24141 #. type: lisp
24142 #: doc/guix.texi:10864
24143 #, no-wrap
24144 msgid "(service wpa-supplicant-service-type)\n"
24145 msgstr ""
24146
24147 #. type: cindex
24148 #: doc/guix.texi:10867
24149 #, no-wrap
24150 msgid "NTP"
24151 msgstr ""
24152
24153 #. type: cindex
24154 #: doc/guix.texi:10868
24155 #, no-wrap
24156 msgid "real time clock"
24157 msgstr ""
24158
24159 #. type: deffn
24160 #: doc/guix.texi:10869
24161 #, no-wrap
24162 msgid "{Scheme Procedure} ntp-service [#:ntp @var{ntp}] @"
24163 msgstr ""
24164
24165 #. type: deffn
24166 #: doc/guix.texi:10877
24167 msgid ""
24168 "[#:servers @var{%ntp-servers}] @ [#:allow-large-adjustment? #f] Return a "
24169 "service that runs the daemon from @var{ntp}, the @uref{http://www.ntp.org, "
24170 "Network Time Protocol package}. The daemon will keep the system clock "
24171 "synchronized with that of @var{servers}. @var{allow-large-adjustment?} "
24172 "determines whether @command{ntpd} is allowed to make an initial adjustment "
24173 "of more than 1,000 seconds."
24174 msgstr ""
24175
24176 #. type: defvr
24177 #: doc/guix.texi:10879
24178 #, no-wrap
24179 msgid "{Scheme Variable} %ntp-servers"
24180 msgstr ""
24181
24182 #. type: defvr
24183 #: doc/guix.texi:10881
24184 msgid "List of host names used as the default NTP servers."
24185 msgstr ""
24186
24187 #. type: cindex
24188 #: doc/guix.texi:10883
24189 #, no-wrap
24190 msgid "OpenNTPD"
24191 msgstr ""
24192
24193 #. type: deffn
24194 #: doc/guix.texi:10884
24195 #, no-wrap
24196 msgid "{Scheme Procedure} openntpd-service-type"
24197 msgstr ""
24198
24199 #. type: deffn
24200 #: doc/guix.texi:10888
24201 msgid ""
24202 "Run the @command{ntpd}, the Network Time Protocol (NTP) daemon, as "
24203 "implemented by @uref{http://www.openntpd.org, OpenNTPD}. The daemon will "
24204 "keep the system clock synchronized with that of the given servers."
24205 msgstr ""
24206
24207 #. type: example
24208 #: doc/guix.texi:10898
24209 #, no-wrap
24210 msgid ""
24211 "(service\n"
24212 " openntpd-service-type\n"
24213 " (openntpd-configuration\n"
24214 " (listen-on '(\"127.0.0.1\" \"::1\"))\n"
24215 " (sensor '(\"udcf0 correction 70000\"))\n"
24216 " (constraint-from '(\"www.gnu.org\"))\n"
24217 " (constraints-from '(\"https://www.google.com/\"))\n"
24218 " (allow-large-adjustment? #t)))\n"
24219 "\n"
24220 msgstr ""
24221
24222 #. type: deftp
24223 #: doc/guix.texi:10902
24224 #, no-wrap
24225 msgid "{Data Type} openntpd-configuration"
24226 msgstr ""
24227
24228 #. type: item
24229 #: doc/guix.texi:10904
24230 #, no-wrap
24231 msgid "@code{openntpd} (default: @code{(file-append openntpd \"/sbin/ntpd\")})"
24232 msgstr ""
24233
24234 #. type: table
24235 #: doc/guix.texi:10906
24236 msgid "The openntpd executable to use."
24237 msgstr ""
24238
24239 #. type: item
24240 #: doc/guix.texi:10906
24241 #, no-wrap
24242 msgid "@code{listen-on} (default: @code{'(\"127.0.0.1\" \"::1\")})"
24243 msgstr ""
24244
24245 #. type: table
24246 #: doc/guix.texi:10908
24247 msgid ""
24248 "A list of local IP addresses or hostnames the ntpd daemon should listen on."
24249 msgstr ""
24250
24251 #. type: item
24252 #: doc/guix.texi:10908
24253 #, no-wrap
24254 msgid "@code{query-from} (default: @code{'()})"
24255 msgstr ""
24256
24257 #. type: table
24258 #: doc/guix.texi:10910
24259 msgid ""
24260 "A list of local IP address the ntpd daemon should use for outgoing queries."
24261 msgstr ""
24262
24263 #. type: item
24264 #: doc/guix.texi:10910
24265 #, no-wrap
24266 msgid "@code{sensor} (default: @code{'()})"
24267 msgstr ""
24268
24269 #. type: table
24270 #: doc/guix.texi:10915
24271 msgid ""
24272 "Specify a list of timedelta sensor devices ntpd should use. @code{ntpd} "
24273 "will listen to each sensor that acutally exists and ignore non-existant "
24274 "ones. See @uref{https://man.openbsd.org/ntpd.conf, upstream documentation} "
24275 "for more information."
24276 msgstr ""
24277
24278 #. type: item
24279 #: doc/guix.texi:10915
24280 #, no-wrap
24281 msgid "@code{server} (default: @var{%ntp-servers})"
24282 msgstr ""
24283
24284 #. type: table
24285 #: doc/guix.texi:10917
24286 msgid ""
24287 "Specify a list of IP addresses or hostnames of NTP servers to synchronize to."
24288 msgstr ""
24289
24290 #. type: item
24291 #: doc/guix.texi:10917
24292 #, no-wrap
24293 msgid "@code{servers} (default: @code{'()})"
24294 msgstr ""
24295
24296 #. type: table
24297 #: doc/guix.texi:10919
24298 msgid ""
24299 "Specify a list of IP addresses or hostnames of NTP pools to synchronize to."
24300 msgstr ""
24301
24302 #. type: item
24303 #: doc/guix.texi:10919
24304 #, no-wrap
24305 msgid "@code{constraint-from} (default: @code{'()})"
24306 msgstr ""
24307
24308 #. type: table
24309 #: doc/guix.texi:10926
24310 msgid ""
24311 "@code{ntpd} can be configured to query the ‘Date’ from trusted HTTPS servers "
24312 "via TLS. This time information is not used for precision but acts as an "
24313 "authenticated constraint, thereby reducing the impact of unauthenticated NTP "
24314 "man-in-the-middle attacks. Specify a list of URLs, IP addresses or "
24315 "hostnames of HTTPS servers to provide a constraint."
24316 msgstr ""
24317
24318 #. type: item
24319 #: doc/guix.texi:10926
24320 #, no-wrap
24321 msgid "@code{constraints-from} (default: @code{'()})"
24322 msgstr ""
24323
24324 #. type: table
24325 #: doc/guix.texi:10930
24326 msgid ""
24327 "As with constraint from, specify a list of URLs, IP addresses or hostnames "
24328 "of HTTPS servers to provide a constraint. Should the hostname resolve to "
24329 "multiple IP addresses, @code{ntpd} will calculate a median constraint from "
24330 "all of them."
24331 msgstr ""
24332
24333 #. type: item
24334 #: doc/guix.texi:10930
24335 #, no-wrap
24336 msgid "@code{allow-large-adjustment?} (default: @code{#f})"
24337 msgstr ""
24338
24339 #. type: table
24340 #: doc/guix.texi:10933
24341 msgid ""
24342 "Determines if @code{ntpd} is allowed to make an initial adjustment of more "
24343 "than 180 seconds."
24344 msgstr ""
24345
24346 #. type: cindex
24347 #: doc/guix.texi:10936
24348 #, no-wrap
24349 msgid "inetd"
24350 msgstr ""
24351
24352 #. type: deffn
24353 #: doc/guix.texi:10937
24354 #, no-wrap
24355 msgid "{Scheme variable} inetd-service-type"
24356 msgstr ""
24357
24358 #. type: deffn
24359 #: doc/guix.texi:10942
24360 msgid ""
24361 "This service runs the @command{inetd} (@pxref{inetd invocation,,, inetutils, "
24362 "GNU Inetutils}) daemon. @command{inetd} listens for connections on internet "
24363 "sockets, and lazily starts the specified server program when a connection is "
24364 "made on one of these sockets."
24365 msgstr ""
24366
24367 #. type: deffn
24368 #: doc/guix.texi:10948
24369 msgid ""
24370 "The value of this service is an @code{inetd-configuration} object. The "
24371 "following example configures the @command{inetd} daemon to provide the built-"
24372 "in @command{echo} service, as well as an smtp service which forwards smtp "
24373 "traffic over ssh to a server @code{smtp-server} behind a gateway "
24374 "@code{hostname}:"
24375 msgstr ""
24376
24377 #. type: example
24378 #: doc/guix.texi:10971
24379 #, no-wrap
24380 msgid ""
24381 "(service\n"
24382 " inetd-service-type\n"
24383 " (inetd-configuration\n"
24384 " (entries (list\n"
24385 " (inetd-entry\n"
24386 " (name \"echo\")\n"
24387 " (socket-type 'stream)\n"
24388 " (protocol \"tcp\")\n"
24389 " (wait? #f)\n"
24390 " (user \"root\"))\n"
24391 " (inetd-entry\n"
24392 " (node \"127.0.0.1\")\n"
24393 " (name \"smtp\")\n"
24394 " (socket-type 'stream)\n"
24395 " (protocol \"tcp\")\n"
24396 " (wait? #f)\n"
24397 " (user \"root\")\n"
24398 " (program (file-append openssh \"/bin/ssh\"))\n"
24399 " (arguments\n"
24400 " '(\"ssh\" \"-qT\" \"-i\" \"/path/to/ssh_key\"\n"
24401 " \"-W\" \"smtp-server:25\" \"user@@hostname\")))))\n"
24402 msgstr ""
24403
24404 #. type: deffn
24405 #: doc/guix.texi:10974
24406 msgid "See below for more details about @code{inetd-configuration}."
24407 msgstr ""
24408
24409 #. type: deftp
24410 #: doc/guix.texi:10976
24411 #, no-wrap
24412 msgid "{Data Type} inetd-configuration"
24413 msgstr ""
24414
24415 #. type: deftp
24416 #: doc/guix.texi:10978
24417 msgid "Data type representing the configuration of @command{inetd}."
24418 msgstr ""
24419
24420 #. type: item
24421 #: doc/guix.texi:10980
24422 #, no-wrap
24423 msgid "@code{program} (default: @code{(file-append inetutils \"/libexec/inetd\")})"
24424 msgstr ""
24425
24426 #. type: table
24427 #: doc/guix.texi:10982
24428 msgid "The @command{inetd} executable to use."
24429 msgstr ""
24430
24431 #. type: item
24432 #: doc/guix.texi:10983 doc/guix.texi:16240
24433 #, no-wrap
24434 msgid "@code{entries} (default: @code{'()})"
24435 msgstr ""
24436
24437 #. type: table
24438 #: doc/guix.texi:10986
24439 msgid ""
24440 "A list of @command{inetd} service entries. Each entry should be created by "
24441 "the @code{inetd-entry} constructor."
24442 msgstr ""
24443
24444 #. type: deftp
24445 #: doc/guix.texi:10989
24446 #, no-wrap
24447 msgid "{Data Type} inetd-entry"
24448 msgstr ""
24449
24450 #. type: deftp
24451 #: doc/guix.texi:10993
24452 msgid ""
24453 "Data type representing an entry in the @command{inetd} configuration. Each "
24454 "entry corresponds to a socket where @command{inetd} will listen for requests."
24455 msgstr ""
24456
24457 #. type: item
24458 #: doc/guix.texi:10995
24459 #, no-wrap
24460 msgid "@code{node} (default: @code{#f})"
24461 msgstr ""
24462
24463 #. type: table
24464 #: doc/guix.texi:11000
24465 msgid ""
24466 "Optional string, a comma-separated list of local addresses @command{inetd} "
24467 "should use when listening for this service. @xref{Configuration file,,, "
24468 "inetutils, GNU Inetutils} for a complete description of all options."
24469 msgstr ""
24470
24471 #. type: table
24472 #: doc/guix.texi:11002
24473 msgid "A string, the name must correspond to an entry in @code{/etc/services}."
24474 msgstr ""
24475
24476 #. type: code{#1}
24477 #: doc/guix.texi:11002
24478 #, no-wrap
24479 msgid "socket-type"
24480 msgstr ""
24481
24482 #. type: table
24483 #: doc/guix.texi:11005
24484 msgid ""
24485 "One of @code{'stream}, @code{'dgram}, @code{'raw}, @code{'rdm} or "
24486 "@code{'seqpacket}."
24487 msgstr ""
24488
24489 #. type: code{#1}
24490 #: doc/guix.texi:11005
24491 #, no-wrap
24492 msgid "protocol"
24493 msgstr ""
24494
24495 #. type: table
24496 #: doc/guix.texi:11007
24497 msgid "A string, must correspond to an entry in @code{/etc/protocols}."
24498 msgstr ""
24499
24500 #. type: item
24501 #: doc/guix.texi:11007
24502 #, no-wrap
24503 msgid "@code{wait?} (default: @code{#t})"
24504 msgstr ""
24505
24506 #. type: table
24507 #: doc/guix.texi:11010
24508 msgid ""
24509 "Whether @command{inetd} should wait for the server to exit before listening "
24510 "to new service requests."
24511 msgstr ""
24512
24513 #. type: table
24514 #: doc/guix.texi:11015
24515 msgid ""
24516 "A string containing the user (and, optionally, group) name of the user as "
24517 "whom the server should run. The group name can be specified in a suffix, "
24518 "separated by a colon or period, i.e. @code{\"user\"}, @code{\"user:group\"} "
24519 "or @code{\"user.group\"}."
24520 msgstr ""
24521
24522 #. type: item
24523 #: doc/guix.texi:11015
24524 #, no-wrap
24525 msgid "@code{program} (default: @code{\"internal\"})"
24526 msgstr ""
24527
24528 #. type: table
24529 #: doc/guix.texi:11018
24530 msgid ""
24531 "The server program which will serve the requests, or @code{\"internal\"} if "
24532 "@command{inetd} should use a built-in service."
24533 msgstr ""
24534
24535 #. type: table
24536 #: doc/guix.texi:11023
24537 msgid ""
24538 "A list strings or file-like objects, which are the server program's "
24539 "arguments, starting with the zeroth argument, i.e. the name of the program "
24540 "itself. For @command{inetd}'s internal services, this entry must be "
24541 "@code{'()} or @code{'(\"internal\")}."
24542 msgstr ""
24543
24544 #. type: deftp
24545 #: doc/guix.texi:11027
24546 msgid ""
24547 "@xref{Configuration file,,, inetutils, GNU Inetutils} for a more detailed "
24548 "discussion of each configuration field."
24549 msgstr ""
24550
24551 #. type: cindex
24552 #: doc/guix.texi:11029
24553 #, no-wrap
24554 msgid "Tor"
24555 msgstr ""
24556
24557 #. type: deffn
24558 #: doc/guix.texi:11030
24559 #, no-wrap
24560 msgid "{Scheme Procedure} tor-service [@var{config-file}] [#:tor @var{tor}]"
24561 msgstr ""
24562
24563 #. type: deffn
24564 #: doc/guix.texi:11033
24565 msgid ""
24566 "Return a service to run the @uref{https://torproject.org, Tor} anonymous "
24567 "networking daemon."
24568 msgstr ""
24569
24570 #. type: deffn
24571 #: doc/guix.texi:11038
24572 msgid ""
24573 "The daemon runs as the @code{tor} unprivileged user. It is passed "
24574 "@var{config-file}, a file-like object, with an additional @code{User tor} "
24575 "line and lines for hidden services added via @code{tor-hidden-service}. Run "
24576 "@command{man tor} for information about the configuration file."
24577 msgstr ""
24578
24579 #. type: cindex
24580 #: doc/guix.texi:11040
24581 #, no-wrap
24582 msgid "hidden service"
24583 msgstr ""
24584
24585 #. type: deffn
24586 #: doc/guix.texi:11041
24587 #, no-wrap
24588 msgid "{Scheme Procedure} tor-hidden-service @var{name} @var{mapping}"
24589 msgstr ""
24590
24591 #. type: deffn
24592 #: doc/guix.texi:11044
24593 msgid ""
24594 "Define a new Tor @dfn{hidden service} called @var{name} and implementing "
24595 "@var{mapping}. @var{mapping} is a list of port/host tuples, such as:"
24596 msgstr ""
24597
24598 #. type: example
24599 #: doc/guix.texi:11048
24600 #, no-wrap
24601 msgid ""
24602 " '((22 \"127.0.0.1:22\")\n"
24603 " (80 \"127.0.0.1:8080\"))\n"
24604 msgstr ""
24605
24606 #. type: deffn
24607 #: doc/guix.texi:11052
24608 msgid ""
24609 "In this example, port 22 of the hidden service is mapped to local port 22, "
24610 "and port 80 is mapped to local port 8080."
24611 msgstr ""
24612
24613 #. type: deffn
24614 #: doc/guix.texi:11056
24615 msgid ""
24616 "This creates a @file{/var/lib/tor/hidden-services/@var{name}} directory, "
24617 "where the @file{hostname} file contains the @code{.onion} host name for the "
24618 "hidden service."
24619 msgstr ""
24620
24621 #. type: deffn
24622 #: doc/guix.texi:11059
24623 msgid ""
24624 "See @uref{https://www.torproject.org/docs/tor-hidden-service.html.en, the "
24625 "Tor project's documentation} for more information."
24626 msgstr ""
24627
24628 #. type: Plain text
24629 #: doc/guix.texi:11062
24630 msgid "The @code{(gnu services rsync)} module provides the following services:"
24631 msgstr ""
24632
24633 #. type: Plain text
24634 #: doc/guix.texi:11066
24635 msgid ""
24636 "You might want an rsync daemon if you have files that you want available so "
24637 "anyone (or just yourself) can download existing files or upload new files."
24638 msgstr ""
24639
24640 #. type: deffn
24641 #: doc/guix.texi:11067
24642 #, no-wrap
24643 msgid "{Scheme Variable} rsync-service-type"
24644 msgstr ""
24645
24646 #. type: deffn
24647 #: doc/guix.texi:11070
24648 msgid ""
24649 "This is the type for the @uref{https://rsync.samba.org, rsync} rsync daemon, "
24650 "@command{rsync-configuration} record as in this example:"
24651 msgstr ""
24652
24653 #. type: example
24654 #: doc/guix.texi:11073
24655 #, no-wrap
24656 msgid "(service rsync-service-type)\n"
24657 msgstr ""
24658
24659 #. type: deffn
24660 #: doc/guix.texi:11076
24661 msgid "See below for details about @code{rsync-configuration}."
24662 msgstr ""
24663
24664 #. type: deftp
24665 #: doc/guix.texi:11078
24666 #, no-wrap
24667 msgid "{Data Type} rsync-configuration"
24668 msgstr ""
24669
24670 #. type: deftp
24671 #: doc/guix.texi:11080
24672 msgid "Data type representing the configuration for @code{rsync-service}."
24673 msgstr ""
24674
24675 #. type: item
24676 #: doc/guix.texi:11082
24677 #, no-wrap
24678 msgid "@code{package} (default: @var{rsync})"
24679 msgstr ""
24680
24681 #. type: table
24682 #: doc/guix.texi:11084
24683 msgid "@code{rsync} package to use."
24684 msgstr ""
24685
24686 #. type: item
24687 #: doc/guix.texi:11085
24688 #, no-wrap
24689 msgid "@code{port-number} (default: @code{873})"
24690 msgstr ""
24691
24692 #. type: table
24693 #: doc/guix.texi:11089
24694 msgid ""
24695 "TCP port on which @command{rsync} listens for incoming connections. If port "
24696 "is less than @code{1024} @command{rsync} needs to be started as the "
24697 "@code{root} user and group."
24698 msgstr ""
24699
24700 #. type: item
24701 #: doc/guix.texi:11090
24702 #, no-wrap
24703 msgid "@code{pid-file} (default: @code{\"/var/run/rsyncd/rsyncd.pid\"})"
24704 msgstr ""
24705
24706 #. type: table
24707 #: doc/guix.texi:11092
24708 msgid "Name of the file where @command{rsync} writes its PID."
24709 msgstr ""
24710
24711 #. type: item
24712 #: doc/guix.texi:11093
24713 #, no-wrap
24714 msgid "@code{lock-file} (default: @code{\"/var/run/rsyncd/rsyncd.lock\"})"
24715 msgstr ""
24716
24717 #. type: table
24718 #: doc/guix.texi:11095
24719 msgid "Name of the file where @command{rsync} writes its lock file."
24720 msgstr ""
24721
24722 #. type: item
24723 #: doc/guix.texi:11096
24724 #, no-wrap
24725 msgid "@code{log-file} (default: @code{\"/var/log/rsyncd.log\"})"
24726 msgstr ""
24727
24728 #. type: table
24729 #: doc/guix.texi:11098
24730 msgid "Name of the file where @command{rsync} writes its log file."
24731 msgstr ""
24732
24733 #. type: item
24734 #: doc/guix.texi:11099
24735 #, no-wrap
24736 msgid "@code{use-chroot?} (default: @var{#t})"
24737 msgstr ""
24738
24739 #. type: table
24740 #: doc/guix.texi:11101
24741 msgid "Whether to use chroot for @command{rsync} shared directory."
24742 msgstr ""
24743
24744 #. type: item
24745 #: doc/guix.texi:11102
24746 #, no-wrap
24747 msgid "@code{share-path} (default: @file{/srv/rsync})"
24748 msgstr ""
24749
24750 #. type: table
24751 #: doc/guix.texi:11104
24752 msgid "Location of the @command{rsync} shared directory."
24753 msgstr ""
24754
24755 #. type: item
24756 #: doc/guix.texi:11105
24757 #, no-wrap
24758 msgid "@code{share-comment} (default: @code{\"Rsync share\"})"
24759 msgstr ""
24760
24761 #. type: table
24762 #: doc/guix.texi:11107
24763 msgid "Comment of the @command{rsync} shared directory."
24764 msgstr ""
24765
24766 #. type: item
24767 #: doc/guix.texi:11108
24768 #, no-wrap
24769 msgid "@code{read-only?} (default: @var{#f})"
24770 msgstr ""
24771
24772 #. type: table
24773 #: doc/guix.texi:11110
24774 msgid "Read-write permissions to shared directory."
24775 msgstr ""
24776
24777 #. type: item
24778 #: doc/guix.texi:11111
24779 #, no-wrap
24780 msgid "@code{timeout} (default: @code{300})"
24781 msgstr ""
24782
24783 #. type: table
24784 #: doc/guix.texi:11113
24785 msgid "I/O timeout in seconds."
24786 msgstr ""
24787
24788 #. type: item
24789 #: doc/guix.texi:11114
24790 #, no-wrap
24791 msgid "@code{user} (default: @var{\"root\"})"
24792 msgstr ""
24793
24794 #. type: table
24795 #: doc/guix.texi:11116
24796 msgid "Owner of the @code{rsync} process."
24797 msgstr ""
24798
24799 #. type: item
24800 #: doc/guix.texi:11117
24801 #, no-wrap
24802 msgid "@code{group} (default: @var{\"root\"})"
24803 msgstr ""
24804
24805 #. type: table
24806 #: doc/guix.texi:11119
24807 msgid "Group of the @code{rsync} process."
24808 msgstr ""
24809
24810 #. type: item
24811 #: doc/guix.texi:11120
24812 #, no-wrap
24813 msgid "@code{uid} (default: @var{\"rsyncd\"})"
24814 msgstr ""
24815
24816 #. type: table
24817 #: doc/guix.texi:11123
24818 msgid ""
24819 "User name or user ID that file transfers to and from that module should take "
24820 "place as when the daemon was run as @code{root}."
24821 msgstr ""
24822
24823 #. type: item
24824 #: doc/guix.texi:11124
24825 #, no-wrap
24826 msgid "@code{gid} (default: @var{\"rsyncd\"})"
24827 msgstr ""
24828
24829 #. type: table
24830 #: doc/guix.texi:11126
24831 msgid "Group name or group ID that will be used when accessing the module."
24832 msgstr ""
24833
24834 #. type: Plain text
24835 #: doc/guix.texi:11131
24836 msgid "Furthermore, @code{(gnu services ssh)} provides the following services."
24837 msgstr ""
24838
24839 #. type: cindex
24840 #: doc/guix.texi:11131 doc/guix.texi:11170 doc/guix.texi:20791
24841 #, no-wrap
24842 msgid "SSH"
24843 msgstr ""
24844
24845 #. type: cindex
24846 #: doc/guix.texi:11132 doc/guix.texi:11171 doc/guix.texi:20792
24847 #, no-wrap
24848 msgid "SSH server"
24849 msgstr ""
24850
24851 #. type: deffn
24852 #: doc/guix.texi:11134
24853 #, no-wrap
24854 msgid "{Scheme Procedure} lsh-service [#:host-key \"/etc/lsh/host-key\"] @"
24855 msgstr ""
24856
24857 #. type: deffn
24858 #: doc/guix.texi:11143
24859 msgid ""
24860 "[#:daemonic? #t] [#:interfaces '()] [#:port-number 22] @ [#:allow-empty-"
24861 "passwords? #f] [#:root-login? #f] @ [#:syslog-output? #t] [#:x11-forwarding? "
24862 "#t] @ [#:tcp/ip-forwarding? #t] [#:password-authentication? #t] @ [#:public-"
24863 "key-authentication? #t] [#:initialize? #t] Run the @command{lshd} program "
24864 "from @var{lsh} to listen on port @var{port-number}. @var{host-key} must "
24865 "designate a file containing the host key, and readable only by root."
24866 msgstr ""
24867
24868 #. type: deffn
24869 #: doc/guix.texi:11149
24870 msgid ""
24871 "When @var{daemonic?} is true, @command{lshd} will detach from the "
24872 "controlling terminal and log its output to syslogd, unless one sets "
24873 "@var{syslog-output?} to false. Obviously, it also makes lsh-service depend "
24874 "on existence of syslogd service. When @var{pid-file?} is true, "
24875 "@command{lshd} writes its PID to the file called @var{pid-file}."
24876 msgstr ""
24877
24878 #. type: deffn
24879 #: doc/guix.texi:11153
24880 msgid ""
24881 "When @var{initialize?} is true, automatically create the seed and host key "
24882 "upon service activation if they do not exist yet. This may take long and "
24883 "require interaction."
24884 msgstr ""
24885
24886 #. type: deffn
24887 #: doc/guix.texi:11158
24888 msgid ""
24889 "When @var{initialize?} is false, it is up to the user to initialize the "
24890 "randomness generator (@pxref{lsh-make-seed,,, lsh, LSH Manual}), and to "
24891 "create a key pair with the private key stored in file @var{host-key} "
24892 "(@pxref{lshd basics,,, lsh, LSH Manual})."
24893 msgstr ""
24894
24895 #. type: deffn
24896 #: doc/guix.texi:11162
24897 msgid ""
24898 "When @var{interfaces} is empty, lshd listens for connections on all the "
24899 "network interfaces; otherwise, @var{interfaces} must be a list of host names "
24900 "or addresses."
24901 msgstr ""
24902
24903 #. type: deffn
24904 #: doc/guix.texi:11166
24905 msgid ""
24906 "@var{allow-empty-passwords?} specifies whether to accept log-ins with empty "
24907 "passwords, and @var{root-login?} specifies whether to accept log-ins as root."
24908 msgstr ""
24909
24910 #. type: deffn
24911 #: doc/guix.texi:11168
24912 msgid "The other options should be self-descriptive."
24913 msgstr ""
24914
24915 #. type: deffn
24916 #: doc/guix.texi:11172
24917 #, no-wrap
24918 msgid "{Scheme Variable} openssh-service-type"
24919 msgstr ""
24920
24921 #. type: deffn
24922 #: doc/guix.texi:11176
24923 msgid ""
24924 "This is the type for the @uref{http://www.openssh.org, OpenSSH} secure shell "
24925 "daemon, @command{sshd}. Its value must be an @code{openssh-configuration} "
24926 "record as in this example:"
24927 msgstr ""
24928
24929 #. type: example
24930 #: doc/guix.texi:11185
24931 #, no-wrap
24932 msgid ""
24933 "(service openssh-service-type\n"
24934 " (openssh-configuration\n"
24935 " (x11-forwarding? #t)\n"
24936 " (permit-root-login 'without-password)\n"
24937 " (authorized-keys\n"
24938 " `((\"alice\" ,(local-file \"alice.pub\"))\n"
24939 " (\"bob\" ,(local-file \"bob.pub\"))))))\n"
24940 msgstr ""
24941
24942 #. type: deffn
24943 #: doc/guix.texi:11188
24944 msgid "See below for details about @code{openssh-configuration}."
24945 msgstr ""
24946
24947 #. type: deffn
24948 #: doc/guix.texi:11191
24949 msgid ""
24950 "This service can be extended with extra authorized keys, as in this example:"
24951 msgstr ""
24952
24953 #. type: example
24954 #: doc/guix.texi:11196
24955 #, no-wrap
24956 msgid ""
24957 "(service-extension openssh-service-type\n"
24958 " (const `((\"charlie\"\n"
24959 " ,(local-file \"charlie.pub\")))))\n"
24960 msgstr ""
24961
24962 #. type: deftp
24963 #: doc/guix.texi:11199
24964 #, no-wrap
24965 msgid "{Data Type} openssh-configuration"
24966 msgstr ""
24967
24968 #. type: deftp
24969 #: doc/guix.texi:11201
24970 msgid "This is the configuration record for OpenSSH's @command{sshd}."
24971 msgstr ""
24972
24973 #. type: item
24974 #: doc/guix.texi:11203
24975 #, no-wrap
24976 msgid "@code{pid-file} (default: @code{\"/var/run/sshd.pid\"})"
24977 msgstr ""
24978
24979 #. type: table
24980 #: doc/guix.texi:11205
24981 msgid "Name of the file where @command{sshd} writes its PID."
24982 msgstr ""
24983
24984 #. type: item
24985 #: doc/guix.texi:11206
24986 #, no-wrap
24987 msgid "@code{port-number} (default: @code{22})"
24988 msgstr ""
24989
24990 #. type: table
24991 #: doc/guix.texi:11208
24992 msgid "TCP port on which @command{sshd} listens for incoming connections."
24993 msgstr ""
24994
24995 #. type: item
24996 #: doc/guix.texi:11209
24997 #, no-wrap
24998 msgid "@code{permit-root-login} (default: @code{#f})"
24999 msgstr ""
25000
25001 #. type: table
25002 #: doc/guix.texi:11214
25003 msgid ""
25004 "This field determines whether and when to allow logins as root. If "
25005 "@code{#f}, root logins are disallowed; if @code{#t}, they are allowed. If "
25006 "it's the symbol @code{'without-password}, then root logins are permitted but "
25007 "not with password-based authentication."
25008 msgstr ""
25009
25010 #. type: item
25011 #: doc/guix.texi:11215 doc/guix.texi:11348
25012 #, no-wrap
25013 msgid "@code{allow-empty-passwords?} (default: @code{#f})"
25014 msgstr ""
25015
25016 #. type: table
25017 #: doc/guix.texi:11218
25018 msgid ""
25019 "When true, users with empty passwords may log in. When false, they may not."
25020 msgstr ""
25021
25022 #. type: item
25023 #: doc/guix.texi:11219 doc/guix.texi:11351
25024 #, no-wrap
25025 msgid "@code{password-authentication?} (default: @code{#t})"
25026 msgstr ""
25027
25028 #. type: table
25029 #: doc/guix.texi:11222
25030 msgid ""
25031 "When true, users may log in with their password. When false, they have "
25032 "other authentication methods."
25033 msgstr ""
25034
25035 #. type: item
25036 #: doc/guix.texi:11223
25037 #, no-wrap
25038 msgid "@code{public-key-authentication?} (default: @code{#t})"
25039 msgstr ""
25040
25041 #. type: table
25042 #: doc/guix.texi:11226
25043 msgid ""
25044 "When true, users may log in using public key authentication. When false, "
25045 "users have to use other authentication method."
25046 msgstr ""
25047
25048 #. type: table
25049 #: doc/guix.texi:11229
25050 msgid ""
25051 "Authorized public keys are stored in @file{~/.ssh/authorized_keys}. This is "
25052 "used only by protocol version 2."
25053 msgstr ""
25054
25055 #. type: item
25056 #: doc/guix.texi:11230
25057 #, no-wrap
25058 msgid "@code{x11-forwarding?} (default: @code{#f})"
25059 msgstr ""
25060
25061 #. type: table
25062 #: doc/guix.texi:11234
25063 msgid ""
25064 "When true, forwarding of X11 graphical client connections is enabled---in "
25065 "other words, @command{ssh} options @option{-X} and @option{-Y} will work."
25066 msgstr ""
25067
25068 #. type: item
25069 #: doc/guix.texi:11235
25070 #, no-wrap
25071 msgid "@code{challenge-response-authentication?} (default: @code{#f})"
25072 msgstr ""
25073
25074 #. type: table
25075 #: doc/guix.texi:11238
25076 msgid ""
25077 "Specifies whether challenge response authentication is allowed (e.g. via "
25078 "PAM)."
25079 msgstr ""
25080
25081 #. type: item
25082 #: doc/guix.texi:11239
25083 #, no-wrap
25084 msgid "@code{use-pam?} (default: @code{#t})"
25085 msgstr ""
25086
25087 #. type: table
25088 #: doc/guix.texi:11245
25089 msgid ""
25090 "Enables the Pluggable Authentication Module interface. If set to @code{#t}, "
25091 "this will enable PAM authentication using @code{challenge-response-"
25092 "authentication?} and @code{password-authentication?}, in addition to PAM "
25093 "account and session module processing for all authentication types."
25094 msgstr ""
25095
25096 #. type: table
25097 #: doc/guix.texi:11250
25098 msgid ""
25099 "Because PAM challenge response authentication usually serves an equivalent "
25100 "role to password authentication, you should disable either @code{challenge-"
25101 "response-authentication?} or @code{password-authentication?}."
25102 msgstr ""
25103
25104 #. type: item
25105 #: doc/guix.texi:11251
25106 #, no-wrap
25107 msgid "@code{print-last-log?} (default: @code{#t})"
25108 msgstr ""
25109
25110 #. type: table
25111 #: doc/guix.texi:11254
25112 msgid ""
25113 "Specifies whether @command{sshd} should print the date and time of the last "
25114 "user login when a user logs in interactively."
25115 msgstr ""
25116
25117 #. type: item
25118 #: doc/guix.texi:11255
25119 #, no-wrap
25120 msgid "@code{subsystems} (default: @code{'((\"sftp\" \"internal-sftp\"))})"
25121 msgstr ""
25122
25123 #. type: table
25124 #: doc/guix.texi:11257
25125 msgid "Configures external subsystems (e.g. file transfer daemon)."
25126 msgstr ""
25127
25128 #. type: table
25129 #: doc/guix.texi:11261
25130 msgid ""
25131 "This is a list of two-element lists, each of which containing the subsystem "
25132 "name and a command (with optional arguments) to execute upon subsystem "
25133 "request."
25134 msgstr ""
25135
25136 #. type: table
25137 #: doc/guix.texi:11264
25138 msgid ""
25139 "The command @command{internal-sftp} implements an in-process SFTP server. "
25140 "Alternately, one can specify the @command{sftp-server} command:"
25141 msgstr ""
25142
25143 #. type: example
25144 #: doc/guix.texi:11269
25145 #, no-wrap
25146 msgid ""
25147 "(service openssh-service-type\n"
25148 " (openssh-configuration\n"
25149 " (subsystems\n"
25150 " `((\"sftp\" ,(file-append openssh \"/libexec/sftp-server\"))))))\n"
25151 msgstr ""
25152
25153 #. type: item
25154 #: doc/guix.texi:11271
25155 #, no-wrap
25156 msgid "@code{accepted-environment} (default: @code{'()})"
25157 msgstr ""
25158
25159 #. type: table
25160 #: doc/guix.texi:11273
25161 msgid "List of strings describing which environment variables may be exported."
25162 msgstr ""
25163
25164 #. type: table
25165 #: doc/guix.texi:11276
25166 msgid ""
25167 "Each string gets on its own line. See the @code{AcceptEnv} option in "
25168 "@code{man sshd_config}."
25169 msgstr ""
25170
25171 #. type: table
25172 #: doc/guix.texi:11281
25173 msgid ""
25174 "This example allows ssh-clients to export the @code{COLORTERM} variable. It "
25175 "is set by terminal emulators, which support colors. You can use it in your "
25176 "shell's ressource file to enable colors for the prompt and commands if this "
25177 "variable is set."
25178 msgstr ""
25179
25180 #. type: example
25181 #: doc/guix.texi:11286
25182 #, no-wrap
25183 msgid ""
25184 "(service openssh-service-type\n"
25185 " (openssh-configuration\n"
25186 " (accepted-environment '(\"COLORTERM\"))))\n"
25187 msgstr ""
25188
25189 #. type: item
25190 #: doc/guix.texi:11288
25191 #, no-wrap
25192 msgid "@code{authorized-keys} (default: @code{'()})"
25193 msgstr ""
25194
25195 #. type: cindex
25196 #: doc/guix.texi:11289
25197 #, no-wrap
25198 msgid "authorized keys, SSH"
25199 msgstr ""
25200
25201 #. type: cindex
25202 #: doc/guix.texi:11290
25203 #, no-wrap
25204 msgid "SSH authorized keys"
25205 msgstr ""
25206
25207 #. type: table
25208 #: doc/guix.texi:11294
25209 msgid ""
25210 "This is the list of authorized keys. Each element of the list is a user "
25211 "name followed by one or more file-like objects that represent SSH public "
25212 "keys. For example:"
25213 msgstr ""
25214
25215 #. type: example
25216 #: doc/guix.texi:11301
25217 #, no-wrap
25218 msgid ""
25219 "(openssh-configuration\n"
25220 " (authorized-keys\n"
25221 " `((\"rekado\" ,(local-file \"rekado.pub\"))\n"
25222 " (\"chris\" ,(local-file \"chris.pub\"))\n"
25223 " (\"root\" ,(local-file \"rekado.pub\") ,(local-file \"chris.pub\")))))\n"
25224 msgstr ""
25225
25226 #. type: table
25227 #: doc/guix.texi:11306
25228 msgid ""
25229 "registers the specified public keys for user accounts @code{rekado}, "
25230 "@code{chris}, and @code{root}."
25231 msgstr ""
25232
25233 #. type: table
25234 #: doc/guix.texi:11309
25235 msgid ""
25236 "Additional authorized keys can be specified @i{via} @code{service-extension}."
25237 msgstr ""
25238
25239 #. type: table
25240 #: doc/guix.texi:11312
25241 msgid ""
25242 "Note that this does @emph{not} interfere with the use of @file{~/.ssh/"
25243 "authorized_keys}."
25244 msgstr ""
25245
25246 #. type: deffn
25247 #: doc/guix.texi:11315
25248 #, no-wrap
25249 msgid "{Scheme Procedure} dropbear-service [@var{config}]"
25250 msgstr ""
25251
25252 #. type: deffn
25253 #: doc/guix.texi:11319
25254 msgid ""
25255 "Run the @uref{https://matt.ucc.asn.au/dropbear/dropbear.html,Dropbear SSH "
25256 "daemon} with the given @var{config}, a @code{<dropbear-configuration>} "
25257 "object."
25258 msgstr ""
25259
25260 #. type: deffn
25261 #: doc/guix.texi:11322
25262 msgid ""
25263 "For example, to specify a Dropbear service listening on port 1234, add this "
25264 "call to the operating system's @code{services} field:"
25265 msgstr ""
25266
25267 #. type: example
25268 #: doc/guix.texi:11326
25269 #, no-wrap
25270 msgid ""
25271 "(dropbear-service (dropbear-configuration\n"
25272 " (port-number 1234)))\n"
25273 msgstr ""
25274
25275 #. type: deftp
25276 #: doc/guix.texi:11329
25277 #, no-wrap
25278 msgid "{Data Type} dropbear-configuration"
25279 msgstr ""
25280
25281 #. type: deftp
25282 #: doc/guix.texi:11331
25283 msgid "This data type represents the configuration of a Dropbear SSH daemon."
25284 msgstr ""
25285
25286 #. type: item
25287 #: doc/guix.texi:11333
25288 #, no-wrap
25289 msgid "@code{dropbear} (default: @var{dropbear})"
25290 msgstr ""
25291
25292 #. type: table
25293 #: doc/guix.texi:11335
25294 msgid "The Dropbear package to use."
25295 msgstr ""
25296
25297 #. type: item
25298 #: doc/guix.texi:11336
25299 #, no-wrap
25300 msgid "@code{port-number} (default: 22)"
25301 msgstr ""
25302
25303 #. type: table
25304 #: doc/guix.texi:11338
25305 msgid "The TCP port where the daemon waits for incoming connections."
25306 msgstr ""
25307
25308 #. type: item
25309 #: doc/guix.texi:11339
25310 #, no-wrap
25311 msgid "@code{syslog-output?} (default: @code{#t})"
25312 msgstr ""
25313
25314 #. type: table
25315 #: doc/guix.texi:11341
25316 msgid "Whether to enable syslog output."
25317 msgstr ""
25318
25319 #. type: item
25320 #: doc/guix.texi:11342
25321 #, no-wrap
25322 msgid "@code{pid-file} (default: @code{\"/var/run/dropbear.pid\"})"
25323 msgstr ""
25324
25325 #. type: table
25326 #: doc/guix.texi:11344
25327 msgid "File name of the daemon's PID file."
25328 msgstr ""
25329
25330 #. type: item
25331 #: doc/guix.texi:11345
25332 #, no-wrap
25333 msgid "@code{root-login?} (default: @code{#f})"
25334 msgstr ""
25335
25336 #. type: table
25337 #: doc/guix.texi:11347
25338 msgid "Whether to allow @code{root} logins."
25339 msgstr ""
25340
25341 #. type: table
25342 #: doc/guix.texi:11350
25343 msgid "Whether to allow empty passwords."
25344 msgstr ""
25345
25346 #. type: table
25347 #: doc/guix.texi:11353
25348 msgid "Whether to enable password-based authentication."
25349 msgstr ""
25350
25351 #. type: defvr
25352 #: doc/guix.texi:11356
25353 #, no-wrap
25354 msgid "{Scheme Variable} %facebook-host-aliases"
25355 msgstr ""
25356
25357 #. type: defvr
25358 #: doc/guix.texi:11362
25359 msgid ""
25360 "This variable contains a string for use in @file{/etc/hosts} (@pxref{Host "
25361 "Names,,, libc, The GNU C Library Reference Manual}). Each line contains a "
25362 "entry that maps a known server name of the Facebook on-line service---e.g., "
25363 "@code{www.facebook.com}---to the local host---@code{127.0.0.1} or its IPv6 "
25364 "equivalent, @code{::1}."
25365 msgstr ""
25366
25367 #. type: defvr
25368 #: doc/guix.texi:11366
25369 msgid ""
25370 "This variable is typically used in the @code{hosts-file} field of an "
25371 "@code{operating-system} declaration (@pxref{operating-system Reference, "
25372 "@file{/etc/hosts}}):"
25373 msgstr ""
25374
25375 #. type: example
25376 #: doc/guix.texi:11369
25377 #, no-wrap
25378 msgid ""
25379 "(use-modules (gnu) (guix))\n"
25380 "\n"
25381 msgstr ""
25382
25383 #. type: example
25384 #: doc/guix.texi:11379
25385 #, no-wrap
25386 msgid ""
25387 "(operating-system\n"
25388 " (host-name \"mymachine\")\n"
25389 " ;; ...\n"
25390 " (hosts-file\n"
25391 " ;; Create a /etc/hosts file with aliases for \"localhost\"\n"
25392 " ;; and \"mymachine\", as well as for Facebook servers.\n"
25393 " (plain-file \"hosts\"\n"
25394 " (string-append (local-host-aliases host-name)\n"
25395 " %facebook-host-aliases))))\n"
25396 msgstr ""
25397
25398 #. type: defvr
25399 #: doc/guix.texi:11383
25400 msgid ""
25401 "This mechanism can prevent programs running locally, such as Web browsers, "
25402 "from accessing Facebook."
25403 msgstr ""
25404
25405 #. type: Plain text
25406 #: doc/guix.texi:11386
25407 msgid "The @code{(gnu services avahi)} provides the following definition."
25408 msgstr ""
25409
25410 #. type: deffn
25411 #: doc/guix.texi:11387
25412 #, no-wrap
25413 msgid "{Scheme Procedure} avahi-service [#:avahi @var{avahi}] @"
25414 msgstr ""
25415
25416 #. type: deffn
25417 #: doc/guix.texi:11399
25418 msgid ""
25419 "[#:host-name #f] [#:publish? #t] [#:ipv4? #t] @ [#:ipv6? #t] [#:wide-area? "
25420 "#f] @ [#:domains-to-browse '()] [#:debug? #f] Return a service that runs "
25421 "@command{avahi-daemon}, a system-wide mDNS/DNS-SD responder that allows for "
25422 "service discovery and \"zero-configuration\" host name lookups (see "
25423 "@uref{http://avahi.org/}), and extends the name service cache daemon (nscd) "
25424 "so that it can resolve @code{.local} host names using @uref{http://0pointer."
25425 "de/lennart/projects/nss-mdns/, nss-mdns}. Additionally, add the @var{avahi} "
25426 "package to the system profile so that commands such as @command{avahi-"
25427 "browse} are directly usable."
25428 msgstr ""
25429
25430 #. type: deffn
25431 #: doc/guix.texi:11402
25432 msgid ""
25433 "If @var{host-name} is different from @code{#f}, use that as the host name to "
25434 "publish for this machine; otherwise, use the machine's actual host name."
25435 msgstr ""
25436
25437 #. type: deffn
25438 #: doc/guix.texi:11406
25439 msgid ""
25440 "When @var{publish?} is true, publishing of host names and services is "
25441 "allowed; in particular, avahi-daemon will publish the machine's host name "
25442 "and IP address via mDNS on the local network."
25443 msgstr ""
25444
25445 #. type: deffn
25446 #: doc/guix.texi:11408
25447 msgid "When @var{wide-area?} is true, DNS-SD over unicast DNS is enabled."
25448 msgstr ""
25449
25450 #. type: deffn
25451 #: doc/guix.texi:11411
25452 msgid ""
25453 "Boolean values @var{ipv4?} and @var{ipv6?} determine whether to use IPv4/"
25454 "IPv6 sockets."
25455 msgstr ""
25456
25457 #. type: deffn
25458 #: doc/guix.texi:11413
25459 #, no-wrap
25460 msgid "{Scheme Variable} openvswitch-service-type"
25461 msgstr ""
25462
25463 #. type: deffn
25464 #: doc/guix.texi:11417
25465 msgid ""
25466 "This is the type of the @uref{http://www.openvswitch.org, Open vSwitch} "
25467 "service, whose value should be an @code{openvswitch-configuration} object."
25468 msgstr ""
25469
25470 #. type: deftp
25471 #: doc/guix.texi:11419
25472 #, no-wrap
25473 msgid "{Data Type} openvswitch-configuration"
25474 msgstr ""
25475
25476 #. type: deftp
25477 #: doc/guix.texi:11423
25478 msgid ""
25479 "Data type representing the configuration of Open vSwitch, a multilayer "
25480 "virtual switch which is designed to enable massive network automation "
25481 "through programmatic extension."
25482 msgstr ""
25483
25484 #. type: item
25485 #: doc/guix.texi:11425
25486 #, no-wrap
25487 msgid "@code{package} (default: @var{openvswitch})"
25488 msgstr ""
25489
25490 #. type: table
25491 #: doc/guix.texi:11427
25492 msgid "Package object of the Open vSwitch."
25493 msgstr ""
25494
25495 #. type: cindex
25496 #: doc/guix.texi:11434
25497 #, no-wrap
25498 msgid "X11"
25499 msgstr ""
25500
25501 #. type: cindex
25502 #: doc/guix.texi:11435
25503 #, no-wrap
25504 msgid "X Window System"
25505 msgstr ""
25506
25507 #. type: cindex
25508 #: doc/guix.texi:11436 doc/guix.texi:11613
25509 #, no-wrap
25510 msgid "login manager"
25511 msgstr ""
25512
25513 #. type: Plain text
25514 #: doc/guix.texi:11441
25515 msgid ""
25516 "Support for the X Window graphical display system---specifically Xorg---is "
25517 "provided by the @code{(gnu services xorg)} module. Note that there is no "
25518 "@code{xorg-service} procedure. Instead, the X server is started by the "
25519 "@dfn{login manager}, by default SLiM."
25520 msgstr ""
25521
25522 #. type: cindex
25523 #: doc/guix.texi:11442
25524 #, no-wrap
25525 msgid "window manager"
25526 msgstr ""
25527
25528 #. type: Plain text
25529 #: doc/guix.texi:11447
25530 msgid ""
25531 "To use X11, you must install at least one @dfn{window manager}---for example "
25532 "the @code{windowmaker} or @code{openbox} packages---preferably by adding it "
25533 "to the @code{packages} field of your operating system definition "
25534 "(@pxref{operating-system Reference, system-wide packages})."
25535 msgstr ""
25536
25537 #. type: defvr
25538 #: doc/guix.texi:11448
25539 #, no-wrap
25540 msgid "{Scheme Variable} slim-service-type"
25541 msgstr ""
25542
25543 #. type: defvr
25544 #: doc/guix.texi:11450
25545 msgid "This is the type for the SLiM graphical login manager for X11."
25546 msgstr ""
25547
25548 #. type: cindex
25549 #: doc/guix.texi:11451
25550 #, no-wrap
25551 msgid "session types (X11)"
25552 msgstr ""
25553
25554 #. type: cindex
25555 #: doc/guix.texi:11452
25556 #, no-wrap
25557 msgid "X11 session types"
25558 msgstr ""
25559
25560 #. type: defvr
25561 #: doc/guix.texi:11459
25562 msgid ""
25563 "SLiM looks for @dfn{session types} described by the @file{.desktop} files in "
25564 "@file{/run/current-system/profile/share/xsessions} and allows users to "
25565 "choose a session from the log-in screen using @kbd{F1}. Packages such as "
25566 "@code{xfce}, @code{sawfish}, and @code{ratpoison} provide @file{.desktop} "
25567 "files; adding them to the system-wide set of packages automatically makes "
25568 "them available at the log-in screen."
25569 msgstr ""
25570
25571 #. type: defvr
25572 #: doc/guix.texi:11463
25573 msgid ""
25574 "In addition, @file{~/.xsession} files are honored. When available, @file{~/."
25575 "xsession} must be an executable that starts a window manager and/or other X "
25576 "clients."
25577 msgstr ""
25578
25579 #. type: deftp
25580 #: doc/guix.texi:11465
25581 #, no-wrap
25582 msgid "{Data Type} slim-configuration"
25583 msgstr ""
25584
25585 #. type: deftp
25586 #: doc/guix.texi:11467
25587 msgid "Data type representing the configuration of @code{slim-service-type}."
25588 msgstr ""
25589
25590 #. type: table
25591 #: doc/guix.texi:11471
25592 msgid "Whether to allow logins with empty passwords."
25593 msgstr ""
25594
25595 #. type: item
25596 #: doc/guix.texi:11472
25597 #, no-wrap
25598 msgid "@code{auto-login?} (default: @code{#f})"
25599 msgstr ""
25600
25601 #. type: itemx
25602 #: doc/guix.texi:11473
25603 #, no-wrap
25604 msgid "@code{default-user} (default: @code{\"\"})"
25605 msgstr ""
25606
25607 #. type: table
25608 #: doc/guix.texi:11475
25609 msgid "When @code{auto-login?} is false, SLiM presents a log-in screen."
25610 msgstr ""
25611
25612 #. type: table
25613 #: doc/guix.texi:11478
25614 msgid ""
25615 "When @code{auto-login?} is true, SLiM logs in directly as @code{default-"
25616 "user}."
25617 msgstr ""
25618
25619 #. type: item
25620 #: doc/guix.texi:11479
25621 #, no-wrap
25622 msgid "@code{theme} (default: @code{%default-slim-theme})"
25623 msgstr ""
25624
25625 #. type: itemx
25626 #: doc/guix.texi:11480
25627 #, no-wrap
25628 msgid "@code{theme-name} (default: @code{%default-slim-theme-name})"
25629 msgstr ""
25630
25631 #. type: table
25632 #: doc/guix.texi:11482
25633 msgid "The graphical theme to use and its name."
25634 msgstr ""
25635
25636 #. type: item
25637 #: doc/guix.texi:11483
25638 #, no-wrap
25639 msgid "@code{auto-login-session} (default: @code{#f})"
25640 msgstr ""
25641
25642 #. type: table
25643 #: doc/guix.texi:11486
25644 msgid ""
25645 "If true, this must be the name of the executable to start as the default "
25646 "session---e.g., @code{(file-append windowmaker \"/bin/windowmaker\")}."
25647 msgstr ""
25648
25649 #. type: table
25650 #: doc/guix.texi:11490
25651 msgid ""
25652 "If false, a session described by one of the available @file{.desktop} files "
25653 "in @code{/run/current-system/profile} and @code{~/.guix-profile} will be "
25654 "used."
25655 msgstr ""
25656
25657 #. type: quotation
25658 #: doc/guix.texi:11495
25659 msgid ""
25660 "You must install at least one window manager in the system profile or in "
25661 "your user profile. Failing to do that, if @code{auto-login-session} is "
25662 "false, you will be unable to log in."
25663 msgstr ""
25664
25665 #. type: item
25666 #: doc/guix.texi:11497
25667 #, no-wrap
25668 msgid "@code{startx} (default: @code{(xorg-start-command)})"
25669 msgstr ""
25670
25671 #. type: table
25672 #: doc/guix.texi:11499
25673 msgid "The command used to start the X11 graphical server."
25674 msgstr ""
25675
25676 #. type: item
25677 #: doc/guix.texi:11500
25678 #, no-wrap
25679 msgid "@code{xauth} (default: @code{xauth})"
25680 msgstr ""
25681
25682 #. type: table
25683 #: doc/guix.texi:11502
25684 msgid "The XAuth package to use."
25685 msgstr ""
25686
25687 #. type: item
25688 #: doc/guix.texi:11503
25689 #, no-wrap
25690 msgid "@code{shepherd} (default: @code{shepherd})"
25691 msgstr ""
25692
25693 #. type: table
25694 #: doc/guix.texi:11506
25695 msgid ""
25696 "The Shepherd package used when invoking @command{halt} and @command{reboot}."
25697 msgstr ""
25698
25699 #. type: item
25700 #: doc/guix.texi:11507
25701 #, no-wrap
25702 msgid "@code{sessreg} (default: @code{sessreg})"
25703 msgstr ""
25704
25705 #. type: table
25706 #: doc/guix.texi:11509
25707 msgid "The sessreg package used in order to register the session."
25708 msgstr ""
25709
25710 #. type: item
25711 #: doc/guix.texi:11510
25712 #, no-wrap
25713 msgid "@code{slim} (default: @code{slim})"
25714 msgstr ""
25715
25716 #. type: table
25717 #: doc/guix.texi:11512
25718 msgid "The SLiM package to use."
25719 msgstr ""
25720
25721 #. type: defvr
25722 #: doc/guix.texi:11515 doc/guix.texi:20288
25723 #, no-wrap
25724 msgid "{Scheme Variable} %default-theme"
25725 msgstr ""
25726
25727 #. type: defvrx
25728 #: doc/guix.texi:11516
25729 #, no-wrap
25730 msgid "{Scheme Variable} %default-theme-name"
25731 msgstr ""
25732
25733 #. type: defvr
25734 #: doc/guix.texi:11518
25735 msgid "The default SLiM theme and its name."
25736 msgstr ""
25737
25738 #. type: deftp
25739 #: doc/guix.texi:11521
25740 #, no-wrap
25741 msgid "{Data Type} sddm-configuration"
25742 msgstr ""
25743
25744 #. type: deftp
25745 #: doc/guix.texi:11523
25746 msgid "This is the data type representing the sddm service configuration."
25747 msgstr ""
25748
25749 #. type: item
25750 #: doc/guix.texi:11525
25751 #, no-wrap
25752 msgid "@code{display-server} (default: \"x11\")"
25753 msgstr ""
25754
25755 #. type: table
25756 #: doc/guix.texi:11528
25757 msgid ""
25758 "Select display server to use for the greeter. Valid values are \"x11\" or "
25759 "\"wayland\"."
25760 msgstr ""
25761
25762 #. type: item
25763 #: doc/guix.texi:11529
25764 #, no-wrap
25765 msgid "@code{numlock} (default: \"on\")"
25766 msgstr ""
25767
25768 #. type: table
25769 #: doc/guix.texi:11531
25770 msgid "Valid values are \"on\", \"off\" or \"none\"."
25771 msgstr ""
25772
25773 #. type: item
25774 #: doc/guix.texi:11532
25775 #, no-wrap
25776 msgid "@code{halt-command} (default @code{#~(string-apppend #$shepherd \"/sbin/halt\")})"
25777 msgstr ""
25778
25779 #. type: table
25780 #: doc/guix.texi:11534
25781 msgid "Command to run when halting."
25782 msgstr ""
25783
25784 #. type: item
25785 #: doc/guix.texi:11535
25786 #, no-wrap
25787 msgid "@code{reboot-command} (default @code{#~(string-append #$shepherd \"/sbin/reboot\")})"
25788 msgstr ""
25789
25790 #. type: table
25791 #: doc/guix.texi:11537
25792 msgid "Command to run when rebooting."
25793 msgstr ""
25794
25795 #. type: item
25796 #: doc/guix.texi:11538
25797 #, no-wrap
25798 msgid "@code{theme} (default \"maldives\")"
25799 msgstr ""
25800
25801 #. type: table
25802 #: doc/guix.texi:11540
25803 msgid ""
25804 "Theme to use. Default themes provided by SDDM are \"elarun\" or \"maldives\"."
25805 msgstr ""
25806
25807 #. type: item
25808 #: doc/guix.texi:11541
25809 #, no-wrap
25810 msgid "@code{themes-directory} (default \"/run/current-system/profile/share/sddm/themes\")"
25811 msgstr ""
25812
25813 #. type: table
25814 #: doc/guix.texi:11543
25815 msgid "Directory to look for themes."
25816 msgstr ""
25817
25818 #. type: item
25819 #: doc/guix.texi:11544
25820 #, no-wrap
25821 msgid "@code{faces-directory} (default \"/run/current-system/profile/share/sddm/faces\")"
25822 msgstr ""
25823
25824 #. type: table
25825 #: doc/guix.texi:11546
25826 msgid "Directory to look for faces."
25827 msgstr ""
25828
25829 #. type: item
25830 #: doc/guix.texi:11547
25831 #, no-wrap
25832 msgid "@code{default-path} (default \"/run/current-system/profile/bin\")"
25833 msgstr ""
25834
25835 #. type: table
25836 #: doc/guix.texi:11549
25837 msgid "Default PATH to use."
25838 msgstr ""
25839
25840 #. type: item
25841 #: doc/guix.texi:11550
25842 #, no-wrap
25843 msgid "@code{minimum-uid} (default 1000)"
25844 msgstr ""
25845
25846 #. type: table
25847 #: doc/guix.texi:11552
25848 msgid "Minimum UID to display in SDDM."
25849 msgstr ""
25850
25851 #. type: item
25852 #: doc/guix.texi:11553
25853 #, no-wrap
25854 msgid "@code{maximum-uid} (default 2000)"
25855 msgstr ""
25856
25857 #. type: table
25858 #: doc/guix.texi:11555
25859 msgid "Maximum UID to display in SDDM"
25860 msgstr ""
25861
25862 #. type: item
25863 #: doc/guix.texi:11556
25864 #, no-wrap
25865 msgid "@code{remember-last-user?} (default #t)"
25866 msgstr ""
25867
25868 #. type: table
25869 #: doc/guix.texi:11558
25870 msgid "Remember last user."
25871 msgstr ""
25872
25873 #. type: item
25874 #: doc/guix.texi:11559
25875 #, no-wrap
25876 msgid "@code{remember-last-session?} (default #t)"
25877 msgstr ""
25878
25879 #. type: table
25880 #: doc/guix.texi:11561
25881 msgid "Remember last session."
25882 msgstr ""
25883
25884 #. type: item
25885 #: doc/guix.texi:11562
25886 #, no-wrap
25887 msgid "@code{hide-users} (default \"\")"
25888 msgstr ""
25889
25890 #. type: table
25891 #: doc/guix.texi:11564
25892 msgid "Usernames to hide from SDDM greeter."
25893 msgstr ""
25894
25895 #. type: item
25896 #: doc/guix.texi:11565
25897 #, no-wrap
25898 msgid "@code{hide-shells} (default @code{#~(string-append #$shadow \"/sbin/nologin\")})"
25899 msgstr ""
25900
25901 #. type: table
25902 #: doc/guix.texi:11567
25903 msgid "Users with shells listed will be hidden from the SDDM greeter."
25904 msgstr ""
25905
25906 #. type: item
25907 #: doc/guix.texi:11568
25908 #, no-wrap
25909 msgid "@code{session-command} (default @code{#~(string-append #$sddm \"/share/sddm/scripts/wayland-session\")})"
25910 msgstr ""
25911
25912 #. type: table
25913 #: doc/guix.texi:11570
25914 msgid "Script to run before starting a wayland session."
25915 msgstr ""
25916
25917 #. type: item
25918 #: doc/guix.texi:11571
25919 #, no-wrap
25920 msgid "@code{sessions-directory} (default \"/run/current-system/profile/share/wayland-sessions\")"
25921 msgstr ""
25922
25923 #. type: table
25924 #: doc/guix.texi:11573
25925 msgid "Directory to look for desktop files starting wayland sessions."
25926 msgstr ""
25927
25928 #. type: item
25929 #: doc/guix.texi:11574
25930 #, no-wrap
25931 msgid "@code{xorg-server-path} (default @code{xorg-start-command})"
25932 msgstr ""
25933
25934 #. type: table
25935 #: doc/guix.texi:11576
25936 msgid "Path to xorg-server."
25937 msgstr ""
25938
25939 #. type: item
25940 #: doc/guix.texi:11577
25941 #, no-wrap
25942 msgid "@code{xauth-path} (default @code{#~(string-append #$xauth \"/bin/xauth\")})"
25943 msgstr ""
25944
25945 #. type: table
25946 #: doc/guix.texi:11579
25947 msgid "Path to xauth."
25948 msgstr ""
25949
25950 #. type: item
25951 #: doc/guix.texi:11580
25952 #, no-wrap
25953 msgid "@code{xephyr-path} (default @code{#~(string-append #$xorg-server \"/bin/Xephyr\")})"
25954 msgstr ""
25955
25956 #. type: table
25957 #: doc/guix.texi:11582
25958 msgid "Path to Xephyr."
25959 msgstr ""
25960
25961 #. type: item
25962 #: doc/guix.texi:11583
25963 #, no-wrap
25964 msgid "@code{xdisplay-start} (default @code{#~(string-append #$sddm \"/share/sddm/scripts/Xsetup\")})"
25965 msgstr ""
25966
25967 #. type: table
25968 #: doc/guix.texi:11585
25969 msgid "Script to run after starting xorg-server."
25970 msgstr ""
25971
25972 #. type: item
25973 #: doc/guix.texi:11586
25974 #, no-wrap
25975 msgid "@code{xdisplay-stop} (default @code{#~(string-append #$sddm \"/share/sddm/scripts/Xstop\")})"
25976 msgstr ""
25977
25978 #. type: table
25979 #: doc/guix.texi:11588
25980 msgid "Script to run before stopping xorg-server."
25981 msgstr ""
25982
25983 #. type: item
25984 #: doc/guix.texi:11589
25985 #, no-wrap
25986 msgid "@code{xsession-command} (default: @code{xinitr })"
25987 msgstr ""
25988
25989 #. type: table
25990 #: doc/guix.texi:11591
25991 msgid "Script to run before starting a X session."
25992 msgstr ""
25993
25994 #. type: item
25995 #: doc/guix.texi:11592
25996 #, no-wrap
25997 msgid "@code{xsessions-directory} (default: \"/run/current-system/profile/share/xsessions\")"
25998 msgstr ""
25999
26000 #. type: table
26001 #: doc/guix.texi:11594
26002 msgid "Directory to look for desktop files starting X sessions."
26003 msgstr ""
26004
26005 #. type: item
26006 #: doc/guix.texi:11595
26007 #, no-wrap
26008 msgid "@code{minimum-vt} (default: 7)"
26009 msgstr ""
26010
26011 #. type: table
26012 #: doc/guix.texi:11597
26013 msgid "Minimum VT to use."
26014 msgstr ""
26015
26016 #. type: item
26017 #: doc/guix.texi:11598
26018 #, no-wrap
26019 msgid "@code{xserver-arguments} (default \"-nolisten tcp\")"
26020 msgstr ""
26021
26022 #. type: table
26023 #: doc/guix.texi:11600
26024 msgid "Arguments to pass to xorg-server."
26025 msgstr ""
26026
26027 #. type: item
26028 #: doc/guix.texi:11601
26029 #, no-wrap
26030 msgid "@code{auto-login-user} (default \"\")"
26031 msgstr ""
26032
26033 #. type: table
26034 #: doc/guix.texi:11603
26035 msgid "User to use for auto-login."
26036 msgstr ""
26037
26038 #. type: item
26039 #: doc/guix.texi:11604
26040 #, no-wrap
26041 msgid "@code{auto-login-session} (default \"\")"
26042 msgstr ""
26043
26044 #. type: table
26045 #: doc/guix.texi:11606
26046 msgid "Desktop file to use for auto-login."
26047 msgstr ""
26048
26049 #. type: item
26050 #: doc/guix.texi:11607
26051 #, no-wrap
26052 msgid "@code{relogin?} (default #f)"
26053 msgstr ""
26054
26055 #. type: table
26056 #: doc/guix.texi:11609
26057 msgid "Relogin after logout."
26058 msgstr ""
26059
26060 #. type: cindex
26061 #: doc/guix.texi:11614
26062 #, no-wrap
26063 msgid "X11 login"
26064 msgstr ""
26065
26066 #. type: deffn
26067 #: doc/guix.texi:11615
26068 #, no-wrap
26069 msgid "{Scheme Procedure} sddm-service config"
26070 msgstr ""
26071
26072 #. type: deffn
26073 #: doc/guix.texi:11618
26074 msgid ""
26075 "Return a service that spawns the SDDM graphical login manager for config of "
26076 "type @code{<sddm-configuration>}."
26077 msgstr ""
26078
26079 #. type: example
26080 #: doc/guix.texi:11623
26081 #, no-wrap
26082 msgid ""
26083 " (sddm-service (sddm-configuration\n"
26084 " (auto-login-user \"Alice\")\n"
26085 " (auto-login-session \"xfce.desktop\")))\n"
26086 msgstr ""
26087
26088 #. type: deffn
26089 #: doc/guix.texi:11626
26090 #, no-wrap
26091 msgid "{Scheme Procedure} xorg-start-command [#:guile] @"
26092 msgstr ""
26093
26094 #. type: deffn
26095 #: doc/guix.texi:11635
26096 msgid ""
26097 "[#:modules %default-xorg-modules] @ [#:fonts %default-xorg-fonts] @ [#:"
26098 "configuration-file (xorg-configuration-file @dots{})] @ [#:xorg-server "
26099 "@var{xorg-server}] Return a @code{startx} script in which @var{modules}, a "
26100 "list of X module packages, and @var{fonts}, a list of X font directories, "
26101 "are available. See @code{xorg-wrapper} for more details on the arguments. "
26102 "The result should be used in place of @code{startx}."
26103 msgstr ""
26104
26105 #. type: deffn
26106 #: doc/guix.texi:11637
26107 msgid "Usually the X server is started by a login manager."
26108 msgstr ""
26109
26110 #. type: deffn
26111 #: doc/guix.texi:11639
26112 #, no-wrap
26113 msgid "{Scheme Procedure} xorg-configuration-file @"
26114 msgstr ""
26115
26116 #. type: deffn
26117 #: doc/guix.texi:11645
26118 msgid ""
26119 "[#:modules %default-xorg-modules] @ [#:fonts %default-xorg-fonts] @ [#:"
26120 "drivers '()] [#:resolutions '()] [#:extra-config '()] Return a configuration "
26121 "file for the Xorg server containing search paths for all the common drivers."
26122 msgstr ""
26123
26124 #. type: deffn
26125 #: doc/guix.texi:11650
26126 msgid ""
26127 "@var{modules} must be a list of @dfn{module packages} loaded by the Xorg "
26128 "server---e.g., @code{xf86-video-vesa}, @code{xf86-input-keyboard}, and so "
26129 "on. @var{fonts} must be a list of font directories to add to the server's "
26130 "@dfn{font path}."
26131 msgstr ""
26132
26133 #. type: deffn
26134 #: doc/guix.texi:11654
26135 msgid ""
26136 "@var{drivers} must be either the empty list, in which case Xorg chooses a "
26137 "graphics driver automatically, or a list of driver names that will be tried "
26138 "in this order---e.g., @code{(\"modesetting\" \"vesa\")}."
26139 msgstr ""
26140
26141 #. type: deffn
26142 #: doc/guix.texi:11658
26143 msgid ""
26144 "Likewise, when @var{resolutions} is the empty list, Xorg chooses an "
26145 "appropriate screen resolution; otherwise, it must be a list of resolutions---"
26146 "e.g., @code{((1024 768) (640 480))}."
26147 msgstr ""
26148
26149 #. type: deffn
26150 #: doc/guix.texi:11662
26151 msgid ""
26152 "Last, @var{extra-config} is a list of strings or objects appended to the "
26153 "configuration file. It is used to pass extra text to be added verbatim to "
26154 "the configuration file."
26155 msgstr ""
26156
26157 #. type: deffn
26158 #: doc/guix.texi:11664
26159 #, no-wrap
26160 msgid "{Scheme Procedure} screen-locker-service @var{package} [@var{program}]"
26161 msgstr ""
26162
26163 #. type: deffn
26164 #: doc/guix.texi:11668
26165 msgid ""
26166 "Add @var{package}, a package for a screen locker or screen saver whose "
26167 "command is @var{program}, to the set of setuid programs and add a PAM entry "
26168 "for it. For example:"
26169 msgstr ""
26170
26171 #. type: lisp
26172 #: doc/guix.texi:11671
26173 #, no-wrap
26174 msgid "(screen-locker-service xlockmore \"xlock\")\n"
26175 msgstr ""
26176
26177 #. type: deffn
26178 #: doc/guix.texi:11674
26179 msgid "makes the good ol' XlockMore usable."
26180 msgstr ""
26181
26182 #. type: cindex
26183 #: doc/guix.texi:11680
26184 #, no-wrap
26185 msgid "printer support with CUPS"
26186 msgstr ""
26187
26188 #. type: Plain text
26189 #: doc/guix.texi:11684
26190 msgid ""
26191 "The @code{(gnu services cups)} module provides a Guix service definition for "
26192 "the CUPS printing service. To add printer support to a GuixSD system, add a "
26193 "@code{cups-service} to the operating system definition:"
26194 msgstr ""
26195
26196 #. type: deffn
26197 #: doc/guix.texi:11685
26198 #, no-wrap
26199 msgid "{Scheme Variable} cups-service-type"
26200 msgstr ""
26201
26202 #. type: deffn
26203 #: doc/guix.texi:11689
26204 msgid ""
26205 "The service type for the CUPS print server. Its value should be a valid "
26206 "CUPS configuration (see below). To use the default settings, simply write:"
26207 msgstr ""
26208
26209 #. type: example
26210 #: doc/guix.texi:11691
26211 #, no-wrap
26212 msgid "(service cups-service-type)\n"
26213 msgstr ""
26214
26215 #. type: Plain text
26216 #: doc/guix.texi:11701
26217 msgid ""
26218 "The CUPS configuration controls the basic things about your CUPS "
26219 "installation: what interfaces it listens on, what to do if a print job "
26220 "fails, how much logging to do, and so on. To actually add a printer, you "
26221 "have to visit the @url{http://localhost:631} URL, or use a tool such as "
26222 "GNOME's printer configuration services. By default, configuring a CUPS "
26223 "service will generate a self-signed certificate if needed, for secure "
26224 "connections to the print server."
26225 msgstr ""
26226
26227 #. type: Plain text
26228 #: doc/guix.texi:11706
26229 msgid ""
26230 "Suppose you want to enable the Web interface of CUPS and also add support "
26231 "for Epson printers @i{via} the @code{escpr} package and for HP printers "
26232 "@i{via} the @code{hplip} package. You can do that directly, like this (you "
26233 "need to use the @code{(gnu packages cups)} module):"
26234 msgstr ""
26235
26236 #. type: example
26237 #: doc/guix.texi:11713
26238 #, no-wrap
26239 msgid ""
26240 "(service cups-service-type\n"
26241 " (cups-configuration\n"
26242 " (web-interface? #t)\n"
26243 " (extensions\n"
26244 " (list cups-filters escpr hplip))))\n"
26245 msgstr ""
26246
26247 #. type: Plain text
26248 #: doc/guix.texi:11721
26249 msgid ""
26250 "The available configuration parameters follow. Each parameter definition is "
26251 "preceded by its type; for example, @samp{string-list foo} indicates that the "
26252 "@code{foo} parameter should be specified as a list of strings. There is "
26253 "also a way to specify the configuration as a string, if you have an old "
26254 "@code{cupsd.conf} file that you want to port over from some other system; "
26255 "see the end for more details."
26256 msgstr ""
26257
26258 #. type: Plain text
26259 #: doc/guix.texi:11732
26260 msgid "Available @code{cups-configuration} fields are:"
26261 msgstr ""
26262
26263 #. type: deftypevr
26264 #: doc/guix.texi:11733
26265 #, no-wrap
26266 msgid "{@code{cups-configuration} parameter} package cups"
26267 msgstr ""
26268
26269 #. type: deftypevr
26270 #: doc/guix.texi:11735 doc/guix.texi:12492
26271 msgid "The CUPS package."
26272 msgstr ""
26273
26274 #. type: deftypevr
26275 #: doc/guix.texi:11737
26276 #, no-wrap
26277 msgid "{@code{cups-configuration} parameter} package-list extensions"
26278 msgstr ""
26279
26280 #. type: deftypevr
26281 #: doc/guix.texi:11739
26282 msgid "Drivers and other extensions to the CUPS package."
26283 msgstr ""
26284
26285 #. type: deftypevr
26286 #: doc/guix.texi:11741
26287 #, no-wrap
26288 msgid "{@code{cups-configuration} parameter} files-configuration files-configuration"
26289 msgstr ""
26290
26291 #. type: deftypevr
26292 #: doc/guix.texi:11744
26293 msgid ""
26294 "Configuration of where to write logs, what directories to use for print "
26295 "spools, and related privileged configuration parameters."
26296 msgstr ""
26297
26298 #. type: deftypevr
26299 #: doc/guix.texi:11746
26300 msgid "Available @code{files-configuration} fields are:"
26301 msgstr ""
26302
26303 #. type: deftypevr
26304 #: doc/guix.texi:11747
26305 #, no-wrap
26306 msgid "{@code{files-configuration} parameter} log-location access-log"
26307 msgstr ""
26308
26309 #. type: deftypevr
26310 #: doc/guix.texi:11755
26311 msgid ""
26312 "Defines the access log filename. Specifying a blank filename disables "
26313 "access log generation. The value @code{stderr} causes log entries to be "
26314 "sent to the standard error file when the scheduler is running in the "
26315 "foreground, or to the system log daemon when run in the background. The "
26316 "value @code{syslog} causes log entries to be sent to the system log daemon. "
26317 "The server name may be included in filenames using the string @code{%s}, as "
26318 "in @code{/var/log/cups/%s-access_log}."
26319 msgstr ""
26320
26321 #. type: deftypevr
26322 #: doc/guix.texi:11757
26323 msgid "Defaults to @samp{\"/var/log/cups/access_log\"}."
26324 msgstr ""
26325
26326 #. type: deftypevr
26327 #: doc/guix.texi:11759
26328 #, no-wrap
26329 msgid "{@code{files-configuration} parameter} file-name cache-dir"
26330 msgstr ""
26331
26332 #. type: deftypevr
26333 #: doc/guix.texi:11761
26334 msgid "Where CUPS should cache data."
26335 msgstr ""
26336
26337 #. type: deftypevr
26338 #: doc/guix.texi:11763
26339 msgid "Defaults to @samp{\"/var/cache/cups\"}."
26340 msgstr ""
26341
26342 #. type: deftypevr
26343 #: doc/guix.texi:11765
26344 #, no-wrap
26345 msgid "{@code{files-configuration} parameter} string config-file-perm"
26346 msgstr ""
26347
26348 #. type: deftypevr
26349 #: doc/guix.texi:11768
26350 msgid ""
26351 "Specifies the permissions for all configuration files that the scheduler "
26352 "writes."
26353 msgstr ""
26354
26355 #. type: deftypevr
26356 #: doc/guix.texi:11774
26357 msgid ""
26358 "Note that the permissions for the printers.conf file are currently masked to "
26359 "only allow access from the scheduler user (typically root). This is done "
26360 "because printer device URIs sometimes contain sensitive authentication "
26361 "information that should not be generally known on the system. There is no "
26362 "way to disable this security feature."
26363 msgstr ""
26364
26365 #. type: deftypevr
26366 #: doc/guix.texi:11776
26367 msgid "Defaults to @samp{\"0640\"}."
26368 msgstr ""
26369
26370 #. type: deftypevr
26371 #: doc/guix.texi:11778
26372 #, no-wrap
26373 msgid "{@code{files-configuration} parameter} log-location error-log"
26374 msgstr ""
26375
26376 #. type: deftypevr
26377 #: doc/guix.texi:11786
26378 msgid ""
26379 "Defines the error log filename. Specifying a blank filename disables access "
26380 "log generation. The value @code{stderr} causes log entries to be sent to "
26381 "the standard error file when the scheduler is running in the foreground, or "
26382 "to the system log daemon when run in the background. The value "
26383 "@code{syslog} causes log entries to be sent to the system log daemon. The "
26384 "server name may be included in filenames using the string @code{%s}, as in "
26385 "@code{/var/log/cups/%s-error_log}."
26386 msgstr ""
26387
26388 #. type: deftypevr
26389 #: doc/guix.texi:11788
26390 msgid "Defaults to @samp{\"/var/log/cups/error_log\"}."
26391 msgstr ""
26392
26393 #. type: deftypevr
26394 #: doc/guix.texi:11790
26395 #, no-wrap
26396 msgid "{@code{files-configuration} parameter} string fatal-errors"
26397 msgstr ""
26398
26399 #. type: deftypevr
26400 #: doc/guix.texi:11793
26401 msgid ""
26402 "Specifies which errors are fatal, causing the scheduler to exit. The kind "
26403 "strings are:"
26404 msgstr ""
26405
26406 #. type: table
26407 #: doc/guix.texi:11797
26408 msgid "No errors are fatal."
26409 msgstr ""
26410
26411 #. type: table
26412 #: doc/guix.texi:11800
26413 msgid "All of the errors below are fatal."
26414 msgstr ""
26415
26416 #. type: item
26417 #: doc/guix.texi:11801
26418 #, no-wrap
26419 msgid "browse"
26420 msgstr ""
26421
26422 #. type: table
26423 #: doc/guix.texi:11804
26424 msgid ""
26425 "Browsing initialization errors are fatal, for example failed connections to "
26426 "the DNS-SD daemon."
26427 msgstr ""
26428
26429 #. type: item
26430 #: doc/guix.texi:11805
26431 #, no-wrap
26432 msgid "config"
26433 msgstr ""
26434
26435 #. type: table
26436 #: doc/guix.texi:11807
26437 msgid "Configuration file syntax errors are fatal."
26438 msgstr ""
26439
26440 #. type: item
26441 #: doc/guix.texi:11808
26442 #, no-wrap
26443 msgid "listen"
26444 msgstr ""
26445
26446 #. type: table
26447 #: doc/guix.texi:11811
26448 msgid ""
26449 "Listen or Port errors are fatal, except for IPv6 failures on the loopback or "
26450 "@code{any} addresses."
26451 msgstr ""
26452
26453 #. type: item
26454 #: doc/guix.texi:11812
26455 #, no-wrap
26456 msgid "log"
26457 msgstr ""
26458
26459 #. type: table
26460 #: doc/guix.texi:11814
26461 msgid "Log file creation or write errors are fatal."
26462 msgstr ""
26463
26464 #. type: item
26465 #: doc/guix.texi:11815
26466 #, no-wrap
26467 msgid "permissions"
26468 msgstr ""
26469
26470 #. type: table
26471 #: doc/guix.texi:11818
26472 msgid ""
26473 "Bad startup file permissions are fatal, for example shared TLS certificate "
26474 "and key files with world-read permissions."
26475 msgstr ""
26476
26477 #. type: deftypevr
26478 #: doc/guix.texi:11821
26479 msgid "Defaults to @samp{\"all -browse\"}."
26480 msgstr ""
26481
26482 #. type: deftypevr
26483 #: doc/guix.texi:11823
26484 #, no-wrap
26485 msgid "{@code{files-configuration} parameter} boolean file-device?"
26486 msgstr ""
26487
26488 #. type: deftypevr
26489 #: doc/guix.texi:11826
26490 msgid ""
26491 "Specifies whether the file pseudo-device can be used for new printer "
26492 "queues. The URI @uref{file:///dev/null} is always allowed."
26493 msgstr ""
26494
26495 #. type: deftypevr
26496 #: doc/guix.texi:11828 doc/guix.texi:11898 doc/guix.texi:11934
26497 #: doc/guix.texi:11946 doc/guix.texi:11952 doc/guix.texi:11968
26498 #: doc/guix.texi:12056 doc/guix.texi:12150 doc/guix.texi:12466
26499 #: doc/guix.texi:12479 doc/guix.texi:16606 doc/guix.texi:16620
26500 #: doc/guix.texi:16742 doc/guix.texi:16763 doc/guix.texi:16784
26501 #: doc/guix.texi:16791 doc/guix.texi:16836 doc/guix.texi:16843
26502 #: doc/guix.texi:17246 doc/guix.texi:17260 doc/guix.texi:17432
26503 #: doc/guix.texi:17477 doc/guix.texi:17564 doc/guix.texi:17693
26504 #: doc/guix.texi:17726 doc/guix.texi:17866 doc/guix.texi:17877
26505 #: doc/guix.texi:18127 doc/guix.texi:18769 doc/guix.texi:18778
26506 #: doc/guix.texi:18786 doc/guix.texi:18794 doc/guix.texi:18810
26507 #: doc/guix.texi:18826 doc/guix.texi:18834 doc/guix.texi:18842
26508 #: doc/guix.texi:18851 doc/guix.texi:18860 doc/guix.texi:18876
26509 #: doc/guix.texi:18940 doc/guix.texi:19046 doc/guix.texi:19054
26510 #: doc/guix.texi:19062 doc/guix.texi:19087 doc/guix.texi:19141
26511 #: doc/guix.texi:19189 doc/guix.texi:19342 doc/guix.texi:19350
26512 #: doc/guix.texi:19358 doc/guix.texi:19366 doc/guix.texi:19374
26513 #: doc/guix.texi:19382 doc/guix.texi:19390 doc/guix.texi:19397
26514 msgid "Defaults to @samp{#f}."
26515 msgstr ""
26516
26517 #. type: deftypevr
26518 #: doc/guix.texi:11830
26519 #, no-wrap
26520 msgid "{@code{files-configuration} parameter} string group"
26521 msgstr ""
26522
26523 #. type: deftypevr
26524 #: doc/guix.texi:11833
26525 msgid ""
26526 "Specifies the group name or ID that will be used when executing external "
26527 "programs."
26528 msgstr ""
26529
26530 #. type: deftypevr
26531 #: doc/guix.texi:11835 doc/guix.texi:11915
26532 msgid "Defaults to @samp{\"lp\"}."
26533 msgstr ""
26534
26535 #. type: deftypevr
26536 #: doc/guix.texi:11837
26537 #, no-wrap
26538 msgid "{@code{files-configuration} parameter} string log-file-perm"
26539 msgstr ""
26540
26541 #. type: deftypevr
26542 #: doc/guix.texi:11839
26543 msgid "Specifies the permissions for all log files that the scheduler writes."
26544 msgstr ""
26545
26546 #. type: deftypevr
26547 #: doc/guix.texi:11841
26548 msgid "Defaults to @samp{\"0644\"}."
26549 msgstr ""
26550
26551 #. type: deftypevr
26552 #: doc/guix.texi:11843
26553 #, no-wrap
26554 msgid "{@code{files-configuration} parameter} log-location page-log"
26555 msgstr ""
26556
26557 #. type: deftypevr
26558 #: doc/guix.texi:11851
26559 msgid ""
26560 "Defines the page log filename. Specifying a blank filename disables access "
26561 "log generation. The value @code{stderr} causes log entries to be sent to "
26562 "the standard error file when the scheduler is running in the foreground, or "
26563 "to the system log daemon when run in the background. The value "
26564 "@code{syslog} causes log entries to be sent to the system log daemon. The "
26565 "server name may be included in filenames using the string @code{%s}, as in "
26566 "@code{/var/log/cups/%s-page_log}."
26567 msgstr ""
26568
26569 #. type: deftypevr
26570 #: doc/guix.texi:11853
26571 msgid "Defaults to @samp{\"/var/log/cups/page_log\"}."
26572 msgstr ""
26573
26574 #. type: deftypevr
26575 #: doc/guix.texi:11855
26576 #, no-wrap
26577 msgid "{@code{files-configuration} parameter} string remote-root"
26578 msgstr ""
26579
26580 #. type: deftypevr
26581 #: doc/guix.texi:11858
26582 msgid ""
26583 "Specifies the username that is associated with unauthenticated accesses by "
26584 "clients claiming to be the root user. The default is @code{remroot}."
26585 msgstr ""
26586
26587 #. type: deftypevr
26588 #: doc/guix.texi:11860
26589 msgid "Defaults to @samp{\"remroot\"}."
26590 msgstr ""
26591
26592 #. type: deftypevr
26593 #: doc/guix.texi:11862
26594 #, no-wrap
26595 msgid "{@code{files-configuration} parameter} file-name request-root"
26596 msgstr ""
26597
26598 #. type: deftypevr
26599 #: doc/guix.texi:11865
26600 msgid ""
26601 "Specifies the directory that contains print jobs and other HTTP request data."
26602 msgstr ""
26603
26604 #. type: deftypevr
26605 #: doc/guix.texi:11867
26606 msgid "Defaults to @samp{\"/var/spool/cups\"}."
26607 msgstr ""
26608
26609 #. type: deftypevr
26610 #: doc/guix.texi:11869
26611 #, no-wrap
26612 msgid "{@code{files-configuration} parameter} sandboxing sandboxing"
26613 msgstr ""
26614
26615 #. type: deftypevr
26616 #: doc/guix.texi:11874
26617 msgid ""
26618 "Specifies the level of security sandboxing that is applied to print filters, "
26619 "backends, and other child processes of the scheduler; either @code{relaxed} "
26620 "or @code{strict}. This directive is currently only used/supported on macOS."
26621 msgstr ""
26622
26623 #. type: deftypevr
26624 #: doc/guix.texi:11876
26625 msgid "Defaults to @samp{strict}."
26626 msgstr ""
26627
26628 #. type: deftypevr
26629 #: doc/guix.texi:11878
26630 #, no-wrap
26631 msgid "{@code{files-configuration} parameter} file-name server-keychain"
26632 msgstr ""
26633
26634 #. type: deftypevr
26635 #: doc/guix.texi:11883
26636 msgid ""
26637 "Specifies the location of TLS certificates and private keys. CUPS will look "
26638 "for public and private keys in this directory: a @code{.crt} files for PEM-"
26639 "encoded certificates and corresponding @code{.key} files for PEM-encoded "
26640 "private keys."
26641 msgstr ""
26642
26643 #. type: deftypevr
26644 #: doc/guix.texi:11885
26645 msgid "Defaults to @samp{\"/etc/cups/ssl\"}."
26646 msgstr ""
26647
26648 #. type: deftypevr
26649 #: doc/guix.texi:11887
26650 #, no-wrap
26651 msgid "{@code{files-configuration} parameter} file-name server-root"
26652 msgstr ""
26653
26654 #. type: deftypevr
26655 #: doc/guix.texi:11889
26656 msgid "Specifies the directory containing the server configuration files."
26657 msgstr ""
26658
26659 #. type: deftypevr
26660 #: doc/guix.texi:11891
26661 msgid "Defaults to @samp{\"/etc/cups\"}."
26662 msgstr ""
26663
26664 #. type: deftypevr
26665 #: doc/guix.texi:11893
26666 #, no-wrap
26667 msgid "{@code{files-configuration} parameter} boolean sync-on-close?"
26668 msgstr ""
26669
26670 #. type: deftypevr
26671 #: doc/guix.texi:11896
26672 msgid ""
26673 "Specifies whether the scheduler calls fsync(2) after writing configuration "
26674 "or state files."
26675 msgstr ""
26676
26677 #. type: deftypevr
26678 #: doc/guix.texi:11900
26679 #, no-wrap
26680 msgid "{@code{files-configuration} parameter} space-separated-string-list system-group"
26681 msgstr ""
26682
26683 #. type: deftypevr
26684 #: doc/guix.texi:11902
26685 msgid "Specifies the group(s) to use for @code{@@SYSTEM} group authentication."
26686 msgstr ""
26687
26688 #. type: deftypevr
26689 #: doc/guix.texi:11904
26690 #, no-wrap
26691 msgid "{@code{files-configuration} parameter} file-name temp-dir"
26692 msgstr ""
26693
26694 #. type: deftypevr
26695 #: doc/guix.texi:11906
26696 msgid "Specifies the directory where temporary files are stored."
26697 msgstr ""
26698
26699 #. type: deftypevr
26700 #: doc/guix.texi:11908
26701 msgid "Defaults to @samp{\"/var/spool/cups/tmp\"}."
26702 msgstr ""
26703
26704 #. type: deftypevr
26705 #: doc/guix.texi:11910
26706 #, no-wrap
26707 msgid "{@code{files-configuration} parameter} string user"
26708 msgstr ""
26709
26710 #. type: deftypevr
26711 #: doc/guix.texi:11913
26712 msgid ""
26713 "Specifies the user name or ID that is used when running external programs."
26714 msgstr ""
26715
26716 #. type: deftypevr
26717 #: doc/guix.texi:11918
26718 #, no-wrap
26719 msgid "{@code{cups-configuration} parameter} access-log-level access-log-level"
26720 msgstr ""
26721
26722 #. type: deftypevr
26723 #: doc/guix.texi:11925
26724 msgid ""
26725 "Specifies the logging level for the AccessLog file. The @code{config} level "
26726 "logs when printers and classes are added, deleted, or modified and when "
26727 "configuration files are accessed or updated. The @code{actions} level logs "
26728 "when print jobs are submitted, held, released, modified, or canceled, and "
26729 "any of the conditions for @code{config}. The @code{all} level logs all "
26730 "requests."
26731 msgstr ""
26732
26733 #. type: deftypevr
26734 #: doc/guix.texi:11927
26735 msgid "Defaults to @samp{actions}."
26736 msgstr ""
26737
26738 #. type: deftypevr
26739 #: doc/guix.texi:11929
26740 #, no-wrap
26741 msgid "{@code{cups-configuration} parameter} boolean auto-purge-jobs?"
26742 msgstr ""
26743
26744 #. type: deftypevr
26745 #: doc/guix.texi:11932
26746 msgid ""
26747 "Specifies whether to purge job history data automatically when it is no "
26748 "longer required for quotas."
26749 msgstr ""
26750
26751 #. type: deftypevr
26752 #: doc/guix.texi:11936
26753 #, no-wrap
26754 msgid "{@code{cups-configuration} parameter} browse-local-protocols browse-local-protocols"
26755 msgstr ""
26756
26757 #. type: deftypevr
26758 #: doc/guix.texi:11938
26759 msgid "Specifies which protocols to use for local printer sharing."
26760 msgstr ""
26761
26762 #. type: deftypevr
26763 #: doc/guix.texi:11940
26764 msgid "Defaults to @samp{dnssd}."
26765 msgstr ""
26766
26767 #. type: deftypevr
26768 #: doc/guix.texi:11942
26769 #, no-wrap
26770 msgid "{@code{cups-configuration} parameter} boolean browse-web-if?"
26771 msgstr ""
26772
26773 #. type: deftypevr
26774 #: doc/guix.texi:11944
26775 msgid "Specifies whether the CUPS web interface is advertised."
26776 msgstr ""
26777
26778 #. type: deftypevr
26779 #: doc/guix.texi:11948
26780 #, no-wrap
26781 msgid "{@code{cups-configuration} parameter} boolean browsing?"
26782 msgstr ""
26783
26784 #. type: deftypevr
26785 #: doc/guix.texi:11950
26786 msgid "Specifies whether shared printers are advertised."
26787 msgstr ""
26788
26789 #. type: deftypevr
26790 #: doc/guix.texi:11954
26791 #, no-wrap
26792 msgid "{@code{cups-configuration} parameter} string classification"
26793 msgstr ""
26794
26795 #. type: deftypevr
26796 #: doc/guix.texi:11959
26797 msgid ""
26798 "Specifies the security classification of the server. Any valid banner name "
26799 "can be used, including \"classified\", \"confidential\", \"secret\", "
26800 "\"topsecret\", and \"unclassified\", or the banner can be omitted to disable "
26801 "secure printing functions."
26802 msgstr ""
26803
26804 #. type: deftypevr
26805 #: doc/guix.texi:11961 doc/guix.texi:12298 doc/guix.texi:13657
26806 #: doc/guix.texi:13669 doc/guix.texi:17832 doc/guix.texi:17840
26807 #: doc/guix.texi:17848 doc/guix.texi:17856 doc/guix.texi:18134
26808 #: doc/guix.texi:18612 doc/guix.texi:18620 doc/guix.texi:18628
26809 #: doc/guix.texi:18736 doc/guix.texi:18761 doc/guix.texi:18892
26810 #: doc/guix.texi:18900 doc/guix.texi:18908 doc/guix.texi:18916
26811 #: doc/guix.texi:18924 doc/guix.texi:18932 doc/guix.texi:18955
26812 #: doc/guix.texi:18963 doc/guix.texi:19015 doc/guix.texi:19031
26813 #: doc/guix.texi:19039 doc/guix.texi:19078 doc/guix.texi:19101
26814 #: doc/guix.texi:19123 doc/guix.texi:19130 doc/guix.texi:19165
26815 #: doc/guix.texi:19173 doc/guix.texi:19197 doc/guix.texi:19229
26816 #: doc/guix.texi:19258 doc/guix.texi:19265 doc/guix.texi:19272
26817 #: doc/guix.texi:19280 doc/guix.texi:19294 doc/guix.texi:19303
26818 #: doc/guix.texi:19313 doc/guix.texi:19320 doc/guix.texi:19327
26819 #: doc/guix.texi:19334 doc/guix.texi:19405 doc/guix.texi:19412
26820 #: doc/guix.texi:19419 doc/guix.texi:19428 doc/guix.texi:19444
26821 #: doc/guix.texi:19451 doc/guix.texi:19458 doc/guix.texi:19465
26822 #: doc/guix.texi:19473 doc/guix.texi:19481
26823 msgid "Defaults to @samp{\"\"}."
26824 msgstr ""
26825
26826 #. type: deftypevr
26827 #: doc/guix.texi:11963
26828 #, no-wrap
26829 msgid "{@code{cups-configuration} parameter} boolean classify-override?"
26830 msgstr ""
26831
26832 #. type: deftypevr
26833 #: doc/guix.texi:11966
26834 msgid ""
26835 "Specifies whether users may override the classification (cover page) of "
26836 "individual print jobs using the @code{job-sheets} option."
26837 msgstr ""
26838
26839 #. type: deftypevr
26840 #: doc/guix.texi:11970
26841 #, no-wrap
26842 msgid "{@code{cups-configuration} parameter} default-auth-type default-auth-type"
26843 msgstr ""
26844
26845 #. type: deftypevr
26846 #: doc/guix.texi:11972
26847 msgid "Specifies the default type of authentication to use."
26848 msgstr ""
26849
26850 #. type: deftypevr
26851 #: doc/guix.texi:11974
26852 msgid "Defaults to @samp{Basic}."
26853 msgstr ""
26854
26855 #. type: deftypevr
26856 #: doc/guix.texi:11976
26857 #, no-wrap
26858 msgid "{@code{cups-configuration} parameter} default-encryption default-encryption"
26859 msgstr ""
26860
26861 #. type: deftypevr
26862 #: doc/guix.texi:11978
26863 msgid "Specifies whether encryption will be used for authenticated requests."
26864 msgstr ""
26865
26866 #. type: deftypevr
26867 #: doc/guix.texi:11980
26868 msgid "Defaults to @samp{Required}."
26869 msgstr ""
26870
26871 #. type: deftypevr
26872 #: doc/guix.texi:11982
26873 #, no-wrap
26874 msgid "{@code{cups-configuration} parameter} string default-language"
26875 msgstr ""
26876
26877 #. type: deftypevr
26878 #: doc/guix.texi:11984
26879 msgid "Specifies the default language to use for text and web content."
26880 msgstr ""
26881
26882 #. type: deftypevr
26883 #: doc/guix.texi:11986
26884 msgid "Defaults to @samp{\"en\"}."
26885 msgstr ""
26886
26887 #. type: deftypevr
26888 #: doc/guix.texi:11988
26889 #, no-wrap
26890 msgid "{@code{cups-configuration} parameter} string default-paper-size"
26891 msgstr ""
26892
26893 #. type: deftypevr
26894 #: doc/guix.texi:11993
26895 msgid ""
26896 "Specifies the default paper size for new print queues. @samp{\"Auto\"} uses "
26897 "a locale-specific default, while @samp{\"None\"} specifies there is no "
26898 "default paper size. Specific size names are typically @samp{\"Letter\"} or "
26899 "@samp{\"A4\"}."
26900 msgstr ""
26901
26902 #. type: deftypevr
26903 #: doc/guix.texi:11995
26904 msgid "Defaults to @samp{\"Auto\"}."
26905 msgstr ""
26906
26907 #. type: deftypevr
26908 #: doc/guix.texi:11997
26909 #, no-wrap
26910 msgid "{@code{cups-configuration} parameter} string default-policy"
26911 msgstr ""
26912
26913 #. type: deftypevr
26914 #: doc/guix.texi:11999
26915 msgid "Specifies the default access policy to use."
26916 msgstr ""
26917
26918 #. type: deftypevr
26919 #: doc/guix.texi:12001
26920 msgid "Defaults to @samp{\"default\"}."
26921 msgstr ""
26922
26923 #. type: deftypevr
26924 #: doc/guix.texi:12003
26925 #, no-wrap
26926 msgid "{@code{cups-configuration} parameter} boolean default-shared?"
26927 msgstr ""
26928
26929 #. type: deftypevr
26930 #: doc/guix.texi:12005
26931 msgid "Specifies whether local printers are shared by default."
26932 msgstr ""
26933
26934 #. type: deftypevr
26935 #: doc/guix.texi:12007 doc/guix.texi:12087 doc/guix.texi:12383
26936 #: doc/guix.texi:16576 doc/guix.texi:16583 doc/guix.texi:16591
26937 #: doc/guix.texi:16613 doc/guix.texi:16627 doc/guix.texi:16712
26938 #: doc/guix.texi:16719 doc/guix.texi:16727 doc/guix.texi:17113
26939 #: doc/guix.texi:17253 doc/guix.texi:17439 doc/guix.texi:17446
26940 #: doc/guix.texi:17468 doc/guix.texi:17507 doc/guix.texi:17527
26941 #: doc/guix.texi:17541 doc/guix.texi:17681 doc/guix.texi:18714
26942 #: doc/guix.texi:18802 doc/guix.texi:18818 doc/guix.texi:18868
26943 msgid "Defaults to @samp{#t}."
26944 msgstr ""
26945
26946 #. type: deftypevr
26947 #: doc/guix.texi:12009
26948 #, no-wrap
26949 msgid "{@code{cups-configuration} parameter} non-negative-integer dirty-clean-interval"
26950 msgstr ""
26951
26952 #. type: deftypevr
26953 #: doc/guix.texi:12013
26954 msgid ""
26955 "Specifies the delay for updating of configuration and state files, in "
26956 "seconds. A value of 0 causes the update to happen as soon as possible, "
26957 "typically within a few milliseconds."
26958 msgstr ""
26959
26960 #. type: deftypevr
26961 #: doc/guix.texi:12015 doc/guix.texi:12063 doc/guix.texi:12072
26962 #: doc/guix.texi:12093 doc/guix.texi:12390
26963 msgid "Defaults to @samp{30}."
26964 msgstr ""
26965
26966 #. type: deftypevr
26967 #: doc/guix.texi:12017
26968 #, no-wrap
26969 msgid "{@code{cups-configuration} parameter} error-policy error-policy"
26970 msgstr ""
26971
26972 #. type: deftypevr
26973 #: doc/guix.texi:12023
26974 msgid ""
26975 "Specifies what to do when an error occurs. Possible values are @code{abort-"
26976 "job}, which will discard the failed print job; @code{retry-job}, which will "
26977 "retry the job at a later time; @code{retry-this-job}, which retries the "
26978 "failed job immediately; and @code{stop-printer}, which stops the printer."
26979 msgstr ""
26980
26981 #. type: deftypevr
26982 #: doc/guix.texi:12025
26983 msgid "Defaults to @samp{stop-printer}."
26984 msgstr ""
26985
26986 #. type: deftypevr
26987 #: doc/guix.texi:12027
26988 #, no-wrap
26989 msgid "{@code{cups-configuration} parameter} non-negative-integer filter-limit"
26990 msgstr ""
26991
26992 #. type: deftypevr
26993 #: doc/guix.texi:12035
26994 msgid ""
26995 "Specifies the maximum cost of filters that are run concurrently, which can "
26996 "be used to minimize disk, memory, and CPU resource problems. A limit of 0 "
26997 "disables filter limiting. An average print to a non-PostScript printer "
26998 "needs a filter limit of about 200. A PostScript printer needs about half "
26999 "that (100). Setting the limit below these thresholds will effectively limit "
27000 "the scheduler to printing a single job at any time."
27001 msgstr ""
27002
27003 #. type: deftypevr
27004 #: doc/guix.texi:12037 doc/guix.texi:12045 doc/guix.texi:12100
27005 #: doc/guix.texi:12216 doc/guix.texi:12230 doc/guix.texi:12237
27006 #: doc/guix.texi:13761 doc/guix.texi:13773 doc/guix.texi:17129
27007 #: doc/guix.texi:17454 doc/guix.texi:18707 doc/guix.texi:19007
27008 #: doc/guix.texi:19181
27009 msgid "Defaults to @samp{0}."
27010 msgstr ""
27011
27012 #. type: deftypevr
27013 #: doc/guix.texi:12039
27014 #, no-wrap
27015 msgid "{@code{cups-configuration} parameter} non-negative-integer filter-nice"
27016 msgstr ""
27017
27018 #. type: deftypevr
27019 #: doc/guix.texi:12043
27020 msgid ""
27021 "Specifies the scheduling priority of filters that are run to print a job. "
27022 "The nice value ranges from 0, the highest priority, to 19, the lowest "
27023 "priority."
27024 msgstr ""
27025
27026 #. type: deftypevr
27027 #: doc/guix.texi:12047
27028 #, no-wrap
27029 msgid "{@code{cups-configuration} parameter} host-name-lookups host-name-lookups"
27030 msgstr ""
27031
27032 #. type: deftypevr
27033 #: doc/guix.texi:12054
27034 msgid ""
27035 "Specifies whether to do reverse lookups on connecting clients. The "
27036 "@code{double} setting causes @code{cupsd} to verify that the hostname "
27037 "resolved from the address matches one of the addresses returned for that "
27038 "hostname. Double lookups also prevent clients with unregistered addresses "
27039 "from connecting to your server. Only set this option to @code{#t} or "
27040 "@code{double} if absolutely required."
27041 msgstr ""
27042
27043 #. type: deftypevr
27044 #: doc/guix.texi:12058
27045 #, no-wrap
27046 msgid "{@code{cups-configuration} parameter} non-negative-integer job-kill-delay"
27047 msgstr ""
27048
27049 #. type: deftypevr
27050 #: doc/guix.texi:12061
27051 msgid ""
27052 "Specifies the number of seconds to wait before killing the filters and "
27053 "backend associated with a canceled or held job."
27054 msgstr ""
27055
27056 #. type: deftypevr
27057 #: doc/guix.texi:12065
27058 #, no-wrap
27059 msgid "{@code{cups-configuration} parameter} non-negative-integer job-retry-interval"
27060 msgstr ""
27061
27062 #. type: deftypevr
27063 #: doc/guix.texi:12070
27064 msgid ""
27065 "Specifies the interval between retries of jobs in seconds. This is "
27066 "typically used for fax queues but can also be used with normal print queues "
27067 "whose error policy is @code{retry-job} or @code{retry-current-job}."
27068 msgstr ""
27069
27070 #. type: deftypevr
27071 #: doc/guix.texi:12074
27072 #, no-wrap
27073 msgid "{@code{cups-configuration} parameter} non-negative-integer job-retry-limit"
27074 msgstr ""
27075
27076 #. type: deftypevr
27077 #: doc/guix.texi:12079
27078 msgid ""
27079 "Specifies the number of retries that are done for jobs. This is typically "
27080 "used for fax queues but can also be used with normal print queues whose "
27081 "error policy is @code{retry-job} or @code{retry-current-job}."
27082 msgstr ""
27083
27084 #. type: deftypevr
27085 #: doc/guix.texi:12081 doc/guix.texi:17933 doc/guix.texi:17953
27086 #: doc/guix.texi:17969 doc/guix.texi:17983 doc/guix.texi:17990
27087 #: doc/guix.texi:17997 doc/guix.texi:18004 doc/guix.texi:18163
27088 #: doc/guix.texi:18179 doc/guix.texi:18186 doc/guix.texi:18193
27089 #: doc/guix.texi:18204 doc/guix.texi:18659 doc/guix.texi:18667
27090 #: doc/guix.texi:18675 doc/guix.texi:18699
27091 msgid "Defaults to @samp{5}."
27092 msgstr ""
27093
27094 #. type: deftypevr
27095 #: doc/guix.texi:12083
27096 #, no-wrap
27097 msgid "{@code{cups-configuration} parameter} boolean keep-alive?"
27098 msgstr ""
27099
27100 #. type: deftypevr
27101 #: doc/guix.texi:12085
27102 msgid "Specifies whether to support HTTP keep-alive connections."
27103 msgstr ""
27104
27105 #. type: deftypevr
27106 #: doc/guix.texi:12089
27107 #, no-wrap
27108 msgid "{@code{cups-configuration} parameter} non-negative-integer keep-alive-timeout"
27109 msgstr ""
27110
27111 #. type: deftypevr
27112 #: doc/guix.texi:12091
27113 msgid "Specifies how long an idle client connection remains open, in seconds."
27114 msgstr ""
27115
27116 #. type: deftypevr
27117 #: doc/guix.texi:12095
27118 #, no-wrap
27119 msgid "{@code{cups-configuration} parameter} non-negative-integer limit-request-body"
27120 msgstr ""
27121
27122 #. type: deftypevr
27123 #: doc/guix.texi:12098
27124 msgid ""
27125 "Specifies the maximum size of print files, IPP requests, and HTML form "
27126 "data. A limit of 0 disables the limit check."
27127 msgstr ""
27128
27129 #. type: deftypevr
27130 #: doc/guix.texi:12102
27131 #, no-wrap
27132 msgid "{@code{cups-configuration} parameter} multiline-string-list listen"
27133 msgstr ""
27134
27135 #. type: deftypevr
27136 #: doc/guix.texi:12109
27137 msgid ""
27138 "Listens on the specified interfaces for connections. Valid values are of "
27139 "the form @var{address}:@var{port}, where @var{address} is either an IPv6 "
27140 "address enclosed in brackets, an IPv4 address, or @code{*} to indicate all "
27141 "addresses. Values can also be file names of local UNIX domain sockets. The "
27142 "Listen directive is similar to the Port directive but allows you to restrict "
27143 "access to specific interfaces or networks."
27144 msgstr ""
27145
27146 #. type: deftypevr
27147 #: doc/guix.texi:12111
27148 #, no-wrap
27149 msgid "{@code{cups-configuration} parameter} non-negative-integer listen-back-log"
27150 msgstr ""
27151
27152 #. type: deftypevr
27153 #: doc/guix.texi:12118
27154 msgid ""
27155 "Specifies the number of pending connections that will be allowed. This "
27156 "normally only affects very busy servers that have reached the MaxClients "
27157 "limit, but can also be triggered by large numbers of simultaneous "
27158 "connections. When the limit is reached, the operating system will refuse "
27159 "additional connections until the scheduler can accept the pending ones."
27160 msgstr ""
27161
27162 #. type: deftypevr
27163 #: doc/guix.texi:12120
27164 msgid "Defaults to @samp{128}."
27165 msgstr ""
27166
27167 #. type: deftypevr
27168 #: doc/guix.texi:12122
27169 #, no-wrap
27170 msgid "{@code{cups-configuration} parameter} location-access-control-list location-access-controls"
27171 msgstr ""
27172
27173 #. type: deftypevr
27174 #: doc/guix.texi:12124
27175 msgid "Specifies a set of additional access controls."
27176 msgstr ""
27177
27178 #. type: deftypevr
27179 #: doc/guix.texi:12126
27180 msgid "Available @code{location-access-controls} fields are:"
27181 msgstr ""
27182
27183 #. type: deftypevr
27184 #: doc/guix.texi:12127
27185 #, no-wrap
27186 msgid "{@code{location-access-controls} parameter} file-name path"
27187 msgstr ""
27188
27189 #. type: deftypevr
27190 #: doc/guix.texi:12129
27191 msgid "Specifies the URI path to which the access control applies."
27192 msgstr ""
27193
27194 #. type: deftypevr
27195 #: doc/guix.texi:12131
27196 #, no-wrap
27197 msgid "{@code{location-access-controls} parameter} access-control-list access-controls"
27198 msgstr ""
27199
27200 #. type: deftypevr
27201 #: doc/guix.texi:12134
27202 msgid ""
27203 "Access controls for all access to this path, in the same format as the "
27204 "@code{access-controls} of @code{operation-access-control}."
27205 msgstr ""
27206
27207 #. type: deftypevr
27208 #: doc/guix.texi:12136 doc/guix.texi:12142 doc/guix.texi:12156
27209 #: doc/guix.texi:12163 doc/guix.texi:12305 doc/guix.texi:12364
27210 #: doc/guix.texi:12448 doc/guix.texi:12459 doc/guix.texi:14247
27211 #: doc/guix.texi:16634 doc/guix.texi:16822 doc/guix.texi:17824
27212 #: doc/guix.texi:17884 doc/guix.texi:17892 doc/guix.texi:18722
27213 #: doc/guix.texi:18729 doc/guix.texi:19071 doc/guix.texi:19149
27214 #: doc/guix.texi:19243 doc/guix.texi:19251 doc/guix.texi:19287
27215 #: doc/guix.texi:19437 doc/guix.texi:19488 doc/guix.texi:19497
27216 msgid "Defaults to @samp{()}."
27217 msgstr ""
27218
27219 #. type: deftypevr
27220 #: doc/guix.texi:12138
27221 #, no-wrap
27222 msgid "{@code{location-access-controls} parameter} method-access-control-list method-access-controls"
27223 msgstr ""
27224
27225 #. type: deftypevr
27226 #: doc/guix.texi:12140
27227 msgid "Access controls for method-specific access to this path."
27228 msgstr ""
27229
27230 #. type: deftypevr
27231 #: doc/guix.texi:12144
27232 msgid "Available @code{method-access-controls} fields are:"
27233 msgstr ""
27234
27235 #. type: deftypevr
27236 #: doc/guix.texi:12145
27237 #, no-wrap
27238 msgid "{@code{method-access-controls} parameter} boolean reverse?"
27239 msgstr ""
27240
27241 #. type: deftypevr
27242 #: doc/guix.texi:12148
27243 msgid ""
27244 "If @code{#t}, apply access controls to all methods except the listed "
27245 "methods. Otherwise apply to only the listed methods."
27246 msgstr ""
27247
27248 #. type: deftypevr
27249 #: doc/guix.texi:12152
27250 #, no-wrap
27251 msgid "{@code{method-access-controls} parameter} method-list methods"
27252 msgstr ""
27253
27254 #. type: deftypevr
27255 #: doc/guix.texi:12154
27256 msgid "Methods to which this access control applies."
27257 msgstr ""
27258
27259 #. type: deftypevr
27260 #: doc/guix.texi:12158
27261 #, no-wrap
27262 msgid "{@code{method-access-controls} parameter} access-control-list access-controls"
27263 msgstr ""
27264
27265 #. type: deftypevr
27266 #: doc/guix.texi:12161
27267 msgid ""
27268 "Access control directives, as a list of strings. Each string should be one "
27269 "directive, such as \"Order allow,deny\"."
27270 msgstr ""
27271
27272 #. type: deftypevr
27273 #: doc/guix.texi:12167
27274 #, no-wrap
27275 msgid "{@code{cups-configuration} parameter} non-negative-integer log-debug-history"
27276 msgstr ""
27277
27278 #. type: deftypevr
27279 #: doc/guix.texi:12171
27280 msgid ""
27281 "Specifies the number of debugging messages that are retained for logging if "
27282 "an error occurs in a print job. Debug messages are logged regardless of the "
27283 "LogLevel setting."
27284 msgstr ""
27285
27286 #. type: deftypevr
27287 #: doc/guix.texi:12173 doc/guix.texi:12194 doc/guix.texi:12201
27288 #: doc/guix.texi:14007 doc/guix.texi:16807
27289 msgid "Defaults to @samp{100}."
27290 msgstr ""
27291
27292 #. type: deftypevr
27293 #: doc/guix.texi:12175
27294 #, no-wrap
27295 msgid "{@code{cups-configuration} parameter} log-level log-level"
27296 msgstr ""
27297
27298 #. type: deftypevr
27299 #: doc/guix.texi:12178
27300 msgid ""
27301 "Specifies the level of logging for the ErrorLog file. The value @code{none} "
27302 "stops all logging while @code{debug2} logs everything."
27303 msgstr ""
27304
27305 #. type: deftypevr
27306 #: doc/guix.texi:12180
27307 msgid "Defaults to @samp{info}."
27308 msgstr ""
27309
27310 #. type: deftypevr
27311 #: doc/guix.texi:12182
27312 #, no-wrap
27313 msgid "{@code{cups-configuration} parameter} log-time-format log-time-format"
27314 msgstr ""
27315
27316 #. type: deftypevr
27317 #: doc/guix.texi:12185
27318 msgid ""
27319 "Specifies the format of the date and time in the log files. The value "
27320 "@code{standard} logs whole seconds while @code{usecs} logs microseconds."
27321 msgstr ""
27322
27323 #. type: deftypevr
27324 #: doc/guix.texi:12187
27325 msgid "Defaults to @samp{standard}."
27326 msgstr ""
27327
27328 #. type: deftypevr
27329 #: doc/guix.texi:12189
27330 #, no-wrap
27331 msgid "{@code{cups-configuration} parameter} non-negative-integer max-clients"
27332 msgstr ""
27333
27334 #. type: deftypevr
27335 #: doc/guix.texi:12192
27336 msgid ""
27337 "Specifies the maximum number of simultaneous clients that are allowed by the "
27338 "scheduler."
27339 msgstr ""
27340
27341 #. type: deftypevr
27342 #: doc/guix.texi:12196
27343 #, no-wrap
27344 msgid "{@code{cups-configuration} parameter} non-negative-integer max-clients-per-host"
27345 msgstr ""
27346
27347 #. type: deftypevr
27348 #: doc/guix.texi:12199
27349 msgid ""
27350 "Specifies the maximum number of simultaneous clients that are allowed from a "
27351 "single address."
27352 msgstr ""
27353
27354 #. type: deftypevr
27355 #: doc/guix.texi:12203
27356 #, no-wrap
27357 msgid "{@code{cups-configuration} parameter} non-negative-integer max-copies"
27358 msgstr ""
27359
27360 #. type: deftypevr
27361 #: doc/guix.texi:12206
27362 msgid ""
27363 "Specifies the maximum number of copies that a user can print of each job."
27364 msgstr ""
27365
27366 #. type: deftypevr
27367 #: doc/guix.texi:12208
27368 msgid "Defaults to @samp{9999}."
27369 msgstr ""
27370
27371 #. type: deftypevr
27372 #: doc/guix.texi:12210
27373 #, no-wrap
27374 msgid "{@code{cups-configuration} parameter} non-negative-integer max-hold-time"
27375 msgstr ""
27376
27377 #. type: deftypevr
27378 #: doc/guix.texi:12214
27379 msgid ""
27380 "Specifies the maximum time a job may remain in the @code{indefinite} hold "
27381 "state before it is canceled. A value of 0 disables cancellation of held "
27382 "jobs."
27383 msgstr ""
27384
27385 #. type: deftypevr
27386 #: doc/guix.texi:12218
27387 #, no-wrap
27388 msgid "{@code{cups-configuration} parameter} non-negative-integer max-jobs"
27389 msgstr ""
27390
27391 #. type: deftypevr
27392 #: doc/guix.texi:12221
27393 msgid ""
27394 "Specifies the maximum number of simultaneous jobs that are allowed. Set to "
27395 "0 to allow an unlimited number of jobs."
27396 msgstr ""
27397
27398 #. type: deftypevr
27399 #: doc/guix.texi:12223
27400 msgid "Defaults to @samp{500}."
27401 msgstr ""
27402
27403 #. type: deftypevr
27404 #: doc/guix.texi:12225
27405 #, no-wrap
27406 msgid "{@code{cups-configuration} parameter} non-negative-integer max-jobs-per-printer"
27407 msgstr ""
27408
27409 #. type: deftypevr
27410 #: doc/guix.texi:12228
27411 msgid ""
27412 "Specifies the maximum number of simultaneous jobs that are allowed per "
27413 "printer. A value of 0 allows up to MaxJobs jobs per printer."
27414 msgstr ""
27415
27416 #. type: deftypevr
27417 #: doc/guix.texi:12232
27418 #, no-wrap
27419 msgid "{@code{cups-configuration} parameter} non-negative-integer max-jobs-per-user"
27420 msgstr ""
27421
27422 #. type: deftypevr
27423 #: doc/guix.texi:12235
27424 msgid ""
27425 "Specifies the maximum number of simultaneous jobs that are allowed per "
27426 "user. A value of 0 allows up to MaxJobs jobs per user."
27427 msgstr ""
27428
27429 #. type: deftypevr
27430 #: doc/guix.texi:12239
27431 #, no-wrap
27432 msgid "{@code{cups-configuration} parameter} non-negative-integer max-job-time"
27433 msgstr ""
27434
27435 #. type: deftypevr
27436 #: doc/guix.texi:12242
27437 msgid ""
27438 "Specifies the maximum time a job may take to print before it is canceled, in "
27439 "seconds. Set to 0 to disable cancellation of \"stuck\" jobs."
27440 msgstr ""
27441
27442 #. type: deftypevr
27443 #: doc/guix.texi:12244
27444 msgid "Defaults to @samp{10800}."
27445 msgstr ""
27446
27447 #. type: deftypevr
27448 #: doc/guix.texi:12246
27449 #, no-wrap
27450 msgid "{@code{cups-configuration} parameter} non-negative-integer max-log-size"
27451 msgstr ""
27452
27453 #. type: deftypevr
27454 #: doc/guix.texi:12249
27455 msgid ""
27456 "Specifies the maximum size of the log files before they are rotated, in "
27457 "bytes. The value 0 disables log rotation."
27458 msgstr ""
27459
27460 #. type: deftypevr
27461 #: doc/guix.texi:12251
27462 msgid "Defaults to @samp{1048576}."
27463 msgstr ""
27464
27465 #. type: deftypevr
27466 #: doc/guix.texi:12253
27467 #, no-wrap
27468 msgid "{@code{cups-configuration} parameter} non-negative-integer multiple-operation-timeout"
27469 msgstr ""
27470
27471 #. type: deftypevr
27472 #: doc/guix.texi:12256
27473 msgid ""
27474 "Specifies the maximum amount of time to allow between files in a multiple "
27475 "file print job, in seconds."
27476 msgstr ""
27477
27478 #. type: deftypevr
27479 #: doc/guix.texi:12258 doc/guix.texi:12472
27480 msgid "Defaults to @samp{300}."
27481 msgstr ""
27482
27483 #. type: deftypevr
27484 #: doc/guix.texi:12260
27485 #, no-wrap
27486 msgid "{@code{cups-configuration} parameter} string page-log-format"
27487 msgstr ""
27488
27489 #. type: deftypevr
27490 #: doc/guix.texi:12265
27491 msgid ""
27492 "Specifies the format of PageLog lines. Sequences beginning with percent "
27493 "(@samp{%}) characters are replaced with the corresponding information, while "
27494 "all other characters are copied literally. The following percent sequences "
27495 "are recognized:"
27496 msgstr ""
27497
27498 #. type: item
27499 #: doc/guix.texi:12267
27500 #, no-wrap
27501 msgid "%%"
27502 msgstr ""
27503
27504 #. type: table
27505 #: doc/guix.texi:12269
27506 msgid "insert a single percent character"
27507 msgstr ""
27508
27509 #. type: item
27510 #: doc/guix.texi:12270
27511 #, no-wrap
27512 msgid "%@{name@}"
27513 msgstr ""
27514
27515 #. type: table
27516 #: doc/guix.texi:12272
27517 msgid "insert the value of the specified IPP attribute"
27518 msgstr ""
27519
27520 #. type: item
27521 #: doc/guix.texi:12273
27522 #, no-wrap
27523 msgid "%C"
27524 msgstr ""
27525
27526 #. type: table
27527 #: doc/guix.texi:12275
27528 msgid "insert the number of copies for the current page"
27529 msgstr ""
27530
27531 #. type: item
27532 #: doc/guix.texi:12276
27533 #, no-wrap
27534 msgid "%P"
27535 msgstr ""
27536
27537 #. type: table
27538 #: doc/guix.texi:12278
27539 msgid "insert the current page number"
27540 msgstr ""
27541
27542 #. type: item
27543 #: doc/guix.texi:12279
27544 #, no-wrap
27545 msgid "%T"
27546 msgstr ""
27547
27548 #. type: table
27549 #: doc/guix.texi:12281
27550 msgid "insert the current date and time in common log format"
27551 msgstr ""
27552
27553 #. type: item
27554 #: doc/guix.texi:12282
27555 #, no-wrap
27556 msgid "%j"
27557 msgstr ""
27558
27559 #. type: table
27560 #: doc/guix.texi:12284
27561 msgid "insert the job ID"
27562 msgstr ""
27563
27564 #. type: item
27565 #: doc/guix.texi:12285 doc/guix.texi:13617
27566 #, no-wrap
27567 msgid "%p"
27568 msgstr ""
27569
27570 #. type: table
27571 #: doc/guix.texi:12287
27572 msgid "insert the printer name"
27573 msgstr ""
27574
27575 #. type: item
27576 #: doc/guix.texi:12288 doc/guix.texi:13640
27577 #, no-wrap
27578 msgid "%u"
27579 msgstr ""
27580
27581 #. type: table
27582 #: doc/guix.texi:12290
27583 msgid "insert the username"
27584 msgstr ""
27585
27586 #. type: deftypevr
27587 #: doc/guix.texi:12296
27588 msgid ""
27589 "A value of the empty string disables page logging. The string @code{%p %u "
27590 "%j %T %P %C %@{job-billing@} %@{job-originating-host-name@} %@{job-name@} "
27591 "%@{media@} %@{sides@}} creates a page log with the standard items."
27592 msgstr ""
27593
27594 #. type: deftypevr
27595 #: doc/guix.texi:12300
27596 #, no-wrap
27597 msgid "{@code{cups-configuration} parameter} environment-variables environment-variables"
27598 msgstr ""
27599
27600 #. type: deftypevr
27601 #: doc/guix.texi:12303
27602 msgid ""
27603 "Passes the specified environment variable(s) to child processes; a list of "
27604 "strings."
27605 msgstr ""
27606
27607 #. type: deftypevr
27608 #: doc/guix.texi:12307
27609 #, no-wrap
27610 msgid "{@code{cups-configuration} parameter} policy-configuration-list policies"
27611 msgstr ""
27612
27613 #. type: deftypevr
27614 #: doc/guix.texi:12309
27615 msgid "Specifies named access control policies."
27616 msgstr ""
27617
27618 #. type: deftypevr
27619 #: doc/guix.texi:12311
27620 msgid "Available @code{policy-configuration} fields are:"
27621 msgstr ""
27622
27623 #. type: deftypevr
27624 #: doc/guix.texi:12312
27625 #, no-wrap
27626 msgid "{@code{policy-configuration} parameter} string name"
27627 msgstr ""
27628
27629 #. type: deftypevr
27630 #: doc/guix.texi:12314
27631 msgid "Name of the policy."
27632 msgstr ""
27633
27634 #. type: deftypevr
27635 #: doc/guix.texi:12316
27636 #, no-wrap
27637 msgid "{@code{policy-configuration} parameter} string job-private-access"
27638 msgstr ""
27639
27640 #. type: deftypevr
27641 #: doc/guix.texi:12326
27642 msgid ""
27643 "Specifies an access list for a job's private values. @code{@@ACL} maps to "
27644 "the printer's requesting-user-name-allowed or requesting-user-name-denied "
27645 "values. @code{@@OWNER} maps to the job's owner. @code{@@SYSTEM} maps to "
27646 "the groups listed for the @code{system-group} field of the @code{files-"
27647 "config} configuration, which is reified into the @code{cups-files.conf(5)} "
27648 "file. Other possible elements of the access list include specific user "
27649 "names, and @code{@@@var{group}} to indicate members of a specific group. "
27650 "The access list may also be simply @code{all} or @code{default}."
27651 msgstr ""
27652
27653 #. type: deftypevr
27654 #: doc/guix.texi:12328 doc/guix.texi:12350
27655 msgid "Defaults to @samp{\"@@OWNER @@SYSTEM\"}."
27656 msgstr ""
27657
27658 #. type: deftypevr
27659 #: doc/guix.texi:12330
27660 #, no-wrap
27661 msgid "{@code{policy-configuration} parameter} string job-private-values"
27662 msgstr ""
27663
27664 #. type: deftypevr
27665 #: doc/guix.texi:12333 doc/guix.texi:12355
27666 msgid ""
27667 "Specifies the list of job values to make private, or @code{all}, "
27668 "@code{default}, or @code{none}."
27669 msgstr ""
27670
27671 #. type: deftypevr
27672 #: doc/guix.texi:12336
27673 msgid ""
27674 "Defaults to @samp{\"job-name job-originating-host-name job-originating-user-"
27675 "name phone\"}."
27676 msgstr ""
27677
27678 #. type: deftypevr
27679 #: doc/guix.texi:12338
27680 #, no-wrap
27681 msgid "{@code{policy-configuration} parameter} string subscription-private-access"
27682 msgstr ""
27683
27684 #. type: deftypevr
27685 #: doc/guix.texi:12348
27686 msgid ""
27687 "Specifies an access list for a subscription's private values. @code{@@ACL} "
27688 "maps to the printer's requesting-user-name-allowed or requesting-user-name-"
27689 "denied values. @code{@@OWNER} maps to the job's owner. @code{@@SYSTEM} "
27690 "maps to the groups listed for the @code{system-group} field of the "
27691 "@code{files-config} configuration, which is reified into the @code{cups-"
27692 "files.conf(5)} file. Other possible elements of the access list include "
27693 "specific user names, and @code{@@@var{group}} to indicate members of a "
27694 "specific group. The access list may also be simply @code{all} or "
27695 "@code{default}."
27696 msgstr ""
27697
27698 #. type: deftypevr
27699 #: doc/guix.texi:12352
27700 #, no-wrap
27701 msgid "{@code{policy-configuration} parameter} string subscription-private-values"
27702 msgstr ""
27703
27704 #. type: deftypevr
27705 #: doc/guix.texi:12358
27706 msgid ""
27707 "Defaults to @samp{\"notify-events notify-pull-method notify-recipient-uri "
27708 "notify-subscriber-user-name notify-user-data\"}."
27709 msgstr ""
27710
27711 #. type: deftypevr
27712 #: doc/guix.texi:12360
27713 #, no-wrap
27714 msgid "{@code{policy-configuration} parameter} operation-access-control-list access-controls"
27715 msgstr ""
27716
27717 #. type: deftypevr
27718 #: doc/guix.texi:12362
27719 msgid "Access control by IPP operation."
27720 msgstr ""
27721
27722 #. type: deftypevr
27723 #: doc/guix.texi:12367
27724 #, no-wrap
27725 msgid "{@code{cups-configuration} parameter} boolean-or-non-negative-integer preserve-job-files"
27726 msgstr ""
27727
27728 #. type: deftypevr
27729 #: doc/guix.texi:12372
27730 msgid ""
27731 "Specifies whether job files (documents) are preserved after a job is "
27732 "printed. If a numeric value is specified, job files are preserved for the "
27733 "indicated number of seconds after printing. Otherwise a boolean value "
27734 "applies indefinitely."
27735 msgstr ""
27736
27737 #. type: deftypevr
27738 #: doc/guix.texi:12374
27739 msgid "Defaults to @samp{86400}."
27740 msgstr ""
27741
27742 #. type: deftypevr
27743 #: doc/guix.texi:12376
27744 #, no-wrap
27745 msgid "{@code{cups-configuration} parameter} boolean-or-non-negative-integer preserve-job-history"
27746 msgstr ""
27747
27748 #. type: deftypevr
27749 #: doc/guix.texi:12381
27750 msgid ""
27751 "Specifies whether the job history is preserved after a job is printed. If a "
27752 "numeric value is specified, the job history is preserved for the indicated "
27753 "number of seconds after printing. If @code{#t}, the job history is "
27754 "preserved until the MaxJobs limit is reached."
27755 msgstr ""
27756
27757 #. type: deftypevr
27758 #: doc/guix.texi:12385
27759 #, no-wrap
27760 msgid "{@code{cups-configuration} parameter} non-negative-integer reload-timeout"
27761 msgstr ""
27762
27763 #. type: deftypevr
27764 #: doc/guix.texi:12388
27765 msgid ""
27766 "Specifies the amount of time to wait for job completion before restarting "
27767 "the scheduler."
27768 msgstr ""
27769
27770 #. type: deftypevr
27771 #: doc/guix.texi:12392
27772 #, no-wrap
27773 msgid "{@code{cups-configuration} parameter} string rip-cache"
27774 msgstr ""
27775
27776 #. type: deftypevr
27777 #: doc/guix.texi:12395
27778 msgid ""
27779 "Specifies the maximum amount of memory to use when converting documents into "
27780 "bitmaps for a printer."
27781 msgstr ""
27782
27783 #. type: deftypevr
27784 #: doc/guix.texi:12397
27785 msgid "Defaults to @samp{\"128m\"}."
27786 msgstr ""
27787
27788 #. type: deftypevr
27789 #: doc/guix.texi:12399
27790 #, no-wrap
27791 msgid "{@code{cups-configuration} parameter} string server-admin"
27792 msgstr ""
27793
27794 #. type: deftypevr
27795 #: doc/guix.texi:12401
27796 msgid "Specifies the email address of the server administrator."
27797 msgstr ""
27798
27799 #. type: deftypevr
27800 #: doc/guix.texi:12403
27801 msgid "Defaults to @samp{\"root@@localhost.localdomain\"}."
27802 msgstr ""
27803
27804 #. type: deftypevr
27805 #: doc/guix.texi:12405
27806 #, no-wrap
27807 msgid "{@code{cups-configuration} parameter} host-name-list-or-* server-alias"
27808 msgstr ""
27809
27810 #. type: deftypevr
27811 #: doc/guix.texi:12413
27812 msgid ""
27813 "The ServerAlias directive is used for HTTP Host header validation when "
27814 "clients connect to the scheduler from external interfaces. Using the "
27815 "special name @code{*} can expose your system to known browser-based DNS "
27816 "rebinding attacks, even when accessing sites through a firewall. If the "
27817 "auto-discovery of alternate names does not work, we recommend listing each "
27818 "alternate name with a ServerAlias directive instead of using @code{*}."
27819 msgstr ""
27820
27821 #. type: deftypevr
27822 #: doc/guix.texi:12415
27823 msgid "Defaults to @samp{*}."
27824 msgstr ""
27825
27826 #. type: deftypevr
27827 #: doc/guix.texi:12417
27828 #, no-wrap
27829 msgid "{@code{cups-configuration} parameter} string server-name"
27830 msgstr ""
27831
27832 #. type: deftypevr
27833 #: doc/guix.texi:12419
27834 msgid "Specifies the fully-qualified host name of the server."
27835 msgstr ""
27836
27837 #. type: deftypevr
27838 #: doc/guix.texi:12421
27839 msgid "Defaults to @samp{\"localhost\"}."
27840 msgstr ""
27841
27842 #. type: deftypevr
27843 #: doc/guix.texi:12423
27844 #, no-wrap
27845 msgid "{@code{cups-configuration} parameter} server-tokens server-tokens"
27846 msgstr ""
27847
27848 #. type: deftypevr
27849 #: doc/guix.texi:12431
27850 msgid ""
27851 "Specifies what information is included in the Server header of HTTP "
27852 "responses. @code{None} disables the Server header. @code{ProductOnly} "
27853 "reports @code{CUPS}. @code{Major} reports @code{CUPS 2}. @code{Minor} "
27854 "reports @code{CUPS 2.0}. @code{Minimal} reports @code{CUPS 2.0.0}. "
27855 "@code{OS} reports @code{CUPS 2.0.0 (@var{uname})} where @var{uname} is the "
27856 "output of the @code{uname} command. @code{Full} reports @code{CUPS 2.0.0 "
27857 "(@var{uname}) IPP/2.0}."
27858 msgstr ""
27859
27860 #. type: deftypevr
27861 #: doc/guix.texi:12433
27862 msgid "Defaults to @samp{Minimal}."
27863 msgstr ""
27864
27865 #. type: deftypevr
27866 #: doc/guix.texi:12435
27867 #, no-wrap
27868 msgid "{@code{cups-configuration} parameter} string set-env"
27869 msgstr ""
27870
27871 #. type: deftypevr
27872 #: doc/guix.texi:12437
27873 msgid "Set the specified environment variable to be passed to child processes."
27874 msgstr ""
27875
27876 #. type: deftypevr
27877 #: doc/guix.texi:12439
27878 msgid "Defaults to @samp{\"variable value\"}."
27879 msgstr ""
27880
27881 #. type: deftypevr
27882 #: doc/guix.texi:12441
27883 #, no-wrap
27884 msgid "{@code{cups-configuration} parameter} multiline-string-list ssl-listen"
27885 msgstr ""
27886
27887 #. type: deftypevr
27888 #: doc/guix.texi:12446
27889 msgid ""
27890 "Listens on the specified interfaces for encrypted connections. Valid values "
27891 "are of the form @var{address}:@var{port}, where @var{address} is either an "
27892 "IPv6 address enclosed in brackets, an IPv4 address, or @code{*} to indicate "
27893 "all addresses."
27894 msgstr ""
27895
27896 #. type: deftypevr
27897 #: doc/guix.texi:12450
27898 #, no-wrap
27899 msgid "{@code{cups-configuration} parameter} ssl-options ssl-options"
27900 msgstr ""
27901
27902 #. type: deftypevr
27903 #: doc/guix.texi:12457
27904 msgid ""
27905 "Sets encryption options. By default, CUPS only supports encryption using "
27906 "TLS v1.0 or higher using known secure cipher suites. The @code{AllowRC4} "
27907 "option enables the 128-bit RC4 cipher suites, which are required for some "
27908 "older clients that do not implement newer ones. The @code{AllowSSL3} option "
27909 "enables SSL v3.0, which is required for some older clients that do not "
27910 "support TLS v1.0."
27911 msgstr ""
27912
27913 #. type: deftypevr
27914 #: doc/guix.texi:12461
27915 #, no-wrap
27916 msgid "{@code{cups-configuration} parameter} boolean strict-conformance?"
27917 msgstr ""
27918
27919 #. type: deftypevr
27920 #: doc/guix.texi:12464
27921 msgid ""
27922 "Specifies whether the scheduler requires clients to strictly adhere to the "
27923 "IPP specifications."
27924 msgstr ""
27925
27926 #. type: deftypevr
27927 #: doc/guix.texi:12468
27928 #, no-wrap
27929 msgid "{@code{cups-configuration} parameter} non-negative-integer timeout"
27930 msgstr ""
27931
27932 #. type: deftypevr
27933 #: doc/guix.texi:12470
27934 msgid "Specifies the HTTP request timeout, in seconds."
27935 msgstr ""
27936
27937 #. type: deftypevr
27938 #: doc/guix.texi:12475
27939 #, no-wrap
27940 msgid "{@code{cups-configuration} parameter} boolean web-interface?"
27941 msgstr ""
27942
27943 #. type: deftypevr
27944 #: doc/guix.texi:12477
27945 msgid "Specifies whether the web interface is enabled."
27946 msgstr ""
27947
27948 #. type: Plain text
27949 #: doc/guix.texi:12487
27950 msgid ""
27951 "At this point you're probably thinking ``oh dear, Guix manual, I like you "
27952 "but you can stop already with the configuration options''. Indeed. "
27953 "However, one more point: it could be that you have an existing @code{cupsd."
27954 "conf} that you want to use. In that case, you can pass an @code{opaque-cups-"
27955 "configuration} as the configuration of a @code{cups-service-type}."
27956 msgstr ""
27957
27958 #. type: Plain text
27959 #: doc/guix.texi:12489
27960 msgid "Available @code{opaque-cups-configuration} fields are:"
27961 msgstr ""
27962
27963 #. type: deftypevr
27964 #: doc/guix.texi:12490
27965 #, no-wrap
27966 msgid "{@code{opaque-cups-configuration} parameter} package cups"
27967 msgstr ""
27968
27969 #. type: deftypevr
27970 #: doc/guix.texi:12494
27971 #, no-wrap
27972 msgid "{@code{opaque-cups-configuration} parameter} string cupsd.conf"
27973 msgstr ""
27974
27975 #. type: deftypevr
27976 #: doc/guix.texi:12496
27977 msgid "The contents of the @code{cupsd.conf}, as a string."
27978 msgstr ""
27979
27980 #. type: deftypevr
27981 #: doc/guix.texi:12498
27982 #, no-wrap
27983 msgid "{@code{opaque-cups-configuration} parameter} string cups-files.conf"
27984 msgstr ""
27985
27986 #. type: deftypevr
27987 #: doc/guix.texi:12500
27988 msgid "The contents of the @code{cups-files.conf} file, as a string."
27989 msgstr ""
27990
27991 #. type: Plain text
27992 #: doc/guix.texi:12505
27993 msgid ""
27994 "For example, if your @code{cupsd.conf} and @code{cups-files.conf} are in "
27995 "strings of the same name, you could instantiate a CUPS service like this:"
27996 msgstr ""
27997
27998 #. type: example
27999 #: doc/guix.texi:12511
28000 #, no-wrap
28001 msgid ""
28002 "(service cups-service-type\n"
28003 " (opaque-cups-configuration\n"
28004 " (cupsd.conf cupsd.conf)\n"
28005 " (cups-files.conf cups-files.conf)))\n"
28006 msgstr ""
28007
28008 #. type: Plain text
28009 #: doc/guix.texi:12522
28010 msgid ""
28011 "The @code{(gnu services desktop)} module provides services that are usually "
28012 "useful in the context of a ``desktop'' setup---that is, on a machine running "
28013 "a graphical display server, possibly with graphical user interfaces, etc. "
28014 "It also defines services that provide specific desktop environments like "
28015 "GNOME, XFCE or MATE."
28016 msgstr ""
28017
28018 #. type: Plain text
28019 #: doc/guix.texi:12526
28020 msgid ""
28021 "To simplify things, the module defines a variable containing the set of "
28022 "services that users typically expect on a machine with a graphical "
28023 "environment and networking:"
28024 msgstr ""
28025
28026 #. type: defvr
28027 #: doc/guix.texi:12527
28028 #, no-wrap
28029 msgid "{Scheme Variable} %desktop-services"
28030 msgstr ""
28031
28032 #. type: defvr
28033 #: doc/guix.texi:12530
28034 msgid ""
28035 "This is a list of services that builds upon @var{%base-services} and adds or "
28036 "adjusts services for a typical ``desktop'' setup."
28037 msgstr ""
28038
28039 #. type: defvr
28040 #: doc/guix.texi:12540
28041 msgid ""
28042 "In particular, it adds a graphical login manager (@pxref{X Window, "
28043 "@code{slim-service}}), screen lockers, a network management tool "
28044 "(@pxref{Networking Services, @code{network-manager-service-type}}), energy "
28045 "and color management services, the @code{elogind} login and seat manager, "
28046 "the Polkit privilege service, the GeoClue location service, the "
28047 "AccountsService daemon that allows authorized users change system passwords, "
28048 "an NTP client (@pxref{Networking Services}), the Avahi daemon, and has the "
28049 "name service switch service configured to be able to use @code{nss-mdns} "
28050 "(@pxref{Name Service Switch, mDNS})."
28051 msgstr ""
28052
28053 #. type: Plain text
28054 #: doc/guix.texi:12545
28055 msgid ""
28056 "The @var{%desktop-services} variable can be used as the @code{services} "
28057 "field of an @code{operating-system} declaration (@pxref{operating-system "
28058 "Reference, @code{services}})."
28059 msgstr ""
28060
28061 #. type: Plain text
28062 #: doc/guix.texi:12565
28063 msgid ""
28064 "Additionally, the @code{gnome-desktop-service}, @code{xfce-desktop-service} "
28065 "and @code{mate-desktop-service} procedures can add GNOME, XFCE and/or MATE "
28066 "to a system. To ``add GNOME'' means that system-level services like the "
28067 "backlight adjustment helpers and the power management utilities are added to "
28068 "the system, extending @code{polkit} and @code{dbus} appropriately, allowing "
28069 "GNOME to operate with elevated privileges on a limited number of special-"
28070 "purpose system interfaces. Additionally, adding a service made by "
28071 "@code{gnome-desktop-service} adds the GNOME metapackage to the system "
28072 "profile. Likewise, adding the XFCE service not only adds the @code{xfce} "
28073 "metapackage to the system profile, but it also gives the Thunar file manager "
28074 "the ability to open a ``root-mode'' file management window, if the user "
28075 "authenticates using the administrator's password via the standard polkit "
28076 "graphical interface. To ``add MATE'' means that @code{polkit} and "
28077 "@code{dbus} are extended appropriately, allowing MATE to operate with "
28078 "elevated privileges on a limited number of special-purpose system "
28079 "interfaces. Additionally, adding a service made by @code{mate-desktop-"
28080 "service} adds the MATE metapackage to the system profile."
28081 msgstr ""
28082
28083 #. type: Plain text
28084 #: doc/guix.texi:12574
28085 msgid ""
28086 "The desktop environments in Guix use the Xorg display server by default. If "
28087 "you'd like to use the newer display server protocol called Wayland, you need "
28088 "to use the @code{sddm-service} instead of the @code{slim-service} for the "
28089 "graphical login manager. You should then select the ``GNOME (Wayland)'' "
28090 "session in SDDM. Alternatively you can also try starting GNOME on Wayland "
28091 "manually from a TTY with the command ``XDG_SESSION_TYPE=wayland exec dbus-"
28092 "run-session gnome-session``. Currently only GNOME has support for Wayland."
28093 msgstr ""
28094
28095 #. type: deffn
28096 #: doc/guix.texi:12575
28097 #, no-wrap
28098 msgid "{Scheme Procedure} gnome-desktop-service"
28099 msgstr ""
28100
28101 #. type: deffn
28102 #: doc/guix.texi:12579
28103 msgid ""
28104 "Return a service that adds the @code{gnome} package to the system profile, "
28105 "and extends polkit with the actions from @code{gnome-settings-daemon}."
28106 msgstr ""
28107
28108 #. type: deffn
28109 #: doc/guix.texi:12581
28110 #, no-wrap
28111 msgid "{Scheme Procedure} xfce-desktop-service"
28112 msgstr ""
28113
28114 #. type: deffn
28115 #: doc/guix.texi:12586
28116 msgid ""
28117 "Return a service that adds the @code{xfce} package to the system profile, "
28118 "and extends polkit with the ability for @code{thunar} to manipulate the file "
28119 "system as root from within a user session, after the user has authenticated "
28120 "with the administrator's password."
28121 msgstr ""
28122
28123 #. type: deffn
28124 #: doc/guix.texi:12588
28125 #, no-wrap
28126 msgid "{Scheme Procedure} mate-desktop-service"
28127 msgstr ""
28128
28129 #. type: deffn
28130 #: doc/guix.texi:12592
28131 msgid ""
28132 "Return a service that adds the @code{mate} package to the system profile, "
28133 "and extends polkit with the actions from @code{mate-settings-daemon}."
28134 msgstr ""
28135
28136 #. type: Plain text
28137 #: doc/guix.texi:12599
28138 msgid ""
28139 "Because the GNOME, XFCE and MATE desktop services pull in so many packages, "
28140 "the default @code{%desktop-services} variable doesn't include either of them "
28141 "by default. To add GNOME, XFCE or MATE, just @code{cons} them onto "
28142 "@code{%desktop-services} in the @code{services} field of your "
28143 "@code{operating-system}:"
28144 msgstr ""
28145
28146 #. type: example
28147 #: doc/guix.texi:12610
28148 #, no-wrap
28149 msgid ""
28150 "(use-modules (gnu))\n"
28151 "(use-service-modules desktop)\n"
28152 "(operating-system\n"
28153 " ...\n"
28154 " ;; cons* adds items to the list given as its last argument.\n"
28155 " (services (cons* (gnome-desktop-service)\n"
28156 " (xfce-desktop-service)\n"
28157 " %desktop-services))\n"
28158 " ...)\n"
28159 msgstr ""
28160
28161 #. type: Plain text
28162 #: doc/guix.texi:12614
28163 msgid ""
28164 "These desktop environments will then be available as options in the "
28165 "graphical login window."
28166 msgstr ""
28167
28168 #. type: Plain text
28169 #: doc/guix.texi:12618
28170 msgid ""
28171 "The actual service definitions included in @code{%desktop-services} and "
28172 "provided by @code{(gnu services dbus)} and @code{(gnu services desktop)} are "
28173 "described below."
28174 msgstr ""
28175
28176 #. type: deffn
28177 #: doc/guix.texi:12619
28178 #, no-wrap
28179 msgid "{Scheme Procedure} dbus-service [#:dbus @var{dbus}] [#:services '()]"
28180 msgstr ""
28181
28182 #. type: deffn
28183 #: doc/guix.texi:12622
28184 msgid ""
28185 "Return a service that runs the ``system bus'', using @var{dbus}, with "
28186 "support for @var{services}."
28187 msgstr ""
28188
28189 #. type: deffn
28190 #: doc/guix.texi:12626
28191 msgid ""
28192 "@uref{http://dbus.freedesktop.org/, D-Bus} is an inter-process communication "
28193 "facility. Its system bus is used to allow system services to communicate "
28194 "and to be notified of system-wide events."
28195 msgstr ""
28196
28197 #. type: deffn
28198 #: doc/guix.texi:12631
28199 msgid ""
28200 "@var{services} must be a list of packages that provide an @file{etc/dbus-1/"
28201 "system.d} directory containing additional D-Bus configuration and policy "
28202 "files. For example, to allow avahi-daemon to use the system bus, "
28203 "@var{services} must be equal to @code{(list avahi)}."
28204 msgstr ""
28205
28206 #. type: deffn
28207 #: doc/guix.texi:12633
28208 #, no-wrap
28209 msgid "{Scheme Procedure} elogind-service [#:config @var{config}]"
28210 msgstr ""
28211
28212 #. type: deffn
28213 #: doc/guix.texi:12639
28214 msgid ""
28215 "Return a service that runs the @code{elogind} login and seat management "
28216 "daemon. @uref{https://github.com/elogind/elogind, Elogind} exposes a D-Bus "
28217 "interface that can be used to know which users are logged in, know what kind "
28218 "of sessions they have open, suspend the system, inhibit system suspend, "
28219 "reboot the system, and other tasks."
28220 msgstr ""
28221
28222 #. type: deffn
28223 #: doc/guix.texi:12643
28224 msgid ""
28225 "Elogind handles most system-level power events for a computer, for example "
28226 "suspending the system when a lid is closed, or shutting it down when the "
28227 "power button is pressed."
28228 msgstr ""
28229
28230 #. type: deffn
28231 #: doc/guix.texi:12648
28232 msgid ""
28233 "The @var{config} keyword argument specifies the configuration for elogind, "
28234 "and should be the result of an @code{(elogind-configuration (@var{parameter} "
28235 "@var{value})...)} invocation. Available parameters and their default values "
28236 "are:"
28237 msgstr ""
28238
28239 #. type: item
28240 #: doc/guix.texi:12650
28241 #, no-wrap
28242 msgid "kill-user-processes?"
28243 msgstr ""
28244
28245 #. type: code{#1}
28246 #: doc/guix.texi:12652 doc/guix.texi:12670 doc/guix.texi:12672
28247 #: doc/guix.texi:12674 doc/guix.texi:12686
28248 msgid "#f"
28249 msgstr ""
28250
28251 #. type: item
28252 #: doc/guix.texi:12652
28253 #, no-wrap
28254 msgid "kill-only-users"
28255 msgstr ""
28256
28257 #. type: code{#1}
28258 #: doc/guix.texi:12654 doc/guix.texi:12692
28259 msgid "()"
28260 msgstr ""
28261
28262 #. type: item
28263 #: doc/guix.texi:12654
28264 #, no-wrap
28265 msgid "kill-exclude-users"
28266 msgstr ""
28267
28268 #. type: code{#1}
28269 #: doc/guix.texi:12656
28270 msgid "(\"root\")"
28271 msgstr ""
28272
28273 #. type: item
28274 #: doc/guix.texi:12656
28275 #, no-wrap
28276 msgid "inhibit-delay-max-seconds"
28277 msgstr ""
28278
28279 #. type: code{#1}
28280 #: doc/guix.texi:12658
28281 msgid "5"
28282 msgstr ""
28283
28284 #. type: item
28285 #: doc/guix.texi:12658
28286 #, no-wrap
28287 msgid "handle-power-key"
28288 msgstr ""
28289
28290 #. type: code{#1}
28291 #: doc/guix.texi:12660
28292 msgid "poweroff"
28293 msgstr ""
28294
28295 #. type: item
28296 #: doc/guix.texi:12660
28297 #, no-wrap
28298 msgid "handle-suspend-key"
28299 msgstr ""
28300
28301 #. type: code{#1}
28302 #: doc/guix.texi:12662 doc/guix.texi:12666
28303 msgid "suspend"
28304 msgstr ""
28305
28306 #. type: item
28307 #: doc/guix.texi:12662
28308 #, no-wrap
28309 msgid "handle-hibernate-key"
28310 msgstr ""
28311
28312 #. type: code{#1}
28313 #: doc/guix.texi:12664
28314 msgid "hibernate"
28315 msgstr ""
28316
28317 #. type: item
28318 #: doc/guix.texi:12664
28319 #, no-wrap
28320 msgid "handle-lid-switch"
28321 msgstr ""
28322
28323 #. type: item
28324 #: doc/guix.texi:12666
28325 #, no-wrap
28326 msgid "handle-lid-switch-docked"
28327 msgstr ""
28328
28329 #. type: code{#1}
28330 #: doc/guix.texi:12668 doc/guix.texi:12680
28331 msgid "ignore"
28332 msgstr ""
28333
28334 #. type: item
28335 #: doc/guix.texi:12668
28336 #, no-wrap
28337 msgid "power-key-ignore-inhibited?"
28338 msgstr ""
28339
28340 #. type: item
28341 #: doc/guix.texi:12670
28342 #, no-wrap
28343 msgid "suspend-key-ignore-inhibited?"
28344 msgstr ""
28345
28346 #. type: item
28347 #: doc/guix.texi:12672
28348 #, no-wrap
28349 msgid "hibernate-key-ignore-inhibited?"
28350 msgstr ""
28351
28352 #. type: item
28353 #: doc/guix.texi:12674
28354 #, no-wrap
28355 msgid "lid-switch-ignore-inhibited?"
28356 msgstr ""
28357
28358 #. type: code{#1}
28359 #: doc/guix.texi:12676 doc/guix.texi:12688
28360 msgid "#t"
28361 msgstr ""
28362
28363 #. type: item
28364 #: doc/guix.texi:12676
28365 #, no-wrap
28366 msgid "holdoff-timeout-seconds"
28367 msgstr ""
28368
28369 #. type: code{#1}
28370 #: doc/guix.texi:12678
28371 msgid "30"
28372 msgstr ""
28373
28374 #. type: item
28375 #: doc/guix.texi:12678
28376 #, no-wrap
28377 msgid "idle-action"
28378 msgstr ""
28379
28380 #. type: item
28381 #: doc/guix.texi:12680
28382 #, no-wrap
28383 msgid "idle-action-seconds"
28384 msgstr ""
28385
28386 #. type: code{#1}
28387 #: doc/guix.texi:12682
28388 msgid "(* 30 60)"
28389 msgstr ""
28390
28391 #. type: item
28392 #: doc/guix.texi:12682
28393 #, no-wrap
28394 msgid "runtime-directory-size-percent"
28395 msgstr ""
28396
28397 #. type: code{#1}
28398 #: doc/guix.texi:12684
28399 msgid "10"
28400 msgstr ""
28401
28402 #. type: item
28403 #: doc/guix.texi:12684
28404 #, no-wrap
28405 msgid "runtime-directory-size"
28406 msgstr ""
28407
28408 #. type: item
28409 #: doc/guix.texi:12686
28410 #, no-wrap
28411 msgid "remove-ipc?"
28412 msgstr ""
28413
28414 #. type: item
28415 #: doc/guix.texi:12688
28416 #, no-wrap
28417 msgid "suspend-state"
28418 msgstr ""
28419
28420 #. type: code{#1}
28421 #: doc/guix.texi:12690
28422 msgid "(\"mem\" \"standby\" \"freeze\")"
28423 msgstr ""
28424
28425 #. type: item
28426 #: doc/guix.texi:12690
28427 #, no-wrap
28428 msgid "suspend-mode"
28429 msgstr ""
28430
28431 #. type: item
28432 #: doc/guix.texi:12692
28433 #, no-wrap
28434 msgid "hibernate-state"
28435 msgstr ""
28436
28437 #. type: code{#1}
28438 #: doc/guix.texi:12694 doc/guix.texi:12698
28439 msgid "(\"disk\")"
28440 msgstr ""
28441
28442 #. type: item
28443 #: doc/guix.texi:12694
28444 #, no-wrap
28445 msgid "hibernate-mode"
28446 msgstr ""
28447
28448 #. type: code{#1}
28449 #: doc/guix.texi:12696
28450 msgid "(\"platform\" \"shutdown\")"
28451 msgstr ""
28452
28453 #. type: item
28454 #: doc/guix.texi:12696
28455 #, no-wrap
28456 msgid "hybrid-sleep-state"
28457 msgstr ""
28458
28459 #. type: item
28460 #: doc/guix.texi:12698
28461 #, no-wrap
28462 msgid "hybrid-sleep-mode"
28463 msgstr ""
28464
28465 #. type: code{#1}
28466 #: doc/guix.texi:12700
28467 msgid "(\"suspend\" \"platform\" \"shutdown\")"
28468 msgstr ""
28469
28470 #. type: deffn
28471 #: doc/guix.texi:12703
28472 #, no-wrap
28473 msgid "{Scheme Procedure} accountsservice-service @"
28474 msgstr ""
28475
28476 #. type: deffn
28477 #: doc/guix.texi:12711
28478 msgid ""
28479 "[#:accountsservice @var{accountsservice}] Return a service that runs "
28480 "AccountsService, a system service that can list available accounts, change "
28481 "their passwords, and so on. AccountsService integrates with PolicyKit to "
28482 "enable unprivileged users to acquire the capability to modify their system "
28483 "configuration. @uref{https://www.freedesktop.org/wiki/Software/"
28484 "AccountsService/, the accountsservice web site} for more information."
28485 msgstr ""
28486
28487 #. type: deffn
28488 #: doc/guix.texi:12714
28489 msgid ""
28490 "The @var{accountsservice} keyword argument is the @code{accountsservice} "
28491 "package to expose as a service."
28492 msgstr ""
28493
28494 #. type: deffn
28495 #: doc/guix.texi:12716
28496 #, no-wrap
28497 msgid "{Scheme Procedure} polkit-service @"
28498 msgstr ""
28499
28500 #. type: deffn
28501 #: doc/guix.texi:12725
28502 msgid ""
28503 "[#:polkit @var{polkit}] Return a service that runs the @uref{http://www."
28504 "freedesktop.org/wiki/Software/polkit/, Polkit privilege management service}, "
28505 "which allows system administrators to grant access to privileged operations "
28506 "in a structured way. By querying the Polkit service, a privileged system "
28507 "component can know when it should grant additional capabilities to ordinary "
28508 "users. For example, an ordinary user can be granted the capability to "
28509 "suspend the system if the user is logged in locally."
28510 msgstr ""
28511
28512 #. type: deffn
28513 #: doc/guix.texi:12727
28514 #, no-wrap
28515 msgid "{Scheme Procedure} upower-service [#:upower @var{upower}] @"
28516 msgstr ""
28517
28518 #. type: deffn
28519 #: doc/guix.texi:12744
28520 msgid ""
28521 "[#:watts-up-pro? #f] @ [#:poll-batteries? #t] @ [#:ignore-lid? #f] @ [#:use-"
28522 "percentage-for-policy? #f] @ [#:percentage-low 10] @ [#:percentage-critical "
28523 "3] @ [#:percentage-action 2] @ [#:time-low 1200] @ [#:time-critical 300] @ "
28524 "[#:time-action 120] @ [#:critical-power-action 'hybrid-sleep] Return a "
28525 "service that runs @uref{http://upower.freedesktop.org/, @command{upowerd}}, "
28526 "a system-wide monitor for power consumption and battery levels, with the "
28527 "given configuration settings. It implements the @code{org.freedesktop."
28528 "UPower} D-Bus interface, and is notably used by GNOME."
28529 msgstr ""
28530
28531 #. type: deffn
28532 #: doc/guix.texi:12746
28533 #, no-wrap
28534 msgid "{Scheme Procedure} udisks-service [#:udisks @var{udisks}]"
28535 msgstr ""
28536
28537 #. type: deffn
28538 #: doc/guix.texi:12751
28539 msgid ""
28540 "Return a service for @uref{http://udisks.freedesktop.org/docs/latest/, "
28541 "UDisks}, a @dfn{disk management} daemon that provides user interfaces with "
28542 "notifications and ways to mount/unmount disks. Programs that talk to UDisks "
28543 "include the @command{udisksctl} command, part of UDisks, and GNOME Disks."
28544 msgstr ""
28545
28546 #. type: deffn
28547 #: doc/guix.texi:12753
28548 #, no-wrap
28549 msgid "{Scheme Procedure} colord-service [#:colord @var{colord}]"
28550 msgstr ""
28551
28552 #. type: deffn
28553 #: doc/guix.texi:12759
28554 msgid ""
28555 "Return a service that runs @command{colord}, a system service with a D-Bus "
28556 "interface to manage the color profiles of input and output devices such as "
28557 "screens and scanners. It is notably used by the GNOME Color Manager "
28558 "graphical tool. See @uref{http://www.freedesktop.org/software/colord/, the "
28559 "colord web site} for more information."
28560 msgstr ""
28561
28562 #. type: deffn
28563 #: doc/guix.texi:12761
28564 #, no-wrap
28565 msgid "{Scheme Procedure} geoclue-application name [#:allowed? #t] [#:system? #f] [#:users '()]"
28566 msgstr ""
28567
28568 #. type: deffn
28569 #: doc/guix.texi:12770
28570 msgid ""
28571 "Return a configuration allowing an application to access GeoClue location "
28572 "data. @var{name} is the Desktop ID of the application, without the @code{."
28573 "desktop} part. If @var{allowed?} is true, the application will have access "
28574 "to location information by default. The boolean @var{system?} value "
28575 "indicates whether an application is a system component or not. Finally "
28576 "@var{users} is a list of UIDs of all users for which this application is "
28577 "allowed location info access. An empty users list means that all users are "
28578 "allowed."
28579 msgstr ""
28580
28581 #. type: defvr
28582 #: doc/guix.texi:12772
28583 #, no-wrap
28584 msgid "{Scheme Variable} %standard-geoclue-applications"
28585 msgstr ""
28586
28587 #. type: defvr
28588 #: doc/guix.texi:12779
28589 msgid ""
28590 "The standard list of well-known GeoClue application configurations, granting "
28591 "authority to the GNOME date-and-time utility to ask for the current location "
28592 "in order to set the time zone, and allowing the IceCat and Epiphany web "
28593 "browsers to request location information. IceCat and Epiphany both query "
28594 "the user before allowing a web page to know the user's location."
28595 msgstr ""
28596
28597 #. type: deffn
28598 #: doc/guix.texi:12781
28599 #, no-wrap
28600 msgid "{Scheme Procedure} geoclue-service [#:colord @var{colord}] @"
28601 msgstr ""
28602
28603 #. type: deffn
28604 #: doc/guix.texi:12794
28605 msgid ""
28606 "[#:whitelist '()] @ [#:wifi-geolocation-url \"https://location.services."
28607 "mozilla.com/v1/geolocate?key=geoclue\"] @ [#:submit-data? #f] [#:wifi-"
28608 "submission-url \"https://location.services.mozilla.com/v1/submit?key=geoclue"
28609 "\"] @ [#:submission-nick \"geoclue\"] @ [#:applications %standard-geoclue-"
28610 "applications] Return a service that runs the GeoClue location service. This "
28611 "service provides a D-Bus interface to allow applications to request access "
28612 "to a user's physical location, and optionally to add information to online "
28613 "location databases. See @uref{https://wiki.freedesktop.org/www/Software/"
28614 "GeoClue/, the GeoClue web site} for more information."
28615 msgstr ""
28616
28617 #. type: deffn
28618 #: doc/guix.texi:12796
28619 #, no-wrap
28620 msgid "{Scheme Procedure} bluetooth-service [#:bluez @var{bluez}] @"
28621 msgstr ""
28622
28623 #. type: deffn
28624 #: doc/guix.texi:12803
28625 msgid ""
28626 "[@w{#:auto-enable? #f}] Return a service that runs the @command{bluetoothd} "
28627 "daemon, which manages all the Bluetooth devices and provides a number of D-"
28628 "Bus interfaces. When AUTO-ENABLE? is true, the bluetooth controller is "
28629 "powered automatically at boot, which can be useful when using a bluetooth "
28630 "keyboard or mouse."
28631 msgstr ""
28632
28633 #. type: deffn
28634 #: doc/guix.texi:12805
28635 msgid "Users need to be in the @code{lp} group to access the D-Bus service."
28636 msgstr ""
28637
28638 #. type: cindex
28639 #: doc/guix.texi:12811
28640 #, no-wrap
28641 msgid "SQL"
28642 msgstr ""
28643
28644 #. type: Plain text
28645 #: doc/guix.texi:12813
28646 msgid ""
28647 "The @code{(gnu services databases)} module provides the following services."
28648 msgstr ""
28649
28650 #. type: deffn
28651 #: doc/guix.texi:12814
28652 #, no-wrap
28653 msgid "{Scheme Procedure} postgresql-service [#:postgresql postgresql] @"
28654 msgstr ""
28655
28656 #. type: deffn
28657 #: doc/guix.texi:12819
28658 msgid ""
28659 "[#:config-file] [#:data-directory ``/var/lib/postgresql/data''] @ [#:port "
28660 "5432] [#:locale ``en_US.utf8''] Return a service that runs @var{postgresql}, "
28661 "the PostgreSQL database server."
28662 msgstr ""
28663
28664 #. type: deffn
28665 #: doc/guix.texi:12823
28666 msgid ""
28667 "The PostgreSQL daemon loads its runtime configuration from @var{config-"
28668 "file}, creates a database cluster with @var{locale} as the default locale, "
28669 "stored in @var{data-directory}. It then listens on @var{port}."
28670 msgstr ""
28671
28672 #. type: deffn
28673 #: doc/guix.texi:12825
28674 #, no-wrap
28675 msgid "{Scheme Procedure} mysql-service [#:config (mysql-configuration)]"
28676 msgstr ""
28677
28678 #. type: deffn
28679 #: doc/guix.texi:12828
28680 msgid ""
28681 "Return a service that runs @command{mysqld}, the MySQL or MariaDB database "
28682 "server."
28683 msgstr ""
28684
28685 #. type: deffn
28686 #: doc/guix.texi:12831
28687 msgid ""
28688 "The optional @var{config} argument specifies the configuration for "
28689 "@command{mysqld}, which should be a @code{<mysql-configuration>} object."
28690 msgstr ""
28691
28692 #. type: deftp
28693 #: doc/guix.texi:12833
28694 #, no-wrap
28695 msgid "{Data Type} mysql-configuration"
28696 msgstr ""
28697
28698 #. type: deftp
28699 #: doc/guix.texi:12835
28700 msgid "Data type representing the configuration of @var{mysql-service}."
28701 msgstr ""
28702
28703 #. type: item
28704 #: doc/guix.texi:12837
28705 #, no-wrap
28706 msgid "@code{mysql} (default: @var{mariadb})"
28707 msgstr ""
28708
28709 #. type: table
28710 #: doc/guix.texi:12840
28711 msgid ""
28712 "Package object of the MySQL database server, can be either @var{mariadb} or "
28713 "@var{mysql}."
28714 msgstr ""
28715
28716 #. type: table
28717 #: doc/guix.texi:12843
28718 msgid ""
28719 "For MySQL, a temporary root password will be displayed at activation time. "
28720 "For MariaDB, the root password is empty."
28721 msgstr ""
28722
28723 #. type: item
28724 #: doc/guix.texi:12844
28725 #, no-wrap
28726 msgid "@code{port} (default: @code{3306})"
28727 msgstr ""
28728
28729 #. type: table
28730 #: doc/guix.texi:12846
28731 msgid "TCP port on which the database server listens for incoming connections."
28732 msgstr ""
28733
28734 #. type: defvr
28735 #: doc/guix.texi:12849
28736 #, no-wrap
28737 msgid "{Scheme Variable} memcached-service-type"
28738 msgstr ""
28739
28740 #. type: defvr
28741 #: doc/guix.texi:12853
28742 msgid ""
28743 "This is the service type for the @uref{https://memcached.org/, Memcached} "
28744 "service, which provides a distributed in memory cache. The value for the "
28745 "service type is a @code{memcached-configuration} object."
28746 msgstr ""
28747
28748 #. type: example
28749 #: doc/guix.texi:12857
28750 #, no-wrap
28751 msgid "(service memcached-service-type)\n"
28752 msgstr ""
28753
28754 #. type: deftp
28755 #: doc/guix.texi:12859
28756 #, no-wrap
28757 msgid "{Data Type} memcached-configuration"
28758 msgstr ""
28759
28760 #. type: deftp
28761 #: doc/guix.texi:12861
28762 msgid "Data type representing the configuration of memcached."
28763 msgstr ""
28764
28765 #. type: item
28766 #: doc/guix.texi:12863
28767 #, no-wrap
28768 msgid "@code{memcached} (default: @code{memcached})"
28769 msgstr ""
28770
28771 #. type: table
28772 #: doc/guix.texi:12865
28773 msgid "The Memcached package to use."
28774 msgstr ""
28775
28776 #. type: item
28777 #: doc/guix.texi:12866
28778 #, no-wrap
28779 msgid "@code{interfaces} (default: @code{'(\"0.0.0.0\")})"
28780 msgstr ""
28781
28782 #. type: table
28783 #: doc/guix.texi:12868
28784 msgid "Network interfaces on which to listen."
28785 msgstr ""
28786
28787 #. type: item
28788 #: doc/guix.texi:12869
28789 #, no-wrap
28790 msgid "@code{tcp-port} (default: @code{11211})"
28791 msgstr ""
28792
28793 #. type: table
28794 #: doc/guix.texi:12871
28795 msgid "Port on which to accept connections on,"
28796 msgstr ""
28797
28798 #. type: item
28799 #: doc/guix.texi:12872
28800 #, no-wrap
28801 msgid "@code{udp-port} (default: @code{11211})"
28802 msgstr ""
28803
28804 #. type: table
28805 #: doc/guix.texi:12875
28806 msgid ""
28807 "Port on which to accept UDP connections on, a value of 0 will disable "
28808 "listening on a UDP socket."
28809 msgstr ""
28810
28811 #. type: item
28812 #: doc/guix.texi:12876
28813 #, no-wrap
28814 msgid "@code{additional-options} (default: @code{'()})"
28815 msgstr ""
28816
28817 #. type: table
28818 #: doc/guix.texi:12878
28819 msgid "Additional command line options to pass to @code{memcached}."
28820 msgstr ""
28821
28822 #. type: defvr
28823 #: doc/guix.texi:12881
28824 #, no-wrap
28825 msgid "{Scheme Variable} mongodb-service-type"
28826 msgstr ""
28827
28828 #. type: defvr
28829 #: doc/guix.texi:12884
28830 msgid ""
28831 "This is the service type for @uref{https://www.mongodb.com/, MongoDB}. The "
28832 "value for the service type is a @code{mongodb-configuration} object."
28833 msgstr ""
28834
28835 #. type: example
28836 #: doc/guix.texi:12888
28837 #, no-wrap
28838 msgid "(service mongodb-service-type)\n"
28839 msgstr ""
28840
28841 #. type: deftp
28842 #: doc/guix.texi:12890
28843 #, no-wrap
28844 msgid "{Data Type} mongodb-configuration"
28845 msgstr ""
28846
28847 #. type: deftp
28848 #: doc/guix.texi:12892
28849 msgid "Data type representing the configuration of mongodb."
28850 msgstr ""
28851
28852 #. type: item
28853 #: doc/guix.texi:12894
28854 #, no-wrap
28855 msgid "@code{mongodb} (default: @code{mongodb})"
28856 msgstr ""
28857
28858 #. type: table
28859 #: doc/guix.texi:12896
28860 msgid "The MongoDB package to use."
28861 msgstr ""
28862
28863 #. type: item
28864 #: doc/guix.texi:12897
28865 #, no-wrap
28866 msgid "@code{config-file} (default: @code{%default-mongodb-configuration-file})"
28867 msgstr ""
28868
28869 #. type: table
28870 #: doc/guix.texi:12899
28871 msgid "The configuration file for MongoDB."
28872 msgstr ""
28873
28874 #. type: item
28875 #: doc/guix.texi:12900
28876 #, no-wrap
28877 msgid "@code{data-directory} (default: @code{\"/var/lib/mongodb\"})"
28878 msgstr ""
28879
28880 #. type: table
28881 #: doc/guix.texi:12904
28882 msgid ""
28883 "This value is used to create the directory, so that it exists and is owned "
28884 "by the mongodb user. It should match the data-directory which MongoDB is "
28885 "configured to use through the configuration file."
28886 msgstr ""
28887
28888 #. type: defvr
28889 #: doc/guix.texi:12907
28890 #, no-wrap
28891 msgid "{Scheme Variable} redis-service-type"
28892 msgstr ""
28893
28894 #. type: defvr
28895 #: doc/guix.texi:12910
28896 msgid ""
28897 "This is the service type for the @uref{https://redis.io/, Redis} key/value "
28898 "store, whose value is a @code{redis-configuration} object."
28899 msgstr ""
28900
28901 #. type: deftp
28902 #: doc/guix.texi:12912
28903 #, no-wrap
28904 msgid "{Data Type} redis-configuration"
28905 msgstr ""
28906
28907 #. type: deftp
28908 #: doc/guix.texi:12914
28909 msgid "Data type representing the configuration of redis."
28910 msgstr ""
28911
28912 #. type: item
28913 #: doc/guix.texi:12916
28914 #, no-wrap
28915 msgid "@code{redis} (default: @code{redis})"
28916 msgstr ""
28917
28918 #. type: table
28919 #: doc/guix.texi:12918
28920 msgid "The Redis package to use."
28921 msgstr ""
28922
28923 #. type: item
28924 #: doc/guix.texi:12919
28925 #, no-wrap
28926 msgid "@code{bind} (default: @code{\"127.0.0.1\"})"
28927 msgstr ""
28928
28929 #. type: table
28930 #: doc/guix.texi:12921
28931 msgid "Network interface on which to listen."
28932 msgstr ""
28933
28934 #. type: item
28935 #: doc/guix.texi:12922
28936 #, no-wrap
28937 msgid "@code{port} (default: @code{6379})"
28938 msgstr ""
28939
28940 #. type: table
28941 #: doc/guix.texi:12925
28942 msgid ""
28943 "Port on which to accept connections on, a value of 0 will disable listening "
28944 "on a TCP socket."
28945 msgstr ""
28946
28947 #. type: item
28948 #: doc/guix.texi:12926
28949 #, no-wrap
28950 msgid "@code{working-directory} (default: @code{\"/var/lib/redis\"})"
28951 msgstr ""
28952
28953 #. type: table
28954 #: doc/guix.texi:12928
28955 msgid "Directory in which to store the database and related files."
28956 msgstr ""
28957
28958 #. type: cindex
28959 #: doc/guix.texi:12934
28960 #, no-wrap
28961 msgid "mail"
28962 msgstr ""
28963
28964 #. type: code{#1}
28965 #: doc/guix.texi:12935 doc/guix.texi:16030
28966 #, no-wrap
28967 msgid "email"
28968 msgstr ""
28969
28970 #. type: Plain text
28971 #: doc/guix.texi:12940
28972 msgid ""
28973 "The @code{(gnu services mail)} module provides Guix service definitions for "
28974 "email services: IMAP, POP3, and LMTP servers, as well as mail transport "
28975 "agents (MTAs). Lots of acronyms! These services are detailed in the "
28976 "subsections below."
28977 msgstr ""
28978
28979 #. type: subsubheading
28980 #: doc/guix.texi:12941
28981 #, no-wrap
28982 msgid "Dovecot Service"
28983 msgstr ""
28984
28985 #. type: deffn
28986 #: doc/guix.texi:12943
28987 #, no-wrap
28988 msgid "{Scheme Procedure} dovecot-service [#:config (dovecot-configuration)]"
28989 msgstr ""
28990
28991 #. type: deffn
28992 #: doc/guix.texi:12945
28993 msgid "Return a service that runs the Dovecot IMAP/POP3/LMTP mail server."
28994 msgstr ""
28995
28996 #. type: Plain text
28997 #: doc/guix.texi:12955
28998 msgid ""
28999 "By default, Dovecot does not need much configuration; the default "
29000 "configuration object created by @code{(dovecot-configuration)} will suffice "
29001 "if your mail is delivered to @code{~/Maildir}. A self-signed certificate "
29002 "will be generated for TLS-protected connections, though Dovecot will also "
29003 "listen on cleartext ports by default. There are a number of options, "
29004 "though, which mail administrators might need to change, and as is the case "
29005 "with other services, Guix allows the system administrator to specify these "
29006 "parameters via a uniform Scheme interface."
29007 msgstr ""
29008
29009 #. type: Plain text
29010 #: doc/guix.texi:12958
29011 msgid ""
29012 "For example, to specify that mail is located at @code{maildir~/.mail}, one "
29013 "would instantiate the Dovecot service like this:"
29014 msgstr ""
29015
29016 #. type: example
29017 #: doc/guix.texi:12963
29018 #, no-wrap
29019 msgid ""
29020 "(dovecot-service #:config\n"
29021 " (dovecot-configuration\n"
29022 " (mail-location \"maildir:~/.mail\")))\n"
29023 msgstr ""
29024
29025 #. type: Plain text
29026 #: doc/guix.texi:12971
29027 msgid ""
29028 "The available configuration parameters follow. Each parameter definition is "
29029 "preceded by its type; for example, @samp{string-list foo} indicates that the "
29030 "@code{foo} parameter should be specified as a list of strings. There is "
29031 "also a way to specify the configuration as a string, if you have an old "
29032 "@code{dovecot.conf} file that you want to port over from some other system; "
29033 "see the end for more details."
29034 msgstr ""
29035
29036 #. type: Plain text
29037 #: doc/guix.texi:12981
29038 msgid "Available @code{dovecot-configuration} fields are:"
29039 msgstr ""
29040
29041 #. type: deftypevr
29042 #: doc/guix.texi:12982
29043 #, no-wrap
29044 msgid "{@code{dovecot-configuration} parameter} package dovecot"
29045 msgstr ""
29046
29047 #. type: deftypevr
29048 #: doc/guix.texi:12984 doc/guix.texi:14271
29049 msgid "The dovecot package."
29050 msgstr ""
29051
29052 #. type: deftypevr
29053 #: doc/guix.texi:12986
29054 #, no-wrap
29055 msgid "{@code{dovecot-configuration} parameter} comma-separated-string-list listen"
29056 msgstr ""
29057
29058 #. type: deftypevr
29059 #: doc/guix.texi:12992
29060 msgid ""
29061 "A list of IPs or hosts where to listen for connections. @samp{*} listens on "
29062 "all IPv4 interfaces, @samp{::} listens on all IPv6 interfaces. If you want "
29063 "to specify non-default ports or anything more complex, customize the address "
29064 "and port fields of the @samp{inet-listener} of the specific services you are "
29065 "interested in."
29066 msgstr ""
29067
29068 #. type: deftypevr
29069 #: doc/guix.texi:12994
29070 #, no-wrap
29071 msgid "{@code{dovecot-configuration} parameter} protocol-configuration-list protocols"
29072 msgstr ""
29073
29074 #. type: deftypevr
29075 #: doc/guix.texi:12997
29076 msgid ""
29077 "List of protocols we want to serve. Available protocols include "
29078 "@samp{imap}, @samp{pop3}, and @samp{lmtp}."
29079 msgstr ""
29080
29081 #. type: deftypevr
29082 #: doc/guix.texi:12999
29083 msgid "Available @code{protocol-configuration} fields are:"
29084 msgstr ""
29085
29086 #. type: deftypevr
29087 #: doc/guix.texi:13000
29088 #, no-wrap
29089 msgid "{@code{protocol-configuration} parameter} string name"
29090 msgstr ""
29091
29092 #. type: deftypevr
29093 #: doc/guix.texi:13002
29094 msgid "The name of the protocol."
29095 msgstr ""
29096
29097 #. type: deftypevr
29098 #: doc/guix.texi:13004
29099 #, no-wrap
29100 msgid "{@code{protocol-configuration} parameter} string auth-socket-path"
29101 msgstr ""
29102
29103 #. type: deftypevr
29104 #: doc/guix.texi:13008
29105 msgid ""
29106 "UNIX socket path to the master authentication server to find users. This is "
29107 "used by imap (for shared users) and lda. It defaults to @samp{\"/var/run/"
29108 "dovecot/auth-userdb\"}."
29109 msgstr ""
29110
29111 #. type: deftypevr
29112 #: doc/guix.texi:13010
29113 #, no-wrap
29114 msgid "{@code{protocol-configuration} parameter} space-separated-string-list mail-plugins"
29115 msgstr ""
29116
29117 #. type: deftypevr
29118 #: doc/guix.texi:13012
29119 msgid "Space separated list of plugins to load."
29120 msgstr ""
29121
29122 #. type: deftypevr
29123 #: doc/guix.texi:13014
29124 #, no-wrap
29125 msgid "{@code{protocol-configuration} parameter} non-negative-integer mail-max-userip-connections"
29126 msgstr ""
29127
29128 #. type: deftypevr
29129 #: doc/guix.texi:13018
29130 msgid ""
29131 "Maximum number of IMAP connections allowed for a user from each IP address. "
29132 "NOTE: The username is compared case-sensitively. Defaults to @samp{10}."
29133 msgstr ""
29134
29135 #. type: deftypevr
29136 #: doc/guix.texi:13022
29137 #, no-wrap
29138 msgid "{@code{dovecot-configuration} parameter} service-configuration-list services"
29139 msgstr ""
29140
29141 #. type: deftypevr
29142 #: doc/guix.texi:13026
29143 msgid ""
29144 "List of services to enable. Available services include @samp{imap}, "
29145 "@samp{imap-login}, @samp{pop3}, @samp{pop3-login}, @samp{auth}, and "
29146 "@samp{lmtp}."
29147 msgstr ""
29148
29149 #. type: deftypevr
29150 #: doc/guix.texi:13028
29151 msgid "Available @code{service-configuration} fields are:"
29152 msgstr ""
29153
29154 #. type: deftypevr
29155 #: doc/guix.texi:13029
29156 #, no-wrap
29157 msgid "{@code{service-configuration} parameter} string kind"
29158 msgstr ""
29159
29160 #. type: deftypevr
29161 #: doc/guix.texi:13034
29162 msgid ""
29163 "The service kind. Valid values include @code{director}, @code{imap-login}, "
29164 "@code{pop3-login}, @code{lmtp}, @code{imap}, @code{pop3}, @code{auth}, "
29165 "@code{auth-worker}, @code{dict}, @code{tcpwrap}, @code{quota-warning}, or "
29166 "anything else."
29167 msgstr ""
29168
29169 #. type: deftypevr
29170 #: doc/guix.texi:13036
29171 #, no-wrap
29172 msgid "{@code{service-configuration} parameter} listener-configuration-list listeners"
29173 msgstr ""
29174
29175 #. type: deftypevr
29176 #: doc/guix.texi:13041
29177 msgid ""
29178 "Listeners for the service. A listener is either a @code{unix-listener-"
29179 "configuration}, a @code{fifo-listener-configuration}, or an @code{inet-"
29180 "listener-configuration}. Defaults to @samp{()}."
29181 msgstr ""
29182
29183 #. type: deftypevr
29184 #: doc/guix.texi:13043
29185 msgid "Available @code{unix-listener-configuration} fields are:"
29186 msgstr ""
29187
29188 #. type: deftypevr
29189 #: doc/guix.texi:13044
29190 #, no-wrap
29191 msgid "{@code{unix-listener-configuration} parameter} string path"
29192 msgstr ""
29193
29194 #. type: deftypevr
29195 #: doc/guix.texi:13047 doc/guix.texi:13070
29196 msgid ""
29197 "Path to the file, relative to @code{base-dir} field. This is also used as "
29198 "the section name."
29199 msgstr ""
29200
29201 #. type: deftypevr
29202 #: doc/guix.texi:13049
29203 #, no-wrap
29204 msgid "{@code{unix-listener-configuration} parameter} string mode"
29205 msgstr ""
29206
29207 #. type: deftypevr
29208 #: doc/guix.texi:13052 doc/guix.texi:13075
29209 msgid "The access mode for the socket. Defaults to @samp{\"0600\"}."
29210 msgstr ""
29211
29212 #. type: deftypevr
29213 #: doc/guix.texi:13054
29214 #, no-wrap
29215 msgid "{@code{unix-listener-configuration} parameter} string user"
29216 msgstr ""
29217
29218 #. type: deftypevr
29219 #: doc/guix.texi:13057 doc/guix.texi:13080
29220 msgid "The user to own the socket. Defaults to @samp{\"\"}."
29221 msgstr ""
29222
29223 #. type: deftypevr
29224 #: doc/guix.texi:13059
29225 #, no-wrap
29226 msgid "{@code{unix-listener-configuration} parameter} string group"
29227 msgstr ""
29228
29229 #. type: deftypevr
29230 #: doc/guix.texi:13062 doc/guix.texi:13085
29231 msgid "The group to own the socket. Defaults to @samp{\"\"}."
29232 msgstr ""
29233
29234 #. type: deftypevr
29235 #: doc/guix.texi:13066
29236 msgid "Available @code{fifo-listener-configuration} fields are:"
29237 msgstr ""
29238
29239 #. type: deftypevr
29240 #: doc/guix.texi:13067
29241 #, no-wrap
29242 msgid "{@code{fifo-listener-configuration} parameter} string path"
29243 msgstr ""
29244
29245 #. type: deftypevr
29246 #: doc/guix.texi:13072
29247 #, no-wrap
29248 msgid "{@code{fifo-listener-configuration} parameter} string mode"
29249 msgstr ""
29250
29251 #. type: deftypevr
29252 #: doc/guix.texi:13077
29253 #, no-wrap
29254 msgid "{@code{fifo-listener-configuration} parameter} string user"
29255 msgstr ""
29256
29257 #. type: deftypevr
29258 #: doc/guix.texi:13082
29259 #, no-wrap
29260 msgid "{@code{fifo-listener-configuration} parameter} string group"
29261 msgstr ""
29262
29263 #. type: deftypevr
29264 #: doc/guix.texi:13089
29265 msgid "Available @code{inet-listener-configuration} fields are:"
29266 msgstr ""
29267
29268 #. type: deftypevr
29269 #: doc/guix.texi:13090
29270 #, no-wrap
29271 msgid "{@code{inet-listener-configuration} parameter} string protocol"
29272 msgstr ""
29273
29274 #. type: deftypevr
29275 #: doc/guix.texi:13092
29276 msgid "The protocol to listen for."
29277 msgstr ""
29278
29279 #. type: deftypevr
29280 #: doc/guix.texi:13094
29281 #, no-wrap
29282 msgid "{@code{inet-listener-configuration} parameter} string address"
29283 msgstr ""
29284
29285 #. type: deftypevr
29286 #: doc/guix.texi:13097
29287 msgid ""
29288 "The address on which to listen, or empty for all addresses. Defaults to "
29289 "@samp{\"\"}."
29290 msgstr ""
29291
29292 #. type: deftypevr
29293 #: doc/guix.texi:13099
29294 #, no-wrap
29295 msgid "{@code{inet-listener-configuration} parameter} non-negative-integer port"
29296 msgstr ""
29297
29298 #. type: deftypevr
29299 #: doc/guix.texi:13101
29300 msgid "The port on which to listen."
29301 msgstr ""
29302
29303 #. type: deftypevr
29304 #: doc/guix.texi:13103
29305 #, no-wrap
29306 msgid "{@code{inet-listener-configuration} parameter} boolean ssl?"
29307 msgstr ""
29308
29309 #. type: deftypevr
29310 #: doc/guix.texi:13107
29311 msgid ""
29312 "Whether to use SSL for this service; @samp{yes}, @samp{no}, or "
29313 "@samp{required}. Defaults to @samp{#t}."
29314 msgstr ""
29315
29316 #. type: deftypevr
29317 #: doc/guix.texi:13111
29318 #, no-wrap
29319 msgid "{@code{service-configuration} parameter} non-negative-integer service-count"
29320 msgstr ""
29321
29322 #. type: deftypevr
29323 #: doc/guix.texi:13116
29324 msgid ""
29325 "Number of connections to handle before starting a new process. Typically "
29326 "the only useful values are 0 (unlimited) or 1. 1 is more secure, but 0 is "
29327 "faster. <doc/wiki/LoginProcess.txt>. Defaults to @samp{1}."
29328 msgstr ""
29329
29330 #. type: deftypevr
29331 #: doc/guix.texi:13118
29332 #, no-wrap
29333 msgid "{@code{service-configuration} parameter} non-negative-integer process-min-avail"
29334 msgstr ""
29335
29336 #. type: deftypevr
29337 #: doc/guix.texi:13121
29338 msgid ""
29339 "Number of processes to always keep waiting for more connections. Defaults "
29340 "to @samp{0}."
29341 msgstr ""
29342
29343 #. type: deftypevr
29344 #: doc/guix.texi:13123
29345 #, no-wrap
29346 msgid "{@code{service-configuration} parameter} non-negative-integer vsz-limit"
29347 msgstr ""
29348
29349 #. type: deftypevr
29350 #: doc/guix.texi:13127
29351 msgid ""
29352 "If you set @samp{service-count 0}, you probably need to grow this. Defaults "
29353 "to @samp{256000000}."
29354 msgstr ""
29355
29356 #. type: deftypevr
29357 #: doc/guix.texi:13131
29358 #, no-wrap
29359 msgid "{@code{dovecot-configuration} parameter} dict-configuration dict"
29360 msgstr ""
29361
29362 #. type: deftypevr
29363 #: doc/guix.texi:13134
29364 msgid ""
29365 "Dict configuration, as created by the @code{dict-configuration} constructor."
29366 msgstr ""
29367
29368 #. type: deftypevr
29369 #: doc/guix.texi:13136
29370 msgid "Available @code{dict-configuration} fields are:"
29371 msgstr ""
29372
29373 #. type: deftypevr
29374 #: doc/guix.texi:13137
29375 #, no-wrap
29376 msgid "{@code{dict-configuration} parameter} free-form-fields entries"
29377 msgstr ""
29378
29379 #. type: deftypevr
29380 #: doc/guix.texi:13140
29381 msgid ""
29382 "A list of key-value pairs that this dict should hold. Defaults to @samp{()}."
29383 msgstr ""
29384
29385 #. type: deftypevr
29386 #: doc/guix.texi:13144
29387 #, no-wrap
29388 msgid "{@code{dovecot-configuration} parameter} passdb-configuration-list passdbs"
29389 msgstr ""
29390
29391 #. type: deftypevr
29392 #: doc/guix.texi:13147
29393 msgid ""
29394 "A list of passdb configurations, each one created by the @code{passdb-"
29395 "configuration} constructor."
29396 msgstr ""
29397
29398 #. type: deftypevr
29399 #: doc/guix.texi:13149
29400 msgid "Available @code{passdb-configuration} fields are:"
29401 msgstr ""
29402
29403 #. type: deftypevr
29404 #: doc/guix.texi:13150
29405 #, no-wrap
29406 msgid "{@code{passdb-configuration} parameter} string driver"
29407 msgstr ""
29408
29409 #. type: deftypevr
29410 #: doc/guix.texi:13155
29411 msgid ""
29412 "The driver that the passdb should use. Valid values include @samp{pam}, "
29413 "@samp{passwd}, @samp{shadow}, @samp{bsdauth}, and @samp{static}. Defaults "
29414 "to @samp{\"pam\"}."
29415 msgstr ""
29416
29417 #. type: deftypevr
29418 #: doc/guix.texi:13157
29419 #, no-wrap
29420 msgid "{@code{passdb-configuration} parameter} space-separated-string-list args"
29421 msgstr ""
29422
29423 #. type: deftypevr
29424 #: doc/guix.texi:13160
29425 msgid ""
29426 "Space separated list of arguments to the passdb driver. Defaults to "
29427 "@samp{\"\"}."
29428 msgstr ""
29429
29430 #. type: deftypevr
29431 #: doc/guix.texi:13164
29432 #, no-wrap
29433 msgid "{@code{dovecot-configuration} parameter} userdb-configuration-list userdbs"
29434 msgstr ""
29435
29436 #. type: deftypevr
29437 #: doc/guix.texi:13167
29438 msgid ""
29439 "List of userdb configurations, each one created by the @code{userdb-"
29440 "configuration} constructor."
29441 msgstr ""
29442
29443 #. type: deftypevr
29444 #: doc/guix.texi:13169
29445 msgid "Available @code{userdb-configuration} fields are:"
29446 msgstr ""
29447
29448 #. type: deftypevr
29449 #: doc/guix.texi:13170
29450 #, no-wrap
29451 msgid "{@code{userdb-configuration} parameter} string driver"
29452 msgstr ""
29453
29454 #. type: deftypevr
29455 #: doc/guix.texi:13174
29456 msgid ""
29457 "The driver that the userdb should use. Valid values include @samp{passwd} "
29458 "and @samp{static}. Defaults to @samp{\"passwd\"}."
29459 msgstr ""
29460
29461 #. type: deftypevr
29462 #: doc/guix.texi:13176
29463 #, no-wrap
29464 msgid "{@code{userdb-configuration} parameter} space-separated-string-list args"
29465 msgstr ""
29466
29467 #. type: deftypevr
29468 #: doc/guix.texi:13179
29469 msgid ""
29470 "Space separated list of arguments to the userdb driver. Defaults to "
29471 "@samp{\"\"}."
29472 msgstr ""
29473
29474 #. type: deftypevr
29475 #: doc/guix.texi:13181
29476 #, no-wrap
29477 msgid "{@code{userdb-configuration} parameter} free-form-args override-fields"
29478 msgstr ""
29479
29480 #. type: deftypevr
29481 #: doc/guix.texi:13184
29482 msgid "Override fields from passwd. Defaults to @samp{()}."
29483 msgstr ""
29484
29485 #. type: deftypevr
29486 #: doc/guix.texi:13188
29487 #, no-wrap
29488 msgid "{@code{dovecot-configuration} parameter} plugin-configuration plugin-configuration"
29489 msgstr ""
29490
29491 #. type: deftypevr
29492 #: doc/guix.texi:13191
29493 msgid ""
29494 "Plug-in configuration, created by the @code{plugin-configuration} "
29495 "constructor."
29496 msgstr ""
29497
29498 #. type: deftypevr
29499 #: doc/guix.texi:13193
29500 #, no-wrap
29501 msgid "{@code{dovecot-configuration} parameter} list-of-namespace-configuration namespaces"
29502 msgstr ""
29503
29504 #. type: deftypevr
29505 #: doc/guix.texi:13196
29506 msgid ""
29507 "List of namespaces. Each item in the list is created by the @code{namespace-"
29508 "configuration} constructor."
29509 msgstr ""
29510
29511 #. type: deftypevr
29512 #: doc/guix.texi:13198
29513 msgid "Available @code{namespace-configuration} fields are:"
29514 msgstr ""
29515
29516 #. type: deftypevr
29517 #: doc/guix.texi:13199
29518 #, no-wrap
29519 msgid "{@code{namespace-configuration} parameter} string name"
29520 msgstr ""
29521
29522 #. type: deftypevr
29523 #: doc/guix.texi:13201
29524 msgid "Name for this namespace."
29525 msgstr ""
29526
29527 #. type: deftypevr
29528 #: doc/guix.texi:13203
29529 #, no-wrap
29530 msgid "{@code{namespace-configuration} parameter} string type"
29531 msgstr ""
29532
29533 #. type: deftypevr
29534 #: doc/guix.texi:13206
29535 msgid ""
29536 "Namespace type: @samp{private}, @samp{shared} or @samp{public}. Defaults to "
29537 "@samp{\"private\"}."
29538 msgstr ""
29539
29540 #. type: deftypevr
29541 #: doc/guix.texi:13208
29542 #, no-wrap
29543 msgid "{@code{namespace-configuration} parameter} string separator"
29544 msgstr ""
29545
29546 #. type: deftypevr
29547 #: doc/guix.texi:13214
29548 msgid ""
29549 "Hierarchy separator to use. You should use the same separator for all "
29550 "namespaces or some clients get confused. @samp{/} is usually a good one. "
29551 "The default however depends on the underlying mail storage format. Defaults "
29552 "to @samp{\"\"}."
29553 msgstr ""
29554
29555 #. type: deftypevr
29556 #: doc/guix.texi:13216
29557 #, no-wrap
29558 msgid "{@code{namespace-configuration} parameter} string prefix"
29559 msgstr ""
29560
29561 #. type: deftypevr
29562 #: doc/guix.texi:13220
29563 msgid ""
29564 "Prefix required to access this namespace. This needs to be different for "
29565 "all namespaces. For example @samp{Public/}. Defaults to @samp{\"\"}."
29566 msgstr ""
29567
29568 #. type: deftypevr
29569 #: doc/guix.texi:13222
29570 #, no-wrap
29571 msgid "{@code{namespace-configuration} parameter} string location"
29572 msgstr ""
29573
29574 #. type: deftypevr
29575 #: doc/guix.texi:13226
29576 msgid ""
29577 "Physical location of the mailbox. This is in the same format as "
29578 "mail_location, which is also the default for it. Defaults to @samp{\"\"}."
29579 msgstr ""
29580
29581 #. type: deftypevr
29582 #: doc/guix.texi:13228
29583 #, no-wrap
29584 msgid "{@code{namespace-configuration} parameter} boolean inbox?"
29585 msgstr ""
29586
29587 #. type: deftypevr
29588 #: doc/guix.texi:13232
29589 msgid ""
29590 "There can be only one INBOX, and this setting defines which namespace has "
29591 "it. Defaults to @samp{#f}."
29592 msgstr ""
29593
29594 #. type: deftypevr
29595 #: doc/guix.texi:13234
29596 #, no-wrap
29597 msgid "{@code{namespace-configuration} parameter} boolean hidden?"
29598 msgstr ""
29599
29600 #. type: deftypevr
29601 #: doc/guix.texi:13242
29602 msgid ""
29603 "If namespace is hidden, it's not advertised to clients via NAMESPACE "
29604 "extension. You'll most likely also want to set @samp{list? #f}. This is "
29605 "mostly useful when converting from another server with different namespaces "
29606 "which you want to deprecate but still keep working. For example you can "
29607 "create hidden namespaces with prefixes @samp{~/mail/}, @samp{~%u/mail/} and "
29608 "@samp{mail/}. Defaults to @samp{#f}."
29609 msgstr ""
29610
29611 #. type: deftypevr
29612 #: doc/guix.texi:13244
29613 #, no-wrap
29614 msgid "{@code{namespace-configuration} parameter} boolean list?"
29615 msgstr ""
29616
29617 #. type: deftypevr
29618 #: doc/guix.texi:13250
29619 msgid ""
29620 "Show the mailboxes under this namespace with the LIST command. This makes "
29621 "the namespace visible for clients that do not support the NAMESPACE "
29622 "extension. The special @code{children} value lists child mailboxes, but "
29623 "hides the namespace prefix. Defaults to @samp{#t}."
29624 msgstr ""
29625
29626 #. type: deftypevr
29627 #: doc/guix.texi:13252
29628 #, no-wrap
29629 msgid "{@code{namespace-configuration} parameter} boolean subscriptions?"
29630 msgstr ""
29631
29632 #. type: deftypevr
29633 #: doc/guix.texi:13257
29634 msgid ""
29635 "Namespace handles its own subscriptions. If set to @code{#f}, the parent "
29636 "namespace handles them. The empty prefix should always have this as "
29637 "@code{#t}). Defaults to @samp{#t}."
29638 msgstr ""
29639
29640 #. type: deftypevr
29641 #: doc/guix.texi:13259
29642 #, no-wrap
29643 msgid "{@code{namespace-configuration} parameter} mailbox-configuration-list mailboxes"
29644 msgstr ""
29645
29646 #. type: deftypevr
29647 #: doc/guix.texi:13262
29648 msgid "List of predefined mailboxes in this namespace. Defaults to @samp{()}."
29649 msgstr ""
29650
29651 #. type: deftypevr
29652 #: doc/guix.texi:13264
29653 msgid "Available @code{mailbox-configuration} fields are:"
29654 msgstr ""
29655
29656 #. type: deftypevr
29657 #: doc/guix.texi:13265
29658 #, no-wrap
29659 msgid "{@code{mailbox-configuration} parameter} string name"
29660 msgstr ""
29661
29662 #. type: deftypevr
29663 #: doc/guix.texi:13267
29664 msgid "Name for this mailbox."
29665 msgstr ""
29666
29667 #. type: deftypevr
29668 #: doc/guix.texi:13269
29669 #, no-wrap
29670 msgid "{@code{mailbox-configuration} parameter} string auto"
29671 msgstr ""
29672
29673 #. type: deftypevr
29674 #: doc/guix.texi:13273
29675 msgid ""
29676 "@samp{create} will automatically create this mailbox. @samp{subscribe} will "
29677 "both create and subscribe to the mailbox. Defaults to @samp{\"no\"}."
29678 msgstr ""
29679
29680 #. type: deftypevr
29681 #: doc/guix.texi:13275
29682 #, no-wrap
29683 msgid "{@code{mailbox-configuration} parameter} space-separated-string-list special-use"
29684 msgstr ""
29685
29686 #. type: deftypevr
29687 #: doc/guix.texi:13280
29688 msgid ""
29689 "List of IMAP @code{SPECIAL-USE} attributes as specified by RFC 6154. Valid "
29690 "values are @code{\\All}, @code{\\Archive}, @code{\\Drafts}, "
29691 "@code{\\Flagged}, @code{\\Junk}, @code{\\Sent}, and @code{\\Trash}. "
29692 "Defaults to @samp{()}."
29693 msgstr ""
29694
29695 #. type: deftypevr
29696 #: doc/guix.texi:13286
29697 #, no-wrap
29698 msgid "{@code{dovecot-configuration} parameter} file-name base-dir"
29699 msgstr ""
29700
29701 #. type: deftypevr
29702 #: doc/guix.texi:13289
29703 msgid ""
29704 "Base directory where to store runtime data. Defaults to @samp{\"/var/run/"
29705 "dovecot/\"}."
29706 msgstr ""
29707
29708 #. type: deftypevr
29709 #: doc/guix.texi:13291
29710 #, no-wrap
29711 msgid "{@code{dovecot-configuration} parameter} string login-greeting"
29712 msgstr ""
29713
29714 #. type: deftypevr
29715 #: doc/guix.texi:13294
29716 msgid "Greeting message for clients. Defaults to @samp{\"Dovecot ready.\"}."
29717 msgstr ""
29718
29719 #. type: deftypevr
29720 #: doc/guix.texi:13296
29721 #, no-wrap
29722 msgid "{@code{dovecot-configuration} parameter} space-separated-string-list login-trusted-networks"
29723 msgstr ""
29724
29725 #. type: deftypevr
29726 #: doc/guix.texi:13303
29727 msgid ""
29728 "List of trusted network ranges. Connections from these IPs are allowed to "
29729 "override their IP addresses and ports (for logging and for authentication "
29730 "checks). @samp{disable-plaintext-auth} is also ignored for these networks. "
29731 "Typically you would specify your IMAP proxy servers here. Defaults to "
29732 "@samp{()}."
29733 msgstr ""
29734
29735 #. type: deftypevr
29736 #: doc/guix.texi:13305
29737 #, no-wrap
29738 msgid "{@code{dovecot-configuration} parameter} space-separated-string-list login-access-sockets"
29739 msgstr ""
29740
29741 #. type: deftypevr
29742 #: doc/guix.texi:13308
29743 msgid ""
29744 "List of login access check sockets (e.g. tcpwrap). Defaults to @samp{()}."
29745 msgstr ""
29746
29747 #. type: deftypevr
29748 #: doc/guix.texi:13310
29749 #, no-wrap
29750 msgid "{@code{dovecot-configuration} parameter} boolean verbose-proctitle?"
29751 msgstr ""
29752
29753 #. type: deftypevr
29754 #: doc/guix.texi:13316
29755 msgid ""
29756 "Show more verbose process titles (in ps). Currently shows user name and IP "
29757 "address. Useful for seeing who is actually using the IMAP processes (e.g. "
29758 "shared mailboxes or if the same uid is used for multiple accounts). "
29759 "Defaults to @samp{#f}."
29760 msgstr ""
29761
29762 #. type: deftypevr
29763 #: doc/guix.texi:13318
29764 #, no-wrap
29765 msgid "{@code{dovecot-configuration} parameter} boolean shutdown-clients?"
29766 msgstr ""
29767
29768 #. type: deftypevr
29769 #: doc/guix.texi:13324
29770 msgid ""
29771 "Should all processes be killed when Dovecot master process shuts down. "
29772 "Setting this to @code{#f} means that Dovecot can be upgraded without forcing "
29773 "existing client connections to close (although that could also be a problem "
29774 "if the upgrade is e.g. due to a security fix). Defaults to @samp{#t}."
29775 msgstr ""
29776
29777 #. type: deftypevr
29778 #: doc/guix.texi:13326
29779 #, no-wrap
29780 msgid "{@code{dovecot-configuration} parameter} non-negative-integer doveadm-worker-count"
29781 msgstr ""
29782
29783 #. type: deftypevr
29784 #: doc/guix.texi:13330
29785 msgid ""
29786 "If non-zero, run mail commands via this many connections to doveadm server, "
29787 "instead of running them directly in the same process. Defaults to @samp{0}."
29788 msgstr ""
29789
29790 #. type: deftypevr
29791 #: doc/guix.texi:13332
29792 #, no-wrap
29793 msgid "{@code{dovecot-configuration} parameter} string doveadm-socket-path"
29794 msgstr ""
29795
29796 #. type: deftypevr
29797 #: doc/guix.texi:13335
29798 msgid ""
29799 "UNIX socket or host:port used for connecting to doveadm server. Defaults to "
29800 "@samp{\"doveadm-server\"}."
29801 msgstr ""
29802
29803 #. type: deftypevr
29804 #: doc/guix.texi:13337
29805 #, no-wrap
29806 msgid "{@code{dovecot-configuration} parameter} space-separated-string-list import-environment"
29807 msgstr ""
29808
29809 #. type: deftypevr
29810 #: doc/guix.texi:13341
29811 msgid ""
29812 "List of environment variables that are preserved on Dovecot startup and "
29813 "passed down to all of its child processes. You can also give key=value "
29814 "pairs to always set specific settings."
29815 msgstr ""
29816
29817 #. type: deftypevr
29818 #: doc/guix.texi:13343
29819 #, no-wrap
29820 msgid "{@code{dovecot-configuration} parameter} boolean disable-plaintext-auth?"
29821 msgstr ""
29822
29823 #. type: deftypevr
29824 #: doc/guix.texi:13350
29825 msgid ""
29826 "Disable LOGIN command and all other plaintext authentications unless SSL/TLS "
29827 "is used (LOGINDISABLED capability). Note that if the remote IP matches the "
29828 "local IP (i.e. you're connecting from the same computer), the connection is "
29829 "considered secure and plaintext authentication is allowed. See also "
29830 "ssl=required setting. Defaults to @samp{#t}."
29831 msgstr ""
29832
29833 #. type: deftypevr
29834 #: doc/guix.texi:13352
29835 #, no-wrap
29836 msgid "{@code{dovecot-configuration} parameter} non-negative-integer auth-cache-size"
29837 msgstr ""
29838
29839 #. type: deftypevr
29840 #: doc/guix.texi:13357
29841 msgid ""
29842 "Authentication cache size (e.g. @samp{#e10e6}). 0 means it's disabled. "
29843 "Note that bsdauth, PAM and vpopmail require @samp{cache-key} to be set for "
29844 "caching to be used. Defaults to @samp{0}."
29845 msgstr ""
29846
29847 #. type: deftypevr
29848 #: doc/guix.texi:13359
29849 #, no-wrap
29850 msgid "{@code{dovecot-configuration} parameter} string auth-cache-ttl"
29851 msgstr ""
29852
29853 #. type: deftypevr
29854 #: doc/guix.texi:13367
29855 msgid ""
29856 "Time to live for cached data. After TTL expires the cached record is no "
29857 "longer used, *except* if the main database lookup returns internal failure. "
29858 "We also try to handle password changes automatically: If user's previous "
29859 "authentication was successful, but this one wasn't, the cache isn't used. "
29860 "For now this works only with plaintext authentication. Defaults to "
29861 "@samp{\"1 hour\"}."
29862 msgstr ""
29863
29864 #. type: deftypevr
29865 #: doc/guix.texi:13369
29866 #, no-wrap
29867 msgid "{@code{dovecot-configuration} parameter} string auth-cache-negative-ttl"
29868 msgstr ""
29869
29870 #. type: deftypevr
29871 #: doc/guix.texi:13373
29872 msgid ""
29873 "TTL for negative hits (user not found, password mismatch). 0 disables "
29874 "caching them completely. Defaults to @samp{\"1 hour\"}."
29875 msgstr ""
29876
29877 #. type: deftypevr
29878 #: doc/guix.texi:13375
29879 #, no-wrap
29880 msgid "{@code{dovecot-configuration} parameter} space-separated-string-list auth-realms"
29881 msgstr ""
29882
29883 #. type: deftypevr
29884 #: doc/guix.texi:13381
29885 msgid ""
29886 "List of realms for SASL authentication mechanisms that need them. You can "
29887 "leave it empty if you don't want to support multiple realms. Many clients "
29888 "simply use the first one listed here, so keep the default realm first. "
29889 "Defaults to @samp{()}."
29890 msgstr ""
29891
29892 #. type: deftypevr
29893 #: doc/guix.texi:13383
29894 #, no-wrap
29895 msgid "{@code{dovecot-configuration} parameter} string auth-default-realm"
29896 msgstr ""
29897
29898 #. type: deftypevr
29899 #: doc/guix.texi:13388
29900 msgid ""
29901 "Default realm/domain to use if none was specified. This is used for both "
29902 "SASL realms and appending @@domain to username in plaintext logins. "
29903 "Defaults to @samp{\"\"}."
29904 msgstr ""
29905
29906 #. type: deftypevr
29907 #: doc/guix.texi:13390
29908 #, no-wrap
29909 msgid "{@code{dovecot-configuration} parameter} string auth-username-chars"
29910 msgstr ""
29911
29912 #. type: deftypevr
29913 #: doc/guix.texi:13397
29914 msgid ""
29915 "List of allowed characters in username. If the user-given username contains "
29916 "a character not listed in here, the login automatically fails. This is just "
29917 "an extra check to make sure user can't exploit any potential quote escaping "
29918 "vulnerabilities with SQL/LDAP databases. If you want to allow all "
29919 "characters, set this value to empty. Defaults to "
29920 "@samp{\"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890.-_@@"
29921 "\"}."
29922 msgstr ""
29923
29924 #. type: deftypevr
29925 #: doc/guix.texi:13399
29926 #, no-wrap
29927 msgid "{@code{dovecot-configuration} parameter} string auth-username-translation"
29928 msgstr ""
29929
29930 #. type: deftypevr
29931 #: doc/guix.texi:13405
29932 msgid ""
29933 "Username character translations before it's looked up from databases. The "
29934 "value contains series of from -> to characters. For example @samp{#@@/@@} "
29935 "means that @samp{#} and @samp{/} characters are translated to @samp{@@}. "
29936 "Defaults to @samp{\"\"}."
29937 msgstr ""
29938
29939 #. type: deftypevr
29940 #: doc/guix.texi:13407
29941 #, no-wrap
29942 msgid "{@code{dovecot-configuration} parameter} string auth-username-format"
29943 msgstr ""
29944
29945 #. type: deftypevr
29946 #: doc/guix.texi:13414
29947 msgid ""
29948 "Username formatting before it's looked up from databases. You can use the "
29949 "standard variables here, e.g. %Lu would lowercase the username, %n would "
29950 "drop away the domain if it was given, or @samp{%n-AT-%d} would change the "
29951 "@samp{@@} into @samp{-AT-}. This translation is done after @samp{auth-"
29952 "username-translation} changes. Defaults to @samp{\"%Lu\"}."
29953 msgstr ""
29954
29955 #. type: deftypevr
29956 #: doc/guix.texi:13416
29957 #, no-wrap
29958 msgid "{@code{dovecot-configuration} parameter} string auth-master-user-separator"
29959 msgstr ""
29960
29961 #. type: deftypevr
29962 #: doc/guix.texi:13424
29963 msgid ""
29964 "If you want to allow master users to log in by specifying the master "
29965 "username within the normal username string (i.e. not using SASL mechanism's "
29966 "support for it), you can specify the separator character here. The format "
29967 "is then <username><separator><master username>. UW-IMAP uses @samp{*} as "
29968 "the separator, so that could be a good choice. Defaults to @samp{\"\"}."
29969 msgstr ""
29970
29971 #. type: deftypevr
29972 #: doc/guix.texi:13426
29973 #, no-wrap
29974 msgid "{@code{dovecot-configuration} parameter} string auth-anonymous-username"
29975 msgstr ""
29976
29977 #. type: deftypevr
29978 #: doc/guix.texi:13430
29979 msgid ""
29980 "Username to use for users logging in with ANONYMOUS SASL mechanism. "
29981 "Defaults to @samp{\"anonymous\"}."
29982 msgstr ""
29983
29984 #. type: deftypevr
29985 #: doc/guix.texi:13432
29986 #, no-wrap
29987 msgid "{@code{dovecot-configuration} parameter} non-negative-integer auth-worker-max-count"
29988 msgstr ""
29989
29990 #. type: deftypevr
29991 #: doc/guix.texi:13437
29992 msgid ""
29993 "Maximum number of dovecot-auth worker processes. They're used to execute "
29994 "blocking passdb and userdb queries (e.g. MySQL and PAM). They're "
29995 "automatically created and destroyed as needed. Defaults to @samp{30}."
29996 msgstr ""
29997
29998 #. type: deftypevr
29999 #: doc/guix.texi:13439
30000 #, no-wrap
30001 msgid "{@code{dovecot-configuration} parameter} string auth-gssapi-hostname"
30002 msgstr ""
30003
30004 #. type: deftypevr
30005 #: doc/guix.texi:13444
30006 msgid ""
30007 "Host name to use in GSSAPI principal names. The default is to use the name "
30008 "returned by gethostname(). Use @samp{$ALL} (with quotes) to allow all "
30009 "keytab entries. Defaults to @samp{\"\"}."
30010 msgstr ""
30011
30012 #. type: deftypevr
30013 #: doc/guix.texi:13446
30014 #, no-wrap
30015 msgid "{@code{dovecot-configuration} parameter} string auth-krb5-keytab"
30016 msgstr ""
30017
30018 #. type: deftypevr
30019 #: doc/guix.texi:13452
30020 msgid ""
30021 "Kerberos keytab to use for the GSSAPI mechanism. Will use the system "
30022 "default (usually @file{/etc/krb5.keytab}) if not specified. You may need to "
30023 "change the auth service to run as root to be able to read this file. "
30024 "Defaults to @samp{\"\"}."
30025 msgstr ""
30026
30027 #. type: deftypevr
30028 #: doc/guix.texi:13454
30029 #, no-wrap
30030 msgid "{@code{dovecot-configuration} parameter} boolean auth-use-winbind?"
30031 msgstr ""
30032
30033 #. type: deftypevr
30034 #: doc/guix.texi:13459
30035 msgid ""
30036 "Do NTLM and GSS-SPNEGO authentication using Samba's winbind daemon and "
30037 "@samp{ntlm-auth} helper. <doc/wiki/Authentication/Mechanisms/Winbind.txt>. "
30038 "Defaults to @samp{#f}."
30039 msgstr ""
30040
30041 #. type: deftypevr
30042 #: doc/guix.texi:13461
30043 #, no-wrap
30044 msgid "{@code{dovecot-configuration} parameter} file-name auth-winbind-helper-path"
30045 msgstr ""
30046
30047 #. type: deftypevr
30048 #: doc/guix.texi:13464
30049 msgid ""
30050 "Path for Samba's @samp{ntlm-auth} helper binary. Defaults to @samp{\"/usr/"
30051 "bin/ntlm_auth\"}."
30052 msgstr ""
30053
30054 #. type: deftypevr
30055 #: doc/guix.texi:13466
30056 #, no-wrap
30057 msgid "{@code{dovecot-configuration} parameter} string auth-failure-delay"
30058 msgstr ""
30059
30060 #. type: deftypevr
30061 #: doc/guix.texi:13469
30062 msgid ""
30063 "Time to delay before replying to failed authentications. Defaults to "
30064 "@samp{\"2 secs\"}."
30065 msgstr ""
30066
30067 #. type: deftypevr
30068 #: doc/guix.texi:13471
30069 #, no-wrap
30070 msgid "{@code{dovecot-configuration} parameter} boolean auth-ssl-require-client-cert?"
30071 msgstr ""
30072
30073 #. type: deftypevr
30074 #: doc/guix.texi:13475
30075 msgid ""
30076 "Require a valid SSL client certificate or the authentication fails. "
30077 "Defaults to @samp{#f}."
30078 msgstr ""
30079
30080 #. type: deftypevr
30081 #: doc/guix.texi:13477
30082 #, no-wrap
30083 msgid "{@code{dovecot-configuration} parameter} boolean auth-ssl-username-from-cert?"
30084 msgstr ""
30085
30086 #. type: deftypevr
30087 #: doc/guix.texi:13482
30088 msgid ""
30089 "Take the username from client's SSL certificate, using "
30090 "@code{X509_NAME_get_text_by_NID()} which returns the subject's DN's "
30091 "CommonName. Defaults to @samp{#f}."
30092 msgstr ""
30093
30094 #. type: deftypevr
30095 #: doc/guix.texi:13484
30096 #, no-wrap
30097 msgid "{@code{dovecot-configuration} parameter} space-separated-string-list auth-mechanisms"
30098 msgstr ""
30099
30100 #. type: deftypevr
30101 #: doc/guix.texi:13490
30102 msgid ""
30103 "List of wanted authentication mechanisms. Supported mechanisms are: "
30104 "@samp{plain}, @samp{login}, @samp{digest-md5}, @samp{cram-md5}, @samp{ntlm}, "
30105 "@samp{rpa}, @samp{apop}, @samp{anonymous}, @samp{gssapi}, @samp{otp}, "
30106 "@samp{skey}, and @samp{gss-spnego}. NOTE: See also @samp{disable-plaintext-"
30107 "auth} setting."
30108 msgstr ""
30109
30110 #. type: deftypevr
30111 #: doc/guix.texi:13492
30112 #, no-wrap
30113 msgid "{@code{dovecot-configuration} parameter} space-separated-string-list director-servers"
30114 msgstr ""
30115
30116 #. type: deftypevr
30117 #: doc/guix.texi:13497
30118 msgid ""
30119 "List of IPs or hostnames to all director servers, including ourself. Ports "
30120 "can be specified as ip:port. The default port is the same as what director "
30121 "service's @samp{inet-listener} is using. Defaults to @samp{()}."
30122 msgstr ""
30123
30124 #. type: deftypevr
30125 #: doc/guix.texi:13499
30126 #, no-wrap
30127 msgid "{@code{dovecot-configuration} parameter} space-separated-string-list director-mail-servers"
30128 msgstr ""
30129
30130 #. type: deftypevr
30131 #: doc/guix.texi:13503
30132 msgid ""
30133 "List of IPs or hostnames to all backend mail servers. Ranges are allowed "
30134 "too, like 10.0.0.10-10.0.0.30. Defaults to @samp{()}."
30135 msgstr ""
30136
30137 #. type: deftypevr
30138 #: doc/guix.texi:13505
30139 #, no-wrap
30140 msgid "{@code{dovecot-configuration} parameter} string director-user-expire"
30141 msgstr ""
30142
30143 #. type: deftypevr
30144 #: doc/guix.texi:13509
30145 msgid ""
30146 "How long to redirect users to a specific server after it no longer has any "
30147 "connections. Defaults to @samp{\"15 min\"}."
30148 msgstr ""
30149
30150 #. type: deftypevr
30151 #: doc/guix.texi:13511
30152 #, no-wrap
30153 msgid "{@code{dovecot-configuration} parameter} string director-username-hash"
30154 msgstr ""
30155
30156 #. type: deftypevr
30157 #: doc/guix.texi:13516
30158 msgid ""
30159 "How the username is translated before being hashed. Useful values include "
30160 "%Ln if user can log in with or without @@domain, %Ld if mailboxes are shared "
30161 "within domain. Defaults to @samp{\"%Lu\"}."
30162 msgstr ""
30163
30164 #. type: deftypevr
30165 #: doc/guix.texi:13518
30166 #, no-wrap
30167 msgid "{@code{dovecot-configuration} parameter} string log-path"
30168 msgstr ""
30169
30170 #. type: deftypevr
30171 #: doc/guix.texi:13522
30172 msgid ""
30173 "Log file to use for error messages. @samp{syslog} logs to syslog, @samp{/"
30174 "dev/stderr} logs to stderr. Defaults to @samp{\"syslog\"}."
30175 msgstr ""
30176
30177 #. type: deftypevr
30178 #: doc/guix.texi:13524
30179 #, no-wrap
30180 msgid "{@code{dovecot-configuration} parameter} string info-log-path"
30181 msgstr ""
30182
30183 #. type: deftypevr
30184 #: doc/guix.texi:13528
30185 msgid ""
30186 "Log file to use for informational messages. Defaults to @samp{log-path}. "
30187 "Defaults to @samp{\"\"}."
30188 msgstr ""
30189
30190 #. type: deftypevr
30191 #: doc/guix.texi:13530
30192 #, no-wrap
30193 msgid "{@code{dovecot-configuration} parameter} string debug-log-path"
30194 msgstr ""
30195
30196 #. type: deftypevr
30197 #: doc/guix.texi:13534
30198 msgid ""
30199 "Log file to use for debug messages. Defaults to @samp{info-log-path}. "
30200 "Defaults to @samp{\"\"}."
30201 msgstr ""
30202
30203 #. type: deftypevr
30204 #: doc/guix.texi:13536
30205 #, no-wrap
30206 msgid "{@code{dovecot-configuration} parameter} string syslog-facility"
30207 msgstr ""
30208
30209 #. type: deftypevr
30210 #: doc/guix.texi:13541
30211 msgid ""
30212 "Syslog facility to use if you're logging to syslog. Usually if you don't "
30213 "want to use @samp{mail}, you'll use local0..local7. Also other standard "
30214 "facilities are supported. Defaults to @samp{\"mail\"}."
30215 msgstr ""
30216
30217 #. type: deftypevr
30218 #: doc/guix.texi:13543
30219 #, no-wrap
30220 msgid "{@code{dovecot-configuration} parameter} boolean auth-verbose?"
30221 msgstr ""
30222
30223 #. type: deftypevr
30224 #: doc/guix.texi:13547
30225 msgid ""
30226 "Log unsuccessful authentication attempts and the reasons why they failed. "
30227 "Defaults to @samp{#f}."
30228 msgstr ""
30229
30230 #. type: deftypevr
30231 #: doc/guix.texi:13549
30232 #, no-wrap
30233 msgid "{@code{dovecot-configuration} parameter} boolean auth-verbose-passwords?"
30234 msgstr ""
30235
30236 #. type: deftypevr
30237 #: doc/guix.texi:13556
30238 msgid ""
30239 "In case of password mismatches, log the attempted password. Valid values "
30240 "are no, plain and sha1. sha1 can be useful for detecting brute force "
30241 "password attempts vs. user simply trying the same password over and over "
30242 "again. You can also truncate the value to n chars by appending \":n\" (e.g. "
30243 "sha1:6). Defaults to @samp{#f}."
30244 msgstr ""
30245
30246 #. type: deftypevr
30247 #: doc/guix.texi:13558
30248 #, no-wrap
30249 msgid "{@code{dovecot-configuration} parameter} boolean auth-debug?"
30250 msgstr ""
30251
30252 #. type: deftypevr
30253 #: doc/guix.texi:13562
30254 msgid ""
30255 "Even more verbose logging for debugging purposes. Shows for example SQL "
30256 "queries. Defaults to @samp{#f}."
30257 msgstr ""
30258
30259 #. type: deftypevr
30260 #: doc/guix.texi:13564
30261 #, no-wrap
30262 msgid "{@code{dovecot-configuration} parameter} boolean auth-debug-passwords?"
30263 msgstr ""
30264
30265 #. type: deftypevr
30266 #: doc/guix.texi:13569
30267 msgid ""
30268 "In case of password mismatches, log the passwords and used scheme so the "
30269 "problem can be debugged. Enabling this also enables @samp{auth-debug}. "
30270 "Defaults to @samp{#f}."
30271 msgstr ""
30272
30273 #. type: deftypevr
30274 #: doc/guix.texi:13571
30275 #, no-wrap
30276 msgid "{@code{dovecot-configuration} parameter} boolean mail-debug?"
30277 msgstr ""
30278
30279 #. type: deftypevr
30280 #: doc/guix.texi:13575
30281 msgid ""
30282 "Enable mail process debugging. This can help you figure out why Dovecot "
30283 "isn't finding your mails. Defaults to @samp{#f}."
30284 msgstr ""
30285
30286 #. type: deftypevr
30287 #: doc/guix.texi:13577
30288 #, no-wrap
30289 msgid "{@code{dovecot-configuration} parameter} boolean verbose-ssl?"
30290 msgstr ""
30291
30292 #. type: deftypevr
30293 #: doc/guix.texi:13580
30294 msgid "Show protocol level SSL errors. Defaults to @samp{#f}."
30295 msgstr ""
30296
30297 #. type: deftypevr
30298 #: doc/guix.texi:13582
30299 #, no-wrap
30300 msgid "{@code{dovecot-configuration} parameter} string log-timestamp"
30301 msgstr ""
30302
30303 #. type: deftypevr
30304 #: doc/guix.texi:13586
30305 msgid ""
30306 "Prefix for each line written to log file. % codes are in strftime(3) "
30307 "format. Defaults to @samp{\"\\\"%b %d %H:%M:%S \\\"\"}."
30308 msgstr ""
30309
30310 #. type: deftypevr
30311 #: doc/guix.texi:13588
30312 #, no-wrap
30313 msgid "{@code{dovecot-configuration} parameter} space-separated-string-list login-log-format-elements"
30314 msgstr ""
30315
30316 #. type: deftypevr
30317 #: doc/guix.texi:13592
30318 msgid ""
30319 "List of elements we want to log. The elements which have a non-empty "
30320 "variable value are joined together to form a comma-separated string."
30321 msgstr ""
30322
30323 #. type: deftypevr
30324 #: doc/guix.texi:13594
30325 #, no-wrap
30326 msgid "{@code{dovecot-configuration} parameter} string login-log-format"
30327 msgstr ""
30328
30329 #. type: deftypevr
30330 #: doc/guix.texi:13598
30331 msgid ""
30332 "Login log format. %s contains @samp{login-log-format-elements} string, %$ "
30333 "contains the data we want to log. Defaults to @samp{\"%$: %s\"}."
30334 msgstr ""
30335
30336 #. type: deftypevr
30337 #: doc/guix.texi:13600
30338 #, no-wrap
30339 msgid "{@code{dovecot-configuration} parameter} string mail-log-prefix"
30340 msgstr ""
30341
30342 #. type: deftypevr
30343 #: doc/guix.texi:13604
30344 msgid ""
30345 "Log prefix for mail processes. See doc/wiki/Variables.txt for list of "
30346 "possible variables you can use. Defaults to @samp{\"\\\"%s(%u)<%@{pid@}><"
30347 "%@{session@}>: \\\"\"}."
30348 msgstr ""
30349
30350 #. type: deftypevr
30351 #: doc/guix.texi:13606
30352 #, no-wrap
30353 msgid "{@code{dovecot-configuration} parameter} string deliver-log-format"
30354 msgstr ""
30355
30356 #. type: deftypevr
30357 #: doc/guix.texi:13608
30358 msgid "Format to use for logging mail deliveries. You can use variables:"
30359 msgstr ""
30360
30361 #. type: item
30362 #: doc/guix.texi:13609
30363 #, no-wrap
30364 msgid "%$"
30365 msgstr ""
30366
30367 #. type: table
30368 #: doc/guix.texi:13611
30369 msgid "Delivery status message (e.g. @samp{saved to INBOX})"
30370 msgstr ""
30371
30372 #. type: item
30373 #: doc/guix.texi:13611
30374 #, no-wrap
30375 msgid "%m"
30376 msgstr ""
30377
30378 #. type: table
30379 #: doc/guix.texi:13613
30380 msgid "Message-ID"
30381 msgstr ""
30382
30383 #. type: item
30384 #: doc/guix.texi:13613 doc/guix.texi:14145
30385 #, no-wrap
30386 msgid "%s"
30387 msgstr ""
30388
30389 #. type: table
30390 #: doc/guix.texi:13615
30391 msgid "Subject"
30392 msgstr ""
30393
30394 #. type: item
30395 #: doc/guix.texi:13615
30396 #, no-wrap
30397 msgid "%f"
30398 msgstr ""
30399
30400 #. type: table
30401 #: doc/guix.texi:13617
30402 msgid "From address"
30403 msgstr ""
30404
30405 #. type: table
30406 #: doc/guix.texi:13619
30407 msgid "Physical size"
30408 msgstr ""
30409
30410 #. type: item
30411 #: doc/guix.texi:13619
30412 #, no-wrap
30413 msgid "%w"
30414 msgstr ""
30415
30416 #. type: table
30417 #: doc/guix.texi:13621
30418 msgid "Virtual size."
30419 msgstr ""
30420
30421 #. type: deftypevr
30422 #: doc/guix.texi:13623
30423 msgid "Defaults to @samp{\"msgid=%m: %$\"}."
30424 msgstr ""
30425
30426 #. type: deftypevr
30427 #: doc/guix.texi:13625
30428 #, no-wrap
30429 msgid "{@code{dovecot-configuration} parameter} string mail-location"
30430 msgstr ""
30431
30432 #. type: deftypevr
30433 #: doc/guix.texi:13630
30434 msgid ""
30435 "Location for users' mailboxes. The default is empty, which means that "
30436 "Dovecot tries to find the mailboxes automatically. This won't work if the "
30437 "user doesn't yet have any mail, so you should explicitly tell Dovecot the "
30438 "full location."
30439 msgstr ""
30440
30441 #. type: deftypevr
30442 #: doc/guix.texi:13636
30443 msgid ""
30444 "If you're using mbox, giving a path to the INBOX file (e.g. /var/mail/%u) "
30445 "isn't enough. You'll also need to tell Dovecot where the other mailboxes "
30446 "are kept. This is called the \"root mail directory\", and it must be the "
30447 "first path given in the @samp{mail-location} setting."
30448 msgstr ""
30449
30450 #. type: deftypevr
30451 #: doc/guix.texi:13638
30452 msgid "There are a few special variables you can use, eg.:"
30453 msgstr ""
30454
30455 #. type: table
30456 #: doc/guix.texi:13642
30457 msgid "username"
30458 msgstr ""
30459
30460 #. type: item
30461 #: doc/guix.texi:13642 doc/guix.texi:14141
30462 #, no-wrap
30463 msgid "%n"
30464 msgstr ""
30465
30466 #. type: table
30467 #: doc/guix.texi:13644
30468 msgid "user part in user@@domain, same as %u if there's no domain"
30469 msgstr ""
30470
30471 #. type: item
30472 #: doc/guix.texi:13644
30473 #, no-wrap
30474 msgid "%d"
30475 msgstr ""
30476
30477 #. type: table
30478 #: doc/guix.texi:13646
30479 msgid "domain part in user@@domain, empty if there's no domain"
30480 msgstr ""
30481
30482 #. type: item
30483 #: doc/guix.texi:13646
30484 #, no-wrap
30485 msgid "%h"
30486 msgstr ""
30487
30488 #. type: table
30489 #: doc/guix.texi:13648
30490 msgid "home director"
30491 msgstr ""
30492
30493 #. type: deftypevr
30494 #: doc/guix.texi:13651
30495 msgid "See doc/wiki/Variables.txt for full list. Some examples:"
30496 msgstr ""
30497
30498 #. type: item
30499 #: doc/guix.texi:13652
30500 #, no-wrap
30501 msgid "maildir:~/Maildir"
30502 msgstr ""
30503
30504 #. type: item
30505 #: doc/guix.texi:13653
30506 #, no-wrap
30507 msgid "mbox:~/mail:INBOX=/var/mail/%u"
30508 msgstr ""
30509
30510 #. type: item
30511 #: doc/guix.texi:13654
30512 #, no-wrap
30513 msgid "mbox:/var/mail/%d/%1n/%n:INDEX=/var/indexes/%d/%1n/%"
30514 msgstr ""
30515
30516 #. type: deftypevr
30517 #: doc/guix.texi:13659
30518 #, no-wrap
30519 msgid "{@code{dovecot-configuration} parameter} string mail-uid"
30520 msgstr ""
30521
30522 #. type: deftypevr
30523 #: doc/guix.texi:13664
30524 msgid ""
30525 "System user and group used to access mails. If you use multiple, userdb can "
30526 "override these by returning uid or gid fields. You can use either numbers "
30527 "or names. <doc/wiki/UserIds.txt>. Defaults to @samp{\"\"}."
30528 msgstr ""
30529
30530 #. type: deftypevr
30531 #: doc/guix.texi:13666
30532 #, no-wrap
30533 msgid "{@code{dovecot-configuration} parameter} string mail-gid"
30534 msgstr ""
30535
30536 #. type: deftypevr
30537 #: doc/guix.texi:13671
30538 #, no-wrap
30539 msgid "{@code{dovecot-configuration} parameter} string mail-privileged-group"
30540 msgstr ""
30541
30542 #. type: deftypevr
30543 #: doc/guix.texi:13677
30544 msgid ""
30545 "Group to enable temporarily for privileged operations. Currently this is "
30546 "used only with INBOX when either its initial creation or dotlocking fails. "
30547 "Typically this is set to \"mail\" to give access to /var/mail. Defaults to "
30548 "@samp{\"\"}."
30549 msgstr ""
30550
30551 #. type: deftypevr
30552 #: doc/guix.texi:13679
30553 #, no-wrap
30554 msgid "{@code{dovecot-configuration} parameter} string mail-access-groups"
30555 msgstr ""
30556
30557 #. type: deftypevr
30558 #: doc/guix.texi:13687
30559 msgid ""
30560 "Grant access to these supplementary groups for mail processes. Typically "
30561 "these are used to set up access to shared mailboxes. Note that it may be "
30562 "dangerous to set these if users can create symlinks (e.g. if \"mail\" group "
30563 "is set here, ln -s /var/mail ~/mail/var could allow a user to delete others' "
30564 "mailboxes, or ln -s /secret/shared/box ~/mail/mybox would allow reading "
30565 "it). Defaults to @samp{\"\"}."
30566 msgstr ""
30567
30568 #. type: deftypevr
30569 #: doc/guix.texi:13689
30570 #, no-wrap
30571 msgid "{@code{dovecot-configuration} parameter} boolean mail-full-filesystem-access?"
30572 msgstr ""
30573
30574 #. type: deftypevr
30575 #: doc/guix.texi:13695
30576 msgid ""
30577 "Allow full file system access to clients. There's no access checks other "
30578 "than what the operating system does for the active UID/GID. It works with "
30579 "both maildir and mboxes, allowing you to prefix mailboxes names with e.g. /"
30580 "path/ or ~user/. Defaults to @samp{#f}."
30581 msgstr ""
30582
30583 #. type: deftypevr
30584 #: doc/guix.texi:13697
30585 #, no-wrap
30586 msgid "{@code{dovecot-configuration} parameter} boolean mmap-disable?"
30587 msgstr ""
30588
30589 #. type: deftypevr
30590 #: doc/guix.texi:13701
30591 msgid ""
30592 "Don't use mmap() at all. This is required if you store indexes to shared "
30593 "file systems (NFS or clustered file system). Defaults to @samp{#f}."
30594 msgstr ""
30595
30596 #. type: deftypevr
30597 #: doc/guix.texi:13703
30598 #, no-wrap
30599 msgid "{@code{dovecot-configuration} parameter} boolean dotlock-use-excl?"
30600 msgstr ""
30601
30602 #. type: deftypevr
30603 #: doc/guix.texi:13708
30604 msgid ""
30605 "Rely on @samp{O_EXCL} to work when creating dotlock files. NFS supports "
30606 "@samp{O_EXCL} since version 3, so this should be safe to use nowadays by "
30607 "default. Defaults to @samp{#t}."
30608 msgstr ""
30609
30610 #. type: deftypevr
30611 #: doc/guix.texi:13710
30612 #, no-wrap
30613 msgid "{@code{dovecot-configuration} parameter} string mail-fsync"
30614 msgstr ""
30615
30616 #. type: deftypevr
30617 #: doc/guix.texi:13712
30618 msgid "When to use fsync() or fdatasync() calls:"
30619 msgstr ""
30620
30621 #. type: item
30622 #: doc/guix.texi:13713
30623 #, no-wrap
30624 msgid "optimized"
30625 msgstr ""
30626
30627 #. type: table
30628 #: doc/guix.texi:13715
30629 msgid "Whenever necessary to avoid losing important data"
30630 msgstr ""
30631
30632 #. type: table
30633 #: doc/guix.texi:13717
30634 msgid "Useful with e.g. NFS when write()s are delayed"
30635 msgstr ""
30636
30637 #. type: table
30638 #: doc/guix.texi:13719
30639 msgid "Never use it (best performance, but crashes can lose data)."
30640 msgstr ""
30641
30642 #. type: deftypevr
30643 #: doc/guix.texi:13721
30644 msgid "Defaults to @samp{\"optimized\"}."
30645 msgstr ""
30646
30647 #. type: deftypevr
30648 #: doc/guix.texi:13723
30649 #, no-wrap
30650 msgid "{@code{dovecot-configuration} parameter} boolean mail-nfs-storage?"
30651 msgstr ""
30652
30653 #. type: deftypevr
30654 #: doc/guix.texi:13728
30655 msgid ""
30656 "Mail storage exists in NFS. Set this to yes to make Dovecot flush NFS "
30657 "caches whenever needed. If you're using only a single mail server this "
30658 "isn't needed. Defaults to @samp{#f}."
30659 msgstr ""
30660
30661 #. type: deftypevr
30662 #: doc/guix.texi:13730
30663 #, no-wrap
30664 msgid "{@code{dovecot-configuration} parameter} boolean mail-nfs-index?"
30665 msgstr ""
30666
30667 #. type: deftypevr
30668 #: doc/guix.texi:13734
30669 msgid ""
30670 "Mail index files also exist in NFS. Setting this to yes requires @samp{mmap-"
30671 "disable? #t} and @samp{fsync-disable? #f}. Defaults to @samp{#f}."
30672 msgstr ""
30673
30674 #. type: deftypevr
30675 #: doc/guix.texi:13736
30676 #, no-wrap
30677 msgid "{@code{dovecot-configuration} parameter} string lock-method"
30678 msgstr ""
30679
30680 #. type: deftypevr
30681 #: doc/guix.texi:13742
30682 msgid ""
30683 "Locking method for index files. Alternatives are fcntl, flock and dotlock. "
30684 "Dotlocking uses some tricks which may create more disk I/O than other "
30685 "locking methods. NFS users: flock doesn't work, remember to change "
30686 "@samp{mmap-disable}. Defaults to @samp{\"fcntl\"}."
30687 msgstr ""
30688
30689 #. type: deftypevr
30690 #: doc/guix.texi:13744
30691 #, no-wrap
30692 msgid "{@code{dovecot-configuration} parameter} file-name mail-temp-dir"
30693 msgstr ""
30694
30695 #. type: deftypevr
30696 #: doc/guix.texi:13748
30697 msgid ""
30698 "Directory in which LDA/LMTP temporarily stores incoming mails >128 kB. "
30699 "Defaults to @samp{\"/tmp\"}."
30700 msgstr ""
30701
30702 #. type: deftypevr
30703 #: doc/guix.texi:13750
30704 #, no-wrap
30705 msgid "{@code{dovecot-configuration} parameter} non-negative-integer first-valid-uid"
30706 msgstr ""
30707
30708 #. type: deftypevr
30709 #: doc/guix.texi:13756
30710 msgid ""
30711 "Valid UID range for users. This is mostly to make sure that users can't log "
30712 "in as daemons or other system users. Note that denying root logins is "
30713 "hardcoded to dovecot binary and can't be done even if @samp{first-valid-uid} "
30714 "is set to 0. Defaults to @samp{500}."
30715 msgstr ""
30716
30717 #. type: deftypevr
30718 #: doc/guix.texi:13758
30719 #, no-wrap
30720 msgid "{@code{dovecot-configuration} parameter} non-negative-integer last-valid-uid"
30721 msgstr ""
30722
30723 #. type: deftypevr
30724 #: doc/guix.texi:13763
30725 #, no-wrap
30726 msgid "{@code{dovecot-configuration} parameter} non-negative-integer first-valid-gid"
30727 msgstr ""
30728
30729 #. type: deftypevr
30730 #: doc/guix.texi:13768
30731 msgid ""
30732 "Valid GID range for users. Users having non-valid GID as primary group ID "
30733 "aren't allowed to log in. If user belongs to supplementary groups with non-"
30734 "valid GIDs, those groups are not set. Defaults to @samp{1}."
30735 msgstr ""
30736
30737 #. type: deftypevr
30738 #: doc/guix.texi:13770
30739 #, no-wrap
30740 msgid "{@code{dovecot-configuration} parameter} non-negative-integer last-valid-gid"
30741 msgstr ""
30742
30743 #. type: deftypevr
30744 #: doc/guix.texi:13775
30745 #, no-wrap
30746 msgid "{@code{dovecot-configuration} parameter} non-negative-integer mail-max-keyword-length"
30747 msgstr ""
30748
30749 #. type: deftypevr
30750 #: doc/guix.texi:13779
30751 msgid ""
30752 "Maximum allowed length for mail keyword name. It's only forced when trying "
30753 "to create new keywords. Defaults to @samp{50}."
30754 msgstr ""
30755
30756 #. type: deftypevr
30757 #: doc/guix.texi:13781
30758 #, no-wrap
30759 msgid "{@code{dovecot-configuration} parameter} colon-separated-file-name-list valid-chroot-dirs"
30760 msgstr ""
30761
30762 #. type: deftypevr
30763 #: doc/guix.texi:13791
30764 msgid ""
30765 "List of directories under which chrooting is allowed for mail processes (i."
30766 "e. /var/mail will allow chrooting to /var/mail/foo/bar too). This setting "
30767 "doesn't affect @samp{login-chroot} @samp{mail-chroot} or auth chroot "
30768 "settings. If this setting is empty, \"/./\" in home dirs are ignored. "
30769 "WARNING: Never add directories here which local users can modify, that may "
30770 "lead to root exploit. Usually this should be done only if you don't allow "
30771 "shell access for users. <doc/wiki/Chrooting.txt>. Defaults to @samp{()}."
30772 msgstr ""
30773
30774 #. type: deftypevr
30775 #: doc/guix.texi:13793
30776 #, no-wrap
30777 msgid "{@code{dovecot-configuration} parameter} string mail-chroot"
30778 msgstr ""
30779
30780 #. type: deftypevr
30781 #: doc/guix.texi:13802
30782 msgid ""
30783 "Default chroot directory for mail processes. This can be overridden for "
30784 "specific users in user database by giving /./ in user's home directory (e."
30785 "g. /home/./user chroots into /home). Note that usually there is no real "
30786 "need to do chrooting, Dovecot doesn't allow users to access files outside "
30787 "their mail directory anyway. If your home directories are prefixed with the "
30788 "chroot directory, append \"/.\" to @samp{mail-chroot}. <doc/wiki/Chrooting."
30789 "txt>. Defaults to @samp{\"\"}."
30790 msgstr ""
30791
30792 #. type: deftypevr
30793 #: doc/guix.texi:13804
30794 #, no-wrap
30795 msgid "{@code{dovecot-configuration} parameter} file-name auth-socket-path"
30796 msgstr ""
30797
30798 #. type: deftypevr
30799 #: doc/guix.texi:13808
30800 msgid ""
30801 "UNIX socket path to master authentication server to find users. This is "
30802 "used by imap (for shared users) and lda. Defaults to @samp{\"/var/run/"
30803 "dovecot/auth-userdb\"}."
30804 msgstr ""
30805
30806 #. type: deftypevr
30807 #: doc/guix.texi:13810
30808 #, no-wrap
30809 msgid "{@code{dovecot-configuration} parameter} file-name mail-plugin-dir"
30810 msgstr ""
30811
30812 #. type: deftypevr
30813 #: doc/guix.texi:13813
30814 msgid ""
30815 "Directory where to look up mail plugins. Defaults to @samp{\"/usr/lib/"
30816 "dovecot\"}."
30817 msgstr ""
30818
30819 #. type: deftypevr
30820 #: doc/guix.texi:13815
30821 #, no-wrap
30822 msgid "{@code{dovecot-configuration} parameter} space-separated-string-list mail-plugins"
30823 msgstr ""
30824
30825 #. type: deftypevr
30826 #: doc/guix.texi:13819
30827 msgid ""
30828 "List of plugins to load for all services. Plugins specific to IMAP, LDA, "
30829 "etc. are added to this list in their own .conf files. Defaults to @samp{()}."
30830 msgstr ""
30831
30832 #. type: deftypevr
30833 #: doc/guix.texi:13821
30834 #, no-wrap
30835 msgid "{@code{dovecot-configuration} parameter} non-negative-integer mail-cache-min-mail-count"
30836 msgstr ""
30837
30838 #. type: deftypevr
30839 #: doc/guix.texi:13826
30840 msgid ""
30841 "The minimum number of mails in a mailbox before updates are done to cache "
30842 "file. This allows optimizing Dovecot's behavior to do less disk writes at "
30843 "the cost of more disk reads. Defaults to @samp{0}."
30844 msgstr ""
30845
30846 #. type: deftypevr
30847 #: doc/guix.texi:13828
30848 #, no-wrap
30849 msgid "{@code{dovecot-configuration} parameter} string mailbox-idle-check-interval"
30850 msgstr ""
30851
30852 #. type: deftypevr
30853 #: doc/guix.texi:13835
30854 msgid ""
30855 "When IDLE command is running, mailbox is checked once in a while to see if "
30856 "there are any new mails or other changes. This setting defines the minimum "
30857 "time to wait between those checks. Dovecot can also use dnotify, inotify "
30858 "and kqueue to find out immediately when changes occur. Defaults to "
30859 "@samp{\"30 secs\"}."
30860 msgstr ""
30861
30862 #. type: deftypevr
30863 #: doc/guix.texi:13837
30864 #, no-wrap
30865 msgid "{@code{dovecot-configuration} parameter} boolean mail-save-crlf?"
30866 msgstr ""
30867
30868 #. type: deftypevr
30869 #: doc/guix.texi:13844
30870 msgid ""
30871 "Save mails with CR+LF instead of plain LF. This makes sending those mails "
30872 "take less CPU, especially with sendfile() syscall with Linux and FreeBSD. "
30873 "But it also creates a bit more disk I/O which may just make it slower. Also "
30874 "note that if other software reads the mboxes/maildirs, they may handle the "
30875 "extra CRs wrong and cause problems. Defaults to @samp{#f}."
30876 msgstr ""
30877
30878 #. type: deftypevr
30879 #: doc/guix.texi:13846
30880 #, no-wrap
30881 msgid "{@code{dovecot-configuration} parameter} boolean maildir-stat-dirs?"
30882 msgstr ""
30883
30884 #. type: deftypevr
30885 #: doc/guix.texi:13854
30886 msgid ""
30887 "By default LIST command returns all entries in maildir beginning with a "
30888 "dot. Enabling this option makes Dovecot return only entries which are "
30889 "directories. This is done by stat()ing each entry, so it causes more disk I/"
30890 "O. (For systems setting struct @samp{dirent->d_type} this check is free and "
30891 "it's done always regardless of this setting). Defaults to @samp{#f}."
30892 msgstr ""
30893
30894 #. type: deftypevr
30895 #: doc/guix.texi:13856
30896 #, no-wrap
30897 msgid "{@code{dovecot-configuration} parameter} boolean maildir-copy-with-hardlinks?"
30898 msgstr ""
30899
30900 #. type: deftypevr
30901 #: doc/guix.texi:13861
30902 msgid ""
30903 "When copying a message, do it with hard links whenever possible. This makes "
30904 "the performance much better, and it's unlikely to have any side effects. "
30905 "Defaults to @samp{#t}."
30906 msgstr ""
30907
30908 #. type: deftypevr
30909 #: doc/guix.texi:13863
30910 #, no-wrap
30911 msgid "{@code{dovecot-configuration} parameter} boolean maildir-very-dirty-syncs?"
30912 msgstr ""
30913
30914 #. type: deftypevr
30915 #: doc/guix.texi:13868
30916 msgid ""
30917 "Assume Dovecot is the only MUA accessing Maildir: Scan cur/ directory only "
30918 "when its mtime changes unexpectedly or when we can't find the mail "
30919 "otherwise. Defaults to @samp{#f}."
30920 msgstr ""
30921
30922 #. type: deftypevr
30923 #: doc/guix.texi:13870
30924 #, no-wrap
30925 msgid "{@code{dovecot-configuration} parameter} space-separated-string-list mbox-read-locks"
30926 msgstr ""
30927
30928 #. type: deftypevr
30929 #: doc/guix.texi:13873
30930 msgid ""
30931 "Which locking methods to use for locking mbox. There are four available:"
30932 msgstr ""
30933
30934 #. type: item
30935 #: doc/guix.texi:13875
30936 #, no-wrap
30937 msgid "dotlock"
30938 msgstr ""
30939
30940 #. type: table
30941 #: doc/guix.texi:13879
30942 msgid ""
30943 "Create <mailbox>.lock file. This is the oldest and most NFS-safe solution. "
30944 "If you want to use /var/mail/ like directory, the users will need write "
30945 "access to that directory."
30946 msgstr ""
30947
30948 #. type: item
30949 #: doc/guix.texi:13879
30950 #, no-wrap
30951 msgid "dotlock-try"
30952 msgstr ""
30953
30954 #. type: table
30955 #: doc/guix.texi:13882
30956 msgid ""
30957 "Same as dotlock, but if it fails because of permissions or because there "
30958 "isn't enough disk space, just skip it."
30959 msgstr ""
30960
30961 #. type: item
30962 #: doc/guix.texi:13882
30963 #, no-wrap
30964 msgid "fcntl"
30965 msgstr ""
30966
30967 #. type: table
30968 #: doc/guix.texi:13884
30969 msgid "Use this if possible. Works with NFS too if lockd is used."
30970 msgstr ""
30971
30972 #. type: item
30973 #: doc/guix.texi:13884
30974 #, no-wrap
30975 msgid "flock"
30976 msgstr ""
30977
30978 #. type: table
30979 #: doc/guix.texi:13886 doc/guix.texi:13888
30980 msgid "May not exist in all systems. Doesn't work with NFS."
30981 msgstr ""
30982
30983 #. type: item
30984 #: doc/guix.texi:13886
30985 #, no-wrap
30986 msgid "lockf"
30987 msgstr ""
30988
30989 #. type: deftypevr
30990 #: doc/guix.texi:13894
30991 msgid ""
30992 "You can use multiple locking methods; if you do the order they're declared "
30993 "in is important to avoid deadlocks if other MTAs/MUAs are using multiple "
30994 "locking methods as well. Some operating systems don't allow using some of "
30995 "them simultaneously."
30996 msgstr ""
30997
30998 #. type: deftypevr
30999 #: doc/guix.texi:13896
31000 #, no-wrap
31001 msgid "{@code{dovecot-configuration} parameter} space-separated-string-list mbox-write-locks"
31002 msgstr ""
31003
31004 #. type: deftypevr
31005 #: doc/guix.texi:13900
31006 #, no-wrap
31007 msgid "{@code{dovecot-configuration} parameter} string mbox-lock-timeout"
31008 msgstr ""
31009
31010 #. type: deftypevr
31011 #: doc/guix.texi:13903
31012 msgid ""
31013 "Maximum time to wait for lock (all of them) before aborting. Defaults to "
31014 "@samp{\"5 mins\"}."
31015 msgstr ""
31016
31017 #. type: deftypevr
31018 #: doc/guix.texi:13905
31019 #, no-wrap
31020 msgid "{@code{dovecot-configuration} parameter} string mbox-dotlock-change-timeout"
31021 msgstr ""
31022
31023 #. type: deftypevr
31024 #: doc/guix.texi:13909
31025 msgid ""
31026 "If dotlock exists but the mailbox isn't modified in any way, override the "
31027 "lock file after this much time. Defaults to @samp{\"2 mins\"}."
31028 msgstr ""
31029
31030 #. type: deftypevr
31031 #: doc/guix.texi:13911
31032 #, no-wrap
31033 msgid "{@code{dovecot-configuration} parameter} boolean mbox-dirty-syncs?"
31034 msgstr ""
31035
31036 #. type: deftypevr
31037 #: doc/guix.texi:13922
31038 msgid ""
31039 "When mbox changes unexpectedly we have to fully read it to find out what "
31040 "changed. If the mbox is large this can take a long time. Since the change "
31041 "is usually just a newly appended mail, it'd be faster to simply read the new "
31042 "mails. If this setting is enabled, Dovecot does this but still safely "
31043 "fallbacks to re-reading the whole mbox file whenever something in mbox isn't "
31044 "how it's expected to be. The only real downside to this setting is that if "
31045 "some other MUA changes message flags, Dovecot doesn't notice it "
31046 "immediately. Note that a full sync is done with SELECT, EXAMINE, EXPUNGE "
31047 "and CHECK commands. Defaults to @samp{#t}."
31048 msgstr ""
31049
31050 #. type: deftypevr
31051 #: doc/guix.texi:13924
31052 #, no-wrap
31053 msgid "{@code{dovecot-configuration} parameter} boolean mbox-very-dirty-syncs?"
31054 msgstr ""
31055
31056 #. type: deftypevr
31057 #: doc/guix.texi:13929
31058 msgid ""
31059 "Like @samp{mbox-dirty-syncs}, but don't do full syncs even with SELECT, "
31060 "EXAMINE, EXPUNGE or CHECK commands. If this is set, @samp{mbox-dirty-syncs} "
31061 "is ignored. Defaults to @samp{#f}."
31062 msgstr ""
31063
31064 #. type: deftypevr
31065 #: doc/guix.texi:13931
31066 #, no-wrap
31067 msgid "{@code{dovecot-configuration} parameter} boolean mbox-lazy-writes?"
31068 msgstr ""
31069
31070 #. type: deftypevr
31071 #: doc/guix.texi:13937
31072 msgid ""
31073 "Delay writing mbox headers until doing a full write sync (EXPUNGE and CHECK "
31074 "commands and when closing the mailbox). This is especially useful for POP3 "
31075 "where clients often delete all mails. The downside is that our changes "
31076 "aren't immediately visible to other MUAs. Defaults to @samp{#t}."
31077 msgstr ""
31078
31079 #. type: deftypevr
31080 #: doc/guix.texi:13939
31081 #, no-wrap
31082 msgid "{@code{dovecot-configuration} parameter} non-negative-integer mbox-min-index-size"
31083 msgstr ""
31084
31085 #. type: deftypevr
31086 #: doc/guix.texi:13944
31087 msgid ""
31088 "If mbox size is smaller than this (e.g. 100k), don't write index files. If "
31089 "an index file already exists it's still read, just not updated. Defaults to "
31090 "@samp{0}."
31091 msgstr ""
31092
31093 #. type: deftypevr
31094 #: doc/guix.texi:13946
31095 #, no-wrap
31096 msgid "{@code{dovecot-configuration} parameter} non-negative-integer mdbox-rotate-size"
31097 msgstr ""
31098
31099 #. type: deftypevr
31100 #: doc/guix.texi:13949
31101 msgid ""
31102 "Maximum dbox file size until it's rotated. Defaults to @samp{10000000}."
31103 msgstr ""
31104
31105 #. type: deftypevr
31106 #: doc/guix.texi:13951
31107 #, no-wrap
31108 msgid "{@code{dovecot-configuration} parameter} string mdbox-rotate-interval"
31109 msgstr ""
31110
31111 #. type: deftypevr
31112 #: doc/guix.texi:13956
31113 msgid ""
31114 "Maximum dbox file age until it's rotated. Typically in days. Day begins "
31115 "from midnight, so 1d = today, 2d = yesterday, etc. 0 = check disabled. "
31116 "Defaults to @samp{\"1d\"}."
31117 msgstr ""
31118
31119 #. type: deftypevr
31120 #: doc/guix.texi:13958
31121 #, no-wrap
31122 msgid "{@code{dovecot-configuration} parameter} boolean mdbox-preallocate-space?"
31123 msgstr ""
31124
31125 #. type: deftypevr
31126 #: doc/guix.texi:13963
31127 msgid ""
31128 "When creating new mdbox files, immediately preallocate their size to "
31129 "@samp{mdbox-rotate-size}. This setting currently works only in Linux with "
31130 "some file systems (ext4, xfs). Defaults to @samp{#f}."
31131 msgstr ""
31132
31133 #. type: deftypevr
31134 #: doc/guix.texi:13965
31135 #, no-wrap
31136 msgid "{@code{dovecot-configuration} parameter} string mail-attachment-dir"
31137 msgstr ""
31138
31139 #. type: deftypevr
31140 #: doc/guix.texi:13969
31141 msgid ""
31142 "sdbox and mdbox support saving mail attachments to external files, which "
31143 "also allows single instance storage for them. Other backends don't support "
31144 "this for now."
31145 msgstr ""
31146
31147 #. type: deftypevr
31148 #: doc/guix.texi:13971
31149 msgid ""
31150 "WARNING: This feature hasn't been tested much yet. Use at your own risk."
31151 msgstr ""
31152
31153 #. type: deftypevr
31154 #: doc/guix.texi:13974
31155 msgid ""
31156 "Directory root where to store mail attachments. Disabled, if empty. "
31157 "Defaults to @samp{\"\"}."
31158 msgstr ""
31159
31160 #. type: deftypevr
31161 #: doc/guix.texi:13976
31162 #, no-wrap
31163 msgid "{@code{dovecot-configuration} parameter} non-negative-integer mail-attachment-min-size"
31164 msgstr ""
31165
31166 #. type: deftypevr
31167 #: doc/guix.texi:13981
31168 msgid ""
31169 "Attachments smaller than this aren't saved externally. It's also possible "
31170 "to write a plugin to disable saving specific attachments externally. "
31171 "Defaults to @samp{128000}."
31172 msgstr ""
31173
31174 #. type: deftypevr
31175 #: doc/guix.texi:13983
31176 #, no-wrap
31177 msgid "{@code{dovecot-configuration} parameter} string mail-attachment-fs"
31178 msgstr ""
31179
31180 #. type: deftypevr
31181 #: doc/guix.texi:13985
31182 msgid "File system backend to use for saving attachments:"
31183 msgstr ""
31184
31185 #. type: item
31186 #: doc/guix.texi:13986
31187 #, no-wrap
31188 msgid "posix"
31189 msgstr ""
31190
31191 #. type: table
31192 #: doc/guix.texi:13988
31193 msgid "No SiS done by Dovecot (but this might help FS's own deduplication)"
31194 msgstr ""
31195
31196 #. type: item
31197 #: doc/guix.texi:13988
31198 #, no-wrap
31199 msgid "sis posix"
31200 msgstr ""
31201
31202 #. type: table
31203 #: doc/guix.texi:13990
31204 msgid "SiS with immediate byte-by-byte comparison during saving"
31205 msgstr ""
31206
31207 #. type: item
31208 #: doc/guix.texi:13990
31209 #, no-wrap
31210 msgid "sis-queue posix"
31211 msgstr ""
31212
31213 #. type: table
31214 #: doc/guix.texi:13992
31215 msgid "SiS with delayed comparison and deduplication."
31216 msgstr ""
31217
31218 #. type: deftypevr
31219 #: doc/guix.texi:13994
31220 msgid "Defaults to @samp{\"sis posix\"}."
31221 msgstr ""
31222
31223 #. type: deftypevr
31224 #: doc/guix.texi:13996
31225 #, no-wrap
31226 msgid "{@code{dovecot-configuration} parameter} string mail-attachment-hash"
31227 msgstr ""
31228
31229 #. type: deftypevr
31230 #: doc/guix.texi:14002
31231 msgid ""
31232 "Hash format to use in attachment filenames. You can add any text and "
31233 "variables: @code{%@{md4@}}, @code{%@{md5@}}, @code{%@{sha1@}}, "
31234 "@code{%@{sha256@}}, @code{%@{sha512@}}, @code{%@{size@}}. Variables can be "
31235 "truncated, e.g. @code{%@{sha256:80@}} returns only first 80 bits. Defaults "
31236 "to @samp{\"%@{sha1@}\"}."
31237 msgstr ""
31238
31239 #. type: deftypevr
31240 #: doc/guix.texi:14004
31241 #, no-wrap
31242 msgid "{@code{dovecot-configuration} parameter} non-negative-integer default-process-limit"
31243 msgstr ""
31244
31245 #. type: deftypevr
31246 #: doc/guix.texi:14009
31247 #, no-wrap
31248 msgid "{@code{dovecot-configuration} parameter} non-negative-integer default-client-limit"
31249 msgstr ""
31250
31251 #. type: deftypevr
31252 #: doc/guix.texi:14012 doc/guix.texi:17918
31253 msgid "Defaults to @samp{1000}."
31254 msgstr ""
31255
31256 #. type: deftypevr
31257 #: doc/guix.texi:14014
31258 #, no-wrap
31259 msgid "{@code{dovecot-configuration} parameter} non-negative-integer default-vsz-limit"
31260 msgstr ""
31261
31262 #. type: deftypevr
31263 #: doc/guix.texi:14019
31264 msgid ""
31265 "Default VSZ (virtual memory size) limit for service processes. This is "
31266 "mainly intended to catch and kill processes that leak memory before they eat "
31267 "up everything. Defaults to @samp{256000000}."
31268 msgstr ""
31269
31270 #. type: deftypevr
31271 #: doc/guix.texi:14021
31272 #, no-wrap
31273 msgid "{@code{dovecot-configuration} parameter} string default-login-user"
31274 msgstr ""
31275
31276 #. type: deftypevr
31277 #: doc/guix.texi:14026
31278 msgid ""
31279 "Login user is internally used by login processes. This is the most "
31280 "untrusted user in Dovecot system. It shouldn't have access to anything at "
31281 "all. Defaults to @samp{\"dovenull\"}."
31282 msgstr ""
31283
31284 #. type: deftypevr
31285 #: doc/guix.texi:14028
31286 #, no-wrap
31287 msgid "{@code{dovecot-configuration} parameter} string default-internal-user"
31288 msgstr ""
31289
31290 #. type: deftypevr
31291 #: doc/guix.texi:14033
31292 msgid ""
31293 "Internal user is used by unprivileged processes. It should be separate from "
31294 "login user, so that login processes can't disturb other processes. Defaults "
31295 "to @samp{\"dovecot\"}."
31296 msgstr ""
31297
31298 #. type: deftypevr
31299 #: doc/guix.texi:14035
31300 #, no-wrap
31301 msgid "{@code{dovecot-configuration} parameter} string ssl?"
31302 msgstr ""
31303
31304 #. type: deftypevr
31305 #: doc/guix.texi:14038
31306 msgid ""
31307 "SSL/TLS support: yes, no, required. <doc/wiki/SSL.txt>. Defaults to "
31308 "@samp{\"required\"}."
31309 msgstr ""
31310
31311 #. type: deftypevr
31312 #: doc/guix.texi:14040
31313 #, no-wrap
31314 msgid "{@code{dovecot-configuration} parameter} string ssl-cert"
31315 msgstr ""
31316
31317 #. type: deftypevr
31318 #: doc/guix.texi:14043
31319 msgid ""
31320 "PEM encoded X.509 SSL/TLS certificate (public key). Defaults to @samp{\"</"
31321 "etc/dovecot/default.pem\"}."
31322 msgstr ""
31323
31324 #. type: deftypevr
31325 #: doc/guix.texi:14045
31326 #, no-wrap
31327 msgid "{@code{dovecot-configuration} parameter} string ssl-key"
31328 msgstr ""
31329
31330 #. type: deftypevr
31331 #: doc/guix.texi:14050
31332 msgid ""
31333 "PEM encoded SSL/TLS private key. The key is opened before dropping root "
31334 "privileges, so keep the key file unreadable by anyone but root. Defaults to "
31335 "@samp{\"</etc/dovecot/private/default.pem\"}."
31336 msgstr ""
31337
31338 #. type: deftypevr
31339 #: doc/guix.texi:14052
31340 #, no-wrap
31341 msgid "{@code{dovecot-configuration} parameter} string ssl-key-password"
31342 msgstr ""
31343
31344 #. type: deftypevr
31345 #: doc/guix.texi:14058
31346 msgid ""
31347 "If key file is password protected, give the password here. Alternatively "
31348 "give it when starting dovecot with -p parameter. Since this file is often "
31349 "world-readable, you may want to place this setting instead to a different. "
31350 "Defaults to @samp{\"\"}."
31351 msgstr ""
31352
31353 #. type: deftypevr
31354 #: doc/guix.texi:14060
31355 #, no-wrap
31356 msgid "{@code{dovecot-configuration} parameter} string ssl-ca"
31357 msgstr ""
31358
31359 #. type: deftypevr
31360 #: doc/guix.texi:14066
31361 msgid ""
31362 "PEM encoded trusted certificate authority. Set this only if you intend to "
31363 "use @samp{ssl-verify-client-cert? #t}. The file should contain the CA "
31364 "certificate(s) followed by the matching CRL(s). (e.g. @samp{ssl-ca </etc/"
31365 "ssl/certs/ca.pem}). Defaults to @samp{\"\"}."
31366 msgstr ""
31367
31368 #. type: deftypevr
31369 #: doc/guix.texi:14068
31370 #, no-wrap
31371 msgid "{@code{dovecot-configuration} parameter} boolean ssl-require-crl?"
31372 msgstr ""
31373
31374 #. type: deftypevr
31375 #: doc/guix.texi:14071
31376 msgid ""
31377 "Require that CRL check succeeds for client certificates. Defaults to "
31378 "@samp{#t}."
31379 msgstr ""
31380
31381 #. type: deftypevr
31382 #: doc/guix.texi:14073
31383 #, no-wrap
31384 msgid "{@code{dovecot-configuration} parameter} boolean ssl-verify-client-cert?"
31385 msgstr ""
31386
31387 #. type: deftypevr
31388 #: doc/guix.texi:14077
31389 msgid ""
31390 "Request client to send a certificate. If you also want to require it, set "
31391 "@samp{auth-ssl-require-client-cert? #t} in auth section. Defaults to "
31392 "@samp{#f}."
31393 msgstr ""
31394
31395 #. type: deftypevr
31396 #: doc/guix.texi:14079
31397 #, no-wrap
31398 msgid "{@code{dovecot-configuration} parameter} string ssl-cert-username-field"
31399 msgstr ""
31400
31401 #. type: deftypevr
31402 #: doc/guix.texi:14084
31403 msgid ""
31404 "Which field from certificate to use for username. commonName and "
31405 "x500UniqueIdentifier are the usual choices. You'll also need to set "
31406 "@samp{auth-ssl-username-from-cert? #t}. Defaults to @samp{\"commonName\"}."
31407 msgstr ""
31408
31409 #. type: deftypevr
31410 #: doc/guix.texi:14086
31411 #, no-wrap
31412 msgid "{@code{dovecot-configuration} parameter} string ssl-min-protocol"
31413 msgstr ""
31414
31415 #. type: deftypevr
31416 #: doc/guix.texi:14089
31417 msgid "Minimum SSL protocol version to accept. Defaults to @samp{\"TLSv1\"}."
31418 msgstr ""
31419
31420 #. type: deftypevr
31421 #: doc/guix.texi:14091
31422 #, no-wrap
31423 msgid "{@code{dovecot-configuration} parameter} string ssl-cipher-list"
31424 msgstr ""
31425
31426 #. type: deftypevr
31427 #: doc/guix.texi:14094
31428 msgid ""
31429 "SSL ciphers to use. Defaults to @samp{\"ALL:!kRSA:!SRP:!kDHd:!DSS:!aNULL:!"
31430 "eNULL:!EXPORT:!DES:!3DES:!MD5:!PSK:!RC4:!ADH:!LOW@@STRENGTH\"}."
31431 msgstr ""
31432
31433 #. type: deftypevr
31434 #: doc/guix.texi:14096
31435 #, no-wrap
31436 msgid "{@code{dovecot-configuration} parameter} string ssl-crypto-device"
31437 msgstr ""
31438
31439 #. type: deftypevr
31440 #: doc/guix.texi:14099
31441 msgid ""
31442 "SSL crypto device to use, for valid values run \"openssl engine\". Defaults "
31443 "to @samp{\"\"}."
31444 msgstr ""
31445
31446 #. type: deftypevr
31447 #: doc/guix.texi:14101
31448 #, no-wrap
31449 msgid "{@code{dovecot-configuration} parameter} string postmaster-address"
31450 msgstr ""
31451
31452 #. type: deftypevr
31453 #: doc/guix.texi:14105
31454 msgid ""
31455 "Address to use when sending rejection mails. %d expands to recipient "
31456 "domain. Defaults to @samp{\"postmaster@@%d\"}."
31457 msgstr ""
31458
31459 #. type: deftypevr
31460 #: doc/guix.texi:14107
31461 #, no-wrap
31462 msgid "{@code{dovecot-configuration} parameter} string hostname"
31463 msgstr ""
31464
31465 #. type: deftypevr
31466 #: doc/guix.texi:14111
31467 msgid ""
31468 "Hostname to use in various parts of sent mails (e.g. in Message-Id) and in "
31469 "LMTP replies. Default is the system's real hostname@@domain. Defaults to "
31470 "@samp{\"\"}."
31471 msgstr ""
31472
31473 #. type: deftypevr
31474 #: doc/guix.texi:14113
31475 #, no-wrap
31476 msgid "{@code{dovecot-configuration} parameter} boolean quota-full-tempfail?"
31477 msgstr ""
31478
31479 #. type: deftypevr
31480 #: doc/guix.texi:14117
31481 msgid ""
31482 "If user is over quota, return with temporary failure instead of bouncing the "
31483 "mail. Defaults to @samp{#f}."
31484 msgstr ""
31485
31486 #. type: deftypevr
31487 #: doc/guix.texi:14119
31488 #, no-wrap
31489 msgid "{@code{dovecot-configuration} parameter} file-name sendmail-path"
31490 msgstr ""
31491
31492 #. type: deftypevr
31493 #: doc/guix.texi:14122
31494 msgid ""
31495 "Binary to use for sending mails. Defaults to @samp{\"/usr/sbin/sendmail\"}."
31496 msgstr ""
31497
31498 #. type: deftypevr
31499 #: doc/guix.texi:14124
31500 #, no-wrap
31501 msgid "{@code{dovecot-configuration} parameter} string submission-host"
31502 msgstr ""
31503
31504 #. type: deftypevr
31505 #: doc/guix.texi:14128
31506 msgid ""
31507 "If non-empty, send mails via this SMTP host[:port] instead of sendmail. "
31508 "Defaults to @samp{\"\"}."
31509 msgstr ""
31510
31511 #. type: deftypevr
31512 #: doc/guix.texi:14130
31513 #, no-wrap
31514 msgid "{@code{dovecot-configuration} parameter} string rejection-subject"
31515 msgstr ""
31516
31517 #. type: deftypevr
31518 #: doc/guix.texi:14134
31519 msgid ""
31520 "Subject: header to use for rejection mails. You can use the same variables "
31521 "as for @samp{rejection-reason} below. Defaults to @samp{\"Rejected: %s\"}."
31522 msgstr ""
31523
31524 #. type: deftypevr
31525 #: doc/guix.texi:14136
31526 #, no-wrap
31527 msgid "{@code{dovecot-configuration} parameter} string rejection-reason"
31528 msgstr ""
31529
31530 #. type: deftypevr
31531 #: doc/guix.texi:14139
31532 msgid ""
31533 "Human readable error message for rejection mails. You can use variables:"
31534 msgstr ""
31535
31536 #. type: table
31537 #: doc/guix.texi:14143
31538 msgid "CRLF"
31539 msgstr ""
31540
31541 #. type: item
31542 #: doc/guix.texi:14143
31543 #, no-wrap
31544 msgid "%r"
31545 msgstr ""
31546
31547 #. type: table
31548 #: doc/guix.texi:14145
31549 msgid "reason"
31550 msgstr ""
31551
31552 #. type: table
31553 #: doc/guix.texi:14147
31554 msgid "original subject"
31555 msgstr ""
31556
31557 #. type: item
31558 #: doc/guix.texi:14147
31559 #, no-wrap
31560 msgid "%t"
31561 msgstr ""
31562
31563 #. type: table
31564 #: doc/guix.texi:14149
31565 msgid "recipient"
31566 msgstr ""
31567
31568 #. type: deftypevr
31569 #: doc/guix.texi:14151
31570 msgid ""
31571 "Defaults to @samp{\"Your message to <%t> was automatically rejected:%n%r\"}."
31572 msgstr ""
31573
31574 #. type: deftypevr
31575 #: doc/guix.texi:14153
31576 #, no-wrap
31577 msgid "{@code{dovecot-configuration} parameter} string recipient-delimiter"
31578 msgstr ""
31579
31580 #. type: deftypevr
31581 #: doc/guix.texi:14157
31582 msgid ""
31583 "Delimiter character between local-part and detail in email address. "
31584 "Defaults to @samp{\"+\"}."
31585 msgstr ""
31586
31587 #. type: deftypevr
31588 #: doc/guix.texi:14159
31589 #, no-wrap
31590 msgid "{@code{dovecot-configuration} parameter} string lda-original-recipient-header"
31591 msgstr ""
31592
31593 #. type: deftypevr
31594 #: doc/guix.texi:14165
31595 msgid ""
31596 "Header where the original recipient address (SMTP's RCPT TO: address) is "
31597 "taken from if not available elsewhere. With dovecot-lda -a parameter "
31598 "overrides this. A commonly used header for this is X-Original-To. Defaults "
31599 "to @samp{\"\"}."
31600 msgstr ""
31601
31602 #. type: deftypevr
31603 #: doc/guix.texi:14167
31604 #, no-wrap
31605 msgid "{@code{dovecot-configuration} parameter} boolean lda-mailbox-autocreate?"
31606 msgstr ""
31607
31608 #. type: deftypevr
31609 #: doc/guix.texi:14171
31610 msgid ""
31611 "Should saving a mail to a nonexistent mailbox automatically create it?. "
31612 "Defaults to @samp{#f}."
31613 msgstr ""
31614
31615 #. type: deftypevr
31616 #: doc/guix.texi:14173
31617 #, no-wrap
31618 msgid "{@code{dovecot-configuration} parameter} boolean lda-mailbox-autosubscribe?"
31619 msgstr ""
31620
31621 #. type: deftypevr
31622 #: doc/guix.texi:14177
31623 msgid ""
31624 "Should automatically created mailboxes be also automatically subscribed?. "
31625 "Defaults to @samp{#f}."
31626 msgstr ""
31627
31628 #. type: deftypevr
31629 #: doc/guix.texi:14179
31630 #, no-wrap
31631 msgid "{@code{dovecot-configuration} parameter} non-negative-integer imap-max-line-length"
31632 msgstr ""
31633
31634 #. type: deftypevr
31635 #: doc/guix.texi:14185
31636 msgid ""
31637 "Maximum IMAP command line length. Some clients generate very long command "
31638 "lines with huge mailboxes, so you may need to raise this if you get \"Too "
31639 "long argument\" or \"IMAP command line too large\" errors often. Defaults "
31640 "to @samp{64000}."
31641 msgstr ""
31642
31643 #. type: deftypevr
31644 #: doc/guix.texi:14187
31645 #, no-wrap
31646 msgid "{@code{dovecot-configuration} parameter} string imap-logout-format"
31647 msgstr ""
31648
31649 #. type: deftypevr
31650 #: doc/guix.texi:14189
31651 msgid "IMAP logout format string:"
31652 msgstr ""
31653
31654 #. type: item
31655 #: doc/guix.texi:14190
31656 #, no-wrap
31657 msgid "%i"
31658 msgstr ""
31659
31660 #. type: table
31661 #: doc/guix.texi:14192
31662 msgid "total number of bytes read from client"
31663 msgstr ""
31664
31665 #. type: item
31666 #: doc/guix.texi:14192
31667 #, no-wrap
31668 msgid "%o"
31669 msgstr ""
31670
31671 #. type: table
31672 #: doc/guix.texi:14194
31673 msgid "total number of bytes sent to client."
31674 msgstr ""
31675
31676 #. type: deftypevr
31677 #: doc/guix.texi:14197
31678 msgid ""
31679 "See @file{doc/wiki/Variables.txt} for a list of all the variables you can "
31680 "use. Defaults to @samp{\"in=%i out=%o deleted=%@{deleted@} expunged="
31681 "%@{expunged@} trashed=%@{trashed@} hdr_count=%@{fetch_hdr_count@} hdr_bytes="
31682 "%@{fetch_hdr_bytes@} body_count=%@{fetch_body_count@} body_bytes="
31683 "%@{fetch_body_bytes@}\"}."
31684 msgstr ""
31685
31686 #. type: deftypevr
31687 #: doc/guix.texi:14199
31688 #, no-wrap
31689 msgid "{@code{dovecot-configuration} parameter} string imap-capability"
31690 msgstr ""
31691
31692 #. type: deftypevr
31693 #: doc/guix.texi:14203
31694 msgid ""
31695 "Override the IMAP CAPABILITY response. If the value begins with '+', add "
31696 "the given capabilities on top of the defaults (e.g. +XFOO XBAR). Defaults "
31697 "to @samp{\"\"}."
31698 msgstr ""
31699
31700 #. type: deftypevr
31701 #: doc/guix.texi:14205
31702 #, no-wrap
31703 msgid "{@code{dovecot-configuration} parameter} string imap-idle-notify-interval"
31704 msgstr ""
31705
31706 #. type: deftypevr
31707 #: doc/guix.texi:14209
31708 msgid ""
31709 "How long to wait between \"OK Still here\" notifications when client is "
31710 "IDLEing. Defaults to @samp{\"2 mins\"}."
31711 msgstr ""
31712
31713 #. type: deftypevr
31714 #: doc/guix.texi:14211
31715 #, no-wrap
31716 msgid "{@code{dovecot-configuration} parameter} string imap-id-send"
31717 msgstr ""
31718
31719 #. type: deftypevr
31720 #: doc/guix.texi:14217
31721 msgid ""
31722 "ID field names and values to send to clients. Using * as the value makes "
31723 "Dovecot use the default value. The following fields have default values "
31724 "currently: name, version, os, os-version, support-url, support-email. "
31725 "Defaults to @samp{\"\"}."
31726 msgstr ""
31727
31728 #. type: deftypevr
31729 #: doc/guix.texi:14219
31730 #, no-wrap
31731 msgid "{@code{dovecot-configuration} parameter} string imap-id-log"
31732 msgstr ""
31733
31734 #. type: deftypevr
31735 #: doc/guix.texi:14222
31736 msgid ""
31737 "ID fields sent by client to log. * means everything. Defaults to "
31738 "@samp{\"\"}."
31739 msgstr ""
31740
31741 #. type: deftypevr
31742 #: doc/guix.texi:14224
31743 #, no-wrap
31744 msgid "{@code{dovecot-configuration} parameter} space-separated-string-list imap-client-workarounds"
31745 msgstr ""
31746
31747 #. type: deftypevr
31748 #: doc/guix.texi:14226
31749 msgid "Workarounds for various client bugs:"
31750 msgstr ""
31751
31752 #. type: item
31753 #: doc/guix.texi:14228
31754 #, no-wrap
31755 msgid "delay-newmail"
31756 msgstr ""
31757
31758 #. type: table
31759 #: doc/guix.texi:14235
31760 msgid ""
31761 "Send EXISTS/RECENT new mail notifications only when replying to NOOP and "
31762 "CHECK commands. Some clients ignore them otherwise, for example OSX Mail "
31763 "(<v2.1). Outlook Express breaks more badly though, without this it may show "
31764 "user \"Message no longer in server\" errors. Note that OE6 still breaks "
31765 "even with this workaround if synchronization is set to \"Headers Only\"."
31766 msgstr ""
31767
31768 #. type: item
31769 #: doc/guix.texi:14236
31770 #, no-wrap
31771 msgid "tb-extra-mailbox-sep"
31772 msgstr ""
31773
31774 #. type: table
31775 #: doc/guix.texi:14240
31776 msgid ""
31777 "Thunderbird gets somehow confused with LAYOUT=fs (mbox and dbox) and adds "
31778 "extra @samp{/} suffixes to mailbox names. This option causes Dovecot to "
31779 "ignore the extra @samp{/} instead of treating it as invalid mailbox name."
31780 msgstr ""
31781
31782 #. type: item
31783 #: doc/guix.texi:14241
31784 #, no-wrap
31785 msgid "tb-lsub-flags"
31786 msgstr ""
31787
31788 #. type: table
31789 #: doc/guix.texi:14245
31790 msgid ""
31791 "Show \\Noselect flags for LSUB replies with LAYOUT=fs (e.g. mbox). This "
31792 "makes Thunderbird realize they aren't selectable and show them greyed out, "
31793 "instead of only later giving \"not selectable\" popup error."
31794 msgstr ""
31795
31796 #. type: deftypevr
31797 #: doc/guix.texi:14249
31798 #, no-wrap
31799 msgid "{@code{dovecot-configuration} parameter} string imap-urlauth-host"
31800 msgstr ""
31801
31802 #. type: deftypevr
31803 #: doc/guix.texi:14252
31804 msgid ""
31805 "Host allowed in URLAUTH URLs sent by client. \"*\" allows all. Defaults to "
31806 "@samp{\"\"}."
31807 msgstr ""
31808
31809 #. type: Plain text
31810 #: doc/guix.texi:14260
31811 msgid ""
31812 "Whew! Lots of configuration options. The nice thing about it though is that "
31813 "GuixSD has a complete interface to Dovecot's configuration language. This "
31814 "allows not only a nice way to declare configurations, but also offers "
31815 "reflective capabilities as well: users can write code to inspect and "
31816 "transform configurations from within Scheme."
31817 msgstr ""
31818
31819 #. type: Plain text
31820 #: doc/guix.texi:14266
31821 msgid ""
31822 "However, it could be that you just want to get a @code{dovecot.conf} up and "
31823 "running. In that case, you can pass an @code{opaque-dovecot-configuration} "
31824 "as the @code{#:config} parameter to @code{dovecot-service}. As its name "
31825 "indicates, an opaque configuration does not have easy reflective "
31826 "capabilities."
31827 msgstr ""
31828
31829 #. type: Plain text
31830 #: doc/guix.texi:14268
31831 msgid "Available @code{opaque-dovecot-configuration} fields are:"
31832 msgstr ""
31833
31834 #. type: deftypevr
31835 #: doc/guix.texi:14269
31836 #, no-wrap
31837 msgid "{@code{opaque-dovecot-configuration} parameter} package dovecot"
31838 msgstr ""
31839
31840 #. type: deftypevr
31841 #: doc/guix.texi:14273
31842 #, no-wrap
31843 msgid "{@code{opaque-dovecot-configuration} parameter} string string"
31844 msgstr ""
31845
31846 #. type: deftypevr
31847 #: doc/guix.texi:14275
31848 msgid "The contents of the @code{dovecot.conf}, as a string."
31849 msgstr ""
31850
31851 #. type: Plain text
31852 #: doc/guix.texi:14279
31853 msgid ""
31854 "For example, if your @code{dovecot.conf} is just the empty string, you could "
31855 "instantiate a dovecot service like this:"
31856 msgstr ""
31857
31858 #. type: example
31859 #: doc/guix.texi:14284
31860 #, no-wrap
31861 msgid ""
31862 "(dovecot-service #:config\n"
31863 " (opaque-dovecot-configuration\n"
31864 " (string \"\")))\n"
31865 msgstr ""
31866
31867 #. type: subsubheading
31868 #: doc/guix.texi:14286
31869 #, no-wrap
31870 msgid "OpenSMTPD Service"
31871 msgstr ""
31872
31873 #. type: deffn
31874 #: doc/guix.texi:14288
31875 #, no-wrap
31876 msgid "{Scheme Variable} opensmtpd-service-type"
31877 msgstr ""
31878
31879 #. type: deffn
31880 #: doc/guix.texi:14292
31881 msgid ""
31882 "This is the type of the @uref{https://www.opensmtpd.org, OpenSMTPD} service, "
31883 "whose value should be an @code{opensmtpd-configuration} object as in this "
31884 "example:"
31885 msgstr ""
31886
31887 #. type: example
31888 #: doc/guix.texi:14297
31889 #, no-wrap
31890 msgid ""
31891 "(service opensmtpd-service-type\n"
31892 " (opensmtpd-configuration\n"
31893 " (config-file (local-file \"./my-smtpd.conf\"))))\n"
31894 msgstr ""
31895
31896 #. type: deftp
31897 #: doc/guix.texi:14300
31898 #, no-wrap
31899 msgid "{Data Type} opensmtpd-configuration"
31900 msgstr ""
31901
31902 #. type: deftp
31903 #: doc/guix.texi:14302
31904 msgid "Data type representing the configuration of opensmtpd."
31905 msgstr ""
31906
31907 #. type: item
31908 #: doc/guix.texi:14304
31909 #, no-wrap
31910 msgid "@code{package} (default: @var{opensmtpd})"
31911 msgstr ""
31912
31913 #. type: table
31914 #: doc/guix.texi:14306
31915 msgid "Package object of the OpenSMTPD SMTP server."
31916 msgstr ""
31917
31918 #. type: item
31919 #: doc/guix.texi:14307
31920 #, no-wrap
31921 msgid "@code{config-file} (default: @var{%default-opensmtpd-file})"
31922 msgstr ""
31923
31924 #. type: table
31925 #: doc/guix.texi:14312
31926 msgid ""
31927 "File-like object of the OpenSMTPD configuration file to use. By default it "
31928 "listens on the loopback network interface, and allows for mail from users "
31929 "and daemons on the local machine, as well as permitting email to remote "
31930 "servers. Run @command{man smtpd.conf} for more information."
31931 msgstr ""
31932
31933 #. type: subsubheading
31934 #: doc/guix.texi:14316
31935 #, no-wrap
31936 msgid "Exim Service"
31937 msgstr ""
31938
31939 #. type: cindex
31940 #: doc/guix.texi:14318
31941 #, no-wrap
31942 msgid "mail transfer agent (MTA)"
31943 msgstr ""
31944
31945 #. type: cindex
31946 #: doc/guix.texi:14319
31947 #, no-wrap
31948 msgid "MTA (mail transfer agent)"
31949 msgstr ""
31950
31951 #. type: cindex
31952 #: doc/guix.texi:14320
31953 #, no-wrap
31954 msgid "SMTP"
31955 msgstr ""
31956
31957 #. type: deffn
31958 #: doc/guix.texi:14322
31959 #, no-wrap
31960 msgid "{Scheme Variable} exim-service-type"
31961 msgstr ""
31962
31963 #. type: deffn
31964 #: doc/guix.texi:14326
31965 msgid ""
31966 "This is the type of the @uref{https://exim.org, Exim} mail transfer agent "
31967 "(MTA), whose value should be an @code{exim-configuration} object as in this "
31968 "example:"
31969 msgstr ""
31970
31971 #. type: example
31972 #: doc/guix.texi:14331
31973 #, no-wrap
31974 msgid ""
31975 "(service exim-service-type\n"
31976 " (exim-configuration\n"
31977 " (config-file (local-file \"./my-exim.conf\"))))\n"
31978 msgstr ""
31979
31980 #. type: Plain text
31981 #: doc/guix.texi:14337
31982 msgid ""
31983 "In order to use an @code{exim-service-type} service you must also have a "
31984 "@code{mail-aliases-service-type} service present in your @code{operating-"
31985 "system} (even if it has no aliases)."
31986 msgstr ""
31987
31988 #. type: deftp
31989 #: doc/guix.texi:14338
31990 #, no-wrap
31991 msgid "{Data Type} exim-configuration"
31992 msgstr ""
31993
31994 #. type: deftp
31995 #: doc/guix.texi:14340
31996 msgid "Data type representing the configuration of exim."
31997 msgstr ""
31998
31999 #. type: item
32000 #: doc/guix.texi:14342
32001 #, no-wrap
32002 msgid "@code{package} (default: @var{exim})"
32003 msgstr ""
32004
32005 #. type: table
32006 #: doc/guix.texi:14344
32007 msgid "Package object of the Exim server."
32008 msgstr ""
32009
32010 #. type: table
32011 #: doc/guix.texi:14351
32012 msgid ""
32013 "File-like object of the Exim configuration file to use. If its value is "
32014 "@code{#f} then use the default configuration file from the package provided "
32015 "in @code{package}. The resulting configuration file is loaded after setting "
32016 "the @code{exim_user} and @code{exim_group} configuration variables."
32017 msgstr ""
32018
32019 #. type: subsubheading
32020 #: doc/guix.texi:14355
32021 #, no-wrap
32022 msgid "Mail Aliases Service"
32023 msgstr ""
32024
32025 #. type: cindex
32026 #: doc/guix.texi:14357
32027 #, no-wrap
32028 msgid "email aliases"
32029 msgstr ""
32030
32031 #. type: cindex
32032 #: doc/guix.texi:14358
32033 #, no-wrap
32034 msgid "aliases, for email addresses"
32035 msgstr ""
32036
32037 #. type: deffn
32038 #: doc/guix.texi:14360
32039 #, no-wrap
32040 msgid "{Scheme Variable} mail-aliases-service-type"
32041 msgstr ""
32042
32043 #. type: deffn
32044 #: doc/guix.texi:14363
32045 msgid ""
32046 "This is the type of the service which provides @code{/etc/aliases}, "
32047 "specifying how to deliver mail to users on this system."
32048 msgstr ""
32049
32050 #. type: example
32051 #: doc/guix.texi:14368
32052 #, no-wrap
32053 msgid ""
32054 "(service mail-aliases-service-type\n"
32055 " '((\"postmaster\" \"bob\")\n"
32056 " (\"bob\" \"bob@@example.com\" \"bob@@example2.com\")))\n"
32057 msgstr ""
32058
32059 #. type: Plain text
32060 #: doc/guix.texi:14376
32061 msgid ""
32062 "The configuration for a @code{mail-aliases-service-type} service is an "
32063 "association list denoting how to deliver mail that comes to this system. "
32064 "Each entry is of the form @code{(alias addresses ...)}, with @code{alias} "
32065 "specifying the local alias and @code{addresses} specifying where to deliver "
32066 "this user's mail."
32067 msgstr ""
32068
32069 #. type: Plain text
32070 #: doc/guix.texi:14382
32071 msgid ""
32072 "The aliases aren't required to exist as users on the local system. In the "
32073 "above example, there doesn't need to be a @code{postmaster} entry in the "
32074 "@code{operating-system}'s @code{user-accounts} in order to deliver the "
32075 "@code{postmaster} mail to @code{bob} (which subsequently would deliver mail "
32076 "to @code{bob@@example.com} and @code{bob@@example2.com})."
32077 msgstr ""
32078
32079 #. type: cindex
32080 #: doc/guix.texi:14386
32081 #, no-wrap
32082 msgid "messaging"
32083 msgstr ""
32084
32085 #. type: cindex
32086 #: doc/guix.texi:14387
32087 #, no-wrap
32088 msgid "jabber"
32089 msgstr ""
32090
32091 #. type: cindex
32092 #: doc/guix.texi:14388
32093 #, no-wrap
32094 msgid "XMPP"
32095 msgstr ""
32096
32097 #. type: Plain text
32098 #: doc/guix.texi:14391
32099 msgid ""
32100 "The @code{(gnu services messaging)} module provides Guix service definitions "
32101 "for messaging services: currently only Prosody is supported."
32102 msgstr ""
32103
32104 #. type: subsubheading
32105 #: doc/guix.texi:14392
32106 #, no-wrap
32107 msgid "Prosody Service"
32108 msgstr ""
32109
32110 #. type: deffn
32111 #: doc/guix.texi:14394
32112 #, no-wrap
32113 msgid "{Scheme Variable} prosody-service-type"
32114 msgstr ""
32115
32116 #. type: deffn
32117 #: doc/guix.texi:14398
32118 msgid ""
32119 "This is the type for the @uref{https://prosody.im, Prosody XMPP "
32120 "communication server}. Its value must be a @code{prosody-configuration} "
32121 "record as in this example:"
32122 msgstr ""
32123
32124 #. type: example
32125 #: doc/guix.texi:14413
32126 #, no-wrap
32127 msgid ""
32128 "(service prosody-service-type\n"
32129 " (prosody-configuration\n"
32130 " (modules-enabled (cons \"groups\" \"mam\" %default-modules-enabled))\n"
32131 " (int-components\n"
32132 " (list\n"
32133 " (int-component-configuration\n"
32134 " (hostname \"conference.example.net\")\n"
32135 " (plugin \"muc\")\n"
32136 " (mod-muc (mod-muc-configuration)))))\n"
32137 " (virtualhosts\n"
32138 " (list\n"
32139 " (virtualhost-configuration\n"
32140 " (domain \"example.net\"))))))\n"
32141 msgstr ""
32142
32143 #. type: deffn
32144 #: doc/guix.texi:14416
32145 msgid "See below for details about @code{prosody-configuration}."
32146 msgstr ""
32147
32148 #. type: Plain text
32149 #: doc/guix.texi:14422
32150 msgid ""
32151 "By default, Prosody does not need much configuration. Only one "
32152 "@code{virtualhosts} field is needed: it specifies the domain you wish "
32153 "Prosody to serve."
32154 msgstr ""
32155
32156 #. type: Plain text
32157 #: doc/guix.texi:14425
32158 msgid ""
32159 "You can perform various sanity checks on the generated configuration with "
32160 "the @code{prosodyctl check} command."
32161 msgstr ""
32162
32163 #. type: Plain text
32164 #: doc/guix.texi:14429
32165 msgid ""
32166 "Prosodyctl will also help you to import certificates from the "
32167 "@code{letsencrypt} directory so that the @code{prosody} user can access "
32168 "them. See @url{https://prosody.im/doc/letsencrypt}."
32169 msgstr ""
32170
32171 #. type: example
32172 #: doc/guix.texi:14432
32173 #, no-wrap
32174 msgid "prosodyctl --root cert import /etc/letsencrypt/live\n"
32175 msgstr ""
32176
32177 #. type: Plain text
32178 #: doc/guix.texi:14439
32179 msgid ""
32180 "The available configuration parameters follow. Each parameter definition is "
32181 "preceded by its type; for example, @samp{string-list foo} indicates that the "
32182 "@code{foo} parameter should be specified as a list of strings. Types "
32183 "starting with @code{maybe-} denote parameters that won't show up in "
32184 "@code{prosody.cfg.lua} when their value is @code{'disabled}."
32185 msgstr ""
32186
32187 #. type: Plain text
32188 #: doc/guix.texi:14443
32189 msgid ""
32190 "There is also a way to specify the configuration as a string, if you have an "
32191 "old @code{prosody.cfg.lua} file that you want to port over from some other "
32192 "system; see the end for more details."
32193 msgstr ""
32194
32195 #. type: Plain text
32196 #: doc/guix.texi:14446
32197 msgid ""
32198 "The @code{file-object} type designates either a file-like object (@pxref{G-"
32199 "Expressions, file-like objects}) or a file name."
32200 msgstr ""
32201
32202 #. type: Plain text
32203 #: doc/guix.texi:14456
32204 msgid "Available @code{prosody-configuration} fields are:"
32205 msgstr ""
32206
32207 #. type: deftypevr
32208 #: doc/guix.texi:14457
32209 #, no-wrap
32210 msgid "{@code{prosody-configuration} parameter} package prosody"
32211 msgstr ""
32212
32213 #. type: deftypevr
32214 #: doc/guix.texi:14459
32215 msgid "The Prosody package."
32216 msgstr ""
32217
32218 #. type: deftypevr
32219 #: doc/guix.texi:14461
32220 #, no-wrap
32221 msgid "{@code{prosody-configuration} parameter} file-name data-path"
32222 msgstr ""
32223
32224 #. type: deftypevr
32225 #: doc/guix.texi:14465
32226 msgid ""
32227 "Location of the Prosody data storage directory. See @url{https://prosody.im/"
32228 "doc/configure}. Defaults to @samp{\"/var/lib/prosody\"}."
32229 msgstr ""
32230
32231 #. type: deftypevr
32232 #: doc/guix.texi:14467
32233 #, no-wrap
32234 msgid "{@code{prosody-configuration} parameter} file-object-list plugin-paths"
32235 msgstr ""
32236
32237 #. type: deftypevr
32238 #: doc/guix.texi:14471
32239 msgid ""
32240 "Additional plugin directories. They are searched in all the specified paths "
32241 "in order. See @url{https://prosody.im/doc/plugins_directory}. Defaults to "
32242 "@samp{()}."
32243 msgstr ""
32244
32245 #. type: deftypevr
32246 #: doc/guix.texi:14473
32247 #, no-wrap
32248 msgid "{@code{prosody-configuration} parameter} file-name certificates"
32249 msgstr ""
32250
32251 #. type: deftypevr
32252 #: doc/guix.texi:14478
32253 msgid ""
32254 "Every virtual host and component needs a certificate so that clients and "
32255 "servers can securely verify its identity. Prosody will automatically load "
32256 "certificates/keys from the directory specified here. Defaults to @samp{\"/"
32257 "etc/prosody/certs\"}."
32258 msgstr ""
32259
32260 #. type: deftypevr
32261 #: doc/guix.texi:14480
32262 #, no-wrap
32263 msgid "{@code{prosody-configuration} parameter} string-list admins"
32264 msgstr ""
32265
32266 #. type: deftypevr
32267 #: doc/guix.texi:14486
32268 msgid ""
32269 "This is a list of accounts that are admins for the server. Note that you "
32270 "must create the accounts separately. See @url{https://prosody.im/doc/"
32271 "admins} and @url{https://prosody.im/doc/creating_accounts}. Example: "
32272 "@code{(admins '(\"user1@@example.com\" \"user2@@example.net\"))} Defaults to "
32273 "@samp{()}."
32274 msgstr ""
32275
32276 #. type: deftypevr
32277 #: doc/guix.texi:14488
32278 #, no-wrap
32279 msgid "{@code{prosody-configuration} parameter} boolean use-libevent?"
32280 msgstr ""
32281
32282 #. type: deftypevr
32283 #: doc/guix.texi:14492
32284 msgid ""
32285 "Enable use of libevent for better performance under high load. See "
32286 "@url{https://prosody.im/doc/libevent}. Defaults to @samp{#f}."
32287 msgstr ""
32288
32289 #. type: deftypevr
32290 #: doc/guix.texi:14494
32291 #, no-wrap
32292 msgid "{@code{prosody-configuration} parameter} module-list modules-enabled"
32293 msgstr ""
32294
32295 #. type: deftypevr
32296 #: doc/guix.texi:14500
32297 msgid ""
32298 "This is the list of modules Prosody will load on startup. It looks for "
32299 "@code{mod_modulename.lua} in the plugins folder, so make sure that exists "
32300 "too. Documentation on modules can be found at: @url{https://prosody.im/doc/"
32301 "modules}. Defaults to @samp{(\"roster\" \"saslauth\" \"tls\" \"dialback\" "
32302 "\"disco\" \"carbons\" \"private\" \"blocklist\" \"vcard\" \"version\" "
32303 "\"uptime\" \"time\" \"ping\" \"pep\" \"register\" \"admin_adhoc\")}."
32304 msgstr ""
32305
32306 #. type: deftypevr
32307 #: doc/guix.texi:14502
32308 #, no-wrap
32309 msgid "{@code{prosody-configuration} parameter} string-list modules-disabled"
32310 msgstr ""
32311
32312 #. type: deftypevr
32313 #: doc/guix.texi:14506
32314 msgid ""
32315 "@samp{\"offline\"}, @samp{\"c2s\"} and @samp{\"s2s\"} are auto-loaded, but "
32316 "should you want to disable them then add them to this list. Defaults to "
32317 "@samp{()}."
32318 msgstr ""
32319
32320 #. type: deftypevr
32321 #: doc/guix.texi:14508
32322 #, no-wrap
32323 msgid "{@code{prosody-configuration} parameter} file-object groups-file"
32324 msgstr ""
32325
32326 #. type: deftypevr
32327 #: doc/guix.texi:14513
32328 msgid ""
32329 "Path to a text file where the shared groups are defined. If this path is "
32330 "empty then @samp{mod_groups} does nothing. See @url{https://prosody.im/doc/"
32331 "modules/mod_groups}. Defaults to @samp{\"/var/lib/prosody/sharedgroups.txt"
32332 "\"}."
32333 msgstr ""
32334
32335 #. type: deftypevr
32336 #: doc/guix.texi:14515
32337 #, no-wrap
32338 msgid "{@code{prosody-configuration} parameter} boolean allow-registration?"
32339 msgstr ""
32340
32341 #. type: deftypevr
32342 #: doc/guix.texi:14519
32343 msgid ""
32344 "Disable account creation by default, for security. See @url{https://prosody."
32345 "im/doc/creating_accounts}. Defaults to @samp{#f}."
32346 msgstr ""
32347
32348 #. type: deftypevr
32349 #: doc/guix.texi:14521
32350 #, no-wrap
32351 msgid "{@code{prosody-configuration} parameter} maybe-ssl-configuration ssl"
32352 msgstr ""
32353
32354 #. type: deftypevr
32355 #: doc/guix.texi:14526
32356 msgid ""
32357 "These are the SSL/TLS-related settings. Most of them are disabled so to use "
32358 "Prosody's defaults. If you do not completely understand these options, do "
32359 "not add them to your config, it is easy to lower the security of your server "
32360 "using them. See @url{https://prosody.im/doc/advanced_ssl_config}."
32361 msgstr ""
32362
32363 #. type: deftypevr
32364 #: doc/guix.texi:14528
32365 msgid "Available @code{ssl-configuration} fields are:"
32366 msgstr ""
32367
32368 #. type: deftypevr
32369 #: doc/guix.texi:14529
32370 #, no-wrap
32371 msgid "{@code{ssl-configuration} parameter} maybe-string protocol"
32372 msgstr ""
32373
32374 #. type: deftypevr
32375 #: doc/guix.texi:14531
32376 msgid "This determines what handshake to use."
32377 msgstr ""
32378
32379 #. type: deftypevr
32380 #: doc/guix.texi:14533
32381 #, no-wrap
32382 msgid "{@code{ssl-configuration} parameter} maybe-file-name key"
32383 msgstr ""
32384
32385 #. type: deftypevr
32386 #: doc/guix.texi:14535
32387 msgid "Path to your private key file."
32388 msgstr ""
32389
32390 #. type: deftypevr
32391 #: doc/guix.texi:14537
32392 #, no-wrap
32393 msgid "{@code{ssl-configuration} parameter} maybe-file-name certificate"
32394 msgstr ""
32395
32396 #. type: deftypevr
32397 #: doc/guix.texi:14539
32398 msgid "Path to your certificate file."
32399 msgstr ""
32400
32401 #. type: deftypevr
32402 #: doc/guix.texi:14541
32403 #, no-wrap
32404 msgid "{@code{ssl-configuration} parameter} file-object capath"
32405 msgstr ""
32406
32407 #. type: deftypevr
32408 #: doc/guix.texi:14545
32409 msgid ""
32410 "Path to directory containing root certificates that you wish Prosody to "
32411 "trust when verifying the certificates of remote servers. Defaults to "
32412 "@samp{\"/etc/ssl/certs\"}."
32413 msgstr ""
32414
32415 #. type: deftypevr
32416 #: doc/guix.texi:14547
32417 #, no-wrap
32418 msgid "{@code{ssl-configuration} parameter} maybe-file-object cafile"
32419 msgstr ""
32420
32421 #. type: deftypevr
32422 #: doc/guix.texi:14550
32423 msgid ""
32424 "Path to a file containing root certificates that you wish Prosody to trust. "
32425 "Similar to @code{capath} but with all certificates concatenated together."
32426 msgstr ""
32427
32428 #. type: deftypevr
32429 #: doc/guix.texi:14552
32430 #, no-wrap
32431 msgid "{@code{ssl-configuration} parameter} maybe-string-list verify"
32432 msgstr ""
32433
32434 #. type: deftypevr
32435 #: doc/guix.texi:14555
32436 msgid ""
32437 "A list of verification options (these mostly map to OpenSSL's "
32438 "@code{set_verify()} flags)."
32439 msgstr ""
32440
32441 #. type: deftypevr
32442 #: doc/guix.texi:14557
32443 #, no-wrap
32444 msgid "{@code{ssl-configuration} parameter} maybe-string-list options"
32445 msgstr ""
32446
32447 #. type: deftypevr
32448 #: doc/guix.texi:14561
32449 msgid ""
32450 "A list of general options relating to SSL/TLS. These map to OpenSSL's "
32451 "@code{set_options()}. For a full list of options available in LuaSec, see "
32452 "the LuaSec source."
32453 msgstr ""
32454
32455 #. type: deftypevr
32456 #: doc/guix.texi:14563
32457 #, no-wrap
32458 msgid "{@code{ssl-configuration} parameter} maybe-non-negative-integer depth"
32459 msgstr ""
32460
32461 #. type: deftypevr
32462 #: doc/guix.texi:14566
32463 msgid ""
32464 "How long a chain of certificate authorities to check when looking for a "
32465 "trusted root certificate."
32466 msgstr ""
32467
32468 #. type: deftypevr
32469 #: doc/guix.texi:14568
32470 #, no-wrap
32471 msgid "{@code{ssl-configuration} parameter} maybe-string ciphers"
32472 msgstr ""
32473
32474 #. type: deftypevr
32475 #: doc/guix.texi:14571
32476 msgid ""
32477 "An OpenSSL cipher string. This selects what ciphers Prosody will offer to "
32478 "clients, and in what order."
32479 msgstr ""
32480
32481 #. type: deftypevr
32482 #: doc/guix.texi:14573
32483 #, no-wrap
32484 msgid "{@code{ssl-configuration} parameter} maybe-file-name dhparam"
32485 msgstr ""
32486
32487 #. type: deftypevr
32488 #: doc/guix.texi:14577
32489 msgid ""
32490 "A path to a file containing parameters for Diffie-Hellman key exchange. You "
32491 "can create such a file with: @code{openssl dhparam -out /etc/prosody/certs/"
32492 "dh-2048.pem 2048}"
32493 msgstr ""
32494
32495 #. type: deftypevr
32496 #: doc/guix.texi:14579
32497 #, no-wrap
32498 msgid "{@code{ssl-configuration} parameter} maybe-string curve"
32499 msgstr ""
32500
32501 #. type: deftypevr
32502 #: doc/guix.texi:14582
32503 msgid ""
32504 "Curve for Elliptic curve Diffie-Hellman. Prosody's default is "
32505 "@samp{\"secp384r1\"}."
32506 msgstr ""
32507
32508 #. type: deftypevr
32509 #: doc/guix.texi:14584
32510 #, no-wrap
32511 msgid "{@code{ssl-configuration} parameter} maybe-string-list verifyext"
32512 msgstr ""
32513
32514 #. type: deftypevr
32515 #: doc/guix.texi:14586
32516 msgid "A list of \"extra\" verification options."
32517 msgstr ""
32518
32519 #. type: deftypevr
32520 #: doc/guix.texi:14588
32521 #, no-wrap
32522 msgid "{@code{ssl-configuration} parameter} maybe-string password"
32523 msgstr ""
32524
32525 #. type: deftypevr
32526 #: doc/guix.texi:14590
32527 msgid "Password for encrypted private keys."
32528 msgstr ""
32529
32530 #. type: deftypevr
32531 #: doc/guix.texi:14594
32532 #, no-wrap
32533 msgid "{@code{prosody-configuration} parameter} boolean c2s-require-encryption?"
32534 msgstr ""
32535
32536 #. type: deftypevr
32537 #: doc/guix.texi:14598
32538 msgid ""
32539 "Whether to force all client-to-server connections to be encrypted or not. "
32540 "See @url{https://prosody.im/doc/modules/mod_tls}. Defaults to @samp{#f}."
32541 msgstr ""
32542
32543 #. type: deftypevr
32544 #: doc/guix.texi:14600
32545 #, no-wrap
32546 msgid "{@code{prosody-configuration} parameter} string-list disable-sasl-mechanisms"
32547 msgstr ""
32548
32549 #. type: deftypevr
32550 #: doc/guix.texi:14604
32551 msgid ""
32552 "Set of mechanisms that will never be offered. See @url{https://prosody.im/"
32553 "doc/modules/mod_saslauth}. Defaults to @samp{(\"DIGEST-MD5\")}."
32554 msgstr ""
32555
32556 #. type: deftypevr
32557 #: doc/guix.texi:14606
32558 #, no-wrap
32559 msgid "{@code{prosody-configuration} parameter} boolean s2s-require-encryption?"
32560 msgstr ""
32561
32562 #. type: deftypevr
32563 #: doc/guix.texi:14610
32564 msgid ""
32565 "Whether to force all server-to-server connections to be encrypted or not. "
32566 "See @url{https://prosody.im/doc/modules/mod_tls}. Defaults to @samp{#f}."
32567 msgstr ""
32568
32569 #. type: deftypevr
32570 #: doc/guix.texi:14612
32571 #, no-wrap
32572 msgid "{@code{prosody-configuration} parameter} boolean s2s-secure-auth?"
32573 msgstr ""
32574
32575 #. type: deftypevr
32576 #: doc/guix.texi:14618
32577 msgid ""
32578 "Whether to require encryption and certificate authentication. This provides "
32579 "ideal security, but requires servers you communicate with to support "
32580 "encryption AND present valid, trusted certificates. See @url{https://"
32581 "prosody.im/doc/s2s#security}. Defaults to @samp{#f}."
32582 msgstr ""
32583
32584 #. type: deftypevr
32585 #: doc/guix.texi:14620
32586 #, no-wrap
32587 msgid "{@code{prosody-configuration} parameter} string-list s2s-insecure-domains"
32588 msgstr ""
32589
32590 #. type: deftypevr
32591 #: doc/guix.texi:14626
32592 msgid ""
32593 "Many servers don't support encryption or have invalid or self-signed "
32594 "certificates. You can list domains here that will not be required to "
32595 "authenticate using certificates. They will be authenticated using DNS. See "
32596 "@url{https://prosody.im/doc/s2s#security}. Defaults to @samp{()}."
32597 msgstr ""
32598
32599 #. type: deftypevr
32600 #: doc/guix.texi:14628
32601 #, no-wrap
32602 msgid "{@code{prosody-configuration} parameter} string-list s2s-secure-domains"
32603 msgstr ""
32604
32605 #. type: deftypevr
32606 #: doc/guix.texi:14633
32607 msgid ""
32608 "Even if you leave @code{s2s-secure-auth?} disabled, you can still require "
32609 "valid certificates for some domains by specifying a list here. See "
32610 "@url{https://prosody.im/doc/s2s#security}. Defaults to @samp{()}."
32611 msgstr ""
32612
32613 #. type: deftypevr
32614 #: doc/guix.texi:14635
32615 #, no-wrap
32616 msgid "{@code{prosody-configuration} parameter} string authentication"
32617 msgstr ""
32618
32619 #. type: deftypevr
32620 #: doc/guix.texi:14643
32621 msgid ""
32622 "Select the authentication backend to use. The default provider stores "
32623 "passwords in plaintext and uses Prosody's configured data storage to store "
32624 "the authentication data. If you do not trust your server please see "
32625 "@url{https://prosody.im/doc/modules/mod_auth_internal_hashed} for "
32626 "information about using the hashed backend. See also @url{https://prosody."
32627 "im/doc/authentication} Defaults to @samp{\"internal_plain\"}."
32628 msgstr ""
32629
32630 #. type: deftypevr
32631 #: doc/guix.texi:14645
32632 #, no-wrap
32633 msgid "{@code{prosody-configuration} parameter} maybe-string log"
32634 msgstr ""
32635
32636 #. type: deftypevr
32637 #: doc/guix.texi:14649
32638 msgid ""
32639 "Set logging options. Advanced logging configuration is not yet supported by "
32640 "the GuixSD Prosody Service. See @url{https://prosody.im/doc/logging}. "
32641 "Defaults to @samp{\"*syslog\"}."
32642 msgstr ""
32643
32644 #. type: deftypevr
32645 #: doc/guix.texi:14651
32646 #, no-wrap
32647 msgid "{@code{prosody-configuration} parameter} file-name pidfile"
32648 msgstr ""
32649
32650 #. type: deftypevr
32651 #: doc/guix.texi:14654
32652 msgid ""
32653 "File to write pid in. See @url{https://prosody.im/doc/modules/mod_posix}. "
32654 "Defaults to @samp{\"/var/run/prosody/prosody.pid\"}."
32655 msgstr ""
32656
32657 #. type: deftypevr
32658 #: doc/guix.texi:14656
32659 #, no-wrap
32660 msgid "{@code{prosody-configuration} parameter} maybe-non-negative-integer http-max-content-size"
32661 msgstr ""
32662
32663 #. type: deftypevr
32664 #: doc/guix.texi:14658
32665 msgid "Maximum allowed size of the HTTP body (in bytes)."
32666 msgstr ""
32667
32668 #. type: deftypevr
32669 #: doc/guix.texi:14660
32670 #, no-wrap
32671 msgid "{@code{prosody-configuration} parameter} maybe-string http-external-url"
32672 msgstr ""
32673
32674 #. type: deftypevr
32675 #: doc/guix.texi:14665
32676 msgid ""
32677 "Some modules expose their own URL in various ways. This URL is built from "
32678 "the protocol, host and port used. If Prosody sits behind a proxy, the "
32679 "public URL will be @code{http-external-url} instead. See @url{https://"
32680 "prosody.im/doc/http#external_url}."
32681 msgstr ""
32682
32683 #. type: deftypevr
32684 #: doc/guix.texi:14667
32685 #, no-wrap
32686 msgid "{@code{prosody-configuration} parameter} virtualhost-configuration-list virtualhosts"
32687 msgstr ""
32688
32689 #. type: deftypevr
32690 #: doc/guix.texi:14672
32691 msgid ""
32692 "A host in Prosody is a domain on which user accounts can be created. For "
32693 "example if you want your users to have addresses like @samp{\"john."
32694 "smith@@example.com\"} then you need to add a host @samp{\"example.com\"}. "
32695 "All options in this list will apply only to this host."
32696 msgstr ""
32697
32698 #. type: deftypevr
32699 #: doc/guix.texi:14678
32700 msgid ""
32701 "Note: the name \"virtual\" host is used in configuration to avoid confusion "
32702 "with the actual physical host that Prosody is installed on. A single "
32703 "Prosody instance can serve many domains, each one defined as a VirtualHost "
32704 "entry in Prosody's configuration. Conversely a server that hosts a single "
32705 "domain would have just one VirtualHost entry."
32706 msgstr ""
32707
32708 #. type: deftypevr
32709 #: doc/guix.texi:14680
32710 msgid "See @url{https://prosody.im/doc/configure#virtual_host_settings}."
32711 msgstr ""
32712
32713 #. type: deftypevr
32714 #: doc/guix.texi:14682
32715 msgid "Available @code{virtualhost-configuration} fields are:"
32716 msgstr ""
32717
32718 #. type: deftypevr
32719 #: doc/guix.texi:14684 doc/guix.texi:14706 doc/guix.texi:14759
32720 msgid ""
32721 "all these @code{prosody-configuration} fields: @code{admins}, @code{use-"
32722 "libevent?}, @code{modules-enabled}, @code{modules-disabled}, @code{groups-"
32723 "file}, @code{allow-registration?}, @code{ssl}, @code{c2s-require-"
32724 "encryption?}, @code{disable-sasl-mechanisms}, @code{s2s-require-"
32725 "encryption?}, @code{s2s-secure-auth?}, @code{s2s-insecure-domains}, "
32726 "@code{s2s-secure-domains}, @code{authentication}, @code{log}, @code{http-max-"
32727 "content-size}, @code{http-external-url}, @code{raw-content}, plus:"
32728 msgstr ""
32729
32730 #. type: deftypevr
32731 #: doc/guix.texi:14684
32732 #, no-wrap
32733 msgid "{@code{virtualhost-configuration} parameter} string domain"
32734 msgstr ""
32735
32736 #. type: deftypevr
32737 #: doc/guix.texi:14686
32738 msgid "Domain you wish Prosody to serve."
32739 msgstr ""
32740
32741 #. type: deftypevr
32742 #: doc/guix.texi:14690
32743 #, no-wrap
32744 msgid "{@code{prosody-configuration} parameter} int-component-configuration-list int-components"
32745 msgstr ""
32746
32747 #. type: deftypevr
32748 #: doc/guix.texi:14695
32749 msgid ""
32750 "Components are extra services on a server which are available to clients, "
32751 "usually on a subdomain of the main server (such as @samp{\"mycomponent."
32752 "example.com\"}). Example components might be chatroom servers, user "
32753 "directories, or gateways to other protocols."
32754 msgstr ""
32755
32756 #. type: deftypevr
32757 #: doc/guix.texi:14699
32758 msgid ""
32759 "Internal components are implemented with Prosody-specific plugins. To add "
32760 "an internal component, you simply fill the hostname field, and the plugin "
32761 "you wish to use for the component."
32762 msgstr ""
32763
32764 #. type: deftypevr
32765 #: doc/guix.texi:14702
32766 msgid "See @url{https://prosody.im/doc/components}. Defaults to @samp{()}."
32767 msgstr ""
32768
32769 #. type: deftypevr
32770 #: doc/guix.texi:14704
32771 msgid "Available @code{int-component-configuration} fields are:"
32772 msgstr ""
32773
32774 #. type: deftypevr
32775 #: doc/guix.texi:14706
32776 #, no-wrap
32777 msgid "{@code{int-component-configuration} parameter} string hostname"
32778 msgstr ""
32779
32780 #. type: deftypevr
32781 #: doc/guix.texi:14708 doc/guix.texi:14765
32782 msgid "Hostname of the component."
32783 msgstr ""
32784
32785 #. type: deftypevr
32786 #: doc/guix.texi:14710
32787 #, no-wrap
32788 msgid "{@code{int-component-configuration} parameter} string plugin"
32789 msgstr ""
32790
32791 #. type: deftypevr
32792 #: doc/guix.texi:14712
32793 msgid "Plugin you wish to use for the component."
32794 msgstr ""
32795
32796 #. type: deftypevr
32797 #: doc/guix.texi:14714
32798 #, no-wrap
32799 msgid "{@code{int-component-configuration} parameter} maybe-mod-muc-configuration mod-muc"
32800 msgstr ""
32801
32802 #. type: deftypevr
32803 #: doc/guix.texi:14717
32804 msgid ""
32805 "Multi-user chat (MUC) is Prosody's module for allowing you to create hosted "
32806 "chatrooms/conferences for XMPP users."
32807 msgstr ""
32808
32809 #. type: deftypevr
32810 #: doc/guix.texi:14721
32811 msgid ""
32812 "General information on setting up and using multi-user chatrooms can be "
32813 "found in the \"Chatrooms\" documentation (@url{https://prosody.im/doc/"
32814 "chatrooms}), which you should read if you are new to XMPP chatrooms."
32815 msgstr ""
32816
32817 #. type: deftypevr
32818 #: doc/guix.texi:14723
32819 msgid "See also @url{https://prosody.im/doc/modules/mod_muc}."
32820 msgstr ""
32821
32822 #. type: deftypevr
32823 #: doc/guix.texi:14725
32824 msgid "Available @code{mod-muc-configuration} fields are:"
32825 msgstr ""
32826
32827 #. type: deftypevr
32828 #: doc/guix.texi:14726
32829 #, no-wrap
32830 msgid "{@code{mod-muc-configuration} parameter} string name"
32831 msgstr ""
32832
32833 #. type: deftypevr
32834 #: doc/guix.texi:14729
32835 msgid ""
32836 "The name to return in service discovery responses. Defaults to "
32837 "@samp{\"Prosody Chatrooms\"}."
32838 msgstr ""
32839
32840 #. type: deftypevr
32841 #: doc/guix.texi:14731
32842 #, no-wrap
32843 msgid "{@code{mod-muc-configuration} parameter} string-or-boolean restrict-room-creation"
32844 msgstr ""
32845
32846 #. type: deftypevr
32847 #: doc/guix.texi:14738
32848 msgid ""
32849 "If @samp{#t}, this will only allow admins to create new chatrooms. "
32850 "Otherwise anyone can create a room. The value @samp{\"local\"} restricts "
32851 "room creation to users on the service's parent domain. E.g. "
32852 "@samp{user@@example.com} can create rooms on @samp{rooms.example.com}. The "
32853 "value @samp{\"admin\"} restricts to service administrators only. Defaults "
32854 "to @samp{#f}."
32855 msgstr ""
32856
32857 #. type: deftypevr
32858 #: doc/guix.texi:14740
32859 #, no-wrap
32860 msgid "{@code{mod-muc-configuration} parameter} non-negative-integer max-history-messages"
32861 msgstr ""
32862
32863 #. type: deftypevr
32864 #: doc/guix.texi:14744
32865 msgid ""
32866 "Maximum number of history messages that will be sent to the member that has "
32867 "just joined the room. Defaults to @samp{20}."
32868 msgstr ""
32869
32870 #. type: deftypevr
32871 #: doc/guix.texi:14750
32872 #, no-wrap
32873 msgid "{@code{prosody-configuration} parameter} ext-component-configuration-list ext-components"
32874 msgstr ""
32875
32876 #. type: deftypevr
32877 #: doc/guix.texi:14755
32878 msgid ""
32879 "External components use XEP-0114, which most standalone components support. "
32880 "To add an external component, you simply fill the hostname field. See "
32881 "@url{https://prosody.im/doc/components}. Defaults to @samp{()}."
32882 msgstr ""
32883
32884 #. type: deftypevr
32885 #: doc/guix.texi:14757
32886 msgid "Available @code{ext-component-configuration} fields are:"
32887 msgstr ""
32888
32889 #. type: deftypevr
32890 #: doc/guix.texi:14759
32891 #, no-wrap
32892 msgid "{@code{ext-component-configuration} parameter} string component-secret"
32893 msgstr ""
32894
32895 #. type: deftypevr
32896 #: doc/guix.texi:14761
32897 msgid "Password which the component will use to log in."
32898 msgstr ""
32899
32900 #. type: deftypevr
32901 #: doc/guix.texi:14763
32902 #, no-wrap
32903 msgid "{@code{ext-component-configuration} parameter} string hostname"
32904 msgstr ""
32905
32906 #. type: deftypevr
32907 #: doc/guix.texi:14769
32908 #, no-wrap
32909 msgid "{@code{prosody-configuration} parameter} non-negative-integer-list component-ports"
32910 msgstr ""
32911
32912 #. type: deftypevr
32913 #: doc/guix.texi:14772
32914 msgid ""
32915 "Port(s) Prosody listens on for component connections. Defaults to "
32916 "@samp{(5347)}."
32917 msgstr ""
32918
32919 #. type: deftypevr
32920 #: doc/guix.texi:14774
32921 #, no-wrap
32922 msgid "{@code{prosody-configuration} parameter} string component-interface"
32923 msgstr ""
32924
32925 #. type: deftypevr
32926 #: doc/guix.texi:14777
32927 msgid ""
32928 "Interface Prosody listens on for component connections. Defaults to "
32929 "@samp{\"127.0.0.1\"}."
32930 msgstr ""
32931
32932 #. type: deftypevr
32933 #: doc/guix.texi:14779
32934 #, no-wrap
32935 msgid "{@code{prosody-configuration} parameter} maybe-raw-content raw-content"
32936 msgstr ""
32937
32938 #. type: deftypevr
32939 #: doc/guix.texi:14781
32940 msgid "Raw content that will be added to the configuration file."
32941 msgstr ""
32942
32943 #. type: Plain text
32944 #: doc/guix.texi:14789
32945 msgid ""
32946 "It could be that you just want to get a @code{prosody.cfg.lua} up and "
32947 "running. In that case, you can pass an @code{opaque-prosody-configuration} "
32948 "record as the value of @code{prosody-service-type}. As its name indicates, "
32949 "an opaque configuration does not have easy reflective capabilities. "
32950 "Available @code{opaque-prosody-configuration} fields are:"
32951 msgstr ""
32952
32953 #. type: deftypevr
32954 #: doc/guix.texi:14790
32955 #, no-wrap
32956 msgid "{@code{opaque-prosody-configuration} parameter} package prosody"
32957 msgstr ""
32958
32959 #. type: deftypevr
32960 #: doc/guix.texi:14792
32961 msgid "The prosody package."
32962 msgstr ""
32963
32964 #. type: deftypevr
32965 #: doc/guix.texi:14794
32966 #, no-wrap
32967 msgid "{@code{opaque-prosody-configuration} parameter} string prosody.cfg.lua"
32968 msgstr ""
32969
32970 #. type: deftypevr
32971 #: doc/guix.texi:14796
32972 msgid "The contents of the @code{prosody.cfg.lua} to use."
32973 msgstr ""
32974
32975 #. type: Plain text
32976 #: doc/guix.texi:14800
32977 msgid ""
32978 "For example, if your @code{prosody.cfg.lua} is just the empty string, you "
32979 "could instantiate a prosody service like this:"
32980 msgstr ""
32981
32982 #. type: example
32983 #: doc/guix.texi:14805
32984 #, no-wrap
32985 msgid ""
32986 "(service prosody-service-type\n"
32987 " (opaque-prosody-configuration\n"
32988 " (prosody.cfg.lua \"\")))\n"
32989 msgstr ""
32990
32991 #. type: subsubheading
32992 #: doc/guix.texi:14809
32993 #, no-wrap
32994 msgid "BitlBee Service"
32995 msgstr ""
32996
32997 #. type: cindex
32998 #: doc/guix.texi:14811
32999 #, no-wrap
33000 msgid "IRC (Internet Relay Chat)"
33001 msgstr ""
33002
33003 #. type: cindex
33004 #: doc/guix.texi:14812
33005 #, no-wrap
33006 msgid "IRC gateway"
33007 msgstr ""
33008
33009 #. type: Plain text
33010 #: doc/guix.texi:14815
33011 msgid ""
33012 "@url{http://bitlbee.org,BitlBee} is a gateway that provides an IRC interface "
33013 "to a variety of messaging protocols such as XMPP."
33014 msgstr ""
33015
33016 #. type: defvr
33017 #: doc/guix.texi:14816
33018 #, no-wrap
33019 msgid "{Scheme Variable} bitlbee-service-type"
33020 msgstr ""
33021
33022 #. type: defvr
33023 #: doc/guix.texi:14820
33024 msgid ""
33025 "This is the service type for the @url{http://bitlbee.org,BitlBee} IRC "
33026 "gateway daemon. Its value is a @code{bitlbee-configuration} (see below)."
33027 msgstr ""
33028
33029 #. type: defvr
33030 #: doc/guix.texi:14823
33031 msgid ""
33032 "To have BitlBee listen on port 6667 on localhost, add this line to your "
33033 "services:"
33034 msgstr ""
33035
33036 #. type: example
33037 #: doc/guix.texi:14826
33038 #, no-wrap
33039 msgid "(service bitlbee-service-type)\n"
33040 msgstr ""
33041
33042 #. type: deftp
33043 #: doc/guix.texi:14829
33044 #, no-wrap
33045 msgid "{Data Type} bitlbee-configuration"
33046 msgstr ""
33047
33048 #. type: deftp
33049 #: doc/guix.texi:14831
33050 msgid "This is the configuration for BitlBee, with the following fields:"
33051 msgstr ""
33052
33053 #. type: item
33054 #: doc/guix.texi:14833
33055 #, no-wrap
33056 msgid "@code{interface} (default: @code{\"127.0.0.1\"})"
33057 msgstr ""
33058
33059 #. type: itemx
33060 #: doc/guix.texi:14834
33061 #, no-wrap
33062 msgid "@code{port} (default: @code{6667})"
33063 msgstr ""
33064
33065 #. type: table
33066 #: doc/guix.texi:14837
33067 msgid ""
33068 "Listen on the network interface corresponding to the IP address specified in "
33069 "@var{interface}, on @var{port}."
33070 msgstr ""
33071
33072 #. type: table
33073 #: doc/guix.texi:14841
33074 msgid ""
33075 "When @var{interface} is @code{127.0.0.1}, only local clients can connect; "
33076 "when it is @code{0.0.0.0}, connections can come from any networking "
33077 "interface."
33078 msgstr ""
33079
33080 #. type: item
33081 #: doc/guix.texi:14842
33082 #, no-wrap
33083 msgid "@code{package} (default: @code{bitlbee})"
33084 msgstr ""
33085
33086 #. type: table
33087 #: doc/guix.texi:14844
33088 msgid "The BitlBee package to use."
33089 msgstr ""
33090
33091 #. type: item
33092 #: doc/guix.texi:14845
33093 #, no-wrap
33094 msgid "@code{extra-settings} (default: @code{\"\"})"
33095 msgstr ""
33096
33097 #. type: table
33098 #: doc/guix.texi:14847
33099 msgid "Configuration snippet added as-is to the BitlBee configuration file."
33100 msgstr ""
33101
33102 #. type: cindex
33103 #: doc/guix.texi:14854
33104 #, no-wrap
33105 msgid "Murmur (VoIP server)"
33106 msgstr ""
33107
33108 #. type: cindex
33109 #: doc/guix.texi:14855
33110 #, no-wrap
33111 msgid "VoIP server"
33112 msgstr ""
33113
33114 #. type: Plain text
33115 #: doc/guix.texi:14859
33116 msgid ""
33117 "This section describes how to set up and run a Murmur server. Murmur is the "
33118 "server of the @uref{https://mumble.info, Mumble} voice-over-IP (VoIP) suite."
33119 msgstr ""
33120
33121 #. type: deftp
33122 #: doc/guix.texi:14860
33123 #, no-wrap
33124 msgid "{Data Type} murmur-configuration"
33125 msgstr ""
33126
33127 #. type: deftp
33128 #: doc/guix.texi:14863
33129 msgid ""
33130 "The service type for the Murmur server. An example configuration can look "
33131 "like this:"
33132 msgstr ""
33133
33134 #. type: example
33135 #: doc/guix.texi:14872
33136 #, no-wrap
33137 msgid ""
33138 "(service murmur-service-type\n"
33139 " (murmur-configuration\n"
33140 " (welcome-text\n"
33141 " \"Welcome to this Mumble server running on GuixSD!\")\n"
33142 " (cert-required? #t) ;disallow text password logins\n"
33143 " (ssl-cert \"/etc/letsencrypt/live/mumble.example.com/fullchain.pem\")\n"
33144 " (ssl-key \"/etc/letsencrypt/live/mumble.example.com/privkey.pem\")))\n"
33145 msgstr ""
33146
33147 #. type: deftp
33148 #: doc/guix.texi:14876
33149 msgid ""
33150 "After reconfiguring your system, you can manually set the murmur "
33151 "@code{SuperUser} password with the command that is printed during the "
33152 "activation phase."
33153 msgstr ""
33154
33155 #. type: deftp
33156 #: doc/guix.texi:14885
33157 msgid ""
33158 "It is recommended to register a normal Mumble user account and grant it "
33159 "admin or moderator rights. You can use the @code{mumble} client to login as "
33160 "new normal user, register yourself, and log out. For the next step login "
33161 "with the name @code{SuperUser} use the @code{SuperUser} password that you "
33162 "set previously, and grant your newly registered mumble user administrator or "
33163 "moderator rights and create some channels."
33164 msgstr ""
33165
33166 #. type: deftp
33167 #: doc/guix.texi:14887
33168 msgid "Available @code{murmur-configuration} fields are:"
33169 msgstr ""
33170
33171 #. type: item
33172 #: doc/guix.texi:14889
33173 #, no-wrap
33174 msgid "@code{package} (default: @code{mumble})"
33175 msgstr ""
33176
33177 #. type: table
33178 #: doc/guix.texi:14891
33179 msgid "Package that contains @code{bin/murmurd}."
33180 msgstr ""
33181
33182 #. type: item
33183 #: doc/guix.texi:14892
33184 #, no-wrap
33185 msgid "@code{user} (default: @code{\"murmur\"})"
33186 msgstr ""
33187
33188 #. type: table
33189 #: doc/guix.texi:14894
33190 msgid "User who will run the Murmur server."
33191 msgstr ""
33192
33193 #. type: item
33194 #: doc/guix.texi:14895
33195 #, no-wrap
33196 msgid "@code{group} (default: @code{\"murmur\"})"
33197 msgstr ""
33198
33199 #. type: table
33200 #: doc/guix.texi:14897
33201 msgid "Group of the user who will run the murmur server."
33202 msgstr ""
33203
33204 #. type: item
33205 #: doc/guix.texi:14898
33206 #, no-wrap
33207 msgid "@code{port} (default: @code{64738})"
33208 msgstr ""
33209
33210 #. type: table
33211 #: doc/guix.texi:14900
33212 msgid "Port on which the server will listen."
33213 msgstr ""
33214
33215 #. type: item
33216 #: doc/guix.texi:14901
33217 #, no-wrap
33218 msgid "@code{welcome-text} (default: @code{\"\"})"
33219 msgstr ""
33220
33221 #. type: table
33222 #: doc/guix.texi:14903
33223 msgid "Welcome text sent to clients when they connect."
33224 msgstr ""
33225
33226 #. type: item
33227 #: doc/guix.texi:14904
33228 #, no-wrap
33229 msgid "@code{server-password} (default: @code{\"\"})"
33230 msgstr ""
33231
33232 #. type: table
33233 #: doc/guix.texi:14906
33234 msgid "Password the clients have to enter in order to connect."
33235 msgstr ""
33236
33237 #. type: item
33238 #: doc/guix.texi:14907
33239 #, no-wrap
33240 msgid "@code{max-users} (default: @code{100})"
33241 msgstr ""
33242
33243 #. type: table
33244 #: doc/guix.texi:14909
33245 msgid "Maximum of users that can be connected to the server at once."
33246 msgstr ""
33247
33248 #. type: item
33249 #: doc/guix.texi:14910
33250 #, no-wrap
33251 msgid "@code{max-user-bandwidth} (default: @code{#f})"
33252 msgstr ""
33253
33254 #. type: table
33255 #: doc/guix.texi:14912
33256 msgid "Maximum voice traffic a user can send per second."
33257 msgstr ""
33258
33259 #. type: item
33260 #: doc/guix.texi:14913
33261 #, no-wrap
33262 msgid "@code{database-file} (default: @code{\"/var/lib/murmur/db.sqlite\"})"
33263 msgstr ""
33264
33265 #. type: table
33266 #: doc/guix.texi:14916
33267 msgid ""
33268 "File name of the sqlite database. The service's user will become the owner "
33269 "of the directory."
33270 msgstr ""
33271
33272 #. type: item
33273 #: doc/guix.texi:14917
33274 #, no-wrap
33275 msgid "@code{log-file} (default: @code{\"/var/log/murmur/murmur.log\"})"
33276 msgstr ""
33277
33278 #. type: table
33279 #: doc/guix.texi:14920
33280 msgid ""
33281 "File name of the log file. The service's user will become the owner of the "
33282 "directory."
33283 msgstr ""
33284
33285 #. type: item
33286 #: doc/guix.texi:14921
33287 #, no-wrap
33288 msgid "@code{autoban-attempts} (default: @code{10})"
33289 msgstr ""
33290
33291 #. type: table
33292 #: doc/guix.texi:14924
33293 msgid ""
33294 "Maximum number of logins a user can make in @code{autoban-timeframe} without "
33295 "getting auto banned for @code{autoban-time}."
33296 msgstr ""
33297
33298 #. type: item
33299 #: doc/guix.texi:14925
33300 #, no-wrap
33301 msgid "@code{autoban-timeframe} (default: @code{120})"
33302 msgstr ""
33303
33304 #. type: table
33305 #: doc/guix.texi:14927
33306 msgid "Timeframe for autoban in seconds."
33307 msgstr ""
33308
33309 #. type: item
33310 #: doc/guix.texi:14928
33311 #, no-wrap
33312 msgid "@code{autoban-time} (default: @code{300})"
33313 msgstr ""
33314
33315 #. type: table
33316 #: doc/guix.texi:14931
33317 msgid ""
33318 "Amount of time in seconds for which a client gets banned when violating the "
33319 "autoban limits."
33320 msgstr ""
33321
33322 #. type: item
33323 #: doc/guix.texi:14932
33324 #, no-wrap
33325 msgid "@code{opus-threshold} (default: @code{100})"
33326 msgstr ""
33327
33328 #. type: table
33329 #: doc/guix.texi:14935
33330 msgid ""
33331 "Percentage of clients that need to support opus before switching over to "
33332 "opus audio codec."
33333 msgstr ""
33334
33335 #. type: item
33336 #: doc/guix.texi:14936
33337 #, no-wrap
33338 msgid "@code{channel-nesting-limit} (default: @code{10})"
33339 msgstr ""
33340
33341 #. type: table
33342 #: doc/guix.texi:14938
33343 msgid "How deep channels can be nested at maximum."
33344 msgstr ""
33345
33346 #. type: item
33347 #: doc/guix.texi:14939
33348 #, no-wrap
33349 msgid "@code{channelname-regex} (default: @code{#f})"
33350 msgstr ""
33351
33352 #. type: table
33353 #: doc/guix.texi:14941
33354 msgid ""
33355 "A string in from of a Qt regular expression that channel names must conform "
33356 "to."
33357 msgstr ""
33358
33359 #. type: item
33360 #: doc/guix.texi:14942
33361 #, no-wrap
33362 msgid "@code{username-regex} (default: @code{#f})"
33363 msgstr ""
33364
33365 #. type: table
33366 #: doc/guix.texi:14944
33367 msgid ""
33368 "A string in from of a Qt regular expression that user names must conform to."
33369 msgstr ""
33370
33371 #. type: item
33372 #: doc/guix.texi:14945
33373 #, no-wrap
33374 msgid "@code{text-message-length} (default: @code{5000})"
33375 msgstr ""
33376
33377 #. type: table
33378 #: doc/guix.texi:14947
33379 msgid "Maximum size in bytes that a user can send in one text chat message."
33380 msgstr ""
33381
33382 #. type: item
33383 #: doc/guix.texi:14948
33384 #, no-wrap
33385 msgid "@code{image-message-length} (default: @code{(* 128 1024)})"
33386 msgstr ""
33387
33388 #. type: table
33389 #: doc/guix.texi:14950
33390 msgid "Maximum size in bytes that a user can send in one image message."
33391 msgstr ""
33392
33393 #. type: item
33394 #: doc/guix.texi:14951
33395 #, no-wrap
33396 msgid "@code{cert-required?} (default: @code{#f})"
33397 msgstr ""
33398
33399 #. type: table
33400 #: doc/guix.texi:14954
33401 msgid ""
33402 "If it is set to @code{#t} clients that use weak password authentification "
33403 "will not be accepted. Users must have completed the certificate wizard to "
33404 "join."
33405 msgstr ""
33406
33407 #. type: item
33408 #: doc/guix.texi:14955
33409 #, no-wrap
33410 msgid "@code{remember-channel?} (defualt @code{#f})"
33411 msgstr ""
33412
33413 #. type: table
33414 #: doc/guix.texi:14958
33415 msgid ""
33416 "Should murmur remember the last channel each user was in when they "
33417 "disconnected and put them into the remembered channel when they rejoin."
33418 msgstr ""
33419
33420 #. type: item
33421 #: doc/guix.texi:14959
33422 #, no-wrap
33423 msgid "@code{allow-html?} (default: @code{#f})"
33424 msgstr ""
33425
33426 #. type: table
33427 #: doc/guix.texi:14961
33428 msgid ""
33429 "Should html be allowed in text messages, user comments, and channel "
33430 "descriptions."
33431 msgstr ""
33432
33433 #. type: item
33434 #: doc/guix.texi:14962
33435 #, no-wrap
33436 msgid "@code{allow-ping?} (default: @code{#f})"
33437 msgstr ""
33438
33439 #. type: table
33440 #: doc/guix.texi:14966
33441 msgid ""
33442 "Setting to true exposes the current user count, the maximum user count, and "
33443 "the server's maximum bandwidth per client to unauthenticated users. In the "
33444 "Mumble client, this information is shown in the Connect dialog."
33445 msgstr ""
33446
33447 #. type: table
33448 #: doc/guix.texi:14968
33449 msgid "Disabling this setting will prevent public listing of the server."
33450 msgstr ""
33451
33452 #. type: item
33453 #: doc/guix.texi:14969
33454 #, no-wrap
33455 msgid "@code{bonjour?} (default: @code{#f})"
33456 msgstr ""
33457
33458 #. type: table
33459 #: doc/guix.texi:14971
33460 msgid ""
33461 "Should the server advertise itself in the local network through the bonjour "
33462 "protocol."
33463 msgstr ""
33464
33465 #. type: item
33466 #: doc/guix.texi:14972
33467 #, no-wrap
33468 msgid "@code{send-version?} (default: @code{#f})"
33469 msgstr ""
33470
33471 #. type: table
33472 #: doc/guix.texi:14974
33473 msgid "Should the murmur server version be exposed in ping requests."
33474 msgstr ""
33475
33476 #. type: item
33477 #: doc/guix.texi:14975
33478 #, no-wrap
33479 msgid "@code{log-days} (default: @code{31})"
33480 msgstr ""
33481
33482 #. type: table
33483 #: doc/guix.texi:14979
33484 msgid ""
33485 "Murmur also stores logs in the database, which are accessible via RPC. The "
33486 "default is 31 days of months, but you can set this setting to 0 to keep logs "
33487 "forever, or -1 to disable logging to the database."
33488 msgstr ""
33489
33490 #. type: item
33491 #: doc/guix.texi:14980
33492 #, no-wrap
33493 msgid "@code{obfuscate-ips?} (default @code{#t})"
33494 msgstr ""
33495
33496 #. type: table
33497 #: doc/guix.texi:14982
33498 msgid "Should logged ips be obfuscated to protect the privacy of users."
33499 msgstr ""
33500
33501 #. type: item
33502 #: doc/guix.texi:14983
33503 #, no-wrap
33504 msgid "@code{ssl-cert} (default: @code{#f})"
33505 msgstr ""
33506
33507 #. type: table
33508 #: doc/guix.texi:14985
33509 msgid "File name of the SSL/TLS certificate used for encrypted connections."
33510 msgstr ""
33511
33512 #. type: example
33513 #: doc/guix.texi:14988
33514 #, no-wrap
33515 msgid "(ssl-cert \"/etc/letsencrypt/live/example.com/fullchain.pem\")\n"
33516 msgstr ""
33517
33518 #. type: item
33519 #: doc/guix.texi:14989
33520 #, no-wrap
33521 msgid "@code{ssl-key} (default: @code{#f})"
33522 msgstr ""
33523
33524 #. type: table
33525 #: doc/guix.texi:14991
33526 msgid "Filepath to the ssl private key used for encrypted connections."
33527 msgstr ""
33528
33529 #. type: example
33530 #: doc/guix.texi:14993
33531 #, no-wrap
33532 msgid "(ssl-key \"/etc/letsencrypt/live/example.com/privkey.pem\")\n"
33533 msgstr ""
33534
33535 #. type: item
33536 #: doc/guix.texi:14995
33537 #, no-wrap
33538 msgid "@code{ssl-dh-params} (default: @code{#f})"
33539 msgstr ""
33540
33541 #. type: table
33542 #: doc/guix.texi:15000
33543 msgid ""
33544 "File name of a PEM-encoded file with Diffie-Hellman parameters for the SSL/"
33545 "TLS encryption. Alternatively you set it to @code{\"@@ffdhe2048\"}, "
33546 "@code{\"@@ffdhe3072\"}, @code{\"@@ffdhe4096\"}, @code{\"@@ffdhe6144\"} or "
33547 "@code{\"@@ffdhe8192\"} to use bundled parameters from RFC 7919."
33548 msgstr ""
33549
33550 #. type: item
33551 #: doc/guix.texi:15001
33552 #, no-wrap
33553 msgid "@code{ssl-ciphers} (default: @code{#f})"
33554 msgstr ""
33555
33556 #. type: table
33557 #: doc/guix.texi:15004
33558 msgid ""
33559 "The @code{ssl-ciphers} option chooses the cipher suites to make available "
33560 "for use in SSL/TLS."
33561 msgstr ""
33562
33563 #. type: table
33564 #: doc/guix.texi:15008
33565 msgid ""
33566 "This option is specified using @uref{https://www.openssl.org/docs/apps/"
33567 "ciphers.html#CIPHER-LIST-FORMAT, OpenSSL cipher list notation}."
33568 msgstr ""
33569
33570 #. type: table
33571 #: doc/guix.texi:15013
33572 msgid ""
33573 "It is recommended that you try your cipher string using 'openssl ciphers "
33574 "<string>' before setting it here, to get a feel for which cipher suites you "
33575 "will get. After setting this option, it is recommend that you inspect your "
33576 "Murmur log to ensure that Murmur is using the cipher suites that you "
33577 "expected it to."
33578 msgstr ""
33579
33580 #. type: table
33581 #: doc/guix.texi:15017
33582 msgid ""
33583 "Note: Changing this option may impact the backwards compatibility of your "
33584 "Murmur server, and can remove the ability for older Mumble clients to be "
33585 "able to connect to it."
33586 msgstr ""
33587
33588 #. type: item
33589 #: doc/guix.texi:15018
33590 #, no-wrap
33591 msgid "@code{public-registration} (default: @code{#f})"
33592 msgstr ""
33593
33594 #. type: table
33595 #: doc/guix.texi:15020
33596 msgid ""
33597 "Must be a @code{<murmur-public-registration-configuration>} record or "
33598 "@code{#f}."
33599 msgstr ""
33600
33601 #. type: table
33602 #: doc/guix.texi:15025
33603 msgid ""
33604 "You can optionally register your server in the public server list that the "
33605 "@code{mumble} client shows on startup. You cannot register your server if "
33606 "you have set a @code{server-password}, or set @code{allow-ping} to @code{#f}."
33607 msgstr ""
33608
33609 #. type: table
33610 #: doc/guix.texi:15027
33611 msgid "It might take a few hours until it shows up in the public list."
33612 msgstr ""
33613
33614 #. type: item
33615 #: doc/guix.texi:15028 doc/guix.texi:15599
33616 #, no-wrap
33617 msgid "@code{file} (default: @code{#f})"
33618 msgstr ""
33619
33620 #. type: table
33621 #: doc/guix.texi:15030
33622 msgid "Optional alternative override for this configuration."
33623 msgstr ""
33624
33625 #. type: deftp
33626 #: doc/guix.texi:15033
33627 #, no-wrap
33628 msgid "{Data Type} murmur-public-registration-configuration"
33629 msgstr ""
33630
33631 #. type: deftp
33632 #: doc/guix.texi:15035
33633 msgid "Configuration for public registration of a murmur service."
33634 msgstr ""
33635
33636 #. type: table
33637 #: doc/guix.texi:15039
33638 msgid ""
33639 "This is a display name for your server. Not to be confused with the hostname."
33640 msgstr ""
33641
33642 #. type: itemx
33643 #: doc/guix.texi:15040 doc/guix.texi:19930
33644 #, no-wrap
33645 msgid "password"
33646 msgstr ""
33647
33648 #. type: table
33649 #: doc/guix.texi:15043
33650 msgid ""
33651 "A password to identify your registration. Subsequent updates will need the "
33652 "same password. Don't lose your password."
33653 msgstr ""
33654
33655 #. type: code{#1}
33656 #: doc/guix.texi:15044
33657 #, no-wrap
33658 msgid "url"
33659 msgstr ""
33660
33661 #. type: table
33662 #: doc/guix.texi:15047
33663 msgid ""
33664 "This should be a @code{http://} or @code{https://} link to your web site."
33665 msgstr ""
33666
33667 #. type: item
33668 #: doc/guix.texi:15048
33669 #, no-wrap
33670 msgid "@code{hostname} (default: @code{#f})"
33671 msgstr ""
33672
33673 #. type: table
33674 #: doc/guix.texi:15051
33675 msgid ""
33676 "By default your server will be listed by its IP address. If it is set your "
33677 "server will be linked by this host name instead."
33678 msgstr ""
33679
33680 #. type: subsubheading
33681 #: doc/guix.texi:15059
33682 #, no-wrap
33683 msgid "Tailon Service"
33684 msgstr ""
33685
33686 #. type: Plain text
33687 #: doc/guix.texi:15063
33688 msgid ""
33689 "@uref{https://tailon.readthedocs.io/, Tailon} is a web application for "
33690 "viewing and searching log files."
33691 msgstr ""
33692
33693 #. type: Plain text
33694 #: doc/guix.texi:15066
33695 msgid ""
33696 "The following example will configure the service with default values. By "
33697 "default, Tailon can be accessed on port 8080 (@code{http://localhost:8080})."
33698 msgstr ""
33699
33700 #. type: example
33701 #: doc/guix.texi:15069
33702 #, no-wrap
33703 msgid "(service tailon-service-type)\n"
33704 msgstr ""
33705
33706 #. type: Plain text
33707 #: doc/guix.texi:15073
33708 msgid ""
33709 "The following example customises more of the Tailon configuration, adding "
33710 "@command{sed} to the list of allowed commands."
33711 msgstr ""
33712
33713 #. type: example
33714 #: doc/guix.texi:15080
33715 #, no-wrap
33716 msgid ""
33717 "(service tailon-service-type\n"
33718 " (tailon-configuration\n"
33719 " (config-file\n"
33720 " (tailon-configuration-file\n"
33721 " (allowed-commands '(\"tail\" \"grep\" \"awk\" \"sed\"))))))\n"
33722 msgstr ""
33723
33724 #. type: deftp
33725 #: doc/guix.texi:15083
33726 #, no-wrap
33727 msgid "{Data Type} tailon-configuration"
33728 msgstr ""
33729
33730 #. type: deftp
33731 #: doc/guix.texi:15086
33732 msgid ""
33733 "Data type representing the configuration of Tailon. This type has the "
33734 "following parameters:"
33735 msgstr ""
33736
33737 #. type: item
33738 #: doc/guix.texi:15088
33739 #, no-wrap
33740 msgid "@code{config-file} (default: @code{(tailon-configuration-file)})"
33741 msgstr ""
33742
33743 #. type: table
33744 #: doc/guix.texi:15092
33745 msgid ""
33746 "The configuration file to use for Tailon. This can be set to a @dfn{tailon-"
33747 "configuration-file} record value, or any gexp (@pxref{G-Expressions})."
33748 msgstr ""
33749
33750 #. type: table
33751 #: doc/guix.texi:15095
33752 msgid ""
33753 "For example, to instead use a local file, the @code{local-file} function can "
33754 "be used:"
33755 msgstr ""
33756
33757 #. type: example
33758 #: doc/guix.texi:15100
33759 #, no-wrap
33760 msgid ""
33761 "(service tailon-service-type\n"
33762 " (tailon-configuration\n"
33763 " (config-file (local-file \"./my-tailon.conf\"))))\n"
33764 msgstr ""
33765
33766 #. type: item
33767 #: doc/guix.texi:15102
33768 #, no-wrap
33769 msgid "@code{package} (default: @code{tailon})"
33770 msgstr ""
33771
33772 #. type: table
33773 #: doc/guix.texi:15104
33774 msgid "The tailon package to use."
33775 msgstr ""
33776
33777 #. type: deftp
33778 #: doc/guix.texi:15108
33779 #, no-wrap
33780 msgid "{Data Type} tailon-configuration-file"
33781 msgstr ""
33782
33783 #. type: deftp
33784 #: doc/guix.texi:15111
33785 msgid ""
33786 "Data type representing the configuration options for Tailon. This type has "
33787 "the following parameters:"
33788 msgstr ""
33789
33790 #. type: item
33791 #: doc/guix.texi:15113
33792 #, no-wrap
33793 msgid "@code{files} (default: @code{(list \"/var/log\")})"
33794 msgstr ""
33795
33796 #. type: table
33797 #: doc/guix.texi:15118
33798 msgid ""
33799 "List of files to display. The list can include strings for a single file or "
33800 "directory, or a list, where the first item is the name of a subsection, and "
33801 "the remaining items are the files or directories in that subsection."
33802 msgstr ""
33803
33804 #. type: item
33805 #: doc/guix.texi:15119
33806 #, no-wrap
33807 msgid "@code{bind} (default: @code{\"localhost:8080\"})"
33808 msgstr ""
33809
33810 #. type: table
33811 #: doc/guix.texi:15121
33812 msgid "Address and port to which Tailon should bind on."
33813 msgstr ""
33814
33815 #. type: item
33816 #: doc/guix.texi:15122
33817 #, no-wrap
33818 msgid "@code{relative-root} (default: @code{#f})"
33819 msgstr ""
33820
33821 #. type: table
33822 #: doc/guix.texi:15124
33823 msgid "URL path to use for Tailon, set to @code{#f} to not use a path."
33824 msgstr ""
33825
33826 #. type: item
33827 #: doc/guix.texi:15125
33828 #, no-wrap
33829 msgid "@code{allow-transfers?} (default: @code{#t})"
33830 msgstr ""
33831
33832 #. type: table
33833 #: doc/guix.texi:15127
33834 msgid "Allow downloading the log files in the web interface."
33835 msgstr ""
33836
33837 #. type: item
33838 #: doc/guix.texi:15128
33839 #, no-wrap
33840 msgid "@code{follow-names?} (default: @code{#t})"
33841 msgstr ""
33842
33843 #. type: table
33844 #: doc/guix.texi:15130
33845 msgid "Allow tailing of not-yet existent files."
33846 msgstr ""
33847
33848 #. type: item
33849 #: doc/guix.texi:15131
33850 #, no-wrap
33851 msgid "@code{tail-lines} (default: @code{200})"
33852 msgstr ""
33853
33854 #. type: table
33855 #: doc/guix.texi:15133
33856 msgid "Number of lines to read initially from each file."
33857 msgstr ""
33858
33859 #. type: item
33860 #: doc/guix.texi:15134
33861 #, no-wrap
33862 msgid "@code{allowed-commands} (default: @code{(list \"tail\" \"grep\" \"awk\")})"
33863 msgstr ""
33864
33865 #. type: table
33866 #: doc/guix.texi:15136
33867 msgid "Commands to allow running. By default, @code{sed} is disabled."
33868 msgstr ""
33869
33870 #. type: item
33871 #: doc/guix.texi:15137
33872 #, no-wrap
33873 msgid "@code{debug?} (default: @code{#f})"
33874 msgstr ""
33875
33876 #. type: table
33877 #: doc/guix.texi:15139
33878 msgid "Set @code{debug?} to @code{#t} to show debug messages."
33879 msgstr ""
33880
33881 #. type: item
33882 #: doc/guix.texi:15140
33883 #, no-wrap
33884 msgid "@code{wrap-lines} (default: @code{#t})"
33885 msgstr ""
33886
33887 #. type: table
33888 #: doc/guix.texi:15144
33889 msgid ""
33890 "Initial line wrapping state in the web interface. Set to @code{#t} to "
33891 "initially wrap lines (the default), or to @code{#f} to initially not wrap "
33892 "lines."
33893 msgstr ""
33894
33895 #. type: item
33896 #: doc/guix.texi:15145
33897 #, no-wrap
33898 msgid "@code{http-auth} (default: @code{#f})"
33899 msgstr ""
33900
33901 #. type: table
33902 #: doc/guix.texi:15149
33903 msgid ""
33904 "HTTP authentication type to use. Set to @code{#f} to disable authentication "
33905 "(the default). Supported values are @code{\"digest\"} or @code{\"basic\"}."
33906 msgstr ""
33907
33908 #. type: item
33909 #: doc/guix.texi:15150
33910 #, no-wrap
33911 msgid "@code{users} (default: @code{#f})"
33912 msgstr ""
33913
33914 #. type: table
33915 #: doc/guix.texi:15155
33916 msgid ""
33917 "If HTTP authentication is enabled (see @code{http-auth}), access will be "
33918 "restricted to the credentials provided here. To configure users, use a list "
33919 "of pairs, where the first element of the pair is the username, and the 2nd "
33920 "element of the pair is the password."
33921 msgstr ""
33922
33923 #. type: example
33924 #: doc/guix.texi:15161
33925 #, no-wrap
33926 msgid ""
33927 "(tailon-configuration-file\n"
33928 " (http-auth \"basic\")\n"
33929 " (users '((\"user1\" . \"password1\")\n"
33930 " (\"user2\" . \"password2\"))))\n"
33931 msgstr ""
33932
33933 #. type: subsubheading
33934 #: doc/guix.texi:15167
33935 #, no-wrap
33936 msgid "Darkstat Service"
33937 msgstr ""
33938
33939 #. type: cindex
33940 #: doc/guix.texi:15168
33941 #, no-wrap
33942 msgid "darkstat"
33943 msgstr ""
33944
33945 #. type: Plain text
33946 #: doc/guix.texi:15171
33947 msgid ""
33948 "Darkstat is a packet sniffer that captures network traffic, calculates "
33949 "statistics about usage, and serves reports over HTTP."
33950 msgstr ""
33951
33952 #. type: defvar
33953 #: doc/guix.texi:15172
33954 #, no-wrap
33955 msgid "{Scheme Variable} darkstat-service-type"
33956 msgstr ""
33957
33958 #. type: defvar
33959 #: doc/guix.texi:15177
33960 msgid ""
33961 "This is the service type for the @uref{https://unix4lyfe.org/darkstat/, "
33962 "darkstat} service, its value must be a @code{darkstat-configuration} record "
33963 "as in this example:"
33964 msgstr ""
33965
33966 #. type: example
33967 #: doc/guix.texi:15182
33968 #, no-wrap
33969 msgid ""
33970 "(service darkstat-service-type\n"
33971 " (darkstat-configuration\n"
33972 " (interface \"eno1\")))\n"
33973 msgstr ""
33974
33975 #. type: deftp
33976 #: doc/guix.texi:15185
33977 #, no-wrap
33978 msgid "{Data Type} darkstat-configuration"
33979 msgstr ""
33980
33981 #. type: deftp
33982 #: doc/guix.texi:15187
33983 msgid "Data type representing the configuration of @command{darkstat}."
33984 msgstr ""
33985
33986 #. type: item
33987 #: doc/guix.texi:15189
33988 #, no-wrap
33989 msgid "@code{package} (default: @code{darkstat})"
33990 msgstr ""
33991
33992 #. type: table
33993 #: doc/guix.texi:15191
33994 msgid "The darkstat package to use."
33995 msgstr ""
33996
33997 #. type: code{#1}
33998 #: doc/guix.texi:15192
33999 #, no-wrap
34000 msgid "interface"
34001 msgstr ""
34002
34003 #. type: table
34004 #: doc/guix.texi:15194
34005 msgid "Capture traffic on the specified network interface."
34006 msgstr ""
34007
34008 #. type: item
34009 #: doc/guix.texi:15195
34010 #, no-wrap
34011 msgid "@code{port} (default: @code{\"667\"})"
34012 msgstr ""
34013
34014 #. type: table
34015 #: doc/guix.texi:15197
34016 msgid "Bind the web interface to the specified port."
34017 msgstr ""
34018
34019 #. type: item
34020 #: doc/guix.texi:15198
34021 #, no-wrap
34022 msgid "@code{bind-address} (default: @code{\"127.0.0.1\"})"
34023 msgstr ""
34024
34025 #. type: table
34026 #: doc/guix.texi:15200
34027 msgid "Bind the web interface to the specified address."
34028 msgstr ""
34029
34030 #. type: item
34031 #: doc/guix.texi:15201
34032 #, no-wrap
34033 msgid "@code{base} (default: @code{\"/\"})"
34034 msgstr ""
34035
34036 #. type: table
34037 #: doc/guix.texi:15204
34038 msgid ""
34039 "Specify the path of the base URL. This can be useful if @command{darkstat} "
34040 "is accessed via a reverse proxy."
34041 msgstr ""
34042
34043 #. type: cindex
34044 #: doc/guix.texi:15211
34045 #, no-wrap
34046 msgid "Kerberos"
34047 msgstr ""
34048
34049 #. type: Plain text
34050 #: doc/guix.texi:15215
34051 msgid ""
34052 "The @code{(gnu services kerberos)} module provides services relating to the "
34053 "authentication protocol @dfn{Kerberos}."
34054 msgstr ""
34055
34056 #. type: subsubheading
34057 #: doc/guix.texi:15216
34058 #, no-wrap
34059 msgid "Krb5 Service"
34060 msgstr ""
34061
34062 #. type: Plain text
34063 #: doc/guix.texi:15223
34064 msgid ""
34065 "Programs using a Kerberos client library normally expect a configuration "
34066 "file in @file{/etc/krb5.conf}. This service generates such a file from a "
34067 "definition provided in the operating system declaration. It does not cause "
34068 "any daemon to be started."
34069 msgstr ""
34070
34071 #. type: Plain text
34072 #: doc/guix.texi:15227
34073 msgid ""
34074 "No ``keytab'' files are provided by this service---you must explicitly "
34075 "create them. This service is known to work with the MIT client library, "
34076 "@code{mit-krb5}. Other implementations have not been tested."
34077 msgstr ""
34078
34079 #. type: defvr
34080 #: doc/guix.texi:15228
34081 #, no-wrap
34082 msgid "{Scheme Variable} krb5-service-type"
34083 msgstr ""
34084
34085 #. type: defvr
34086 #: doc/guix.texi:15230
34087 msgid "A service type for Kerberos 5 clients."
34088 msgstr ""
34089
34090 #. type: Plain text
34091 #: doc/guix.texi:15234
34092 msgid "Here is an example of its use:"
34093 msgstr ""
34094
34095 #. type: lisp
34096 #: doc/guix.texi:15248
34097 #, no-wrap
34098 msgid ""
34099 "(service krb5-service-type\n"
34100 " (krb5-configuration\n"
34101 " (default-realm \"EXAMPLE.COM\")\n"
34102 " (allow-weak-crypto? #t)\n"
34103 " (realms (list\n"
34104 " (krb5-realm\n"
34105 " (name \"EXAMPLE.COM\")\n"
34106 " (admin-server \"groucho.example.com\")\n"
34107 " (kdc \"karl.example.com\"))\n"
34108 " (krb5-realm\n"
34109 " (name \"ARGRX.EDU\")\n"
34110 " (admin-server \"kerb-admin.argrx.edu\")\n"
34111 " (kdc \"keys.argrx.edu\"))))))\n"
34112 msgstr ""
34113
34114 #. type: Plain text
34115 #: doc/guix.texi:15252
34116 msgid "This example provides a Kerberos@tie{}5 client configuration which:"
34117 msgstr ""
34118
34119 #. type: item
34120 #: doc/guix.texi:15253
34121 #, no-wrap
34122 msgid "Recognizes two realms, @i{viz:} ``EXAMPLE.COM'' and ``ARGRX.EDU'', both"
34123 msgstr ""
34124
34125 #. type: itemize
34126 #: doc/guix.texi:15255
34127 msgid ""
34128 "of which have distinct administration servers and key distribution centers;"
34129 msgstr ""
34130
34131 #. type: item
34132 #: doc/guix.texi:15255
34133 #, no-wrap
34134 msgid "Will default to the realm ``EXAMPLE.COM'' if the realm is not explicitly"
34135 msgstr ""
34136
34137 #. type: itemize
34138 #: doc/guix.texi:15257
34139 msgid "specified by clients;"
34140 msgstr ""
34141
34142 #. type: item
34143 #: doc/guix.texi:15257
34144 #, no-wrap
34145 msgid "Accepts services which only support encryption types known to be weak."
34146 msgstr ""
34147
34148 #. type: Plain text
34149 #: doc/guix.texi:15265
34150 msgid ""
34151 "The @code{krb5-realm} and @code{krb5-configuration} types have many fields. "
34152 "Only the most commonly used ones are described here. For a full list, and "
34153 "more detailed explanation of each, see the MIT @uref{http://web.mit.edu/"
34154 "kerberos/krb5-devel/doc/admin/conf_files/krb5_conf.html,,krb5.conf} "
34155 "documentation."
34156 msgstr ""
34157
34158 #. type: deftp
34159 #: doc/guix.texi:15267
34160 #, no-wrap
34161 msgid "{Data Type} krb5-realm"
34162 msgstr ""
34163
34164 #. type: cindex
34165 #: doc/guix.texi:15268
34166 #, no-wrap
34167 msgid "realm, kerberos"
34168 msgstr ""
34169
34170 #. type: table
34171 #: doc/guix.texi:15274
34172 msgid ""
34173 "This field is a string identifying the name of the realm. A common "
34174 "convention is to use the fully qualified DNS name of your organization, "
34175 "converted to upper case."
34176 msgstr ""
34177
34178 #. type: code{#1}
34179 #: doc/guix.texi:15275
34180 #, no-wrap
34181 msgid "admin-server"
34182 msgstr ""
34183
34184 #. type: table
34185 #: doc/guix.texi:15278
34186 msgid ""
34187 "This field is a string identifying the host where the administration server "
34188 "is running."
34189 msgstr ""
34190
34191 #. type: code{#1}
34192 #: doc/guix.texi:15279
34193 #, no-wrap
34194 msgid "kdc"
34195 msgstr ""
34196
34197 #. type: table
34198 #: doc/guix.texi:15282
34199 msgid ""
34200 "This field is a string identifying the key distribution center for the realm."
34201 msgstr ""
34202
34203 #. type: deftp
34204 #: doc/guix.texi:15285
34205 #, no-wrap
34206 msgid "{Data Type} krb5-configuration"
34207 msgstr ""
34208
34209 #. type: item
34210 #: doc/guix.texi:15288
34211 #, no-wrap
34212 msgid "@code{allow-weak-crypto?} (default: @code{#f})"
34213 msgstr ""
34214
34215 #. type: table
34216 #: doc/guix.texi:15291
34217 msgid ""
34218 "If this flag is @code{#t} then services which only offer encryption "
34219 "algorithms known to be weak will be accepted."
34220 msgstr ""
34221
34222 #. type: item
34223 #: doc/guix.texi:15292
34224 #, no-wrap
34225 msgid "@code{default-realm} (default: @code{#f})"
34226 msgstr ""
34227
34228 #. type: table
34229 #: doc/guix.texi:15299
34230 msgid ""
34231 "This field should be a string identifying the default Kerberos realm for the "
34232 "client. You should set this field to the name of your Kerberos realm. If "
34233 "this value is @code{#f} then a realm must be specified with every Kerberos "
34234 "principal when invoking programs such as @command{kinit}."
34235 msgstr ""
34236
34237 #. type: code{#1}
34238 #: doc/guix.texi:15300
34239 #, no-wrap
34240 msgid "realms"
34241 msgstr ""
34242
34243 #. type: table
34244 #: doc/guix.texi:15305
34245 msgid ""
34246 "This should be a non-empty list of @code{krb5-realm} objects, which clients "
34247 "may access. Normally, one of them will have a @code{name} field matching "
34248 "the @code{default-realm} field."
34249 msgstr ""
34250
34251 #. type: subsubheading
34252 #: doc/guix.texi:15309
34253 #, no-wrap
34254 msgid "PAM krb5 Service"
34255 msgstr ""
34256
34257 #. type: cindex
34258 #: doc/guix.texi:15310
34259 #, no-wrap
34260 msgid "pam-krb5"
34261 msgstr ""
34262
34263 #. type: Plain text
34264 #: doc/guix.texi:15316
34265 msgid ""
34266 "The @code{pam-krb5} service allows for login authentication and password "
34267 "management via Kerberos. You will need this service if you want PAM enabled "
34268 "applications to authenticate users using Kerberos."
34269 msgstr ""
34270
34271 #. type: defvr
34272 #: doc/guix.texi:15317
34273 #, no-wrap
34274 msgid "{Scheme Variable} pam-krb5-service-type"
34275 msgstr ""
34276
34277 #. type: defvr
34278 #: doc/guix.texi:15319
34279 msgid "A service type for the Kerberos 5 PAM module."
34280 msgstr ""
34281
34282 #. type: deftp
34283 #: doc/guix.texi:15321
34284 #, no-wrap
34285 msgid "{Data Type} pam-krb5-configuration"
34286 msgstr ""
34287
34288 #. type: deftp
34289 #: doc/guix.texi:15324
34290 msgid ""
34291 "Data type representing the configuration of the Kerberos 5 PAM module This "
34292 "type has the following parameters:"
34293 msgstr ""
34294
34295 #. type: item
34296 #: doc/guix.texi:15325
34297 #, no-wrap
34298 msgid "@code{pam-krb5} (default: @code{pam-krb5})"
34299 msgstr ""
34300
34301 #. type: table
34302 #: doc/guix.texi:15327
34303 msgid "The pam-krb5 package to use."
34304 msgstr ""
34305
34306 #. type: item
34307 #: doc/guix.texi:15328
34308 #, no-wrap
34309 msgid "@code{minimum-uid} (default: @code{1000})"
34310 msgstr ""
34311
34312 #. type: table
34313 #: doc/guix.texi:15331
34314 msgid ""
34315 "The smallest user ID for which Kerberos authentications should be "
34316 "attempted. Local accounts with lower values will silently fail to "
34317 "authenticate."
34318 msgstr ""
34319
34320 #. type: cindex
34321 #: doc/guix.texi:15338
34322 #, no-wrap
34323 msgid "web"
34324 msgstr ""
34325
34326 #. type: cindex
34327 #: doc/guix.texi:15339
34328 #, no-wrap
34329 msgid "www"
34330 msgstr ""
34331
34332 #. type: cindex
34333 #: doc/guix.texi:15340
34334 #, no-wrap
34335 msgid "HTTP"
34336 msgstr ""
34337
34338 #. type: Plain text
34339 #: doc/guix.texi:15343
34340 msgid ""
34341 "The @code{(gnu services web)} module provides the Apache HTTP Server, the "
34342 "nginx web server, and also a fastcgi wrapper daemon."
34343 msgstr ""
34344
34345 #. type: subsubheading
34346 #: doc/guix.texi:15344
34347 #, no-wrap
34348 msgid "Apache HTTP Server"
34349 msgstr ""
34350
34351 #. type: deffn
34352 #: doc/guix.texi:15346
34353 #, no-wrap
34354 msgid "{Scheme Variable} httpd-service-type"
34355 msgstr ""
34356
34357 #. type: deffn
34358 #: doc/guix.texi:15350
34359 msgid ""
34360 "Service type for the @uref{https://httpd.apache.org/,Apache HTTP} server "
34361 "(@dfn{httpd}). The value for this service type is a @code{https-"
34362 "configuration} record."
34363 msgstr ""
34364
34365 #. type: deffn
34366 #: doc/guix.texi:15352 doc/guix.texi:15503
34367 msgid "A simple example configuration is given below."
34368 msgstr ""
34369
34370 #. type: example
34371 #: doc/guix.texi:15360
34372 #, no-wrap
34373 msgid ""
34374 "(service httpd-service-type\n"
34375 " (httpd-configuration\n"
34376 " (config\n"
34377 " (httpd-config-file\n"
34378 " (server-name \"www.example.com\")\n"
34379 " (document-root \"/srv/http/www.example.com\")))))\n"
34380 msgstr ""
34381
34382 #. type: deffn
34383 #: doc/guix.texi:15364
34384 msgid ""
34385 "Other services can also extend the @code{httpd-service-type} to add to the "
34386 "configuration."
34387 msgstr ""
34388
34389 #. type: example
34390 #: doc/guix.texi:15373 doc/guix.texi:15483
34391 #, no-wrap
34392 msgid ""
34393 "(simple-service 'my-extra-server httpd-service-type\n"
34394 " (list\n"
34395 " (httpd-virtualhost\n"
34396 " \"*:80\"\n"
34397 " (list (string-append\n"
34398 " \"ServerName \"www.example.com\n"
34399 " DocumentRoot \\\"/srv/http/www.example.com\\\"\")))))\n"
34400 msgstr ""
34401
34402 #. type: Plain text
34403 #: doc/guix.texi:15379
34404 msgid ""
34405 "The details for the @code{httpd-configuration}, @code{httpd-module}, "
34406 "@code{httpd-config-file} and @code{httpd-virtualhost} record types are given "
34407 "below."
34408 msgstr ""
34409
34410 #. type: deffn
34411 #: doc/guix.texi:15380
34412 #, no-wrap
34413 msgid "{Data Type} httpd-configuration"
34414 msgstr ""
34415
34416 #. type: deffn
34417 #: doc/guix.texi:15382
34418 msgid "This data type represents the configuration for the httpd service."
34419 msgstr ""
34420
34421 #. type: item
34422 #: doc/guix.texi:15384
34423 #, no-wrap
34424 msgid "@code{package} (default: @code{httpd})"
34425 msgstr ""
34426
34427 #. type: table
34428 #: doc/guix.texi:15386
34429 msgid "The httpd package to use."
34430 msgstr ""
34431
34432 #. type: item
34433 #: doc/guix.texi:15387 doc/guix.texi:15446
34434 #, no-wrap
34435 msgid "@code{pid-file} (default: @code{\"/var/run/httpd\"})"
34436 msgstr ""
34437
34438 #. type: table
34439 #: doc/guix.texi:15389
34440 msgid "The pid file used by the shepherd-service."
34441 msgstr ""
34442
34443 #. type: item
34444 #: doc/guix.texi:15390
34445 #, no-wrap
34446 msgid "@code{config} (default: @code{(httpd-config-file)})"
34447 msgstr ""
34448
34449 #. type: table
34450 #: doc/guix.texi:15395
34451 msgid ""
34452 "The configuration file to use with the httpd service. The default value is a "
34453 "@code{httpd-config-file} record, but this can also be a different G-"
34454 "expression that generates a file, for example a @code{plain-file}. A file "
34455 "outside of the store can also be specified through a string."
34456 msgstr ""
34457
34458 #. type: deffn
34459 #: doc/guix.texi:15399
34460 #, no-wrap
34461 msgid "{Data Type} httpd-module"
34462 msgstr ""
34463
34464 #. type: deffn
34465 #: doc/guix.texi:15401
34466 msgid "This data type represents a module for the httpd service."
34467 msgstr ""
34468
34469 #. type: table
34470 #: doc/guix.texi:15405
34471 msgid "The name of the module."
34472 msgstr ""
34473
34474 #. type: table
34475 #: doc/guix.texi:15411
34476 msgid ""
34477 "The file for the module. This can be relative to the httpd package being "
34478 "used, the absolute location of a file, or a G-expression for a file within "
34479 "the store, for example @code{(file-append mod-wsgi \"/modules/mod_wsgi.so"
34480 "\")}."
34481 msgstr ""
34482
34483 #. type: deffn
34484 #: doc/guix.texi:15415
34485 #, no-wrap
34486 msgid "{Data Type} httpd-config-file"
34487 msgstr ""
34488
34489 #. type: deffn
34490 #: doc/guix.texi:15417
34491 msgid "This data type represents a configuration file for the httpd service."
34492 msgstr ""
34493
34494 #. type: item
34495 #: doc/guix.texi:15419
34496 #, no-wrap
34497 msgid "@code{modules} (default: @code{%default-httpd-modules})"
34498 msgstr ""
34499
34500 #. type: table
34501 #: doc/guix.texi:15422
34502 msgid ""
34503 "The modules to load. Additional modules can be added here, or loaded by "
34504 "additional configuration."
34505 msgstr ""
34506
34507 #. type: item
34508 #: doc/guix.texi:15423
34509 #, no-wrap
34510 msgid "@code{server-root} (default: @code{httpd})"
34511 msgstr ""
34512
34513 #. type: table
34514 #: doc/guix.texi:15427
34515 msgid ""
34516 "The @code{ServerRoot} in the configuration file, defaults to the httpd "
34517 "package. Directives including @code{Include} and @code{LoadModule} are taken "
34518 "as relative to the server root."
34519 msgstr ""
34520
34521 #. type: item
34522 #: doc/guix.texi:15428
34523 #, no-wrap
34524 msgid "@code{server-name} (default: @code{#f})"
34525 msgstr ""
34526
34527 #. type: table
34528 #: doc/guix.texi:15432
34529 msgid ""
34530 "The @code{ServerName} in the configuration file, used to specify the request "
34531 "scheme, hostname and port that the server uses to identify itself."
34532 msgstr ""
34533
34534 #. type: table
34535 #: doc/guix.texi:15436
34536 msgid ""
34537 "This doesn't need to be set in the server config, and can be specifyed in "
34538 "virtual hosts. The default is @code{#f} to not specify a @code{ServerName}."
34539 msgstr ""
34540
34541 #. type: item
34542 #: doc/guix.texi:15437
34543 #, no-wrap
34544 msgid "@code{document-root} (default: @code{\"/srv/http\"})"
34545 msgstr ""
34546
34547 #. type: table
34548 #: doc/guix.texi:15439
34549 msgid "The @code{DocumentRoot} from which files will be served."
34550 msgstr ""
34551
34552 #. type: item
34553 #: doc/guix.texi:15440
34554 #, no-wrap
34555 msgid "@code{listen} (default: @code{'(\"80\")})"
34556 msgstr ""
34557
34558 #. type: table
34559 #: doc/guix.texi:15445
34560 msgid ""
34561 "The list of values for the @code{Listen} directives in the config file. The "
34562 "value should be a list of strings, when each string can specify the port "
34563 "number to listen on, and optionally the IP address and protocol to use."
34564 msgstr ""
34565
34566 #. type: table
34567 #: doc/guix.texi:15450
34568 msgid ""
34569 "The @code{PidFile} to use. This should match the @code{pid-file} set in the "
34570 "@code{httpd-configuration} so that the Shepherd service is configured "
34571 "correctly."
34572 msgstr ""
34573
34574 #. type: item
34575 #: doc/guix.texi:15451
34576 #, no-wrap
34577 msgid "@code{error-log} (default: @code{\"/var/log/httpd/error_log\"})"
34578 msgstr ""
34579
34580 #. type: table
34581 #: doc/guix.texi:15453
34582 msgid "The @code{ErrorLog} to which the server will log errors."
34583 msgstr ""
34584
34585 #. type: item
34586 #: doc/guix.texi:15454
34587 #, no-wrap
34588 msgid "@code{user} (default: @code{\"httpd\"})"
34589 msgstr ""
34590
34591 #. type: table
34592 #: doc/guix.texi:15456
34593 msgid "The @code{User} which the server will answer requests as."
34594 msgstr ""
34595
34596 #. type: item
34597 #: doc/guix.texi:15457
34598 #, no-wrap
34599 msgid "@code{group} (default: @code{\"httpd\"})"
34600 msgstr ""
34601
34602 #. type: table
34603 #: doc/guix.texi:15459
34604 msgid "The @code{Group} which the server will answer requests as."
34605 msgstr ""
34606
34607 #. type: item
34608 #: doc/guix.texi:15460
34609 #, no-wrap
34610 msgid "@code{extra-config} (default: @code{(list \"TypesConfig etc/httpd/mime.types\")})"
34611 msgstr ""
34612
34613 #. type: table
34614 #: doc/guix.texi:15463
34615 msgid ""
34616 "A flat list of strings and G-expressions which will be added to the end of "
34617 "the configuration file."
34618 msgstr ""
34619
34620 #. type: table
34621 #: doc/guix.texi:15466
34622 msgid ""
34623 "Any values which the service is extended with will be appended to this list."
34624 msgstr ""
34625
34626 #. type: deffn
34627 #: doc/guix.texi:15470
34628 #, no-wrap
34629 msgid "{Data Type} httpd-virtualhost"
34630 msgstr ""
34631
34632 #. type: deffn
34633 #: doc/guix.texi:15472
34634 msgid ""
34635 "This data type represents a virtualhost configuration block for the httpd "
34636 "service."
34637 msgstr ""
34638
34639 #. type: deffn
34640 #: doc/guix.texi:15474
34641 msgid "These should be added to the extra-config for the httpd-service."
34642 msgstr ""
34643
34644 #. type: code{#1}
34645 #: doc/guix.texi:15486
34646 #, no-wrap
34647 msgid "addresses-and-ports"
34648 msgstr ""
34649
34650 #. type: table
34651 #: doc/guix.texi:15488
34652 msgid "The addresses and ports for the @code{VirtualHost} directive."
34653 msgstr ""
34654
34655 #. type: code{#1}
34656 #: doc/guix.texi:15489
34657 #, no-wrap
34658 msgid "contents"
34659 msgstr ""
34660
34661 #. type: table
34662 #: doc/guix.texi:15492
34663 msgid ""
34664 "The contents of the @code{VirtualHost} directive, this should be a list of "
34665 "strings and G-expressions."
34666 msgstr ""
34667
34668 #. type: subsubheading
34669 #: doc/guix.texi:15496
34670 #, no-wrap
34671 msgid "NGINX"
34672 msgstr ""
34673
34674 #. type: deffn
34675 #: doc/guix.texi:15498
34676 #, no-wrap
34677 msgid "{Scheme Variable} nginx-service-type"
34678 msgstr ""
34679
34680 #. type: deffn
34681 #: doc/guix.texi:15501
34682 msgid ""
34683 "Service type for the @uref{https://nginx.org/,NGinx} web server. The value "
34684 "for this service type is a @code{<nginx-configuration>} record."
34685 msgstr ""
34686
34687 #. type: example
34688 #: doc/guix.texi:15511 doc/guix.texi:15565
34689 #, no-wrap
34690 msgid ""
34691 "(service nginx-service-type\n"
34692 " (nginx-configuration\n"
34693 " (server-blocks\n"
34694 " (list (nginx-server-configuration\n"
34695 " (server-name '(\"www.example.com\"))\n"
34696 " (root \"/srv/http/www.example.com\"))))))\n"
34697 msgstr ""
34698
34699 #. type: deffn
34700 #: doc/guix.texi:15516
34701 msgid ""
34702 "In addition to adding server blocks to the service configuration directly, "
34703 "this service can be extended by other services to add server blocks, as in "
34704 "this example:"
34705 msgstr ""
34706
34707 #. type: example
34708 #: doc/guix.texi:15522
34709 #, no-wrap
34710 msgid ""
34711 "(simple-service 'my-extra-server nginx-service-type\n"
34712 " (list (nginx-server-configuration\n"
34713 " (root \"/srv/http/extra-website\")\n"
34714 " (try-files (list \"$uri\" \"$uri/index.html\")))))\n"
34715 msgstr ""
34716
34717 #. type: Plain text
34718 #: doc/guix.texi:15533
34719 msgid ""
34720 "At startup, @command{nginx} has not yet read its configuration file, so it "
34721 "uses a default file to log error messages. If it fails to load its "
34722 "configuration file, that is where error messages are logged. After the "
34723 "configuration file is loaded, the default error log file changes as per "
34724 "configuration. In our case, startup error messages can be found in @file{/"
34725 "var/run/nginx/logs/error.log}, and after configuration in @file{/var/log/"
34726 "nginx/error.log}. The second location can be changed with the @var{log-"
34727 "directory} configuration option."
34728 msgstr ""
34729
34730 #. type: deffn
34731 #: doc/guix.texi:15534
34732 #, no-wrap
34733 msgid "{Data Type} nginx-configuration"
34734 msgstr ""
34735
34736 #. type: deffn
34737 #: doc/guix.texi:15538
34738 msgid ""
34739 "This data type represents the configuration for NGinx. Some configuration "
34740 "can be done through this and the other provided record types, or "
34741 "alternatively, a config file can be provided."
34742 msgstr ""
34743
34744 #. type: item
34745 #: doc/guix.texi:15540
34746 #, no-wrap
34747 msgid "@code{nginx} (default: @code{nginx})"
34748 msgstr ""
34749
34750 #. type: table
34751 #: doc/guix.texi:15542
34752 msgid "The nginx package to use."
34753 msgstr ""
34754
34755 #. type: item
34756 #: doc/guix.texi:15543
34757 #, no-wrap
34758 msgid "@code{log-directory} (default: @code{\"/var/log/nginx\"})"
34759 msgstr ""
34760
34761 #. type: table
34762 #: doc/guix.texi:15545
34763 msgid "The directory to which NGinx will write log files."
34764 msgstr ""
34765
34766 #. type: item
34767 #: doc/guix.texi:15546
34768 #, no-wrap
34769 msgid "@code{run-directory} (default: @code{\"/var/run/nginx\"})"
34770 msgstr ""
34771
34772 #. type: table
34773 #: doc/guix.texi:15549
34774 msgid ""
34775 "The directory in which NGinx will create a pid file, and write temporary "
34776 "files."
34777 msgstr ""
34778
34779 #. type: item
34780 #: doc/guix.texi:15550
34781 #, no-wrap
34782 msgid "@code{server-blocks} (default: @code{'()})"
34783 msgstr ""
34784
34785 #. type: table
34786 #: doc/guix.texi:15554
34787 msgid ""
34788 "A list of @dfn{server blocks} to create in the generated configuration file, "
34789 "the elements should be of type @code{<nginx-server-configuration>}."
34790 msgstr ""
34791
34792 #. type: table
34793 #: doc/guix.texi:15558
34794 msgid ""
34795 "The following example would setup NGinx to serve @code{www.example.com} from "
34796 "the @code{/srv/http/www.example.com} directory, without using HTTPS."
34797 msgstr ""
34798
34799 #. type: item
34800 #: doc/guix.texi:15567
34801 #, no-wrap
34802 msgid "@code{upstream-blocks} (default: @code{'()})"
34803 msgstr ""
34804
34805 #. type: table
34806 #: doc/guix.texi:15571
34807 msgid ""
34808 "A list of @dfn{upstream blocks} to create in the generated configuration "
34809 "file, the elements should be of type @code{<nginx-upstream-configuration>}."
34810 msgstr ""
34811
34812 #. type: table
34813 #: doc/guix.texi:15578
34814 msgid ""
34815 "Configuring upstreams through the @code{upstream-blocks} can be useful when "
34816 "combined with @code{locations} in the @code{<nginx-server-configuration>} "
34817 "records. The following example creates a server configuration with one "
34818 "location configuration, that will proxy requests to a upstream "
34819 "configuration, which will handle requests with two servers."
34820 msgstr ""
34821
34822 #. type: example
34823 #: doc/guix.texi:15597
34824 #, no-wrap
34825 msgid ""
34826 "(service\n"
34827 " nginx-service-type\n"
34828 " (nginx-configuration\n"
34829 " (server-blocks\n"
34830 " (list (nginx-server-configuration\n"
34831 " (server-name '(\"www.example.com\"))\n"
34832 " (root \"/srv/http/www.example.com\")\n"
34833 " (locations\n"
34834 " (list\n"
34835 " (nginx-location-configuration\n"
34836 " (uri \"/path1\")\n"
34837 " (body '(\"proxy_pass http://server-proxy;\"))))))))\n"
34838 " (upstream-blocks\n"
34839 " (list (nginx-upstream-configuration\n"
34840 " (name \"server-proxy\")\n"
34841 " (servers (list \"server1.example.com\"\n"
34842 " \"server2.example.com\")))))))\n"
34843 msgstr ""
34844
34845 #. type: table
34846 #: doc/guix.texi:15605
34847 msgid ""
34848 "If a configuration @var{file} is provided, this will be used, rather than "
34849 "generating a configuration file from the provided @code{log-directory}, "
34850 "@code{run-directory}, @code{server-blocks} and @code{upstream-blocks}. For "
34851 "proper operation, these arguments should match what is in @var{file} to "
34852 "ensure that the directories are created when the service is activated."
34853 msgstr ""
34854
34855 #. type: table
34856 #: doc/guix.texi:15609
34857 msgid ""
34858 "This can be useful if you have an existing configuration file, or it's not "
34859 "possible to do what is required through the other parts of the nginx-"
34860 "configuration record."
34861 msgstr ""
34862
34863 #. type: item
34864 #: doc/guix.texi:15610
34865 #, no-wrap
34866 msgid "@code{server-names-hash-bucket-size} (default: @code{#f})"
34867 msgstr ""
34868
34869 #. type: table
34870 #: doc/guix.texi:15613
34871 msgid ""
34872 "Bucket size for the server names hash tables, defaults to @code{#f} to use "
34873 "the size of the processors cache line."
34874 msgstr ""
34875
34876 #. type: item
34877 #: doc/guix.texi:15614
34878 #, no-wrap
34879 msgid "@code{server-names-hash-bucket-max-size} (default: @code{#f})"
34880 msgstr ""
34881
34882 #. type: table
34883 #: doc/guix.texi:15616
34884 msgid "Maximum bucket size for the server names hash tables."
34885 msgstr ""
34886
34887 #. type: deftp
34888 #: doc/guix.texi:15620
34889 #, no-wrap
34890 msgid "{Data Type} nginx-server-configuration"
34891 msgstr ""
34892
34893 #. type: deftp
34894 #: doc/guix.texi:15623
34895 msgid ""
34896 "Data type representing the configuration of an nginx server block. This "
34897 "type has the following parameters:"
34898 msgstr ""
34899
34900 #. type: item
34901 #: doc/guix.texi:15625
34902 #, no-wrap
34903 msgid "@code{listen} (default: @code{'(\"80\" \"443 ssl\")})"
34904 msgstr ""
34905
34906 #. type: table
34907 #: doc/guix.texi:15630
34908 msgid ""
34909 "Each @code{listen} directive sets the address and port for IP, or the path "
34910 "for a UNIX-domain socket on which the server will accept requests. Both "
34911 "address and port, or only address or only port can be specified. An address "
34912 "may also be a hostname, for example:"
34913 msgstr ""
34914
34915 #. type: example
34916 #: doc/guix.texi:15633
34917 #, no-wrap
34918 msgid "'(\"127.0.0.1:8000\" \"127.0.0.1\" \"8000\" \"*:8000\" \"localhost:8000\")\n"
34919 msgstr ""
34920
34921 #. type: item
34922 #: doc/guix.texi:15635
34923 #, no-wrap
34924 msgid "@code{server-name} (default: @code{(list 'default)})"
34925 msgstr ""
34926
34927 #. type: table
34928 #: doc/guix.texi:15638
34929 msgid ""
34930 "A list of server names this server represents. @code{'default} represents "
34931 "the default server for connections matching no other server."
34932 msgstr ""
34933
34934 #. type: item
34935 #: doc/guix.texi:15639
34936 #, no-wrap
34937 msgid "@code{root} (default: @code{\"/srv/http\"})"
34938 msgstr ""
34939
34940 #. type: table
34941 #: doc/guix.texi:15641
34942 msgid "Root of the website nginx will serve."
34943 msgstr ""
34944
34945 #. type: item
34946 #: doc/guix.texi:15642
34947 #, no-wrap
34948 msgid "@code{locations} (default: @code{'()})"
34949 msgstr ""
34950
34951 #. type: table
34952 #: doc/guix.texi:15646
34953 msgid ""
34954 "A list of @dfn{nginx-location-configuration} or @dfn{nginx-named-location-"
34955 "configuration} records to use within this server block."
34956 msgstr ""
34957
34958 #. type: item
34959 #: doc/guix.texi:15647
34960 #, no-wrap
34961 msgid "@code{index} (default: @code{(list \"index.html\")})"
34962 msgstr ""
34963
34964 #. type: table
34965 #: doc/guix.texi:15650
34966 msgid ""
34967 "Index files to look for when clients ask for a directory. If it cannot be "
34968 "found, Nginx will send the list of files in the directory."
34969 msgstr ""
34970
34971 #. type: item
34972 #: doc/guix.texi:15651
34973 #, no-wrap
34974 msgid "@code{try-files} (default: @code{'()})"
34975 msgstr ""
34976
34977 #. type: table
34978 #: doc/guix.texi:15654
34979 msgid ""
34980 "A list of files whose existence is checked in the specified order. "
34981 "@code{nginx} will use the first file it finds to process the request."
34982 msgstr ""
34983
34984 #. type: item
34985 #: doc/guix.texi:15655
34986 #, no-wrap
34987 msgid "@code{ssl-certificate} (default: @code{#f})"
34988 msgstr ""
34989
34990 #. type: table
34991 #: doc/guix.texi:15658
34992 msgid ""
34993 "Where to find the certificate for secure connections. Set it to @code{#f} "
34994 "if you don't have a certificate or you don't want to use HTTPS."
34995 msgstr ""
34996
34997 #. type: item
34998 #: doc/guix.texi:15659
34999 #, no-wrap
35000 msgid "@code{ssl-certificate-key} (default: @code{#f})"
35001 msgstr ""
35002
35003 #. type: table
35004 #: doc/guix.texi:15662
35005 msgid ""
35006 "Where to find the private key for secure connections. Set it to @code{#f} "
35007 "if you don't have a key or you don't want to use HTTPS."
35008 msgstr ""
35009
35010 #. type: item
35011 #: doc/guix.texi:15663
35012 #, no-wrap
35013 msgid "@code{server-tokens?} (default: @code{#f})"
35014 msgstr ""
35015
35016 #. type: table
35017 #: doc/guix.texi:15665
35018 msgid "Whether the server should add its configuration to response."
35019 msgstr ""
35020
35021 #. type: item
35022 #: doc/guix.texi:15666
35023 #, no-wrap
35024 msgid "@code{raw-content} (default: @code{'()})"
35025 msgstr ""
35026
35027 #. type: table
35028 #: doc/guix.texi:15668
35029 msgid "A list of raw lines added to the server block."
35030 msgstr ""
35031
35032 #. type: deftp
35033 #: doc/guix.texi:15672
35034 #, no-wrap
35035 msgid "{Data Type} nginx-upstream-configuration"
35036 msgstr ""
35037
35038 #. type: deftp
35039 #: doc/guix.texi:15675
35040 msgid ""
35041 "Data type representing the configuration of an nginx @code{upstream} block. "
35042 "This type has the following parameters:"
35043 msgstr ""
35044
35045 #. type: table
35046 #: doc/guix.texi:15679
35047 msgid "Name for this group of servers."
35048 msgstr ""
35049
35050 #. type: code{#1}
35051 #: doc/guix.texi:15680
35052 #, no-wrap
35053 msgid "servers"
35054 msgstr ""
35055
35056 #. type: table
35057 #: doc/guix.texi:15687
35058 msgid ""
35059 "Specify the addresses of the servers in the group. The address can be "
35060 "specified as a IP address (e.g. @samp{127.0.0.1}), domain name (e.g. "
35061 "@samp{backend1.example.com}) or a path to a UNIX socket using the prefix "
35062 "@samp{unix:}. For addresses using an IP address or domain name, the default "
35063 "port is 80, and a different port can be specified explicitly."
35064 msgstr ""
35065
35066 #. type: deftp
35067 #: doc/guix.texi:15691
35068 #, no-wrap
35069 msgid "{Data Type} nginx-location-configuration"
35070 msgstr ""
35071
35072 #. type: deftp
35073 #: doc/guix.texi:15694
35074 msgid ""
35075 "Data type representing the configuration of an nginx @code{location} block. "
35076 "This type has the following parameters:"
35077 msgstr ""
35078
35079 #. type: table
35080 #: doc/guix.texi:15698
35081 msgid "URI which this location block matches."
35082 msgstr ""
35083
35084 #. type: anchor{#1}
35085 #: doc/guix.texi:15700
35086 msgid "nginx-location-configuration body"
35087 msgstr ""
35088
35089 #. type: code{#1}
35090 #: doc/guix.texi:15700 doc/guix.texi:15721
35091 #, no-wrap
35092 msgid "body"
35093 msgstr ""
35094
35095 #. type: table
35096 #: doc/guix.texi:15707
35097 msgid ""
35098 "Body of the location block, specified as a list of strings. This can contain "
35099 "many configuration directives. For example, to pass requests to a upstream "
35100 "server group defined using an @code{nginx-upstream-configuration} block, the "
35101 "following directive would be specified in the body @samp{(list \"proxy_pass "
35102 "http://upstream-name;\")}."
35103 msgstr ""
35104
35105 #. type: deftp
35106 #: doc/guix.texi:15711
35107 #, no-wrap
35108 msgid "{Data Type} nginx-named-location-configuration"
35109 msgstr ""
35110
35111 #. type: deftp
35112 #: doc/guix.texi:15716
35113 msgid ""
35114 "Data type representing the configuration of an nginx named location block. "
35115 "Named location blocks are used for request redirection, and not used for "
35116 "regular request processing. This type has the following parameters:"
35117 msgstr ""
35118
35119 #. type: table
35120 #: doc/guix.texi:15720
35121 msgid "Name to identify this location block."
35122 msgstr ""
35123
35124 #. type: table
35125 #: doc/guix.texi:15726
35126 msgid ""
35127 "@xref{nginx-location-configuration body}, as the body for named location "
35128 "blocks can be used in a similar way to the @code{nginx-location-"
35129 "configuration body}. One restriction is that the body of a named location "
35130 "block cannot contain location blocks."
35131 msgstr ""
35132
35133 #. type: cindex
35134 #: doc/guix.texi:15730
35135 #, no-wrap
35136 msgid "fastcgi"
35137 msgstr ""
35138
35139 #. type: cindex
35140 #: doc/guix.texi:15731
35141 #, no-wrap
35142 msgid "fcgiwrap"
35143 msgstr ""
35144
35145 #. type: Plain text
35146 #: doc/guix.texi:15738
35147 msgid ""
35148 "FastCGI is an interface between the front-end and the back-end of a web "
35149 "service. It is a somewhat legacy facility; new web services should "
35150 "generally just talk HTTP between the front-end and the back-end. However "
35151 "there are a number of back-end services such as PHP or the optimized HTTP "
35152 "Git repository access that use FastCGI, so we have support for it in Guix."
35153 msgstr ""
35154
35155 #. type: Plain text
35156 #: doc/guix.texi:15745
35157 msgid ""
35158 "To use FastCGI, you configure the front-end web server (e.g., nginx) to "
35159 "dispatch some subset of its requests to the fastcgi backend, which listens "
35160 "on a local TCP or UNIX socket. There is an intermediary @code{fcgiwrap} "
35161 "program that sits between the actual backend process and the web server. "
35162 "The front-end indicates which backend program to run, passing that "
35163 "information to the @code{fcgiwrap} process."
35164 msgstr ""
35165
35166 #. type: defvr
35167 #: doc/guix.texi:15746
35168 #, no-wrap
35169 msgid "{Scheme Variable} fcgiwrap-service-type"
35170 msgstr ""
35171
35172 #. type: defvr
35173 #: doc/guix.texi:15748
35174 msgid "A service type for the @code{fcgiwrap} FastCGI proxy."
35175 msgstr ""
35176
35177 #. type: deftp
35178 #: doc/guix.texi:15750
35179 #, no-wrap
35180 msgid "{Data Type} fcgiwrap-configuration"
35181 msgstr ""
35182
35183 #. type: deftp
35184 #: doc/guix.texi:15753
35185 msgid ""
35186 "Data type representing the configuration of the @code{fcgiwrap} serice. "
35187 "This type has the following parameters:"
35188 msgstr ""
35189
35190 #. type: item
35191 #: doc/guix.texi:15754
35192 #, no-wrap
35193 msgid "@code{package} (default: @code{fcgiwrap})"
35194 msgstr ""
35195
35196 #. type: table
35197 #: doc/guix.texi:15756
35198 msgid "The fcgiwrap package to use."
35199 msgstr ""
35200
35201 #. type: item
35202 #: doc/guix.texi:15757
35203 #, no-wrap
35204 msgid "@code{socket} (default: @code{tcp:127.0.0.1:9000})"
35205 msgstr ""
35206
35207 #. type: table
35208 #: doc/guix.texi:15763
35209 msgid ""
35210 "The socket on which the @code{fcgiwrap} process should listen, as a string. "
35211 "Valid @var{socket} values include @code{unix:@var{/path/to/unix/socket}}, "
35212 "@code{tcp:@var{dot.ted.qu.ad}:@var{port}} and @code{tcp6:[@var{ipv6_addr}]:"
35213 "port}."
35214 msgstr ""
35215
35216 #. type: item
35217 #: doc/guix.texi:15764
35218 #, no-wrap
35219 msgid "@code{user} (default: @code{fcgiwrap})"
35220 msgstr ""
35221
35222 #. type: itemx
35223 #: doc/guix.texi:15765
35224 #, no-wrap
35225 msgid "@code{group} (default: @code{fcgiwrap})"
35226 msgstr ""
35227
35228 #. type: table
35229 #: doc/guix.texi:15770
35230 msgid ""
35231 "The user and group names, as strings, under which to run the @code{fcgiwrap} "
35232 "process. The @code{fastcgi} service will ensure that if the user asks for "
35233 "the specific user or group names @code{fcgiwrap} that the corresponding user "
35234 "and/or group is present on the system."
35235 msgstr ""
35236
35237 #. type: table
35238 #: doc/guix.texi:15777
35239 msgid ""
35240 "It is possible to configure a FastCGI-backed web service to pass HTTP "
35241 "authentication information from the front-end to the back-end, and to allow "
35242 "@code{fcgiwrap} to run the back-end process as a corresponding local user. "
35243 "To enable this capability on the back-end., run @code{fcgiwrap} as the "
35244 "@code{root} user and group. Note that this capability also has to be "
35245 "configured on the front-end as well."
35246 msgstr ""
35247
35248 #. type: cindex
35249 #: doc/guix.texi:15780
35250 #, no-wrap
35251 msgid "php-fpm"
35252 msgstr ""
35253
35254 #. type: Plain text
35255 #: doc/guix.texi:15783
35256 msgid ""
35257 "PHP-FPM (FastCGI Process Manager) is an alternative PHP FastCGI "
35258 "implementation with some additional features useful for sites of any size."
35259 msgstr ""
35260
35261 #. type: Plain text
35262 #: doc/guix.texi:15785
35263 msgid "These features include:"
35264 msgstr ""
35265
35266 #. type: item
35267 #: doc/guix.texi:15786
35268 #, no-wrap
35269 msgid "Adaptive process spawning"
35270 msgstr ""
35271
35272 #. type: item
35273 #: doc/guix.texi:15787
35274 #, no-wrap
35275 msgid "Basic statistics (similar to Apache's mod_status)"
35276 msgstr ""
35277
35278 #. type: item
35279 #: doc/guix.texi:15788
35280 #, no-wrap
35281 msgid "Advanced process management with graceful stop/start"
35282 msgstr ""
35283
35284 #. type: item
35285 #: doc/guix.texi:15789
35286 #, no-wrap
35287 msgid "Ability to start workers with different uid/gid/chroot/environment"
35288 msgstr ""
35289
35290 #. type: itemize
35291 #: doc/guix.texi:15791
35292 msgid "and different php.ini (replaces safe_mode)"
35293 msgstr ""
35294
35295 #. type: item
35296 #: doc/guix.texi:15791
35297 #, no-wrap
35298 msgid "Stdout & stderr logging"
35299 msgstr ""
35300
35301 #. type: item
35302 #: doc/guix.texi:15792
35303 #, no-wrap
35304 msgid "Emergency restart in case of accidental opcode cache destruction"
35305 msgstr ""
35306
35307 #. type: item
35308 #: doc/guix.texi:15793
35309 #, no-wrap
35310 msgid "Accelerated upload support"
35311 msgstr ""
35312
35313 #. type: item
35314 #: doc/guix.texi:15794
35315 #, no-wrap
35316 msgid "Support for a \"slowlog\""
35317 msgstr ""
35318
35319 #. type: item
35320 #: doc/guix.texi:15795
35321 #, no-wrap
35322 msgid "Enhancements to FastCGI, such as fastcgi_finish_request() -"
35323 msgstr ""
35324
35325 #. type: itemize
35326 #: doc/guix.texi:15798
35327 msgid ""
35328 "a special function to finish request & flush all data while continuing to do "
35329 "something time-consuming (video converting, stats processing, etc.)"
35330 msgstr ""
35331
35332 #. type: Plain text
35333 #: doc/guix.texi:15800
35334 msgid "... and much more."
35335 msgstr ""
35336
35337 #. type: defvr
35338 #: doc/guix.texi:15801
35339 #, no-wrap
35340 msgid "{Scheme Variable} php-fpm-service-type"
35341 msgstr ""
35342
35343 #. type: defvr
35344 #: doc/guix.texi:15803
35345 msgid "A Service type for @code{php-fpm}."
35346 msgstr ""
35347
35348 #. type: deftp
35349 #: doc/guix.texi:15805
35350 #, no-wrap
35351 msgid "{Data Type} php-fpm-configuration"
35352 msgstr ""
35353
35354 #. type: deftp
35355 #: doc/guix.texi:15807
35356 msgid "Data Type for php-fpm service configuration."
35357 msgstr ""
35358
35359 #. type: item
35360 #: doc/guix.texi:15808
35361 #, no-wrap
35362 msgid "@code{php} (default: @code{php})"
35363 msgstr ""
35364
35365 #. type: table
35366 #: doc/guix.texi:15810
35367 msgid "The php package to use."
35368 msgstr ""
35369
35370 #. type: item
35371 #: doc/guix.texi:15810
35372 #, no-wrap
35373 msgid "@code{socket} (default: @code{(string-append \"/var/run/php\" (version-major (package-version php)) \"-fpm.sock\")})"
35374 msgstr ""
35375
35376 #. type: table
35377 #: doc/guix.texi:15812
35378 msgid "The address on which to accept FastCGI requests. Valid syntaxes are:"
35379 msgstr ""
35380
35381 #. type: code{#1}
35382 #: doc/guix.texi:15813
35383 #, no-wrap
35384 msgid "\"ip.add.re.ss:port\""
35385 msgstr ""
35386
35387 #. type: table
35388 #: doc/guix.texi:15815
35389 msgid "Listen on a TCP socket to a specific address on a specific port."
35390 msgstr ""
35391
35392 #. type: code{#1}
35393 #: doc/guix.texi:15815
35394 #, no-wrap
35395 msgid "\"port\""
35396 msgstr ""
35397
35398 #. type: table
35399 #: doc/guix.texi:15817
35400 msgid "Listen on a TCP socket to all addresses on a specific port."
35401 msgstr ""
35402
35403 #. type: code{#1}
35404 #: doc/guix.texi:15817
35405 #, no-wrap
35406 msgid "\"/path/to/unix/socket\""
35407 msgstr ""
35408
35409 #. type: table
35410 #: doc/guix.texi:15819
35411 msgid "Listen on a unix socket."
35412 msgstr ""
35413
35414 #. type: item
35415 #: doc/guix.texi:15821
35416 #, no-wrap
35417 msgid "@code{user} (default: @code{php-fpm})"
35418 msgstr ""
35419
35420 #. type: table
35421 #: doc/guix.texi:15823
35422 msgid "User who will own the php worker processes."
35423 msgstr ""
35424
35425 #. type: item
35426 #: doc/guix.texi:15823
35427 #, no-wrap
35428 msgid "@code{group} (default: @code{php-fpm})"
35429 msgstr ""
35430
35431 #. type: table
35432 #: doc/guix.texi:15825
35433 msgid "Group of the worker processes."
35434 msgstr ""
35435
35436 #. type: item
35437 #: doc/guix.texi:15825
35438 #, no-wrap
35439 msgid "@code{socket-user} (default: @code{php-fpm})"
35440 msgstr ""
35441
35442 #. type: table
35443 #: doc/guix.texi:15827
35444 msgid "User who can speak to the php-fpm socket."
35445 msgstr ""
35446
35447 #. type: item
35448 #: doc/guix.texi:15827
35449 #, no-wrap
35450 msgid "@code{socket-group} (default: @code{php-fpm})"
35451 msgstr ""
35452
35453 #. type: table
35454 #: doc/guix.texi:15829
35455 msgid "Group that can speak to the php-fpm socket."
35456 msgstr ""
35457
35458 #. type: item
35459 #: doc/guix.texi:15829
35460 #, no-wrap
35461 msgid "@code{pid-file} (default: @code{(string-append \"/var/run/php\" (version-major (package-version php)) \"-fpm.pid\")})"
35462 msgstr ""
35463
35464 #. type: table
35465 #: doc/guix.texi:15832
35466 msgid ""
35467 "The process id of the php-fpm process is written to this file once the "
35468 "service has started."
35469 msgstr ""
35470
35471 #. type: item
35472 #: doc/guix.texi:15832
35473 #, no-wrap
35474 msgid "@code{log-file} (default: @code{(string-append \"/var/log/php\" (version-major (package-version php)) \"-fpm.log\")})"
35475 msgstr ""
35476
35477 #. type: table
35478 #: doc/guix.texi:15834
35479 msgid "Log for the php-fpm master process."
35480 msgstr ""
35481
35482 #. type: item
35483 #: doc/guix.texi:15834
35484 #, no-wrap
35485 msgid "@code{process-manager} (default: @code{(php-fpm-dynamic-process-manager-configuration)})"
35486 msgstr ""
35487
35488 #. type: table
35489 #: doc/guix.texi:15837
35490 msgid "Detailed settings for the php-fpm process manager. Must be either:"
35491 msgstr ""
35492
35493 #. type: code{#1}
35494 #: doc/guix.texi:15838
35495 #, no-wrap
35496 msgid "<php-fpm-dynamic-process-manager-configuration>"
35497 msgstr ""
35498
35499 #. type: code{#1}
35500 #: doc/guix.texi:15839
35501 #, no-wrap
35502 msgid "<php-fpm-static-process-manager-configuration>"
35503 msgstr ""
35504
35505 #. type: code{#1}
35506 #: doc/guix.texi:15840
35507 #, no-wrap
35508 msgid "<php-fpm-on-demand-process-manager-configuration>"
35509 msgstr ""
35510
35511 #. type: item
35512 #: doc/guix.texi:15842
35513 #, no-wrap
35514 msgid "@code{display-errors} (default @code{#f})"
35515 msgstr ""
35516
35517 #. type: table
35518 #: doc/guix.texi:15847
35519 msgid ""
35520 "Determines whether php errors and warning should be sent to clients and "
35521 "displayed in their browsers. This is useful for local php development, but "
35522 "a security risk for public sites, as error messages can reveal passwords and "
35523 "personal data."
35524 msgstr ""
35525
35526 #. type: item
35527 #: doc/guix.texi:15847
35528 #, no-wrap
35529 msgid "@code{workers-logfile} (default @code{(string-append \"/var/log/php\" (version-major (package-version php)) \"-fpm.www.log\")})"
35530 msgstr ""
35531
35532 #. type: table
35533 #: doc/guix.texi:15850
35534 msgid ""
35535 "This file will log the @code{stderr} outputs of php worker processes. Can "
35536 "be set to @code{#f} to disable logging."
35537 msgstr ""
35538
35539 #. type: item
35540 #: doc/guix.texi:15850
35541 #, no-wrap
35542 msgid "@code{file} (default @code{#f})"
35543 msgstr ""
35544
35545 #. type: table
35546 #: doc/guix.texi:15853
35547 msgid ""
35548 "An optional override of the whole configuration. You can use the "
35549 "@code{mixed-text-file} function or an absolute filepath for it."
35550 msgstr ""
35551
35552 #. type: deftp
35553 #: doc/guix.texi:15856
35554 #, no-wrap
35555 msgid "{Data type} php-fpm-dynamic-process-manager-configuration"
35556 msgstr ""
35557
35558 #. type: deftp
35559 #: doc/guix.texi:15860
35560 msgid ""
35561 "Data Type for the @code{dynamic} php-fpm process manager. With the "
35562 "@code{dynamic} process manager, spare worker processes are kept around based "
35563 "on it's configured limits."
35564 msgstr ""
35565
35566 #. type: item
35567 #: doc/guix.texi:15861 doc/guix.texi:15877 doc/guix.texi:15887
35568 #, no-wrap
35569 msgid "@code{max-children} (default: @code{5})"
35570 msgstr ""
35571
35572 #. type: table
35573 #: doc/guix.texi:15863 doc/guix.texi:15879 doc/guix.texi:15889
35574 msgid "Maximum of worker processes."
35575 msgstr ""
35576
35577 #. type: item
35578 #: doc/guix.texi:15863
35579 #, no-wrap
35580 msgid "@code{start-servers} (default: @code{2})"
35581 msgstr ""
35582
35583 #. type: table
35584 #: doc/guix.texi:15865
35585 msgid "How many worker processes should be started on start-up."
35586 msgstr ""
35587
35588 #. type: item
35589 #: doc/guix.texi:15865
35590 #, no-wrap
35591 msgid "@code{min-spare-servers} (default: @code{1})"
35592 msgstr ""
35593
35594 #. type: table
35595 #: doc/guix.texi:15867
35596 msgid "How many spare worker processes should be kept around at minimum."
35597 msgstr ""
35598
35599 #. type: item
35600 #: doc/guix.texi:15867
35601 #, no-wrap
35602 msgid "@code{max-spare-servers} (default: @code{3})"
35603 msgstr ""
35604
35605 #. type: table
35606 #: doc/guix.texi:15869
35607 msgid "How many spare worker processes should be kept around at maximum."
35608 msgstr ""
35609
35610 #. type: deftp
35611 #: doc/guix.texi:15872
35612 #, no-wrap
35613 msgid "{Data type} php-fpm-static-process-manager-configuration"
35614 msgstr ""
35615
35616 #. type: deftp
35617 #: doc/guix.texi:15876
35618 msgid ""
35619 "Data Type for the @code{static} php-fpm process manager. With the "
35620 "@code{static} process manager, an unchanging number of worker processes are "
35621 "created."
35622 msgstr ""
35623
35624 #. type: deftp
35625 #: doc/guix.texi:15882
35626 #, no-wrap
35627 msgid "{Data type} php-fpm-on-demand-process-manager-configuration"
35628 msgstr ""
35629
35630 #. type: deftp
35631 #: doc/guix.texi:15886
35632 msgid ""
35633 "Data Type for the @code{on-demand} php-fpm process manager. With the "
35634 "@code{on-demand} process manager, worker processes are only created as "
35635 "requests arrive."
35636 msgstr ""
35637
35638 #. type: item
35639 #: doc/guix.texi:15889
35640 #, no-wrap
35641 msgid "@code{process-idle-timeout} (default: @code{10})"
35642 msgstr ""
35643
35644 #. type: table
35645 #: doc/guix.texi:15891
35646 msgid "The time in seconds after which a process with no requests is killed."
35647 msgstr ""
35648
35649 #. type: deffn
35650 #: doc/guix.texi:15895
35651 #, no-wrap
35652 msgid "{Scheme Procedure} nginx-php-fpm-location @"
35653 msgstr ""
35654
35655 #. type: deffn
35656 #: doc/guix.texi:15901
35657 msgid ""
35658 "[#:nginx-package nginx] @ [socket (string-append \"/var/run/php\" @ (version-"
35659 "major (package-version php)) @ \"-fpm.sock\")] A helper function to quickly "
35660 "add php to an @code{nginx-server-configuration}."
35661 msgstr ""
35662
35663 #. type: Plain text
35664 #: doc/guix.texi:15904
35665 msgid "A simple services setup for nginx with php can look like this:"
35666 msgstr ""
35667
35668 #. type: example
35669 #: doc/guix.texi:15917
35670 #, no-wrap
35671 msgid ""
35672 "(services (cons* (dhcp-client-service)\n"
35673 " (service php-fpm-service-type)\n"
35674 " (service nginx-service-type\n"
35675 " (nginx-server-configuration\n"
35676 " (server-name '(\"example.com\"))\n"
35677 " (root \"/srv/http/\")\n"
35678 " (locations\n"
35679 " (list (nginx-php-location)))\n"
35680 " (https-port #f)\n"
35681 " (ssl-certificate #f)\n"
35682 " (ssl-certificate-key #f)))\n"
35683 " %base-services))\n"
35684 msgstr ""
35685
35686 #. type: cindex
35687 #: doc/guix.texi:15919
35688 #, no-wrap
35689 msgid "cat-avatar-generator"
35690 msgstr ""
35691
35692 #. type: Plain text
35693 #: doc/guix.texi:15923
35694 msgid ""
35695 "The cat avatar generator is a simple service to demonstrate the use of php-"
35696 "fpm in @code{Nginx}. It is used to generate cat avatar from a seed, for "
35697 "instance the hash of a user's email address."
35698 msgstr ""
35699
35700 #. type: deffn
35701 #: doc/guix.texi:15924
35702 #, no-wrap
35703 msgid "{Scheme Procedure} cat-avatar-generator-serice @"
35704 msgstr ""
35705
35706 #. type: deffn
35707 #: doc/guix.texi:15932
35708 msgid ""
35709 "[#:cache-dir \"/var/cache/cat-avatar-generator\"] @ [#:package cat-avatar-"
35710 "generator] @ [#:configuration (nginx-server-configuration)] Returns an nginx-"
35711 "server-configuration that inherits @code{configuration}. It extends the "
35712 "nginx configuration to add a server block that serves @code{package}, a "
35713 "version of cat-avatar-generator. During execution, cat-avatar-generator "
35714 "will be able to use @code{cache-dir} as its cache directory."
35715 msgstr ""
35716
35717 #. type: Plain text
35718 #: doc/guix.texi:15935
35719 msgid "A simple setup for cat-avatar-generator can look like this:"
35720 msgstr ""
35721
35722 #. type: example
35723 #: doc/guix.texi:15942
35724 #, no-wrap
35725 msgid ""
35726 "(services (cons* (cat-avatar-generator-service\n"
35727 " #:configuration\n"
35728 " (nginx-server-configuration\n"
35729 " (server-name '(\"example.com\"))))\n"
35730 " ...\n"
35731 " %base-services))\n"
35732 msgstr ""
35733
35734 #. type: cindex
35735 #: doc/guix.texi:15947
35736 #, no-wrap
35737 msgid "Web"
35738 msgstr ""
35739
35740 #. type: cindex
35741 #: doc/guix.texi:15948
35742 #, no-wrap
35743 msgid "HTTP, HTTPS"
35744 msgstr ""
35745
35746 #. type: cindex
35747 #: doc/guix.texi:15949
35748 #, no-wrap
35749 msgid "Let's Encrypt"
35750 msgstr ""
35751
35752 #. type: cindex
35753 #: doc/guix.texi:15950
35754 #, no-wrap
35755 msgid "TLS certificates"
35756 msgstr ""
35757
35758 #. type: Plain text
35759 #: doc/guix.texi:15957
35760 msgid ""
35761 "The @code{(gnu services certbot)} module provides a service to automatically "
35762 "obtain a valid TLS certificate from the Let's Encrypt certificate "
35763 "authority. These certificates can then be used to serve content securely "
35764 "over HTTPS or other TLS-based protocols, with the knowledge that the client "
35765 "will be able to verify the server's authenticity."
35766 msgstr ""
35767
35768 #. type: Plain text
35769 #: doc/guix.texi:15969
35770 msgid ""
35771 "@url{https://letsencrypt.org/, Let's Encrypt} provides the @code{certbot} "
35772 "tool to automate the certification process. This tool first securely "
35773 "generates a key on the server. It then makes a request to the Let's Encrypt "
35774 "certificate authority (CA) to sign the key. The CA checks that the request "
35775 "originates from the host in question by using a challenge-response protocol, "
35776 "requiring the server to provide its response over HTTP. If that protocol "
35777 "completes successfully, the CA signs the key, resulting in a certificate. "
35778 "That certificate is valid for a limited period of time, and therefore to "
35779 "continue to provide TLS services, the server needs to periodically ask the "
35780 "CA to renew its signature."
35781 msgstr ""
35782
35783 #. type: Plain text
35784 #: doc/guix.texi:15976
35785 msgid ""
35786 "The certbot service automates this process: the initial key generation, the "
35787 "initial certification request to the Let's Encrypt service, the web server "
35788 "challenge/response integration, writing the certificate to disk, the "
35789 "automated periodic renewals, and the deployment tasks associated with the "
35790 "renewal (e.g. reloading services, copying keys with different permissions)."
35791 msgstr ""
35792
35793 #. type: Plain text
35794 #: doc/guix.texi:15982
35795 msgid ""
35796 "Certbot is run twice a day, at a random minute within the hour. It won't do "
35797 "anything until your certificates are due for renewal or revoked, but running "
35798 "it regularly would give your service a chance of staying online in case a "
35799 "Let's Encrypt-initiated revocation happened for some reason."
35800 msgstr ""
35801
35802 #. type: Plain text
35803 #: doc/guix.texi:15986
35804 msgid ""
35805 "By using this service, you agree to the ACME Subscriber Agreement, which can "
35806 "be found there: @url{https://acme-v01.api.letsencrypt.org/directory}."
35807 msgstr ""
35808
35809 #. type: defvr
35810 #: doc/guix.texi:15987
35811 #, no-wrap
35812 msgid "{Scheme Variable} certbot-service-type"
35813 msgstr ""
35814
35815 #. type: defvr
35816 #: doc/guix.texi:15990
35817 msgid ""
35818 "A service type for the @code{certbot} Let's Encrypt client. Its value must "
35819 "be a @code{certbot-configuration} record as in this example:"
35820 msgstr ""
35821
35822 #. type: example
35823 #: doc/guix.texi:15997
35824 #, no-wrap
35825 msgid ""
35826 "(define %nginx-deploy-hook\n"
35827 " (program-file\n"
35828 " \"nginx-deploy-hook\"\n"
35829 " #~(let ((pid (call-with-input-file \"/var/run/nginx/pid\" read)))\n"
35830 " (kill pid SIGHUP))))\n"
35831 "\n"
35832 msgstr ""
35833
35834 #. type: example
35835 #: doc/guix.texi:16008
35836 #, no-wrap
35837 msgid ""
35838 "(service certbot-service-type\n"
35839 " (certbot-configuration\n"
35840 " (email \"foo@@example.net\")\n"
35841 " (certificates\n"
35842 " (list\n"
35843 " (certificate-configuration\n"
35844 " (domains '(\"example.net\" \"www.example.net\"))\n"
35845 " (deploy-hook %nginx-deploy-hook))\n"
35846 " (certificate-configuration\n"
35847 " (domains '(\"bar.example.net\")))))))\n"
35848 msgstr ""
35849
35850 #. type: defvr
35851 #: doc/guix.texi:16011
35852 msgid "See below for details about @code{certbot-configuration}."
35853 msgstr ""
35854
35855 #. type: deftp
35856 #: doc/guix.texi:16013
35857 #, no-wrap
35858 msgid "{Data Type} certbot-configuration"
35859 msgstr ""
35860
35861 #. type: deftp
35862 #: doc/guix.texi:16016
35863 msgid ""
35864 "Data type representing the configuration of the @code{certbot} service. "
35865 "This type has the following parameters:"
35866 msgstr ""
35867
35868 #. type: item
35869 #: doc/guix.texi:16018
35870 #, no-wrap
35871 msgid "@code{package} (default: @code{certbot})"
35872 msgstr ""
35873
35874 #. type: table
35875 #: doc/guix.texi:16020
35876 msgid "The certbot package to use."
35877 msgstr ""
35878
35879 #. type: item
35880 #: doc/guix.texi:16021
35881 #, no-wrap
35882 msgid "@code{webroot} (default: @code{/var/www})"
35883 msgstr ""
35884
35885 #. type: table
35886 #: doc/guix.texi:16024
35887 msgid ""
35888 "The directory from which to serve the Let's Encrypt challenge/response files."
35889 msgstr ""
35890
35891 #. type: item
35892 #: doc/guix.texi:16025
35893 #, no-wrap
35894 msgid "@code{certificates} (default: @code{()})"
35895 msgstr ""
35896
35897 #. type: table
35898 #: doc/guix.texi:16029
35899 msgid ""
35900 "A list of @code{certificates-configuration}s for which to generate "
35901 "certificates and request signatures. Each certificate has a @code{name} and "
35902 "several @code{domains}."
35903 msgstr ""
35904
35905 #. type: table
35906 #: doc/guix.texi:16033
35907 msgid ""
35908 "Mandatory email used for registration, recovery contact, and important "
35909 "account notifications."
35910 msgstr ""
35911
35912 #. type: item
35913 #: doc/guix.texi:16034
35914 #, no-wrap
35915 msgid "@code{rsa-key-size} (default: @code{2048})"
35916 msgstr ""
35917
35918 #. type: table
35919 #: doc/guix.texi:16036
35920 msgid "Size of the RSA key."
35921 msgstr ""
35922
35923 #. type: item
35924 #: doc/guix.texi:16037
35925 #, no-wrap
35926 msgid "@code{default-location} (default: @i{see below})"
35927 msgstr ""
35928
35929 #. type: table
35930 #: doc/guix.texi:16046
35931 msgid ""
35932 "The default @code{nginx-location-configuration}. Because @code{certbot} "
35933 "needs to be able to serve challenges and responses, it needs to be able to "
35934 "run a web server. It does so by extending the @code{nginx} web service with "
35935 "an @code{nginx-server-configuration} listening on the @var{domains} on port "
35936 "80, and which has a @code{nginx-location-configuration} for the @code{/.well-"
35937 "known/} URI path subspace used by Let's Encrypt. @xref{Web Services}, for "
35938 "more on these nginx configuration data types."
35939 msgstr ""
35940
35941 #. type: table
35942 #: doc/guix.texi:16050
35943 msgid ""
35944 "Requests to other URL paths will be matched by the @code{default-location}, "
35945 "which if present is added to all @code{nginx-server-configuration}s."
35946 msgstr ""
35947
35948 #. type: table
35949 #: doc/guix.texi:16054
35950 msgid ""
35951 "By default, the @code{default-location} will issue a redirect from "
35952 "@code{http://@var{domain}/...} to @code{https://@var{domain}/...}, leaving "
35953 "you to define what to serve on your site via @code{https}."
35954 msgstr ""
35955
35956 #. type: table
35957 #: doc/guix.texi:16056
35958 msgid "Pass @code{#f} to not issue a default location."
35959 msgstr ""
35960
35961 #. type: deftp
35962 #: doc/guix.texi:16059
35963 #, no-wrap
35964 msgid "{Data Type} certificate-configuration"
35965 msgstr ""
35966
35967 #. type: deftp
35968 #: doc/guix.texi:16062
35969 msgid ""
35970 "Data type representing the configuration of a certificate. This type has "
35971 "the following parameters:"
35972 msgstr ""
35973
35974 #. type: item
35975 #: doc/guix.texi:16064
35976 #, no-wrap
35977 msgid "@code{name} (default: @i{see below})"
35978 msgstr ""
35979
35980 #. type: table
35981 #: doc/guix.texi:16068
35982 msgid ""
35983 "This name is used by Certbot for housekeeping and in file paths; it doesn't "
35984 "affect the content of the certificate itself. To see certificate names, run "
35985 "@code{certbot certificates}."
35986 msgstr ""
35987
35988 #. type: table
35989 #: doc/guix.texi:16070
35990 msgid "Its default is the first provided domain."
35991 msgstr ""
35992
35993 #. type: item
35994 #: doc/guix.texi:16071
35995 #, no-wrap
35996 msgid "@code{domains} (default: @code{()})"
35997 msgstr ""
35998
35999 #. type: table
36000 #: doc/guix.texi:16074
36001 msgid ""
36002 "The first domain provided will be the subject CN of the certificate, and all "
36003 "domains will be Subject Alternative Names on the certificate."
36004 msgstr ""
36005
36006 #. type: item
36007 #: doc/guix.texi:16075
36008 #, no-wrap
36009 msgid "@code{deploy-hook} (default: @code{#f})"
36010 msgstr ""
36011
36012 #. type: table
36013 #: doc/guix.texi:16083
36014 msgid ""
36015 "Command to be run in a shell once for each successfully issued certificate. "
36016 "For this command, the shell variable @code{$RENEWED_LINEAGE} will point to "
36017 "the config live subdirectory (for example, @samp{\"/etc/letsencrypt/live/"
36018 "example.com\"}) containing the new certificates and keys; the shell variable "
36019 "@code{$RENEWED_DOMAINS} will contain a space-delimited list of renewed "
36020 "certificate domains (for example, @samp{\"example.com www.example.com\"}."
36021 msgstr ""
36022
36023 #. type: Plain text
36024 #: doc/guix.texi:16090
36025 msgid ""
36026 "For each @code{certificate-configuration}, the certificate is saved to "
36027 "@code{/etc/letsencrypt/live/@var{name}/fullchain.pem} and the key is saved "
36028 "to @code{/etc/letsencrypt/live/@var{name}/privkey.pem}."
36029 msgstr ""
36030
36031 #. type: cindex
36032 #: doc/guix.texi:16092
36033 #, no-wrap
36034 msgid "DNS (domain name system)"
36035 msgstr ""
36036
36037 #. type: cindex
36038 #: doc/guix.texi:16093
36039 #, no-wrap
36040 msgid "domain name system (DNS)"
36041 msgstr ""
36042
36043 #. type: Plain text
36044 #: doc/guix.texi:16099
36045 msgid ""
36046 "The @code{(gnu services dns)} module provides services related to the "
36047 "@dfn{domain name system} (DNS). It provides a server service for hosting an "
36048 "@emph{authoritative} DNS server for multiple zones, slave or master. This "
36049 "service uses @uref{https://www.knot-dns.cz/, Knot DNS}."
36050 msgstr ""
36051
36052 #. type: Plain text
36053 #: doc/guix.texi:16102
36054 msgid ""
36055 "An example configuration of an authoritative server for two zones, one "
36056 "master and one slave, is:"
36057 msgstr ""
36058
36059 #. type: lisp
36060 #: doc/guix.texi:16109
36061 #, no-wrap
36062 msgid ""
36063 "(define-zone-entries example.org.zone\n"
36064 ";; Name TTL Class Type Data\n"
36065 " (\"@@\" \"\" \"IN\" \"A\" \"127.0.0.1\")\n"
36066 " (\"@@\" \"\" \"IN\" \"NS\" \"ns\")\n"
36067 " (\"ns\" \"\" \"IN\" \"A\" \"127.0.0.1\"))\n"
36068 "\n"
36069 msgstr ""
36070
36071 #. type: lisp
36072 #: doc/guix.texi:16116
36073 #, no-wrap
36074 msgid ""
36075 "(define master-zone\n"
36076 " (knot-zone-configuration\n"
36077 " (domain \"example.org\")\n"
36078 " (zone (zone-file\n"
36079 " (origin \"example.org\")\n"
36080 " (entries example.org.zone)))))\n"
36081 "\n"
36082 msgstr ""
36083
36084 #. type: lisp
36085 #: doc/guix.texi:16122
36086 #, no-wrap
36087 msgid ""
36088 "(define slave-zone\n"
36089 " (knot-zone-configuration\n"
36090 " (domain \"plop.org\")\n"
36091 " (dnssec-policy \"default\")\n"
36092 " (master (list \"plop-master\"))))\n"
36093 "\n"
36094 msgstr ""
36095
36096 #. type: lisp
36097 #: doc/guix.texi:16127
36098 #, no-wrap
36099 msgid ""
36100 "(define plop-master\n"
36101 " (knot-remote-configuration\n"
36102 " (id \"plop-master\")\n"
36103 " (address (list \"208.76.58.171\"))))\n"
36104 "\n"
36105 msgstr ""
36106
36107 #. type: lisp
36108 #: doc/guix.texi:16136
36109 #, no-wrap
36110 msgid ""
36111 "(operating-system\n"
36112 " ;; ...\n"
36113 " (services (cons* (service knot-service-type\n"
36114 " (knot-configuration\n"
36115 " (remotes (list plop-master))\n"
36116 " (zones (list master-zone slave-zone))))\n"
36117 " ;; ...\n"
36118 " %base-services)))\n"
36119 msgstr ""
36120
36121 #. type: deffn
36122 #: doc/guix.texi:16138
36123 #, no-wrap
36124 msgid "{Scheme Variable} knot-service-type"
36125 msgstr ""
36126
36127 #. type: deffn
36128 #: doc/guix.texi:16140
36129 msgid "This is the type for the Knot DNS server."
36130 msgstr ""
36131
36132 #. type: deffn
36133 #: doc/guix.texi:16148
36134 msgid ""
36135 "Knot DNS is an authoritative DNS server, meaning that it can serve multiple "
36136 "zones, that is to say domain names you would buy from a registrar. This "
36137 "server is not a resolver, meaning that it can only resolve names for which "
36138 "it is authoritative. This server can be configured to serve zones as a "
36139 "master server or a slave server as a per-zone basis. Slave zones will get "
36140 "their data from masters, and will serve it as an authoritative server. From "
36141 "the point of view of a resolver, there is no difference between master and "
36142 "slave."
36143 msgstr ""
36144
36145 #. type: deffn
36146 #: doc/guix.texi:16150
36147 msgid "The following data types are used to configure the Knot DNS server:"
36148 msgstr ""
36149
36150 #. type: deftp
36151 #: doc/guix.texi:16152
36152 #, no-wrap
36153 msgid "{Data Type} knot-key-configuration"
36154 msgstr ""
36155
36156 #. type: deftp
36157 #: doc/guix.texi:16155
36158 msgid "Data type representing a key. This type has the following parameters:"
36159 msgstr ""
36160
36161 #. type: item
36162 #: doc/guix.texi:16157 doc/guix.texi:16177 doc/guix.texi:16292
36163 #: doc/guix.texi:16318 doc/guix.texi:16353
36164 #, no-wrap
36165 msgid "@code{id} (default: @code{\"\"})"
36166 msgstr ""
36167
36168 #. type: table
36169 #: doc/guix.texi:16160
36170 msgid ""
36171 "An identifier for other configuration fields to refer to this key. IDs must "
36172 "be unique and must not be empty."
36173 msgstr ""
36174
36175 #. type: item
36176 #: doc/guix.texi:16161
36177 #, no-wrap
36178 msgid "@code{algorithm} (default: @code{#f})"
36179 msgstr ""
36180
36181 #. type: table
36182 #: doc/guix.texi:16165
36183 msgid ""
36184 "The algorithm to use. Choose between @code{#f}, @code{'hmac-md5}, "
36185 "@code{'hmac-sha1}, @code{'hmac-sha224}, @code{'hmac-sha256}, @code{'hmac-"
36186 "sha384} and @code{'hmac-sha512}."
36187 msgstr ""
36188
36189 #. type: item
36190 #: doc/guix.texi:16166
36191 #, no-wrap
36192 msgid "@code{secret} (default: @code{\"\"})"
36193 msgstr ""
36194
36195 #. type: table
36196 #: doc/guix.texi:16168
36197 msgid "The secret key itself."
36198 msgstr ""
36199
36200 #. type: deftp
36201 #: doc/guix.texi:16172
36202 #, no-wrap
36203 msgid "{Data Type} knot-acl-configuration"
36204 msgstr ""
36205
36206 #. type: deftp
36207 #: doc/guix.texi:16175
36208 msgid ""
36209 "Data type representing an Access Control List (ACL) configuration. This "
36210 "type has the following parameters:"
36211 msgstr ""
36212
36213 #. type: table
36214 #: doc/guix.texi:16180
36215 msgid ""
36216 "An identifier for ether configuration fields to refer to this key. IDs must "
36217 "be unique and must not be empty."
36218 msgstr ""
36219
36220 #. type: item
36221 #: doc/guix.texi:16181 doc/guix.texi:16296
36222 #, no-wrap
36223 msgid "@code{address} (default: @code{'()})"
36224 msgstr ""
36225
36226 #. type: table
36227 #: doc/guix.texi:16185
36228 msgid ""
36229 "An ordered list of IP addresses, network subnets, or network ranges "
36230 "represented with strings. The query must match one of them. Empty value "
36231 "means that address match is not required."
36232 msgstr ""
36233
36234 #. type: item
36235 #: doc/guix.texi:16186
36236 #, no-wrap
36237 msgid "@code{key} (default: @code{'()})"
36238 msgstr ""
36239
36240 #. type: table
36241 #: doc/guix.texi:16190
36242 msgid ""
36243 "An ordered list of references to keys represented with strings. The string "
36244 "must match a key ID defined in a @code{knot-key-configuration}. No key "
36245 "means that a key is not require to match that ACL."
36246 msgstr ""
36247
36248 #. type: item
36249 #: doc/guix.texi:16191
36250 #, no-wrap
36251 msgid "@code{action} (default: @code{'()})"
36252 msgstr ""
36253
36254 #. type: table
36255 #: doc/guix.texi:16195
36256 msgid ""
36257 "An ordered list of actions that are permitted or forbidden by this ACL. "
36258 "Possible values are lists of zero or more elements from @code{'transfer}, "
36259 "@code{'notify} and @code{'update}."
36260 msgstr ""
36261
36262 #. type: item
36263 #: doc/guix.texi:16196
36264 #, no-wrap
36265 msgid "@code{deny?} (default: @code{#f})"
36266 msgstr ""
36267
36268 #. type: table
36269 #: doc/guix.texi:16199
36270 msgid ""
36271 "When true, the ACL defines restrictions. Listed actions are forbidden. "
36272 "When false, listed actions are allowed."
36273 msgstr ""
36274
36275 #. type: deftp
36276 #: doc/guix.texi:16203
36277 #, no-wrap
36278 msgid "{Data Type} zone-entry"
36279 msgstr ""
36280
36281 #. type: deftp
36282 #: doc/guix.texi:16206
36283 msgid ""
36284 "Data type represnting a record entry in a zone file. This type has the "
36285 "following parameters:"
36286 msgstr ""
36287
36288 #. type: item
36289 #: doc/guix.texi:16208
36290 #, no-wrap
36291 msgid "@code{name} (default: @code{\"@@\"})"
36292 msgstr ""
36293
36294 #. type: table
36295 #: doc/guix.texi:16214
36296 msgid ""
36297 "The name of the record. @code{\"@@\"} refers to the origin of the zone. "
36298 "Names are relative to the origin of the zone. For example, in the "
36299 "@code{example.org} zone, @code{\"ns.example.org\"} actually refers to "
36300 "@code{ns.example.org.example.org}. Names ending with a dot are absolute, "
36301 "which means that @code{\"ns.example.org.\"} refers to @code{ns.example.org}."
36302 msgstr ""
36303
36304 #. type: item
36305 #: doc/guix.texi:16215
36306 #, no-wrap
36307 msgid "@code{ttl} (default: @code{\"\"})"
36308 msgstr ""
36309
36310 #. type: table
36311 #: doc/guix.texi:16217
36312 msgid ""
36313 "The Time-To-Live (TTL) of this record. If not set, the default TTL is used."
36314 msgstr ""
36315
36316 #. type: item
36317 #: doc/guix.texi:16218
36318 #, no-wrap
36319 msgid "@code{class} (default: @code{\"IN\"})"
36320 msgstr ""
36321
36322 #. type: table
36323 #: doc/guix.texi:16221
36324 msgid ""
36325 "The class of the record. Knot currently supports only @code{\"IN\"} and "
36326 "partially @code{\"CH\"}."
36327 msgstr ""
36328
36329 #. type: item
36330 #: doc/guix.texi:16222
36331 #, no-wrap
36332 msgid "@code{type} (default: @code{\"A\"})"
36333 msgstr ""
36334
36335 #. type: table
36336 #: doc/guix.texi:16226
36337 msgid ""
36338 "The type of the record. Common types include A (IPv4 address), AAAA (IPv6 "
36339 "address), NS (Name Server) and MX (Mail eXchange). Many other types are "
36340 "defined."
36341 msgstr ""
36342
36343 #. type: item
36344 #: doc/guix.texi:16227
36345 #, no-wrap
36346 msgid "@code{data} (default: @code{\"\"})"
36347 msgstr ""
36348
36349 #. type: table
36350 #: doc/guix.texi:16231
36351 msgid ""
36352 "The data contained in the record. For instance an IP address associated "
36353 "with an A record, or a domain name associated with an NS record. Remember "
36354 "that domain names are relative to the origin unless they end with a dot."
36355 msgstr ""
36356
36357 #. type: deftp
36358 #: doc/guix.texi:16235
36359 #, no-wrap
36360 msgid "{Data Type} zone-file"
36361 msgstr ""
36362
36363 #. type: deftp
36364 #: doc/guix.texi:16238
36365 msgid ""
36366 "Data type representing the content of a zone file. This type has the "
36367 "following parameters:"
36368 msgstr ""
36369
36370 #. type: table
36371 #: doc/guix.texi:16247
36372 msgid ""
36373 "The list of entries. The SOA record is taken care of, so you don't need to "
36374 "put it in the list of entries. This list should probably contain an entry "
36375 "for your primary authoritative DNS server. Other than using a list of "
36376 "entries directly, you can use @code{define-zone-entries} to define a object "
36377 "containing the list of entries more easily, that you can later pass to the "
36378 "@code{entries} field of the @code{zone-file}."
36379 msgstr ""
36380
36381 #. type: item
36382 #: doc/guix.texi:16248
36383 #, no-wrap
36384 msgid "@code{origin} (default: @code{\"\"})"
36385 msgstr ""
36386
36387 #. type: table
36388 #: doc/guix.texi:16250
36389 msgid "The name of your zone. This parameter cannot be empty."
36390 msgstr ""
36391
36392 #. type: item
36393 #: doc/guix.texi:16251
36394 #, no-wrap
36395 msgid "@code{ns} (default: @code{\"ns\"})"
36396 msgstr ""
36397
36398 #. type: table
36399 #: doc/guix.texi:16256
36400 msgid ""
36401 "The domain of your primary authoritative DNS server. The name is relative "
36402 "to the origin, unless it ends with a dot. It is mandatory that this primary "
36403 "DNS server corresponds to an NS record in the zone and that it is associated "
36404 "to an IP address in the list of entries."
36405 msgstr ""
36406
36407 #. type: item
36408 #: doc/guix.texi:16257
36409 #, no-wrap
36410 msgid "@code{mail} (default: @code{\"hostmaster\"})"
36411 msgstr ""
36412
36413 #. type: table
36414 #: doc/guix.texi:16260
36415 msgid ""
36416 "An email address people can contact you at, as the owner of the zone. This "
36417 "is translated as @code{<mail>@@<origin>}."
36418 msgstr ""
36419
36420 #. type: item
36421 #: doc/guix.texi:16261
36422 #, no-wrap
36423 msgid "@code{serial} (default: @code{1})"
36424 msgstr ""
36425
36426 #. type: table
36427 #: doc/guix.texi:16265
36428 msgid ""
36429 "The serial number of the zone. As this is used to keep track of changes by "
36430 "both slaves and resolvers, it is mandatory that it @emph{never} decreases. "
36431 "Always increment it when you make a change in your zone."
36432 msgstr ""
36433
36434 #. type: item
36435 #: doc/guix.texi:16266
36436 #, no-wrap
36437 msgid "@code{refresh} (default: @code{(* 2 24 3600)})"
36438 msgstr ""
36439
36440 #. type: table
36441 #: doc/guix.texi:16270
36442 msgid ""
36443 "The frequency at which slaves will do a zone transfer. This value is a "
36444 "number of seconds. It can be computed by multiplications or with "
36445 "@code{(string->duration)}."
36446 msgstr ""
36447
36448 #. type: item
36449 #: doc/guix.texi:16271
36450 #, no-wrap
36451 msgid "@code{retry} (default: @code{(* 15 60)})"
36452 msgstr ""
36453
36454 #. type: table
36455 #: doc/guix.texi:16274
36456 msgid ""
36457 "The period after which a slave will retry to contact its master when it "
36458 "fails to do so a first time."
36459 msgstr ""
36460
36461 #. type: item
36462 #: doc/guix.texi:16275
36463 #, no-wrap
36464 msgid "@code{expiry} (default: @code{(* 14 24 3600)})"
36465 msgstr ""
36466
36467 #. type: table
36468 #: doc/guix.texi:16279
36469 msgid ""
36470 "Default TTL of records. Existing records are considered correct for at most "
36471 "this amount of time. After this period, resolvers will invalidate their "
36472 "cache and check again that it still exists."
36473 msgstr ""
36474
36475 #. type: item
36476 #: doc/guix.texi:16280
36477 #, no-wrap
36478 msgid "@code{nx} (default: @code{3600})"
36479 msgstr ""
36480
36481 #. type: table
36482 #: doc/guix.texi:16283
36483 msgid ""
36484 "Default TTL of inexistant records. This delay is usually short because you "
36485 "want your new domains to reach everyone quickly."
36486 msgstr ""
36487
36488 #. type: deftp
36489 #: doc/guix.texi:16287
36490 #, no-wrap
36491 msgid "{Data Type} knot-remote-configuration"
36492 msgstr ""
36493
36494 #. type: deftp
36495 #: doc/guix.texi:16290
36496 msgid ""
36497 "Data type representing a remote configuration. This type has the following "
36498 "parameters:"
36499 msgstr ""
36500
36501 #. type: table
36502 #: doc/guix.texi:16295
36503 msgid ""
36504 "An identifier for other configuration fields to refer to this remote. IDs "
36505 "must be unique and must not be empty."
36506 msgstr ""
36507
36508 #. type: table
36509 #: doc/guix.texi:16300
36510 msgid ""
36511 "An ordered list of destination IP addresses. Addresses are tried in "
36512 "sequence. An optional port can be given with the @@ separator. For "
36513 "instance: @code{(list \"1.2.3.4\" \"2.3.4.5@@53\")}. Default port is 53."
36514 msgstr ""
36515
36516 #. type: item
36517 #: doc/guix.texi:16301
36518 #, no-wrap
36519 msgid "@code{via} (default: @code{'()})"
36520 msgstr ""
36521
36522 #. type: table
36523 #: doc/guix.texi:16305
36524 msgid ""
36525 "An ordered list of source IP addresses. An empty list will have Knot choose "
36526 "an appropriate source IP. An optional port can be given with the @@ "
36527 "separator. The default is to choose at random."
36528 msgstr ""
36529
36530 #. type: item
36531 #: doc/guix.texi:16306
36532 #, no-wrap
36533 msgid "@code{key} (default: @code{#f})"
36534 msgstr ""
36535
36536 #. type: table
36537 #: doc/guix.texi:16309
36538 msgid ""
36539 "A reference to a key, that is a string containing the identifier of a key "
36540 "defined in a @code{knot-key-configuration} field."
36541 msgstr ""
36542
36543 #. type: deftp
36544 #: doc/guix.texi:16313
36545 #, no-wrap
36546 msgid "{Data Type} knot-keystore-configuration"
36547 msgstr ""
36548
36549 #. type: deftp
36550 #: doc/guix.texi:16316
36551 msgid ""
36552 "Data type representing a keystore to hold dnssec keys. This type has the "
36553 "following parameters:"
36554 msgstr ""
36555
36556 #. type: table
36557 #: doc/guix.texi:16320
36558 msgid "The id of the keystore. It must not be empty."
36559 msgstr ""
36560
36561 #. type: item
36562 #: doc/guix.texi:16321
36563 #, no-wrap
36564 msgid "@code{backend} (default: @code{'pem})"
36565 msgstr ""
36566
36567 #. type: table
36568 #: doc/guix.texi:16323
36569 msgid ""
36570 "The backend to store the keys in. Can be @code{'pem} or @code{'pkcs11}."
36571 msgstr ""
36572
36573 #. type: item
36574 #: doc/guix.texi:16324
36575 #, no-wrap
36576 msgid "@code{config} (default: @code{\"/var/lib/knot/keys/keys\"})"
36577 msgstr ""
36578
36579 #. type: table
36580 #: doc/guix.texi:16328
36581 msgid ""
36582 "The configuration string of the backend. An example for the PKCS#11 is: "
36583 "@code{\"pkcs11:token=knot;pin-value=1234 /gnu/store/.../lib/pkcs11/"
36584 "libsofthsm2.so\"}. For the pem backend, the string reprensents a path in "
36585 "the file system."
36586 msgstr ""
36587
36588 #. type: deftp
36589 #: doc/guix.texi:16332
36590 #, no-wrap
36591 msgid "{Data Type} knot-policy-configuration"
36592 msgstr ""
36593
36594 #. type: deftp
36595 #: doc/guix.texi:16336
36596 msgid ""
36597 "Data type representing a dnssec policy. Knot DNS is able to automatically "
36598 "sign your zones. It can either generate and manage your keys automatically "
36599 "or use keys that you generate."
36600 msgstr ""
36601
36602 #. type: deftp
36603 #: doc/guix.texi:16343
36604 msgid ""
36605 "Dnssec is usually implemented using two keys: a Key Signing Key (KSK) that "
36606 "is used to sign the second, and a Zone Signing Key (ZSK) that is used to "
36607 "sign the zone. In order to be trusted, the KSK needs to be present in the "
36608 "parent zone (usually a top-level domain). If your registrar supports "
36609 "dnssec, you will have to send them your KSK's hash so they can add a DS "
36610 "record in their zone. This is not automated and need to be done each time "
36611 "you change your KSK."
36612 msgstr ""
36613
36614 #. type: deftp
36615 #: doc/guix.texi:16349
36616 msgid ""
36617 "The policy also defines the lifetime of keys. Usually, ZSK can be changed "
36618 "easily and use weaker cryptographic functions (they use lower parameters) in "
36619 "order to sign records quickly, so they are changed often. The KSK however "
36620 "requires manual interaction with the registrar, so they are changed less "
36621 "often and use stronger parameters because they sign only one record."
36622 msgstr ""
36623
36624 #. type: deftp
36625 #: doc/guix.texi:16351
36626 msgid "This type has the following parameters:"
36627 msgstr ""
36628
36629 #. type: table
36630 #: doc/guix.texi:16355
36631 msgid "The id of the policy. It must not be empty."
36632 msgstr ""
36633
36634 #. type: item
36635 #: doc/guix.texi:16356
36636 #, no-wrap
36637 msgid "@code{keystore} (default: @code{\"default\"})"
36638 msgstr ""
36639
36640 #. type: table
36641 #: doc/guix.texi:16361
36642 msgid ""
36643 "A reference to a keystore, that is a string containing the identifier of a "
36644 "keystore defined in a @code{knot-keystore-configuration} field. The "
36645 "@code{\"default\"} identifier means the default keystore (a kasp database "
36646 "that was setup by this service)."
36647 msgstr ""
36648
36649 #. type: item
36650 #: doc/guix.texi:16362
36651 #, no-wrap
36652 msgid "@code{manual?} (default: @code{#f})"
36653 msgstr ""
36654
36655 #. type: table
36656 #: doc/guix.texi:16364
36657 msgid "Whether the key management is manual or automatic."
36658 msgstr ""
36659
36660 #. type: item
36661 #: doc/guix.texi:16365
36662 #, no-wrap
36663 msgid "@code{single-type-signing?} (default: @code{#f})"
36664 msgstr ""
36665
36666 #. type: table
36667 #: doc/guix.texi:16367
36668 msgid "When @code{#t}, use the Single-Type Signing Scheme."
36669 msgstr ""
36670
36671 #. type: item
36672 #: doc/guix.texi:16368
36673 #, no-wrap
36674 msgid "@code{algorithm} (default: @code{\"ecdsap256sha256\"})"
36675 msgstr ""
36676
36677 #. type: table
36678 #: doc/guix.texi:16370
36679 msgid "An algorithm of signing keys and issued signatures."
36680 msgstr ""
36681
36682 #. type: item
36683 #: doc/guix.texi:16371
36684 #, no-wrap
36685 msgid "@code{ksk-size} (default: @code{256})"
36686 msgstr ""
36687
36688 #. type: table
36689 #: doc/guix.texi:16374
36690 msgid ""
36691 "The length of the KSK. Note that this value is correct for the default "
36692 "algorithm, but would be unsecure for other algorithms."
36693 msgstr ""
36694
36695 #. type: item
36696 #: doc/guix.texi:16375
36697 #, no-wrap
36698 msgid "@code{zsk-size} (default: @code{256})"
36699 msgstr ""
36700
36701 #. type: table
36702 #: doc/guix.texi:16378
36703 msgid ""
36704 "The length of the ZSK. Note that this value is correct for the default "
36705 "algorithm, but would be unsecure for other algorithms."
36706 msgstr ""
36707
36708 #. type: item
36709 #: doc/guix.texi:16379
36710 #, no-wrap
36711 msgid "@code{dnskey-ttl} (default: @code{'default})"
36712 msgstr ""
36713
36714 #. type: table
36715 #: doc/guix.texi:16382
36716 msgid ""
36717 "The TTL value for DNSKEY records added into zone apex. The special "
36718 "@code{'default} value means same as the zone SOA TTL."
36719 msgstr ""
36720
36721 #. type: item
36722 #: doc/guix.texi:16383
36723 #, no-wrap
36724 msgid "@code{zsk-lifetime} (default: @code{(* 30 24 3600)})"
36725 msgstr ""
36726
36727 #. type: table
36728 #: doc/guix.texi:16385
36729 msgid "The period between ZSK publication and the next rollover initiation."
36730 msgstr ""
36731
36732 #. type: item
36733 #: doc/guix.texi:16386
36734 #, no-wrap
36735 msgid "@code{propagation-delay} (default: @code{(* 24 3600)})"
36736 msgstr ""
36737
36738 #. type: table
36739 #: doc/guix.texi:16389
36740 msgid ""
36741 "An extra delay added for each key rollover step. This value should be high "
36742 "enough to cover propagation of data from the master server to all slaves."
36743 msgstr ""
36744
36745 #. type: item
36746 #: doc/guix.texi:16390
36747 #, no-wrap
36748 msgid "@code{rrsig-lifetime} (default: @code{(* 14 24 3600)})"
36749 msgstr ""
36750
36751 #. type: table
36752 #: doc/guix.texi:16392
36753 msgid "A validity period of newly issued signatures."
36754 msgstr ""
36755
36756 #. type: item
36757 #: doc/guix.texi:16393
36758 #, no-wrap
36759 msgid "@code{rrsig-refresh} (default: @code{(* 7 24 3600)})"
36760 msgstr ""
36761
36762 #. type: table
36763 #: doc/guix.texi:16395
36764 msgid ""
36765 "A period how long before a signature expiration the signature will be "
36766 "refreshed."
36767 msgstr ""
36768
36769 #. type: item
36770 #: doc/guix.texi:16396
36771 #, no-wrap
36772 msgid "@code{nsec3?} (default: @code{#f})"
36773 msgstr ""
36774
36775 #. type: table
36776 #: doc/guix.texi:16398
36777 msgid "When @code{#t}, NSEC3 will be used instead of NSEC."
36778 msgstr ""
36779
36780 #. type: item
36781 #: doc/guix.texi:16399
36782 #, no-wrap
36783 msgid "@code{nsec3-iterations} (default: @code{5})"
36784 msgstr ""
36785
36786 #. type: table
36787 #: doc/guix.texi:16401
36788 msgid "The number of additional times the hashing is performed."
36789 msgstr ""
36790
36791 #. type: item
36792 #: doc/guix.texi:16402
36793 #, no-wrap
36794 msgid "@code{nsec3-salt-length} (default: @code{8})"
36795 msgstr ""
36796
36797 #. type: table
36798 #: doc/guix.texi:16405
36799 msgid ""
36800 "The length of a salt field in octets, which is appended to the original "
36801 "owner name before hashing."
36802 msgstr ""
36803
36804 #. type: item
36805 #: doc/guix.texi:16406
36806 #, no-wrap
36807 msgid "@code{nsec3-salt-lifetime} (default: @code{(* 30 24 3600)})"
36808 msgstr ""
36809
36810 #. type: table
36811 #: doc/guix.texi:16408
36812 msgid "The validity period of newly issued salt field."
36813 msgstr ""
36814
36815 #. type: deftp
36816 #: doc/guix.texi:16412
36817 #, no-wrap
36818 msgid "{Data Type} knot-zone-configuration"
36819 msgstr ""
36820
36821 #. type: deftp
36822 #: doc/guix.texi:16415
36823 msgid ""
36824 "Data type representing a zone served by Knot. This type has the following "
36825 "parameters:"
36826 msgstr ""
36827
36828 #. type: item
36829 #: doc/guix.texi:16417
36830 #, no-wrap
36831 msgid "@code{domain} (default: @code{\"\"})"
36832 msgstr ""
36833
36834 #. type: table
36835 #: doc/guix.texi:16419
36836 msgid "The domain served by this configuration. It must not be empty."
36837 msgstr ""
36838
36839 #. type: item
36840 #: doc/guix.texi:16420
36841 #, no-wrap
36842 msgid "@code{file} (default: @code{\"\"})"
36843 msgstr ""
36844
36845 #. type: table
36846 #: doc/guix.texi:16423
36847 msgid ""
36848 "The file where this zone is saved. This parameter is ignored by master "
36849 "zones. Empty means default location that depends on the domain name."
36850 msgstr ""
36851
36852 #. type: item
36853 #: doc/guix.texi:16424
36854 #, no-wrap
36855 msgid "@code{zone} (default: @code{(zone-file)})"
36856 msgstr ""
36857
36858 #. type: table
36859 #: doc/guix.texi:16427
36860 msgid ""
36861 "The content of the zone file. This parameter is ignored by slave zones. It "
36862 "must contain a zone-file record."
36863 msgstr ""
36864
36865 #. type: item
36866 #: doc/guix.texi:16428
36867 #, no-wrap
36868 msgid "@code{master} (default: @code{'()})"
36869 msgstr ""
36870
36871 #. type: table
36872 #: doc/guix.texi:16431
36873 msgid ""
36874 "A list of master remotes. When empty, this zone is a master. When set, "
36875 "this zone is a slave. This is a list of remotes identifiers."
36876 msgstr ""
36877
36878 #. type: item
36879 #: doc/guix.texi:16432
36880 #, no-wrap
36881 msgid "@code{ddns-master} (default: @code{#f})"
36882 msgstr ""
36883
36884 #. type: table
36885 #: doc/guix.texi:16435
36886 msgid ""
36887 "The main master. When empty, it defaults to the first master in the list of "
36888 "masters."
36889 msgstr ""
36890
36891 #. type: item
36892 #: doc/guix.texi:16436
36893 #, no-wrap
36894 msgid "@code{notify} (default: @code{'()})"
36895 msgstr ""
36896
36897 #. type: table
36898 #: doc/guix.texi:16438
36899 msgid "A list of slave remote identifiers."
36900 msgstr ""
36901
36902 #. type: item
36903 #: doc/guix.texi:16439
36904 #, no-wrap
36905 msgid "@code{acl} (default: @code{'()})"
36906 msgstr ""
36907
36908 #. type: table
36909 #: doc/guix.texi:16441
36910 msgid "A list of acl identifiers."
36911 msgstr ""
36912
36913 #. type: item
36914 #: doc/guix.texi:16442
36915 #, no-wrap
36916 msgid "@code{semantic-checks?} (default: @code{#f})"
36917 msgstr ""
36918
36919 #. type: table
36920 #: doc/guix.texi:16444
36921 msgid "When set, this adds more semantic checks to the zone."
36922 msgstr ""
36923
36924 #. type: item
36925 #: doc/guix.texi:16445
36926 #, no-wrap
36927 msgid "@code{disable-any?} (default: @code{#f})"
36928 msgstr ""
36929
36930 #. type: table
36931 #: doc/guix.texi:16447
36932 msgid "When set, this forbids queries of the ANY type."
36933 msgstr ""
36934
36935 #. type: item
36936 #: doc/guix.texi:16448
36937 #, no-wrap
36938 msgid "@code{zonefile-sync} (default: @code{0})"
36939 msgstr ""
36940
36941 #. type: table
36942 #: doc/guix.texi:16451
36943 msgid ""
36944 "The delay between a modification in memory and on disk. 0 means immediate "
36945 "synchronization."
36946 msgstr ""
36947
36948 #. type: item
36949 #: doc/guix.texi:16452
36950 #, no-wrap
36951 msgid "@code{serial-policy} (default: @code{'increment})"
36952 msgstr ""
36953
36954 #. type: table
36955 #: doc/guix.texi:16454
36956 msgid "A policy between @code{'increment} and @code{'unixtime}."
36957 msgstr ""
36958
36959 #. type: deftp
36960 #: doc/guix.texi:16458
36961 #, no-wrap
36962 msgid "{Data Type} knot-configuration"
36963 msgstr ""
36964
36965 #. type: deftp
36966 #: doc/guix.texi:16461
36967 msgid ""
36968 "Data type representing the Knot configuration. This type has the following "
36969 "parameters:"
36970 msgstr ""
36971
36972 #. type: item
36973 #: doc/guix.texi:16463
36974 #, no-wrap
36975 msgid "@code{knot} (default: @code{knot})"
36976 msgstr ""
36977
36978 #. type: table
36979 #: doc/guix.texi:16465
36980 msgid "The Knot package."
36981 msgstr ""
36982
36983 #. type: item
36984 #: doc/guix.texi:16466
36985 #, no-wrap
36986 msgid "@code{run-directory} (default: @code{\"/var/run/knot\"})"
36987 msgstr ""
36988
36989 #. type: table
36990 #: doc/guix.texi:16468
36991 msgid ""
36992 "The run directory. This directory will be used for pid file and sockets."
36993 msgstr ""
36994
36995 #. type: item
36996 #: doc/guix.texi:16469
36997 #, no-wrap
36998 msgid "@code{listen-v4} (default: @code{\"0.0.0.0\"})"
36999 msgstr ""
37000
37001 #. type: table
37002 #: doc/guix.texi:16471 doc/guix.texi:16474
37003 msgid "An ip address on which to listen."
37004 msgstr ""
37005
37006 #. type: item
37007 #: doc/guix.texi:16472
37008 #, no-wrap
37009 msgid "@code{listen-v6} (default: @code{\"::\"})"
37010 msgstr ""
37011
37012 #. type: item
37013 #: doc/guix.texi:16475
37014 #, no-wrap
37015 msgid "@code{listen-port} (default: @code{53})"
37016 msgstr ""
37017
37018 #. type: table
37019 #: doc/guix.texi:16477
37020 msgid "A port on which to listen."
37021 msgstr ""
37022
37023 #. type: item
37024 #: doc/guix.texi:16478
37025 #, no-wrap
37026 msgid "@code{keys} (default: @code{'()})"
37027 msgstr ""
37028
37029 #. type: table
37030 #: doc/guix.texi:16480
37031 msgid "The list of knot-key-configuration used by this configuration."
37032 msgstr ""
37033
37034 #. type: item
37035 #: doc/guix.texi:16481
37036 #, no-wrap
37037 msgid "@code{acls} (default: @code{'()})"
37038 msgstr ""
37039
37040 #. type: table
37041 #: doc/guix.texi:16483
37042 msgid "The list of knot-acl-configuration used by this configuration."
37043 msgstr ""
37044
37045 #. type: item
37046 #: doc/guix.texi:16484
37047 #, no-wrap
37048 msgid "@code{remotes} (default: @code{'()})"
37049 msgstr ""
37050
37051 #. type: table
37052 #: doc/guix.texi:16486
37053 msgid "The list of knot-remote-configuration used by this configuration."
37054 msgstr ""
37055
37056 #. type: item
37057 #: doc/guix.texi:16487
37058 #, no-wrap
37059 msgid "@code{zones} (default: @code{'()})"
37060 msgstr ""
37061
37062 #. type: table
37063 #: doc/guix.texi:16489
37064 msgid "The list of knot-zone-configuration used by this configuration."
37065 msgstr ""
37066
37067 #. type: cindex
37068 #: doc/guix.texi:16496
37069 #, no-wrap
37070 msgid "VPN (virtual private network)"
37071 msgstr ""
37072
37073 #. type: cindex
37074 #: doc/guix.texi:16497
37075 #, no-wrap
37076 msgid "virtual private network (VPN)"
37077 msgstr ""
37078
37079 #. type: Plain text
37080 #: doc/guix.texi:16503
37081 msgid ""
37082 "The @code{(gnu services vpn)} module provides services related to "
37083 "@dfn{virtual private networks} (VPNs). It provides a @emph{client} service "
37084 "for your machine to connect to a VPN, and a @emph{servire} service for your "
37085 "machine to host a VPN. Both services use @uref{https://openvpn.net/, "
37086 "OpenVPN}."
37087 msgstr ""
37088
37089 #. type: deffn
37090 #: doc/guix.texi:16504
37091 #, no-wrap
37092 msgid "{Scheme Procedure} openvpn-client-service @"
37093 msgstr ""
37094
37095 #. type: deffn
37096 #: doc/guix.texi:16506
37097 msgid "[#:config (openvpn-client-configuration)]"
37098 msgstr ""
37099
37100 #. type: deffn
37101 #: doc/guix.texi:16508
37102 msgid ""
37103 "Return a service that runs @command{openvpn}, a VPN daemon, as a client."
37104 msgstr ""
37105
37106 #. type: deffn
37107 #: doc/guix.texi:16510
37108 #, no-wrap
37109 msgid "{Scheme Procedure} openvpn-server-service @"
37110 msgstr ""
37111
37112 #. type: deffn
37113 #: doc/guix.texi:16512
37114 msgid "[#:config (openvpn-server-configuration)]"
37115 msgstr ""
37116
37117 #. type: deffn
37118 #: doc/guix.texi:16514
37119 msgid ""
37120 "Return a service that runs @command{openvpn}, a VPN daemon, as a server."
37121 msgstr ""
37122
37123 #. type: deffn
37124 #: doc/guix.texi:16516
37125 msgid "Both can be run simultaneously."
37126 msgstr ""
37127
37128 #. type: Plain text
37129 #: doc/guix.texi:16521
37130 msgid "Available @code{openvpn-client-configuration} fields are:"
37131 msgstr ""
37132
37133 #. type: deftypevr
37134 #: doc/guix.texi:16522
37135 #, no-wrap
37136 msgid "{@code{openvpn-client-configuration} parameter} package openvpn"
37137 msgstr ""
37138
37139 #. type: deftypevr
37140 #: doc/guix.texi:16524 doc/guix.texi:16660
37141 msgid "The OpenVPN package."
37142 msgstr ""
37143
37144 #. type: deftypevr
37145 #: doc/guix.texi:16527
37146 #, no-wrap
37147 msgid "{@code{openvpn-client-configuration} parameter} string pid-file"
37148 msgstr ""
37149
37150 #. type: deftypevr
37151 #: doc/guix.texi:16529 doc/guix.texi:16665
37152 msgid "The OpenVPN pid file."
37153 msgstr ""
37154
37155 #. type: deftypevr
37156 #: doc/guix.texi:16531 doc/guix.texi:16667
37157 msgid "Defaults to @samp{\"/var/run/openvpn/openvpn.pid\"}."
37158 msgstr ""
37159
37160 #. type: deftypevr
37161 #: doc/guix.texi:16534
37162 #, no-wrap
37163 msgid "{@code{openvpn-client-configuration} parameter} proto proto"
37164 msgstr ""
37165
37166 #. type: deftypevr
37167 #: doc/guix.texi:16537 doc/guix.texi:16673
37168 msgid ""
37169 "The protocol (UDP or TCP) used to open a channel between clients and servers."
37170 msgstr ""
37171
37172 #. type: deftypevr
37173 #: doc/guix.texi:16539 doc/guix.texi:16675
37174 msgid "Defaults to @samp{udp}."
37175 msgstr ""
37176
37177 #. type: deftypevr
37178 #: doc/guix.texi:16542
37179 #, no-wrap
37180 msgid "{@code{openvpn-client-configuration} parameter} dev dev"
37181 msgstr ""
37182
37183 #. type: deftypevr
37184 #: doc/guix.texi:16544 doc/guix.texi:16680
37185 msgid "The device type used to represent the VPN connection."
37186 msgstr ""
37187
37188 #. type: deftypevr
37189 #: doc/guix.texi:16546 doc/guix.texi:16682
37190 msgid "Defaults to @samp{tun}."
37191 msgstr ""
37192
37193 #. type: deftypevr
37194 #: doc/guix.texi:16549
37195 #, no-wrap
37196 msgid "{@code{openvpn-client-configuration} parameter} string ca"
37197 msgstr ""
37198
37199 #. type: deftypevr
37200 #: doc/guix.texi:16551 doc/guix.texi:16687
37201 msgid "The certificate authority to check connections against."
37202 msgstr ""
37203
37204 #. type: deftypevr
37205 #: doc/guix.texi:16553 doc/guix.texi:16689
37206 msgid "Defaults to @samp{\"/etc/openvpn/ca.crt\"}."
37207 msgstr ""
37208
37209 #. type: deftypevr
37210 #: doc/guix.texi:16556
37211 #, no-wrap
37212 msgid "{@code{openvpn-client-configuration} parameter} string cert"
37213 msgstr ""
37214
37215 #. type: deftypevr
37216 #: doc/guix.texi:16559 doc/guix.texi:16695
37217 msgid ""
37218 "The certificate of the machine the daemon is running on. It should be "
37219 "signed by the authority given in @code{ca}."
37220 msgstr ""
37221
37222 #. type: deftypevr
37223 #: doc/guix.texi:16561 doc/guix.texi:16697
37224 msgid "Defaults to @samp{\"/etc/openvpn/client.crt\"}."
37225 msgstr ""
37226
37227 #. type: deftypevr
37228 #: doc/guix.texi:16564
37229 #, no-wrap
37230 msgid "{@code{openvpn-client-configuration} parameter} string key"
37231 msgstr ""
37232
37233 #. type: deftypevr
37234 #: doc/guix.texi:16567 doc/guix.texi:16703
37235 msgid ""
37236 "The key of the machine the daemon is running on. It must be the key whose "
37237 "certificate is @code{cert}."
37238 msgstr ""
37239
37240 #. type: deftypevr
37241 #: doc/guix.texi:16569 doc/guix.texi:16705
37242 msgid "Defaults to @samp{\"/etc/openvpn/client.key\"}."
37243 msgstr ""
37244
37245 #. type: deftypevr
37246 #: doc/guix.texi:16572
37247 #, no-wrap
37248 msgid "{@code{openvpn-client-configuration} parameter} boolean comp-lzo?"
37249 msgstr ""
37250
37251 #. type: deftypevr
37252 #: doc/guix.texi:16574 doc/guix.texi:16710
37253 msgid "Whether to use the lzo compression algorithm."
37254 msgstr ""
37255
37256 #. type: deftypevr
37257 #: doc/guix.texi:16579
37258 #, no-wrap
37259 msgid "{@code{openvpn-client-configuration} parameter} boolean persist-key?"
37260 msgstr ""
37261
37262 #. type: deftypevr
37263 #: doc/guix.texi:16581 doc/guix.texi:16717
37264 msgid "Don't re-read key files across SIGUSR1 or --ping-restart."
37265 msgstr ""
37266
37267 #. type: deftypevr
37268 #: doc/guix.texi:16586
37269 #, no-wrap
37270 msgid "{@code{openvpn-client-configuration} parameter} boolean persist-tun?"
37271 msgstr ""
37272
37273 #. type: deftypevr
37274 #: doc/guix.texi:16589 doc/guix.texi:16725
37275 msgid ""
37276 "Don't close and reopen TUN/TAP device or run up/down scripts across SIGUSR1 "
37277 "or --ping-restart restarts."
37278 msgstr ""
37279
37280 #. type: deftypevr
37281 #: doc/guix.texi:16594
37282 #, no-wrap
37283 msgid "{@code{openvpn-client-configuration} parameter} number verbosity"
37284 msgstr ""
37285
37286 #. type: deftypevr
37287 #: doc/guix.texi:16596 doc/guix.texi:16732
37288 msgid "Verbosity level."
37289 msgstr ""
37290
37291 #. type: deftypevr
37292 #: doc/guix.texi:16598 doc/guix.texi:16734 doc/guix.texi:18011
37293 #: doc/guix.texi:18234
37294 msgid "Defaults to @samp{3}."
37295 msgstr ""
37296
37297 #. type: deftypevr
37298 #: doc/guix.texi:16601
37299 #, no-wrap
37300 msgid "{@code{openvpn-client-configuration} parameter} tls-auth-client tls-auth"
37301 msgstr ""
37302
37303 #. type: deftypevr
37304 #: doc/guix.texi:16604 doc/guix.texi:16740
37305 msgid ""
37306 "Add an additional layer of HMAC authentication on top of the TLS control "
37307 "channel to protect against DoS attacks."
37308 msgstr ""
37309
37310 #. type: deftypevr
37311 #: doc/guix.texi:16609
37312 #, no-wrap
37313 msgid "{@code{openvpn-client-configuration} parameter} key-usage verify-key-usage?"
37314 msgstr ""
37315
37316 #. type: deftypevr
37317 #: doc/guix.texi:16611
37318 msgid "Whether to check the server certificate has server usage extension."
37319 msgstr ""
37320
37321 #. type: deftypevr
37322 #: doc/guix.texi:16616
37323 #, no-wrap
37324 msgid "{@code{openvpn-client-configuration} parameter} bind bind?"
37325 msgstr ""
37326
37327 #. type: deftypevr
37328 #: doc/guix.texi:16618
37329 msgid "Bind to a specific local port number."
37330 msgstr ""
37331
37332 #. type: deftypevr
37333 #: doc/guix.texi:16623
37334 #, no-wrap
37335 msgid "{@code{openvpn-client-configuration} parameter} resolv-retry resolv-retry?"
37336 msgstr ""
37337
37338 #. type: deftypevr
37339 #: doc/guix.texi:16625
37340 msgid "Retry resolving server address."
37341 msgstr ""
37342
37343 #. type: deftypevr
37344 #: doc/guix.texi:16630
37345 #, no-wrap
37346 msgid "{@code{openvpn-client-configuration} parameter} openvpn-remote-list remote"
37347 msgstr ""
37348
37349 #. type: deftypevr
37350 #: doc/guix.texi:16632
37351 msgid "A list of remote servers to connect to."
37352 msgstr ""
37353
37354 #. type: deftypevr
37355 #: doc/guix.texi:16636
37356 msgid "Available @code{openvpn-remote-configuration} fields are:"
37357 msgstr ""
37358
37359 #. type: deftypevr
37360 #: doc/guix.texi:16637
37361 #, no-wrap
37362 msgid "{@code{openvpn-remote-configuration} parameter} string name"
37363 msgstr ""
37364
37365 #. type: deftypevr
37366 #: doc/guix.texi:16639
37367 msgid "Server name."
37368 msgstr ""
37369
37370 #. type: deftypevr
37371 #: doc/guix.texi:16641
37372 msgid "Defaults to @samp{\"my-server\"}."
37373 msgstr ""
37374
37375 #. type: deftypevr
37376 #: doc/guix.texi:16644
37377 #, no-wrap
37378 msgid "{@code{openvpn-remote-configuration} parameter} number port"
37379 msgstr ""
37380
37381 #. type: deftypevr
37382 #: doc/guix.texi:16646
37383 msgid "Port number the server listens to."
37384 msgstr ""
37385
37386 #. type: deftypevr
37387 #: doc/guix.texi:16648 doc/guix.texi:16749
37388 msgid "Defaults to @samp{1194}."
37389 msgstr ""
37390
37391 #. type: Plain text
37392 #: doc/guix.texi:16657
37393 msgid "Available @code{openvpn-server-configuration} fields are:"
37394 msgstr ""
37395
37396 #. type: deftypevr
37397 #: doc/guix.texi:16658
37398 #, no-wrap
37399 msgid "{@code{openvpn-server-configuration} parameter} package openvpn"
37400 msgstr ""
37401
37402 #. type: deftypevr
37403 #: doc/guix.texi:16663
37404 #, no-wrap
37405 msgid "{@code{openvpn-server-configuration} parameter} string pid-file"
37406 msgstr ""
37407
37408 #. type: deftypevr
37409 #: doc/guix.texi:16670
37410 #, no-wrap
37411 msgid "{@code{openvpn-server-configuration} parameter} proto proto"
37412 msgstr ""
37413
37414 #. type: deftypevr
37415 #: doc/guix.texi:16678
37416 #, no-wrap
37417 msgid "{@code{openvpn-server-configuration} parameter} dev dev"
37418 msgstr ""
37419
37420 #. type: deftypevr
37421 #: doc/guix.texi:16685
37422 #, no-wrap
37423 msgid "{@code{openvpn-server-configuration} parameter} string ca"
37424 msgstr ""
37425
37426 #. type: deftypevr
37427 #: doc/guix.texi:16692
37428 #, no-wrap
37429 msgid "{@code{openvpn-server-configuration} parameter} string cert"
37430 msgstr ""
37431
37432 #. type: deftypevr
37433 #: doc/guix.texi:16700
37434 #, no-wrap
37435 msgid "{@code{openvpn-server-configuration} parameter} string key"
37436 msgstr ""
37437
37438 #. type: deftypevr
37439 #: doc/guix.texi:16708
37440 #, no-wrap
37441 msgid "{@code{openvpn-server-configuration} parameter} boolean comp-lzo?"
37442 msgstr ""
37443
37444 #. type: deftypevr
37445 #: doc/guix.texi:16715
37446 #, no-wrap
37447 msgid "{@code{openvpn-server-configuration} parameter} boolean persist-key?"
37448 msgstr ""
37449
37450 #. type: deftypevr
37451 #: doc/guix.texi:16722
37452 #, no-wrap
37453 msgid "{@code{openvpn-server-configuration} parameter} boolean persist-tun?"
37454 msgstr ""
37455
37456 #. type: deftypevr
37457 #: doc/guix.texi:16730
37458 #, no-wrap
37459 msgid "{@code{openvpn-server-configuration} parameter} number verbosity"
37460 msgstr ""
37461
37462 #. type: deftypevr
37463 #: doc/guix.texi:16737
37464 #, no-wrap
37465 msgid "{@code{openvpn-server-configuration} parameter} tls-auth-server tls-auth"
37466 msgstr ""
37467
37468 #. type: deftypevr
37469 #: doc/guix.texi:16745
37470 #, no-wrap
37471 msgid "{@code{openvpn-server-configuration} parameter} number port"
37472 msgstr ""
37473
37474 #. type: deftypevr
37475 #: doc/guix.texi:16747
37476 msgid "Specifies the port number on which the server listens."
37477 msgstr ""
37478
37479 #. type: deftypevr
37480 #: doc/guix.texi:16752
37481 #, no-wrap
37482 msgid "{@code{openvpn-server-configuration} parameter} ip-mask server"
37483 msgstr ""
37484
37485 #. type: deftypevr
37486 #: doc/guix.texi:16754
37487 msgid "An ip and mask specifying the subnet inside the virtual network."
37488 msgstr ""
37489
37490 #. type: deftypevr
37491 #: doc/guix.texi:16756
37492 msgid "Defaults to @samp{\"10.8.0.0 255.255.255.0\"}."
37493 msgstr ""
37494
37495 #. type: deftypevr
37496 #: doc/guix.texi:16759
37497 #, no-wrap
37498 msgid "{@code{openvpn-server-configuration} parameter} cidr6 server-ipv6"
37499 msgstr ""
37500
37501 #. type: deftypevr
37502 #: doc/guix.texi:16761
37503 msgid "A CIDR notation specifying the IPv6 subnet inside the virtual network."
37504 msgstr ""
37505
37506 #. type: deftypevr
37507 #: doc/guix.texi:16766
37508 #, no-wrap
37509 msgid "{@code{openvpn-server-configuration} parameter} string dh"
37510 msgstr ""
37511
37512 #. type: deftypevr
37513 #: doc/guix.texi:16768
37514 msgid "The Diffie-Hellman parameters file."
37515 msgstr ""
37516
37517 #. type: deftypevr
37518 #: doc/guix.texi:16770
37519 msgid "Defaults to @samp{\"/etc/openvpn/dh2048.pem\"}."
37520 msgstr ""
37521
37522 #. type: deftypevr
37523 #: doc/guix.texi:16773
37524 #, no-wrap
37525 msgid "{@code{openvpn-server-configuration} parameter} string ifconfig-pool-persist"
37526 msgstr ""
37527
37528 #. type: deftypevr
37529 #: doc/guix.texi:16775
37530 msgid "The file that records client IPs."
37531 msgstr ""
37532
37533 #. type: deftypevr
37534 #: doc/guix.texi:16777
37535 msgid "Defaults to @samp{\"/etc/openvpn/ipp.txt\"}."
37536 msgstr ""
37537
37538 #. type: deftypevr
37539 #: doc/guix.texi:16780
37540 #, no-wrap
37541 msgid "{@code{openvpn-server-configuration} parameter} gateway redirect-gateway?"
37542 msgstr ""
37543
37544 #. type: deftypevr
37545 #: doc/guix.texi:16782
37546 msgid "When true, the server will act as a gateway for its clients."
37547 msgstr ""
37548
37549 #. type: deftypevr
37550 #: doc/guix.texi:16787
37551 #, no-wrap
37552 msgid "{@code{openvpn-server-configuration} parameter} boolean client-to-client?"
37553 msgstr ""
37554
37555 #. type: deftypevr
37556 #: doc/guix.texi:16789
37557 msgid "When true, clients are allowed to talk to each other inside the VPN."
37558 msgstr ""
37559
37560 #. type: deftypevr
37561 #: doc/guix.texi:16794
37562 #, no-wrap
37563 msgid "{@code{openvpn-server-configuration} parameter} keepalive keepalive"
37564 msgstr ""
37565
37566 #. type: deftypevr
37567 #: doc/guix.texi:16800
37568 msgid ""
37569 "Causes ping-like messages to be sent back and forth over the link so that "
37570 "each side knows when the other side has gone down. @code{keepalive} "
37571 "requires a pair. The first element is the period of the ping sending, and "
37572 "the second element is the timeout before considering the other side down."
37573 msgstr ""
37574
37575 #. type: deftypevr
37576 #: doc/guix.texi:16803
37577 #, no-wrap
37578 msgid "{@code{openvpn-server-configuration} parameter} number max-clients"
37579 msgstr ""
37580
37581 #. type: deftypevr
37582 #: doc/guix.texi:16805
37583 msgid "The maximum number of clients."
37584 msgstr ""
37585
37586 #. type: deftypevr
37587 #: doc/guix.texi:16810
37588 #, no-wrap
37589 msgid "{@code{openvpn-server-configuration} parameter} string status"
37590 msgstr ""
37591
37592 #. type: deftypevr
37593 #: doc/guix.texi:16813
37594 msgid ""
37595 "The status file. This file shows a small report on current connection. It "
37596 "is truncated and rewritten every minute."
37597 msgstr ""
37598
37599 #. type: deftypevr
37600 #: doc/guix.texi:16815
37601 msgid "Defaults to @samp{\"/var/run/openvpn/status\"}."
37602 msgstr ""
37603
37604 #. type: deftypevr
37605 #: doc/guix.texi:16818
37606 #, no-wrap
37607 msgid "{@code{openvpn-server-configuration} parameter} openvpn-ccd-list client-config-dir"
37608 msgstr ""
37609
37610 #. type: deftypevr
37611 #: doc/guix.texi:16820
37612 msgid "The list of configuration for some clients."
37613 msgstr ""
37614
37615 #. type: deftypevr
37616 #: doc/guix.texi:16824
37617 msgid "Available @code{openvpn-ccd-configuration} fields are:"
37618 msgstr ""
37619
37620 #. type: deftypevr
37621 #: doc/guix.texi:16825
37622 #, no-wrap
37623 msgid "{@code{openvpn-ccd-configuration} parameter} string name"
37624 msgstr ""
37625
37626 #. type: deftypevr
37627 #: doc/guix.texi:16827
37628 msgid "Client name."
37629 msgstr ""
37630
37631 #. type: deftypevr
37632 #: doc/guix.texi:16829
37633 msgid "Defaults to @samp{\"client\"}."
37634 msgstr ""
37635
37636 #. type: deftypevr
37637 #: doc/guix.texi:16832
37638 #, no-wrap
37639 msgid "{@code{openvpn-ccd-configuration} parameter} ip-mask iroute"
37640 msgstr ""
37641
37642 #. type: deftypevr
37643 #: doc/guix.texi:16834
37644 msgid "Client own network"
37645 msgstr ""
37646
37647 #. type: deftypevr
37648 #: doc/guix.texi:16839
37649 #, no-wrap
37650 msgid "{@code{openvpn-ccd-configuration} parameter} ip-mask ifconfig-push"
37651 msgstr ""
37652
37653 #. type: deftypevr
37654 #: doc/guix.texi:16841
37655 msgid "Client VPN IP."
37656 msgstr ""
37657
37658 #. type: cindex
37659 #: doc/guix.texi:16854
37660 #, no-wrap
37661 msgid "NFS"
37662 msgstr ""
37663
37664 #. type: Plain text
37665 #: doc/guix.texi:16859
37666 msgid ""
37667 "The @code{(gnu services nfs)} module provides the following services, which "
37668 "are most commonly used in relation to mounting or exporting directory trees "
37669 "as @dfn{network file systems} (NFS)."
37670 msgstr ""
37671
37672 #. type: subsubheading
37673 #: doc/guix.texi:16860
37674 #, no-wrap
37675 msgid "RPC Bind Service"
37676 msgstr ""
37677
37678 #. type: cindex
37679 #: doc/guix.texi:16861
37680 #, no-wrap
37681 msgid "rpcbind"
37682 msgstr ""
37683
37684 #. type: Plain text
37685 #: doc/guix.texi:16867
37686 msgid ""
37687 "The RPC Bind service provides a facility to map program numbers into "
37688 "universal addresses. Many NFS related services use this facility. Hence it "
37689 "is automatically started when a dependent service starts."
37690 msgstr ""
37691
37692 #. type: defvr
37693 #: doc/guix.texi:16868
37694 #, no-wrap
37695 msgid "{Scheme Variable} rpcbind-service-type"
37696 msgstr ""
37697
37698 #. type: defvr
37699 #: doc/guix.texi:16870
37700 msgid "A service type for the RPC portmapper daemon."
37701 msgstr ""
37702
37703 #. type: deftp
37704 #: doc/guix.texi:16873
37705 #, no-wrap
37706 msgid "{Data Type} rpcbind-configuration"
37707 msgstr ""
37708
37709 #. type: deftp
37710 #: doc/guix.texi:16876
37711 msgid ""
37712 "Data type representing the configuration of the RPC Bind Service. This type "
37713 "has the following parameters:"
37714 msgstr ""
37715
37716 #. type: item
37717 #: doc/guix.texi:16877
37718 #, no-wrap
37719 msgid "@code{rpcbind} (default: @code{rpcbind})"
37720 msgstr ""
37721
37722 #. type: table
37723 #: doc/guix.texi:16879
37724 msgid "The rpcbind package to use."
37725 msgstr ""
37726
37727 #. type: item
37728 #: doc/guix.texi:16880
37729 #, no-wrap
37730 msgid "@code{warm-start?} (default: @code{#t})"
37731 msgstr ""
37732
37733 #. type: table
37734 #: doc/guix.texi:16884
37735 msgid ""
37736 "If this parameter is @code{#t}, then the daemon will read a state file on "
37737 "startup thus reloading state information saved by a previous instance."
37738 msgstr ""
37739
37740 #. type: subsubheading
37741 #: doc/guix.texi:16888
37742 #, no-wrap
37743 msgid "Pipefs Pseudo File System"
37744 msgstr ""
37745
37746 #. type: cindex
37747 #: doc/guix.texi:16889
37748 #, no-wrap
37749 msgid "pipefs"
37750 msgstr ""
37751
37752 #. type: cindex
37753 #: doc/guix.texi:16890
37754 #, no-wrap
37755 msgid "rpc_pipefs"
37756 msgstr ""
37757
37758 #. type: Plain text
37759 #: doc/guix.texi:16894
37760 msgid ""
37761 "The pipefs file system is used to transfer NFS related data between the "
37762 "kernel and user space programs."
37763 msgstr ""
37764
37765 #. type: defvr
37766 #: doc/guix.texi:16895
37767 #, no-wrap
37768 msgid "{Scheme Variable} pipefs-service-type"
37769 msgstr ""
37770
37771 #. type: defvr
37772 #: doc/guix.texi:16897
37773 msgid "A service type for the pipefs pseudo file system."
37774 msgstr ""
37775
37776 #. type: deftp
37777 #: doc/guix.texi:16899
37778 #, no-wrap
37779 msgid "{Data Type} pipefs-configuration"
37780 msgstr ""
37781
37782 #. type: deftp
37783 #: doc/guix.texi:16902
37784 msgid ""
37785 "Data type representing the configuration of the pipefs pseudo file system "
37786 "service. This type has the following parameters:"
37787 msgstr ""
37788
37789 #. type: item
37790 #: doc/guix.texi:16903
37791 #, no-wrap
37792 msgid "@code{mount-point} (default: @code{\"/var/lib/nfs/rpc_pipefs\"})"
37793 msgstr ""
37794
37795 #. type: table
37796 #: doc/guix.texi:16905
37797 msgid "The directory to which the file system is to be attached."
37798 msgstr ""
37799
37800 #. type: subsubheading
37801 #: doc/guix.texi:16909
37802 #, no-wrap
37803 msgid "GSS Daemon Service"
37804 msgstr ""
37805
37806 #. type: cindex
37807 #: doc/guix.texi:16910
37808 #, no-wrap
37809 msgid "GSSD"
37810 msgstr ""
37811
37812 #. type: cindex
37813 #: doc/guix.texi:16911
37814 #, no-wrap
37815 msgid "GSS"
37816 msgstr ""
37817
37818 #. type: cindex
37819 #: doc/guix.texi:16912
37820 #, no-wrap
37821 msgid "global security system"
37822 msgstr ""
37823
37824 #. type: Plain text
37825 #: doc/guix.texi:16919
37826 msgid ""
37827 "The @dfn{global security system} (GSS) daemon provides strong security for "
37828 "RPC based protocols. Before exchanging RPC requests an RPC client must "
37829 "establish a security context. Typically this is done using the Kerberos "
37830 "command @command{kinit} or automatically at login time using PAM services "
37831 "(@pxref{Kerberos Services})."
37832 msgstr ""
37833
37834 #. type: defvr
37835 #: doc/guix.texi:16920
37836 #, no-wrap
37837 msgid "{Scheme Variable} gss-service-type"
37838 msgstr ""
37839
37840 #. type: defvr
37841 #: doc/guix.texi:16922
37842 msgid "A service type for the Global Security System (GSS) daemon."
37843 msgstr ""
37844
37845 #. type: deftp
37846 #: doc/guix.texi:16924
37847 #, no-wrap
37848 msgid "{Data Type} gss-configuration"
37849 msgstr ""
37850
37851 #. type: deftp
37852 #: doc/guix.texi:16927
37853 msgid ""
37854 "Data type representing the configuration of the GSS daemon service. This "
37855 "type has the following parameters:"
37856 msgstr ""
37857
37858 #. type: item
37859 #: doc/guix.texi:16928 doc/guix.texi:16953
37860 #, no-wrap
37861 msgid "@code{nfs-utils} (default: @code{nfs-utils})"
37862 msgstr ""
37863
37864 #. type: table
37865 #: doc/guix.texi:16930
37866 msgid "The package in which the @command{rpc.gssd} command is to be found."
37867 msgstr ""
37868
37869 #. type: item
37870 #: doc/guix.texi:16931 doc/guix.texi:16956
37871 #, no-wrap
37872 msgid "@code{pipefs-directory} (default: @code{\"/var/lib/nfs/rpc_pipefs\"})"
37873 msgstr ""
37874
37875 #. type: table
37876 #: doc/guix.texi:16933 doc/guix.texi:16958
37877 msgid "The directory where the pipefs file system is mounted."
37878 msgstr ""
37879
37880 #. type: subsubheading
37881 #: doc/guix.texi:16938
37882 #, no-wrap
37883 msgid "IDMAP Daemon Service"
37884 msgstr ""
37885
37886 #. type: cindex
37887 #: doc/guix.texi:16939
37888 #, no-wrap
37889 msgid "idmapd"
37890 msgstr ""
37891
37892 #. type: cindex
37893 #: doc/guix.texi:16940
37894 #, no-wrap
37895 msgid "name mapper"
37896 msgstr ""
37897
37898 #. type: Plain text
37899 #: doc/guix.texi:16944
37900 msgid ""
37901 "The idmap daemon service provides mapping between user IDs and user names. "
37902 "Typically it is required in order to access file systems mounted via NFSv4."
37903 msgstr ""
37904
37905 #. type: defvr
37906 #: doc/guix.texi:16945
37907 #, no-wrap
37908 msgid "{Scheme Variable} idmap-service-type"
37909 msgstr ""
37910
37911 #. type: defvr
37912 #: doc/guix.texi:16947
37913 msgid "A service type for the Identity Mapper (IDMAP) daemon."
37914 msgstr ""
37915
37916 #. type: deftp
37917 #: doc/guix.texi:16949
37918 #, no-wrap
37919 msgid "{Data Type} idmap-configuration"
37920 msgstr ""
37921
37922 #. type: deftp
37923 #: doc/guix.texi:16952
37924 msgid ""
37925 "Data type representing the configuration of the IDMAP daemon service. This "
37926 "type has the following parameters:"
37927 msgstr ""
37928
37929 #. type: table
37930 #: doc/guix.texi:16955
37931 msgid "The package in which the @command{rpc.idmapd} command is to be found."
37932 msgstr ""
37933
37934 #. type: item
37935 #: doc/guix.texi:16959
37936 #, no-wrap
37937 msgid "@code{domain} (default: @code{#f})"
37938 msgstr ""
37939
37940 #. type: table
37941 #: doc/guix.texi:16963
37942 msgid ""
37943 "The local NFSv4 domain name. This must be a string or @code{#f}. If it is "
37944 "@code{#f} then the daemon will use the host's fully qualified domain name."
37945 msgstr ""
37946
37947 #. type: cindex
37948 #: doc/guix.texi:16970
37949 #, no-wrap
37950 msgid "continuous integration"
37951 msgstr ""
37952
37953 #. type: Plain text
37954 #: doc/guix.texi:16974
37955 msgid ""
37956 "@uref{https://notabug.org/mthl/cuirass, Cuirass} is a continuous integration "
37957 "tool for Guix. It can be used both for development and for providing "
37958 "substitutes to others (@pxref{Substitutes})."
37959 msgstr ""
37960 "@uref{https://notabug.org/mthl/cuirass, Cuirass} est un outil d'intégration "
37961 "continue pour Guix. On peut l'utiliser aussi bien pour le développement que "
37962 "pour fournir des substituts à d'autres (@pxref{Substituts})."
37963
37964 #. type: Plain text
37965 #: doc/guix.texi:16976
37966 msgid ""
37967 "The @code{(gnu services cuirass)} module provides the following service."
37968 msgstr ""
37969
37970 #. type: defvr
37971 #: doc/guix.texi:16977
37972 #, no-wrap
37973 msgid "{Scheme Procedure} cuirass-service-type"
37974 msgstr ""
37975
37976 #. type: defvr
37977 #: doc/guix.texi:16980
37978 msgid ""
37979 "The type of the Cuirass service. Its value must be a @code{cuirass-"
37980 "configuration} object, as described below."
37981 msgstr ""
37982
37983 #. type: Plain text
37984 #: doc/guix.texi:16987
37985 msgid ""
37986 "To add build jobs, you have to set the @code{specifications} field of the "
37987 "configuration. Here is an example of a service defining a build job based "
37988 "on a specification that can be found in Cuirass source tree. This service "
37989 "polls the Guix repository and builds a subset of the Guix packages, as "
37990 "prescribed in the @file{gnu-system.scm} example spec:"
37991 msgstr ""
37992
37993 #. type: example
37994 #: doc/guix.texi:16999
37995 #, no-wrap
37996 msgid ""
37997 "(let ((spec #~((#:name . \"guix\")\n"
37998 " (#:url . \"git://git.savannah.gnu.org/guix.git\")\n"
37999 " (#:load-path . \".\")\n"
38000 " (#:file . \"build-aux/cuirass/gnu-system.scm\")\n"
38001 " (#:proc . cuirass-jobs)\n"
38002 " (#:arguments (subset . \"hello\"))\n"
38003 " (#:branch . \"master\"))))\n"
38004 " (service cuirass-service-type\n"
38005 " (cuirass-configuration\n"
38006 " (specifications #~(list '#$spec)))))\n"
38007 msgstr ""
38008
38009 #. type: Plain text
38010 #: doc/guix.texi:17004
38011 msgid ""
38012 "While information related to build jobs is located directly in the "
38013 "specifications, global settings for the @command{cuirass} process are "
38014 "accessible in other @code{cuirass-configuration} fields."
38015 msgstr ""
38016
38017 #. type: deftp
38018 #: doc/guix.texi:17005
38019 #, no-wrap
38020 msgid "{Data Type} cuirass-configuration"
38021 msgstr ""
38022
38023 #. type: deftp
38024 #: doc/guix.texi:17007
38025 msgid "Data type representing the configuration of Cuirass."
38026 msgstr ""
38027
38028 #. type: item
38029 #: doc/guix.texi:17009
38030 #, no-wrap
38031 msgid "@code{log-file} (default: @code{\"/var/log/cuirass.log\"})"
38032 msgstr ""
38033
38034 #. type: table
38035 #: doc/guix.texi:17011
38036 msgid "Location of the log file."
38037 msgstr ""
38038
38039 #. type: item
38040 #: doc/guix.texi:17012
38041 #, no-wrap
38042 msgid "@code{cache-directory} (default: @code{\"/var/cache/cuirass\"})"
38043 msgstr ""
38044
38045 #. type: table
38046 #: doc/guix.texi:17014
38047 msgid "Location of the repository cache."
38048 msgstr ""
38049
38050 #. type: item
38051 #: doc/guix.texi:17015
38052 #, no-wrap
38053 msgid "@code{user} (default: @code{\"cuirass\"})"
38054 msgstr ""
38055
38056 #. type: table
38057 #: doc/guix.texi:17017
38058 msgid "Owner of the @code{cuirass} process."
38059 msgstr ""
38060
38061 #. type: item
38062 #: doc/guix.texi:17018
38063 #, no-wrap
38064 msgid "@code{group} (default: @code{\"cuirass\"})"
38065 msgstr ""
38066
38067 #. type: table
38068 #: doc/guix.texi:17020
38069 msgid "Owner's group of the @code{cuirass} process."
38070 msgstr ""
38071
38072 #. type: item
38073 #: doc/guix.texi:17021
38074 #, no-wrap
38075 msgid "@code{interval} (default: @code{60})"
38076 msgstr ""
38077
38078 #. type: table
38079 #: doc/guix.texi:17024
38080 msgid ""
38081 "Number of seconds between the poll of the repositories followed by the "
38082 "Cuirass jobs."
38083 msgstr ""
38084
38085 #. type: item
38086 #: doc/guix.texi:17025
38087 #, no-wrap
38088 msgid "@code{database} (default: @code{\"/var/run/cuirass/cuirass.db\"})"
38089 msgstr ""
38090
38091 #. type: table
38092 #: doc/guix.texi:17028
38093 msgid ""
38094 "Location of sqlite database which contains the build results and previously "
38095 "added specifications."
38096 msgstr ""
38097
38098 #. type: item
38099 #: doc/guix.texi:17029
38100 #, no-wrap
38101 msgid "@code{port} (default: @code{8081})"
38102 msgstr ""
38103
38104 #. type: table
38105 #: doc/guix.texi:17031
38106 msgid "Port number used by the HTTP server."
38107 msgstr ""
38108
38109 #. type: table
38110 #: doc/guix.texi:17035
38111 msgid ""
38112 "Listen on the network interface for @var{host}. The default is to accept "
38113 "connections from localhost."
38114 msgstr ""
38115
38116 #. type: item
38117 #: doc/guix.texi:17036
38118 #, no-wrap
38119 msgid "@code{specifications} (default: @code{#~'()})"
38120 msgstr ""
38121
38122 #. type: table
38123 #: doc/guix.texi:17042
38124 msgid ""
38125 "A gexp (@pxref{G-Expressions}) that evaluates to a list of specifications, "
38126 "where a specification is an association list (@pxref{Associations Lists,,, "
38127 "guile, GNU Guile Reference Manual}) whose keys are keywords (@code{#:keyword-"
38128 "example}) as shown in the example above."
38129 msgstr ""
38130
38131 #. type: item
38132 #: doc/guix.texi:17043
38133 #, no-wrap
38134 msgid "@code{use-substitutes?} (default: @code{#f})"
38135 msgstr ""
38136
38137 #. type: table
38138 #: doc/guix.texi:17046
38139 msgid ""
38140 "This allows using substitutes to avoid building every dependencies of a job "
38141 "from source."
38142 msgstr ""
38143
38144 #. type: item
38145 #: doc/guix.texi:17047
38146 #, no-wrap
38147 msgid "@code{one-shot?} (default: @code{#f})"
38148 msgstr ""
38149
38150 #. type: table
38151 #: doc/guix.texi:17049
38152 msgid "Only evaluate specifications and build derivations once."
38153 msgstr ""
38154
38155 #. type: item
38156 #: doc/guix.texi:17050
38157 #, no-wrap
38158 msgid "@code{fallback?} (default: @code{#f})"
38159 msgstr ""
38160
38161 #. type: table
38162 #: doc/guix.texi:17053
38163 msgid ""
38164 "When substituting a pre-built binary fails, fall back to building packages "
38165 "locally."
38166 msgstr ""
38167
38168 #. type: item
38169 #: doc/guix.texi:17054
38170 #, no-wrap
38171 msgid "@code{load-path} (default: @code{'()})"
38172 msgstr ""
38173
38174 #. type: table
38175 #: doc/guix.texi:17057
38176 msgid ""
38177 "This allows users to define their own packages and make them visible to "
38178 "cuirass as in @command{guix build} command."
38179 msgstr ""
38180
38181 #. type: item
38182 #: doc/guix.texi:17058
38183 #, no-wrap
38184 msgid "@code{cuirass} (default: @code{cuirass})"
38185 msgstr ""
38186
38187 #. type: table
38188 #: doc/guix.texi:17060
38189 msgid "The Cuirass package to use."
38190 msgstr ""
38191
38192 #. type: cindex
38193 #: doc/guix.texi:17066
38194 #, no-wrap
38195 msgid "power management with TLP"
38196 msgstr ""
38197
38198 #. type: Plain text
38199 #: doc/guix.texi:17069
38200 msgid ""
38201 "The @code{(gnu services pm)} module provides a Guix service definition for "
38202 "the Linux power management tool TLP."
38203 msgstr ""
38204
38205 #. type: Plain text
38206 #: doc/guix.texi:17075
38207 msgid ""
38208 "TLP enables various powersaving modes in userspace and kernel. Contrary to "
38209 "@code{upower-service}, it is not a passive, monitoring tool, as it will "
38210 "apply custom settings each time a new power source is detected. More "
38211 "information can be found at @uref{http://linrunner.de/en/tlp/tlp.html, TLP "
38212 "home page}."
38213 msgstr ""
38214
38215 #. type: deffn
38216 #: doc/guix.texi:17076
38217 #, no-wrap
38218 msgid "{Scheme Variable} tlp-service-type"
38219 msgstr ""
38220
38221 #. type: deffn
38222 #: doc/guix.texi:17080
38223 msgid ""
38224 "The service type for the TLP tool. Its value should be a valid TLP "
38225 "configuration (see below). To use the default settings, simply write:"
38226 msgstr ""
38227
38228 #. type: example
38229 #: doc/guix.texi:17082
38230 #, no-wrap
38231 msgid "(service tlp-service-type)\n"
38232 msgstr ""
38233
38234 #. type: Plain text
38235 #: doc/guix.texi:17087
38236 msgid ""
38237 "By default TLP does not need much configuration but most TLP parameters can "
38238 "be tweaked using @code{tlp-configuration}."
38239 msgstr ""
38240
38241 #. type: Plain text
38242 #: doc/guix.texi:17093
38243 msgid ""
38244 "Each parameter definition is preceded by its type; for example, "
38245 "@samp{boolean foo} indicates that the @code{foo} parameter should be "
38246 "specified as a boolean. Types starting with @code{maybe-} denote parameters "
38247 "that won't show up in TLP config file when their value is @code{'disabled}."
38248 msgstr ""
38249
38250 #. type: Plain text
38251 #: doc/guix.texi:17103
38252 msgid "Available @code{tlp-configuration} fields are:"
38253 msgstr ""
38254
38255 #. type: deftypevr
38256 #: doc/guix.texi:17104
38257 #, no-wrap
38258 msgid "{@code{tlp-configuration} parameter} package tlp"
38259 msgstr ""
38260
38261 #. type: deftypevr
38262 #: doc/guix.texi:17106
38263 msgid "The TLP package."
38264 msgstr ""
38265
38266 #. type: deftypevr
38267 #: doc/guix.texi:17109
38268 #, no-wrap
38269 msgid "{@code{tlp-configuration} parameter} boolean tlp-enable?"
38270 msgstr ""
38271
38272 #. type: deftypevr
38273 #: doc/guix.texi:17111
38274 msgid "Set to true if you wish to enable TLP."
38275 msgstr ""
38276
38277 #. type: deftypevr
38278 #: doc/guix.texi:17116
38279 #, no-wrap
38280 msgid "{@code{tlp-configuration} parameter} string tlp-default-mode"
38281 msgstr ""
38282
38283 #. type: deftypevr
38284 #: doc/guix.texi:17119
38285 msgid ""
38286 "Default mode when no power supply can be detected. Alternatives are AC and "
38287 "BAT."
38288 msgstr ""
38289
38290 #. type: deftypevr
38291 #: doc/guix.texi:17121
38292 msgid "Defaults to @samp{\"AC\"}."
38293 msgstr ""
38294
38295 #. type: deftypevr
38296 #: doc/guix.texi:17124
38297 #, no-wrap
38298 msgid "{@code{tlp-configuration} parameter} non-negative-integer disk-idle-secs-on-ac"
38299 msgstr ""
38300
38301 #. type: deftypevr
38302 #: doc/guix.texi:17127
38303 msgid ""
38304 "Number of seconds Linux kernel has to wait after the disk goes idle, before "
38305 "syncing on AC."
38306 msgstr ""
38307
38308 #. type: deftypevr
38309 #: doc/guix.texi:17132
38310 #, no-wrap
38311 msgid "{@code{tlp-configuration} parameter} non-negative-integer disk-idle-secs-on-bat"
38312 msgstr ""
38313
38314 #. type: deftypevr
38315 #: doc/guix.texi:17134
38316 msgid "Same as @code{disk-idle-ac} but on BAT mode."
38317 msgstr ""
38318
38319 #. type: deftypevr
38320 #: doc/guix.texi:17136
38321 msgid "Defaults to @samp{2}."
38322 msgstr ""
38323
38324 #. type: deftypevr
38325 #: doc/guix.texi:17139
38326 #, no-wrap
38327 msgid "{@code{tlp-configuration} parameter} non-negative-integer max-lost-work-secs-on-ac"
38328 msgstr ""
38329
38330 #. type: deftypevr
38331 #: doc/guix.texi:17141
38332 msgid "Dirty pages flushing periodicity, expressed in seconds."
38333 msgstr ""
38334
38335 #. type: deftypevr
38336 #: doc/guix.texi:17143 doc/guix.texi:17366 doc/guix.texi:18683
38337 #: doc/guix.texi:18691
38338 msgid "Defaults to @samp{15}."
38339 msgstr ""
38340
38341 #. type: deftypevr
38342 #: doc/guix.texi:17146
38343 #, no-wrap
38344 msgid "{@code{tlp-configuration} parameter} non-negative-integer max-lost-work-secs-on-bat"
38345 msgstr ""
38346
38347 #. type: deftypevr
38348 #: doc/guix.texi:17148
38349 msgid "Same as @code{max-lost-work-secs-on-ac} but on BAT mode."
38350 msgstr ""
38351
38352 #. type: deftypevr
38353 #: doc/guix.texi:17150
38354 msgid "Defaults to @samp{60}."
38355 msgstr ""
38356
38357 #. type: deftypevr
38358 #: doc/guix.texi:17153
38359 #, no-wrap
38360 msgid "{@code{tlp-configuration} parameter} maybe-space-separated-string-list cpu-scaling-governor-on-ac"
38361 msgstr ""
38362
38363 #. type: deftypevr
38364 #: doc/guix.texi:17157
38365 msgid ""
38366 "CPU frequency scaling governor on AC mode. With intel_pstate driver, "
38367 "alternatives are powersave and performance. With acpi-cpufreq driver, "
38368 "alternatives are ondemand, powersave, performance and conservative."
38369 msgstr ""
38370
38371 #. type: deftypevr
38372 #: doc/guix.texi:17159 doc/guix.texi:17166 doc/guix.texi:17173
38373 #: doc/guix.texi:17180 doc/guix.texi:17187 doc/guix.texi:17194
38374 #: doc/guix.texi:17202 doc/guix.texi:17210 doc/guix.texi:17217
38375 #: doc/guix.texi:17224 doc/guix.texi:17231 doc/guix.texi:17238
38376 #: doc/guix.texi:17268 doc/guix.texi:17306 doc/guix.texi:17313
38377 #: doc/guix.texi:17322 doc/guix.texi:17344 doc/guix.texi:17352
38378 #: doc/guix.texi:17359 doc/guix.texi:17514 doc/guix.texi:17534
38379 #: doc/guix.texi:17549 doc/guix.texi:17556
38380 msgid "Defaults to @samp{disabled}."
38381 msgstr ""
38382
38383 #. type: deftypevr
38384 #: doc/guix.texi:17162
38385 #, no-wrap
38386 msgid "{@code{tlp-configuration} parameter} maybe-space-separated-string-list cpu-scaling-governor-on-bat"
38387 msgstr ""
38388
38389 #. type: deftypevr
38390 #: doc/guix.texi:17164
38391 msgid "Same as @code{cpu-scaling-governor-on-ac} but on BAT mode."
38392 msgstr ""
38393
38394 #. type: deftypevr
38395 #: doc/guix.texi:17169
38396 #, no-wrap
38397 msgid "{@code{tlp-configuration} parameter} maybe-non-negative-integer cpu-scaling-min-freq-on-ac"
38398 msgstr ""
38399
38400 #. type: deftypevr
38401 #: doc/guix.texi:17171
38402 msgid "Set the min available frequency for the scaling governor on AC."
38403 msgstr ""
38404
38405 #. type: deftypevr
38406 #: doc/guix.texi:17176
38407 #, no-wrap
38408 msgid "{@code{tlp-configuration} parameter} maybe-non-negative-integer cpu-scaling-max-freq-on-ac"
38409 msgstr ""
38410
38411 #. type: deftypevr
38412 #: doc/guix.texi:17178
38413 msgid "Set the max available frequency for the scaling governor on AC."
38414 msgstr ""
38415
38416 #. type: deftypevr
38417 #: doc/guix.texi:17183
38418 #, no-wrap
38419 msgid "{@code{tlp-configuration} parameter} maybe-non-negative-integer cpu-scaling-min-freq-on-bat"
38420 msgstr ""
38421
38422 #. type: deftypevr
38423 #: doc/guix.texi:17185
38424 msgid "Set the min available frequency for the scaling governor on BAT."
38425 msgstr ""
38426
38427 #. type: deftypevr
38428 #: doc/guix.texi:17190
38429 #, no-wrap
38430 msgid "{@code{tlp-configuration} parameter} maybe-non-negative-integer cpu-scaling-max-freq-on-bat"
38431 msgstr ""
38432
38433 #. type: deftypevr
38434 #: doc/guix.texi:17192
38435 msgid "Set the max available frequency for the scaling governor on BAT."
38436 msgstr ""
38437
38438 #. type: deftypevr
38439 #: doc/guix.texi:17197
38440 #, no-wrap
38441 msgid "{@code{tlp-configuration} parameter} maybe-non-negative-integer cpu-min-perf-on-ac"
38442 msgstr ""
38443
38444 #. type: deftypevr
38445 #: doc/guix.texi:17200
38446 msgid ""
38447 "Limit the min P-state to control the power dissipation of the CPU, in AC "
38448 "mode. Values are stated as a percentage of the available performance."
38449 msgstr ""
38450
38451 #. type: deftypevr
38452 #: doc/guix.texi:17205
38453 #, no-wrap
38454 msgid "{@code{tlp-configuration} parameter} maybe-non-negative-integer cpu-max-perf-on-ac"
38455 msgstr ""
38456
38457 #. type: deftypevr
38458 #: doc/guix.texi:17208
38459 msgid ""
38460 "Limit the max P-state to control the power dissipation of the CPU, in AC "
38461 "mode. Values are stated as a percentage of the available performance."
38462 msgstr ""
38463
38464 #. type: deftypevr
38465 #: doc/guix.texi:17213
38466 #, no-wrap
38467 msgid "{@code{tlp-configuration} parameter} maybe-non-negative-integer cpu-min-perf-on-bat"
38468 msgstr ""
38469
38470 #. type: deftypevr
38471 #: doc/guix.texi:17215
38472 msgid "Same as @code{cpu-min-perf-on-ac} on BAT mode."
38473 msgstr ""
38474
38475 #. type: deftypevr
38476 #: doc/guix.texi:17220
38477 #, no-wrap
38478 msgid "{@code{tlp-configuration} parameter} maybe-non-negative-integer cpu-max-perf-on-bat"
38479 msgstr ""
38480
38481 #. type: deftypevr
38482 #: doc/guix.texi:17222
38483 msgid "Same as @code{cpu-max-perf-on-ac} on BAT mode."
38484 msgstr ""
38485
38486 #. type: deftypevr
38487 #: doc/guix.texi:17227
38488 #, no-wrap
38489 msgid "{@code{tlp-configuration} parameter} maybe-boolean cpu-boost-on-ac?"
38490 msgstr ""
38491
38492 #. type: deftypevr
38493 #: doc/guix.texi:17229
38494 msgid "Enable CPU turbo boost feature on AC mode."
38495 msgstr ""
38496
38497 #. type: deftypevr
38498 #: doc/guix.texi:17234
38499 #, no-wrap
38500 msgid "{@code{tlp-configuration} parameter} maybe-boolean cpu-boost-on-bat?"
38501 msgstr ""
38502
38503 #. type: deftypevr
38504 #: doc/guix.texi:17236
38505 msgid "Same as @code{cpu-boost-on-ac?} on BAT mode."
38506 msgstr ""
38507
38508 #. type: deftypevr
38509 #: doc/guix.texi:17241
38510 #, no-wrap
38511 msgid "{@code{tlp-configuration} parameter} boolean sched-powersave-on-ac?"
38512 msgstr ""
38513
38514 #. type: deftypevr
38515 #: doc/guix.texi:17244
38516 msgid ""
38517 "Allow Linux kernel to minimize the number of CPU cores/hyper-threads used "
38518 "under light load conditions."
38519 msgstr ""
38520
38521 #. type: deftypevr
38522 #: doc/guix.texi:17249
38523 #, no-wrap
38524 msgid "{@code{tlp-configuration} parameter} boolean sched-powersave-on-bat?"
38525 msgstr ""
38526
38527 #. type: deftypevr
38528 #: doc/guix.texi:17251
38529 msgid "Same as @code{sched-powersave-on-ac?} but on BAT mode."
38530 msgstr ""
38531
38532 #. type: deftypevr
38533 #: doc/guix.texi:17256
38534 #, no-wrap
38535 msgid "{@code{tlp-configuration} parameter} boolean nmi-watchdog?"
38536 msgstr ""
38537
38538 #. type: deftypevr
38539 #: doc/guix.texi:17258
38540 msgid "Enable Linux kernel NMI watchdog."
38541 msgstr ""
38542
38543 #. type: deftypevr
38544 #: doc/guix.texi:17263
38545 #, no-wrap
38546 msgid "{@code{tlp-configuration} parameter} maybe-string phc-controls"
38547 msgstr ""
38548
38549 #. type: deftypevr
38550 #: doc/guix.texi:17266
38551 msgid ""
38552 "For Linux kernels with PHC patch applied, change CPU voltages. An example "
38553 "value would be @samp{\"F:V F:V F:V F:V\"}."
38554 msgstr ""
38555
38556 #. type: deftypevr
38557 #: doc/guix.texi:17271
38558 #, no-wrap
38559 msgid "{@code{tlp-configuration} parameter} string energy-perf-policy-on-ac"
38560 msgstr ""
38561
38562 #. type: deftypevr
38563 #: doc/guix.texi:17274
38564 msgid ""
38565 "Set CPU performance versus energy saving policy on AC. Alternatives are "
38566 "performance, normal, powersave."
38567 msgstr ""
38568
38569 #. type: deftypevr
38570 #: doc/guix.texi:17276 doc/guix.texi:17374 doc/guix.texi:17404
38571 msgid "Defaults to @samp{\"performance\"}."
38572 msgstr ""
38573
38574 #. type: deftypevr
38575 #: doc/guix.texi:17279
38576 #, no-wrap
38577 msgid "{@code{tlp-configuration} parameter} string energy-perf-policy-on-bat"
38578 msgstr ""
38579
38580 #. type: deftypevr
38581 #: doc/guix.texi:17281
38582 msgid "Same as @code{energy-perf-policy-ac} but on BAT mode."
38583 msgstr ""
38584
38585 #. type: deftypevr
38586 #: doc/guix.texi:17283 doc/guix.texi:17381
38587 msgid "Defaults to @samp{\"powersave\"}."
38588 msgstr ""
38589
38590 #. type: deftypevr
38591 #: doc/guix.texi:17286
38592 #, no-wrap
38593 msgid "{@code{tlp-configuration} parameter} space-separated-string-list disks-devices"
38594 msgstr ""
38595
38596 #. type: deftypevr
38597 #: doc/guix.texi:17288
38598 msgid "Hard disk devices."
38599 msgstr ""
38600
38601 #. type: deftypevr
38602 #: doc/guix.texi:17291
38603 #, no-wrap
38604 msgid "{@code{tlp-configuration} parameter} space-separated-string-list disk-apm-level-on-ac"
38605 msgstr ""
38606
38607 #. type: deftypevr
38608 #: doc/guix.texi:17293
38609 msgid "Hard disk advanced power management level."
38610 msgstr ""
38611
38612 #. type: deftypevr
38613 #: doc/guix.texi:17296
38614 #, no-wrap
38615 msgid "{@code{tlp-configuration} parameter} space-separated-string-list disk-apm-level-on-bat"
38616 msgstr ""
38617
38618 #. type: deftypevr
38619 #: doc/guix.texi:17298
38620 msgid "Same as @code{disk-apm-bat} but on BAT mode."
38621 msgstr ""
38622
38623 #. type: deftypevr
38624 #: doc/guix.texi:17301
38625 #, no-wrap
38626 msgid "{@code{tlp-configuration} parameter} maybe-space-separated-string-list disk-spindown-timeout-on-ac"
38627 msgstr ""
38628
38629 #. type: deftypevr
38630 #: doc/guix.texi:17304
38631 msgid ""
38632 "Hard disk spin down timeout. One value has to be specified for each "
38633 "declared hard disk."
38634 msgstr ""
38635
38636 #. type: deftypevr
38637 #: doc/guix.texi:17309
38638 #, no-wrap
38639 msgid "{@code{tlp-configuration} parameter} maybe-space-separated-string-list disk-spindown-timeout-on-bat"
38640 msgstr ""
38641
38642 #. type: deftypevr
38643 #: doc/guix.texi:17311
38644 msgid "Same as @code{disk-spindown-timeout-on-ac} but on BAT mode."
38645 msgstr ""
38646
38647 #. type: deftypevr
38648 #: doc/guix.texi:17316
38649 #, no-wrap
38650 msgid "{@code{tlp-configuration} parameter} maybe-space-separated-string-list disk-iosched"
38651 msgstr ""
38652
38653 #. type: deftypevr
38654 #: doc/guix.texi:17320
38655 msgid ""
38656 "Select IO scheduler for disk devices. One value has to be specified for "
38657 "each declared hard disk. Example alternatives are cfq, deadline and noop."
38658 msgstr ""
38659
38660 #. type: deftypevr
38661 #: doc/guix.texi:17325
38662 #, no-wrap
38663 msgid "{@code{tlp-configuration} parameter} string sata-linkpwr-on-ac"
38664 msgstr ""
38665
38666 #. type: deftypevr
38667 #: doc/guix.texi:17328
38668 msgid ""
38669 "SATA aggressive link power management (ALPM) level. Alternatives are "
38670 "min_power, medium_power, max_performance."
38671 msgstr ""
38672
38673 #. type: deftypevr
38674 #: doc/guix.texi:17330
38675 msgid "Defaults to @samp{\"max_performance\"}."
38676 msgstr ""
38677
38678 #. type: deftypevr
38679 #: doc/guix.texi:17333
38680 #, no-wrap
38681 msgid "{@code{tlp-configuration} parameter} string sata-linkpwr-on-bat"
38682 msgstr ""
38683
38684 #. type: deftypevr
38685 #: doc/guix.texi:17335
38686 msgid "Same as @code{sata-linkpwr-ac} but on BAT mode."
38687 msgstr ""
38688
38689 #. type: deftypevr
38690 #: doc/guix.texi:17337
38691 msgid "Defaults to @samp{\"min_power\"}."
38692 msgstr ""
38693
38694 #. type: deftypevr
38695 #: doc/guix.texi:17340
38696 #, no-wrap
38697 msgid "{@code{tlp-configuration} parameter} maybe-string sata-linkpwr-blacklist"
38698 msgstr ""
38699
38700 #. type: deftypevr
38701 #: doc/guix.texi:17342
38702 msgid "Exclude specified SATA host devices for link power management."
38703 msgstr ""
38704
38705 #. type: deftypevr
38706 #: doc/guix.texi:17347
38707 #, no-wrap
38708 msgid "{@code{tlp-configuration} parameter} maybe-on-off-boolean ahci-runtime-pm-on-ac?"
38709 msgstr ""
38710
38711 #. type: deftypevr
38712 #: doc/guix.texi:17350
38713 msgid ""
38714 "Enable Runtime Power Management for AHCI controller and disks on AC mode."
38715 msgstr ""
38716
38717 #. type: deftypevr
38718 #: doc/guix.texi:17355
38719 #, no-wrap
38720 msgid "{@code{tlp-configuration} parameter} maybe-on-off-boolean ahci-runtime-pm-on-bat?"
38721 msgstr ""
38722
38723 #. type: deftypevr
38724 #: doc/guix.texi:17357
38725 msgid "Same as @code{ahci-runtime-pm-on-ac} on BAT mode."
38726 msgstr ""
38727
38728 #. type: deftypevr
38729 #: doc/guix.texi:17362
38730 #, no-wrap
38731 msgid "{@code{tlp-configuration} parameter} non-negative-integer ahci-runtime-pm-timeout"
38732 msgstr ""
38733
38734 #. type: deftypevr
38735 #: doc/guix.texi:17364
38736 msgid "Seconds of inactivity before disk is suspended."
38737 msgstr ""
38738
38739 #. type: deftypevr
38740 #: doc/guix.texi:17369
38741 #, no-wrap
38742 msgid "{@code{tlp-configuration} parameter} string pcie-aspm-on-ac"
38743 msgstr ""
38744
38745 #. type: deftypevr
38746 #: doc/guix.texi:17372
38747 msgid ""
38748 "PCI Express Active State Power Management level. Alternatives are default, "
38749 "performance, powersave."
38750 msgstr ""
38751
38752 #. type: deftypevr
38753 #: doc/guix.texi:17377
38754 #, no-wrap
38755 msgid "{@code{tlp-configuration} parameter} string pcie-aspm-on-bat"
38756 msgstr ""
38757
38758 #. type: deftypevr
38759 #: doc/guix.texi:17379
38760 msgid "Same as @code{pcie-aspm-ac} but on BAT mode."
38761 msgstr ""
38762
38763 #. type: deftypevr
38764 #: doc/guix.texi:17384
38765 #, no-wrap
38766 msgid "{@code{tlp-configuration} parameter} string radeon-power-profile-on-ac"
38767 msgstr ""
38768
38769 #. type: deftypevr
38770 #: doc/guix.texi:17387
38771 msgid ""
38772 "Radeon graphics clock speed level. Alternatives are low, mid, high, auto, "
38773 "default."
38774 msgstr ""
38775
38776 #. type: deftypevr
38777 #: doc/guix.texi:17389
38778 msgid "Defaults to @samp{\"high\"}."
38779 msgstr ""
38780
38781 #. type: deftypevr
38782 #: doc/guix.texi:17392
38783 #, no-wrap
38784 msgid "{@code{tlp-configuration} parameter} string radeon-power-profile-on-bat"
38785 msgstr ""
38786
38787 #. type: deftypevr
38788 #: doc/guix.texi:17394
38789 msgid "Same as @code{radeon-power-ac} but on BAT mode."
38790 msgstr ""
38791
38792 #. type: deftypevr
38793 #: doc/guix.texi:17396
38794 msgid "Defaults to @samp{\"low\"}."
38795 msgstr ""
38796
38797 #. type: deftypevr
38798 #: doc/guix.texi:17399
38799 #, no-wrap
38800 msgid "{@code{tlp-configuration} parameter} string radeon-dpm-state-on-ac"
38801 msgstr ""
38802
38803 #. type: deftypevr
38804 #: doc/guix.texi:17402
38805 msgid ""
38806 "Radeon dynamic power management method (DPM). Alternatives are battery, "
38807 "performance."
38808 msgstr ""
38809
38810 #. type: deftypevr
38811 #: doc/guix.texi:17407
38812 #, no-wrap
38813 msgid "{@code{tlp-configuration} parameter} string radeon-dpm-state-on-bat"
38814 msgstr ""
38815
38816 #. type: deftypevr
38817 #: doc/guix.texi:17409
38818 msgid "Same as @code{radeon-dpm-state-ac} but on BAT mode."
38819 msgstr ""
38820
38821 #. type: deftypevr
38822 #: doc/guix.texi:17411
38823 msgid "Defaults to @samp{\"battery\"}."
38824 msgstr ""
38825
38826 #. type: deftypevr
38827 #: doc/guix.texi:17414
38828 #, no-wrap
38829 msgid "{@code{tlp-configuration} parameter} string radeon-dpm-perf-level-on-ac"
38830 msgstr ""
38831
38832 #. type: deftypevr
38833 #: doc/guix.texi:17416
38834 msgid "Radeon DPM performance level. Alternatives are auto, low, high."
38835 msgstr ""
38836
38837 #. type: deftypevr
38838 #: doc/guix.texi:17418 doc/guix.texi:17425 doc/guix.texi:17499
38839 msgid "Defaults to @samp{\"auto\"}."
38840 msgstr ""
38841
38842 #. type: deftypevr
38843 #: doc/guix.texi:17421
38844 #, no-wrap
38845 msgid "{@code{tlp-configuration} parameter} string radeon-dpm-perf-level-on-bat"
38846 msgstr ""
38847
38848 #. type: deftypevr
38849 #: doc/guix.texi:17423
38850 msgid "Same as @code{radeon-dpm-perf-ac} but on BAT mode."
38851 msgstr ""
38852
38853 #. type: deftypevr
38854 #: doc/guix.texi:17428
38855 #, no-wrap
38856 msgid "{@code{tlp-configuration} parameter} on-off-boolean wifi-pwr-on-ac?"
38857 msgstr ""
38858
38859 #. type: deftypevr
38860 #: doc/guix.texi:17430
38861 msgid "Wifi power saving mode."
38862 msgstr ""
38863
38864 #. type: deftypevr
38865 #: doc/guix.texi:17435
38866 #, no-wrap
38867 msgid "{@code{tlp-configuration} parameter} on-off-boolean wifi-pwr-on-bat?"
38868 msgstr ""
38869
38870 #. type: deftypevr
38871 #: doc/guix.texi:17437
38872 msgid "Same as @code{wifi-power-ac?} but on BAT mode."
38873 msgstr ""
38874
38875 #. type: deftypevr
38876 #: doc/guix.texi:17442
38877 #, no-wrap
38878 msgid "{@code{tlp-configuration} parameter} y-n-boolean wol-disable?"
38879 msgstr ""
38880
38881 #. type: deftypevr
38882 #: doc/guix.texi:17444
38883 msgid "Disable wake on LAN."
38884 msgstr ""
38885
38886 #. type: deftypevr
38887 #: doc/guix.texi:17449
38888 #, no-wrap
38889 msgid "{@code{tlp-configuration} parameter} non-negative-integer sound-power-save-on-ac"
38890 msgstr ""
38891
38892 #. type: deftypevr
38893 #: doc/guix.texi:17452
38894 msgid ""
38895 "Timeout duration in seconds before activating audio power saving on Intel "
38896 "HDA and AC97 devices. A value of 0 disables power saving."
38897 msgstr ""
38898
38899 #. type: deftypevr
38900 #: doc/guix.texi:17457
38901 #, no-wrap
38902 msgid "{@code{tlp-configuration} parameter} non-negative-integer sound-power-save-on-bat"
38903 msgstr ""
38904
38905 #. type: deftypevr
38906 #: doc/guix.texi:17459
38907 msgid "Same as @code{sound-powersave-ac} but on BAT mode."
38908 msgstr ""
38909
38910 #. type: deftypevr
38911 #: doc/guix.texi:17461 doc/guix.texi:17976 doc/guix.texi:18120
38912 msgid "Defaults to @samp{1}."
38913 msgstr ""
38914
38915 #. type: deftypevr
38916 #: doc/guix.texi:17464
38917 #, no-wrap
38918 msgid "{@code{tlp-configuration} parameter} y-n-boolean sound-power-save-controller?"
38919 msgstr ""
38920
38921 #. type: deftypevr
38922 #: doc/guix.texi:17466
38923 msgid "Disable controller in powersaving mode on Intel HDA devices."
38924 msgstr ""
38925
38926 #. type: deftypevr
38927 #: doc/guix.texi:17471
38928 #, no-wrap
38929 msgid "{@code{tlp-configuration} parameter} boolean bay-poweroff-on-bat?"
38930 msgstr ""
38931
38932 #. type: deftypevr
38933 #: doc/guix.texi:17475
38934 msgid ""
38935 "Enable optical drive in UltraBay/MediaBay on BAT mode. Drive can be powered "
38936 "on again by releasing (and reinserting) the eject lever or by pressing the "
38937 "disc eject button on newer models."
38938 msgstr ""
38939
38940 #. type: deftypevr
38941 #: doc/guix.texi:17480
38942 #, no-wrap
38943 msgid "{@code{tlp-configuration} parameter} string bay-device"
38944 msgstr ""
38945
38946 #. type: deftypevr
38947 #: doc/guix.texi:17482
38948 msgid "Name of the optical drive device to power off."
38949 msgstr ""
38950
38951 #. type: deftypevr
38952 #: doc/guix.texi:17484
38953 msgid "Defaults to @samp{\"sr0\"}."
38954 msgstr ""
38955
38956 #. type: deftypevr
38957 #: doc/guix.texi:17487
38958 #, no-wrap
38959 msgid "{@code{tlp-configuration} parameter} string runtime-pm-on-ac"
38960 msgstr ""
38961
38962 #. type: deftypevr
38963 #: doc/guix.texi:17490
38964 msgid ""
38965 "Runtime Power Management for PCI(e) bus devices. Alternatives are on and "
38966 "auto."
38967 msgstr ""
38968
38969 #. type: deftypevr
38970 #: doc/guix.texi:17492
38971 msgid "Defaults to @samp{\"on\"}."
38972 msgstr ""
38973
38974 #. type: deftypevr
38975 #: doc/guix.texi:17495
38976 #, no-wrap
38977 msgid "{@code{tlp-configuration} parameter} string runtime-pm-on-bat"
38978 msgstr ""
38979
38980 #. type: deftypevr
38981 #: doc/guix.texi:17497
38982 msgid "Same as @code{runtime-pm-ac} but on BAT mode."
38983 msgstr ""
38984
38985 #. type: deftypevr
38986 #: doc/guix.texi:17502
38987 #, no-wrap
38988 msgid "{@code{tlp-configuration} parameter} boolean runtime-pm-all?"
38989 msgstr ""
38990
38991 #. type: deftypevr
38992 #: doc/guix.texi:17505
38993 msgid ""
38994 "Runtime Power Management for all PCI(e) bus devices, except blacklisted ones."
38995 msgstr ""
38996
38997 #. type: deftypevr
38998 #: doc/guix.texi:17510
38999 #, no-wrap
39000 msgid "{@code{tlp-configuration} parameter} maybe-space-separated-string-list runtime-pm-blacklist"
39001 msgstr ""
39002
39003 #. type: deftypevr
39004 #: doc/guix.texi:17512
39005 msgid ""
39006 "Exclude specified PCI(e) device addresses from Runtime Power Management."
39007 msgstr ""
39008
39009 #. type: deftypevr
39010 #: doc/guix.texi:17517
39011 #, no-wrap
39012 msgid "{@code{tlp-configuration} parameter} space-separated-string-list runtime-pm-driver-blacklist"
39013 msgstr ""
39014
39015 #. type: deftypevr
39016 #: doc/guix.texi:17520
39017 msgid ""
39018 "Exclude PCI(e) devices assigned to the specified drivers from Runtime Power "
39019 "Management."
39020 msgstr ""
39021
39022 #. type: deftypevr
39023 #: doc/guix.texi:17523
39024 #, no-wrap
39025 msgid "{@code{tlp-configuration} parameter} boolean usb-autosuspend?"
39026 msgstr ""
39027
39028 #. type: deftypevr
39029 #: doc/guix.texi:17525
39030 msgid "Enable USB autosuspend feature."
39031 msgstr ""
39032
39033 #. type: deftypevr
39034 #: doc/guix.texi:17530
39035 #, no-wrap
39036 msgid "{@code{tlp-configuration} parameter} maybe-string usb-blacklist"
39037 msgstr ""
39038
39039 #. type: deftypevr
39040 #: doc/guix.texi:17532
39041 msgid "Exclude specified devices from USB autosuspend."
39042 msgstr ""
39043
39044 #. type: deftypevr
39045 #: doc/guix.texi:17537
39046 #, no-wrap
39047 msgid "{@code{tlp-configuration} parameter} boolean usb-blacklist-wwan?"
39048 msgstr ""
39049
39050 #. type: deftypevr
39051 #: doc/guix.texi:17539
39052 msgid "Exclude WWAN devices from USB autosuspend."
39053 msgstr ""
39054
39055 #. type: deftypevr
39056 #: doc/guix.texi:17544
39057 #, no-wrap
39058 msgid "{@code{tlp-configuration} parameter} maybe-string usb-whitelist"
39059 msgstr ""
39060
39061 #. type: deftypevr
39062 #: doc/guix.texi:17547
39063 msgid ""
39064 "Include specified devices into USB autosuspend, even if they are already "
39065 "excluded by the driver or via @code{usb-blacklist-wwan?}."
39066 msgstr ""
39067
39068 #. type: deftypevr
39069 #: doc/guix.texi:17552
39070 #, no-wrap
39071 msgid "{@code{tlp-configuration} parameter} maybe-boolean usb-autosuspend-disable-on-shutdown?"
39072 msgstr ""
39073
39074 #. type: deftypevr
39075 #: doc/guix.texi:17554
39076 msgid "Enable USB autosuspend before shutdown."
39077 msgstr ""
39078
39079 #. type: deftypevr
39080 #: doc/guix.texi:17559
39081 #, no-wrap
39082 msgid "{@code{tlp-configuration} parameter} boolean restore-device-state-on-startup?"
39083 msgstr ""
39084
39085 #. type: deftypevr
39086 #: doc/guix.texi:17562
39087 msgid ""
39088 "Restore radio device state (bluetooth, wifi, wwan) from previous shutdown on "
39089 "system startup."
39090 msgstr ""
39091
39092 #. type: Plain text
39093 #: doc/guix.texi:17570
39094 msgid ""
39095 "The @code{(gnu services pm)} module provides an interface to thermald, a CPU "
39096 "frequency scaling service which helps prevent overheating."
39097 msgstr ""
39098
39099 #. type: defvr
39100 #: doc/guix.texi:17571
39101 #, no-wrap
39102 msgid "{Scheme Variable} thermald-service-type"
39103 msgstr ""
39104
39105 #. type: defvr
39106 #: doc/guix.texi:17576
39107 msgid ""
39108 "This is the service type for @uref{https://01.org/linux-thermal-daemon/, "
39109 "thermald}, the Linux Thermal Daemon, which is responsible for controlling "
39110 "the thermal state of processors and preventing overheating."
39111 msgstr ""
39112
39113 #. type: deftp
39114 #: doc/guix.texi:17578
39115 #, no-wrap
39116 msgid "{Data Type} thermald-configuration"
39117 msgstr ""
39118
39119 #. type: deftp
39120 #: doc/guix.texi:17580
39121 msgid ""
39122 "Data type representing the configuration of @code{thermald-service-type}."
39123 msgstr ""
39124
39125 #. type: item
39126 #: doc/guix.texi:17582
39127 #, no-wrap
39128 msgid "@code{ignore-cpuid-check?} (default: @code{#f})"
39129 msgstr ""
39130
39131 #. type: table
39132 #: doc/guix.texi:17584
39133 msgid "Ignore cpuid check for supported CPU models."
39134 msgstr ""
39135
39136 #. type: item
39137 #: doc/guix.texi:17585
39138 #, no-wrap
39139 msgid "@code{thermald} (default: @var{thermald})"
39140 msgstr ""
39141
39142 #. type: table
39143 #: doc/guix.texi:17587
39144 msgid "Package object of thermald."
39145 msgstr ""
39146
39147 #. type: Plain text
39148 #: doc/guix.texi:17596
39149 msgid ""
39150 "The @code{(gnu services audio)} module provides a service to start MPD (the "
39151 "Music Player Daemon)."
39152 msgstr ""
39153
39154 #. type: cindex
39155 #: doc/guix.texi:17597
39156 #, no-wrap
39157 msgid "mpd"
39158 msgstr ""
39159
39160 #. type: subsubheading
39161 #: doc/guix.texi:17598
39162 #, no-wrap
39163 msgid "Music Player Daemon"
39164 msgstr ""
39165
39166 #. type: Plain text
39167 #: doc/guix.texi:17603
39168 msgid ""
39169 "The Music Player Daemon (MPD) is a service that can play music while being "
39170 "controlled from the local machine or over the network by a variety of "
39171 "clients."
39172 msgstr ""
39173
39174 #. type: Plain text
39175 #: doc/guix.texi:17606
39176 msgid ""
39177 "The following example shows how one might run @code{mpd} as user @code{\"bob"
39178 "\"} on port @code{6666}. It uses pulseaudio for output."
39179 msgstr ""
39180
39181 #. type: example
39182 #: doc/guix.texi:17612
39183 #, no-wrap
39184 msgid ""
39185 "(service mpd-service-type\n"
39186 " (mpd-configuration\n"
39187 " (user \"bob\")\n"
39188 " (port \"6666\")))\n"
39189 msgstr ""
39190
39191 #. type: defvr
39192 #: doc/guix.texi:17614
39193 #, no-wrap
39194 msgid "{Scheme Variable} mpd-service-type"
39195 msgstr ""
39196
39197 #. type: defvr
39198 #: doc/guix.texi:17616
39199 msgid "The service type for @command{mpd}"
39200 msgstr ""
39201
39202 #. type: deftp
39203 #: doc/guix.texi:17618
39204 #, no-wrap
39205 msgid "{Data Type} mpd-configuration"
39206 msgstr ""
39207
39208 #. type: deftp
39209 #: doc/guix.texi:17620
39210 msgid "Data type representing the configuration of @command{mpd}."
39211 msgstr ""
39212
39213 #. type: item
39214 #: doc/guix.texi:17622
39215 #, no-wrap
39216 msgid "@code{user} (default: @code{\"mpd\"})"
39217 msgstr ""
39218
39219 #. type: table
39220 #: doc/guix.texi:17624
39221 msgid "The user to run mpd as."
39222 msgstr ""
39223
39224 #. type: item
39225 #: doc/guix.texi:17625
39226 #, no-wrap
39227 msgid "@code{music-dir} (default: @code{\"~/Music\"})"
39228 msgstr ""
39229
39230 #. type: table
39231 #: doc/guix.texi:17627
39232 msgid "The directory to scan for music files."
39233 msgstr ""
39234
39235 #. type: item
39236 #: doc/guix.texi:17628
39237 #, no-wrap
39238 msgid "@code{playlist-dir} (default: @code{\"~/.mpd/playlists\"})"
39239 msgstr ""
39240
39241 #. type: table
39242 #: doc/guix.texi:17630
39243 msgid "The directory to store playlists."
39244 msgstr ""
39245
39246 #. type: item
39247 #: doc/guix.texi:17631
39248 #, no-wrap
39249 msgid "@code{port} (default: @code{\"6600\"})"
39250 msgstr ""
39251
39252 #. type: table
39253 #: doc/guix.texi:17633
39254 msgid "The port to run mpd on."
39255 msgstr ""
39256
39257 #. type: item
39258 #: doc/guix.texi:17634
39259 #, no-wrap
39260 msgid "@code{address} (default: @code{\"any\"})"
39261 msgstr ""
39262
39263 #. type: table
39264 #: doc/guix.texi:17637
39265 msgid ""
39266 "The address that mpd will bind to. To use a Unix domain socket, an absolute "
39267 "path can be specified here."
39268 msgstr ""
39269
39270 #. type: subsubsection
39271 #: doc/guix.texi:17642
39272 #, no-wrap
39273 msgid "Virtualization services"
39274 msgstr ""
39275
39276 #. type: Plain text
39277 #: doc/guix.texi:17647
39278 msgid ""
39279 "The @code{(gnu services virtualization)} module provides services for the "
39280 "libvirt and virtlog daemons, as well as other virtualization-related "
39281 "services."
39282 msgstr ""
39283
39284 #. type: subsubheading
39285 #: doc/guix.texi:17648
39286 #, no-wrap
39287 msgid "Libvirt daemon"
39288 msgstr ""
39289
39290 #. type: Plain text
39291 #: doc/guix.texi:17652
39292 msgid ""
39293 "@code{libvirtd} is the server side daemon component of the libvirt "
39294 "virtualization management system. This daemon runs on host servers and "
39295 "performs required management tasks for virtualized guests."
39296 msgstr ""
39297
39298 #. type: deffn
39299 #: doc/guix.texi:17653
39300 #, no-wrap
39301 msgid "{Scheme Variable} libvirt-service-type"
39302 msgstr ""
39303
39304 #. type: deffn
39305 #: doc/guix.texi:17656
39306 msgid ""
39307 "This is the type of the @uref{https://libvirt.org, libvirt daemon}. Its "
39308 "value must be a @code{libvirt-configuration}."
39309 msgstr ""
39310
39311 #. type: example
39312 #: doc/guix.texi:17662
39313 #, no-wrap
39314 msgid ""
39315 "(service libvirt-service-type\n"
39316 " (libvirt-configuration\n"
39317 " (unix-sock-group \"libvirt\")\n"
39318 " (tls-port \"16555\")))\n"
39319 msgstr ""
39320
39321 #. type: Plain text
39322 #: doc/guix.texi:17667
39323 msgid "Available @code{libvirt-configuration} fields are:"
39324 msgstr ""
39325
39326 #. type: deftypevr
39327 #: doc/guix.texi:17668
39328 #, no-wrap
39329 msgid "{@code{libvirt-configuration} parameter} package libvirt"
39330 msgstr ""
39331
39332 #. type: deftypevr
39333 #: doc/guix.texi:17670
39334 msgid "Libvirt package."
39335 msgstr ""
39336
39337 #. type: deftypevr
39338 #: doc/guix.texi:17673
39339 #, no-wrap
39340 msgid "{@code{libvirt-configuration} parameter} boolean listen-tls?"
39341 msgstr ""
39342
39343 #. type: deftypevr
39344 #: doc/guix.texi:17676
39345 msgid ""
39346 "Flag listening for secure TLS connections on the public TCP/IP port. must "
39347 "set @code{listen} for this to have any effect."
39348 msgstr ""
39349
39350 #. type: deftypevr
39351 #: doc/guix.texi:17679
39352 msgid ""
39353 "It is necessary to setup a CA and issue server certificates before using "
39354 "this capability."
39355 msgstr ""
39356
39357 #. type: deftypevr
39358 #: doc/guix.texi:17684
39359 #, no-wrap
39360 msgid "{@code{libvirt-configuration} parameter} boolean listen-tcp?"
39361 msgstr ""
39362
39363 #. type: deftypevr
39364 #: doc/guix.texi:17687
39365 msgid ""
39366 "Listen for unencrypted TCP connections on the public TCP/IP port. must set "
39367 "@code{listen} for this to have any effect."
39368 msgstr ""
39369
39370 #. type: deftypevr
39371 #: doc/guix.texi:17691
39372 msgid ""
39373 "Using the TCP socket requires SASL authentication by default. Only SASL "
39374 "mechanisms which support data encryption are allowed. This is DIGEST_MD5 "
39375 "and GSSAPI (Kerberos5)"
39376 msgstr ""
39377
39378 #. type: deftypevr
39379 #: doc/guix.texi:17696
39380 #, no-wrap
39381 msgid "{@code{libvirt-configuration} parameter} string tls-port"
39382 msgstr ""
39383
39384 #. type: deftypevr
39385 #: doc/guix.texi:17699
39386 msgid ""
39387 "Port for accepting secure TLS connections This can be a port number, or "
39388 "service name"
39389 msgstr ""
39390
39391 #. type: deftypevr
39392 #: doc/guix.texi:17701
39393 msgid "Defaults to @samp{\"16514\"}."
39394 msgstr ""
39395
39396 #. type: deftypevr
39397 #: doc/guix.texi:17704
39398 #, no-wrap
39399 msgid "{@code{libvirt-configuration} parameter} string tcp-port"
39400 msgstr ""
39401
39402 #. type: deftypevr
39403 #: doc/guix.texi:17707
39404 msgid ""
39405 "Port for accepting insecure TCP connections This can be a port number, or "
39406 "service name"
39407 msgstr ""
39408
39409 #. type: deftypevr
39410 #: doc/guix.texi:17709
39411 msgid "Defaults to @samp{\"16509\"}."
39412 msgstr ""
39413
39414 #. type: deftypevr
39415 #: doc/guix.texi:17712
39416 #, no-wrap
39417 msgid "{@code{libvirt-configuration} parameter} string listen-addr"
39418 msgstr ""
39419
39420 #. type: deftypevr
39421 #: doc/guix.texi:17714
39422 msgid "IP address or hostname used for client connections."
39423 msgstr ""
39424
39425 #. type: deftypevr
39426 #: doc/guix.texi:17716
39427 msgid "Defaults to @samp{\"0.0.0.0\"}."
39428 msgstr ""
39429
39430 #. type: deftypevr
39431 #: doc/guix.texi:17719
39432 #, no-wrap
39433 msgid "{@code{libvirt-configuration} parameter} boolean mdns-adv?"
39434 msgstr ""
39435
39436 #. type: deftypevr
39437 #: doc/guix.texi:17721
39438 msgid "Flag toggling mDNS advertisement of the libvirt service."
39439 msgstr ""
39440
39441 #. type: deftypevr
39442 #: doc/guix.texi:17724
39443 msgid ""
39444 "Alternatively can disable for all services on a host by stopping the Avahi "
39445 "daemon."
39446 msgstr ""
39447
39448 #. type: deftypevr
39449 #: doc/guix.texi:17729
39450 #, no-wrap
39451 msgid "{@code{libvirt-configuration} parameter} string mdns-name"
39452 msgstr ""
39453
39454 #. type: deftypevr
39455 #: doc/guix.texi:17732
39456 msgid ""
39457 "Default mDNS advertisement name. This must be unique on the immediate "
39458 "broadcast network."
39459 msgstr ""
39460
39461 #. type: deftypevr
39462 #: doc/guix.texi:17734
39463 msgid "Defaults to @samp{\"Virtualization Host <hostname>\"}."
39464 msgstr ""
39465
39466 #. type: deftypevr
39467 #: doc/guix.texi:17737
39468 #, no-wrap
39469 msgid "{@code{libvirt-configuration} parameter} string unix-sock-group"
39470 msgstr ""
39471
39472 #. type: deftypevr
39473 #: doc/guix.texi:17741
39474 msgid ""
39475 "UNIX domain socket group ownership. This can be used to allow a 'trusted' "
39476 "set of users access to management capabilities without becoming root."
39477 msgstr ""
39478
39479 #. type: deftypevr
39480 #: doc/guix.texi:17743
39481 msgid "Defaults to @samp{\"root\"}."
39482 msgstr ""
39483
39484 #. type: deftypevr
39485 #: doc/guix.texi:17746
39486 #, no-wrap
39487 msgid "{@code{libvirt-configuration} parameter} string unix-sock-ro-perms"
39488 msgstr ""
39489
39490 #. type: deftypevr
39491 #: doc/guix.texi:17749
39492 msgid ""
39493 "UNIX socket permissions for the R/O socket. This is used for monitoring VM "
39494 "status only."
39495 msgstr ""
39496
39497 #. type: deftypevr
39498 #: doc/guix.texi:17751 doc/guix.texi:17769
39499 msgid "Defaults to @samp{\"0777\"}."
39500 msgstr ""
39501
39502 #. type: deftypevr
39503 #: doc/guix.texi:17754
39504 #, no-wrap
39505 msgid "{@code{libvirt-configuration} parameter} string unix-sock-rw-perms"
39506 msgstr ""
39507
39508 #. type: deftypevr
39509 #: doc/guix.texi:17758
39510 msgid ""
39511 "UNIX socket permissions for the R/W socket. Default allows only root. If "
39512 "PolicyKit is enabled on the socket, the default will change to allow "
39513 "everyone (eg, 0777)"
39514 msgstr ""
39515
39516 #. type: deftypevr
39517 #: doc/guix.texi:17760
39518 msgid "Defaults to @samp{\"0770\"}."
39519 msgstr ""
39520
39521 #. type: deftypevr
39522 #: doc/guix.texi:17763
39523 #, no-wrap
39524 msgid "{@code{libvirt-configuration} parameter} string unix-sock-admin-perms"
39525 msgstr ""
39526
39527 #. type: deftypevr
39528 #: doc/guix.texi:17767
39529 msgid ""
39530 "UNIX socket permissions for the admin socket. Default allows only owner "
39531 "(root), do not change it unless you are sure to whom you are exposing the "
39532 "access to."
39533 msgstr ""
39534
39535 #. type: deftypevr
39536 #: doc/guix.texi:17772
39537 #, no-wrap
39538 msgid "{@code{libvirt-configuration} parameter} string unix-sock-dir"
39539 msgstr ""
39540
39541 #. type: deftypevr
39542 #: doc/guix.texi:17774
39543 msgid "The directory in which sockets will be found/created."
39544 msgstr ""
39545
39546 #. type: deftypevr
39547 #: doc/guix.texi:17776
39548 msgid "Defaults to @samp{\"/var/run/libvirt\"}."
39549 msgstr ""
39550
39551 #. type: deftypevr
39552 #: doc/guix.texi:17779
39553 #, no-wrap
39554 msgid "{@code{libvirt-configuration} parameter} string auth-unix-ro"
39555 msgstr ""
39556
39557 #. type: deftypevr
39558 #: doc/guix.texi:17782
39559 msgid ""
39560 "Authentication scheme for UNIX read-only sockets. By default socket "
39561 "permissions allow anyone to connect"
39562 msgstr ""
39563
39564 #. type: deftypevr
39565 #: doc/guix.texi:17784 doc/guix.texi:17793
39566 msgid "Defaults to @samp{\"polkit\"}."
39567 msgstr ""
39568
39569 #. type: deftypevr
39570 #: doc/guix.texi:17787
39571 #, no-wrap
39572 msgid "{@code{libvirt-configuration} parameter} string auth-unix-rw"
39573 msgstr ""
39574
39575 #. type: deftypevr
39576 #: doc/guix.texi:17791
39577 msgid ""
39578 "Authentication scheme for UNIX read-write sockets. By default socket "
39579 "permissions only allow root. If PolicyKit support was compiled into "
39580 "libvirt, the default will be to use 'polkit' auth."
39581 msgstr ""
39582
39583 #. type: deftypevr
39584 #: doc/guix.texi:17796
39585 #, no-wrap
39586 msgid "{@code{libvirt-configuration} parameter} string auth-tcp"
39587 msgstr ""
39588
39589 #. type: deftypevr
39590 #: doc/guix.texi:17800
39591 msgid ""
39592 "Authentication scheme for TCP sockets. If you don't enable SASL, then all "
39593 "TCP traffic is cleartext. Don't do this outside of a dev/test scenario."
39594 msgstr ""
39595
39596 #. type: deftypevr
39597 #: doc/guix.texi:17802
39598 msgid "Defaults to @samp{\"sasl\"}."
39599 msgstr ""
39600
39601 #. type: deftypevr
39602 #: doc/guix.texi:17805
39603 #, no-wrap
39604 msgid "{@code{libvirt-configuration} parameter} string auth-tls"
39605 msgstr ""
39606
39607 #. type: deftypevr
39608 #: doc/guix.texi:17809
39609 msgid ""
39610 "Authentication scheme for TLS sockets. TLS sockets already have encryption "
39611 "provided by the TLS layer, and limited authentication is done by "
39612 "certificates."
39613 msgstr ""
39614
39615 #. type: deftypevr
39616 #: doc/guix.texi:17812
39617 msgid ""
39618 "It is possible to make use of any SASL authentication mechanism as well, by "
39619 "using 'sasl' for this option"
39620 msgstr ""
39621
39622 #. type: deftypevr
39623 #: doc/guix.texi:17814
39624 msgid "Defaults to @samp{\"none\"}."
39625 msgstr ""
39626
39627 #. type: deftypevr
39628 #: doc/guix.texi:17817
39629 #, no-wrap
39630 msgid "{@code{libvirt-configuration} parameter} optional-list access-drivers"
39631 msgstr ""
39632
39633 #. type: deftypevr
39634 #: doc/guix.texi:17819
39635 msgid "API access control scheme."
39636 msgstr ""
39637
39638 #. type: deftypevr
39639 #: doc/guix.texi:17822
39640 msgid ""
39641 "By default an authenticated user is allowed access to all APIs. Access "
39642 "drivers can place restrictions on this."
39643 msgstr ""
39644
39645 #. type: deftypevr
39646 #: doc/guix.texi:17827
39647 #, no-wrap
39648 msgid "{@code{libvirt-configuration} parameter} string key-file"
39649 msgstr ""
39650
39651 #. type: deftypevr
39652 #: doc/guix.texi:17830
39653 msgid ""
39654 "Server key file path. If set to an empty string, then no private key is "
39655 "loaded."
39656 msgstr ""
39657
39658 #. type: deftypevr
39659 #: doc/guix.texi:17835
39660 #, no-wrap
39661 msgid "{@code{libvirt-configuration} parameter} string cert-file"
39662 msgstr ""
39663
39664 #. type: deftypevr
39665 #: doc/guix.texi:17838
39666 msgid ""
39667 "Server key file path. If set to an empty string, then no certificate is "
39668 "loaded."
39669 msgstr ""
39670
39671 #. type: deftypevr
39672 #: doc/guix.texi:17843
39673 #, no-wrap
39674 msgid "{@code{libvirt-configuration} parameter} string ca-file"
39675 msgstr ""
39676
39677 #. type: deftypevr
39678 #: doc/guix.texi:17846
39679 msgid ""
39680 "Server key file path. If set to an empty string, then no CA certificate is "
39681 "loaded."
39682 msgstr ""
39683
39684 #. type: deftypevr
39685 #: doc/guix.texi:17851
39686 #, no-wrap
39687 msgid "{@code{libvirt-configuration} parameter} string crl-file"
39688 msgstr ""
39689
39690 #. type: deftypevr
39691 #: doc/guix.texi:17854
39692 msgid ""
39693 "Certificate revocation list path. If set to an empty string, then no CRL is "
39694 "loaded."
39695 msgstr ""
39696
39697 #. type: deftypevr
39698 #: doc/guix.texi:17859
39699 #, no-wrap
39700 msgid "{@code{libvirt-configuration} parameter} boolean tls-no-sanity-cert"
39701 msgstr ""
39702
39703 #. type: deftypevr
39704 #: doc/guix.texi:17861
39705 msgid "Disable verification of our own server certificates."
39706 msgstr ""
39707
39708 #. type: deftypevr
39709 #: doc/guix.texi:17864
39710 msgid ""
39711 "When libvirtd starts it performs some sanity checks against its own "
39712 "certificates."
39713 msgstr ""
39714
39715 #. type: deftypevr
39716 #: doc/guix.texi:17869
39717 #, no-wrap
39718 msgid "{@code{libvirt-configuration} parameter} boolean tls-no-verify-cert"
39719 msgstr ""
39720
39721 #. type: deftypevr
39722 #: doc/guix.texi:17871
39723 msgid "Disable verification of client certificates."
39724 msgstr ""
39725
39726 #. type: deftypevr
39727 #: doc/guix.texi:17875
39728 msgid ""
39729 "Client certificate verification is the primary authentication mechanism. "
39730 "Any client which does not present a certificate signed by the CA will be "
39731 "rejected."
39732 msgstr ""
39733
39734 #. type: deftypevr
39735 #: doc/guix.texi:17880
39736 #, no-wrap
39737 msgid "{@code{libvirt-configuration} parameter} optional-list tls-allowed-dn-list"
39738 msgstr ""
39739
39740 #. type: deftypevr
39741 #: doc/guix.texi:17882
39742 msgid "Whitelist of allowed x509 Distinguished Name."
39743 msgstr ""
39744
39745 #. type: deftypevr
39746 #: doc/guix.texi:17887
39747 #, no-wrap
39748 msgid "{@code{libvirt-configuration} parameter} optional-list sasl-allowed-usernames"
39749 msgstr ""
39750
39751 #. type: deftypevr
39752 #: doc/guix.texi:17890
39753 msgid ""
39754 "Whitelist of allowed SASL usernames. The format for username depends on the "
39755 "SASL authentication mechanism."
39756 msgstr ""
39757
39758 #. type: deftypevr
39759 #: doc/guix.texi:17895
39760 #, no-wrap
39761 msgid "{@code{libvirt-configuration} parameter} string tls-priority"
39762 msgstr ""
39763
39764 #. type: deftypevr
39765 #: doc/guix.texi:17899
39766 msgid ""
39767 "Override the compile time default TLS priority string. The default is "
39768 "usually \"NORMAL\" unless overridden at build time. Only set this is it is "
39769 "desired for libvirt to deviate from the global default settings."
39770 msgstr ""
39771
39772 #. type: deftypevr
39773 #: doc/guix.texi:17901
39774 msgid "Defaults to @samp{\"NORMAL\"}."
39775 msgstr ""
39776
39777 #. type: deftypevr
39778 #: doc/guix.texi:17904
39779 #, no-wrap
39780 msgid "{@code{libvirt-configuration} parameter} integer max-clients"
39781 msgstr ""
39782
39783 #. type: deftypevr
39784 #: doc/guix.texi:17907 doc/guix.texi:18330
39785 msgid ""
39786 "Maximum number of concurrent client connections to allow over all sockets "
39787 "combined."
39788 msgstr ""
39789
39790 #. type: deftypevr
39791 #: doc/guix.texi:17909
39792 msgid "Defaults to @samp{5000}."
39793 msgstr ""
39794
39795 #. type: deftypevr
39796 #: doc/guix.texi:17912
39797 #, no-wrap
39798 msgid "{@code{libvirt-configuration} parameter} integer max-queued-clients"
39799 msgstr ""
39800
39801 #. type: deftypevr
39802 #: doc/guix.texi:17916
39803 msgid ""
39804 "Maximum length of queue of connections waiting to be accepted by the "
39805 "daemon. Note, that some protocols supporting retransmission may obey this "
39806 "so that a later reattempt at connection succeeds."
39807 msgstr ""
39808
39809 #. type: deftypevr
39810 #: doc/guix.texi:17921
39811 #, no-wrap
39812 msgid "{@code{libvirt-configuration} parameter} integer max-anonymous-clients"
39813 msgstr ""
39814
39815 #. type: deftypevr
39816 #: doc/guix.texi:17924
39817 msgid ""
39818 "Maximum length of queue of accepted but not yet authenticated clients. Set "
39819 "this to zero to turn this feature off"
39820 msgstr ""
39821
39822 #. type: deftypevr
39823 #: doc/guix.texi:17926 doc/guix.texi:17944 doc/guix.texi:17960
39824 msgid "Defaults to @samp{20}."
39825 msgstr ""
39826
39827 #. type: deftypevr
39828 #: doc/guix.texi:17929
39829 #, no-wrap
39830 msgid "{@code{libvirt-configuration} parameter} integer min-workers"
39831 msgstr ""
39832
39833 #. type: deftypevr
39834 #: doc/guix.texi:17931
39835 msgid "Number of workers to start up initially."
39836 msgstr ""
39837
39838 #. type: deftypevr
39839 #: doc/guix.texi:17936
39840 #, no-wrap
39841 msgid "{@code{libvirt-configuration} parameter} integer max-workers"
39842 msgstr ""
39843
39844 #. type: deftypevr
39845 #: doc/guix.texi:17938
39846 msgid "Maximum number of worker threads."
39847 msgstr ""
39848
39849 #. type: deftypevr
39850 #: doc/guix.texi:17942
39851 msgid ""
39852 "If the number of active clients exceeds @code{min-workers}, then more "
39853 "threads are spawned, up to max_workers limit. Typically you'd want "
39854 "max_workers to equal maximum number of clients allowed."
39855 msgstr ""
39856
39857 #. type: deftypevr
39858 #: doc/guix.texi:17947
39859 #, no-wrap
39860 msgid "{@code{libvirt-configuration} parameter} integer prio-workers"
39861 msgstr ""
39862
39863 #. type: deftypevr
39864 #: doc/guix.texi:17951
39865 msgid ""
39866 "Number of priority workers. If all workers from above pool are stuck, some "
39867 "calls marked as high priority (notably domainDestroy) can be executed in "
39868 "this pool."
39869 msgstr ""
39870
39871 #. type: deftypevr
39872 #: doc/guix.texi:17956
39873 #, no-wrap
39874 msgid "{@code{libvirt-configuration} parameter} integer max-requests"
39875 msgstr ""
39876
39877 #. type: deftypevr
39878 #: doc/guix.texi:17958
39879 msgid "Total global limit on concurrent RPC calls."
39880 msgstr ""
39881
39882 #. type: deftypevr
39883 #: doc/guix.texi:17963
39884 #, no-wrap
39885 msgid "{@code{libvirt-configuration} parameter} integer max-client-requests"
39886 msgstr ""
39887
39888 #. type: deftypevr
39889 #: doc/guix.texi:17967
39890 msgid ""
39891 "Limit on concurrent requests from a single client connection. To avoid one "
39892 "client monopolizing the server this should be a small fraction of the global "
39893 "max_requests and max_workers parameter."
39894 msgstr ""
39895
39896 #. type: deftypevr
39897 #: doc/guix.texi:17972
39898 #, no-wrap
39899 msgid "{@code{libvirt-configuration} parameter} integer admin-min-workers"
39900 msgstr ""
39901
39902 #. type: deftypevr
39903 #: doc/guix.texi:17974
39904 msgid "Same as @code{min-workers} but for the admin interface."
39905 msgstr ""
39906
39907 #. type: deftypevr
39908 #: doc/guix.texi:17979
39909 #, no-wrap
39910 msgid "{@code{libvirt-configuration} parameter} integer admin-max-workers"
39911 msgstr ""
39912
39913 #. type: deftypevr
39914 #: doc/guix.texi:17981
39915 msgid "Same as @code{max-workers} but for the admin interface."
39916 msgstr ""
39917
39918 #. type: deftypevr
39919 #: doc/guix.texi:17986
39920 #, no-wrap
39921 msgid "{@code{libvirt-configuration} parameter} integer admin-max-clients"
39922 msgstr ""
39923
39924 #. type: deftypevr
39925 #: doc/guix.texi:17988
39926 msgid "Same as @code{max-clients} but for the admin interface."
39927 msgstr ""
39928
39929 #. type: deftypevr
39930 #: doc/guix.texi:17993
39931 #, no-wrap
39932 msgid "{@code{libvirt-configuration} parameter} integer admin-max-queued-clients"
39933 msgstr ""
39934
39935 #. type: deftypevr
39936 #: doc/guix.texi:17995
39937 msgid "Same as @code{max-queued-clients} but for the admin interface."
39938 msgstr ""
39939
39940 #. type: deftypevr
39941 #: doc/guix.texi:18000
39942 #, no-wrap
39943 msgid "{@code{libvirt-configuration} parameter} integer admin-max-client-requests"
39944 msgstr ""
39945
39946 #. type: deftypevr
39947 #: doc/guix.texi:18002
39948 msgid "Same as @code{max-client-requests} but for the admin interface."
39949 msgstr ""
39950
39951 #. type: deftypevr
39952 #: doc/guix.texi:18007
39953 #, no-wrap
39954 msgid "{@code{libvirt-configuration} parameter} integer log-level"
39955 msgstr ""
39956
39957 #. type: deftypevr
39958 #: doc/guix.texi:18009 doc/guix.texi:18232
39959 msgid "Logging level. 4 errors, 3 warnings, 2 information, 1 debug."
39960 msgstr ""
39961
39962 #. type: deftypevr
39963 #: doc/guix.texi:18014
39964 #, no-wrap
39965 msgid "{@code{libvirt-configuration} parameter} string log-filters"
39966 msgstr ""
39967
39968 #. type: deftypevr
39969 #: doc/guix.texi:18016 doc/guix.texi:18239
39970 msgid "Logging filters."
39971 msgstr ""
39972
39973 #. type: deftypevr
39974 #: doc/guix.texi:18019 doc/guix.texi:18242
39975 msgid ""
39976 "A filter allows to select a different logging level for a given category of "
39977 "logs The format for a filter is one of:"
39978 msgstr ""
39979
39980 #. type: itemize
39981 #: doc/guix.texi:18023 doc/guix.texi:18246
39982 msgid "x:name"
39983 msgstr ""
39984
39985 #. type: itemize
39986 #: doc/guix.texi:18026 doc/guix.texi:18249
39987 msgid "x:+name"
39988 msgstr ""
39989
39990 #. type: deftypevr
39991 #: doc/guix.texi:18036 doc/guix.texi:18259
39992 msgid ""
39993 "where @code{name} is a string which is matched against the category given in "
39994 "the @code{VIR_LOG_INIT()} at the top of each libvirt source file, e.g., "
39995 "\"remote\", \"qemu\", or \"util.json\" (the name in the filter can be a "
39996 "substring of the full category name, in order to match multiple similar "
39997 "categories), the optional \"+\" prefix tells libvirt to log stack trace for "
39998 "each message matching name, and @code{x} is the minimal level where matching "
39999 "messages should be logged:"
40000 msgstr ""
40001
40002 #. type: itemize
40003 #: doc/guix.texi:18040 doc/guix.texi:18085 doc/guix.texi:18263
40004 #: doc/guix.texi:18308
40005 msgid "1: DEBUG"
40006 msgstr ""
40007
40008 #. type: itemize
40009 #: doc/guix.texi:18043 doc/guix.texi:18088 doc/guix.texi:18266
40010 #: doc/guix.texi:18311
40011 msgid "2: INFO"
40012 msgstr ""
40013
40014 #. type: itemize
40015 #: doc/guix.texi:18046 doc/guix.texi:18091 doc/guix.texi:18269
40016 #: doc/guix.texi:18314
40017 msgid "3: WARNING"
40018 msgstr ""
40019
40020 #. type: itemize
40021 #: doc/guix.texi:18049 doc/guix.texi:18094 doc/guix.texi:18272
40022 #: doc/guix.texi:18317
40023 msgid "4: ERROR"
40024 msgstr ""
40025
40026 #. type: deftypevr
40027 #: doc/guix.texi:18054 doc/guix.texi:18277
40028 msgid ""
40029 "Multiple filters can be defined in a single filters statement, they just "
40030 "need to be separated by spaces."
40031 msgstr ""
40032
40033 #. type: deftypevr
40034 #: doc/guix.texi:18056 doc/guix.texi:18279
40035 msgid "Defaults to @samp{\"3:remote 4:event\"}."
40036 msgstr ""
40037
40038 #. type: deftypevr
40039 #: doc/guix.texi:18059
40040 #, no-wrap
40041 msgid "{@code{libvirt-configuration} parameter} string log-outputs"
40042 msgstr ""
40043
40044 #. type: deftypevr
40045 #: doc/guix.texi:18061 doc/guix.texi:18284
40046 msgid "Logging outputs."
40047 msgstr ""
40048
40049 #. type: deftypevr
40050 #: doc/guix.texi:18064 doc/guix.texi:18287
40051 msgid ""
40052 "An output is one of the places to save logging information The format for an "
40053 "output can be:"
40054 msgstr ""
40055
40056 #. type: item
40057 #: doc/guix.texi:18066 doc/guix.texi:18289
40058 #, no-wrap
40059 msgid "x:stderr"
40060 msgstr ""
40061
40062 #. type: table
40063 #: doc/guix.texi:18068 doc/guix.texi:18291
40064 msgid "output goes to stderr"
40065 msgstr ""
40066
40067 #. type: item
40068 #: doc/guix.texi:18069 doc/guix.texi:18292
40069 #, no-wrap
40070 msgid "x:syslog:name"
40071 msgstr ""
40072
40073 #. type: table
40074 #: doc/guix.texi:18071 doc/guix.texi:18294
40075 msgid "use syslog for the output and use the given name as the ident"
40076 msgstr ""
40077
40078 #. type: item
40079 #: doc/guix.texi:18072 doc/guix.texi:18295
40080 #, no-wrap
40081 msgid "x:file:file_path"
40082 msgstr ""
40083
40084 #. type: table
40085 #: doc/guix.texi:18074 doc/guix.texi:18297
40086 msgid "output to a file, with the given filepath"
40087 msgstr ""
40088
40089 #. type: item
40090 #: doc/guix.texi:18075 doc/guix.texi:18298
40091 #, no-wrap
40092 msgid "x:journald"
40093 msgstr ""
40094
40095 #. type: table
40096 #: doc/guix.texi:18077 doc/guix.texi:18300
40097 msgid "output to journald logging system"
40098 msgstr ""
40099
40100 #. type: deftypevr
40101 #: doc/guix.texi:18081 doc/guix.texi:18304
40102 msgid "In all case the x prefix is the minimal level, acting as a filter"
40103 msgstr ""
40104
40105 #. type: deftypevr
40106 #: doc/guix.texi:18099 doc/guix.texi:18322
40107 msgid ""
40108 "Multiple outputs can be defined, they just need to be separated by spaces."
40109 msgstr ""
40110
40111 #. type: deftypevr
40112 #: doc/guix.texi:18101 doc/guix.texi:18324
40113 msgid "Defaults to @samp{\"3:stderr\"}."
40114 msgstr ""
40115
40116 #. type: deftypevr
40117 #: doc/guix.texi:18104
40118 #, no-wrap
40119 msgid "{@code{libvirt-configuration} parameter} integer audit-level"
40120 msgstr ""
40121
40122 #. type: deftypevr
40123 #: doc/guix.texi:18106
40124 msgid "Allows usage of the auditing subsystem to be altered"
40125 msgstr ""
40126
40127 #. type: itemize
40128 #: doc/guix.texi:18110
40129 msgid "0: disable all auditing"
40130 msgstr ""
40131
40132 #. type: itemize
40133 #: doc/guix.texi:18113
40134 msgid "1: enable auditing, only if enabled on host"
40135 msgstr ""
40136
40137 #. type: itemize
40138 #: doc/guix.texi:18116
40139 msgid "2: enable auditing, and exit if disabled on host."
40140 msgstr ""
40141
40142 #. type: deftypevr
40143 #: doc/guix.texi:18123
40144 #, no-wrap
40145 msgid "{@code{libvirt-configuration} parameter} boolean audit-logging"
40146 msgstr ""
40147
40148 #. type: deftypevr
40149 #: doc/guix.texi:18125
40150 msgid "Send audit messages via libvirt logging infrastructure."
40151 msgstr ""
40152
40153 #. type: deftypevr
40154 #: doc/guix.texi:18130
40155 #, no-wrap
40156 msgid "{@code{libvirt-configuration} parameter} optional-string host-uuid"
40157 msgstr ""
40158
40159 #. type: deftypevr
40160 #: doc/guix.texi:18132
40161 msgid "Host UUID. UUID must not have all digits be the same."
40162 msgstr ""
40163
40164 #. type: deftypevr
40165 #: doc/guix.texi:18137
40166 #, no-wrap
40167 msgid "{@code{libvirt-configuration} parameter} string host-uuid-source"
40168 msgstr ""
40169
40170 #. type: deftypevr
40171 #: doc/guix.texi:18139
40172 msgid "Source to read host UUID."
40173 msgstr ""
40174
40175 #. type: itemize
40176 #: doc/guix.texi:18143
40177 msgid "@code{smbios}: fetch the UUID from @code{dmidecode -s system-uuid}"
40178 msgstr ""
40179
40180 #. type: itemize
40181 #: doc/guix.texi:18146
40182 msgid "@code{machine-id}: fetch the UUID from @code{/etc/machine-id}"
40183 msgstr ""
40184
40185 #. type: deftypevr
40186 #: doc/guix.texi:18151
40187 msgid ""
40188 "If @code{dmidecode} does not provide a valid UUID a temporary UUID will be "
40189 "generated."
40190 msgstr ""
40191
40192 #. type: deftypevr
40193 #: doc/guix.texi:18153
40194 msgid "Defaults to @samp{\"smbios\"}."
40195 msgstr ""
40196
40197 #. type: deftypevr
40198 #: doc/guix.texi:18156
40199 #, no-wrap
40200 msgid "{@code{libvirt-configuration} parameter} integer keepalive-interval"
40201 msgstr ""
40202
40203 #. type: deftypevr
40204 #: doc/guix.texi:18161
40205 msgid ""
40206 "A keepalive message is sent to a client after @code{keepalive_interval} "
40207 "seconds of inactivity to check if the client is still responding. If set to "
40208 "-1, libvirtd will never send keepalive requests; however clients can still "
40209 "send them and the daemon will send responses."
40210 msgstr ""
40211
40212 #. type: deftypevr
40213 #: doc/guix.texi:18166
40214 #, no-wrap
40215 msgid "{@code{libvirt-configuration} parameter} integer keepalive-count"
40216 msgstr ""
40217
40218 #. type: deftypevr
40219 #: doc/guix.texi:18170
40220 msgid ""
40221 "Maximum number of keepalive messages that are allowed to be sent to the "
40222 "client without getting any response before the connection is considered "
40223 "broken."
40224 msgstr ""
40225
40226 #. type: deftypevr
40227 #: doc/guix.texi:18177
40228 msgid ""
40229 "In other words, the connection is automatically closed approximately after "
40230 "@code{keepalive_interval * (keepalive_count + 1)} seconds since the last "
40231 "message received from the client. When @code{keepalive-count} is set to 0, "
40232 "connections will be automatically closed after @code{keepalive-interval} "
40233 "seconds of inactivity without sending any keepalive messages."
40234 msgstr ""
40235
40236 #. type: deftypevr
40237 #: doc/guix.texi:18182
40238 #, no-wrap
40239 msgid "{@code{libvirt-configuration} parameter} integer admin-keepalive-interval"
40240 msgstr ""
40241
40242 #. type: deftypevr
40243 #: doc/guix.texi:18184 doc/guix.texi:18191
40244 msgid "Same as above but for admin interface."
40245 msgstr ""
40246
40247 #. type: deftypevr
40248 #: doc/guix.texi:18189
40249 #, no-wrap
40250 msgid "{@code{libvirt-configuration} parameter} integer admin-keepalive-count"
40251 msgstr ""
40252
40253 #. type: deftypevr
40254 #: doc/guix.texi:18196
40255 #, no-wrap
40256 msgid "{@code{libvirt-configuration} parameter} integer ovs-timeout"
40257 msgstr ""
40258
40259 #. type: deftypevr
40260 #: doc/guix.texi:18198
40261 msgid "Timeout for Open vSwitch calls."
40262 msgstr ""
40263
40264 #. type: deftypevr
40265 #: doc/guix.texi:18202
40266 msgid ""
40267 "The @code{ovs-vsctl} utility is used for the configuration and its timeout "
40268 "option is set by default to 5 seconds to avoid potential infinite waits "
40269 "blocking libvirt."
40270 msgstr ""
40271
40272 #. type: subsubheading
40273 #: doc/guix.texi:18209
40274 #, no-wrap
40275 msgid "Virtlog daemon"
40276 msgstr ""
40277
40278 #. type: Plain text
40279 #: doc/guix.texi:18212
40280 msgid ""
40281 "The virtlogd service is a server side daemon component of libvirt that is "
40282 "used to manage logs from virtual machine consoles."
40283 msgstr ""
40284
40285 #. type: Plain text
40286 #: doc/guix.texi:18218
40287 msgid ""
40288 "This daemon is not used directly by libvirt client applications, rather it "
40289 "is called on their behalf by @code{libvirtd}. By maintaining the logs in a "
40290 "standalone daemon, the main @code{libvirtd} daemon can be restarted without "
40291 "risk of losing logs. The @code{virtlogd} daemon has the ability to re-"
40292 "exec() itself upon receiving @code{SIGUSR1}, to allow live upgrades without "
40293 "downtime."
40294 msgstr ""
40295
40296 #. type: deffn
40297 #: doc/guix.texi:18219
40298 #, no-wrap
40299 msgid "{Scheme Variable} virtlog-service-type"
40300 msgstr ""
40301
40302 #. type: deffn
40303 #: doc/guix.texi:18222
40304 msgid ""
40305 "This is the type of the virtlog daemon. Its value must be a @code{virtlog-"
40306 "configuration}."
40307 msgstr ""
40308
40309 #. type: example
40310 #: doc/guix.texi:18227
40311 #, no-wrap
40312 msgid ""
40313 "(service virtlog-service-type\n"
40314 " (virtlog-configuration\n"
40315 " (max-clients 1000)))\n"
40316 msgstr ""
40317
40318 #. type: deftypevr
40319 #: doc/guix.texi:18230
40320 #, no-wrap
40321 msgid "{@code{virtlog-configuration} parameter} integer log-level"
40322 msgstr ""
40323
40324 #. type: deftypevr
40325 #: doc/guix.texi:18237
40326 #, no-wrap
40327 msgid "{@code{virtlog-configuration} parameter} string log-filters"
40328 msgstr ""
40329
40330 #. type: deftypevr
40331 #: doc/guix.texi:18282
40332 #, no-wrap
40333 msgid "{@code{virtlog-configuration} parameter} string log-outputs"
40334 msgstr ""
40335
40336 #. type: deftypevr
40337 #: doc/guix.texi:18327
40338 #, no-wrap
40339 msgid "{@code{virtlog-configuration} parameter} integer max-clients"
40340 msgstr ""
40341
40342 #. type: deftypevr
40343 #: doc/guix.texi:18332
40344 msgid "Defaults to @samp{1024}."
40345 msgstr ""
40346
40347 #. type: deftypevr
40348 #: doc/guix.texi:18335
40349 #, no-wrap
40350 msgid "{@code{virtlog-configuration} parameter} integer max-size"
40351 msgstr ""
40352
40353 #. type: deftypevr
40354 #: doc/guix.texi:18337
40355 msgid "Maximum file size before rolling over."
40356 msgstr ""
40357
40358 #. type: deftypevr
40359 #: doc/guix.texi:18339
40360 msgid "Defaults to @samp{2MB}"
40361 msgstr ""
40362
40363 #. type: deftypevr
40364 #: doc/guix.texi:18342
40365 #, no-wrap
40366 msgid "{@code{virtlog-configuration} parameter} integer max-backups"
40367 msgstr ""
40368
40369 #. type: deftypevr
40370 #: doc/guix.texi:18344
40371 msgid "Maximum number of backup files to keep."
40372 msgstr ""
40373
40374 #. type: deftypevr
40375 #: doc/guix.texi:18346
40376 msgid "Defaults to @samp{3}"
40377 msgstr ""
40378
40379 #. type: subsubheading
40380 #: doc/guix.texi:18349
40381 #, no-wrap
40382 msgid "Transparent Emulation with QEMU"
40383 msgstr ""
40384
40385 #. type: cindex
40386 #: doc/guix.texi:18351
40387 #, no-wrap
40388 msgid "emulation"
40389 msgstr ""
40390
40391 #. type: code{#1}
40392 #: doc/guix.texi:18352
40393 #, no-wrap
40394 msgid "binfmt_misc"
40395 msgstr ""
40396
40397 #. type: Plain text
40398 #: doc/guix.texi:18358
40399 msgid ""
40400 "@code{qemu-binfmt-service-type} provides support for transparent emulation "
40401 "of program binaries built for different architectures---e.g., it allows you "
40402 "to transparently execute an ARMv7 program on an x86_64 machine. It achieves "
40403 "this by combining the @uref{https://www.qemu.org, QEMU} emulator and the "
40404 "@code{binfmt_misc} feature of the kernel Linux."
40405 msgstr ""
40406
40407 #. type: defvr
40408 #: doc/guix.texi:18359
40409 #, no-wrap
40410 msgid "{Scheme Variable} qemu-binfmt-service-type"
40411 msgstr ""
40412
40413 #. type: defvr
40414 #: doc/guix.texi:18364
40415 msgid ""
40416 "This is the type of the QEMU/binfmt service for transparent emulation. Its "
40417 "value must be a @code{qemu-binfmt-configuration} object, which specifies the "
40418 "QEMU package to use as well as the architecture we want to emulated:"
40419 msgstr ""
40420
40421 #. type: example
40422 #: doc/guix.texi:18369
40423 #, no-wrap
40424 msgid ""
40425 "(service qemu-binfmt-service-type\n"
40426 " (qemu-binfmt-configuration\n"
40427 " (platforms (lookup-qemu-platforms \"arm\" \"aarch64\" \"ppc\"))))\n"
40428 msgstr ""
40429
40430 #. type: defvr
40431 #: doc/guix.texi:18375
40432 msgid ""
40433 "In this example, we enable transparent emulation for the ARM and aarch64 "
40434 "platforms. Running @code{herd stop qemu-binfmt} turns it off, and running "
40435 "@code{herd start qemu-binfmt} turns it back on (@pxref{Invoking herd, the "
40436 "@command{herd} command,, shepherd, The GNU Shepherd Manual})."
40437 msgstr ""
40438
40439 #. type: deftp
40440 #: doc/guix.texi:18377
40441 #, no-wrap
40442 msgid "{Data Type} qemu-binfmt-configuration"
40443 msgstr ""
40444
40445 #. type: deftp
40446 #: doc/guix.texi:18379
40447 msgid "This is the configuration for the @code{qemu-binfmt} service."
40448 msgstr ""
40449
40450 #. type: item
40451 #: doc/guix.texi:18381
40452 #, no-wrap
40453 msgid "@code{platforms} (default: @code{'()})"
40454 msgstr ""
40455
40456 #. type: table
40457 #: doc/guix.texi:18384
40458 msgid ""
40459 "The list of emulated QEMU platforms. Each item must be a @dfn{platform "
40460 "object} as returned by @code{lookup-qemu-platforms} (see below)."
40461 msgstr ""
40462
40463 #. type: item
40464 #: doc/guix.texi:18385
40465 #, no-wrap
40466 msgid "@code{guix-support?} (default: @code{#f})"
40467 msgstr ""
40468
40469 #. type: table
40470 #: doc/guix.texi:18391
40471 msgid ""
40472 "When it is true, QEMU and all its dependencies are added to the build "
40473 "environment of @command{guix-daemon} (@pxref{Invoking guix-daemon, @code{--"
40474 "chroot-directory} option}). This allows the @code{binfmt_misc} handlers to "
40475 "be used within the build environment, which in turn means that you can "
40476 "transparently build programs for another architecture."
40477 msgstr ""
40478
40479 #. type: table
40480 #: doc/guix.texi:18394
40481 msgid ""
40482 "For example, let's suppose you're on an x86_64 machine and you have this "
40483 "service:"
40484 msgstr ""
40485
40486 #. type: example
40487 #: doc/guix.texi:18400
40488 #, no-wrap
40489 msgid ""
40490 "(service qemu-binfmt-service-type\n"
40491 " (qemu-binfmt-configuration\n"
40492 " (platforms (lookup-qemu-platforms \"arm\"))\n"
40493 " (guix-support? #t)))\n"
40494 msgstr ""
40495
40496 #. type: table
40497 #: doc/guix.texi:18403
40498 msgid "You can run:"
40499 msgstr ""
40500
40501 #. type: example
40502 #: doc/guix.texi:18406
40503 #, no-wrap
40504 msgid "guix build -s armhf-linux inkscape\n"
40505 msgstr ""
40506
40507 #. type: table
40508 #: doc/guix.texi:18413
40509 msgid ""
40510 "and it will build Inkscape for ARMv7 @emph{as if it were a native build}, "
40511 "transparently using QEMU to emulate the ARMv7 CPU. Pretty handy if you'd "
40512 "like to test a package build for an architecture you don't have access to!"
40513 msgstr ""
40514
40515 #. type: item
40516 #: doc/guix.texi:18414
40517 #, no-wrap
40518 msgid "@code{qemu} (default: @code{qemu})"
40519 msgstr ""
40520
40521 #. type: table
40522 #: doc/guix.texi:18416
40523 msgid "The QEMU package to use."
40524 msgstr ""
40525
40526 #. type: deffn
40527 #: doc/guix.texi:18419
40528 #, no-wrap
40529 msgid "{Scheme Procedure} lookup-qemu-platforms @var{platforms}@dots{}"
40530 msgstr ""
40531
40532 #. type: deffn
40533 #: doc/guix.texi:18424
40534 msgid ""
40535 "Return the list of QEMU platform objects corresponding to @var{platforms}"
40536 "@dots{}. @var{platforms} must be a list of strings corresponding to "
40537 "platform names, such as @code{\"arm\"}, @code{\"sparc\"}, @code{\"mips64el"
40538 "\"}, and so on."
40539 msgstr ""
40540
40541 #. type: deffn
40542 #: doc/guix.texi:18426
40543 #, no-wrap
40544 msgid "{Scheme Procedure} qemu-platform? @var{obj}"
40545 msgstr ""
40546
40547 #. type: deffn
40548 #: doc/guix.texi:18428
40549 msgid "Return true if @var{obj} is a platform object."
40550 msgstr ""
40551
40552 #. type: deffn
40553 #: doc/guix.texi:18430
40554 #, no-wrap
40555 msgid "{Scheme Procedure} qemu-platform-name @var{platform}"
40556 msgstr ""
40557
40558 #. type: deffn
40559 #: doc/guix.texi:18432
40560 msgid "Return the name of @var{platform}---a string such as @code{\"arm\"}."
40561 msgstr ""
40562
40563 #. type: Plain text
40564 #: doc/guix.texi:18444
40565 msgid ""
40566 "The @code{(gnu services version-control)} module provides a service to allow "
40567 "remote access to local Git repositories. There are three options: the "
40568 "@code{git-daemon-service}, which provides access to repositories via the "
40569 "@code{git://} unsecured TCP-based protocol, extending the @code{nginx} web "
40570 "server to proxy some requests to @code{git-http-backend}, or providing a web "
40571 "interface with @code{cgit-service-type}."
40572 msgstr ""
40573
40574 #. type: deffn
40575 #: doc/guix.texi:18445
40576 #, no-wrap
40577 msgid "{Scheme Procedure} git-daemon-service [#:config (git-daemon-configuration)]"
40578 msgstr ""
40579
40580 #. type: deffn
40581 #: doc/guix.texi:18449
40582 msgid ""
40583 "Return a service that runs @command{git daemon}, a simple TCP server to "
40584 "expose repositories over the Git protocol for anonymous access."
40585 msgstr ""
40586
40587 #. type: deffn
40588 #: doc/guix.texi:18455
40589 msgid ""
40590 "The optional @var{config} argument should be a @code{<git-daemon-"
40591 "configuration>} object, by default it allows read-only access to "
40592 "exported@footnote{By creating the magic file \"git-daemon-export-ok\" in the "
40593 "repository directory.} repositories under @file{/srv/git}."
40594 msgstr ""
40595
40596 #. type: deftp
40597 #: doc/guix.texi:18458
40598 #, no-wrap
40599 msgid "{Data Type} git-daemon-configuration"
40600 msgstr ""
40601
40602 #. type: deftp
40603 #: doc/guix.texi:18460
40604 msgid "Data type representing the configuration for @code{git-daemon-service}."
40605 msgstr ""
40606
40607 #. type: item
40608 #: doc/guix.texi:18462 doc/guix.texi:18518
40609 #, no-wrap
40610 msgid "@code{package} (default: @var{git})"
40611 msgstr ""
40612
40613 #. type: table
40614 #: doc/guix.texi:18464 doc/guix.texi:18520
40615 msgid "Package object of the Git distributed version control system."
40616 msgstr ""
40617
40618 #. type: item
40619 #: doc/guix.texi:18465 doc/guix.texi:18524
40620 #, no-wrap
40621 msgid "@code{export-all?} (default: @var{#f})"
40622 msgstr ""
40623
40624 #. type: table
40625 #: doc/guix.texi:18468
40626 msgid ""
40627 "Whether to allow access for all Git repositories, even if they do not have "
40628 "the @file{git-daemon-export-ok} file."
40629 msgstr ""
40630
40631 #. type: item
40632 #: doc/guix.texi:18469
40633 #, no-wrap
40634 msgid "@code{base-path} (default: @file{/srv/git})"
40635 msgstr ""
40636
40637 #. type: table
40638 #: doc/guix.texi:18474
40639 msgid ""
40640 "Whether to remap all the path requests as relative to the given path. If "
40641 "you run git daemon with @var{(base-path \"/srv/git\")} on example.com, then "
40642 "if you later try to pull @code{git://example.com/hello.git}, git daemon will "
40643 "interpret the path as @code{/srv/git/hello.git}."
40644 msgstr ""
40645
40646 #. type: item
40647 #: doc/guix.texi:18475
40648 #, no-wrap
40649 msgid "@code{user-path} (default: @var{#f})"
40650 msgstr ""
40651
40652 #. type: table
40653 #: doc/guix.texi:18482
40654 msgid ""
40655 "Whether to allow @code{~user} notation to be used in requests. When "
40656 "specified with empty string, requests to @code{git://host/~alice/foo} is "
40657 "taken as a request to access @code{foo} repository in the home directory of "
40658 "user @code{alice}. If @var{(user-path \"path\")} is specified, the same "
40659 "request is taken as a request to access @code{path/foo} repository in the "
40660 "home directory of user @code{alice}."
40661 msgstr ""
40662
40663 #. type: item
40664 #: doc/guix.texi:18483
40665 #, no-wrap
40666 msgid "@code{listen} (default: @var{'()})"
40667 msgstr ""
40668
40669 #. type: table
40670 #: doc/guix.texi:18486
40671 msgid ""
40672 "Whether to listen on specific IP addresses or hostnames, defaults to all."
40673 msgstr ""
40674
40675 #. type: item
40676 #: doc/guix.texi:18487
40677 #, no-wrap
40678 msgid "@code{port} (default: @var{#f})"
40679 msgstr ""
40680
40681 #. type: table
40682 #: doc/guix.texi:18489
40683 msgid "Whether to listen on an alternative port, which defaults to 9418."
40684 msgstr ""
40685
40686 #. type: item
40687 #: doc/guix.texi:18490
40688 #, no-wrap
40689 msgid "@code{whitelist} (default: @var{'()})"
40690 msgstr ""
40691
40692 #. type: table
40693 #: doc/guix.texi:18492
40694 msgid "If not empty, only allow access to this list of directories."
40695 msgstr ""
40696
40697 #. type: item
40698 #: doc/guix.texi:18493
40699 #, no-wrap
40700 msgid "@code{extra-options} (default: @var{'()})"
40701 msgstr ""
40702
40703 #. type: table
40704 #: doc/guix.texi:18496
40705 msgid ""
40706 "Extra options will be passed to @code{git daemon}, please run @command{man "
40707 "git-daemon} for more information."
40708 msgstr ""
40709
40710 #. type: Plain text
40711 #: doc/guix.texi:18510
40712 msgid ""
40713 "The @code{git://} protocol lacks authentication. When you pull from a "
40714 "repository fetched via @code{git://}, you don't know that the data you "
40715 "receive was modified is really coming from the specified host, and you have "
40716 "your connection is subject to eavesdropping. It's better to use an "
40717 "authenticated and encrypted transport, such as @code{https}. Although Git "
40718 "allows you to serve repositories using unsophisticated file-based web "
40719 "servers, there is a faster protocol implemented by the @code{git-http-"
40720 "backend} program. This program is the back-end of a proper Git web "
40721 "service. It is designed to sit behind a FastCGI proxy. @xref{Web "
40722 "Services}, for more on running the necessary @code{fcgiwrap} daemon."
40723 msgstr ""
40724
40725 #. type: Plain text
40726 #: doc/guix.texi:18513
40727 msgid ""
40728 "Guix has a separate configuration data type for serving Git repositories "
40729 "over HTTP."
40730 msgstr ""
40731
40732 #. type: deftp
40733 #: doc/guix.texi:18514
40734 #, no-wrap
40735 msgid "{Data Type} git-http-configuration"
40736 msgstr ""
40737
40738 #. type: deftp
40739 #: doc/guix.texi:18516
40740 msgid "Data type representing the configuration for @code{git-http-service}."
40741 msgstr ""
40742
40743 #. type: item
40744 #: doc/guix.texi:18521
40745 #, no-wrap
40746 msgid "@code{git-root} (default: @file{/srv/git})"
40747 msgstr ""
40748
40749 #. type: table
40750 #: doc/guix.texi:18523
40751 msgid "Directory containing the Git repositories to expose to the world."
40752 msgstr ""
40753
40754 #. type: table
40755 #: doc/guix.texi:18527
40756 msgid ""
40757 "Whether to expose access for all Git repositories in @var{git-root}, even if "
40758 "they do not have the @file{git-daemon-export-ok} file."
40759 msgstr ""
40760
40761 #. type: item
40762 #: doc/guix.texi:18528
40763 #, no-wrap
40764 msgid "@code{uri-path} (default: @file{/git/})"
40765 msgstr ""
40766
40767 #. type: table
40768 #: doc/guix.texi:18533
40769 msgid ""
40770 "Path prefix for Git access. With the default @code{/git/} prefix, this will "
40771 "map @code{http://@var{server}/git/@var{repo}.git} to @code{/srv/git/"
40772 "@var{repo}.git}. Requests whose URI paths do not begin with this prefix are "
40773 "not passed on to this Git instance."
40774 msgstr ""
40775
40776 #. type: item
40777 #: doc/guix.texi:18534
40778 #, no-wrap
40779 msgid "@code{fcgiwrap-socket} (default: @code{127.0.0.1:9000})"
40780 msgstr ""
40781
40782 #. type: table
40783 #: doc/guix.texi:18537
40784 msgid ""
40785 "The socket on which the @code{fcgiwrap} daemon is listening. @xref{Web "
40786 "Services}."
40787 msgstr ""
40788
40789 #. type: Plain text
40790 #: doc/guix.texi:18544
40791 msgid ""
40792 "There is no @code{git-http-service-type}, currently; instead you can create "
40793 "an @code{nginx-location-configuration} from a @code{git-http-configuration} "
40794 "and then add that location to a web server."
40795 msgstr ""
40796
40797 #. type: deffn
40798 #: doc/guix.texi:18545
40799 #, no-wrap
40800 msgid "{Scheme Procedure} git-http-nginx-location-configuration @"
40801 msgstr ""
40802
40803 #. type: deffn
40804 #: doc/guix.texi:18550
40805 msgid ""
40806 "[config=(git-http-configuration)] Compute an @code{nginx-location-"
40807 "configuration} that corresponds to the given Git http configuration. An "
40808 "example nginx service definition to serve the default @file{/srv/git} over "
40809 "HTTPS might be:"
40810 msgstr ""
40811
40812 #. type: example
40813 #: doc/guix.texi:18567
40814 #, no-wrap
40815 msgid ""
40816 "(service nginx-service-type\n"
40817 " (nginx-configuration\n"
40818 " (server-blocks\n"
40819 " (list\n"
40820 " (nginx-server-configuration\n"
40821 " (listen '(\"443 ssl\"))\n"
40822 " (server-name \"git.my-host.org\")\n"
40823 " (ssl-certificate\n"
40824 " \"/etc/letsencrypt/live/git.my-host.org/fullchain.pem\")\n"
40825 " (ssl-certificate-key\n"
40826 " \"/etc/letsencrypt/live/git.my-host.org/privkey.pem\")\n"
40827 " (locations\n"
40828 " (list\n"
40829 " (git-http-nginx-location-configuration\n"
40830 " (git-http-configuration (uri-path \"/\"))))))))))\n"
40831 msgstr ""
40832
40833 #. type: deffn
40834 #: doc/guix.texi:18574
40835 msgid ""
40836 "This example assumes that you are using Let's Encrypt to get your TLS "
40837 "certificate. @xref{Certificate Services}. The default @code{certbot} "
40838 "service will redirect all HTTP traffic on @code{git.my-host.org} to HTTPS. "
40839 "You will also need to add an @code{fcgiwrap} proxy to your system services. "
40840 "@xref{Web Services}."
40841 msgstr ""
40842
40843 #. type: subsubheading
40844 #: doc/guix.texi:18576
40845 #, no-wrap
40846 msgid "Cgit Service"
40847 msgstr ""
40848
40849 #. type: cindex
40850 #: doc/guix.texi:18578
40851 #, no-wrap
40852 msgid "Cgit service"
40853 msgstr ""
40854
40855 #. type: cindex
40856 #: doc/guix.texi:18579
40857 #, no-wrap
40858 msgid "Git, web interface"
40859 msgstr ""
40860
40861 #. type: Plain text
40862 #: doc/guix.texi:18582
40863 msgid ""
40864 "@uref{https://git.zx2c4.com/cgit/, Cgit} is a web frontend for Git "
40865 "repositories written in C."
40866 msgstr ""
40867
40868 #. type: Plain text
40869 #: doc/guix.texi:18585
40870 msgid ""
40871 "The following example will configure the service with default values. By "
40872 "default, Cgit can be accessed on port 80 (@code{http://localhost:80})."
40873 msgstr ""
40874
40875 #. type: example
40876 #: doc/guix.texi:18588
40877 #, no-wrap
40878 msgid "(service cgit-service-type)\n"
40879 msgstr ""
40880
40881 #. type: Plain text
40882 #: doc/guix.texi:18592
40883 msgid ""
40884 "The @code{file-object} type designates either a file-like object (@pxref{G-"
40885 "Expressions, file-like objects}) or a string."
40886 msgstr ""
40887
40888 #. type: Plain text
40889 #: doc/guix.texi:18596
40890 msgid "Available @code{cgit-configuration} fields are:"
40891 msgstr ""
40892
40893 #. type: deftypevr
40894 #: doc/guix.texi:18597
40895 #, no-wrap
40896 msgid "{@code{cgit-configuration} parameter} package package"
40897 msgstr ""
40898
40899 #. type: deftypevr
40900 #: doc/guix.texi:18599
40901 msgid "The CGIT package."
40902 msgstr ""
40903
40904 #. type: deftypevr
40905 #: doc/guix.texi:18602
40906 #, no-wrap
40907 msgid "{@code{cgit-configuration} parameter} nginx-server-configuration-list nginx"
40908 msgstr ""
40909
40910 #. type: deftypevr
40911 #: doc/guix.texi:18604
40912 msgid "NGINX configuration."
40913 msgstr ""
40914
40915 #. type: deftypevr
40916 #: doc/guix.texi:18607
40917 #, no-wrap
40918 msgid "{@code{cgit-configuration} parameter} file-object about-filter"
40919 msgstr ""
40920
40921 #. type: deftypevr
40922 #: doc/guix.texi:18610
40923 msgid ""
40924 "Specifies a command which will be invoked to format the content of about "
40925 "pages (both top-level and for each repository)."
40926 msgstr ""
40927
40928 #. type: deftypevr
40929 #: doc/guix.texi:18615
40930 #, no-wrap
40931 msgid "{@code{cgit-configuration} parameter} string agefile"
40932 msgstr ""
40933
40934 #. type: deftypevr
40935 #: doc/guix.texi:18618
40936 msgid ""
40937 "Specifies a path, relative to each repository path, which can be used to "
40938 "specify the date and time of the youngest commit in the repository."
40939 msgstr ""
40940
40941 #. type: deftypevr
40942 #: doc/guix.texi:18623
40943 #, no-wrap
40944 msgid "{@code{cgit-configuration} parameter} file-object auth-filter"
40945 msgstr ""
40946
40947 #. type: deftypevr
40948 #: doc/guix.texi:18626
40949 msgid ""
40950 "Specifies a command that will be invoked for authenticating repository "
40951 "access."
40952 msgstr ""
40953
40954 #. type: deftypevr
40955 #: doc/guix.texi:18631
40956 #, no-wrap
40957 msgid "{@code{cgit-configuration} parameter} string branch-sort"
40958 msgstr ""
40959
40960 #. type: deftypevr
40961 #: doc/guix.texi:18634
40962 msgid ""
40963 "Flag which, when set to @samp{age}, enables date ordering in the branch ref "
40964 "list, and when set @samp{name} enables ordering by branch name."
40965 msgstr ""
40966
40967 #. type: deftypevr
40968 #: doc/guix.texi:18636
40969 msgid "Defaults to @samp{\"name\"}."
40970 msgstr ""
40971
40972 #. type: deftypevr
40973 #: doc/guix.texi:18639
40974 #, no-wrap
40975 msgid "{@code{cgit-configuration} parameter} string cache-root"
40976 msgstr ""
40977
40978 #. type: deftypevr
40979 #: doc/guix.texi:18641
40980 msgid "Path used to store the cgit cache entries."
40981 msgstr ""
40982
40983 #. type: deftypevr
40984 #: doc/guix.texi:18643
40985 msgid "Defaults to @samp{\"/var/cache/cgit\"}."
40986 msgstr ""
40987
40988 #. type: deftypevr
40989 #: doc/guix.texi:18646
40990 #, no-wrap
40991 msgid "{@code{cgit-configuration} parameter} integer cache-static-ttl"
40992 msgstr ""
40993
40994 #. type: deftypevr
40995 #: doc/guix.texi:18649
40996 msgid ""
40997 "Number which specifies the time-to-live, in minutes, for the cached version "
40998 "of repository pages accessed with a fixed SHA1."
40999 msgstr ""
41000
41001 #. type: deftypevr
41002 #: doc/guix.texi:18651 doc/guix.texi:19094
41003 msgid "Defaults to @samp{-1}."
41004 msgstr ""
41005
41006 #. type: deftypevr
41007 #: doc/guix.texi:18654
41008 #, no-wrap
41009 msgid "{@code{cgit-configuration} parameter} integer cache-dynamic-ttl"
41010 msgstr ""
41011
41012 #. type: deftypevr
41013 #: doc/guix.texi:18657
41014 msgid ""
41015 "Number which specifies the time-to-live, in minutes, for the cached version "
41016 "of repository pages accessed without a fixed SHA1."
41017 msgstr ""
41018
41019 #. type: deftypevr
41020 #: doc/guix.texi:18662
41021 #, no-wrap
41022 msgid "{@code{cgit-configuration} parameter} integer cache-repo-ttl"
41023 msgstr ""
41024
41025 #. type: deftypevr
41026 #: doc/guix.texi:18665
41027 msgid ""
41028 "Number which specifies the time-to-live, in minutes, for the cached version "
41029 "of the repository summary page."
41030 msgstr ""
41031
41032 #. type: deftypevr
41033 #: doc/guix.texi:18670
41034 #, no-wrap
41035 msgid "{@code{cgit-configuration} parameter} integer cache-root-ttl"
41036 msgstr ""
41037
41038 #. type: deftypevr
41039 #: doc/guix.texi:18673
41040 msgid ""
41041 "Number which specifies the time-to-live, in minutes, for the cached version "
41042 "of the repository index page."
41043 msgstr ""
41044
41045 #. type: deftypevr
41046 #: doc/guix.texi:18678
41047 #, no-wrap
41048 msgid "{@code{cgit-configuration} parameter} integer cache-scanrc-ttl"
41049 msgstr ""
41050
41051 #. type: deftypevr
41052 #: doc/guix.texi:18681
41053 msgid ""
41054 "Number which specifies the time-to-live, in minutes, for the result of "
41055 "scanning a path for Git repositories."
41056 msgstr ""
41057
41058 #. type: deftypevr
41059 #: doc/guix.texi:18686
41060 #, no-wrap
41061 msgid "{@code{cgit-configuration} parameter} integer cache-about-ttl"
41062 msgstr ""
41063
41064 #. type: deftypevr
41065 #: doc/guix.texi:18689
41066 msgid ""
41067 "Number which specifies the time-to-live, in minutes, for the cached version "
41068 "of the repository about page."
41069 msgstr ""
41070
41071 #. type: deftypevr
41072 #: doc/guix.texi:18694
41073 #, no-wrap
41074 msgid "{@code{cgit-configuration} parameter} integer cache-snapshot-ttl"
41075 msgstr ""
41076
41077 #. type: deftypevr
41078 #: doc/guix.texi:18697
41079 msgid ""
41080 "Number which specifies the time-to-live, in minutes, for the cached version "
41081 "of snapshots."
41082 msgstr ""
41083
41084 #. type: deftypevr
41085 #: doc/guix.texi:18702
41086 #, no-wrap
41087 msgid "{@code{cgit-configuration} parameter} integer cache-size"
41088 msgstr ""
41089
41090 #. type: deftypevr
41091 #: doc/guix.texi:18705
41092 msgid ""
41093 "The maximum number of entries in the cgit cache. When set to @samp{0}, "
41094 "caching is disabled."
41095 msgstr ""
41096
41097 #. type: deftypevr
41098 #: doc/guix.texi:18710
41099 #, no-wrap
41100 msgid "{@code{cgit-configuration} parameter} boolean case-sensitive-sort?"
41101 msgstr ""
41102
41103 #. type: deftypevr
41104 #: doc/guix.texi:18712
41105 msgid "Sort items in the repo list case sensitively."
41106 msgstr ""
41107
41108 #. type: deftypevr
41109 #: doc/guix.texi:18717
41110 #, no-wrap
41111 msgid "{@code{cgit-configuration} parameter} list clone-prefix"
41112 msgstr ""
41113
41114 #. type: deftypevr
41115 #: doc/guix.texi:18720
41116 msgid ""
41117 "List of common prefixes which, when combined with a repository URL, "
41118 "generates valid clone URLs for the repository."
41119 msgstr ""
41120
41121 #. type: deftypevr
41122 #: doc/guix.texi:18725
41123 #, no-wrap
41124 msgid "{@code{cgit-configuration} parameter} list clone-url"
41125 msgstr ""
41126
41127 #. type: deftypevr
41128 #: doc/guix.texi:18727
41129 msgid "List of @code{clone-url} templates."
41130 msgstr ""
41131
41132 #. type: deftypevr
41133 #: doc/guix.texi:18732
41134 #, no-wrap
41135 msgid "{@code{cgit-configuration} parameter} file-object commit-filter"
41136 msgstr ""
41137
41138 #. type: deftypevr
41139 #: doc/guix.texi:18734
41140 msgid "Command which will be invoked to format commit messages."
41141 msgstr ""
41142
41143 #. type: deftypevr
41144 #: doc/guix.texi:18739
41145 #, no-wrap
41146 msgid "{@code{cgit-configuration} parameter} string commit-sort"
41147 msgstr ""
41148
41149 #. type: deftypevr
41150 #: doc/guix.texi:18743 doc/guix.texi:19301
41151 msgid ""
41152 "Flag which, when set to @samp{date}, enables strict date ordering in the "
41153 "commit log, and when set to @samp{topo} enables strict topological ordering."
41154 msgstr ""
41155
41156 #. type: deftypevr
41157 #: doc/guix.texi:18745
41158 msgid "Defaults to @samp{\"git log\"}."
41159 msgstr ""
41160
41161 #. type: deftypevr
41162 #: doc/guix.texi:18748
41163 #, no-wrap
41164 msgid "{@code{cgit-configuration} parameter} file-object css"
41165 msgstr ""
41166
41167 #. type: deftypevr
41168 #: doc/guix.texi:18750
41169 msgid "URL which specifies the css document to include in all cgit pages."
41170 msgstr ""
41171
41172 #. type: deftypevr
41173 #: doc/guix.texi:18752
41174 msgid "Defaults to @samp{\"/share/cgit/cgit.css\"}."
41175 msgstr ""
41176
41177 #. type: deftypevr
41178 #: doc/guix.texi:18755
41179 #, no-wrap
41180 msgid "{@code{cgit-configuration} parameter} file-object email-filter"
41181 msgstr ""
41182
41183 #. type: deftypevr
41184 #: doc/guix.texi:18759
41185 msgid ""
41186 "Specifies a command which will be invoked to format names and email address "
41187 "of committers, authors, and taggers, as represented in various places "
41188 "throughout the cgit interface."
41189 msgstr ""
41190
41191 #. type: deftypevr
41192 #: doc/guix.texi:18764
41193 #, no-wrap
41194 msgid "{@code{cgit-configuration} parameter} boolean embedded?"
41195 msgstr ""
41196
41197 #. type: deftypevr
41198 #: doc/guix.texi:18767
41199 msgid ""
41200 "Flag which, when set to @samp{#t}, will make cgit generate a HTML fragment "
41201 "suitable for embedding in other HTML pages."
41202 msgstr ""
41203
41204 #. type: deftypevr
41205 #: doc/guix.texi:18772
41206 #, no-wrap
41207 msgid "{@code{cgit-configuration} parameter} boolean enable-commit-graph?"
41208 msgstr ""
41209
41210 #. type: deftypevr
41211 #: doc/guix.texi:18776
41212 msgid ""
41213 "Flag which, when set to @samp{#t}, will make cgit print an ASCII-art commit "
41214 "history graph to the left of the commit messages in the repository log page."
41215 msgstr ""
41216
41217 #. type: deftypevr
41218 #: doc/guix.texi:18781
41219 #, no-wrap
41220 msgid "{@code{cgit-configuration} parameter} boolean enable-filter-overrides?"
41221 msgstr ""
41222
41223 #. type: deftypevr
41224 #: doc/guix.texi:18784
41225 msgid ""
41226 "Flag which, when set to @samp{#t}, allows all filter settings to be "
41227 "overridden in repository-specific cgitrc files."
41228 msgstr ""
41229
41230 #. type: deftypevr
41231 #: doc/guix.texi:18789
41232 #, no-wrap
41233 msgid "{@code{cgit-configuration} parameter} boolean enable-follow-links?"
41234 msgstr ""
41235
41236 #. type: deftypevr
41237 #: doc/guix.texi:18792
41238 msgid ""
41239 "Flag which, when set to @samp{#t}, allows users to follow a file in the log "
41240 "view."
41241 msgstr ""
41242
41243 #. type: deftypevr
41244 #: doc/guix.texi:18797
41245 #, no-wrap
41246 msgid "{@code{cgit-configuration} parameter} boolean enable-http-clone?"
41247 msgstr ""
41248
41249 #. type: deftypevr
41250 #: doc/guix.texi:18800
41251 msgid ""
41252 "If set to @samp{#t}, cgit will act as an dumb HTTP endpoint for Git clones."
41253 msgstr ""
41254
41255 #. type: deftypevr
41256 #: doc/guix.texi:18805
41257 #, no-wrap
41258 msgid "{@code{cgit-configuration} parameter} boolean enable-index-links?"
41259 msgstr ""
41260
41261 #. type: deftypevr
41262 #: doc/guix.texi:18808
41263 msgid ""
41264 "Flag which, when set to @samp{#t}, will make cgit generate extra links "
41265 "\"summary\", \"commit\", \"tree\" for each repo in the repository index."
41266 msgstr ""
41267
41268 #. type: deftypevr
41269 #: doc/guix.texi:18813
41270 #, no-wrap
41271 msgid "{@code{cgit-configuration} parameter} boolean enable-index-owner?"
41272 msgstr ""
41273
41274 #. type: deftypevr
41275 #: doc/guix.texi:18816
41276 msgid ""
41277 "Flag which, when set to @samp{#t}, will make cgit display the owner of each "
41278 "repo in the repository index."
41279 msgstr ""
41280
41281 #. type: deftypevr
41282 #: doc/guix.texi:18821
41283 #, no-wrap
41284 msgid "{@code{cgit-configuration} parameter} boolean enable-log-filecount?"
41285 msgstr ""
41286
41287 #. type: deftypevr
41288 #: doc/guix.texi:18824
41289 msgid ""
41290 "Flag which, when set to @samp{#t}, will make cgit print the number of "
41291 "modified files for each commit on the repository log page."
41292 msgstr ""
41293
41294 #. type: deftypevr
41295 #: doc/guix.texi:18829
41296 #, no-wrap
41297 msgid "{@code{cgit-configuration} parameter} boolean enable-log-linecount?"
41298 msgstr ""
41299
41300 #. type: deftypevr
41301 #: doc/guix.texi:18832
41302 msgid ""
41303 "Flag which, when set to @samp{#t}, will make cgit print the number of added "
41304 "and removed lines for each commit on the repository log page."
41305 msgstr ""
41306
41307 #. type: deftypevr
41308 #: doc/guix.texi:18837
41309 #, no-wrap
41310 msgid "{@code{cgit-configuration} parameter} boolean enable-remote-branches?"
41311 msgstr ""
41312
41313 #. type: deftypevr
41314 #: doc/guix.texi:18840 doc/guix.texi:19364
41315 msgid ""
41316 "Flag which, when set to @code{#t}, will make cgit display remote branches in "
41317 "the summary and refs views."
41318 msgstr ""
41319
41320 #. type: deftypevr
41321 #: doc/guix.texi:18845
41322 #, no-wrap
41323 msgid "{@code{cgit-configuration} parameter} boolean enable-subject-links?"
41324 msgstr ""
41325
41326 #. type: deftypevr
41327 #: doc/guix.texi:18849
41328 msgid ""
41329 "Flag which, when set to @code{1}, will make cgit use the subject of the "
41330 "parent commit as link text when generating links to parent commits in commit "
41331 "view."
41332 msgstr ""
41333
41334 #. type: deftypevr
41335 #: doc/guix.texi:18854
41336 #, no-wrap
41337 msgid "{@code{cgit-configuration} parameter} boolean enable-html-serving?"
41338 msgstr ""
41339
41340 #. type: deftypevr
41341 #: doc/guix.texi:18858
41342 msgid ""
41343 "Flag which, when set to @samp{#t}, will make cgit use the subject of the "
41344 "parent commit as link text when generating links to parent commits in commit "
41345 "view."
41346 msgstr ""
41347
41348 #. type: deftypevr
41349 #: doc/guix.texi:18863
41350 #, no-wrap
41351 msgid "{@code{cgit-configuration} parameter} boolean enable-tree-linenumbers?"
41352 msgstr ""
41353
41354 #. type: deftypevr
41355 #: doc/guix.texi:18866
41356 msgid ""
41357 "Flag which, when set to @samp{#t}, will make cgit generate linenumber links "
41358 "for plaintext blobs printed in the tree view."
41359 msgstr ""
41360
41361 #. type: deftypevr
41362 #: doc/guix.texi:18871
41363 #, no-wrap
41364 msgid "{@code{cgit-configuration} parameter} boolean enable-git-config?"
41365 msgstr ""
41366
41367 #. type: deftypevr
41368 #: doc/guix.texi:18874
41369 msgid ""
41370 "Flag which, when set to @samp{#f}, will allow cgit to use Git config to set "
41371 "any repo specific settings."
41372 msgstr ""
41373
41374 #. type: deftypevr
41375 #: doc/guix.texi:18879
41376 #, no-wrap
41377 msgid "{@code{cgit-configuration} parameter} file-object favicon"
41378 msgstr ""
41379
41380 #. type: deftypevr
41381 #: doc/guix.texi:18881
41382 msgid "URL used as link to a shortcut icon for cgit."
41383 msgstr ""
41384
41385 #. type: deftypevr
41386 #: doc/guix.texi:18883
41387 msgid "Defaults to @samp{\"/favicon.ico\"}."
41388 msgstr ""
41389
41390 #. type: deftypevr
41391 #: doc/guix.texi:18886
41392 #, no-wrap
41393 msgid "{@code{cgit-configuration} parameter} string footer"
41394 msgstr ""
41395
41396 #. type: deftypevr
41397 #: doc/guix.texi:18890
41398 msgid ""
41399 "The content of the file specified with this option will be included verbatim "
41400 "at the bottom of all pages (i.e. it replaces the standard \"generated by..."
41401 "\" message)."
41402 msgstr ""
41403
41404 #. type: deftypevr
41405 #: doc/guix.texi:18895
41406 #, no-wrap
41407 msgid "{@code{cgit-configuration} parameter} string head-include"
41408 msgstr ""
41409
41410 #. type: deftypevr
41411 #: doc/guix.texi:18898
41412 msgid ""
41413 "The content of the file specified with this option will be included verbatim "
41414 "in the HTML HEAD section on all pages."
41415 msgstr ""
41416
41417 #. type: deftypevr
41418 #: doc/guix.texi:18903
41419 #, no-wrap
41420 msgid "{@code{cgit-configuration} parameter} string header"
41421 msgstr ""
41422
41423 #. type: deftypevr
41424 #: doc/guix.texi:18906
41425 msgid ""
41426 "The content of the file specified with this option will be included verbatim "
41427 "at the top of all pages."
41428 msgstr ""
41429
41430 #. type: deftypevr
41431 #: doc/guix.texi:18911
41432 #, no-wrap
41433 msgid "{@code{cgit-configuration} parameter} file-object include"
41434 msgstr ""
41435
41436 #. type: deftypevr
41437 #: doc/guix.texi:18914
41438 msgid ""
41439 "Name of a configfile to include before the rest of the current config- file "
41440 "is parsed."
41441 msgstr ""
41442
41443 #. type: deftypevr
41444 #: doc/guix.texi:18919
41445 #, no-wrap
41446 msgid "{@code{cgit-configuration} parameter} string index-header"
41447 msgstr ""
41448
41449 #. type: deftypevr
41450 #: doc/guix.texi:18922
41451 msgid ""
41452 "The content of the file specified with this option will be included verbatim "
41453 "above the repository index."
41454 msgstr ""
41455
41456 #. type: deftypevr
41457 #: doc/guix.texi:18927
41458 #, no-wrap
41459 msgid "{@code{cgit-configuration} parameter} string index-info"
41460 msgstr ""
41461
41462 #. type: deftypevr
41463 #: doc/guix.texi:18930
41464 msgid ""
41465 "The content of the file specified with this option will be included verbatim "
41466 "below the heading on the repository index page."
41467 msgstr ""
41468
41469 #. type: deftypevr
41470 #: doc/guix.texi:18935
41471 #, no-wrap
41472 msgid "{@code{cgit-configuration} parameter} boolean local-time?"
41473 msgstr ""
41474
41475 #. type: deftypevr
41476 #: doc/guix.texi:18938
41477 msgid ""
41478 "Flag which, if set to @samp{#t}, makes cgit print commit and tag times in "
41479 "the servers timezone."
41480 msgstr ""
41481
41482 #. type: deftypevr
41483 #: doc/guix.texi:18943
41484 #, no-wrap
41485 msgid "{@code{cgit-configuration} parameter} file-object logo"
41486 msgstr ""
41487
41488 #. type: deftypevr
41489 #: doc/guix.texi:18946
41490 msgid ""
41491 "URL which specifies the source of an image which will be used as a logo on "
41492 "all cgit pages."
41493 msgstr ""
41494
41495 #. type: deftypevr
41496 #: doc/guix.texi:18948
41497 msgid "Defaults to @samp{\"/share/cgit/cgit.png\"}."
41498 msgstr ""
41499
41500 #. type: deftypevr
41501 #: doc/guix.texi:18951
41502 #, no-wrap
41503 msgid "{@code{cgit-configuration} parameter} string logo-link"
41504 msgstr ""
41505
41506 #. type: deftypevr
41507 #: doc/guix.texi:18953 doc/guix.texi:19410
41508 msgid "URL loaded when clicking on the cgit logo image."
41509 msgstr ""
41510
41511 #. type: deftypevr
41512 #: doc/guix.texi:18958
41513 #, no-wrap
41514 msgid "{@code{cgit-configuration} parameter} file-object owner-filter"
41515 msgstr ""
41516
41517 #. type: deftypevr
41518 #: doc/guix.texi:18961
41519 msgid ""
41520 "Command which will be invoked to format the Owner column of the main page."
41521 msgstr ""
41522
41523 #. type: deftypevr
41524 #: doc/guix.texi:18966
41525 #, no-wrap
41526 msgid "{@code{cgit-configuration} parameter} integer max-atom-items"
41527 msgstr ""
41528
41529 #. type: deftypevr
41530 #: doc/guix.texi:18968
41531 msgid "Number of items to display in atom feeds view."
41532 msgstr ""
41533
41534 #. type: deftypevr
41535 #: doc/guix.texi:18970 doc/guix.texi:19205 doc/guix.texi:19213
41536 #: doc/guix.texi:19221
41537 msgid "Defaults to @samp{10}."
41538 msgstr ""
41539
41540 #. type: deftypevr
41541 #: doc/guix.texi:18973
41542 #, no-wrap
41543 msgid "{@code{cgit-configuration} parameter} integer max-commit-count"
41544 msgstr ""
41545
41546 #. type: deftypevr
41547 #: doc/guix.texi:18975
41548 msgid "Number of entries to list per page in \"log\" view."
41549 msgstr ""
41550
41551 #. type: deftypevr
41552 #: doc/guix.texi:18977 doc/guix.texi:18992
41553 msgid "Defaults to @samp{50}."
41554 msgstr ""
41555
41556 #. type: deftypevr
41557 #: doc/guix.texi:18980
41558 #, no-wrap
41559 msgid "{@code{cgit-configuration} parameter} integer max-message-length"
41560 msgstr ""
41561
41562 #. type: deftypevr
41563 #: doc/guix.texi:18982
41564 msgid "Number of commit message characters to display in \"log\" view."
41565 msgstr ""
41566
41567 #. type: deftypevr
41568 #: doc/guix.texi:18984 doc/guix.texi:19000
41569 msgid "Defaults to @samp{80}."
41570 msgstr ""
41571
41572 #. type: deftypevr
41573 #: doc/guix.texi:18987
41574 #, no-wrap
41575 msgid "{@code{cgit-configuration} parameter} integer max-repo-count"
41576 msgstr ""
41577
41578 #. type: deftypevr
41579 #: doc/guix.texi:18990
41580 msgid ""
41581 "Specifies the number of entries to list per page on the repository index "
41582 "page."
41583 msgstr ""
41584
41585 #. type: deftypevr
41586 #: doc/guix.texi:18995
41587 #, no-wrap
41588 msgid "{@code{cgit-configuration} parameter} integer max-repodesc-length"
41589 msgstr ""
41590
41591 #. type: deftypevr
41592 #: doc/guix.texi:18998
41593 msgid ""
41594 "Specifies the maximum number of repo description characters to display on "
41595 "the repository index page."
41596 msgstr ""
41597
41598 #. type: deftypevr
41599 #: doc/guix.texi:19003
41600 #, no-wrap
41601 msgid "{@code{cgit-configuration} parameter} integer max-blob-size"
41602 msgstr ""
41603
41604 #. type: deftypevr
41605 #: doc/guix.texi:19005
41606 msgid "Specifies the maximum size of a blob to display HTML for in KBytes."
41607 msgstr ""
41608
41609 #. type: deftypevr
41610 #: doc/guix.texi:19010
41611 #, no-wrap
41612 msgid "{@code{cgit-configuration} parameter} string max-stats"
41613 msgstr ""
41614
41615 #. type: deftypevr
41616 #: doc/guix.texi:19013
41617 msgid ""
41618 "Maximum statistics period. Valid values are @samp{week},@samp{month}, "
41619 "@samp{quarter} and @samp{year}."
41620 msgstr ""
41621
41622 #. type: deftypevr
41623 #: doc/guix.texi:19018
41624 #, no-wrap
41625 msgid "{@code{cgit-configuration} parameter} mimetype-alist mimetype"
41626 msgstr ""
41627
41628 #. type: deftypevr
41629 #: doc/guix.texi:19020
41630 msgid "Mimetype for the specified filename extension."
41631 msgstr ""
41632
41633 #. type: deftypevr
41634 #: doc/guix.texi:19024
41635 msgid ""
41636 "Defaults to @samp{((gif \"image/gif\") (html \"text/html\") (jpg \"image/jpeg"
41637 "\") (jpeg \"image/jpeg\") (pdf \"application/pdf\") (png \"image/png\") (svg "
41638 "\"image/svg+xml\"))}."
41639 msgstr ""
41640
41641 #. type: deftypevr
41642 #: doc/guix.texi:19027
41643 #, no-wrap
41644 msgid "{@code{cgit-configuration} parameter} file-object mimetype-file"
41645 msgstr ""
41646
41647 #. type: deftypevr
41648 #: doc/guix.texi:19029
41649 msgid "Specifies the file to use for automatic mimetype lookup."
41650 msgstr ""
41651
41652 #. type: deftypevr
41653 #: doc/guix.texi:19034
41654 #, no-wrap
41655 msgid "{@code{cgit-configuration} parameter} string module-link"
41656 msgstr ""
41657
41658 #. type: deftypevr
41659 #: doc/guix.texi:19037
41660 msgid ""
41661 "Text which will be used as the formatstring for a hyperlink when a submodule "
41662 "is printed in a directory listing."
41663 msgstr ""
41664
41665 #. type: deftypevr
41666 #: doc/guix.texi:19042
41667 #, no-wrap
41668 msgid "{@code{cgit-configuration} parameter} boolean nocache?"
41669 msgstr ""
41670
41671 #. type: deftypevr
41672 #: doc/guix.texi:19044
41673 msgid "If set to the value @samp{#t} caching will be disabled."
41674 msgstr ""
41675
41676 #. type: deftypevr
41677 #: doc/guix.texi:19049
41678 #, no-wrap
41679 msgid "{@code{cgit-configuration} parameter} boolean noplainemail?"
41680 msgstr ""
41681
41682 #. type: deftypevr
41683 #: doc/guix.texi:19052
41684 msgid ""
41685 "If set to @samp{#t} showing full author email addresses will be disabled."
41686 msgstr ""
41687
41688 #. type: deftypevr
41689 #: doc/guix.texi:19057
41690 #, no-wrap
41691 msgid "{@code{cgit-configuration} parameter} boolean noheader?"
41692 msgstr ""
41693
41694 #. type: deftypevr
41695 #: doc/guix.texi:19060
41696 msgid ""
41697 "Flag which, when set to @samp{#t}, will make cgit omit the standard header "
41698 "on all pages."
41699 msgstr ""
41700
41701 #. type: deftypevr
41702 #: doc/guix.texi:19065
41703 #, no-wrap
41704 msgid "{@code{cgit-configuration} parameter} list project-list"
41705 msgstr ""
41706
41707 #. type: deftypevr
41708 #: doc/guix.texi:19069
41709 msgid ""
41710 "A list of subdirectories inside of @code{repository-directory}, relative to "
41711 "it, that should loaded as Git repositories. An empty list means that all "
41712 "subdirectories will be loaded."
41713 msgstr ""
41714
41715 #. type: deftypevr
41716 #: doc/guix.texi:19074
41717 #, no-wrap
41718 msgid "{@code{cgit-configuration} parameter} file-object readme"
41719 msgstr ""
41720
41721 #. type: deftypevr
41722 #: doc/guix.texi:19076
41723 msgid "Text which will be used as default value for @code{cgit-repo-readme}."
41724 msgstr ""
41725
41726 #. type: deftypevr
41727 #: doc/guix.texi:19081
41728 #, no-wrap
41729 msgid "{@code{cgit-configuration} parameter} boolean remove-suffix?"
41730 msgstr ""
41731
41732 #. type: deftypevr
41733 #: doc/guix.texi:19085
41734 msgid ""
41735 "If set to @code{#t} and @code{repository-directory} is enabled, if any "
41736 "repositories are found with a suffix of @code{.git}, this suffix will be "
41737 "removed for the URL and name."
41738 msgstr ""
41739
41740 #. type: deftypevr
41741 #: doc/guix.texi:19090
41742 #, no-wrap
41743 msgid "{@code{cgit-configuration} parameter} integer renamelimit"
41744 msgstr ""
41745
41746 #. type: deftypevr
41747 #: doc/guix.texi:19092
41748 msgid "Maximum number of files to consider when detecting renames."
41749 msgstr ""
41750
41751 #. type: deftypevr
41752 #: doc/guix.texi:19097
41753 #, no-wrap
41754 msgid "{@code{cgit-configuration} parameter} string repository-sort"
41755 msgstr ""
41756
41757 #. type: deftypevr
41758 #: doc/guix.texi:19099
41759 msgid "The way in which repositories in each section are sorted."
41760 msgstr ""
41761
41762 #. type: deftypevr
41763 #: doc/guix.texi:19104
41764 #, no-wrap
41765 msgid "{@code{cgit-configuration} parameter} robots-list robots"
41766 msgstr ""
41767
41768 #. type: deftypevr
41769 #: doc/guix.texi:19106
41770 msgid "Text used as content for the @code{robots} meta-tag."
41771 msgstr ""
41772
41773 #. type: deftypevr
41774 #: doc/guix.texi:19108
41775 msgid "Defaults to @samp{(\"noindex\" \"nofollow\")}."
41776 msgstr ""
41777
41778 #. type: deftypevr
41779 #: doc/guix.texi:19111
41780 #, no-wrap
41781 msgid "{@code{cgit-configuration} parameter} string root-desc"
41782 msgstr ""
41783
41784 #. type: deftypevr
41785 #: doc/guix.texi:19113
41786 msgid "Text printed below the heading on the repository index page."
41787 msgstr ""
41788
41789 #. type: deftypevr
41790 #: doc/guix.texi:19115
41791 msgid "Defaults to @samp{\"a fast webinterface for the git dscm\"}."
41792 msgstr ""
41793
41794 #. type: deftypevr
41795 #: doc/guix.texi:19118
41796 #, no-wrap
41797 msgid "{@code{cgit-configuration} parameter} string root-readme"
41798 msgstr ""
41799
41800 #. type: deftypevr
41801 #: doc/guix.texi:19121
41802 msgid ""
41803 "The content of the file specified with this option will be included verbatim "
41804 "below thef \"about\" link on the repository index page."
41805 msgstr ""
41806
41807 #. type: deftypevr
41808 #: doc/guix.texi:19126
41809 #, no-wrap
41810 msgid "{@code{cgit-configuration} parameter} string root-title"
41811 msgstr ""
41812
41813 #. type: deftypevr
41814 #: doc/guix.texi:19128
41815 msgid "Text printed as heading on the repository index page."
41816 msgstr ""
41817
41818 #. type: deftypevr
41819 #: doc/guix.texi:19133
41820 #, no-wrap
41821 msgid "{@code{cgit-configuration} parameter} boolean scan-hidden-path"
41822 msgstr ""
41823
41824 #. type: deftypevr
41825 #: doc/guix.texi:19139
41826 msgid ""
41827 "If set to @samp{#t} and repository-directory is enabled, repository-"
41828 "directory will recurse into directories whose name starts with a period. "
41829 "Otherwise, repository-directory will stay away from such directories, "
41830 "considered as \"hidden\". Note that this does not apply to the \".git\" "
41831 "directory in non-bare repos."
41832 msgstr ""
41833
41834 #. type: deftypevr
41835 #: doc/guix.texi:19144
41836 #, no-wrap
41837 msgid "{@code{cgit-configuration} parameter} list snapshots"
41838 msgstr ""
41839
41840 #. type: deftypevr
41841 #: doc/guix.texi:19147
41842 msgid ""
41843 "Text which specifies the default set of snapshot formats that cgit generates "
41844 "links for."
41845 msgstr ""
41846
41847 #. type: deftypevr
41848 #: doc/guix.texi:19152
41849 #, no-wrap
41850 msgid "{@code{cgit-configuration} parameter} repository-directory repository-directory"
41851 msgstr ""
41852
41853 #. type: deftypevr
41854 #: doc/guix.texi:19155
41855 msgid ""
41856 "Name of the directory to scan for repositories (represents @code{scan-path})."
41857 msgstr ""
41858
41859 #. type: deftypevr
41860 #: doc/guix.texi:19157
41861 msgid "Defaults to @samp{\"/srv/git\"}."
41862 msgstr ""
41863
41864 #. type: deftypevr
41865 #: doc/guix.texi:19160
41866 #, no-wrap
41867 msgid "{@code{cgit-configuration} parameter} string section"
41868 msgstr ""
41869
41870 #. type: deftypevr
41871 #: doc/guix.texi:19163 doc/guix.texi:19479
41872 msgid ""
41873 "The name of the current repository section - all repositories defined after "
41874 "this option will inherit the current section name."
41875 msgstr ""
41876
41877 #. type: deftypevr
41878 #: doc/guix.texi:19168
41879 #, no-wrap
41880 msgid "{@code{cgit-configuration} parameter} string section-sort"
41881 msgstr ""
41882
41883 #. type: deftypevr
41884 #: doc/guix.texi:19171
41885 msgid ""
41886 "Flag which, when set to @samp{1}, will sort the sections on the repository "
41887 "listing by name."
41888 msgstr ""
41889
41890 #. type: deftypevr
41891 #: doc/guix.texi:19176
41892 #, no-wrap
41893 msgid "{@code{cgit-configuration} parameter} integer section-from-path"
41894 msgstr ""
41895
41896 #. type: deftypevr
41897 #: doc/guix.texi:19179
41898 msgid ""
41899 "A number which, if defined prior to repository-directory, specifies how many "
41900 "path elements from each repo path to use as a default section name."
41901 msgstr ""
41902
41903 #. type: deftypevr
41904 #: doc/guix.texi:19184
41905 #, no-wrap
41906 msgid "{@code{cgit-configuration} parameter} boolean side-by-side-diffs?"
41907 msgstr ""
41908
41909 #. type: deftypevr
41910 #: doc/guix.texi:19187
41911 msgid ""
41912 "If set to @samp{#t} shows side-by-side diffs instead of unidiffs per default."
41913 msgstr ""
41914
41915 #. type: deftypevr
41916 #: doc/guix.texi:19192
41917 #, no-wrap
41918 msgid "{@code{cgit-configuration} parameter} file-object source-filter"
41919 msgstr ""
41920
41921 #. type: deftypevr
41922 #: doc/guix.texi:19195
41923 msgid ""
41924 "Specifies a command which will be invoked to format plaintext blobs in the "
41925 "tree view."
41926 msgstr ""
41927
41928 #. type: deftypevr
41929 #: doc/guix.texi:19200
41930 #, no-wrap
41931 msgid "{@code{cgit-configuration} parameter} integer summary-branches"
41932 msgstr ""
41933
41934 #. type: deftypevr
41935 #: doc/guix.texi:19203
41936 msgid ""
41937 "Specifies the number of branches to display in the repository \"summary\" "
41938 "view."
41939 msgstr ""
41940
41941 #. type: deftypevr
41942 #: doc/guix.texi:19208
41943 #, no-wrap
41944 msgid "{@code{cgit-configuration} parameter} integer summary-log"
41945 msgstr ""
41946
41947 #. type: deftypevr
41948 #: doc/guix.texi:19211
41949 msgid ""
41950 "Specifies the number of log entries to display in the repository \"summary\" "
41951 "view."
41952 msgstr ""
41953
41954 #. type: deftypevr
41955 #: doc/guix.texi:19216
41956 #, no-wrap
41957 msgid "{@code{cgit-configuration} parameter} integer summary-tags"
41958 msgstr ""
41959
41960 #. type: deftypevr
41961 #: doc/guix.texi:19219
41962 msgid ""
41963 "Specifies the number of tags to display in the repository \"summary\" view."
41964 msgstr ""
41965
41966 #. type: deftypevr
41967 #: doc/guix.texi:19224
41968 #, no-wrap
41969 msgid "{@code{cgit-configuration} parameter} string strict-export"
41970 msgstr ""
41971
41972 #. type: deftypevr
41973 #: doc/guix.texi:19227
41974 msgid ""
41975 "Filename which, if specified, needs to be present within the repository for "
41976 "cgit to allow access to that repository."
41977 msgstr ""
41978
41979 #. type: deftypevr
41980 #: doc/guix.texi:19232
41981 #, no-wrap
41982 msgid "{@code{cgit-configuration} parameter} string virtual-root"
41983 msgstr ""
41984
41985 #. type: deftypevr
41986 #: doc/guix.texi:19234
41987 msgid "URL which, if specified, will be used as root for all cgit links."
41988 msgstr ""
41989
41990 #. type: deftypevr
41991 #: doc/guix.texi:19236
41992 msgid "Defaults to @samp{\"/\"}."
41993 msgstr ""
41994
41995 #. type: deftypevr
41996 #: doc/guix.texi:19239
41997 #, no-wrap
41998 msgid "{@code{cgit-configuration} parameter} repository-cgit-configuration-list repositories"
41999 msgstr ""
42000
42001 #. type: deftypevr
42002 #: doc/guix.texi:19241
42003 msgid "A list of @dfn{cgit-repo} records to use with config."
42004 msgstr ""
42005
42006 #. type: deftypevr
42007 #: doc/guix.texi:19245
42008 msgid "Available @code{repository-cgit-configuration} fields are:"
42009 msgstr ""
42010
42011 #. type: deftypevr
42012 #: doc/guix.texi:19246
42013 #, no-wrap
42014 msgid "{@code{repository-cgit-configuration} parameter} repo-list snapshots"
42015 msgstr ""
42016
42017 #. type: deftypevr
42018 #: doc/guix.texi:19249
42019 msgid ""
42020 "A mask of snapshot formats for this repo that cgit generates links for, "
42021 "restricted by the global @code{snapshots} setting."
42022 msgstr ""
42023
42024 #. type: deftypevr
42025 #: doc/guix.texi:19254
42026 #, no-wrap
42027 msgid "{@code{repository-cgit-configuration} parameter} repo-file-object source-filter"
42028 msgstr ""
42029
42030 #. type: deftypevr
42031 #: doc/guix.texi:19256
42032 msgid "Override the default @code{source-filter}."
42033 msgstr ""
42034
42035 #. type: deftypevr
42036 #: doc/guix.texi:19261
42037 #, no-wrap
42038 msgid "{@code{repository-cgit-configuration} parameter} repo-string url"
42039 msgstr ""
42040
42041 #. type: deftypevr
42042 #: doc/guix.texi:19263
42043 msgid "The relative URL used to access the repository."
42044 msgstr ""
42045
42046 #. type: deftypevr
42047 #: doc/guix.texi:19268
42048 #, no-wrap
42049 msgid "{@code{repository-cgit-configuration} parameter} repo-file-object about-filter"
42050 msgstr ""
42051
42052 #. type: deftypevr
42053 #: doc/guix.texi:19270
42054 msgid "Override the default @code{about-filter}."
42055 msgstr ""
42056
42057 #. type: deftypevr
42058 #: doc/guix.texi:19275
42059 #, no-wrap
42060 msgid "{@code{repository-cgit-configuration} parameter} repo-string branch-sort"
42061 msgstr ""
42062
42063 #. type: deftypevr
42064 #: doc/guix.texi:19278
42065 msgid ""
42066 "Flag which, when set to @samp{age}, enables date ordering in the branch ref "
42067 "list, and when set to @samp{name} enables ordering by branch name."
42068 msgstr ""
42069
42070 #. type: deftypevr
42071 #: doc/guix.texi:19283
42072 #, no-wrap
42073 msgid "{@code{repository-cgit-configuration} parameter} repo-list clone-url"
42074 msgstr ""
42075
42076 #. type: deftypevr
42077 #: doc/guix.texi:19285
42078 msgid "A list of URLs which can be used to clone repo."
42079 msgstr ""
42080
42081 #. type: deftypevr
42082 #: doc/guix.texi:19290
42083 #, no-wrap
42084 msgid "{@code{repository-cgit-configuration} parameter} repo-file-object commit-filter"
42085 msgstr ""
42086
42087 #. type: deftypevr
42088 #: doc/guix.texi:19292
42089 msgid "Override the default @code{commit-filter}."
42090 msgstr ""
42091
42092 #. type: deftypevr
42093 #: doc/guix.texi:19297
42094 #, no-wrap
42095 msgid "{@code{repository-cgit-configuration} parameter} repo-string commit-sort"
42096 msgstr ""
42097
42098 #. type: deftypevr
42099 #: doc/guix.texi:19306
42100 #, no-wrap
42101 msgid "{@code{repository-cgit-configuration} parameter} repo-string defbranch"
42102 msgstr ""
42103
42104 #. type: deftypevr
42105 #: doc/guix.texi:19311
42106 msgid ""
42107 "The name of the default branch for this repository. If no such branch "
42108 "exists in the repository, the first branch name (when sorted) is used as "
42109 "default instead. By default branch pointed to by HEAD, or \"master\" if "
42110 "there is no suitable HEAD."
42111 msgstr ""
42112
42113 #. type: deftypevr
42114 #: doc/guix.texi:19316
42115 #, no-wrap
42116 msgid "{@code{repository-cgit-configuration} parameter} repo-string desc"
42117 msgstr ""
42118
42119 #. type: deftypevr
42120 #: doc/guix.texi:19318
42121 msgid "The value to show as repository description."
42122 msgstr ""
42123
42124 #. type: deftypevr
42125 #: doc/guix.texi:19323
42126 #, no-wrap
42127 msgid "{@code{repository-cgit-configuration} parameter} repo-string homepage"
42128 msgstr ""
42129
42130 #. type: deftypevr
42131 #: doc/guix.texi:19325
42132 msgid "The value to show as repository homepage."
42133 msgstr ""
42134
42135 #. type: deftypevr
42136 #: doc/guix.texi:19330
42137 #, no-wrap
42138 msgid "{@code{repository-cgit-configuration} parameter} repo-file-object email-filter"
42139 msgstr ""
42140
42141 #. type: deftypevr
42142 #: doc/guix.texi:19332
42143 msgid "Override the default @code{email-filter}."
42144 msgstr ""
42145
42146 #. type: deftypevr
42147 #: doc/guix.texi:19337
42148 #, no-wrap
42149 msgid "{@code{repository-cgit-configuration} parameter} repo-boolean enable-commit-graph?"
42150 msgstr ""
42151
42152 #. type: deftypevr
42153 #: doc/guix.texi:19340
42154 msgid ""
42155 "A flag which can be used to disable the global setting @code{enable-commit-"
42156 "graph?}."
42157 msgstr ""
42158
42159 #. type: deftypevr
42160 #: doc/guix.texi:19345
42161 #, no-wrap
42162 msgid "{@code{repository-cgit-configuration} parameter} repo-boolean enable-log-filecount?"
42163 msgstr ""
42164
42165 #. type: deftypevr
42166 #: doc/guix.texi:19348
42167 msgid ""
42168 "A flag which can be used to disable the global setting @code{enable-log-"
42169 "filecount?}."
42170 msgstr ""
42171
42172 #. type: deftypevr
42173 #: doc/guix.texi:19353
42174 #, no-wrap
42175 msgid "{@code{repository-cgit-configuration} parameter} repo-boolean enable-log-linecount?"
42176 msgstr ""
42177
42178 #. type: deftypevr
42179 #: doc/guix.texi:19356
42180 msgid ""
42181 "A flag which can be used to disable the global setting @code{enable-log-"
42182 "linecount?}."
42183 msgstr ""
42184
42185 #. type: deftypevr
42186 #: doc/guix.texi:19361
42187 #, no-wrap
42188 msgid "{@code{repository-cgit-configuration} parameter} repo-boolean enable-remote-branches?"
42189 msgstr ""
42190
42191 #. type: deftypevr
42192 #: doc/guix.texi:19369
42193 #, no-wrap
42194 msgid "{@code{repository-cgit-configuration} parameter} repo-boolean enable-subject-links?"
42195 msgstr ""
42196
42197 #. type: deftypevr
42198 #: doc/guix.texi:19372
42199 msgid ""
42200 "A flag which can be used to override the global setting @code{enable-subject-"
42201 "links?}."
42202 msgstr ""
42203
42204 #. type: deftypevr
42205 #: doc/guix.texi:19377
42206 #, no-wrap
42207 msgid "{@code{repository-cgit-configuration} parameter} repo-boolean enable-html-serving?"
42208 msgstr ""
42209
42210 #. type: deftypevr
42211 #: doc/guix.texi:19380
42212 msgid ""
42213 "A flag which can be used to override the global setting @code{enable-html-"
42214 "serving?}."
42215 msgstr ""
42216
42217 #. type: deftypevr
42218 #: doc/guix.texi:19385
42219 #, no-wrap
42220 msgid "{@code{repository-cgit-configuration} parameter} repo-boolean hide?"
42221 msgstr ""
42222
42223 #. type: deftypevr
42224 #: doc/guix.texi:19388
42225 msgid ""
42226 "Flag which, when set to @code{#t}, hides the repository from the repository "
42227 "index."
42228 msgstr ""
42229
42230 #. type: deftypevr
42231 #: doc/guix.texi:19393
42232 #, no-wrap
42233 msgid "{@code{repository-cgit-configuration} parameter} repo-boolean ignore?"
42234 msgstr ""
42235
42236 #. type: deftypevr
42237 #: doc/guix.texi:19395
42238 msgid "Flag which, when set to @samp{#t}, ignores the repository."
42239 msgstr ""
42240
42241 #. type: deftypevr
42242 #: doc/guix.texi:19400
42243 #, no-wrap
42244 msgid "{@code{repository-cgit-configuration} parameter} repo-file-object logo"
42245 msgstr ""
42246
42247 #. type: deftypevr
42248 #: doc/guix.texi:19403
42249 msgid ""
42250 "URL which specifies the source of an image which will be used as a logo on "
42251 "this repo’s pages."
42252 msgstr ""
42253
42254 #. type: deftypevr
42255 #: doc/guix.texi:19408
42256 #, no-wrap
42257 msgid "{@code{repository-cgit-configuration} parameter} repo-string logo-link"
42258 msgstr ""
42259
42260 #. type: deftypevr
42261 #: doc/guix.texi:19415
42262 #, no-wrap
42263 msgid "{@code{repository-cgit-configuration} parameter} repo-file-object owner-filter"
42264 msgstr ""
42265
42266 #. type: deftypevr
42267 #: doc/guix.texi:19417
42268 msgid "Override the default @code{owner-filter}."
42269 msgstr ""
42270
42271 #. type: deftypevr
42272 #: doc/guix.texi:19422
42273 #, no-wrap
42274 msgid "{@code{repository-cgit-configuration} parameter} repo-string module-link"
42275 msgstr ""
42276
42277 #. type: deftypevr
42278 #: doc/guix.texi:19426
42279 msgid ""
42280 "Text which will be used as the formatstring for a hyperlink when a submodule "
42281 "is printed in a directory listing. The arguments for the formatstring are "
42282 "the path and SHA1 of the submodule commit."
42283 msgstr ""
42284
42285 #. type: deftypevr
42286 #: doc/guix.texi:19431
42287 #, no-wrap
42288 msgid "{@code{repository-cgit-configuration} parameter} module-link-path module-link-path"
42289 msgstr ""
42290
42291 #. type: deftypevr
42292 #: doc/guix.texi:19435
42293 msgid ""
42294 "Text which will be used as the formatstring for a hyperlink when a submodule "
42295 "with the specified subdirectory path is printed in a directory listing."
42296 msgstr ""
42297
42298 #. type: deftypevr
42299 #: doc/guix.texi:19440
42300 #, no-wrap
42301 msgid "{@code{repository-cgit-configuration} parameter} repo-string max-stats"
42302 msgstr ""
42303
42304 #. type: deftypevr
42305 #: doc/guix.texi:19442
42306 msgid "Override the default maximum statistics period."
42307 msgstr ""
42308
42309 #. type: deftypevr
42310 #: doc/guix.texi:19447
42311 #, no-wrap
42312 msgid "{@code{repository-cgit-configuration} parameter} repo-string name"
42313 msgstr ""
42314
42315 #. type: deftypevr
42316 #: doc/guix.texi:19449
42317 msgid "The value to show as repository name."
42318 msgstr ""
42319
42320 #. type: deftypevr
42321 #: doc/guix.texi:19454
42322 #, no-wrap
42323 msgid "{@code{repository-cgit-configuration} parameter} repo-string owner"
42324 msgstr ""
42325
42326 #. type: deftypevr
42327 #: doc/guix.texi:19456
42328 msgid "A value used to identify the owner of the repository."
42329 msgstr ""
42330
42331 #. type: deftypevr
42332 #: doc/guix.texi:19461
42333 #, no-wrap
42334 msgid "{@code{repository-cgit-configuration} parameter} repo-string path"
42335 msgstr ""
42336
42337 #. type: deftypevr
42338 #: doc/guix.texi:19463
42339 msgid "An absolute path to the repository directory."
42340 msgstr ""
42341
42342 #. type: deftypevr
42343 #: doc/guix.texi:19468
42344 #, no-wrap
42345 msgid "{@code{repository-cgit-configuration} parameter} repo-string readme"
42346 msgstr ""
42347
42348 #. type: deftypevr
42349 #: doc/guix.texi:19471
42350 msgid ""
42351 "A path (relative to repo) which specifies a file to include verbatim as the "
42352 "\"About\" page for this repo."
42353 msgstr ""
42354
42355 #. type: deftypevr
42356 #: doc/guix.texi:19476
42357 #, no-wrap
42358 msgid "{@code{repository-cgit-configuration} parameter} repo-string section"
42359 msgstr ""
42360
42361 #. type: deftypevr
42362 #: doc/guix.texi:19484
42363 #, no-wrap
42364 msgid "{@code{repository-cgit-configuration} parameter} repo-list extra-options"
42365 msgstr ""
42366
42367 #. type: deftypevr
42368 #: doc/guix.texi:19486 doc/guix.texi:19495
42369 msgid "Extra options will be appended to cgitrc file."
42370 msgstr ""
42371
42372 #. type: deftypevr
42373 #: doc/guix.texi:19493
42374 #, no-wrap
42375 msgid "{@code{cgit-configuration} parameter} list extra-options"
42376 msgstr ""
42377
42378 #. type: Plain text
42379 #: doc/guix.texi:19507
42380 msgid ""
42381 "However, it could be that you just want to get a @code{cgitrc} up and "
42382 "running. In that case, you can pass an @code{opaque-cgit-configuration} as "
42383 "a record to @code{cgit-service-type}. As its name indicates, an opaque "
42384 "configuration does not have easy reflective capabilities."
42385 msgstr ""
42386
42387 #. type: Plain text
42388 #: doc/guix.texi:19509
42389 msgid "Available @code{opaque-cgit-configuration} fields are:"
42390 msgstr ""
42391
42392 #. type: deftypevr
42393 #: doc/guix.texi:19510
42394 #, no-wrap
42395 msgid "{@code{opaque-cgit-configuration} parameter} package cgit"
42396 msgstr ""
42397
42398 #. type: deftypevr
42399 #: doc/guix.texi:19512
42400 msgid "The cgit package."
42401 msgstr ""
42402
42403 #. type: deftypevr
42404 #: doc/guix.texi:19514
42405 #, no-wrap
42406 msgid "{@code{opaque-cgit-configuration} parameter} string string"
42407 msgstr ""
42408
42409 #. type: deftypevr
42410 #: doc/guix.texi:19516
42411 msgid "The contents of the @code{cgitrc}, as a string."
42412 msgstr ""
42413
42414 #. type: Plain text
42415 #: doc/guix.texi:19520
42416 msgid ""
42417 "For example, if your @code{cgitrc} is just the empty string, you could "
42418 "instantiate a cgit service like this:"
42419 msgstr ""
42420
42421 #. type: example
42422 #: doc/guix.texi:19525
42423 #, no-wrap
42424 msgid ""
42425 "(service cgit-service-type\n"
42426 " (opaque-cgit-configuration\n"
42427 " (cgitrc \"\")))\n"
42428 msgstr ""
42429
42430 #. type: subsubheading
42431 #: doc/guix.texi:19531
42432 #, no-wrap
42433 msgid "The Battle for Wesnoth Service"
42434 msgstr ""
42435
42436 #. type: cindex
42437 #: doc/guix.texi:19532
42438 #, no-wrap
42439 msgid "wesnothd"
42440 msgstr ""
42441
42442 #. type: Plain text
42443 #: doc/guix.texi:19536
42444 msgid ""
42445 "@uref{https://wesnoth.org, The Battle for Wesnoth} is a fantasy, turn based "
42446 "tactical strategy game, with several single player campaigns, and "
42447 "multiplayer games (both networked and local)."
42448 msgstr ""
42449
42450 #. type: defvar
42451 #: doc/guix.texi:19537
42452 #, no-wrap
42453 msgid "{Scheme Variable} wesnothd-service-type"
42454 msgstr ""
42455
42456 #. type: defvar
42457 #: doc/guix.texi:19541
42458 msgid ""
42459 "Service type for the wesnothd service. Its value must be a @code{wesnothd-"
42460 "configuration} object. To run wesnothd in the default configuration, "
42461 "instantiate it as:"
42462 msgstr ""
42463
42464 #. type: example
42465 #: doc/guix.texi:19544
42466 #, no-wrap
42467 msgid "(service wesnothd-service-type)\n"
42468 msgstr ""
42469
42470 #. type: deftp
42471 #: doc/guix.texi:19547
42472 #, no-wrap
42473 msgid "{Data Type} wesnothd-configuration"
42474 msgstr ""
42475
42476 #. type: deftp
42477 #: doc/guix.texi:19549
42478 msgid "Data type representing the configuration of @command{wesnothd}."
42479 msgstr ""
42480
42481 #. type: item
42482 #: doc/guix.texi:19551
42483 #, no-wrap
42484 msgid "@code{package} (default: @code{wesnoth-server})"
42485 msgstr ""
42486
42487 #. type: table
42488 #: doc/guix.texi:19553
42489 msgid "The wesnoth server package to use."
42490 msgstr ""
42491
42492 #. type: item
42493 #: doc/guix.texi:19554
42494 #, no-wrap
42495 msgid "@code{port} (default: @code{15000})"
42496 msgstr ""
42497
42498 #. type: table
42499 #: doc/guix.texi:19556
42500 msgid "The port to bind the server to."
42501 msgstr ""
42502
42503 #. type: cindex
42504 #: doc/guix.texi:19562
42505 #, no-wrap
42506 msgid "sysctl"
42507 msgstr ""
42508
42509 #. type: subsubheading
42510 #: doc/guix.texi:19563
42511 #, no-wrap
42512 msgid "System Control Service"
42513 msgstr ""
42514
42515 #. type: Plain text
42516 #: doc/guix.texi:19567
42517 msgid ""
42518 "The @code{(gnu services sysctl)} provides a service to configure kernel "
42519 "parameters at boot."
42520 msgstr ""
42521
42522 #. type: defvr
42523 #: doc/guix.texi:19568
42524 #, no-wrap
42525 msgid "{Scheme Variable} sysctl-service-type"
42526 msgstr ""
42527
42528 #. type: defvr
42529 #: doc/guix.texi:19572
42530 msgid ""
42531 "The service type for @command{sysctl}, which modifies kernel parameters "
42532 "under @file{/proc/sys/}. To enable IPv4 forwarding, it can be instantiated "
42533 "as:"
42534 msgstr ""
42535
42536 #. type: example
42537 #: doc/guix.texi:19577
42538 #, no-wrap
42539 msgid ""
42540 "(service sysctl-service-type\n"
42541 " (sysctl-configuration\n"
42542 " (settings '((\"net.ipv4.ip_forward\" . \"1\")))))\n"
42543 msgstr ""
42544
42545 #. type: deftp
42546 #: doc/guix.texi:19580
42547 #, no-wrap
42548 msgid "{Data Type} sysctl-configuration"
42549 msgstr ""
42550
42551 #. type: deftp
42552 #: doc/guix.texi:19582
42553 msgid "The data type representing the configuration of @command{sysctl}."
42554 msgstr ""
42555
42556 #. type: item
42557 #: doc/guix.texi:19584
42558 #, no-wrap
42559 msgid "@code{sysctl} (default: @code{(file-append procps \"/sbin/sysctl\"})"
42560 msgstr ""
42561
42562 #. type: table
42563 #: doc/guix.texi:19586
42564 msgid "The @command{sysctl} executable to use."
42565 msgstr ""
42566
42567 #. type: item
42568 #: doc/guix.texi:19587
42569 #, no-wrap
42570 msgid "@code{settings} (default: @code{'()})"
42571 msgstr ""
42572
42573 #. type: table
42574 #: doc/guix.texi:19589
42575 msgid "An association list specifies kernel parameters and their values."
42576 msgstr ""
42577
42578 #. type: cindex
42579 #: doc/guix.texi:19592
42580 #, no-wrap
42581 msgid "lirc"
42582 msgstr ""
42583
42584 #. type: subsubheading
42585 #: doc/guix.texi:19593
42586 #, no-wrap
42587 msgid "Lirc Service"
42588 msgstr ""
42589
42590 #. type: Plain text
42591 #: doc/guix.texi:19596
42592 msgid "The @code{(gnu services lirc)} module provides the following service."
42593 msgstr ""
42594
42595 #. type: deffn
42596 #: doc/guix.texi:19597
42597 #, no-wrap
42598 msgid "{Scheme Procedure} lirc-service [#:lirc lirc] @"
42599 msgstr ""
42600
42601 #. type: deffn
42602 #: doc/guix.texi:19602
42603 msgid ""
42604 "[#:device #f] [#:driver #f] [#:config-file #f] @ [#:extra-options '()] "
42605 "Return a service that runs @url{http://www.lirc.org,LIRC}, a daemon that "
42606 "decodes infrared signals from remote controls."
42607 msgstr ""
42608
42609 #. type: deffn
42610 #: doc/guix.texi:19606
42611 msgid ""
42612 "Optionally, @var{device}, @var{driver} and @var{config-file} (configuration "
42613 "file name) may be specified. See @command{lircd} manual for details."
42614 msgstr ""
42615
42616 #. type: deffn
42617 #: doc/guix.texi:19609
42618 msgid ""
42619 "Finally, @var{extra-options} is a list of additional command-line options "
42620 "passed to @command{lircd}."
42621 msgstr ""
42622
42623 #. type: cindex
42624 #: doc/guix.texi:19611
42625 #, no-wrap
42626 msgid "spice"
42627 msgstr ""
42628
42629 #. type: subsubheading
42630 #: doc/guix.texi:19612
42631 #, no-wrap
42632 msgid "Spice Service"
42633 msgstr ""
42634
42635 #. type: Plain text
42636 #: doc/guix.texi:19615
42637 msgid "The @code{(gnu services spice)} module provides the following service."
42638 msgstr ""
42639
42640 #. type: deffn
42641 #: doc/guix.texi:19616
42642 #, no-wrap
42643 msgid "{Scheme Procedure} spice-vdagent-service [#:spice-vdagent]"
42644 msgstr ""
42645
42646 #. type: deffn
42647 #: doc/guix.texi:19620
42648 msgid ""
42649 "Returns a service that runs @url{http://www.spice-space.org,VDAGENT}, a "
42650 "daemon that enables sharing the clipboard with a vm and setting the guest "
42651 "display resolution when the graphical console window resizes."
42652 msgstr ""
42653
42654 #. type: subsubsection
42655 #: doc/guix.texi:19622
42656 #, no-wrap
42657 msgid "Dictionary Services"
42658 msgstr ""
42659
42660 #. type: cindex
42661 #: doc/guix.texi:19623
42662 #, no-wrap
42663 msgid "dictionary"
42664 msgstr ""
42665
42666 #. type: Plain text
42667 #: doc/guix.texi:19625
42668 msgid "The @code{(gnu services dict)} module provides the following service:"
42669 msgstr ""
42670
42671 #. type: deffn
42672 #: doc/guix.texi:19626
42673 #, no-wrap
42674 msgid "{Scheme Procedure} dicod-service [#:config (dicod-configuration)]"
42675 msgstr ""
42676
42677 #. type: deffn
42678 #: doc/guix.texi:19629
42679 msgid ""
42680 "Return a service that runs the @command{dicod} daemon, an implementation of "
42681 "DICT server (@pxref{Dicod,,, dico, GNU Dico Manual})."
42682 msgstr ""
42683
42684 #. type: deffn
42685 #: doc/guix.texi:19633
42686 msgid ""
42687 "The optional @var{config} argument specifies the configuration for "
42688 "@command{dicod}, which should be a @code{<dicod-configuration>} object, by "
42689 "default it serves the GNU Collaborative International Dictonary of English."
42690 msgstr ""
42691
42692 #. type: deffn
42693 #: doc/guix.texi:19637
42694 msgid ""
42695 "You can add @command{open localhost} to your @file{~/.dico} file to make "
42696 "@code{localhost} the default server for @command{dico} client "
42697 "(@pxref{Initialization File,,, dico, GNU Dico Manual})."
42698 msgstr ""
42699
42700 #. type: deftp
42701 #: doc/guix.texi:19639
42702 #, no-wrap
42703 msgid "{Data Type} dicod-configuration"
42704 msgstr ""
42705
42706 #. type: deftp
42707 #: doc/guix.texi:19641
42708 msgid "Data type representing the configuration of dicod."
42709 msgstr ""
42710
42711 #. type: item
42712 #: doc/guix.texi:19643
42713 #, no-wrap
42714 msgid "@code{dico} (default: @var{dico})"
42715 msgstr ""
42716
42717 #. type: table
42718 #: doc/guix.texi:19645
42719 msgid "Package object of the GNU Dico dictionary server."
42720 msgstr ""
42721
42722 #. type: item
42723 #: doc/guix.texi:19646
42724 #, no-wrap
42725 msgid "@code{interfaces} (default: @var{'(\"localhost\")})"
42726 msgstr ""
42727
42728 #. type: table
42729 #: doc/guix.texi:19650
42730 msgid ""
42731 "This is the list of IP addresses and ports and possibly socket file names to "
42732 "listen to (@pxref{Server Settings, @code{listen} directive,, dico, GNU Dico "
42733 "Manual})."
42734 msgstr ""
42735
42736 #. type: item
42737 #: doc/guix.texi:19651
42738 #, no-wrap
42739 msgid "@code{handlers} (default: @var{'()})"
42740 msgstr ""
42741
42742 #. type: table
42743 #: doc/guix.texi:19653
42744 msgid ""
42745 "List of @code{<dicod-handler>} objects denoting handlers (module instances)."
42746 msgstr ""
42747
42748 #. type: item
42749 #: doc/guix.texi:19654
42750 #, no-wrap
42751 msgid "@code{databases} (default: @var{(list %dicod-database:gcide)})"
42752 msgstr ""
42753
42754 #. type: table
42755 #: doc/guix.texi:19656
42756 msgid ""
42757 "List of @code{<dicod-database>} objects denoting dictionaries to be served."
42758 msgstr ""
42759
42760 #. type: deftp
42761 #: doc/guix.texi:19659
42762 #, no-wrap
42763 msgid "{Data Type} dicod-handler"
42764 msgstr ""
42765
42766 #. type: deftp
42767 #: doc/guix.texi:19661
42768 msgid "Data type representing a dictionary handler (module instance)."
42769 msgstr ""
42770
42771 #. type: table
42772 #: doc/guix.texi:19665
42773 msgid "Name of the handler (module instance)."
42774 msgstr ""
42775
42776 #. type: item
42777 #: doc/guix.texi:19666
42778 #, no-wrap
42779 msgid "@code{module} (default: @var{#f})"
42780 msgstr ""
42781
42782 #. type: table
42783 #: doc/guix.texi:19670
42784 msgid ""
42785 "Name of the dicod module of the handler (instance). If it is @code{#f}, the "
42786 "module has the same name as the handler. (@pxref{Modules,,, dico, GNU Dico "
42787 "Manual})."
42788 msgstr ""
42789
42790 #. type: code{#1}
42791 #: doc/guix.texi:19671 doc/guix.texi:19691
42792 #, no-wrap
42793 msgid "options"
42794 msgstr ""
42795
42796 #. type: table
42797 #: doc/guix.texi:19673
42798 msgid ""
42799 "List of strings or gexps representing the arguments for the module handler"
42800 msgstr ""
42801
42802 #. type: deftp
42803 #: doc/guix.texi:19676
42804 #, no-wrap
42805 msgid "{Data Type} dicod-database"
42806 msgstr ""
42807
42808 #. type: deftp
42809 #: doc/guix.texi:19678
42810 msgid "Data type representing a dictionary database."
42811 msgstr ""
42812
42813 #. type: table
42814 #: doc/guix.texi:19682
42815 msgid "Name of the database, will be used in DICT commands."
42816 msgstr ""
42817
42818 #. type: code{#1}
42819 #: doc/guix.texi:19683
42820 #, no-wrap
42821 msgid "handler"
42822 msgstr ""
42823
42824 #. type: table
42825 #: doc/guix.texi:19686
42826 msgid ""
42827 "Name of the dicod handler (module instance) used by this database "
42828 "(@pxref{Handlers,,, dico, GNU Dico Manual})."
42829 msgstr ""
42830
42831 #. type: item
42832 #: doc/guix.texi:19687
42833 #, no-wrap
42834 msgid "@code{complex?} (default: @var{#f})"
42835 msgstr ""
42836
42837 #. type: table
42838 #: doc/guix.texi:19690
42839 msgid ""
42840 "Whether the database configuration complex. The complex configuration will "
42841 "need a corresponding @code{<dicod-handler>} object, otherwise not."
42842 msgstr ""
42843
42844 #. type: table
42845 #: doc/guix.texi:19694
42846 msgid ""
42847 "List of strings or gexps representing the arguments for the database "
42848 "(@pxref{Databases,,, dico, GNU Dico Manual})."
42849 msgstr ""
42850
42851 #. type: defvr
42852 #: doc/guix.texi:19697
42853 #, no-wrap
42854 msgid "{Scheme Variable} %dicod-database:gcide"
42855 msgstr ""
42856
42857 #. type: defvr
42858 #: doc/guix.texi:19700
42859 msgid ""
42860 "A @code{<dicod-database>} object serving the GNU Collaborative International "
42861 "Dictionary of English using the @code{gcide} package."
42862 msgstr ""
42863
42864 #. type: Plain text
42865 #: doc/guix.texi:19703
42866 msgid "The following is an example @code{dicod-service} configuration."
42867 msgstr ""
42868
42869 #. type: example
42870 #: doc/guix.texi:19718
42871 #, no-wrap
42872 msgid ""
42873 "(dicod-service #:config\n"
42874 " (dicod-configuration\n"
42875 " (handlers (list (dicod-handler\n"
42876 " (name \"wordnet\")\n"
42877 " (module \"dictorg\")\n"
42878 " (options\n"
42879 " (list #~(string-append \"dbdir=\" #$wordnet))))))\n"
42880 " (databases (list (dicod-database\n"
42881 " (name \"wordnet\")\n"
42882 " (complex? #t)\n"
42883 " (handler \"wordnet\")\n"
42884 " (options '(\"database=wn\")))\n"
42885 " %dicod-database:gcide))))\n"
42886 msgstr ""
42887
42888 #. type: cindex
42889 #: doc/guix.texi:19723
42890 #, no-wrap
42891 msgid "setuid programs"
42892 msgstr ""
42893
42894 #. type: Plain text
42895 #: doc/guix.texi:19733
42896 msgid ""
42897 "Some programs need to run with ``root'' privileges, even when they are "
42898 "launched by unprivileged users. A notorious example is the @command{passwd} "
42899 "program, which users can run to change their password, and which needs to "
42900 "access the @file{/etc/passwd} and @file{/etc/shadow} files---something "
42901 "normally restricted to root, for obvious security reasons. To address that, "
42902 "these executables are @dfn{setuid-root}, meaning that they always run with "
42903 "root privileges (@pxref{How Change Persona,,, libc, The GNU C Library "
42904 "Reference Manual}, for more info about the setuid mechanism.)"
42905 msgstr ""
42906
42907 #. type: Plain text
42908 #: doc/guix.texi:19740
42909 msgid ""
42910 "The store itself @emph{cannot} contain setuid programs: that would be a "
42911 "security issue since any user on the system can write derivations that "
42912 "populate the store (@pxref{The Store}). Thus, a different mechanism is "
42913 "used: instead of changing the setuid bit directly on files that are in the "
42914 "store, we let the system administrator @emph{declare} which programs should "
42915 "be setuid root."
42916 msgstr ""
42917
42918 #. type: Plain text
42919 #: doc/guix.texi:19746
42920 msgid ""
42921 "The @code{setuid-programs} field of an @code{operating-system} declaration "
42922 "contains a list of G-expressions denoting the names of programs to be setuid-"
42923 "root (@pxref{Using the Configuration System}). For instance, the "
42924 "@command{passwd} program, which is part of the Shadow package, can be "
42925 "designated by this G-expression (@pxref{G-Expressions}):"
42926 msgstr ""
42927
42928 #. type: example
42929 #: doc/guix.texi:19749
42930 #, no-wrap
42931 msgid "#~(string-append #$shadow \"/bin/passwd\")\n"
42932 msgstr ""
42933
42934 #. type: Plain text
42935 #: doc/guix.texi:19753
42936 msgid ""
42937 "A default set of setuid programs is defined by the @code{%setuid-programs} "
42938 "variable of the @code{(gnu system)} module."
42939 msgstr ""
42940
42941 #. type: defvr
42942 #: doc/guix.texi:19754
42943 #, no-wrap
42944 msgid "{Scheme Variable} %setuid-programs"
42945 msgstr ""
42946
42947 #. type: defvr
42948 #: doc/guix.texi:19756
42949 msgid "A list of G-expressions denoting common programs that are setuid-root."
42950 msgstr ""
42951
42952 #. type: defvr
42953 #: doc/guix.texi:19759
42954 msgid ""
42955 "The list includes commands such as @command{passwd}, @command{ping}, "
42956 "@command{su}, and @command{sudo}."
42957 msgstr ""
42958
42959 #. type: Plain text
42960 #: doc/guix.texi:19765
42961 msgid ""
42962 "Under the hood, the actual setuid programs are created in the @file{/run/"
42963 "setuid-programs} directory at system activation time. The files in this "
42964 "directory refer to the ``real'' binaries, which are in the store."
42965 msgstr ""
42966
42967 #. type: cindex
42968 #: doc/guix.texi:19769
42969 #, no-wrap
42970 msgid "HTTPS, certificates"
42971 msgstr ""
42972
42973 #. type: cindex
42974 #: doc/guix.texi:19770
42975 #, no-wrap
42976 msgid "X.509 certificates"
42977 msgstr ""
42978
42979 #. type: cindex
42980 #: doc/guix.texi:19771
42981 #, no-wrap
42982 msgid "TLS"
42983 msgstr ""
42984
42985 #. type: Plain text
42986 #: doc/guix.texi:19778
42987 msgid ""
42988 "Web servers available over HTTPS (that is, HTTP over the transport-layer "
42989 "security mechanism, TLS) send client programs an @dfn{X.509 certificate} "
42990 "that the client can then use to @emph{authenticate} the server. To do that, "
42991 "clients verify that the server's certificate is signed by a so-called "
42992 "@dfn{certificate authority} (CA). But to verify the CA's signature, clients "
42993 "must have first acquired the CA's certificate."
42994 msgstr ""
42995
42996 #. type: Plain text
42997 #: doc/guix.texi:19782
42998 msgid ""
42999 "Web browsers such as GNU@tie{}IceCat include their own set of CA "
43000 "certificates, such that they are able to verify CA signatures out-of-the-box."
43001 msgstr ""
43002
43003 #. type: Plain text
43004 #: doc/guix.texi:19786
43005 msgid ""
43006 "However, most other programs that can talk HTTPS---@command{wget}, "
43007 "@command{git}, @command{w3m}, etc.---need to be told where CA certificates "
43008 "can be found."
43009 msgstr ""
43010
43011 #. type: Plain text
43012 #: doc/guix.texi:19793
43013 msgid ""
43014 "In GuixSD, this is done by adding a package that provides certificates to "
43015 "the @code{packages} field of the @code{operating-system} declaration "
43016 "(@pxref{operating-system Reference}). GuixSD includes one such package, "
43017 "@code{nss-certs}, which is a set of CA certificates provided as part of "
43018 "Mozilla's Network Security Services."
43019 msgstr ""
43020
43021 #. type: Plain text
43022 #: doc/guix.texi:19798
43023 msgid ""
43024 "Note that it is @emph{not} part of @var{%base-packages}, so you need to "
43025 "explicitly add it. The @file{/etc/ssl/certs} directory, which is where most "
43026 "applications and libraries look for certificates by default, points to the "
43027 "certificates installed globally."
43028 msgstr ""
43029
43030 #. type: Plain text
43031 #: doc/guix.texi:19808
43032 msgid ""
43033 "Unprivileged users, including users of Guix on a foreign distro, can also "
43034 "install their own certificate package in their profile. A number of "
43035 "environment variables need to be defined so that applications and libraries "
43036 "know where to find them. Namely, the OpenSSL library honors the "
43037 "@code{SSL_CERT_DIR} and @code{SSL_CERT_FILE} variables. Some applications "
43038 "add their own environment variables; for instance, the Git version control "
43039 "system honors the certificate bundle pointed to by the @code{GIT_SSL_CAINFO} "
43040 "environment variable. Thus, you would typically run something like:"
43041 msgstr ""
43042
43043 #. type: example
43044 #: doc/guix.texi:19814
43045 #, no-wrap
43046 msgid ""
43047 "$ guix package -i nss-certs\n"
43048 "$ export SSL_CERT_DIR=\"$HOME/.guix-profile/etc/ssl/certs\"\n"
43049 "$ export SSL_CERT_FILE=\"$HOME/.guix-profile/etc/ssl/certs/ca-certificates.crt\"\n"
43050 "$ export GIT_SSL_CAINFO=\"$SSL_CERT_FILE\"\n"
43051 msgstr ""
43052
43053 #. type: Plain text
43054 #: doc/guix.texi:19819
43055 msgid ""
43056 "As another example, R requires the @code{CURL_CA_BUNDLE} environment "
43057 "variable to point to a certificate bundle, so you would have to run "
43058 "something like this:"
43059 msgstr ""
43060
43061 #. type: example
43062 #: doc/guix.texi:19823
43063 #, no-wrap
43064 msgid ""
43065 "$ guix package -i nss-certs\n"
43066 "$ export CURL_CA_BUNDLE=\"$HOME/.guix-profile/etc/ssl/certs/ca-certificates.crt\"\n"
43067 msgstr ""
43068
43069 #. type: Plain text
43070 #: doc/guix.texi:19827
43071 msgid ""
43072 "For other applications you may want to look up the required environment "
43073 "variable in the relevant documentation."
43074 msgstr ""
43075
43076 #. type: cindex
43077 #: doc/guix.texi:19832
43078 #, no-wrap
43079 msgid "name service switch"
43080 msgstr ""
43081
43082 #. type: cindex
43083 #: doc/guix.texi:19833
43084 #, no-wrap
43085 msgid "NSS"
43086 msgstr ""
43087
43088 #. type: Plain text
43089 #: doc/guix.texi:19842
43090 msgid ""
43091 "The @code{(gnu system nss)} module provides bindings to the configuration "
43092 "file of the libc @dfn{name service switch} or @dfn{NSS} (@pxref{NSS "
43093 "Configuration File,,, libc, The GNU C Library Reference Manual}). In a "
43094 "nutshell, the NSS is a mechanism that allows libc to be extended with new "
43095 "``name'' lookup methods for system databases, which includes host names, "
43096 "service names, user accounts, and more (@pxref{Name Service Switch, System "
43097 "Databases and Name Service Switch,, libc, The GNU C Library Reference "
43098 "Manual})."
43099 msgstr ""
43100
43101 #. type: Plain text
43102 #: doc/guix.texi:19849
43103 msgid ""
43104 "The NSS configuration specifies, for each system database, which lookup "
43105 "method is to be used, and how the various methods are chained together---for "
43106 "instance, under which circumstances NSS should try the next method in the "
43107 "list. The NSS configuration is given in the @code{name-service-switch} "
43108 "field of @code{operating-system} declarations (@pxref{operating-system "
43109 "Reference, @code{name-service-switch}})."
43110 msgstr ""
43111
43112 #. type: cindex
43113 #: doc/guix.texi:19850
43114 #, no-wrap
43115 msgid "nss-mdns"
43116 msgstr ""
43117
43118 #. type: cindex
43119 #: doc/guix.texi:19851
43120 #, no-wrap
43121 msgid ".local, host name lookup"
43122 msgstr ""
43123
43124 #. type: Plain text
43125 #: doc/guix.texi:19856
43126 msgid ""
43127 "As an example, the declaration below configures the NSS to use the "
43128 "@uref{http://0pointer.de/lennart/projects/nss-mdns/, @code{nss-mdns} back-"
43129 "end}, which supports host name lookups over multicast DNS (mDNS) for host "
43130 "names ending in @code{.local}:"
43131 msgstr ""
43132
43133 #. type: example
43134 #: doc/guix.texi:19860
43135 #, no-wrap
43136 msgid ""
43137 "(name-service-switch\n"
43138 " (hosts (list %files ;first, check /etc/hosts\n"
43139 "\n"
43140 msgstr ""
43141
43142 #. type: example
43143 #: doc/guix.texi:19865
43144 #, no-wrap
43145 msgid ""
43146 " ;; If the above did not succeed, try\n"
43147 " ;; with 'mdns_minimal'.\n"
43148 " (name-service\n"
43149 " (name \"mdns_minimal\")\n"
43150 "\n"
43151 msgstr ""
43152
43153 #. type: example
43154 #: doc/guix.texi:19871
43155 #, no-wrap
43156 msgid ""
43157 " ;; 'mdns_minimal' is authoritative for\n"
43158 " ;; '.local'. When it returns \"not found\",\n"
43159 " ;; no need to try the next methods.\n"
43160 " (reaction (lookup-specification\n"
43161 " (not-found => return))))\n"
43162 "\n"
43163 msgstr ""
43164
43165 #. type: example
43166 #: doc/guix.texi:19875
43167 #, no-wrap
43168 msgid ""
43169 " ;; Then fall back to DNS.\n"
43170 " (name-service\n"
43171 " (name \"dns\"))\n"
43172 "\n"
43173 msgstr ""
43174
43175 #. type: example
43176 #: doc/guix.texi:19879
43177 #, no-wrap
43178 msgid ""
43179 " ;; Finally, try with the \"full\" 'mdns'.\n"
43180 " (name-service\n"
43181 " (name \"mdns\")))))\n"
43182 msgstr ""
43183
43184 #. type: Plain text
43185 #: doc/guix.texi:19884
43186 msgid ""
43187 "Do not worry: the @code{%mdns-host-lookup-nss} variable (see below) "
43188 "contains this configuration, so you will not have to type it if all you want "
43189 "is to have @code{.local} host lookup working."
43190 msgstr ""
43191
43192 #. type: Plain text
43193 #: doc/guix.texi:19892
43194 msgid ""
43195 "Note that, in this case, in addition to setting the @code{name-service-"
43196 "switch} of the @code{operating-system} declaration, you also need to use "
43197 "@code{avahi-service} (@pxref{Networking Services, @code{avahi-service}}), or "
43198 "@var{%desktop-services}, which includes it (@pxref{Desktop Services}). "
43199 "Doing this makes @code{nss-mdns} accessible to the name service cache daemon "
43200 "(@pxref{Base Services, @code{nscd-service}})."
43201 msgstr ""
43202
43203 #. type: Plain text
43204 #: doc/guix.texi:19895
43205 msgid ""
43206 "For convenience, the following variables provide typical NSS configurations."
43207 msgstr ""
43208
43209 #. type: defvr
43210 #: doc/guix.texi:19896
43211 #, no-wrap
43212 msgid "{Scheme Variable} %default-nss"
43213 msgstr ""
43214
43215 #. type: defvr
43216 #: doc/guix.texi:19899
43217 msgid ""
43218 "This is the default name service switch configuration, a @code{name-service-"
43219 "switch} object."
43220 msgstr ""
43221
43222 #. type: defvr
43223 #: doc/guix.texi:19901
43224 #, no-wrap
43225 msgid "{Scheme Variable} %mdns-host-lookup-nss"
43226 msgstr ""
43227
43228 #. type: defvr
43229 #: doc/guix.texi:19904
43230 msgid ""
43231 "This is the name service switch configuration with support for host name "
43232 "lookup over multicast DNS (mDNS) for host names ending in @code{.local}."
43233 msgstr ""
43234
43235 #. type: Plain text
43236 #: doc/guix.texi:19914
43237 msgid ""
43238 "The reference for name service switch configuration is given below. It is a "
43239 "direct mapping of the configuration file format of the C library , so please "
43240 "refer to the C library manual for more information (@pxref{NSS Configuration "
43241 "File,,, libc, The GNU C Library Reference Manual}). Compared to the "
43242 "configuration file format of libc NSS, it has the advantage not only of "
43243 "adding this warm parenthetic feel that we like, but also static checks: you "
43244 "will know about syntax errors and typos as soon as you run @command{guix "
43245 "system}."
43246 msgstr ""
43247
43248 #. type: deftp
43249 #: doc/guix.texi:19915
43250 #, no-wrap
43251 msgid "{Data Type} name-service-switch"
43252 msgstr ""
43253
43254 #. type: deftp
43255 #: doc/guix.texi:19920
43256 msgid ""
43257 "This is the data type representation the configuration of libc's name "
43258 "service switch (NSS). Each field below represents one of the supported "
43259 "system databases."
43260 msgstr ""
43261
43262 #. type: item
43263 #: doc/guix.texi:19922
43264 #, no-wrap
43265 msgid "aliases"
43266 msgstr ""
43267
43268 #. type: itemx
43269 #: doc/guix.texi:19923
43270 #, no-wrap
43271 msgid "ethers"
43272 msgstr ""
43273
43274 #. type: itemx
43275 #: doc/guix.texi:19925
43276 #, no-wrap
43277 msgid "gshadow"
43278 msgstr ""
43279
43280 #. type: itemx
43281 #: doc/guix.texi:19926
43282 #, no-wrap
43283 msgid "hosts"
43284 msgstr ""
43285
43286 #. type: itemx
43287 #: doc/guix.texi:19927
43288 #, no-wrap
43289 msgid "initgroups"
43290 msgstr ""
43291
43292 #. type: itemx
43293 #: doc/guix.texi:19928
43294 #, no-wrap
43295 msgid "netgroup"
43296 msgstr ""
43297
43298 #. type: itemx
43299 #: doc/guix.texi:19929
43300 #, no-wrap
43301 msgid "networks"
43302 msgstr ""
43303
43304 #. type: itemx
43305 #: doc/guix.texi:19931
43306 #, no-wrap
43307 msgid "public-key"
43308 msgstr ""
43309
43310 #. type: itemx
43311 #: doc/guix.texi:19932
43312 #, no-wrap
43313 msgid "rpc"
43314 msgstr ""
43315
43316 #. type: itemx
43317 #: doc/guix.texi:19934
43318 #, no-wrap
43319 msgid "shadow"
43320 msgstr ""
43321
43322 #. type: table
43323 #: doc/guix.texi:19937
43324 msgid ""
43325 "The system databases handled by the NSS. Each of these fields must be a "
43326 "list of @code{<name-service>} objects (see below)."
43327 msgstr ""
43328
43329 #. type: deftp
43330 #: doc/guix.texi:19940
43331 #, no-wrap
43332 msgid "{Data Type} name-service"
43333 msgstr ""
43334
43335 #. type: deftp
43336 #: doc/guix.texi:19944
43337 msgid ""
43338 "This is the data type representing an actual name service and the associated "
43339 "lookup action."
43340 msgstr ""
43341
43342 #. type: table
43343 #: doc/guix.texi:19949
43344 msgid ""
43345 "A string denoting the name service (@pxref{Services in the NSS "
43346 "configuration,,, libc, The GNU C Library Reference Manual})."
43347 msgstr ""
43348
43349 #. type: table
43350 #: doc/guix.texi:19954
43351 msgid ""
43352 "Note that name services listed here must be visible to nscd. This is "
43353 "achieved by passing the @code{#:name-services} argument to @code{nscd-"
43354 "service} the list of packages providing the needed name services "
43355 "(@pxref{Base Services, @code{nscd-service}})."
43356 msgstr ""
43357
43358 #. type: item
43359 #: doc/guix.texi:19955
43360 #, no-wrap
43361 msgid "reaction"
43362 msgstr ""
43363
43364 #. type: table
43365 #: doc/guix.texi:19959
43366 msgid ""
43367 "An action specified using the @code{lookup-specification} macro "
43368 "(@pxref{Actions in the NSS configuration,,, libc, The GNU C Library "
43369 "Reference Manual}). For example:"
43370 msgstr ""
43371
43372 #. type: example
43373 #: doc/guix.texi:19963
43374 #, no-wrap
43375 msgid ""
43376 "(lookup-specification (unavailable => continue)\n"
43377 " (success => return))\n"
43378 msgstr ""
43379
43380 #. type: Plain text
43381 #: doc/guix.texi:19977
43382 msgid ""
43383 "For bootstrapping purposes, the Linux-Libre kernel is passed an @dfn{initial "
43384 "RAM disk}, or @dfn{initrd}. An initrd contains a temporary root file system "
43385 "as well as an initialization script. The latter is responsible for mounting "
43386 "the real root file system, and for loading any kernel modules that may be "
43387 "needed to achieve that."
43388 msgstr ""
43389
43390 #. type: Plain text
43391 #: doc/guix.texi:19986
43392 msgid ""
43393 "The @code{initrd-modules} field of an @code{operating-system} declaration "
43394 "allows you to specify Linux-libre kernel modules that must be available in "
43395 "the initrd. In particular, this is where you would list modules needed to "
43396 "actually drive the hard disk where your root partition is---although the "
43397 "default value of @code{initrd-modules} should cover most use cases. For "
43398 "example, assuming you need the @code{megaraid_sas} module in addition to the "
43399 "default modules to be able to access your root file system, you would write:"
43400 msgstr ""
43401
43402 #. type: example
43403 #: doc/guix.texi:19991
43404 #, no-wrap
43405 msgid ""
43406 "(operating-system\n"
43407 " ;; @dots{}\n"
43408 " (initrd-modules (cons \"megaraid_sas\" %base-initrd-modules)))\n"
43409 msgstr ""
43410
43411 #. type: defvr
43412 #: doc/guix.texi:19993
43413 #, no-wrap
43414 msgid "{Scheme Variable} %base-initrd-modules"
43415 msgstr ""
43416
43417 #. type: defvr
43418 #: doc/guix.texi:19995
43419 msgid "This is the list of kernel modules included in the initrd by default."
43420 msgstr ""
43421
43422 #. type: Plain text
43423 #: doc/guix.texi:20003
43424 msgid ""
43425 "Furthermore, if you need lower-level customization, the @code{initrd} field "
43426 "of an @code{operating-system} declaration allows you to specify which initrd "
43427 "you would like to use. The @code{(gnu system linux-initrd)} module provides "
43428 "three ways to build an initrd: the high-level @code{base-initrd} procedure "
43429 "and the low-level @code{raw-initrd} and @code{expression->initrd} procedures."
43430 msgstr ""
43431
43432 #. type: Plain text
43433 #: doc/guix.texi:20008
43434 msgid ""
43435 "The @code{base-initrd} procedure is intended to cover most common uses. For "
43436 "example, if you want to add a bunch of kernel modules to be loaded at boot "
43437 "time, you can define the @code{initrd} field of the operating system "
43438 "declaration like this:"
43439 msgstr ""
43440
43441 #. type: example
43442 #: doc/guix.texi:20016
43443 #, no-wrap
43444 msgid ""
43445 "(initrd (lambda (file-systems . rest)\n"
43446 " ;; Create a standard initrd but set up networking\n"
43447 " ;; with the parameters QEMU expects by default.\n"
43448 " (apply base-initrd file-systems\n"
43449 " #:qemu-networking? #t\n"
43450 " rest)))\n"
43451 msgstr ""
43452
43453 #. type: Plain text
43454 #: doc/guix.texi:20021
43455 msgid ""
43456 "The @code{base-initrd} procedure also handles common use cases that involves "
43457 "using the system as a QEMU guest, or as a ``live'' system with volatile root "
43458 "file system."
43459 msgstr ""
43460
43461 #. type: Plain text
43462 #: doc/guix.texi:20028
43463 msgid ""
43464 "The @code{base-initrd} procedure is built from @code{raw-initrd} procedure. "
43465 "Unlike @code{base-initrd}, @code{raw-initrd} doesn't do anything high-level, "
43466 "such as trying to guess which kernel modules and packages should be included "
43467 "to the initrd. An example use of @code{raw-initrd} is when a user has a "
43468 "custom Linux kernel configuration and default kernel modules included by "
43469 "@code{base-initrd} are not available."
43470 msgstr ""
43471
43472 #. type: Plain text
43473 #: doc/guix.texi:20033
43474 msgid ""
43475 "The initial RAM disk produced by @code{base-initrd} or @code{raw-initrd} "
43476 "honors several options passed on the Linux kernel command line (that is, "
43477 "arguments passed @i{via} the @code{linux} command of GRUB, or the @code{-"
43478 "append} option of QEMU), notably:"
43479 msgstr ""
43480
43481 #. type: item
43482 #: doc/guix.texi:20035
43483 #, no-wrap
43484 msgid "--load=@var{boot}"
43485 msgstr ""
43486
43487 #. type: table
43488 #: doc/guix.texi:20038
43489 msgid ""
43490 "Tell the initial RAM disk to load @var{boot}, a file containing a Scheme "
43491 "program, once it has mounted the root file system."
43492 msgstr ""
43493
43494 #. type: table
43495 #: doc/guix.texi:20042
43496 msgid ""
43497 "GuixSD uses this option to yield control to a boot program that runs the "
43498 "service activation programs and then spawns the GNU@tie{}Shepherd, the "
43499 "initialization system."
43500 msgstr ""
43501
43502 #. type: item
43503 #: doc/guix.texi:20043
43504 #, no-wrap
43505 msgid "--root=@var{root}"
43506 msgstr ""
43507
43508 #. type: table
43509 #: doc/guix.texi:20047
43510 msgid ""
43511 "Mount @var{root} as the root file system. @var{root} can be a device name "
43512 "like @code{/dev/sda1}, a file system label, or a file system UUID."
43513 msgstr ""
43514
43515 #. type: table
43516 #: doc/guix.texi:20051
43517 msgid ""
43518 "Have @file{/run/booted-system} and @file{/run/current-system} point to "
43519 "@var{system}."
43520 msgstr ""
43521
43522 #. type: item
43523 #: doc/guix.texi:20052
43524 #, no-wrap
43525 msgid "modprobe.blacklist=@var{modules}@dots{}"
43526 msgstr ""
43527
43528 #. type: cindex
43529 #: doc/guix.texi:20053
43530 #, no-wrap
43531 msgid "module, black-listing"
43532 msgstr ""
43533
43534 #. type: cindex
43535 #: doc/guix.texi:20054
43536 #, no-wrap
43537 msgid "black list, of kernel modules"
43538 msgstr ""
43539
43540 #. type: table
43541 #: doc/guix.texi:20059
43542 msgid ""
43543 "Instruct the initial RAM disk as well as the @command{modprobe} command "
43544 "(from the kmod package) to refuse to load @var{modules}. @var{modules} must "
43545 "be a comma-separated list of module names---e.g., @code{usbkbd,9pnet}."
43546 msgstr ""
43547
43548 #. type: item
43549 #: doc/guix.texi:20060
43550 #, no-wrap
43551 msgid "--repl"
43552 msgstr ""
43553
43554 #. type: table
43555 #: doc/guix.texi:20066
43556 msgid ""
43557 "Start a read-eval-print loop (REPL) from the initial RAM disk before it "
43558 "tries to load kernel modules and to mount the root file system. Our "
43559 "marketing team calls it @dfn{boot-to-Guile}. The Schemer in you will love "
43560 "it. @xref{Using Guile Interactively,,, guile, GNU Guile Reference Manual}, "
43561 "for more information on Guile's REPL."
43562 msgstr ""
43563
43564 #. type: Plain text
43565 #: doc/guix.texi:20072
43566 msgid ""
43567 "Now that you know all the features that initial RAM disks produced by "
43568 "@code{base-initrd} and @code{raw-initrd} provide, here is how to use it and "
43569 "customize it further."
43570 msgstr ""
43571
43572 #. type: deffn
43573 #: doc/guix.texi:20075
43574 #, no-wrap
43575 msgid "{Monadic Procedure} raw-initrd @var{file-systems} @"
43576 msgstr ""
43577
43578 #. type: deffn
43579 #: doc/guix.texi:20087
43580 msgid ""
43581 "[#:linux-modules '()] [#:mapped-devices '()] @ [#:helper-packages '()] [#:"
43582 "qemu-networking? #f] [#:volatile-root? #f] Return a monadic derivation that "
43583 "builds a raw initrd. @var{file-systems} is a list of file systems to be "
43584 "mounted by the initrd, possibly in addition to the root file system "
43585 "specified on the kernel command line via @code{--root}. @var{linux-modules} "
43586 "is a list of kernel modules to be loaded at boot time. @var{mapped-devices} "
43587 "is a list of device mappings to realize before @var{file-systems} are "
43588 "mounted (@pxref{Mapped Devices}). @var{helper-packages} is a list of "
43589 "packages to be copied in the initrd. It may include @code{e2fsck/static} or "
43590 "other packages needed by the initrd to check the root file system."
43591 msgstr ""
43592
43593 #. type: deffn
43594 #: doc/guix.texi:20091
43595 msgid ""
43596 "When @var{qemu-networking?} is true, set up networking with the standard "
43597 "QEMU parameters. When @var{virtio?} is true, load additional modules so "
43598 "that the initrd can be used as a QEMU guest with para-virtualized I/O "
43599 "drivers."
43600 msgstr ""
43601
43602 #. type: deffn
43603 #: doc/guix.texi:20094
43604 msgid ""
43605 "When @var{volatile-root?} is true, the root file system is writable but any "
43606 "changes to it are lost."
43607 msgstr ""
43608
43609 #. type: deffn
43610 #: doc/guix.texi:20096
43611 #, no-wrap
43612 msgid "{Monadic Procedure} base-initrd @var{file-systems} @"
43613 msgstr ""
43614
43615 #. type: deffn
43616 #: doc/guix.texi:20104
43617 msgid ""
43618 "[#:mapped-devices '()] [#:qemu-networking? #f] [#:volatile-root? #f]@ [#:"
43619 "linux-modules '()] Return a monadic derivation that builds a generic initrd, "
43620 "with kernel modules taken from @var{linux}. @var{file-systems} is a list of "
43621 "file-systems to be mounted by the initrd, possibly in addition to the root "
43622 "file system specified on the kernel command line via @code{--root}. "
43623 "@var{mapped-devices} is a list of device mappings to realize before "
43624 "@var{file-systems} are mounted."
43625 msgstr ""
43626
43627 #. type: deffn
43628 #: doc/guix.texi:20106
43629 msgid ""
43630 "@var{qemu-networking?} and @var{volatile-root?} behaves as in @code{raw-"
43631 "initrd}."
43632 msgstr ""
43633
43634 #. type: deffn
43635 #: doc/guix.texi:20111
43636 msgid ""
43637 "The initrd is automatically populated with all the kernel modules necessary "
43638 "for @var{file-systems} and for the given options. Additional kernel modules "
43639 "can be listed in @var{linux-modules}. They will be added to the initrd, and "
43640 "loaded at boot time in the order in which they appear."
43641 msgstr ""
43642
43643 #. type: Plain text
43644 #: doc/guix.texi:20118
43645 msgid ""
43646 "Needless to say, the initrds we produce and use embed a statically-linked "
43647 "Guile, and the initialization program is a Guile program. That gives a lot "
43648 "of flexibility. The @code{expression->initrd} procedure builds such an "
43649 "initrd, given the program to run in that initrd."
43650 msgstr ""
43651
43652 #. type: deffn
43653 #: doc/guix.texi:20119
43654 #, no-wrap
43655 msgid "{Monadic Procedure} expression->initrd @var{exp} @"
43656 msgstr ""
43657
43658 #. type: deffn
43659 #: doc/guix.texi:20125
43660 msgid ""
43661 "[#:guile %guile-static-stripped] [#:name \"guile-initrd\"] Return a "
43662 "derivation that builds a Linux initrd (a gzipped cpio archive) containing "
43663 "@var{guile} and that evaluates @var{exp}, a G-expression, upon booting. All "
43664 "the derivations referenced by @var{exp} are automatically copied to the "
43665 "initrd."
43666 msgstr ""
43667
43668 #. type: cindex
43669 #: doc/guix.texi:20131
43670 #, no-wrap
43671 msgid "boot loader"
43672 msgstr ""
43673
43674 #. type: Plain text
43675 #: doc/guix.texi:20138
43676 msgid ""
43677 "The operating system supports multiple bootloaders. The bootloader is "
43678 "configured using @code{bootloader-configuration} declaration. All the "
43679 "fields of this structure are bootloader agnostic except for one field, "
43680 "@code{bootloader} that indicates the bootloader to be configured and "
43681 "installed."
43682 msgstr ""
43683
43684 #. type: Plain text
43685 #: doc/guix.texi:20143
43686 msgid ""
43687 "Some of the bootloaders do not honor every field of @code{bootloader-"
43688 "configuration}. For instance, the extlinux bootloader does not support "
43689 "themes and thus ignores the @code{theme} field."
43690 msgstr ""
43691
43692 #. type: deftp
43693 #: doc/guix.texi:20144
43694 #, no-wrap
43695 msgid "{Data Type} bootloader-configuration"
43696 msgstr ""
43697
43698 #. type: deftp
43699 #: doc/guix.texi:20146
43700 msgid "The type of a bootloader configuration declaration."
43701 msgstr ""
43702
43703 #. type: cindex
43704 #: doc/guix.texi:20150
43705 #, no-wrap
43706 msgid "EFI, bootloader"
43707 msgstr ""
43708
43709 #. type: cindex
43710 #: doc/guix.texi:20151
43711 #, no-wrap
43712 msgid "UEFI, bootloader"
43713 msgstr ""
43714
43715 #. type: cindex
43716 #: doc/guix.texi:20152
43717 #, no-wrap
43718 msgid "BIOS, bootloader"
43719 msgstr ""
43720
43721 #. type: table
43722 #: doc/guix.texi:20158
43723 msgid ""
43724 "The bootloader to use, as a @code{bootloader} object. For now @code{grub-"
43725 "bootloader}, @code{grub-efi-bootloader}, @code{extlinux-bootloader} and "
43726 "@code{u-boot-bootloader} are supported. @code{grub-efi-bootloader} allows "
43727 "to boot on modern systems using the @dfn{Unified Extensible Firmware "
43728 "Interface} (UEFI)."
43729 msgstr ""
43730
43731 #. type: table
43732 #: doc/guix.texi:20161
43733 msgid ""
43734 "Available bootloaders are described in @code{(gnu bootloader @dots{})} "
43735 "modules."
43736 msgstr ""
43737
43738 #. type: table
43739 #: doc/guix.texi:20171
43740 msgid ""
43741 "This is a string denoting the target onto which to install the bootloader. "
43742 "The exact interpretation depends on the bootloader in question; for "
43743 "@code{grub-bootloader}, for example, it should be a device name understood "
43744 "by the bootloader @command{installer} command, such as @code{/dev/sda} or "
43745 "@code{(hd0)} (for GRUB, @pxref{Invoking grub-install,,, grub, GNU GRUB "
43746 "Manual}). For @code{grub-efi-bootloader}, it should be the path to a "
43747 "mounted EFI file system."
43748 msgstr ""
43749
43750 #. type: item
43751 #: doc/guix.texi:20172
43752 #, no-wrap
43753 msgid "@code{menu-entries} (default: @code{()})"
43754 msgstr ""
43755
43756 #. type: table
43757 #: doc/guix.texi:20176
43758 msgid ""
43759 "A possibly empty list of @code{menu-entry} objects (see below), denoting "
43760 "entries to appear in the bootloader menu, in addition to the current system "
43761 "entry and the entry pointing to previous system generations."
43762 msgstr ""
43763
43764 #. type: item
43765 #: doc/guix.texi:20177
43766 #, no-wrap
43767 msgid "@code{default-entry} (default: @code{0})"
43768 msgstr ""
43769
43770 #. type: table
43771 #: doc/guix.texi:20180
43772 msgid ""
43773 "The index of the default boot menu entry. Index 0 is for the entry of the "
43774 "current system."
43775 msgstr ""
43776
43777 #. type: item
43778 #: doc/guix.texi:20181
43779 #, no-wrap
43780 msgid "@code{timeout} (default: @code{5})"
43781 msgstr ""
43782
43783 #. type: table
43784 #: doc/guix.texi:20184
43785 msgid ""
43786 "The number of seconds to wait for keyboard input before booting. Set to 0 "
43787 "to boot immediately, and to -1 to wait indefinitely."
43788 msgstr ""
43789
43790 #. type: item
43791 #: doc/guix.texi:20185
43792 #, no-wrap
43793 msgid "@code{theme} (default: @var{#f})"
43794 msgstr ""
43795
43796 #. type: table
43797 #: doc/guix.texi:20189
43798 msgid ""
43799 "The bootloader theme object describing the theme to use. If no theme is "
43800 "provided, some bootloaders might use a default theme, that's true for GRUB."
43801 msgstr ""
43802
43803 #. type: item
43804 #: doc/guix.texi:20190
43805 #, no-wrap
43806 msgid "@code{terminal-outputs} (default: @code{'gfxterm})"
43807 msgstr ""
43808
43809 #. type: table
43810 #: doc/guix.texi:20197
43811 msgid ""
43812 "The output terminals used for the bootloader boot menu, as a list of "
43813 "symbols. GRUB accepts the values: @code{console}, @code{serial}, "
43814 "@code{serial_@{0-3@}}, @code{gfxterm}, @code{vga_text}, @code{mda_text}, "
43815 "@code{morse}, and @code{pkmodem}. This field corresponds to the GRUB "
43816 "variable GRUB_TERMINAL_OUTPUT (@pxref{Simple configuration,,, grub,GNU GRUB "
43817 "manual})."
43818 msgstr ""
43819
43820 #. type: item
43821 #: doc/guix.texi:20198
43822 #, no-wrap
43823 msgid "@code{terminal-inputs} (default: @code{'()})"
43824 msgstr ""
43825
43826 #. type: table
43827 #: doc/guix.texi:20206
43828 msgid ""
43829 "The input terminals used for the bootloader boot menu, as a list of "
43830 "symbols. For GRUB, the default is the native platform terminal as "
43831 "determined at run-time. GRUB accepts the values: @code{console}, "
43832 "@code{serial}, @code{serial_@{0-3@}}, @code{at_keyboard}, and "
43833 "@code{usb_keyboard}. This field corresponds to the GRUB variable "
43834 "GRUB_TERMINAL_INPUT (@pxref{Simple configuration,,, grub,GNU GRUB manual})."
43835 msgstr ""
43836
43837 #. type: item
43838 #: doc/guix.texi:20207
43839 #, no-wrap
43840 msgid "@code{serial-unit} (default: @code{#f})"
43841 msgstr ""
43842
43843 #. type: table
43844 #: doc/guix.texi:20211
43845 msgid ""
43846 "The serial unit used by the bootloader, as an integer from 0 to 3. For "
43847 "GRUB, it is chosen at run-time; currently GRUB chooses 0, which corresponds "
43848 "to COM1 (@pxref{Serial terminal,,, grub,GNU GRUB manual})."
43849 msgstr ""
43850
43851 #. type: item
43852 #: doc/guix.texi:20212
43853 #, no-wrap
43854 msgid "@code{serial-speed} (default: @code{#f})"
43855 msgstr ""
43856
43857 #. type: table
43858 #: doc/guix.texi:20216
43859 msgid ""
43860 "The speed of the serial interface, as an integer. For GRUB, the default "
43861 "value is chosen at run-time; currently GRUB chooses 9600@tie{}bps "
43862 "(@pxref{Serial terminal,,, grub,GNU GRUB manual})."
43863 msgstr ""
43864
43865 #. type: cindex
43866 #: doc/guix.texi:20220
43867 #, no-wrap
43868 msgid "dual boot"
43869 msgstr ""
43870
43871 #. type: cindex
43872 #: doc/guix.texi:20221
43873 #, no-wrap
43874 msgid "boot menu"
43875 msgstr ""
43876
43877 #. type: Plain text
43878 #: doc/guix.texi:20227
43879 msgid ""
43880 "Should you want to list additional boot menu entries @i{via} the @code{menu-"
43881 "entries} field above, you will need to create them with the @code{menu-"
43882 "entry} form. For example, imagine you want to be able to boot another "
43883 "distro (hard to imagine!), you can define a menu entry along these lines:"
43884 msgstr ""
43885
43886 #. type: example
43887 #: doc/guix.texi:20234
43888 #, no-wrap
43889 msgid ""
43890 "(menu-entry\n"
43891 " (label \"The Other Distro\")\n"
43892 " (linux \"/boot/old/vmlinux-2.6.32\")\n"
43893 " (linux-arguments '(\"root=/dev/sda2\"))\n"
43894 " (initrd \"/boot/old/initrd\"))\n"
43895 msgstr ""
43896
43897 #. type: Plain text
43898 #: doc/guix.texi:20237
43899 msgid "Details below."
43900 msgstr ""
43901
43902 #. type: deftp
43903 #: doc/guix.texi:20238
43904 #, no-wrap
43905 msgid "{Data Type} menu-entry"
43906 msgstr ""
43907
43908 #. type: deftp
43909 #: doc/guix.texi:20240
43910 msgid "The type of an entry in the bootloader menu."
43911 msgstr ""
43912
43913 #. type: code{#1}
43914 #: doc/guix.texi:20243
43915 #, no-wrap
43916 msgid "label"
43917 msgstr ""
43918
43919 #. type: table
43920 #: doc/guix.texi:20245
43921 msgid "The label to show in the menu---e.g., @code{\"GNU\"}."
43922 msgstr ""
43923
43924 #. type: code{#1}
43925 #: doc/guix.texi:20246
43926 #, no-wrap
43927 msgid "linux"
43928 msgstr ""
43929
43930 #. type: table
43931 #: doc/guix.texi:20248
43932 msgid "The Linux kernel image to boot, for example:"
43933 msgstr ""
43934
43935 #. type: example
43936 #: doc/guix.texi:20251
43937 #, no-wrap
43938 msgid "(file-append linux-libre \"/bzImage\")\n"
43939 msgstr ""
43940
43941 #. type: table
43942 #: doc/guix.texi:20256
43943 msgid ""
43944 "For GRUB, it is also possible to specify a device explicitly in the file "
43945 "path using GRUB's device naming convention (@pxref{Naming convention,,, "
43946 "grub, GNU GRUB manual}), for example:"
43947 msgstr ""
43948
43949 #. type: example
43950 #: doc/guix.texi:20259
43951 #, no-wrap
43952 msgid "\"(hd0,msdos1)/boot/vmlinuz\"\n"
43953 msgstr ""
43954
43955 #. type: table
43956 #: doc/guix.texi:20263
43957 msgid ""
43958 "If the device is specified explicitly as above, then the @code{device} field "
43959 "is ignored entirely."
43960 msgstr ""
43961
43962 #. type: item
43963 #: doc/guix.texi:20264
43964 #, no-wrap
43965 msgid "@code{linux-arguments} (default: @code{()})"
43966 msgstr ""
43967
43968 #. type: table
43969 #: doc/guix.texi:20267
43970 msgid ""
43971 "The list of extra Linux kernel command-line arguments---e.g., "
43972 "@code{(\"console=ttyS0\")}."
43973 msgstr ""
43974
43975 #. type: table
43976 #: doc/guix.texi:20271
43977 msgid ""
43978 "A G-Expression or string denoting the file name of the initial RAM disk to "
43979 "use (@pxref{G-Expressions})."
43980 msgstr ""
43981
43982 #. type: item
43983 #: doc/guix.texi:20271
43984 #, no-wrap
43985 msgid "@code{device} (default: @code{#f})"
43986 msgstr ""
43987
43988 #. type: table
43989 #: doc/guix.texi:20274
43990 msgid ""
43991 "The device where the kernel and initrd are to be found---i.e., for GRUB, "
43992 "@dfn{root} for this menu entry (@pxref{root,,, grub, GNU GRUB manual})."
43993 msgstr ""
43994
43995 #. type: table
43996 #: doc/guix.texi:20280
43997 msgid ""
43998 "This may be a file system label (a string), a file system UUID (a "
43999 "bytevector, @pxref{File Systems}), or @code{#f}, in which case the "
44000 "bootloader will search the device containing the file specified by the "
44001 "@code{linux} field (@pxref{search,,, grub, GNU GRUB manual}). It must "
44002 "@emph{not} be an OS device name such as @file{/dev/sda1}."
44003 msgstr ""
44004
44005 #. type: Plain text
44006 #: doc/guix.texi:20287
44007 msgid ""
44008 "Fow now only GRUB has theme support. GRUB themes are created using the "
44009 "@code{grub-theme} form, which is not documented yet."
44010 msgstr ""
44011
44012 #. type: defvr
44013 #: doc/guix.texi:20292
44014 msgid ""
44015 "This is the default GRUB theme used by the operating system if no "
44016 "@code{theme} field is specified in @code{bootloader-configuration} record."
44017 msgstr ""
44018
44019 #. type: defvr
44020 #: doc/guix.texi:20295
44021 msgid ""
44022 "It comes with a fancy background image displaying the GNU and Guix logos."
44023 msgstr ""
44024
44025 #. type: subsection
44026 #: doc/guix.texi:20299
44027 #, no-wrap
44028 msgid "Invoking @code{guix system}"
44029 msgstr ""
44030
44031 #. type: Plain text
44032 #: doc/guix.texi:20304
44033 msgid ""
44034 "Once you have written an operating system declaration as seen in the "
44035 "previous section, it can be @dfn{instantiated} using the @command{guix "
44036 "system} command. The synopsis is:"
44037 msgstr ""
44038
44039 #. type: example
44040 #: doc/guix.texi:20307
44041 #, no-wrap
44042 msgid "guix system @var{options}@dots{} @var{action} @var{file}\n"
44043 msgstr ""
44044
44045 #. type: Plain text
44046 #: doc/guix.texi:20313
44047 msgid ""
44048 "@var{file} must be the name of a file containing an @code{operating-system} "
44049 "declaration. @var{action} specifies how the operating system is "
44050 "instantiated. Currently the following values are supported:"
44051 msgstr ""
44052
44053 #. type: item
44054 #: doc/guix.texi:20315
44055 #, no-wrap
44056 msgid "search"
44057 msgstr ""
44058
44059 #. type: table
44060 #: doc/guix.texi:20318
44061 msgid ""
44062 "Display available service type definitions that match the given regular "
44063 "expressions, sorted by relevance:"
44064 msgstr ""
44065
44066 #. type: example
44067 #: doc/guix.texi:20330
44068 #, no-wrap
44069 msgid ""
44070 "$ guix system search console font\n"
44071 "name: console-fonts\n"
44072 "location: gnu/services/base.scm:729:2\n"
44073 "extends: shepherd-root\n"
44074 "description: Install the given fonts on the specified ttys (fonts are\n"
44075 "+ per virtual console on GNU/Linux). The value of this service is a list\n"
44076 "+ of tty/font pairs like:\n"
44077 "+ \n"
44078 "+ '((\"tty1\" . \"LatGrkCyr-8x16\"))\n"
44079 "relevance: 20\n"
44080 "\n"
44081 msgstr ""
44082
44083 #. type: example
44084 #: doc/guix.texi:20336
44085 #, no-wrap
44086 msgid ""
44087 "name: mingetty\n"
44088 "location: gnu/services/base.scm:1048:2\n"
44089 "extends: shepherd-root\n"
44090 "description: Provide console login using the `mingetty' program.\n"
44091 "relevance: 2\n"
44092 "\n"
44093 msgstr ""
44094
44095 #. type: example
44096 #: doc/guix.texi:20343
44097 #, no-wrap
44098 msgid ""
44099 "name: login\n"
44100 "location: gnu/services/base.scm:775:2\n"
44101 "extends: pam\n"
44102 "description: Provide a console log-in service as specified by its\n"
44103 "+ configuration value, a `login-configuration' object.\n"
44104 "relevance: 2\n"
44105 "\n"
44106 msgstr ""
44107
44108 #. type: example
44109 #: doc/guix.texi:20345
44110 #, no-wrap
44111 msgid "@dots{}\n"
44112 msgstr ""
44113
44114 #. type: table
44115 #: doc/guix.texi:20350
44116 msgid ""
44117 "As for @command{guix package --search}, the result is written in "
44118 "@code{recutils} format, which makes it easy to filter the output "
44119 "(@pxref{Top, GNU recutils databases,, recutils, GNU recutils manual})."
44120 msgstr ""
44121
44122 #. type: item
44123 #: doc/guix.texi:20351
44124 #, no-wrap
44125 msgid "reconfigure"
44126 msgstr ""
44127
44128 #. type: table
44129 #: doc/guix.texi:20356
44130 msgid ""
44131 "Build the operating system described in @var{file}, activate it, and switch "
44132 "to it@footnote{This action (and the related actions @code{switch-generation} "
44133 "and @code{roll-back}) are usable only on systems already running GuixSD.}."
44134 msgstr ""
44135
44136 #. type: table
44137 #: doc/guix.texi:20363
44138 msgid ""
44139 "This effects all the configuration specified in @var{file}: user accounts, "
44140 "system services, global package list, setuid programs, etc. The command "
44141 "starts system services specified in @var{file} that are not currently "
44142 "running; if a service is currently running, it does not attempt to upgrade "
44143 "it since this would not be possible without stopping it first."
44144 msgstr ""
44145
44146 #. type: table
44147 #: doc/guix.texi:20369
44148 msgid ""
44149 "This command creates a new generation whose number is one greater than the "
44150 "current generation (as reported by @command{guix system list-generations}). "
44151 "If that generation already exists, it will be overwritten. This behavior "
44152 "mirrors that of @command{guix package} (@pxref{Invoking guix package})."
44153 msgstr ""
44154
44155 #. type: table
44156 #: doc/guix.texi:20374
44157 msgid ""
44158 "It also adds a bootloader menu entry for the new OS configuration, ---unless "
44159 "@option{--no-bootloader} is passed. For GRUB, it moves entries for older "
44160 "configurations to a submenu, allowing you to choose an older system "
44161 "generation at boot time should you need it."
44162 msgstr ""
44163
44164 #. type: quotation
44165 #: doc/guix.texi:20382
44166 msgid ""
44167 "It is highly recommended to run @command{guix pull} once before you run "
44168 "@command{guix system reconfigure} for the first time (@pxref{Invoking guix "
44169 "pull}). Failing to do that you would see an older version of Guix once "
44170 "@command{reconfigure} has completed."
44171 msgstr ""
44172
44173 #. type: item
44174 #: doc/guix.texi:20384
44175 #, no-wrap
44176 msgid "switch-generation"
44177 msgstr ""
44178
44179 #. type: table
44180 #: doc/guix.texi:20393
44181 msgid ""
44182 "Switch to an existing system generation. This action atomically switches "
44183 "the system profile to the specified system generation. It also rearranges "
44184 "the system's existing bootloader menu entries. It makes the menu entry for "
44185 "the specified system generation the default, and it moves the entries for "
44186 "the other generatiors to a submenu, if supported by the bootloader being "
44187 "used. The next time the system boots, it will use the specified system "
44188 "generation."
44189 msgstr ""
44190
44191 #. type: table
44192 #: doc/guix.texi:20397
44193 msgid ""
44194 "The bootloader itself is not being reinstalled when using this command. "
44195 "Thus, the installed bootloader is used with an updated configuration file."
44196 msgstr ""
44197
44198 #. type: table
44199 #: doc/guix.texi:20401
44200 msgid ""
44201 "The target generation can be specified explicitly by its generation number. "
44202 "For example, the following invocation would switch to system generation 7:"
44203 msgstr ""
44204
44205 #. type: example
44206 #: doc/guix.texi:20404
44207 #, no-wrap
44208 msgid "guix system switch-generation 7\n"
44209 msgstr ""
44210
44211 #. type: table
44212 #: doc/guix.texi:20412
44213 msgid ""
44214 "The target generation can also be specified relative to the current "
44215 "generation with the form @code{+N} or @code{-N}, where @code{+3} means ``3 "
44216 "generations ahead of the current generation,'' and @code{-1} means ``1 "
44217 "generation prior to the current generation.'' When specifying a negative "
44218 "value such as @code{-1}, you must precede it with @code{--} to prevent it "
44219 "from being parsed as an option. For example:"
44220 msgstr ""
44221
44222 #. type: example
44223 #: doc/guix.texi:20415
44224 #, no-wrap
44225 msgid "guix system switch-generation -- -1\n"
44226 msgstr ""
44227
44228 #. type: table
44229 #: doc/guix.texi:20423
44230 msgid ""
44231 "Currently, the effect of invoking this action is @emph{only} to switch the "
44232 "system profile to an existing generation and rearrange the bootloader menu "
44233 "entries. To actually start using the target system generation, you must "
44234 "reboot after running this action. In the future, it will be updated to do "
44235 "the same things as @command{reconfigure}, like activating and deactivating "
44236 "services."
44237 msgstr ""
44238
44239 #. type: table
44240 #: doc/guix.texi:20425
44241 msgid "This action will fail if the specified generation does not exist."
44242 msgstr ""
44243
44244 #. type: item
44245 #: doc/guix.texi:20426
44246 #, no-wrap
44247 msgid "roll-back"
44248 msgstr ""
44249
44250 #. type: table
44251 #: doc/guix.texi:20432
44252 msgid ""
44253 "Switch to the preceding system generation. The next time the system boots, "
44254 "it will use the preceding system generation. This is the inverse of "
44255 "@command{reconfigure}, and it is exactly the same as invoking "
44256 "@command{switch-generation} with an argument of @code{-1}."
44257 msgstr ""
44258
44259 #. type: table
44260 #: doc/guix.texi:20436
44261 msgid ""
44262 "Currently, as with @command{switch-generation}, you must reboot after "
44263 "running this action to actually start using the preceding system generation."
44264 msgstr ""
44265
44266 #. type: table
44267 #: doc/guix.texi:20441
44268 msgid ""
44269 "Build the derivation of the operating system, which includes all the "
44270 "configuration files and programs needed to boot and run the system. This "
44271 "action does not actually install anything."
44272 msgstr ""
44273
44274 #. type: item
44275 #: doc/guix.texi:20442
44276 #, no-wrap
44277 msgid "init"
44278 msgstr ""
44279
44280 #. type: table
44281 #: doc/guix.texi:20446
44282 msgid ""
44283 "Populate the given directory with all the files necessary to run the "
44284 "operating system specified in @var{file}. This is useful for first-time "
44285 "installations of GuixSD. For instance:"
44286 msgstr ""
44287
44288 #. type: example
44289 #: doc/guix.texi:20449
44290 #, no-wrap
44291 msgid "guix system init my-os-config.scm /mnt\n"
44292 msgstr ""
44293
44294 #. type: table
44295 #: doc/guix.texi:20456
44296 msgid ""
44297 "copies to @file{/mnt} all the store items required by the configuration "
44298 "specified in @file{my-os-config.scm}. This includes configuration files, "
44299 "packages, and so on. It also creates other essential files needed for the "
44300 "system to operate correctly---e.g., the @file{/etc}, @file{/var}, and @file{/"
44301 "run} directories, and the @file{/bin/sh} file."
44302 msgstr ""
44303
44304 #. type: table
44305 #: doc/guix.texi:20460
44306 msgid ""
44307 "This command also installs bootloader on the target specified in @file{my-os-"
44308 "config}, unless the @option{--no-bootloader} option was passed."
44309 msgstr ""
44310
44311 #. type: item
44312 #: doc/guix.texi:20461
44313 #, no-wrap
44314 msgid "vm"
44315 msgstr ""
44316
44317 #. type: cindex
44318 #: doc/guix.texi:20462 doc/guix.texi:20726
44319 #, no-wrap
44320 msgid "virtual machine"
44321 msgstr ""
44322
44323 #. type: cindex
44324 #: doc/guix.texi:20463
44325 #, no-wrap
44326 msgid "VM"
44327 msgstr ""
44328
44329 #. type: anchor{#1}
44330 #: doc/guix.texi:20470
44331 msgid "guix system vm"
44332 msgstr ""
44333
44334 #. type: table
44335 #: doc/guix.texi:20470
44336 msgid ""
44337 "Build a virtual machine that contains the operating system declared in "
44338 "@var{file}, and return a script to run that virtual machine (VM). Arguments "
44339 "given to the script are passed to QEMU as in the example below, which "
44340 "enables networking and requests 1@tie{}GiB of RAM for the emulated machine:"
44341 msgstr ""
44342
44343 #. type: example
44344 #: doc/guix.texi:20473
44345 #, no-wrap
44346 msgid "$ /gnu/store/@dots{}-run-vm.sh -m 1024 -net user\n"
44347 msgstr ""
44348
44349 #. type: table
44350 #: doc/guix.texi:20476
44351 msgid "The VM shares its store with the host system."
44352 msgstr ""
44353
44354 #. type: table
44355 #: doc/guix.texi:20481
44356 msgid ""
44357 "Additional file systems can be shared between the host and the VM using the "
44358 "@code{--share} and @code{--expose} command-line options: the former "
44359 "specifies a directory to be shared with write access, while the latter "
44360 "provides read-only access to the shared directory."
44361 msgstr ""
44362
44363 #. type: table
44364 #: doc/guix.texi:20485
44365 msgid ""
44366 "The example below creates a VM in which the user's home directory is "
44367 "accessible read-only, and where the @file{/exchange} directory is a read-"
44368 "write mapping of @file{$HOME/tmp} on the host:"
44369 msgstr ""
44370
44371 #. type: example
44372 #: doc/guix.texi:20489
44373 #, no-wrap
44374 msgid ""
44375 "guix system vm my-config.scm \\\n"
44376 " --expose=$HOME --share=$HOME/tmp=/exchange\n"
44377 msgstr ""
44378
44379 #. type: table
44380 #: doc/guix.texi:20494
44381 msgid ""
44382 "On GNU/Linux, the default is to boot directly to the kernel; this has the "
44383 "advantage of requiring only a very tiny root disk image since the store of "
44384 "the host can then be mounted."
44385 msgstr ""
44386
44387 #. type: table
44388 #: doc/guix.texi:20500
44389 msgid ""
44390 "The @code{--full-boot} option forces a complete boot sequence, starting with "
44391 "the bootloader. This requires more disk space since a root image containing "
44392 "at least the kernel, initrd, and bootloader data files must be created. The "
44393 "@code{--image-size} option can be used to specify the size of the image."
44394 msgstr ""
44395
44396 #. type: cindex
44397 #: doc/guix.texi:20501
44398 #, no-wrap
44399 msgid "System images, creation in various formats"
44400 msgstr ""
44401
44402 #. type: cindex
44403 #: doc/guix.texi:20502
44404 #, no-wrap
44405 msgid "Creating system images in various formats"
44406 msgstr ""
44407
44408 #. type: item
44409 #: doc/guix.texi:20503
44410 #, no-wrap
44411 msgid "vm-image"
44412 msgstr ""
44413
44414 #. type: itemx
44415 #: doc/guix.texi:20504
44416 #, no-wrap
44417 msgid "disk-image"
44418 msgstr ""
44419
44420 #. type: itemx
44421 #: doc/guix.texi:20505
44422 #, no-wrap
44423 msgid "docker-image"
44424 msgstr ""
44425
44426 #. type: table
44427 #: doc/guix.texi:20513
44428 msgid ""
44429 "Return a virtual machine, disk image, or Docker image of the operating "
44430 "system declared in @var{file} that stands alone. By default, @command{guix "
44431 "system} estimates the size of the image needed to store the system, but you "
44432 "can use the @option{--image-size} option to specify a value. Docker images "
44433 "are built to contain exactly what they need, so the @option{--image-size} "
44434 "option is ignored in the case of @code{docker-image}."
44435 msgstr ""
44436
44437 #. type: table
44438 #: doc/guix.texi:20516
44439 msgid ""
44440 "You can specify the root file system type by using the @option{--file-system-"
44441 "type} option. It defaults to @code{ext4}."
44442 msgstr ""
44443
44444 #. type: table
44445 #: doc/guix.texi:20520
44446 msgid ""
44447 "When using @code{vm-image}, the returned image is in qcow2 format, which the "
44448 "QEMU emulator can efficiently use. @xref{Running GuixSD in a VM}, for more "
44449 "information on how to run the image in a virtual machine."
44450 msgstr ""
44451
44452 #. type: table
44453 #: doc/guix.texi:20525
44454 msgid ""
44455 "When using @code{disk-image}, a raw disk image is produced; it can be copied "
44456 "as is to a USB stick, for instance. Assuming @code{/dev/sdc} is the device "
44457 "corresponding to a USB stick, one can copy the image to it using the "
44458 "following command:"
44459 msgstr ""
44460
44461 #. type: example
44462 #: doc/guix.texi:20528
44463 #, no-wrap
44464 msgid "# dd if=$(guix system disk-image my-os.scm) of=/dev/sdc\n"
44465 msgstr ""
44466
44467 #. type: table
44468 #: doc/guix.texi:20535
44469 msgid ""
44470 "When using @code{docker-image}, a Docker image is produced. Guix builds the "
44471 "image from scratch, not from a pre-existing Docker base image. As a result, "
44472 "it contains @emph{exactly} what you define in the operating system "
44473 "configuration file. You can then load the image and launch a Docker "
44474 "container using commands like the following:"
44475 msgstr ""
44476
44477 #. type: example
44478 #: doc/guix.texi:20541
44479 #, no-wrap
44480 msgid ""
44481 "image_id=\"$(docker load < guixsd-docker-image.tar.gz)\"\n"
44482 "docker run -e GUIX_NEW_SYSTEM=/var/guix/profiles/system \\\\\n"
44483 " --entrypoint /var/guix/profiles/system/profile/bin/guile \\\\\n"
44484 " $image_id /var/guix/profiles/system/boot\n"
44485 msgstr ""
44486
44487 #. type: table
44488 #: doc/guix.texi:20551
44489 msgid ""
44490 "This command starts a new Docker container from the specified image. It "
44491 "will boot the GuixSD system in the usual manner, which means it will start "
44492 "any services you have defined in the operating system configuration. "
44493 "Depending on what you run in the Docker container, it may be necessary to "
44494 "give the container additional permissions. For example, if you intend to "
44495 "build software using Guix inside of the Docker container, you may need to "
44496 "pass the @option{--privileged} option to @code{docker run}."
44497 msgstr ""
44498
44499 #. type: table
44500 #: doc/guix.texi:20559
44501 msgid ""
44502 "Return a script to run the operating system declared in @var{file} within a "
44503 "container. Containers are a set of lightweight isolation mechanisms "
44504 "provided by the kernel Linux-libre. Containers are substantially less "
44505 "resource-demanding than full virtual machines since the kernel, shared "
44506 "objects, and other resources can be shared with the host system; this also "
44507 "means they provide thinner isolation."
44508 msgstr ""
44509
44510 #. type: table
44511 #: doc/guix.texi:20563
44512 msgid ""
44513 "Currently, the script must be run as root in order to support more than a "
44514 "single user and group. The container shares its store with the host system."
44515 msgstr ""
44516
44517 #. type: table
44518 #: doc/guix.texi:20567
44519 msgid ""
44520 "As with the @code{vm} action (@pxref{guix system vm}), additional file "
44521 "systems to be shared between the host and container can be specified using "
44522 "the @option{--share} and @option{--expose} options:"
44523 msgstr ""
44524
44525 #. type: example
44526 #: doc/guix.texi:20571
44527 #, no-wrap
44528 msgid ""
44529 "guix system container my-config.scm \\\n"
44530 " --expose=$HOME --share=$HOME/tmp=/exchange\n"
44531 msgstr ""
44532
44533 #. type: quotation
44534 #: doc/guix.texi:20575
44535 msgid "This option requires Linux-libre 3.19 or newer."
44536 msgstr ""
44537
44538 #. type: Plain text
44539 #: doc/guix.texi:20582
44540 msgid ""
44541 "@var{options} can contain any of the common build options (@pxref{Common "
44542 "Build Options}). In addition, @var{options} can contain one of the "
44543 "following:"
44544 msgstr ""
44545
44546 #. type: table
44547 #: doc/guix.texi:20591
44548 msgid ""
44549 "Consider the operating-system @var{expr} evaluates to. This is an "
44550 "alternative to specifying a file which evaluates to an operating system. "
44551 "This is used to generate the GuixSD installer @pxref{Building the "
44552 "Installation Image})."
44553 msgstr ""
44554
44555 #. type: table
44556 #: doc/guix.texi:20596
44557 msgid ""
44558 "Attempt to build for @var{system} instead of the host system type. This "
44559 "works as per @command{guix build} (@pxref{Invoking guix build})."
44560 msgstr ""
44561
44562 #. type: item
44563 #: doc/guix.texi:20597
44564 #, no-wrap
44565 msgid "--derivation"
44566 msgstr ""
44567
44568 #. type: table
44569 #: doc/guix.texi:20601
44570 msgid ""
44571 "Return the derivation file name of the given operating system without "
44572 "building anything."
44573 msgstr ""
44574
44575 #. type: item
44576 #: doc/guix.texi:20602
44577 #, no-wrap
44578 msgid "--file-system-type=@var{type}"
44579 msgstr ""
44580
44581 #. type: table
44582 #: doc/guix.texi:20606
44583 msgid ""
44584 "For the @code{disk-image} action, create a file system of the given "
44585 "@var{type} on the image."
44586 msgstr ""
44587
44588 #. type: table
44589 #: doc/guix.texi:20608
44590 msgid "When this option is omitted, @command{guix system} uses @code{ext4}."
44591 msgstr ""
44592
44593 #. type: cindex
44594 #: doc/guix.texi:20609
44595 #, no-wrap
44596 msgid "ISO-9660 format"
44597 msgstr ""
44598
44599 #. type: cindex
44600 #: doc/guix.texi:20610
44601 #, no-wrap
44602 msgid "CD image format"
44603 msgstr ""
44604
44605 #. type: cindex
44606 #: doc/guix.texi:20611
44607 #, no-wrap
44608 msgid "DVD image format"
44609 msgstr ""
44610
44611 #. type: table
44612 #: doc/guix.texi:20614
44613 msgid ""
44614 "@code{--file-system-type=iso9660} produces an ISO-9660 image, suitable for "
44615 "burning on CDs and DVDs."
44616 msgstr ""
44617
44618 #. type: item
44619 #: doc/guix.texi:20615
44620 #, no-wrap
44621 msgid "--image-size=@var{size}"
44622 msgstr ""
44623
44624 #. type: table
44625 #: doc/guix.texi:20620
44626 msgid ""
44627 "For the @code{vm-image} and @code{disk-image} actions, create an image of "
44628 "the given @var{size}. @var{size} may be a number of bytes, or it may "
44629 "include a unit as a suffix (@pxref{Block size, size specifications,, "
44630 "coreutils, GNU Coreutils})."
44631 msgstr ""
44632
44633 #. type: table
44634 #: doc/guix.texi:20624
44635 msgid ""
44636 "When this option is omitted, @command{guix system} computes an estimate of "
44637 "the image size as a function of the size of the system declared in "
44638 "@var{file}."
44639 msgstr ""
44640
44641 #. type: item
44642 #: doc/guix.texi:20630
44643 #, no-wrap
44644 msgid "--skip-checks"
44645 msgstr "--skip-checks"
44646
44647 #. type: table
44648 #: doc/guix.texi:20632
44649 msgid "Skip pre-installation safety checks."
44650 msgstr ""
44651
44652 #. type: table
44653 #: doc/guix.texi:20639
44654 msgid ""
44655 "By default, @command{guix system init} and @command{guix system reconfigure} "
44656 "perform safety checks: they make sure the file systems that appear in the "
44657 "@code{operating-system} declaration actually exist (@pxref{File Systems}), "
44658 "and that any Linux kernel modules that may be needed at boot time are listed "
44659 "in @code{initrd-modules} (@pxref{Initial RAM Disk}). Passing this option "
44660 "skips these tests altogether."
44661 msgstr ""
44662
44663 #. type: item
44664 #: doc/guix.texi:20640
44665 #, no-wrap
44666 msgid "--on-error=@var{strategy}"
44667 msgstr ""
44668
44669 #. type: table
44670 #: doc/guix.texi:20643
44671 msgid ""
44672 "Apply @var{strategy} when an error occurs when reading @var{file}. "
44673 "@var{strategy} may be one of the following:"
44674 msgstr ""
44675
44676 #. type: item
44677 #: doc/guix.texi:20645
44678 #, no-wrap
44679 msgid "nothing-special"
44680 msgstr ""
44681
44682 #. type: table
44683 #: doc/guix.texi:20647
44684 msgid "Report the error concisely and exit. This is the default strategy."
44685 msgstr ""
44686
44687 #. type: item
44688 #: doc/guix.texi:20648
44689 #, no-wrap
44690 msgid "backtrace"
44691 msgstr ""
44692
44693 #. type: table
44694 #: doc/guix.texi:20650
44695 msgid "Likewise, but also display a backtrace."
44696 msgstr ""
44697
44698 #. type: item
44699 #: doc/guix.texi:20651
44700 #, no-wrap
44701 msgid "debug"
44702 msgstr ""
44703
44704 #. type: table
44705 #: doc/guix.texi:20657
44706 msgid ""
44707 "Report the error and enter Guile's debugger. From there, you can run "
44708 "commands such as @code{,bt} to get a backtrace, @code{,locals} to display "
44709 "local variable values, and more generally inspect the state of the program. "
44710 "@xref{Debug Commands,,, guile, GNU Guile Reference Manual}, for a list of "
44711 "available debugging commands."
44712 msgstr ""
44713
44714 #. type: quotation
44715 #: doc/guix.texi:20667
44716 msgid ""
44717 "All the actions above, except @code{build} and @code{init}, can use KVM "
44718 "support in the Linux-libre kernel. Specifically, if the machine has "
44719 "hardware virtualization support, the corresponding KVM kernel module should "
44720 "be loaded, and the @file{/dev/kvm} device node must exist and be readable "
44721 "and writable by the user and by the build users of the daemon (@pxref{Build "
44722 "Environment Setup})."
44723 msgstr ""
44724
44725 #. type: Plain text
44726 #: doc/guix.texi:20673
44727 msgid ""
44728 "Once you have built, configured, re-configured, and re-re-configured your "
44729 "GuixSD installation, you may find it useful to list the operating system "
44730 "generations available on disk---and that you can choose from the bootloader "
44731 "boot menu:"
44732 msgstr ""
44733
44734 #. type: item
44735 #: doc/guix.texi:20676
44736 #, no-wrap
44737 msgid "list-generations"
44738 msgstr ""
44739
44740 #. type: table
44741 #: doc/guix.texi:20681
44742 msgid ""
44743 "List a summary of each generation of the operating system available on disk, "
44744 "in a human-readable way. This is similar to the @option{--list-generations} "
44745 "option of @command{guix package} (@pxref{Invoking guix package})."
44746 msgstr ""
44747
44748 #. type: table
44749 #: doc/guix.texi:20686
44750 msgid ""
44751 "Optionally, one can specify a pattern, with the same syntax that is used in "
44752 "@command{guix package --list-generations}, to restrict the list of "
44753 "generations displayed. For instance, the following command displays "
44754 "generations that are up to 10 days old:"
44755 msgstr ""
44756
44757 #. type: example
44758 #: doc/guix.texi:20689
44759 #, no-wrap
44760 msgid "$ guix system list-generations 10d\n"
44761 msgstr ""
44762
44763 #. type: Plain text
44764 #: doc/guix.texi:20696
44765 msgid ""
44766 "The @command{guix system} command has even more to offer! The following sub-"
44767 "commands allow you to visualize how your system services relate to each "
44768 "other:"
44769 msgstr ""
44770
44771 #. type: anchor{#1}
44772 #: doc/guix.texi:20698
44773 msgid "system-extension-graph"
44774 msgstr ""
44775
44776 #. type: item
44777 #: doc/guix.texi:20700
44778 #, no-wrap
44779 msgid "extension-graph"
44780 msgstr ""
44781
44782 #. type: table
44783 #: doc/guix.texi:20705
44784 msgid ""
44785 "Emit in Dot/Graphviz format to standard output the @dfn{service extension "
44786 "graph} of the operating system defined in @var{file} (@pxref{Service "
44787 "Composition}, for more information on service extensions.)"
44788 msgstr ""
44789
44790 #. type: table
44791 #: doc/guix.texi:20707
44792 msgid "The command:"
44793 msgstr ""
44794
44795 #. type: example
44796 #: doc/guix.texi:20710
44797 #, no-wrap
44798 msgid "$ guix system extension-graph @var{file} | dot -Tpdf > services.pdf\n"
44799 msgstr ""
44800
44801 #. type: table
44802 #: doc/guix.texi:20713
44803 msgid "produces a PDF file showing the extension relations among services."
44804 msgstr ""
44805
44806 #. type: anchor{#1}
44807 #: doc/guix.texi:20715
44808 msgid "system-shepherd-graph"
44809 msgstr ""
44810
44811 #. type: item
44812 #: doc/guix.texi:20715
44813 #, no-wrap
44814 msgid "shepherd-graph"
44815 msgstr ""
44816
44817 #. type: table
44818 #: doc/guix.texi:20720
44819 msgid ""
44820 "Emit in Dot/Graphviz format to standard output the @dfn{dependency graph} of "
44821 "shepherd services of the operating system defined in @var{file}. "
44822 "@xref{Shepherd Services}, for more information and for an example graph."
44823 msgstr ""
44824
44825 #. type: subsection
44826 #: doc/guix.texi:20724
44827 #, no-wrap
44828 msgid "Running GuixSD in a Virtual Machine"
44829 msgstr ""
44830
44831 #. type: Plain text
44832 #: doc/guix.texi:20734
44833 msgid ""
44834 "To run GuixSD in a virtual machine (VM), one can either use the pre-built "
44835 "GuixSD VM image distributed at @indicateurl{ftp://alpha.gnu.org/guix/guixsd-"
44836 "vm-image-@value{VERSION}.@var{system}.tar.xz} , or build their own virtual "
44837 "machine image using @command{guix system vm-image} (@pxref{Invoking guix "
44838 "system}). The returned image is in qcow2 format, which the @uref{http://"
44839 "qemu.org/, QEMU emulator} can efficiently use."
44840 msgstr ""
44841
44842 #. type: cindex
44843 #: doc/guix.texi:20735
44844 #, no-wrap
44845 msgid "QEMU"
44846 msgstr ""
44847
44848 #. type: Plain text
44849 #: doc/guix.texi:20742
44850 msgid ""
44851 "If you built your own image, you must copy it out of the store (@pxref{The "
44852 "Store}) and give yourself permission to write to the copy before you can use "
44853 "it. When invoking QEMU, you must choose a system emulator that is suitable "
44854 "for your hardware platform. Here is a minimal QEMU invocation that will "
44855 "boot the result of @command{guix system vm-image} on x86_64 hardware:"
44856 msgstr ""
44857
44858 #. type: example
44859 #: doc/guix.texi:20747
44860 #, no-wrap
44861 msgid ""
44862 "$ qemu-system-x86_64 \\\n"
44863 " -net user -net nic,model=virtio \\\n"
44864 " -enable-kvm -m 256 /tmp/qemu-image\n"
44865 msgstr ""
44866
44867 #. type: Plain text
44868 #: doc/guix.texi:20750
44869 msgid "Here is what each of these options means:"
44870 msgstr ""
44871
44872 #. type: item
44873 #: doc/guix.texi:20752
44874 #, no-wrap
44875 msgid "qemu-system-x86_64"
44876 msgstr ""
44877
44878 #. type: table
44879 #: doc/guix.texi:20755
44880 msgid ""
44881 "This specifies the hardware platform to emulate. This should match the host."
44882 msgstr ""
44883
44884 #. type: item
44885 #: doc/guix.texi:20756
44886 #, no-wrap
44887 msgid "-net user"
44888 msgstr ""
44889
44890 #. type: table
44891 #: doc/guix.texi:20760
44892 msgid ""
44893 "Enable the unprivileged user-mode network stack. The guest OS can access "
44894 "the host but not vice versa. This is the simplest way to get the guest OS "
44895 "online."
44896 msgstr ""
44897
44898 #. type: item
44899 #: doc/guix.texi:20761
44900 #, no-wrap
44901 msgid "-net nic,model=virtio"
44902 msgstr ""
44903
44904 #. type: table
44905 #: doc/guix.texi:20766
44906 msgid ""
44907 "You must create a network interface of a given model. If you do not create "
44908 "a NIC, the boot will fail. Assuming your hardware platform is x86_64, you "
44909 "can get a list of available NIC models by running @command{qemu-system-"
44910 "x86_64 -net nic,model=help}."
44911 msgstr ""
44912
44913 #. type: item
44914 #: doc/guix.texi:20767
44915 #, no-wrap
44916 msgid "-enable-kvm"
44917 msgstr ""
44918
44919 #. type: table
44920 #: doc/guix.texi:20771
44921 msgid ""
44922 "If your system has hardware virtualization extensions, enabling the virtual "
44923 "machine support (KVM) of the Linux kernel will make things run faster."
44924 msgstr ""
44925
44926 #. type: item
44927 #: doc/guix.texi:20772
44928 #, no-wrap
44929 msgid "-m 256"
44930 msgstr ""
44931
44932 #. type: table
44933 #: doc/guix.texi:20775
44934 msgid ""
44935 "RAM available to the guest OS, in mebibytes. Defaults to 128@tie{}MiB, "
44936 "which may be insufficient for some operations."
44937 msgstr ""
44938
44939 #. type: item
44940 #: doc/guix.texi:20776
44941 #, no-wrap
44942 msgid "/tmp/qemu-image"
44943 msgstr ""
44944
44945 #. type: table
44946 #: doc/guix.texi:20778
44947 msgid "The file name of the qcow2 image."
44948 msgstr ""
44949
44950 #. type: Plain text
44951 #: doc/guix.texi:20788
44952 msgid ""
44953 "The default @command{run-vm.sh} script that is returned by an invocation of "
44954 "@command{guix system vm} does not add a @command{-net user} flag by "
44955 "default. To get network access from within the vm add the @code{(dhcp-"
44956 "client-service)} to your system definition and start the VM using "
44957 "@command{`guix system vm config.scm` -net user}. An important caveat of "
44958 "using @command{-net user} for networking is that @command{ping} will not "
44959 "work, because it uses the ICMP protocol. You'll have to use a different "
44960 "command to check for network connectivity, for example @command{guix "
44961 "download}."
44962 msgstr ""
44963
44964 #. type: subsubsection
44965 #: doc/guix.texi:20789
44966 #, no-wrap
44967 msgid "Connecting Through SSH"
44968 msgstr ""
44969
44970 #. type: Plain text
44971 #: doc/guix.texi:20798
44972 msgid ""
44973 "To enable SSH inside a VM you need to add a SSH server like @code{(dropbear-"
44974 "service)} or @code{(lsh-service)} to your VM. The @code{(lsh-service}) "
44975 "doesn't currently boot unsupervised. It requires you to type some "
44976 "characters to initialize the randomness generator. In addition you need to "
44977 "forward the SSH port, 22 by default, to the host. You can do this with"
44978 msgstr ""
44979
44980 #. type: example
44981 #: doc/guix.texi:20801
44982 #, no-wrap
44983 msgid "`guix system vm config.scm` -net user,hostfwd=tcp::10022-:22\n"
44984 msgstr ""
44985
44986 #. type: Plain text
44987 #: doc/guix.texi:20804
44988 msgid "To connect to the VM you can run"
44989 msgstr ""
44990
44991 #. type: example
44992 #: doc/guix.texi:20807
44993 #, no-wrap
44994 msgid "ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 10022\n"
44995 msgstr ""
44996
44997 #. type: Plain text
44998 #: doc/guix.texi:20814
44999 msgid ""
45000 "The @command{-p} tells @command{ssh} the port you want to connect to. "
45001 "@command{-o UserKnownHostsFile=/dev/null} prevents @command{ssh} from "
45002 "complaining every time you modify your @command{config.scm} file and the "
45003 "@command{-o StrictHostKeyChecking=no} prevents you from having to allow a "
45004 "connection to an unknown host every time you connect."
45005 msgstr ""
45006
45007 #. type: subsubsection
45008 #: doc/guix.texi:20815
45009 #, no-wrap
45010 msgid "Using @command{virt-viewer} with Spice"
45011 msgstr ""
45012
45013 #. type: Plain text
45014 #: doc/guix.texi:20821
45015 msgid ""
45016 "As an alternative to the default @command{qemu} graphical client you can use "
45017 "the @command{remote-viewer} from the @command{virt-viewer} package. To "
45018 "connect pass the @command{-spice port=5930,disable-ticketing} flag to "
45019 "@command{qemu}. See previous section for further information on how to do "
45020 "this."
45021 msgstr ""
45022
45023 #. type: Plain text
45024 #: doc/guix.texi:20824
45025 msgid ""
45026 "Spice also allows you to do some nice stuff like share your clipboard with "
45027 "your VM. To enable that you'll also have to pass the following flags to "
45028 "@command{qemu}:"
45029 msgstr ""
45030
45031 #. type: example
45032 #: doc/guix.texi:20830
45033 #, no-wrap
45034 msgid ""
45035 "-device virtio-serial-pci,id=virtio-serial0,max_ports=16,bus=pci.0,addr=0x5\n"
45036 "-chardev spicevmc,name=vdagent,id=vdagent\n"
45037 "-device virtserialport,nr=1,bus=virtio-serial0.0,chardev=vdagent,\n"
45038 "name=com.redhat.spice.0\n"
45039 msgstr ""
45040
45041 #. type: Plain text
45042 #: doc/guix.texi:20833
45043 msgid ""
45044 "You'll also need to add the @pxref{Miscellaneous Services, Spice service}."
45045 msgstr ""
45046
45047 #. type: Plain text
45048 #: doc/guix.texi:20840
45049 msgid ""
45050 "The previous sections show the available services and how one can combine "
45051 "them in an @code{operating-system} declaration. But how do we define them "
45052 "in the first place? And what is a service anyway?"
45053 msgstr ""
45054
45055 #. type: cindex
45056 #: doc/guix.texi:20852
45057 #, no-wrap
45058 msgid "daemons"
45059 msgstr ""
45060
45061 #. type: Plain text
45062 #: doc/guix.texi:20865
45063 msgid ""
45064 "Here we define a @dfn{service} as, broadly, something that extends the "
45065 "functionality of the operating system. Often a service is a process---a "
45066 "@dfn{daemon}---started when the system boots: a secure shell server, a Web "
45067 "server, the Guix build daemon, etc. Sometimes a service is a daemon whose "
45068 "execution can be triggered by another daemon---e.g., an FTP server started "
45069 "by @command{inetd} or a D-Bus service activated by @command{dbus-daemon}. "
45070 "Occasionally, a service does not map to a daemon. For instance, the "
45071 "``account'' service collects user accounts and makes sure they exist when "
45072 "the system runs; the ``udev'' service collects device management rules and "
45073 "makes them available to the eudev daemon; the @file{/etc} service populates "
45074 "the @file{/etc} directory of the system."
45075 msgstr ""
45076
45077 #. type: cindex
45078 #: doc/guix.texi:20866
45079 #, no-wrap
45080 msgid "service extensions"
45081 msgstr ""
45082
45083 #. type: Plain text
45084 #: doc/guix.texi:20878
45085 msgid ""
45086 "GuixSD services are connected by @dfn{extensions}. For instance, the secure "
45087 "shell service @emph{extends} the Shepherd---the GuixSD initialization "
45088 "system, running as PID@tie{}1---by giving it the command lines to start and "
45089 "stop the secure shell daemon (@pxref{Networking Services, @code{lsh-"
45090 "service}}); the UPower service extends the D-Bus service by passing it its "
45091 "@file{.service} specification, and extends the udev service by passing it "
45092 "device management rules (@pxref{Desktop Services, @code{upower-service}}); "
45093 "the Guix daemon service extends the Shepherd by passing it the command lines "
45094 "to start and stop the daemon, and extends the account service by passing it "
45095 "a list of required build user accounts (@pxref{Base Services})."
45096 msgstr ""
45097
45098 #. type: Plain text
45099 #: doc/guix.texi:20882
45100 msgid ""
45101 "All in all, services and their ``extends'' relations form a directed acyclic "
45102 "graph (DAG). If we represent services as boxes and extensions as arrows, a "
45103 "typical system might provide something like this:"
45104 msgstr ""
45105
45106 #. type: Plain text
45107 #: doc/guix.texi:20884
45108 msgid "@image{images/service-graph,,5in,Typical service extension graph.}"
45109 msgstr ""
45110
45111 #. type: cindex
45112 #: doc/guix.texi:20885
45113 #, no-wrap
45114 msgid "system service"
45115 msgstr ""
45116
45117 #. type: Plain text
45118 #: doc/guix.texi:20893
45119 msgid ""
45120 "At the bottom, we see the @dfn{system service}, which produces the directory "
45121 "containing everything to run and boot the system, as returned by the "
45122 "@command{guix system build} command. @xref{Service Reference}, to learn "
45123 "about the other service types shown here. @xref{system-extension-graph, the "
45124 "@command{guix system extension-graph} command}, for information on how to "
45125 "generate this representation for a particular operating system definition."
45126 msgstr ""
45127
45128 #. type: cindex
45129 #: doc/guix.texi:20894
45130 #, no-wrap
45131 msgid "service types"
45132 msgstr ""
45133
45134 #. type: Plain text
45135 #: doc/guix.texi:20900
45136 msgid ""
45137 "Technically, developers can define @dfn{service types} to express these "
45138 "relations. There can be any number of services of a given type on the "
45139 "system---for instance, a system running two instances of the GNU secure "
45140 "shell server (lsh) has two instances of @var{lsh-service-type}, with "
45141 "different parameters."
45142 msgstr ""
45143
45144 #. type: Plain text
45145 #: doc/guix.texi:20903
45146 msgid ""
45147 "The following section describes the programming interface for service types "
45148 "and services."
45149 msgstr ""
45150
45151 #. type: Plain text
45152 #: doc/guix.texi:20910
45153 msgid ""
45154 "A @dfn{service type} is a node in the DAG described above. Let us start "
45155 "with a simple example, the service type for the Guix build daemon "
45156 "(@pxref{Invoking guix-daemon}):"
45157 msgstr ""
45158
45159 #. type: example
45160 #: doc/guix.texi:20920
45161 #, no-wrap
45162 msgid ""
45163 "(define guix-service-type\n"
45164 " (service-type\n"
45165 " (name 'guix)\n"
45166 " (extensions\n"
45167 " (list (service-extension shepherd-root-service-type guix-shepherd-service)\n"
45168 " (service-extension account-service-type guix-accounts)\n"
45169 " (service-extension activation-service-type guix-activation)))\n"
45170 " (default-value (guix-configuration))))\n"
45171 msgstr ""
45172
45173 #. type: Plain text
45174 #: doc/guix.texi:20924
45175 msgid "It defines three things:"
45176 msgstr ""
45177
45178 #. type: enumerate
45179 #: doc/guix.texi:20928
45180 msgid "A name, whose sole purpose is to make inspection and debugging easier."
45181 msgstr ""
45182
45183 #. type: enumerate
45184 #: doc/guix.texi:20933
45185 msgid ""
45186 "A list of @dfn{service extensions}, where each extension designates the "
45187 "target service type and a procedure that, given the parameters of the "
45188 "service, returns a list of objects to extend the service of that type."
45189 msgstr ""
45190
45191 #. type: enumerate
45192 #: doc/guix.texi:20936
45193 msgid ""
45194 "Every service type has at least one service extension. The only exception "
45195 "is the @dfn{boot service type}, which is the ultimate service."
45196 msgstr ""
45197
45198 #. type: enumerate
45199 #: doc/guix.texi:20939
45200 msgid "Optionally, a default value for instances of this type."
45201 msgstr ""
45202
45203 #. type: Plain text
45204 #: doc/guix.texi:20942
45205 msgid "In this example, @var{guix-service-type} extends three services:"
45206 msgstr ""
45207
45208 #. type: item
45209 #: doc/guix.texi:20944
45210 #, no-wrap
45211 msgid "shepherd-root-service-type"
45212 msgstr ""
45213
45214 #. type: table
45215 #: doc/guix.texi:20949
45216 msgid ""
45217 "The @var{guix-shepherd-service} procedure defines how the Shepherd service "
45218 "is extended. Namely, it returns a @code{<shepherd-service>} object that "
45219 "defines how @command{guix-daemon} is started and stopped (@pxref{Shepherd "
45220 "Services})."
45221 msgstr ""
45222
45223 #. type: item
45224 #: doc/guix.texi:20950
45225 #, no-wrap
45226 msgid "account-service-type"
45227 msgstr ""
45228
45229 #. type: table
45230 #: doc/guix.texi:20955
45231 msgid ""
45232 "This extension for this service is computed by @var{guix-accounts}, which "
45233 "returns a list of @code{user-group} and @code{user-account} objects "
45234 "representing the build user accounts (@pxref{Invoking guix-daemon})."
45235 msgstr ""
45236
45237 #. type: item
45238 #: doc/guix.texi:20956
45239 #, no-wrap
45240 msgid "activation-service-type"
45241 msgstr ""
45242
45243 #. type: table
45244 #: doc/guix.texi:20960
45245 msgid ""
45246 "Here @var{guix-activation} is a procedure that returns a gexp, which is a "
45247 "code snippet to run at ``activation time''---e.g., when the service is "
45248 "booted."
45249 msgstr ""
45250
45251 #. type: Plain text
45252 #: doc/guix.texi:20963
45253 msgid "A service of this type is instantiated like this:"
45254 msgstr ""
45255
45256 #. type: example
45257 #: doc/guix.texi:20969
45258 #, no-wrap
45259 msgid ""
45260 "(service guix-service-type\n"
45261 " (guix-configuration\n"
45262 " (build-accounts 5)\n"
45263 " (use-substitutes? #f)))\n"
45264 msgstr ""
45265
45266 #. type: Plain text
45267 #: doc/guix.texi:20977
45268 msgid ""
45269 "The second argument to the @code{service} form is a value representing the "
45270 "parameters of this specific service instance. @xref{guix-configuration-"
45271 "type, @code{guix-configuration}}, for information about the @code{guix-"
45272 "configuration} data type. When the value is omitted, the default value "
45273 "specified by @code{guix-service-type} is used:"
45274 msgstr ""
45275
45276 #. type: example
45277 #: doc/guix.texi:20980
45278 #, no-wrap
45279 msgid "(service guix-service-type)\n"
45280 msgstr ""
45281
45282 #. type: Plain text
45283 #: doc/guix.texi:20984
45284 msgid ""
45285 "@var{guix-service-type} is quite simple because it extends other services "
45286 "but is not extensible itself."
45287 msgstr ""
45288
45289 #. type: Plain text
45290 #: doc/guix.texi:20988
45291 msgid "The service type for an @emph{extensible} service looks like this:"
45292 msgstr ""
45293
45294 #. type: example
45295 #: doc/guix.texi:20995
45296 #, no-wrap
45297 msgid ""
45298 "(define udev-service-type\n"
45299 " (service-type (name 'udev)\n"
45300 " (extensions\n"
45301 " (list (service-extension shepherd-root-service-type\n"
45302 " udev-shepherd-service)))\n"
45303 "\n"
45304 msgstr ""
45305
45306 #. type: example
45307 #: doc/guix.texi:21003
45308 #, no-wrap
45309 msgid ""
45310 " (compose concatenate) ;concatenate the list of rules\n"
45311 " (extend (lambda (config rules)\n"
45312 " (match config\n"
45313 " (($ <udev-configuration> udev initial-rules)\n"
45314 " (udev-configuration\n"
45315 " (udev udev) ;the udev package to use\n"
45316 " (rules (append initial-rules rules)))))))))\n"
45317 msgstr ""
45318
45319 #. type: Plain text
45320 #: doc/guix.texi:21009
45321 msgid ""
45322 "This is the service type for the @uref{https://wiki.gentoo.org/wiki/Project:"
45323 "Eudev, eudev device management daemon}. Compared to the previous example, "
45324 "in addition to an extension of @var{shepherd-root-service-type}, we see two "
45325 "new fields:"
45326 msgstr ""
45327
45328 #. type: item
45329 #: doc/guix.texi:21011
45330 #, no-wrap
45331 msgid "compose"
45332 msgstr ""
45333
45334 #. type: table
45335 #: doc/guix.texi:21014
45336 msgid ""
45337 "This is the procedure to @dfn{compose} the list of extensions to services of "
45338 "this type."
45339 msgstr ""
45340
45341 #. type: table
45342 #: doc/guix.texi:21017
45343 msgid ""
45344 "Services can extend the udev service by passing it lists of rules; we "
45345 "compose those extensions simply by concatenating them."
45346 msgstr ""
45347
45348 #. type: item
45349 #: doc/guix.texi:21018
45350 #, no-wrap
45351 msgid "extend"
45352 msgstr ""
45353
45354 #. type: table
45355 #: doc/guix.texi:21021
45356 msgid ""
45357 "This procedure defines how the value of the service is @dfn{extended} with "
45358 "the composition of the extensions."
45359 msgstr ""
45360
45361 #. type: table
45362 #: doc/guix.texi:21026
45363 msgid ""
45364 "Udev extensions are composed into a list of rules, but the udev service "
45365 "value is itself a @code{<udev-configuration>} record. So here, we extend "
45366 "that record by appending the list of rules it contains to the list of "
45367 "contributed rules."
45368 msgstr ""
45369
45370 #. type: table
45371 #: doc/guix.texi:21032
45372 msgid ""
45373 "This is a string giving an overview of the service type. The string can "
45374 "contain Texinfo markup (@pxref{Overview,,, texinfo, GNU Texinfo}). The "
45375 "@command{guix system search} command searches these strings and displays "
45376 "them (@pxref{Invoking guix system})."
45377 msgstr ""
45378
45379 #. type: Plain text
45380 #: doc/guix.texi:21037
45381 msgid ""
45382 "There can be only one instance of an extensible service type such as "
45383 "@var{udev-service-type}. If there were more, the @code{service-extension} "
45384 "specifications would be ambiguous."
45385 msgstr ""
45386
45387 #. type: Plain text
45388 #: doc/guix.texi:21040
45389 msgid ""
45390 "Still here? The next section provides a reference of the programming "
45391 "interface for services."
45392 msgstr ""
45393
45394 #. type: Plain text
45395 #: doc/guix.texi:21048
45396 msgid ""
45397 "We have seen an overview of service types (@pxref{Service Types and "
45398 "Services}). This section provides a reference on how to manipulate services "
45399 "and service types. This interface is provided by the @code{(gnu services)} "
45400 "module."
45401 msgstr ""
45402
45403 #. type: deffn
45404 #: doc/guix.texi:21049
45405 #, no-wrap
45406 msgid "{Scheme Procedure} service @var{type} [@var{value}]"
45407 msgstr ""
45408
45409 #. type: deffn
45410 #: doc/guix.texi:21053
45411 msgid ""
45412 "Return a new service of @var{type}, a @code{<service-type>} object (see "
45413 "below.) @var{value} can be any object; it represents the parameters of this "
45414 "particular service instance."
45415 msgstr ""
45416
45417 #. type: deffn
45418 #: doc/guix.texi:21057
45419 msgid ""
45420 "When @var{value} is omitted, the default value specified by @var{type} is "
45421 "used; if @var{type} does not specify a default value, an error is raised."
45422 msgstr ""
45423
45424 #. type: deffn
45425 #: doc/guix.texi:21059
45426 msgid "For instance, this:"
45427 msgstr ""
45428
45429 #. type: example
45430 #: doc/guix.texi:21062
45431 #, no-wrap
45432 msgid "(service openssh-service-type)\n"
45433 msgstr ""
45434
45435 #. type: deffn
45436 #: doc/guix.texi:21066
45437 msgid "is equivalent to this:"
45438 msgstr ""
45439
45440 #. type: example
45441 #: doc/guix.texi:21070
45442 #, no-wrap
45443 msgid ""
45444 "(service openssh-service-type\n"
45445 " (openssh-configuration))\n"
45446 msgstr ""
45447
45448 #. type: deffn
45449 #: doc/guix.texi:21074
45450 msgid ""
45451 "In both cases the result is an instance of @code{openssh-service-type} with "
45452 "the default configuration."
45453 msgstr ""
45454
45455 #. type: deffn
45456 #: doc/guix.texi:21076
45457 #, no-wrap
45458 msgid "{Scheme Procedure} service? @var{obj}"
45459 msgstr ""
45460
45461 #. type: deffn
45462 #: doc/guix.texi:21078
45463 msgid "Return true if @var{obj} is a service."
45464 msgstr ""
45465
45466 #. type: deffn
45467 #: doc/guix.texi:21080
45468 #, no-wrap
45469 msgid "{Scheme Procedure} service-kind @var{service}"
45470 msgstr ""
45471
45472 #. type: deffn
45473 #: doc/guix.texi:21082
45474 msgid ""
45475 "Return the type of @var{service}---i.e., a @code{<service-type>} object."
45476 msgstr ""
45477
45478 #. type: deffn
45479 #: doc/guix.texi:21084
45480 #, no-wrap
45481 msgid "{Scheme Procedure} service-value @var{service}"
45482 msgstr ""
45483
45484 #. type: deffn
45485 #: doc/guix.texi:21087
45486 msgid ""
45487 "Return the value associated with @var{service}. It represents its "
45488 "parameters."
45489 msgstr ""
45490
45491 #. type: Plain text
45492 #: doc/guix.texi:21090
45493 msgid "Here is an example of how a service is created and manipulated:"
45494 msgstr ""
45495
45496 #. type: example
45497 #: doc/guix.texi:21099
45498 #, no-wrap
45499 msgid ""
45500 "(define s\n"
45501 " (service nginx-service-type\n"
45502 " (nginx-configuration\n"
45503 " (nginx nginx)\n"
45504 " (log-directory log-directory)\n"
45505 " (run-directory run-directory)\n"
45506 " (file config-file))))\n"
45507 "\n"
45508 msgstr ""
45509
45510 #. type: example
45511 #: doc/guix.texi:21102
45512 #, no-wrap
45513 msgid ""
45514 "(service? s)\n"
45515 "@result{} #t\n"
45516 "\n"
45517 msgstr ""
45518
45519 #. type: example
45520 #: doc/guix.texi:21105
45521 #, no-wrap
45522 msgid ""
45523 "(eq? (service-kind s) nginx-service-type)\n"
45524 "@result{} #t\n"
45525 msgstr ""
45526
45527 #. type: Plain text
45528 #: doc/guix.texi:21115
45529 msgid ""
45530 "The @code{modify-services} form provides a handy way to change the "
45531 "parameters of some of the services of a list such as @var{%base-services} "
45532 "(@pxref{Base Services, @code{%base-services}}). It evaluates to a list of "
45533 "services. Of course, you could always use standard list combinators such as "
45534 "@code{map} and @code{fold} to do that (@pxref{SRFI-1, List Library,, guile, "
45535 "GNU Guile Reference Manual}); @code{modify-services} simply provides a more "
45536 "concise form for this common pattern."
45537 msgstr ""
45538
45539 #. type: deffn
45540 #: doc/guix.texi:21116
45541 #, no-wrap
45542 msgid "{Scheme Syntax} modify-services @var{services} @"
45543 msgstr ""
45544
45545 #. type: deffn
45546 #: doc/guix.texi:21118
45547 msgid "(@var{type} @var{variable} => @var{body}) @dots{}"
45548 msgstr ""
45549
45550 #. type: deffn
45551 #: doc/guix.texi:21121
45552 msgid ""
45553 "Modify the services listed in @var{services} according to the given "
45554 "clauses. Each clause has the form:"
45555 msgstr ""
45556
45557 #. type: example
45558 #: doc/guix.texi:21124
45559 #, no-wrap
45560 msgid "(@var{type} @var{variable} => @var{body})\n"
45561 msgstr ""
45562
45563 #. type: deffn
45564 #: doc/guix.texi:21131
45565 msgid ""
45566 "where @var{type} is a service type---e.g., @code{guix-service-type}---and "
45567 "@var{variable} is an identifier that is bound within the @var{body} to the "
45568 "service parameters---e.g., a @code{guix-configuration} instance---of the "
45569 "original service of that @var{type}."
45570 msgstr ""
45571
45572 #. type: deffn
45573 #: doc/guix.texi:21138
45574 msgid ""
45575 "The @var{body} should evaluate to the new service parameters, which will be "
45576 "used to configure the new service. This new service will replace the "
45577 "original in the resulting list. Because a service's service parameters are "
45578 "created using @code{define-record-type*}, you can write a succinct "
45579 "@var{body} that evaluates to the new service parameters by using the "
45580 "@code{inherit} feature that @code{define-record-type*} provides."
45581 msgstr ""
45582
45583 #. type: deffn
45584 #: doc/guix.texi:21140
45585 msgid "@xref{Using the Configuration System}, for example usage."
45586 msgstr ""
45587
45588 #. type: Plain text
45589 #: doc/guix.texi:21147
45590 msgid ""
45591 "Next comes the programming interface for service types. This is something "
45592 "you want to know when writing new service definitions, but not necessarily "
45593 "when simply looking for ways to customize your @code{operating-system} "
45594 "declaration."
45595 msgstr ""
45596
45597 #. type: deftp
45598 #: doc/guix.texi:21148
45599 #, no-wrap
45600 msgid "{Data Type} service-type"
45601 msgstr ""
45602
45603 #. type: cindex
45604 #: doc/guix.texi:21149
45605 #, no-wrap
45606 msgid "service type"
45607 msgstr ""
45608
45609 #. type: deftp
45610 #: doc/guix.texi:21152
45611 msgid ""
45612 "This is the representation of a @dfn{service type} (@pxref{Service Types and "
45613 "Services})."
45614 msgstr ""
45615
45616 #. type: table
45617 #: doc/guix.texi:21156
45618 msgid "This is a symbol, used only to simplify inspection and debugging."
45619 msgstr ""
45620
45621 #. type: code{#1}
45622 #: doc/guix.texi:21157
45623 #, no-wrap
45624 msgid "extensions"
45625 msgstr ""
45626
45627 #. type: table
45628 #: doc/guix.texi:21159
45629 msgid "A non-empty list of @code{<service-extension>} objects (see below)."
45630 msgstr ""
45631
45632 #. type: item
45633 #: doc/guix.texi:21160
45634 #, no-wrap
45635 msgid "@code{compose} (default: @code{#f})"
45636 msgstr ""
45637
45638 #. type: table
45639 #: doc/guix.texi:21164
45640 msgid ""
45641 "If this is @code{#f}, then the service type denotes services that cannot be "
45642 "extended---i.e., services that do not receive ``values'' from other services."
45643 msgstr ""
45644
45645 #. type: table
45646 #: doc/guix.texi:21168
45647 msgid ""
45648 "Otherwise, it must be a one-argument procedure. The procedure is called by "
45649 "@code{fold-services} and is passed a list of values collected from "
45650 "extensions. It may return any single value."
45651 msgstr ""
45652
45653 #. type: item
45654 #: doc/guix.texi:21169
45655 #, no-wrap
45656 msgid "@code{extend} (default: @code{#f})"
45657 msgstr ""
45658
45659 #. type: table
45660 #: doc/guix.texi:21171
45661 msgid "If this is @code{#f}, services of this type cannot be extended."
45662 msgstr ""
45663
45664 #. type: table
45665 #: doc/guix.texi:21177
45666 msgid ""
45667 "Otherwise, it must be a two-argument procedure: @code{fold-services} calls "
45668 "it, passing it the initial value of the service as the first argument and "
45669 "the result of applying @code{compose} to the extension values as the second "
45670 "argument. It must return a value that is a valid parameter value for the "
45671 "service instance."
45672 msgstr ""
45673
45674 #. type: deftp
45675 #: doc/guix.texi:21180
45676 msgid "@xref{Service Types and Services}, for examples."
45677 msgstr ""
45678
45679 #. type: deffn
45680 #: doc/guix.texi:21182
45681 #, no-wrap
45682 msgid "{Scheme Procedure} service-extension @var{target-type} @"
45683 msgstr ""
45684
45685 #. type: deffn
45686 #: doc/guix.texi:21188
45687 msgid ""
45688 "@var{compute} Return a new extension for services of type @var{target-"
45689 "type}. @var{compute} must be a one-argument procedure: @code{fold-services} "
45690 "calls it, passing it the value associated with the service that provides the "
45691 "extension; it must return a valid value for the target service."
45692 msgstr ""
45693
45694 #. type: deffn
45695 #: doc/guix.texi:21190
45696 #, no-wrap
45697 msgid "{Scheme Procedure} service-extension? @var{obj}"
45698 msgstr ""
45699
45700 #. type: deffn
45701 #: doc/guix.texi:21192
45702 msgid "Return true if @var{obj} is a service extension."
45703 msgstr ""
45704
45705 #. type: Plain text
45706 #: doc/guix.texi:21198
45707 msgid ""
45708 "Occasionally, you might want to simply extend an existing service. This "
45709 "involves creating a new service type and specifying the extension of "
45710 "interest, which can be verbose; the @code{simple-service} procedure provides "
45711 "a shorthand for this."
45712 msgstr ""
45713
45714 #. type: deffn
45715 #: doc/guix.texi:21199
45716 #, no-wrap
45717 msgid "{Scheme Procedure} simple-service @var{name} @var{target} @var{value}"
45718 msgstr ""
45719
45720 #. type: deffn
45721 #: doc/guix.texi:21203
45722 msgid ""
45723 "Return a service that extends @var{target} with @var{value}. This works by "
45724 "creating a singleton service type @var{name}, of which the returned service "
45725 "is an instance."
45726 msgstr ""
45727
45728 #. type: deffn
45729 #: doc/guix.texi:21206
45730 msgid ""
45731 "For example, this extends mcron (@pxref{Scheduled Job Execution}) with an "
45732 "additional job:"
45733 msgstr ""
45734
45735 #. type: example
45736 #: doc/guix.texi:21210
45737 #, no-wrap
45738 msgid ""
45739 "(simple-service 'my-mcron-job mcron-service-type\n"
45740 " #~(job '(next-hour (3)) \"guix gc -F 2G\"))\n"
45741 msgstr ""
45742
45743 #. type: Plain text
45744 #: doc/guix.texi:21220
45745 msgid ""
45746 "At the core of the service abstraction lies the @code{fold-services} "
45747 "procedure, which is responsible for ``compiling'' a list of services down to "
45748 "a single directory that contains everything needed to boot and run the "
45749 "system---the directory shown by the @command{guix system build} command "
45750 "(@pxref{Invoking guix system}). In essence, it propagates service "
45751 "extensions down the service graph, updating each node parameters on the way, "
45752 "until it reaches the root node."
45753 msgstr ""
45754
45755 #. type: deffn
45756 #: doc/guix.texi:21221
45757 #, no-wrap
45758 msgid "{Scheme Procedure} fold-services @var{services} @"
45759 msgstr ""
45760
45761 #. type: deffn
45762 #: doc/guix.texi:21225
45763 msgid ""
45764 "[#:target-type @var{system-service-type}] Fold @var{services} by propagating "
45765 "their extensions down to the root of type @var{target-type}; return the root "
45766 "service adjusted accordingly."
45767 msgstr ""
45768
45769 #. type: Plain text
45770 #: doc/guix.texi:21229
45771 msgid ""
45772 "Lastly, the @code{(gnu services)} module also defines several essential "
45773 "service types, some of which are listed below."
45774 msgstr ""
45775
45776 #. type: defvr
45777 #: doc/guix.texi:21230
45778 #, no-wrap
45779 msgid "{Scheme Variable} system-service-type"
45780 msgstr ""
45781
45782 #. type: defvr
45783 #: doc/guix.texi:21233
45784 msgid ""
45785 "This is the root of the service graph. It produces the system directory as "
45786 "returned by the @command{guix system build} command."
45787 msgstr ""
45788
45789 #. type: defvr
45790 #: doc/guix.texi:21235
45791 #, no-wrap
45792 msgid "{Scheme Variable} boot-service-type"
45793 msgstr ""
45794
45795 #. type: defvr
45796 #: doc/guix.texi:21238
45797 msgid ""
45798 "The type of the ``boot service'', which produces the @dfn{boot script}. The "
45799 "boot script is what the initial RAM disk runs when booting."
45800 msgstr ""
45801
45802 #. type: defvr
45803 #: doc/guix.texi:21240
45804 #, no-wrap
45805 msgid "{Scheme Variable} etc-service-type"
45806 msgstr ""
45807
45808 #. type: defvr
45809 #: doc/guix.texi:21244
45810 msgid ""
45811 "The type of the @file{/etc} service. This service is used to create files "
45812 "under @file{/etc} and can be extended by passing it name/file tuples such as:"
45813 msgstr ""
45814
45815 #. type: example
45816 #: doc/guix.texi:21247
45817 #, no-wrap
45818 msgid "(list `(\"issue\" ,(plain-file \"issue\" \"Welcome!\\n\")))\n"
45819 msgstr ""
45820
45821 #. type: defvr
45822 #: doc/guix.texi:21251
45823 msgid ""
45824 "In this example, the effect would be to add an @file{/etc/issue} file "
45825 "pointing to the given file."
45826 msgstr ""
45827
45828 #. type: defvr
45829 #: doc/guix.texi:21253
45830 #, no-wrap
45831 msgid "{Scheme Variable} setuid-program-service-type"
45832 msgstr ""
45833
45834 #. type: defvr
45835 #: doc/guix.texi:21257
45836 msgid ""
45837 "Type for the ``setuid-program service''. This service collects lists of "
45838 "executable file names, passed as gexps, and adds them to the set of setuid-"
45839 "root programs on the system (@pxref{Setuid Programs})."
45840 msgstr ""
45841
45842 #. type: defvr
45843 #: doc/guix.texi:21259
45844 #, no-wrap
45845 msgid "{Scheme Variable} profile-service-type"
45846 msgstr ""
45847
45848 #. type: defvr
45849 #: doc/guix.texi:21263
45850 msgid ""
45851 "Type of the service that populates the @dfn{system profile}---i.e., the "
45852 "programs under @file{/run/current-system/profile}. Other services can "
45853 "extend it by passing it lists of packages to add to the system profile."
45854 msgstr ""
45855
45856 #. type: cindex
45857 #: doc/guix.texi:21269
45858 #, no-wrap
45859 msgid "shepherd services"
45860 msgstr ""
45861
45862 #. type: cindex
45863 #: doc/guix.texi:21270
45864 #, no-wrap
45865 msgid "PID 1"
45866 msgstr ""
45867
45868 #. type: cindex
45869 #: doc/guix.texi:21271
45870 #, no-wrap
45871 msgid "init system"
45872 msgstr ""
45873
45874 #. type: Plain text
45875 #: doc/guix.texi:21277
45876 msgid ""
45877 "The @code{(gnu services shepherd)} module provides a way to define services "
45878 "managed by the GNU@tie{}Shepherd, which is the GuixSD initialization "
45879 "system---the first process that is started when the system boots, also known "
45880 "as PID@tie{}1 (@pxref{Introduction,,, shepherd, The GNU Shepherd Manual})."
45881 msgstr ""
45882
45883 #. type: Plain text
45884 #: doc/guix.texi:21283
45885 msgid ""
45886 "Services in the Shepherd can depend on each other. For instance, the SSH "
45887 "daemon may need to be started after the syslog daemon has been started, "
45888 "which in turn can only happen once all the file systems have been mounted. "
45889 "The simple operating system defined earlier (@pxref{Using the Configuration "
45890 "System}) results in a service graph like this:"
45891 msgstr ""
45892
45893 #. type: Plain text
45894 #: doc/guix.texi:21285
45895 msgid "@image{images/shepherd-graph,,5in,Typical shepherd service graph.}"
45896 msgstr ""
45897
45898 #. type: Plain text
45899 #: doc/guix.texi:21289
45900 msgid ""
45901 "You can actually generate such a graph for any operating system definition "
45902 "using the @command{guix system shepherd-graph} command (@pxref{system-"
45903 "shepherd-graph, @command{guix system shepherd-graph}})."
45904 msgstr ""
45905
45906 #. type: Plain text
45907 #: doc/guix.texi:21293
45908 msgid ""
45909 "The @var{%shepherd-root-service} is a service object representing PID@tie{}"
45910 "1, of type @var{shepherd-root-service-type}; it can be extended by passing "
45911 "it lists of @code{<shepherd-service>} objects."
45912 msgstr ""
45913
45914 #. type: deftp
45915 #: doc/guix.texi:21294
45916 #, no-wrap
45917 msgid "{Data Type} shepherd-service"
45918 msgstr ""
45919
45920 #. type: deftp
45921 #: doc/guix.texi:21296
45922 msgid "The data type representing a service managed by the Shepherd."
45923 msgstr ""
45924
45925 #. type: code{#1}
45926 #: doc/guix.texi:21298
45927 #, no-wrap
45928 msgid "provision"
45929 msgstr ""
45930
45931 #. type: table
45932 #: doc/guix.texi:21300
45933 msgid "This is a list of symbols denoting what the service provides."
45934 msgstr ""
45935
45936 #. type: table
45937 #: doc/guix.texi:21305
45938 msgid ""
45939 "These are the names that may be passed to @command{herd start}, "
45940 "@command{herd status}, and similar commands (@pxref{Invoking herd,,, "
45941 "shepherd, The GNU Shepherd Manual}). @xref{Slots of services, the "
45942 "@code{provides} slot,, shepherd, The GNU Shepherd Manual}, for details."
45943 msgstr ""
45944
45945 #. type: item
45946 #: doc/guix.texi:21306
45947 #, no-wrap
45948 msgid "@code{requirements} (default: @code{'()})"
45949 msgstr ""
45950
45951 #. type: table
45952 #: doc/guix.texi:21308
45953 msgid "List of symbols denoting the Shepherd services this one depends on."
45954 msgstr ""
45955
45956 #. type: item
45957 #: doc/guix.texi:21309
45958 #, no-wrap
45959 msgid "@code{respawn?} (default: @code{#t})"
45960 msgstr ""
45961
45962 #. type: table
45963 #: doc/guix.texi:21312
45964 msgid ""
45965 "Whether to restart the service when it stops, for instance when the "
45966 "underlying process dies."
45967 msgstr ""
45968
45969 #. type: code{#1}
45970 #: doc/guix.texi:21313
45971 #, no-wrap
45972 msgid "start"
45973 msgstr ""
45974
45975 #. type: itemx
45976 #: doc/guix.texi:21314
45977 #, no-wrap
45978 msgid "@code{stop} (default: @code{#~(const #f)})"
45979 msgstr ""
45980
45981 #. type: table
45982 #: doc/guix.texi:21320
45983 msgid ""
45984 "The @code{start} and @code{stop} fields refer to the Shepherd's facilities "
45985 "to start and stop processes (@pxref{Service De- and Constructors,,, "
45986 "shepherd, The GNU Shepherd Manual}). They are given as G-expressions that "
45987 "get expanded in the Shepherd configuration file (@pxref{G-Expressions})."
45988 msgstr ""
45989
45990 #. type: table
45991 #: doc/guix.texi:21323
45992 msgid "A documentation string, as shown when running:"
45993 msgstr ""
45994
45995 #. type: example
45996 #: doc/guix.texi:21326
45997 #, no-wrap
45998 msgid "herd doc @var{service-name}\n"
45999 msgstr ""
46000
46001 #. type: table
46002 #: doc/guix.texi:21330
46003 msgid ""
46004 "where @var{service-name} is one of the symbols in @var{provision} "
46005 "(@pxref{Invoking herd,,, shepherd, The GNU Shepherd Manual})."
46006 msgstr ""
46007
46008 #. type: item
46009 #: doc/guix.texi:21331
46010 #, no-wrap
46011 msgid "@code{modules} (default: @var{%default-modules})"
46012 msgstr ""
46013
46014 #. type: table
46015 #: doc/guix.texi:21334
46016 msgid ""
46017 "This is the list of modules that must be in scope when @code{start} and "
46018 "@code{stop} are evaluated."
46019 msgstr ""
46020
46021 #. type: defvr
46022 #: doc/guix.texi:21338
46023 #, no-wrap
46024 msgid "{Scheme Variable} shepherd-root-service-type"
46025 msgstr ""
46026
46027 #. type: defvr
46028 #: doc/guix.texi:21340
46029 msgid "The service type for the Shepherd ``root service''---i.e., PID@tie{}1."
46030 msgstr ""
46031
46032 #. type: defvr
46033 #: doc/guix.texi:21344
46034 msgid ""
46035 "This is the service type that extensions target when they want to create "
46036 "shepherd services (@pxref{Service Types and Services}, for an example). "
46037 "Each extension must pass a list of @code{<shepherd-service>}."
46038 msgstr ""
46039
46040 #. type: defvr
46041 #: doc/guix.texi:21346
46042 #, no-wrap
46043 msgid "{Scheme Variable} %shepherd-root-service"
46044 msgstr ""
46045
46046 #. type: defvr
46047 #: doc/guix.texi:21348
46048 msgid "This service represents PID@tie{}1."
46049 msgstr ""
46050
46051 #. type: cindex
46052 #: doc/guix.texi:21354
46053 #, no-wrap
46054 msgid "documentation, searching for"
46055 msgstr ""
46056
46057 #. type: cindex
46058 #: doc/guix.texi:21355
46059 #, no-wrap
46060 msgid "searching for documentation"
46061 msgstr ""
46062
46063 #. type: cindex
46064 #: doc/guix.texi:21356
46065 #, no-wrap
46066 msgid "Info, documentation format"
46067 msgstr ""
46068
46069 #. type: cindex
46070 #: doc/guix.texi:21357
46071 #, no-wrap
46072 msgid "man pages"
46073 msgstr ""
46074
46075 #. type: cindex
46076 #: doc/guix.texi:21358
46077 #, no-wrap
46078 msgid "manual pages"
46079 msgstr ""
46080
46081 #. type: Plain text
46082 #: doc/guix.texi:21365
46083 msgid ""
46084 "In most cases packages installed with Guix come with documentation. There "
46085 "are two main documentation formats: ``Info'', a browseable hypertext format "
46086 "used for GNU software, and ``manual pages'' (or ``man pages''), the linear "
46087 "documentation format traditionally found on Unix. Info manuals are accessed "
46088 "with the @command{info} command or with Emacs, and man pages are accessed "
46089 "using @command{man}."
46090 msgstr ""
46091
46092 #. type: Plain text
46093 #: doc/guix.texi:21369
46094 msgid ""
46095 "You can look for documentation of software installed on your system by "
46096 "keyword. For example, the following command searches for information about "
46097 "``TLS'' in Info manuals:"
46098 msgstr ""
46099
46100 #. type: example
46101 #: doc/guix.texi:21377
46102 #, no-wrap
46103 msgid ""
46104 "$ info -k TLS\n"
46105 "\"(emacs)Network Security\" -- STARTTLS\n"
46106 "\"(emacs)Network Security\" -- TLS\n"
46107 "\"(gnutls)Core TLS API\" -- gnutls_certificate_set_verify_flags\n"
46108 "\"(gnutls)Core TLS API\" -- gnutls_certificate_set_verify_function\n"
46109 "@dots{}\n"
46110 msgstr ""
46111
46112 #. type: Plain text
46113 #: doc/guix.texi:21381
46114 msgid "The command below searches for the same keyword in man pages:"
46115 msgstr ""
46116
46117 #. type: example
46118 #: doc/guix.texi:21387
46119 #, no-wrap
46120 msgid ""
46121 "$ man -k TLS\n"
46122 "SSL (7) - OpenSSL SSL/TLS library\n"
46123 "certtool (1) - GnuTLS certificate tool\n"
46124 "@dots {}\n"
46125 msgstr ""
46126
46127 #. type: Plain text
46128 #: doc/guix.texi:21393
46129 msgid ""
46130 "These searches are purely local to your computer so you have the guarantee "
46131 "that documentation you find corresponds to what you have actually installed, "
46132 "you can access it off-line, and your privacy is respected."
46133 msgstr ""
46134
46135 #. type: Plain text
46136 #: doc/guix.texi:21396
46137 msgid ""
46138 "Once you have these results, you can view the relevant documentation by "
46139 "running, say:"
46140 msgstr ""
46141
46142 #. type: example
46143 #: doc/guix.texi:21399
46144 #, no-wrap
46145 msgid "$ info \"(gnutls)Core TLS API\"\n"
46146 msgstr ""
46147
46148 #. type: Plain text
46149 #: doc/guix.texi:21403
46150 msgid "or:"
46151 msgstr ""
46152
46153 #. type: example
46154 #: doc/guix.texi:21406
46155 #, no-wrap
46156 msgid "$ man certtool\n"
46157 msgstr ""
46158
46159 #. type: Plain text
46160 #: doc/guix.texi:21414
46161 msgid ""
46162 "Info manuals contain sections and indices as well as hyperlinks like those "
46163 "found in Web pages. The @command{info} reader (@pxref{Top, Info reader,, "
46164 "info-stnd, Stand-alone GNU Info}) and its Emacs counterpart (@pxref{Misc "
46165 "Help,,, emacs, The GNU Emacs Manual}) provide intuitive key bindings to "
46166 "navigate manuals. @xref{Getting Started,,, info, Info: An Introduction}, "
46167 "for an introduction to Info navigation."
46168 msgstr ""
46169
46170 #. type: cindex
46171 #: doc/guix.texi:21418
46172 #, no-wrap
46173 msgid "debugging files"
46174 msgstr ""
46175
46176 #. type: Plain text
46177 #: doc/guix.texi:21424
46178 msgid ""
46179 "Program binaries, as produced by the GCC compilers for instance, are "
46180 "typically written in the ELF format, with a section containing "
46181 "@dfn{debugging information}. Debugging information is what allows the "
46182 "debugger, GDB, to map binary code to source code; it is required to debug a "
46183 "compiled program in good conditions."
46184 msgstr ""
46185
46186 #. type: Plain text
46187 #: doc/guix.texi:21432
46188 msgid ""
46189 "The problem with debugging information is that is takes up a fair amount of "
46190 "disk space. For example, debugging information for the GNU C Library weighs "
46191 "in at more than 60 MiB. Thus, as a user, keeping all the debugging info of "
46192 "all the installed programs is usually not an option. Yet, space savings "
46193 "should not come at the cost of an impediment to debugging---especially in "
46194 "the GNU system, which should make it easier for users to exert their "
46195 "computing freedom (@pxref{GNU Distribution})."
46196 msgstr ""
46197 "Le problème avec les informations de débogage est qu'elles prennent pas mal "
46198 "de place sur le disque. Par exemple, les informations de débogage de la "
46199 "bibliothèque C de GNU prend plus de 60 Mo. Ainsi, en tant qu'utilisateur, "
46200 "garder toutes les informations de débogage de tous les programmes installés "
46201 "n'est souvent pas une possibilité. Cependant, l'économie d'espace ne devrait "
46202 "pas empêcher le débogage — en particulier, dans le système GNU, qui devrait "
46203 "faciliter pour ses utilisateurs l'exercice de leurs libertés "
46204 "(@pxref{Distribution GNU})."
46205
46206 #. type: Plain text
46207 #: doc/guix.texi:21439
46208 msgid ""
46209 "Thankfully, the GNU Binary Utilities (Binutils) and GDB provide a mechanism "
46210 "that allows users to get the best of both worlds: debugging information can "
46211 "be stripped from the binaries and stored in separate files. GDB is then "
46212 "able to load debugging information from those files, when they are available "
46213 "(@pxref{Separate Debug Files,,, gdb, Debugging with GDB})."
46214 msgstr ""
46215
46216 #. type: Plain text
46217 #: doc/guix.texi:21447
46218 msgid ""
46219 "The GNU distribution takes advantage of this by storing debugging "
46220 "information in the @code{lib/debug} sub-directory of a separate package "
46221 "output unimaginatively called @code{debug} (@pxref{Packages with Multiple "
46222 "Outputs}). Users can choose to install the @code{debug} output of a package "
46223 "when they need it. For instance, the following command installs the "
46224 "debugging information for the GNU C Library and for GNU Guile:"
46225 msgstr ""
46226
46227 #. type: example
46228 #: doc/guix.texi:21450
46229 #, no-wrap
46230 msgid "guix package -i glibc:debug guile:debug\n"
46231 msgstr ""
46232
46233 #. type: Plain text
46234 #: doc/guix.texi:21456
46235 msgid ""
46236 "GDB must then be told to look for debug files in the user's profile, by "
46237 "setting the @code{debug-file-directory} variable (consider setting it from "
46238 "the @file{~/.gdbinit} file, @pxref{Startup,,, gdb, Debugging with GDB}):"
46239 msgstr ""
46240
46241 #. type: example
46242 #: doc/guix.texi:21459
46243 #, no-wrap
46244 msgid "(gdb) set debug-file-directory ~/.guix-profile/lib/debug\n"
46245 msgstr ""
46246
46247 #. type: Plain text
46248 #: doc/guix.texi:21463
46249 msgid ""
46250 "From there on, GDB will pick up debugging information from the @code{.debug} "
46251 "files under @file{~/.guix-profile/lib/debug}."
46252 msgstr ""
46253
46254 #. type: Plain text
46255 #: doc/guix.texi:21470
46256 msgid ""
46257 "In addition, you will most likely want GDB to be able to show the source "
46258 "code being debugged. To do that, you will have to unpack the source code of "
46259 "the package of interest (obtained with @code{guix build --source}, "
46260 "@pxref{Invoking guix build}), and to point GDB to that source directory "
46261 "using the @code{directory} command (@pxref{Source Path, @code{directory},, "
46262 "gdb, Debugging with GDB})."
46263 msgstr ""
46264
46265 #. type: Plain text
46266 #: doc/guix.texi:21479
46267 msgid ""
46268 "The @code{debug} output mechanism in Guix is implemented by the @code{gnu-"
46269 "build-system} (@pxref{Build Systems}). Currently, it is opt-in---debugging "
46270 "information is available only for the packages with definitions explicitly "
46271 "declaring a @code{debug} output. This may be changed to opt-out in the "
46272 "future if our build farm servers can handle the load. To check whether a "
46273 "package has a @code{debug} output, use @command{guix package --list-"
46274 "available} (@pxref{Invoking guix package})."
46275 msgstr ""
46276
46277 #. type: cindex
46278 #: doc/guix.texi:21484
46279 #, no-wrap
46280 msgid "security updates"
46281 msgstr ""
46282
46283 #. type: Plain text
46284 #: doc/guix.texi:21493
46285 msgid ""
46286 "Occasionally, important security vulnerabilities are discovered in software "
46287 "packages and must be patched. Guix developers try hard to keep track of "
46288 "known vulnerabilities and to apply fixes as soon as possible in the "
46289 "@code{master} branch of Guix (we do not yet provide a ``stable'' branch "
46290 "containing only security updates.) The @command{guix lint} tool helps "
46291 "developers find out about vulnerable versions of software packages in the "
46292 "distribution:"
46293 msgstr ""
46294
46295 #. type: smallexample
46296 #: doc/guix.texi:21500
46297 #, no-wrap
46298 msgid ""
46299 "$ guix lint -c cve\n"
46300 "gnu/packages/base.scm:652:2: glibc@@2.21: probably vulnerable to CVE-2015-1781, CVE-2015-7547\n"
46301 "gnu/packages/gcc.scm:334:2: gcc@@4.9.3: probably vulnerable to CVE-2015-5276\n"
46302 "gnu/packages/image.scm:312:2: openjpeg@@2.1.0: probably vulnerable to CVE-2016-1923, CVE-2016-1924\n"
46303 "@dots{}\n"
46304 msgstr ""
46305
46306 #. type: Plain text
46307 #: doc/guix.texi:21503
46308 msgid "@xref{Invoking guix lint}, for more information."
46309 msgstr ""
46310
46311 #. type: quotation
46312 #: doc/guix.texi:21507
46313 msgid ""
46314 "As of version @value{VERSION}, the feature described below is considered "
46315 "``beta''."
46316 msgstr ""
46317
46318 #. type: Plain text
46319 #: doc/guix.texi:21517
46320 msgid ""
46321 "Guix follows a functional package management discipline "
46322 "(@pxref{Introduction}), which implies that, when a package is changed, "
46323 "@emph{every package that depends on it} must be rebuilt. This can "
46324 "significantly slow down the deployment of fixes in core packages such as "
46325 "libc or Bash, since basically the whole distribution would need to be "
46326 "rebuilt. Using pre-built binaries helps (@pxref{Substitutes}), but "
46327 "deployment may still take more time than desired."
46328 msgstr ""
46329 "Guix suit une discipline de gestion de paquets fonctionnelle "
46330 "(@pxref{Introduction}), ce qui implique que lorsqu'un paquet change, "
46331 "@emph{tous les paquets qui en dépendent} doivent être reconstruits. Cela "
46332 "peut grandement ralentir le déploiement de corrections dans les paquets du "
46333 "cœur comme libc ou bash comme presque toute la distribution aurait besoin "
46334 "d'être reconstruite. Cela aide d'utiliser des binaires pré-construits "
46335 "(@pxref{Substituts}), mais le déploiement peut toujours prendre plus de "
46336 "temps de souhaité."
46337
46338 #. type: cindex
46339 #: doc/guix.texi:21518
46340 #, no-wrap
46341 msgid "grafts"
46342 msgstr ""
46343
46344 #. type: Plain text
46345 #: doc/guix.texi:21526
46346 msgid ""
46347 "To address this, Guix implements @dfn{grafts}, a mechanism that allows for "
46348 "fast deployment of critical updates without the costs associated with a "
46349 "whole-distribution rebuild. The idea is to rebuild only the package that "
46350 "needs to be patched, and then to ``graft'' it onto packages explicitly "
46351 "installed by the user and that were previously referring to the original "
46352 "package. The cost of grafting is typically very low, and order of "
46353 "magnitudes lower than a full rebuild of the dependency chain."
46354 msgstr ""
46355
46356 #. type: cindex
46357 #: doc/guix.texi:21527
46358 #, no-wrap
46359 msgid "replacements of packages, for grafts"
46360 msgstr ""
46361
46362 #. type: Plain text
46363 #: doc/guix.texi:21533
46364 msgid ""
46365 "For instance, suppose a security update needs to be applied to Bash. Guix "
46366 "developers will provide a package definition for the ``fixed'' Bash, say "
46367 "@var{bash-fixed}, in the usual way (@pxref{Defining Packages}). Then, the "
46368 "original package definition is augmented with a @code{replacement} field "
46369 "pointing to the package containing the bug fix:"
46370 msgstr ""
46371
46372 #. type: example
46373 #: doc/guix.texi:21540
46374 #, no-wrap
46375 msgid ""
46376 "(define bash\n"
46377 " (package\n"
46378 " (name \"bash\")\n"
46379 " ;; @dots{}\n"
46380 " (replacement bash-fixed)))\n"
46381 msgstr ""
46382
46383 #. type: Plain text
46384 #: doc/guix.texi:21550
46385 msgid ""
46386 "From there on, any package depending directly or indirectly on Bash---as "
46387 "reported by @command{guix gc --requisites} (@pxref{Invoking guix gc})---that "
46388 "is installed is automatically ``rewritten'' to refer to @var{bash-fixed} "
46389 "instead of @var{bash}. This grafting process takes time proportional to the "
46390 "size of the package, usually less than a minute for an ``average'' package "
46391 "on a recent machine. Grafting is recursive: when an indirect dependency "
46392 "requires grafting, then grafting ``propagates'' up to the package that the "
46393 "user is installing."
46394 msgstr ""
46395
46396 #. type: Plain text
46397 #: doc/guix.texi:21558
46398 msgid ""
46399 "Currently, the length of the name and version of the graft and that of the "
46400 "package it replaces (@var{bash-fixed} and @var{bash} in the example above) "
46401 "must be equal. This restriction mostly comes from the fact that grafting "
46402 "works by patching files, including binary files, directly. Other "
46403 "restrictions may apply: for instance, when adding a graft to a package "
46404 "providing a shared library, the original shared library and its replacement "
46405 "must have the same @code{SONAME} and be binary-compatible."
46406 msgstr ""
46407
46408 #. type: Plain text
46409 #: doc/guix.texi:21562
46410 msgid ""
46411 "The @option{--no-grafts} command-line option allows you to forcefully avoid "
46412 "grafting (@pxref{Common Build Options, @option{--no-grafts}}). Thus, the "
46413 "command:"
46414 msgstr ""
46415
46416 #. type: example
46417 #: doc/guix.texi:21565
46418 #, no-wrap
46419 msgid "guix build bash --no-grafts\n"
46420 msgstr ""
46421
46422 #. type: Plain text
46423 #: doc/guix.texi:21569
46424 msgid "returns the store file name of the original Bash, whereas:"
46425 msgstr ""
46426
46427 #. type: example
46428 #: doc/guix.texi:21572
46429 #, no-wrap
46430 msgid "guix build bash\n"
46431 msgstr ""
46432
46433 #. type: Plain text
46434 #: doc/guix.texi:21577
46435 msgid ""
46436 "returns the store file name of the ``fixed'', replacement Bash. This allows "
46437 "you to distinguish between the two variants of Bash."
46438 msgstr ""
46439
46440 #. type: Plain text
46441 #: doc/guix.texi:21580
46442 msgid ""
46443 "To verify which Bash your whole profile refers to, you can run "
46444 "(@pxref{Invoking guix gc}):"
46445 msgstr ""
46446
46447 #. type: example
46448 #: doc/guix.texi:21583
46449 #, no-wrap
46450 msgid "guix gc -R `readlink -f ~/.guix-profile` | grep bash\n"
46451 msgstr ""
46452
46453 #. type: Plain text
46454 #: doc/guix.texi:21588
46455 msgid ""
46456 "@dots{} and compare the store file names that you get with those above. "
46457 "Likewise for a complete GuixSD system generation:"
46458 msgstr ""
46459
46460 #. type: example
46461 #: doc/guix.texi:21591
46462 #, no-wrap
46463 msgid "guix gc -R `guix system build my-config.scm` | grep bash\n"
46464 msgstr ""
46465
46466 #. type: Plain text
46467 #: doc/guix.texi:21595
46468 msgid ""
46469 "Lastly, to check which Bash running processes are using, you can use the "
46470 "@command{lsof} command:"
46471 msgstr ""
46472
46473 #. type: example
46474 #: doc/guix.texi:21598
46475 #, no-wrap
46476 msgid "lsof | grep /gnu/store/.*bash\n"
46477 msgstr ""
46478
46479 #. type: Plain text
46480 #: doc/guix.texi:21615
46481 msgid ""
46482 "From a programming viewpoint, the package definitions of the GNU "
46483 "distribution are provided by Guile modules in the @code{(gnu packages "
46484 "@dots{})} name space@footnote{Note that packages under the @code{(gnu "
46485 "packages @dots{})} module name space are not necessarily ``GNU packages''. "
46486 "This module naming scheme follows the usual Guile module naming convention: "
46487 "@code{gnu} means that these modules are distributed as part of the GNU "
46488 "system, and @code{packages} identifies modules that define packages.} "
46489 "(@pxref{Modules, Guile modules,, guile, GNU Guile Reference Manual}). For "
46490 "instance, the @code{(gnu packages emacs)} module exports a variable named "
46491 "@code{emacs}, which is bound to a @code{<package>} object (@pxref{Defining "
46492 "Packages})."
46493 msgstr ""
46494
46495 #. type: Plain text
46496 #: doc/guix.texi:21622
46497 msgid ""
46498 "The @code{(gnu packages @dots{})} module name space is automatically scanned "
46499 "for packages by the command-line tools. For instance, when running "
46500 "@code{guix package -i emacs}, all the @code{(gnu packages @dots{})} modules "
46501 "are scanned until one that exports a package object whose name is "
46502 "@code{emacs} is found. This package search facility is implemented in the "
46503 "@code{(gnu packages)} module."
46504 msgstr ""
46505
46506 #. type: cindex
46507 #: doc/guix.texi:21624
46508 #, no-wrap
46509 msgid "package module search path"
46510 msgstr ""
46511
46512 #. type: Plain text
46513 #: doc/guix.texi:21641
46514 msgid ""
46515 "Users can store package definitions in modules with different names---e.g., "
46516 "@code{(my-packages emacs)}@footnote{Note that the file name and module name "
46517 "must match. For instance, the @code{(my-packages emacs)} module must be "
46518 "stored in a @file{my-packages/emacs.scm} file relative to the load path "
46519 "specified with @option{--load-path} or @code{GUIX_PACKAGE_PATH}. "
46520 "@xref{Modules and the File System,,, guile, GNU Guile Reference Manual}, for "
46521 "details.}. These package definitions will not be visible by default. Users "
46522 "can invoke commands such as @command{guix package} and @command{guix build} "
46523 "with the @code{-e} option so that they know where to find the package. "
46524 "Better yet, they can use the @code{-L} option of these commands to make "
46525 "those modules visible (@pxref{Invoking guix build, @code{--load-path}}), or "
46526 "define the @code{GUIX_PACKAGE_PATH} environment variable. This environment "
46527 "variable makes it easy to extend or customize the distribution and is "
46528 "honored by all the user interfaces."
46529 msgstr ""
46530
46531 #. type: defvr
46532 #: doc/guix.texi:21642
46533 #, no-wrap
46534 msgid "{Environment Variable} GUIX_PACKAGE_PATH"
46535 msgstr ""
46536
46537 #. type: defvr
46538 #: doc/guix.texi:21646
46539 msgid ""
46540 "This is a colon-separated list of directories to search for additional "
46541 "package modules. Directories listed in this variable take precedence over "
46542 "the own modules of the distribution."
46543 msgstr ""
46544
46545 #. type: Plain text
46546 #: doc/guix.texi:21654
46547 msgid ""
46548 "The distribution is fully @dfn{bootstrapped} and @dfn{self-contained}: each "
46549 "package is built based solely on other packages in the distribution. The "
46550 "root of this dependency graph is a small set of @dfn{bootstrap binaries}, "
46551 "provided by the @code{(gnu packages bootstrap)} module. For more "
46552 "information on bootstrapping, @pxref{Bootstrapping}."
46553 msgstr ""
46554
46555 #. type: cindex
46556 #: doc/guix.texi:21658
46557 #, no-wrap
46558 msgid "packages, creating"
46559 msgstr ""
46560
46561 #. type: Plain text
46562 #: doc/guix.texi:21663
46563 msgid ""
46564 "The GNU distribution is nascent and may well lack some of your favorite "
46565 "packages. This section describes how you can help make the distribution "
46566 "grow. @xref{Contributing}, for additional information on how you can help."
46567 msgstr ""
46568
46569 #. type: Plain text
46570 #: doc/guix.texi:21671
46571 msgid ""
46572 "Free software packages are usually distributed in the form of @dfn{source "
46573 "code tarballs}---typically @file{tar.gz} files that contain all the source "
46574 "files. Adding a package to the distribution means essentially two things: "
46575 "adding a @dfn{recipe} that describes how to build the package, including a "
46576 "list of other packages required to build it, and adding @dfn{package "
46577 "metadata} along with that recipe, such as a description and licensing "
46578 "information."
46579 msgstr ""
46580
46581 #. type: Plain text
46582 #: doc/guix.texi:21680
46583 msgid ""
46584 "In Guix all this information is embodied in @dfn{package definitions}. "
46585 "Package definitions provide a high-level view of the package. They are "
46586 "written using the syntax of the Scheme programming language; in fact, for "
46587 "each package we define a variable bound to the package definition, and "
46588 "export that variable from a module (@pxref{Package Modules}). However, in-"
46589 "depth Scheme knowledge is @emph{not} a prerequisite for creating packages. "
46590 "For more information on package definitions, @pxref{Defining Packages}."
46591 msgstr ""
46592
46593 #. type: Plain text
46594 #: doc/guix.texi:21686
46595 msgid ""
46596 "Once a package definition is in place, stored in a file in the Guix source "
46597 "tree, it can be tested using the @command{guix build} command "
46598 "(@pxref{Invoking guix build}). For example, assuming the new package is "
46599 "called @code{gnew}, you may run this command from the Guix build tree "
46600 "(@pxref{Running Guix Before It Is Installed}):"
46601 msgstr ""
46602
46603 #. type: example
46604 #: doc/guix.texi:21689
46605 #, no-wrap
46606 msgid "./pre-inst-env guix build gnew --keep-failed\n"
46607 msgstr ""
46608
46609 #. type: Plain text
46610 #: doc/guix.texi:21695
46611 msgid ""
46612 "Using @code{--keep-failed} makes it easier to debug build failures since it "
46613 "provides access to the failed build tree. Another useful command-line "
46614 "option when debugging is @code{--log-file}, to access the build log."
46615 msgstr ""
46616
46617 #. type: Plain text
46618 #: doc/guix.texi:21700
46619 msgid ""
46620 "If the package is unknown to the @command{guix} command, it may be that the "
46621 "source file contains a syntax error, or lacks a @code{define-public} clause "
46622 "to export the package variable. To figure it out, you may load the module "
46623 "from Guile to get more information about the actual error:"
46624 msgstr ""
46625
46626 #. type: example
46627 #: doc/guix.texi:21703
46628 #, no-wrap
46629 msgid "./pre-inst-env guile -c '(use-modules (gnu packages gnew))'\n"
46630 msgstr ""
46631
46632 #. type: Plain text
46633 #: doc/guix.texi:21711
46634 msgid ""
46635 "Once your package builds correctly, please send us a patch "
46636 "(@pxref{Contributing}). Well, if you need help, we will be happy to help "
46637 "you too. Once the patch is committed in the Guix repository, the new "
46638 "package automatically gets built on the supported platforms by @url{http://"
46639 "hydra.gnu.org/jobset/gnu/master, our continuous integration system}."
46640 msgstr ""
46641
46642 #. type: cindex
46643 #: doc/guix.texi:21712
46644 #, no-wrap
46645 msgid "substituter"
46646 msgstr ""
46647
46648 #. type: Plain text
46649 #: doc/guix.texi:21719
46650 msgid ""
46651 "Users can obtain the new package definition simply by running @command{guix "
46652 "pull} (@pxref{Invoking guix pull}). When @code{hydra.gnu.org} is done "
46653 "building the package, installing the package automatically downloads "
46654 "binaries from there (@pxref{Substitutes}). The only place where human "
46655 "intervention is needed is to review and apply the patch."
46656 msgstr ""
46657 "On peut obtenir la nouvelle définition du paquet simplement en lançant "
46658 "@command{guix pull} (@pxref{Invoking guix pull}). Lorsque @code{hydra.gnu."
46659 "org} a fini de construire le paquet, l'installation du paquet y télécharge "
46660 "automatiquement les binaires (@pxref{Substituts}). La seule intervention "
46661 "humaine requise est pendant la revue et l'application du correctif."
46662
46663 #. type: cindex
46664 #: doc/guix.texi:21736
46665 #, no-wrap
46666 msgid "free software"
46667 msgstr ""
46668
46669 #. type: Plain text
46670 #: doc/guix.texi:21744
46671 msgid ""
46672 "The GNU operating system has been developed so that users can have freedom "
46673 "in their computing. GNU is @dfn{free software}, meaning that users have the "
46674 "@url{http://www.gnu.org/philosophy/free-sw.html,four essential freedoms}: to "
46675 "run the program, to study and change the program in source code form, to "
46676 "redistribute exact copies, and to distribute modified versions. Packages "
46677 "found in the GNU distribution provide only software that conveys these four "
46678 "freedoms."
46679 msgstr ""
46680
46681 #. type: Plain text
46682 #: doc/guix.texi:21750
46683 msgid ""
46684 "In addition, the GNU distribution follow the @url{http://www.gnu.org/distros/"
46685 "free-system-distribution-guidelines.html,free software distribution "
46686 "guidelines}. Among other things, these guidelines reject non-free firmware, "
46687 "recommendations of non-free software, and discuss ways to deal with "
46688 "trademarks and patents."
46689 msgstr ""
46690
46691 #. type: Plain text
46692 #: doc/guix.texi:21758
46693 msgid ""
46694 "Some otherwise free upstream package sources contain a small and optional "
46695 "subset that violates the above guidelines, for instance because this subset "
46696 "is itself non-free code. When that happens, the offending items are removed "
46697 "with appropriate patches or code snippets in the @code{origin} form of the "
46698 "package (@pxref{Defining Packages}). This way, @code{guix build --source} "
46699 "returns the ``freed'' source rather than the unmodified upstream source."
46700 msgstr ""
46701
46702 #. type: cindex
46703 #: doc/guix.texi:21763
46704 #, no-wrap
46705 msgid "package name"
46706 msgstr ""
46707
46708 #. type: Plain text
46709 #: doc/guix.texi:21771
46710 msgid ""
46711 "A package has actually two names associated with it: First, there is the "
46712 "name of the @emph{Scheme variable}, the one following @code{define-public}. "
46713 "By this name, the package can be made known in the Scheme code, for instance "
46714 "as input to another package. Second, there is the string in the @code{name} "
46715 "field of a package definition. This name is used by package management "
46716 "commands such as @command{guix package} and @command{guix build}."
46717 msgstr ""
46718
46719 #. type: Plain text
46720 #: doc/guix.texi:21776
46721 msgid ""
46722 "Both are usually the same and correspond to the lowercase conversion of the "
46723 "project name chosen upstream, with underscores replaced with hyphens. For "
46724 "instance, GNUnet is available as @code{gnunet}, and SDL_net as @code{sdl-"
46725 "net}."
46726 msgstr ""
46727
46728 #. type: Plain text
46729 #: doc/guix.texi:21781
46730 msgid ""
46731 "We do not add @code{lib} prefixes for library packages, unless these are "
46732 "already part of the official project name. But @pxref{Python Modules} and "
46733 "@ref{Perl Modules} for special rules concerning modules for the Python and "
46734 "Perl languages."
46735 msgstr ""
46736
46737 #. type: Plain text
46738 #: doc/guix.texi:21783
46739 msgid "Font package names are handled differently, @pxref{Fonts}."
46740 msgstr ""
46741
46742 #. type: cindex
46743 #: doc/guix.texi:21788
46744 #, no-wrap
46745 msgid "package version"
46746 msgstr ""
46747
46748 #. type: Plain text
46749 #: doc/guix.texi:21797
46750 msgid ""
46751 "We usually package only the latest version of a given free software "
46752 "project. But sometimes, for instance for incompatible library versions, two "
46753 "(or more) versions of the same package are needed. These require different "
46754 "Scheme variable names. We use the name as defined in @ref{Package Naming} "
46755 "for the most recent version; previous versions use the same name, suffixed "
46756 "by @code{-} and the smallest prefix of the version number that may "
46757 "distinguish the two versions."
46758 msgstr ""
46759
46760 #. type: Plain text
46761 #: doc/guix.texi:21800
46762 msgid ""
46763 "The name inside the package definition is the same for all versions of a "
46764 "package and does not contain any version number."
46765 msgstr ""
46766
46767 #. type: Plain text
46768 #: doc/guix.texi:21802
46769 msgid ""
46770 "For instance, the versions 2.24.20 and 3.9.12 of GTK+ may be packaged as "
46771 "follows:"
46772 msgstr ""
46773
46774 #. type: example
46775 #: doc/guix.texi:21814
46776 #, no-wrap
46777 msgid ""
46778 "(define-public gtk+\n"
46779 " (package\n"
46780 " (name \"gtk+\")\n"
46781 " (version \"3.9.12\")\n"
46782 " ...))\n"
46783 "(define-public gtk+-2\n"
46784 " (package\n"
46785 " (name \"gtk+\")\n"
46786 " (version \"2.24.20\")\n"
46787 " ...))\n"
46788 msgstr ""
46789
46790 #. type: Plain text
46791 #: doc/guix.texi:21816
46792 msgid "If we also wanted GTK+ 3.8.2, this would be packaged as"
46793 msgstr ""
46794
46795 #. type: example
46796 #: doc/guix.texi:21822
46797 #, no-wrap
46798 msgid ""
46799 "(define-public gtk+-3.8\n"
46800 " (package\n"
46801 " (name \"gtk+\")\n"
46802 " (version \"3.8.2\")\n"
46803 " ...))\n"
46804 msgstr ""
46805
46806 #. type: cindex
46807 #: doc/guix.texi:21826
46808 #, no-wrap
46809 msgid "version number, for VCS snapshots"
46810 msgstr ""
46811
46812 #. type: Plain text
46813 #: doc/guix.texi:21832
46814 msgid ""
46815 "Occasionally, we package snapshots of upstream's version control system "
46816 "(VCS) instead of formal releases. This should remain exceptional, because "
46817 "it is up to upstream developers to clarify what the stable release is. Yet, "
46818 "it is sometimes necessary. So, what should we put in the @code{version} "
46819 "field?"
46820 msgstr ""
46821
46822 #. type: Plain text
46823 #: doc/guix.texi:21840
46824 msgid ""
46825 "Clearly, we need to make the commit identifier of the VCS snapshot visible "
46826 "in the version string, but we also need to make sure that the version string "
46827 "is monotonically increasing so that @command{guix package --upgrade} can "
46828 "determine which version is newer. Since commit identifiers, notably with "
46829 "Git, are not monotonically increasing, we add a revision number that we "
46830 "increase each time we upgrade to a newer snapshot. The resulting version "
46831 "string looks like this:"
46832 msgstr ""
46833
46834 #. type: example
46835 #: doc/guix.texi:21849
46836 #, no-wrap
46837 msgid ""
46838 "2.0.11-3.cabba9e\n"
46839 " ^ ^ ^\n"
46840 " | | `-- upstream commit ID\n"
46841 " | |\n"
46842 " | `--- Guix package revision\n"
46843 " |\n"
46844 "latest upstream version\n"
46845 msgstr ""
46846
46847 #. type: Plain text
46848 #: doc/guix.texi:21858
46849 msgid ""
46850 "It is a good idea to strip commit identifiers in the @code{version} field "
46851 "to, say, 7 digits. It avoids an aesthetic annoyance (assuming aesthetics "
46852 "have a role to play here) as well as problems related to OS limits such as "
46853 "the maximum shebang length (127 bytes for the Linux kernel.) It is best to "
46854 "use the full commit identifiers in @code{origin}s, though, to avoid "
46855 "ambiguities. A typical package definition may look like this:"
46856 msgstr ""
46857
46858 #. type: example
46859 #: doc/guix.texi:21874
46860 #, no-wrap
46861 msgid ""
46862 "(define my-package\n"
46863 " (let ((commit \"c3f29bc928d5900971f65965feaae59e1272a3f7\")\n"
46864 " (revision \"1\")) ;Guix package revision\n"
46865 " (package\n"
46866 " (version (git-version \"0.9\" revision commit))\n"
46867 " (source (origin\n"
46868 " (method git-fetch)\n"
46869 " (uri (git-reference\n"
46870 " (url \"git://example.org/my-package.git\")\n"
46871 " (commit commit)))\n"
46872 " (sha256 (base32 \"1mbikn@dots{}\"))\n"
46873 " (file-name (git-file-name name version))))\n"
46874 " ;; @dots{}\n"
46875 " )))\n"
46876 msgstr ""
46877
46878 #. type: cindex
46879 #: doc/guix.texi:21879
46880 #, no-wrap
46881 msgid "package description"
46882 msgstr ""
46883
46884 #. type: cindex
46885 #: doc/guix.texi:21880
46886 #, no-wrap
46887 msgid "package synopsis"
46888 msgstr ""
46889
46890 #. type: Plain text
46891 #: doc/guix.texi:21887
46892 msgid ""
46893 "As we have seen before, each package in GNU@tie{}Guix includes a synopsis "
46894 "and a description (@pxref{Defining Packages}). Synopses and descriptions "
46895 "are important: They are what @command{guix package --search} searches, and a "
46896 "crucial piece of information to help users determine whether a given package "
46897 "suits their needs. Consequently, packagers should pay attention to what "
46898 "goes into them."
46899 msgstr ""
46900
46901 #. type: Plain text
46902 #: doc/guix.texi:21895
46903 msgid ""
46904 "Synopses must start with a capital letter and must not end with a period. "
46905 "They must not start with ``a'' or ``the'', which usually does not bring "
46906 "anything; for instance, prefer ``File-frobbing tool'' over ``A tool that "
46907 "frobs files''. The synopsis should say what the package is---e.g., ``Core "
46908 "GNU utilities (file, text, shell)''---or what it is used for---e.g., the "
46909 "synopsis for GNU@tie{}grep is ``Print lines matching a pattern''."
46910 msgstr ""
46911
46912 #. type: Plain text
46913 #: doc/guix.texi:21905
46914 msgid ""
46915 "Keep in mind that the synopsis must be meaningful for a very wide audience. "
46916 "For example, ``Manipulate alignments in the SAM format'' might make sense "
46917 "for a seasoned bioinformatics researcher, but might be fairly unhelpful or "
46918 "even misleading to a non-specialized audience. It is a good idea to come up "
46919 "with a synopsis that gives an idea of the application domain of the "
46920 "package. In this example, this might give something like ``Manipulate "
46921 "nucleotide sequence alignments'', which hopefully gives the user a better "
46922 "idea of whether this is what they are looking for."
46923 msgstr ""
46924
46925 #. type: Plain text
46926 #: doc/guix.texi:21913
46927 msgid ""
46928 "Descriptions should take between five and ten lines. Use full sentences, "
46929 "and avoid using acronyms without first introducing them. Please avoid "
46930 "marketing phrases such as ``world-leading'', ``industrial-strength'', and "
46931 "``next-generation'', and avoid superlatives like ``the most advanced''---"
46932 "they are not helpful to users looking for a package and may even sound "
46933 "suspicious. Instead, try to be factual, mentioning use cases and features."
46934 msgstr ""
46935
46936 #. type: cindex
46937 #: doc/guix.texi:21914
46938 #, no-wrap
46939 msgid "Texinfo markup, in package descriptions"
46940 msgstr ""
46941
46942 #. type: Plain text
46943 #: doc/guix.texi:21923
46944 msgid ""
46945 "Descriptions can include Texinfo markup, which is useful to introduce "
46946 "ornaments such as @code{@@code} or @code{@@dfn}, bullet lists, or hyperlinks "
46947 "(@pxref{Overview,,, texinfo, GNU Texinfo}). However you should be careful "
46948 "when using some characters for example @samp{@@} and curly braces which are "
46949 "the basic special characters in Texinfo (@pxref{Special Characters,,, "
46950 "texinfo, GNU Texinfo}). User interfaces such as @command{guix package --"
46951 "show} take care of rendering it appropriately."
46952 msgstr ""
46953
46954 #. type: Plain text
46955 #: doc/guix.texi:21929
46956 msgid ""
46957 "Synopses and descriptions are translated by volunteers @uref{http://"
46958 "translationproject.org/domain/guix-packages.html, at the Translation "
46959 "Project} so that as many users as possible can read them in their native "
46960 "language. User interfaces search them and display them in the language "
46961 "specified by the current locale."
46962 msgstr ""
46963
46964 #. type: Plain text
46965 #: doc/guix.texi:21934
46966 msgid ""
46967 "To allow @command{xgettext} to extract them as translatable strings, "
46968 "synopses and descriptions @emph{must be literal strings}. This means that "
46969 "you cannot use @code{string-append} or @code{format} to construct these "
46970 "strings:"
46971 msgstr ""
46972
46973 #. type: lisp
46974 #: doc/guix.texi:21940
46975 #, no-wrap
46976 msgid ""
46977 "(package\n"
46978 " ;; @dots{}\n"
46979 " (synopsis \"This is translatable\")\n"
46980 " (description (string-append \"This is \" \"*not*\" \" translatable.\")))\n"
46981 msgstr ""
46982
46983 #. type: Plain text
46984 #: doc/guix.texi:21948
46985 msgid ""
46986 "Translation is a lot of work so, as a packager, please pay even more "
46987 "attention to your synopses and descriptions as every change may entail "
46988 "additional work for translators. In order to help them, it is possible to "
46989 "make recommendations or instructions visible to them by inserting special "
46990 "comments like this (@pxref{xgettext Invocation,,, gettext, GNU Gettext}):"
46991 msgstr ""
46992
46993 #. type: example
46994 #: doc/guix.texi:21953
46995 #, no-wrap
46996 msgid ""
46997 ";; TRANSLATORS: \"X11 resize-and-rotate\" should not be translated.\n"
46998 "(description \"ARandR is designed to provide a simple visual front end\n"
46999 "for the X11 resize-and-rotate (RandR) extension. @dots{}\")\n"
47000 msgstr ""
47001
47002 #. type: cindex
47003 #: doc/guix.texi:21959
47004 #, no-wrap
47005 msgid "python"
47006 msgstr ""
47007
47008 #. type: Plain text
47009 #: doc/guix.texi:21965
47010 msgid ""
47011 "We currently package Python 2 and Python 3, under the Scheme variable names "
47012 "@code{python-2} and @code{python} as explained in @ref{Version Numbers}. To "
47013 "avoid confusion and naming clashes with other programming languages, it "
47014 "seems desirable that the name of a package for a Python module contains the "
47015 "word @code{python}."
47016 msgstr ""
47017
47018 #. type: Plain text
47019 #: doc/guix.texi:21971
47020 msgid ""
47021 "Some modules are compatible with only one version of Python, others with "
47022 "both. If the package Foo compiles only with Python 3, we name it "
47023 "@code{python-foo}; if it compiles only with Python 2, we name it "
47024 "@code{python2-foo}. If it is compatible with both versions, we create two "
47025 "packages with the corresponding names."
47026 msgstr ""
47027
47028 #. type: Plain text
47029 #: doc/guix.texi:21977
47030 msgid ""
47031 "If a project already contains the word @code{python}, we drop this; for "
47032 "instance, the module python-dateutil is packaged under the names "
47033 "@code{python-dateutil} and @code{python2-dateutil}. If the project name "
47034 "starts with @code{py} (e.g. @code{pytz}), we keep it and prefix it as "
47035 "described above."
47036 msgstr ""
47037
47038 #. type: subsubsection
47039 #: doc/guix.texi:21978
47040 #, no-wrap
47041 msgid "Specifying Dependencies"
47042 msgstr ""
47043
47044 #. type: cindex
47045 #: doc/guix.texi:21979
47046 #, no-wrap
47047 msgid "inputs, for Python packages"
47048 msgstr ""
47049
47050 #. type: Plain text
47051 #: doc/guix.texi:21984
47052 msgid ""
47053 "Dependency information for Python packages is usually available in the "
47054 "package source tree, with varying degrees of accuracy: in the @file{setup."
47055 "py} file, in @file{requirements.txt}, or in @file{tox.ini}."
47056 msgstr ""
47057
47058 #. type: Plain text
47059 #: doc/guix.texi:21990
47060 msgid ""
47061 "Your mission, when writing a recipe for a Python package, is to map these "
47062 "dependencies to the appropriate type of ``input'' (@pxref{package Reference, "
47063 "inputs}). Although the @code{pypi} importer normally does a good job "
47064 "(@pxref{Invoking guix import}), you may want to check the following check "
47065 "list to determine which dependency goes where."
47066 msgstr ""
47067
47068 #. type: itemize
47069 #: doc/guix.texi:21998
47070 msgid ""
47071 "We currently package Python 2 with @code{setuptools} and @code{pip} "
47072 "installed like Python 3.4 has per default. Thus you don't need to specify "
47073 "either of these as an input. @command{guix lint} will warn you if you do."
47074 msgstr ""
47075
47076 #. type: itemize
47077 #: doc/guix.texi:22004
47078 msgid ""
47079 "Python dependencies required at run time go into @code{propagated-inputs}. "
47080 "They are typically defined with the @code{install_requires} keyword in "
47081 "@file{setup.py}, or in the @file{requirements.txt} file."
47082 msgstr ""
47083
47084 #. type: itemize
47085 #: doc/guix.texi:22012
47086 msgid ""
47087 "Python packages required only at build time---e.g., those listed with the "
47088 "@code{setup_requires} keyword in @file{setup.py}---or only for testing---e."
47089 "g., those in @code{tests_require}---go into @code{native-inputs}. The "
47090 "rationale is that (1) they do not need to be propagated because they are not "
47091 "needed at run time, and (2) in a cross-compilation context, it's the "
47092 "``native'' input that we'd want."
47093 msgstr ""
47094
47095 #. type: itemize
47096 #: doc/guix.texi:22016
47097 msgid ""
47098 "Examples are the @code{pytest}, @code{mock}, and @code{nose} test "
47099 "frameworks. Of course if any of these packages is also required at run-"
47100 "time, it needs to go to @code{propagated-inputs}."
47101 msgstr ""
47102
47103 #. type: itemize
47104 #: doc/guix.texi:22021
47105 msgid ""
47106 "Anything that does not fall in the previous categories goes to "
47107 "@code{inputs}, for example programs or C libraries required for building "
47108 "Python packages containing C extensions."
47109 msgstr ""
47110
47111 #. type: itemize
47112 #: doc/guix.texi:22027
47113 msgid ""
47114 "If a Python package has optional dependencies (@code{extras_require}), it is "
47115 "up to you to decide whether to add them or not, based on their usefulness/"
47116 "overhead ratio (@pxref{Submitting Patches, @command{guix size}})."
47117 msgstr ""
47118
47119 #. type: cindex
47120 #: doc/guix.texi:22034
47121 #, no-wrap
47122 msgid "perl"
47123 msgstr ""
47124
47125 #. type: Plain text
47126 #: doc/guix.texi:22045
47127 msgid ""
47128 "Perl programs standing for themselves are named as any other package, using "
47129 "the lowercase upstream name. For Perl packages containing a single class, "
47130 "we use the lowercase class name, replace all occurrences of @code{::} by "
47131 "dashes and prepend the prefix @code{perl-}. So the class @code{XML::Parser} "
47132 "becomes @code{perl-xml-parser}. Modules containing several classes keep "
47133 "their lowercase upstream name and are also prepended by @code{perl-}. Such "
47134 "modules tend to have the word @code{perl} somewhere in their name, which "
47135 "gets dropped in favor of the prefix. For instance, @code{libwww-perl} "
47136 "becomes @code{perl-libwww}."
47137 msgstr ""
47138
47139 #. type: cindex
47140 #: doc/guix.texi:22050
47141 #, no-wrap
47142 msgid "java"
47143 msgstr ""
47144
47145 #. type: Plain text
47146 #: doc/guix.texi:22053
47147 msgid ""
47148 "Java programs standing for themselves are named as any other package, using "
47149 "the lowercase upstream name."
47150 msgstr ""
47151
47152 #. type: Plain text
47153 #: doc/guix.texi:22059
47154 msgid ""
47155 "To avoid confusion and naming clashes with other programming languages, it "
47156 "is desirable that the name of a package for a Java package is prefixed with "
47157 "@code{java-}. If a project already contains the word @code{java}, we drop "
47158 "this; for instance, the package @code{ngsjava} is packaged under the name "
47159 "@code{java-ngs}."
47160 msgstr ""
47161
47162 #. type: Plain text
47163 #: doc/guix.texi:22065
47164 msgid ""
47165 "For Java packages containing a single class or a small class hierarchy, we "
47166 "use the lowercase class name, replace all occurrences of @code{.} by dashes "
47167 "and prepend the prefix @code{java-}. So the class @code{apache.commons.cli} "
47168 "becomes package @code{java-apache-commons-cli}."
47169 msgstr ""
47170
47171 #. type: Plain text
47172 #: doc/guix.texi:22076
47173 msgid ""
47174 "For fonts that are in general not installed by a user for typesetting "
47175 "purposes, or that are distributed as part of a larger software package, we "
47176 "rely on the general packaging rules for software; for instance, this applies "
47177 "to the fonts delivered as part of the X.Org system or fonts that are part of "
47178 "TeX Live."
47179 msgstr ""
47180
47181 #. type: Plain text
47182 #: doc/guix.texi:22080
47183 msgid ""
47184 "To make it easier for a user to search for fonts, names for other packages "
47185 "containing only fonts are constructed as follows, independently of the "
47186 "upstream package name."
47187 msgstr ""
47188
47189 #. type: Plain text
47190 #: doc/guix.texi:22088
47191 msgid ""
47192 "The name of a package containing only one font family starts with "
47193 "@code{font-}; it is followed by the foundry name and a dash @code{-} if the "
47194 "foundry is known, and the font family name, in which spaces are replaced by "
47195 "dashes (and as usual, all upper case letters are transformed to lower "
47196 "case). For example, the Gentium font family by SIL is packaged under the "
47197 "name @code{font-sil-gentium}."
47198 msgstr ""
47199
47200 #. type: Plain text
47201 #: doc/guix.texi:22097
47202 msgid ""
47203 "For a package containing several font families, the name of the collection "
47204 "is used in the place of the font family name. For instance, the Liberation "
47205 "fonts consist of three families, Liberation Sans, Liberation Serif and "
47206 "Liberation Mono. These could be packaged separately under the names "
47207 "@code{font-liberation-sans} and so on; but as they are distributed together "
47208 "under a common name, we prefer to package them together as @code{font-"
47209 "liberation}."
47210 msgstr ""
47211
47212 #. type: Plain text
47213 #: doc/guix.texi:22103
47214 msgid ""
47215 "In the case where several formats of the same font family or font collection "
47216 "are packaged separately, a short form of the format, prepended by a dash, is "
47217 "added to the package name. We use @code{-ttf} for TrueType fonts, @code{-"
47218 "otf} for OpenType fonts and @code{-type1} for PostScript Type 1 fonts."
47219 msgstr ""
47220
47221 #. type: cindex
47222 #: doc/guix.texi:22111
47223 #, no-wrap
47224 msgid "bootstrapping"
47225 msgstr ""
47226
47227 #. type: Plain text
47228 #: doc/guix.texi:22121
47229 msgid ""
47230 "Bootstrapping in our context refers to how the distribution gets built "
47231 "``from nothing''. Remember that the build environment of a derivation "
47232 "contains nothing but its declared inputs (@pxref{Introduction}). So there's "
47233 "an obvious chicken-and-egg problem: how does the first package get built? "
47234 "How does the first compiler get compiled? Note that this is a question of "
47235 "interest only to the curious hacker, not to the regular user, so you can "
47236 "shamelessly skip this section if you consider yourself a ``regular user''."
47237 msgstr ""
47238
47239 #. type: cindex
47240 #: doc/guix.texi:22122 doc/guix.texi:22244
47241 #, no-wrap
47242 msgid "bootstrap binaries"
47243 msgstr ""
47244
47245 #. type: Plain text
47246 #: doc/guix.texi:22132
47247 msgid ""
47248 "The GNU system is primarily made of C code, with libc at its core. The GNU "
47249 "build system itself assumes the availability of a Bourne shell and command-"
47250 "line tools provided by GNU Coreutils, Awk, Findutils, `sed', and `grep'. "
47251 "Furthermore, build programs---programs that run @code{./configure}, "
47252 "@code{make}, etc.---are written in Guile Scheme (@pxref{Derivations}). "
47253 "Consequently, to be able to build anything at all, from scratch, Guix relies "
47254 "on pre-built binaries of Guile, GCC, Binutils, libc, and the other packages "
47255 "mentioned above---the @dfn{bootstrap binaries}."
47256 msgstr ""
47257
47258 #. type: Plain text
47259 #: doc/guix.texi:22135
47260 msgid ""
47261 "These bootstrap binaries are ``taken for granted'', though we can also re-"
47262 "create them if needed (more on that later)."
47263 msgstr ""
47264
47265 #. type: unnumberedsubsec
47266 #: doc/guix.texi:22136
47267 #, no-wrap
47268 msgid "Preparing to Use the Bootstrap Binaries"
47269 msgstr ""
47270
47271 #. type: Plain text
47272 #: doc/guix.texi:22141
47273 msgid ""
47274 "@image{images/bootstrap-graph,6in,,Dependency graph of the early bootstrap "
47275 "derivations}"
47276 msgstr ""
47277
47278 #. type: Plain text
47279 #: doc/guix.texi:22146
47280 msgid ""
47281 "The figure above shows the very beginning of the dependency graph of the "
47282 "distribution, corresponding to the package definitions of the @code{(gnu "
47283 "packages bootstrap)} module. A similar figure can be generated with "
47284 "@command{guix graph} (@pxref{Invoking guix graph}), along the lines of:"
47285 msgstr ""
47286
47287 #. type: example
47288 #: doc/guix.texi:22151
47289 #, no-wrap
47290 msgid ""
47291 "guix graph -t derivation \\\n"
47292 " -e '(@@@@ (gnu packages bootstrap) %bootstrap-gcc)' \\\n"
47293 " | dot -Tps > t.ps\n"
47294 msgstr ""
47295
47296 #. type: Plain text
47297 #: doc/guix.texi:22160
47298 msgid ""
47299 "At this level of detail, things are slightly complex. First, Guile itself "
47300 "consists of an ELF executable, along with many source and compiled Scheme "
47301 "files that are dynamically loaded when it runs. This gets stored in the "
47302 "@file{guile-2.0.7.tar.xz} tarball shown in this graph. This tarball is part "
47303 "of Guix's ``source'' distribution, and gets inserted into the store with "
47304 "@code{add-to-store} (@pxref{The Store})."
47305 msgstr ""
47306
47307 #. type: Plain text
47308 #: doc/guix.texi:22169
47309 msgid ""
47310 "But how do we write a derivation that unpacks this tarball and adds it to "
47311 "the store? To solve this problem, the @code{guile-bootstrap-2.0.drv} "
47312 "derivation---the first one that gets built---uses @code{bash} as its "
47313 "builder, which runs @code{build-bootstrap-guile.sh}, which in turn calls "
47314 "@code{tar} to unpack the tarball. Thus, @file{bash}, @file{tar}, @file{xz}, "
47315 "and @file{mkdir} are statically-linked binaries, also part of the Guix "
47316 "source distribution, whose sole purpose is to allow the Guile tarball to be "
47317 "unpacked."
47318 msgstr ""
47319
47320 #. type: Plain text
47321 #: doc/guix.texi:22181
47322 msgid ""
47323 "Once @code{guile-bootstrap-2.0.drv} is built, we have a functioning Guile "
47324 "that can be used to run subsequent build programs. Its first task is to "
47325 "download tarballs containing the other pre-built binaries---this is what the "
47326 "@code{.tar.xz.drv} derivations do. Guix modules such as @code{ftp-client."
47327 "scm} are used for this purpose. The @code{module-import.drv} derivations "
47328 "import those modules in a directory in the store, using the original "
47329 "layout. The @code{module-import-compiled.drv} derivations compile those "
47330 "modules, and write them in an output directory with the right layout. This "
47331 "corresponds to the @code{#:modules} argument of @code{build-expression-"
47332 ">derivation} (@pxref{Derivations})."
47333 msgstr ""
47334
47335 #. type: Plain text
47336 #: doc/guix.texi:22185
47337 msgid ""
47338 "Finally, the various tarballs are unpacked by the derivations @code{gcc-"
47339 "bootstrap-0.drv}, @code{glibc-bootstrap-0.drv}, etc., at which point we have "
47340 "a working C tool chain."
47341 msgstr ""
47342
47343 #. type: unnumberedsubsec
47344 #: doc/guix.texi:22187
47345 #, no-wrap
47346 msgid "Building the Build Tools"
47347 msgstr ""
47348
47349 #. type: Plain text
47350 #: doc/guix.texi:22196
47351 msgid ""
47352 "Bootstrapping is complete when we have a full tool chain that does not "
47353 "depend on the pre-built bootstrap tools discussed above. This no-dependency "
47354 "requirement is verified by checking whether the files of the final tool "
47355 "chain contain references to the @file{/gnu/store} directories of the "
47356 "bootstrap inputs. The process that leads to this ``final'' tool chain is "
47357 "described by the package definitions found in the @code{(gnu packages "
47358 "commencement)} module."
47359 msgstr ""
47360
47361 #. type: Plain text
47362 #: doc/guix.texi:22203
47363 msgid ""
47364 "The @command{guix graph} command allows us to ``zoom out'' compared to the "
47365 "graph above, by looking at the level of package objects instead of "
47366 "individual derivations---remember that a package may translate to several "
47367 "derivations, typically one derivation to download its source, one to build "
47368 "the Guile modules it needs, and one to actually build the package from "
47369 "source. The command:"
47370 msgstr ""
47371
47372 #. type: example
47373 #: doc/guix.texi:22208
47374 #, no-wrap
47375 msgid ""
47376 "guix graph -t bag \\\n"
47377 " -e '(@@@@ (gnu packages commencement)\n"
47378 " glibc-final-with-bootstrap-bash)' | dot -Tps > t.ps\n"
47379 msgstr ""
47380
47381 #. type: Plain text
47382 #: doc/guix.texi:22215
47383 msgid ""
47384 "produces the dependency graph leading to the ``final'' C "
47385 "library@footnote{You may notice the @code{glibc-intermediate} label, "
47386 "suggesting that it is not @emph{quite} final, but as a good approximation, "
47387 "we will consider it final.}, depicted below."
47388 msgstr ""
47389
47390 #. type: Plain text
47391 #: doc/guix.texi:22217
47392 msgid ""
47393 "@image{images/bootstrap-packages,6in,,Dependency graph of the early packages}"
47394 msgstr ""
47395
47396 #. type: Plain text
47397 #: doc/guix.texi:22223
47398 msgid ""
47399 "The first tool that gets built with the bootstrap binaries is GNU@tie{}"
47400 "Make---noted @code{make-boot0} above---which is a prerequisite for all the "
47401 "following packages. From there Findutils and Diffutils get built."
47402 msgstr ""
47403
47404 #. type: Plain text
47405 #: doc/guix.texi:22228
47406 msgid ""
47407 "Then come the first-stage Binutils and GCC, built as pseudo cross tools---i."
47408 "e., with @code{--target} equal to @code{--host}. They are used to build "
47409 "libc. Thanks to this cross-build trick, this libc is guaranteed not to hold "
47410 "any reference to the initial tool chain."
47411 msgstr ""
47412
47413 #. type: Plain text
47414 #: doc/guix.texi:22234
47415 msgid ""
47416 "From there the final Binutils and GCC (not shown above) are built. GCC uses "
47417 "@code{ld} from the final Binutils, and links programs against the just-built "
47418 "libc. This tool chain is used to build the other packages used by Guix and "
47419 "by the GNU Build System: Guile, Bash, Coreutils, etc."
47420 msgstr ""
47421
47422 #. type: Plain text
47423 #: doc/guix.texi:22240
47424 msgid ""
47425 "And voilà! At this point we have the complete set of build tools that the "
47426 "GNU Build System expects. These are in the @code{%final-inputs} variable of "
47427 "the @code{(gnu packages commencement)} module, and are implicitly used by "
47428 "any package that uses @code{gnu-build-system} (@pxref{Build Systems, "
47429 "@code{gnu-build-system}})."
47430 msgstr ""
47431
47432 #. type: unnumberedsubsec
47433 #: doc/guix.texi:22242
47434 #, no-wrap
47435 msgid "Building the Bootstrap Binaries"
47436 msgstr ""
47437
47438 #. type: Plain text
47439 #: doc/guix.texi:22249
47440 msgid ""
47441 "Because the final tool chain does not depend on the bootstrap binaries, "
47442 "those rarely need to be updated. Nevertheless, it is useful to have an "
47443 "automated way to produce them, should an update occur, and this is what the "
47444 "@code{(gnu packages make-bootstrap)} module provides."
47445 msgstr ""
47446
47447 #. type: Plain text
47448 #: doc/guix.texi:22253
47449 msgid ""
47450 "The following command builds the tarballs containing the bootstrap binaries "
47451 "(Guile, Binutils, GCC, libc, and a tarball containing a mixture of Coreutils "
47452 "and other basic command-line tools):"
47453 msgstr ""
47454
47455 #. type: example
47456 #: doc/guix.texi:22256
47457 #, no-wrap
47458 msgid "guix build bootstrap-tarballs\n"
47459 msgstr ""
47460
47461 #. type: Plain text
47462 #: doc/guix.texi:22261
47463 msgid ""
47464 "The generated tarballs are those that should be referred to in the "
47465 "@code{(gnu packages bootstrap)} module mentioned at the beginning of this "
47466 "section."
47467 msgstr ""
47468
47469 #. type: Plain text
47470 #: doc/guix.texi:22267
47471 msgid ""
47472 "Still here? Then perhaps by now you've started to wonder: when do we reach a "
47473 "fixed point? That is an interesting question! The answer is unknown, but if "
47474 "you would like to investigate further (and have significant computational "
47475 "and storage resources to do so), then let us know."
47476 msgstr ""
47477
47478 #. type: unnumberedsubsec
47479 #: doc/guix.texi:22268
47480 #, no-wrap
47481 msgid "Reducing the Set of Bootstrap Binaries"
47482 msgstr ""
47483
47484 #. type: Plain text
47485 #: doc/guix.texi:22276
47486 msgid ""
47487 "Our bootstrap binaries currently include GCC, Guile, etc. That's a lot of "
47488 "binary code! Why is that a problem? It's a problem because these big chunks "
47489 "of binary code are practically non-auditable, which makes it hard to "
47490 "establish what source code produced them. Every unauditable binary also "
47491 "leaves us vulnerable to compiler backdoors as described by Ken Thompson in "
47492 "the 1984 paper @emph{Reflections on Trusting Trust}."
47493 msgstr ""
47494
47495 #. type: Plain text
47496 #: doc/guix.texi:22282
47497 msgid ""
47498 "This is mitigated by the fact that our bootstrap binaries were generated "
47499 "from an earlier Guix revision. Nevertheless it lacks the level of "
47500 "transparency that we get in the rest of the package dependency graph, where "
47501 "Guix always gives us a source-to-binary mapping. Thus, our goal is to "
47502 "reduce the set of bootstrap binaries to the bare minimum."
47503 msgstr ""
47504
47505 #. type: Plain text
47506 #: doc/guix.texi:22288
47507 msgid ""
47508 "The @uref{http://bootstrappable.org, Bootstrappable.org web site} lists on-"
47509 "going projects to do that. One of these is about replacing the bootstrap "
47510 "GCC with a sequence of assemblers, interpreters, and compilers of increasing "
47511 "complexity, which could be built from source starting from a simple and "
47512 "auditable assembler. Your help is welcome!"
47513 msgstr ""
47514
47515 #. type: section
47516 #: doc/guix.texi:22291
47517 #, no-wrap
47518 msgid "Porting to a New Platform"
47519 msgstr ""
47520
47521 #. type: Plain text
47522 #: doc/guix.texi:22300
47523 msgid ""
47524 "As discussed above, the GNU distribution is self-contained, and self-"
47525 "containment is achieved by relying on pre-built ``bootstrap "
47526 "binaries'' (@pxref{Bootstrapping}). These binaries are specific to an "
47527 "operating system kernel, CPU architecture, and application binary interface "
47528 "(ABI). Thus, to port the distribution to a platform that is not yet "
47529 "supported, one must build those bootstrap binaries, and update the "
47530 "@code{(gnu packages bootstrap)} module to use them on that platform."
47531 msgstr ""
47532
47533 #. type: Plain text
47534 #: doc/guix.texi:22305
47535 msgid ""
47536 "Fortunately, Guix can @emph{cross compile} those bootstrap binaries. When "
47537 "everything goes well, and assuming the GNU tool chain supports the target "
47538 "platform, this can be as simple as running a command like this one:"
47539 msgstr ""
47540
47541 #. type: example
47542 #: doc/guix.texi:22308
47543 #, no-wrap
47544 msgid "guix build --target=armv5tel-linux-gnueabi bootstrap-tarballs\n"
47545 msgstr ""
47546
47547 #. type: Plain text
47548 #: doc/guix.texi:22315
47549 msgid ""
47550 "For this to work, the @code{glibc-dynamic-linker} procedure in @code{(gnu "
47551 "packages bootstrap)} must be augmented to return the right file name for "
47552 "libc's dynamic linker on that platform; likewise, @code{system->linux-"
47553 "architecture} in @code{(gnu packages linux)} must be taught about the new "
47554 "platform."
47555 msgstr ""
47556
47557 #. type: Plain text
47558 #: doc/guix.texi:22324
47559 msgid ""
47560 "Once these are built, the @code{(gnu packages bootstrap)} module needs to be "
47561 "updated to refer to these binaries on the target platform. That is, the "
47562 "hashes and URLs of the bootstrap tarballs for the new platform must be added "
47563 "alongside those of the currently supported platforms. The bootstrap Guile "
47564 "tarball is treated specially: it is expected to be available locally, and "
47565 "@file{gnu/local.mk} has rules do download it for the supported "
47566 "architectures; a rule for the new platform must be added as well."
47567 msgstr ""
47568
47569 #. type: Plain text
47570 #: doc/guix.texi:22333
47571 msgid ""
47572 "In practice, there may be some complications. First, it may be that the "
47573 "extended GNU triplet that specifies an ABI (like the @code{eabi} suffix "
47574 "above) is not recognized by all the GNU tools. Typically, glibc recognizes "
47575 "some of these, whereas GCC uses an extra @code{--with-abi} configure flag "
47576 "(see @code{gcc.scm} for examples of how to handle this). Second, some of "
47577 "the required packages could fail to build for that platform. Lastly, the "
47578 "generated binaries could be broken for some reason."
47579 msgstr ""
47580
47581 #. type: include
47582 #: doc/guix.texi:22335
47583 #, no-wrap
47584 msgid "contributing.texi"
47585 msgstr "contributing.fr.texi"
47586
47587 #. type: Plain text
47588 #: doc/guix.texi:22348
47589 msgid ""
47590 "Guix is based on the @uref{http://nixos.org/nix/, Nix package manager}, "
47591 "which was designed and implemented by Eelco Dolstra, with contributions from "
47592 "other people (see the @file{nix/AUTHORS} file in Guix.) Nix pioneered "
47593 "functional package management, and promoted unprecedented features, such as "
47594 "transactional package upgrades and rollbacks, per-user profiles, and "
47595 "referentially transparent build processes. Without this work, Guix would "
47596 "not exist."
47597 msgstr ""
47598
47599 #. type: Plain text
47600 #: doc/guix.texi:22351
47601 msgid ""
47602 "The Nix-based software distributions, Nixpkgs and NixOS, have also been an "
47603 "inspiration for Guix."
47604 msgstr ""
47605
47606 #. type: Plain text
47607 #: doc/guix.texi:22357
47608 msgid ""
47609 "GNU@tie{}Guix itself is a collective work with contributions from a number "
47610 "of people. See the @file{AUTHORS} file in Guix for more information on "
47611 "these fine people. The @file{THANKS} file lists people who have helped by "
47612 "reporting bugs, taking care of the infrastructure, providing artwork and "
47613 "themes, making suggestions, and more---thank you!"
47614 msgstr ""
47615
47616 #. type: cindex
47617 #: doc/guix.texi:22362
47618 #, no-wrap
47619 msgid "license, GNU Free Documentation License"
47620 msgstr "license, GNU Free Documentation License"
47621
47622 #. type: include
47623 #: doc/guix.texi:22363
47624 #, no-wrap
47625 msgid "fdl-1.3.texi"
47626 msgstr "fdl-1.3.texi"