-----BEGIN PGP PUBLIC KEY BLOCK----- mQINBFPo4hABEAC6adMaPpwpJiqG/Ggk0YoOdUeRX5GOOpzR2XA/SoFZu0XWuhgJ InAARRKI6K9IO3eHCWIjeKvY+lyrxmNFlXx0Y7OH/BVK9GeL65f7996R2dCqSuhj 5K6dxUzqFSHnpSDkM3t4v8L7vU8XKlW99DTBJT45RKyIVlSj7Ye6nsCxrMIRShbE eF5ksXAihBfXGxW5mozjvAlJCTQPoXPGb+jR3l8CRY4JiyvqU9IszBvkRbywC1MQ sCoEOGcJsKbHnSiy+dt6QaZKvCr5qSwcEqKzfNAEKRyGouQTwwAak7FvZXw8GcVL U/MYGlQ1ISAzwdYxGCIM4l/4VyI38c6TbspIETR713IMsXQAn5HSxo1SZWe2wuQq BgjGES7UpphzV4DIpBTwv0Z8oXG9LclxkLM/ndkvMs4RX4aPqRPrJ0raJ6awfT3D bAwIMi9iqqbaRPIeVKgUtlB4IF8Lg8kyy3QuimmZjRZJD9l8MCYznwa1n/LbQi4V w0Yvbd6R/6avaLqynU5K7SmiLYLamzOdDJR0kFEGD6nB6tjg6/kV81vV50qf8XIh 4wEpW0Hu7U+q1IBA4baaVRb2JrV0gsMcE2ym6RA94OAi8a1Q+0dZ4V70yvwsDDR5 2yRmh7w3e+TEEAsXLA2frcBo0QeBdttSmg8jyKAn8XwnzAKc6XrVg+GJfQARAQAB tB9MdWRvdmljIENvdXJ0w6hzIDxsdWRvQGdudS5vcmc+iQJZBBMBAgBDAhsDBwsJ CAcDAgEGFQgCCQoLBBYCAwECHgECF4ACGQEWIQQ85GRVioT9xp20DPsJCxGZPZrr tQUCXMa8zAUJCTojvAAKCRAJCxGZPZrrtSScEACtLtIhNsCHPvD3zFo7Jajp/5rd 7a0hwyJSpwW7pq3VCKkwvIzQ90Ce50FyE7CX7Qvk
aboutsummaryrefslogtreecommitdiff
# German translations for the Guix Cookbook.
# Copyright (C) 2019, 2020 the authors of Guix (msgids) and the following authors (msgstr)
# This file is distributed under the same license as the guix manual package.
# Florian Pelz <pelzflorian@pelzflorian.de>, 2020, 2021, 2022, 2023, 2024.
# Jens Maucher <jensmaucher@gmail.com>, 2023.
msgid ""
msgstr ""
"Project-Id-Version: guix 1.0.1.4876-09145-dirty\n"
"Report-Msgid-Bugs-To: bug-guix@gnu.org\n"
"POT-Creation-Date: 2024-09-10 03:18+0000\n"
"PO-Revision-Date: 2024-10-23 23:55+0000\n"
"Last-Translator: Florian Pelz <pelzflorian@pelzflorian.de>\n"
"Language-Team: German <https://translate.fedoraproject.org/projects/guix/documentation-cookbook/de/>\n"
"Language: de\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.7.2\n"

#. type: Plain text
#: guix-git/doc/guix-cookbook.texi:7
msgid "@documentencoding UTF-8"
msgstr ""
"@documentencoding UTF-8\n"
"@documentlanguage de\n"
"@frenchspacing on"

#. type: top
#: guix-git/doc/guix-cookbook.texi:7 guix-git/doc/guix-cookbook.texi:43
#: guix-git/doc/guix-cookbook.texi:57
#, no-wrap
msgid "GNU Guix Cookbook"
msgstr "GNU-Guix-Kochbuch"

#. type: copying
#: guix-git/doc/guix-cookbook.texi:28
msgid "Copyright @copyright{} 2019, 2022 Ricardo Wurmus@* Copyright @copyright{} 2019 Efraim Flashner@* Copyright @copyright{} 2019 Pierre Neidhardt@* Copyright @copyright{} 2020 Oleg Pykhalov@* Copyright @copyright{} 2020 Matthew Brooks@* Copyright @copyright{} 2020 Marcin Karpezo@* Copyright @copyright{} 2020 Brice Waegeneire@* Copyright @copyright{} 2020 André Batista@* Copyright @copyright{} 2020 Christine Lemmer-Webber@* Copyright @copyright{} 2021 Joshua Branson@* Copyright @copyright{} 2022, 2023 Maxim Cournoyer@* Copyright @copyright{} 2023-2024 Ludovic Courtès@* Copyright @copyright{} 2023 Thomas Ieong@* Copyright @copyright{} 2024 Florian Pelz@*"
msgstr "Copyright @copyright{} 2019, 2022 Ricardo Wurmus@* Copyright @copyright{} 2019 Efraim Flashner@* Copyright @copyright{} 2019 Pierre Neidhardt@* Copyright @copyright{} 2020 Oleg Pykhalov@* Copyright @copyright{} 2020 Matthew Brooks@* Copyright @copyright{} 2020 Marcin Karpezo@* Copyright @copyright{} 2020 Brice Waegeneire@* Copyright @copyright{} 2020 André Batista@* Copyright @copyright{} 2020 Christine Lemmer-Webber@* Copyright @copyright{} 2021 Joshua Branson@* Copyright @copyright{} 2022, 2023 Maxim Cournoyer@* Copyright @copyright{} 2023-2024 Ludovic Courtès@* Copyright @copyright{} 2023 Thomas Ieong@* Copyright @copyright{} 2024 Florian Pelz@*"

#. type: copying
#: guix-git/doc/guix-cookbook.texi:35
msgid "Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.  A copy of the license is included in the section entitled ``GNU Free Documentation License''."
msgstr "Es ist Ihnen gestattet, dieses Dokument zu vervielfältigen, weiterzugeben und/oder zu verändern, unter den Bedingungen der GNU Free Documentation License, entweder gemäß Version 1.3 der Lizenz oder (nach Ihrer Option) einer späteren Version, die von der Free Software Foundation veröffentlicht wurde, ohne unveränderliche Abschnitte, ohne vorderen Umschlagtext und ohne hinteren Umschlagtext. Eine Kopie der Lizenz finden Sie im Abschnitt mit dem Titel „GNU-Lizenz für freie Dokumentation“."

#. type: dircategory
#: guix-git/doc/guix-cookbook.texi:37
#, no-wrap
msgid "System administration"
msgstr "Systemadministration"

#. type: menuentry
#: guix-git/doc/guix-cookbook.texi:40
msgid "Guix cookbook: (guix-cookbook)"
msgstr "Guix-Kochbuch: (guix-cookbook.de)"

#. type: menuentry
#: guix-git/doc/guix-cookbook.texi:40
msgid "Tutorials and examples for GNU Guix."
msgstr "Anleitungen und Beispiele für GNU Guix."

#. type: subtitle
#: guix-git/doc/guix-cookbook.texi:44
#, no-wrap
msgid "Tutorials and examples for using the GNU Guix Functional Package Manager"
msgstr "Anleitungen und Beispiele, wie man den funktionalen Paketmanager GNU Guix benutzt"

#. type: author
#: guix-git/doc/guix-cookbook.texi:45
#, no-wrap
msgid "The GNU Guix Developers"
msgstr "Die Entwickler von GNU Guix"

#. type: node
#: guix-git/doc/guix-cookbook.texi:56
#, no-wrap
msgid "Top"
msgstr "Top"

#. type: Plain text
#: guix-git/doc/guix-cookbook.texi:63
msgid "This document presents tutorials and detailed examples for GNU@tie{}Guix, a functional package management tool written for the GNU system.  Please @pxref{Top,,, guix, GNU Guix reference manual} for details about the system, its API, and related concepts."
msgstr "Dieses Dokument stellt Anleitungen und detaillierte Beispiele vor, wie man GNU@tie{}Guix benutzt, ein Werkzeug zur funktionalen Paketverwaltung, das für das GNU-System geschrieben wurde. Bitte lesen Sie Details zum System, seinen Programmierschnittstellen und ähnlichen Konzepten im @ref{Top,,, guix.de, Referenzhandbuch zu GNU Guix} nach."

#.  You can replace the following paragraph with information on
#. type: Plain text
#: guix-git/doc/guix-cookbook.texi:78
msgid "This manual is also available in French (@pxref{Top,,, guix-cookbook.fr, Livre de recettes de GNU Guix}), German (@pxref{Top,,, guix-cookbook.de, GNU-Guix-Kochbuch}), Korean (@pxref{Top,,, guix-cookbook.ko, GNU Guix 쿡북}), Brazilian Portuguese (@pxref{Top,,, guix-cookbook.pt_BR, Livro de receitas do GNU Guix}), Slovak (@pxref{Top,,, guix-cookbook.sk, Receptár GNU Guix}), and Swedish (@pxref{Top,,, guix-cookbook.sv, Kokbok för GNU Guix}).  If you would like to translate this document in your native language, consider joining @uref{https://translate.fedoraproject.org/projects/guix/documentation-cookbook, Weblate} (@pxref{Translating Guix,,, guix, GNU Guix reference manual})."
msgstr "Dieses Handbuch ist auch auf Englisch (siehe @ref{Top,,, guix-cookbook, GNU Guix Cookbook}), auf Französisch (siehe @ref{Top,,, guix-cookbook.fr, Livre de recettes de GNU Guix}), auf Koreanisch (siehe @ref{Top,,, guix-cookbook.ko, GNU Guix 쿡북}), auf Brasilianischem Portugiesisch (siehe @ref{Top,,, guix-cookbook.pt_BR, Livro de receitas do GNU Guix}), auf Slowakisch (siehe @ref{Top,,, guix-cookbook.sk, Receptár GNU Guix}) und auf Schwedisch (@pxref{Top,,, guix-cookbook.sv, Kokbok för GNU Guix}) verfügbar. Wenn Sie dieses Dokument in Ihre eigene Sprache übersetzen möchten, dann sind Sie bei @uref{https://translate.fedoraproject.org/projects/guix/documentation-cookbook, Weblate} herzlich willkommen."

#. type: chapter
#: guix-git/doc/guix-cookbook.texi:89 guix-git/doc/guix-cookbook.texi:98
#: guix-git/doc/guix-cookbook.texi:206 guix-git/doc/guix-cookbook.texi:207
#, no-wrap
msgid "Scheme tutorials"
msgstr "Anleitungen zu Scheme"

#. type: menuentry
#: guix-git/doc/guix-cookbook.texi:89
msgid "Meet your new favorite language!"
msgstr "Lernen Sie Ihre neue Lieblingssprache kennen!"

#. type: chapter
#: guix-git/doc/guix-cookbook.texi:89 guix-git/doc/guix-cookbook.texi:102
#: guix-git/doc/guix-cookbook.texi:499 guix-git/doc/guix-cookbook.texi:500
#, no-wrap
msgid "Packaging"
msgstr "Pakete schreiben"

#. type: menuentry
#: guix-git/doc/guix-cookbook.texi:89
msgid "Packaging tutorials"
msgstr "Wie man eigene Pakete verfasst."

#. type: chapter
#: guix-git/doc/guix-cookbook.texi:89 guix-git/doc/guix-cookbook.texi:129
#: guix-git/doc/guix-cookbook.texi:1582 guix-git/doc/guix-cookbook.texi:1583
#, no-wrap
msgid "System Configuration"
msgstr "Systemkonfiguration"

#. type: menuentry
#: guix-git/doc/guix-cookbook.texi:89
msgid "Customizing the GNU System"
msgstr "Das GNU-System anpassen."

#. type: chapter
#: guix-git/doc/guix-cookbook.texi:89 guix-git/doc/guix-cookbook.texi:154
#: guix-git/doc/guix-cookbook.texi:3322 guix-git/doc/guix-cookbook.texi:3323
#, no-wrap
msgid "Containers"
msgstr "Container"

#. type: menuentry
#: guix-git/doc/guix-cookbook.texi:89
msgid "Isolated environments and nested systems"
msgstr "Isolierte Umgebungen und verschachtelte Systeme."

#. type: chapter
#: guix-git/doc/guix-cookbook.texi:89 guix-git/doc/guix-cookbook.texi:164
#: guix-git/doc/guix-cookbook.texi:3725 guix-git/doc/guix-cookbook.texi:3726
#, no-wrap
msgid "Virtual Machines"
msgstr "Virtuelle Maschinen"

#. type: menuentry
#: guix-git/doc/guix-cookbook.texi:89
msgid "Virtual machines usage and configuration"
msgstr "Bedienung und Konfiguration von VM."

#. type: chapter
#: guix-git/doc/guix-cookbook.texi:89 guix-git/doc/guix-cookbook.texi:169
#: guix-git/doc/guix-cookbook.texi:3958 guix-git/doc/guix-cookbook.texi:3959
#, no-wrap
msgid "Advanced package management"
msgstr "Fortgeschrittene Paketverwaltung"

# angelehnt an Alle Macht dem Volke in Übersetzung von Die Mutter
#. type: menuentry
#: guix-git/doc/guix-cookbook.texi:89
msgid "Power to the users!"
msgstr "Alle Macht den Nutzern!"

#. type: chapter
#: guix-git/doc/guix-cookbook.texi:89 guix-git/doc/guix-cookbook.texi:181
#: guix-git/doc/guix-cookbook.texi:4366 guix-git/doc/guix-cookbook.texi:4367
#, no-wrap
msgid "Software Development"
msgstr "Software-Entwicklung"

#. type: menuentry
#: guix-git/doc/guix-cookbook.texi:89
msgid "Environments, continuous integration, etc."
msgstr "Umgebungen, kontinuierliche Integration usw."

#. type: chapter
#: guix-git/doc/guix-cookbook.texi:89 guix-git/doc/guix-cookbook.texi:191
#: guix-git/doc/guix-cookbook.texi:5015 guix-git/doc/guix-cookbook.texi:5016
#, no-wrap
msgid "Environment management"
msgstr "Umgebungen verwalten"

#. type: menuentry
#: guix-git/doc/guix-cookbook.texi:89
msgid "Control environment"
msgstr "Umgebungen festlegen."

#. type: chapter
#: guix-git/doc/guix-cookbook.texi:89 guix-git/doc/guix-cookbook.texi:195
#: guix-git/doc/guix-cookbook.texi:5141 guix-git/doc/guix-cookbook.texi:5142
#, no-wrap
msgid "Installing Guix on a Cluster"
msgstr "Auf einem Rechencluster installieren"

#. type: menuentry
#: guix-git/doc/guix-cookbook.texi:89
msgid "High-performance computing."
msgstr "Hochleistungsrechnen mit Guix."

#. type: chapter
#: guix-git/doc/guix-cookbook.texi:93 guix-git/doc/guix-cookbook.texi:5529
#: guix-git/doc/guix-cookbook.texi:5530
#, no-wrap
msgid "Acknowledgments"
msgstr "Danksagungen"

#. type: menuentry
#: guix-git/doc/guix-cookbook.texi:93
msgid "Thanks!"
msgstr "Danke!"

#. type: appendix
#: guix-git/doc/guix-cookbook.texi:93 guix-git/doc/guix-cookbook.texi:5556
#: guix-git/doc/guix-cookbook.texi:5557
#, no-wrap
msgid "GNU Free Documentation License"
msgstr "GNU-Lizenz für freie Dokumentation"

#. type: menuentry
#: guix-git/doc/guix-cookbook.texi:93
msgid "The license of this document."
msgstr "Die Lizenz dieses Dokuments."

#. type: unnumbered
#: guix-git/doc/guix-cookbook.texi:93 guix-git/doc/guix-cookbook.texi:5562
#: guix-git/doc/guix-cookbook.texi:5563
#, no-wrap
msgid "Concept Index"
msgstr "Konzeptverzeichnis"

#. type: menuentry
#: guix-git/doc/guix-cookbook.texi:93
msgid "Concepts."
msgstr "Konzepte."

#. type: menuentry
#: guix-git/doc/guix-cookbook.texi:96
msgid "--- The Detailed Node Listing ---"
msgstr "--- Detaillierte Liste der Knoten ---"

#. type: section
#: guix-git/doc/guix-cookbook.texi:100 guix-git/doc/guix-cookbook.texi:222
#: guix-git/doc/guix-cookbook.texi:224 guix-git/doc/guix-cookbook.texi:225
#, no-wrap
msgid "A Scheme Crash Course"
msgstr "Ein Schnellkurs in Scheme"

#. type: section
#: guix-git/doc/guix-cookbook.texi:104 guix-git/doc/guix-cookbook.texi:106
#: guix-git/doc/guix-cookbook.texi:511 guix-git/doc/guix-cookbook.texi:513
#: guix-git/doc/guix-cookbook.texi:514
#, no-wrap
msgid "Packaging Tutorial"
msgstr "Anleitung zum Paketeschreiben"

#. type: menuentry
#: guix-git/doc/guix-cookbook.texi:104 guix-git/doc/guix-cookbook.texi:511
msgid "A tutorial on how to add packages to Guix."
msgstr "Eine Anleitung, wie Sie Pakete zu Guix hinzufügen."

#. type: subsection
#: guix-git/doc/guix-cookbook.texi:115 guix-git/doc/guix-cookbook.texi:561
#: guix-git/doc/guix-cookbook.texi:563 guix-git/doc/guix-cookbook.texi:564
#, no-wrap
msgid "A ``Hello World'' package"
msgstr "Ein Hallo-Welt-Paket"

#. type: subsection
#: guix-git/doc/guix-cookbook.texi:115 guix-git/doc/guix-cookbook.texi:117
#: guix-git/doc/guix-cookbook.texi:561 guix-git/doc/guix-cookbook.texi:754
#: guix-git/doc/guix-cookbook.texi:755
#, no-wrap
msgid "Setup"
msgstr "Herangehensweisen"

#. type: subsection
#: guix-git/doc/guix-cookbook.texi:115 guix-git/doc/guix-cookbook.texi:561
#: guix-git/doc/guix-cookbook.texi:994 guix-git/doc/guix-cookbook.texi:995
#, no-wrap
msgid "Extended example"
msgstr "Erweitertes Beispiel"

#. type: subsection
#: guix-git/doc/guix-cookbook.texi:115 guix-git/doc/guix-cookbook.texi:561
#: guix-git/doc/guix-cookbook.texi:1398 guix-git/doc/guix-cookbook.texi:1399
#, no-wrap
msgid "Other build systems"
msgstr "Andere Erstellungssysteme"

#. type: subsection
#: guix-git/doc/guix-cookbook.texi:115 guix-git/doc/guix-cookbook.texi:123
#: guix-git/doc/guix-cookbook.texi:561 guix-git/doc/guix-cookbook.texi:1416
#: guix-git/doc/guix-cookbook.texi:1417
#, no-wrap
msgid "Programmable and automated package definition"
msgstr "Programmierbare und automatisierte Paketdefinition"

#. type: subsection
#: guix-git/doc/guix-cookbook.texi:115 guix-git/doc/guix-cookbook.texi:561
#: guix-git/doc/guix-cookbook.texi:1533 guix-git/doc/guix-cookbook.texi:1534
#, no-wrap
msgid "Getting help"
msgstr "Hilfe bekommen"

#. type: subsection
#: guix-git/doc/guix-cookbook.texi:115 guix-git/doc/guix-cookbook.texi:561
#: guix-git/doc/guix-cookbook.texi:1546 guix-git/doc/guix-cookbook.texi:1547
#, no-wrap
msgid "Conclusion"
msgstr "Schlusswort"

#. type: subsection
#: guix-git/doc/guix-cookbook.texi:115 guix-git/doc/guix-cookbook.texi:561
#: guix-git/doc/guix-cookbook.texi:1567 guix-git/doc/guix-cookbook.texi:1568
#, no-wrap
msgid "References"
msgstr "Literaturverzeichnis"

#. type: subsubsection
#: guix-git/doc/guix-cookbook.texi:121 guix-git/doc/guix-cookbook.texi:772
#: guix-git/doc/guix-cookbook.texi:774 guix-git/doc/guix-cookbook.texi:775
#, no-wrap
msgid "Local file"
msgstr "Lokale Datei"

#. type: subsubsection
#: guix-git/doc/guix-cookbook.texi:121 guix-git/doc/guix-cookbook.texi:772
#: guix-git/doc/guix-cookbook.texi:794 guix-git/doc/guix-cookbook.texi:795
#, no-wrap
msgid "Channels"
msgstr "Kanäle"

#. type: subsubsection
#: guix-git/doc/guix-cookbook.texi:121 guix-git/doc/guix-cookbook.texi:772
#: guix-git/doc/guix-cookbook.texi:908 guix-git/doc/guix-cookbook.texi:909
#, no-wrap
msgid "Direct checkout hacking"
msgstr "Direkt am Checkout hacken"

#. type: subsubsection
#: guix-git/doc/guix-cookbook.texi:127 guix-git/doc/guix-cookbook.texi:1428
#: guix-git/doc/guix-cookbook.texi:1430 guix-git/doc/guix-cookbook.texi:1431
#, no-wrap
msgid "Recursive importers"
msgstr "Rekursive Importer"

#. type: subsubsection
#: guix-git/doc/guix-cookbook.texi:127 guix-git/doc/guix-cookbook.texi:1428
#: guix-git/doc/guix-cookbook.texi:1489 guix-git/doc/guix-cookbook.texi:1490
#, no-wrap
msgid "Automatic update"
msgstr "Automatisch aktualisieren"

#. type: subsubsection
#: guix-git/doc/guix-cookbook.texi:127 guix-git/doc/guix-cookbook.texi:1428
#: guix-git/doc/guix-cookbook.texi:1507 guix-git/doc/guix-cookbook.texi:1508
#, no-wrap
msgid "Inheritance"
msgstr "Vererbung"

#. type: section
#: guix-git/doc/guix-cookbook.texi:143 guix-git/doc/guix-cookbook.texi:1606
#: guix-git/doc/guix-cookbook.texi:1608 guix-git/doc/guix-cookbook.texi:1609
#, no-wrap
msgid "Auto-Login to a Specific TTY"
msgstr "Automatisch an virtueller Konsole anmelden"

#. type: menuentry
#: guix-git/doc/guix-cookbook.texi:143 guix-git/doc/guix-cookbook.texi:1606
msgid "Automatically Login a User to a Specific TTY"
msgstr "Benutzer an einem bestimmten TTY automatisch anmelden."

#. type: section
#: guix-git/doc/guix-cookbook.texi:143 guix-git/doc/guix-cookbook.texi:1606
#: guix-git/doc/guix-cookbook.texi:1653 guix-git/doc/guix-cookbook.texi:1654
#, no-wrap
msgid "Customizing the Kernel"
msgstr "Den Kernel anpassen"

#. type: menuentry
#: guix-git/doc/guix-cookbook.texi:143 guix-git/doc/guix-cookbook.texi:1606
msgid "Creating and using a custom Linux kernel on Guix System."
msgstr "Einen eigenen Linux-Kernel auf Guix System erzeugen und benutzen."

#. type: section
#: guix-git/doc/guix-cookbook.texi:143 guix-git/doc/guix-cookbook.texi:1606
#: guix-git/doc/guix-cookbook.texi:1893 guix-git/doc/guix-cookbook.texi:1894
#, no-wrap
msgid "Guix System Image API"
msgstr "Die Image-Schnittstelle von Guix System"

#. type: menuentry
#: guix-git/doc/guix-cookbook.texi:143 guix-git/doc/guix-cookbook.texi:1606
msgid "Customizing images to target specific platforms."
msgstr "Abbilder für bestimmte Plattformen anpassen."

#. type: section
#: guix-git/doc/guix-cookbook.texi:143 guix-git/doc/guix-cookbook.texi:1606
#: guix-git/doc/guix-cookbook.texi:2110 guix-git/doc/guix-cookbook.texi:2111
#, no-wrap
msgid "Using security keys"
msgstr "Sicherheitsschlüssel verwenden"

#. type: menuentry
#: guix-git/doc/guix-cookbook.texi:143 guix-git/doc/guix-cookbook.texi:1606
msgid "How to use security keys with Guix System."
msgstr "Ihre Sicherheitsschlüssel mit Guix System gebrauchen."

#. type: section
#: guix-git/doc/guix-cookbook.texi:143 guix-git/doc/guix-cookbook.texi:1606
#: guix-git/doc/guix-cookbook.texi:2232 guix-git/doc/guix-cookbook.texi:2233
#, no-wrap
msgid "Dynamic DNS mcron job"
msgstr "Dynamisches DNS als mcron-Auftrag"

#. type: menuentry
#: guix-git/doc/guix-cookbook.texi:143 guix-git/doc/guix-cookbook.texi:1606
msgid "Job to update the IP address behind a DuckDNS host name."
msgstr "Mit diesem Auftrag bleibt Ihre IP-Adresse bei DuckDNS aktuell."

#. type: section
#: guix-git/doc/guix-cookbook.texi:143 guix-git/doc/guix-cookbook.texi:1606
#: guix-git/doc/guix-cookbook.texi:2285 guix-git/doc/guix-cookbook.texi:2286
#, no-wrap
msgid "Connecting to Wireguard VPN"
msgstr "Verbinden mit Wireguard VPN"

#. type: menuentry
#: guix-git/doc/guix-cookbook.texi:143 guix-git/doc/guix-cookbook.texi:1606
msgid "Connecting to a Wireguard VPN."
msgstr "Wie man sich mit einem Wireguard-VPN verbindet."

#. type: section
#: guix-git/doc/guix-cookbook.texi:143 guix-git/doc/guix-cookbook.texi:145
#: guix-git/doc/guix-cookbook.texi:1606 guix-git/doc/guix-cookbook.texi:2362
#: guix-git/doc/guix-cookbook.texi:2363
#, no-wrap
msgid "Customizing a Window Manager"
msgstr "Fensterverwalter (Window Manager) anpassen"

#. type: menuentry
#: guix-git/doc/guix-cookbook.texi:143 guix-git/doc/guix-cookbook.texi:1606
msgid "Handle customization of a Window manager on Guix System."
msgstr "Wie man einen Fensterverwalter auf Guix System anpassen kann."

#. type: section
#: guix-git/doc/guix-cookbook.texi:143 guix-git/doc/guix-cookbook.texi:1606
#: guix-git/doc/guix-cookbook.texi:2467 guix-git/doc/guix-cookbook.texi:2468
#, no-wrap
msgid "Running Guix on a Linode Server"
msgstr "Guix auf einem Linode-Server nutzen"

#. type: menuentry
#: guix-git/doc/guix-cookbook.texi:143 guix-git/doc/guix-cookbook.texi:1606
msgid "Running Guix on a Linode Server."
msgstr "Guix auf einem Linode-Server nutzen."

#. type: section
#: guix-git/doc/guix-cookbook.texi:143 guix-git/doc/guix-cookbook.texi:1606
#: guix-git/doc/guix-cookbook.texi:2708 guix-git/doc/guix-cookbook.texi:2709
#, no-wrap
msgid "Running Guix on a Kimsufi Server"
msgstr "Guix auf einem Kimsufi-Server nutzen"

#. type: menuentry
#: guix-git/doc/guix-cookbook.texi:143 guix-git/doc/guix-cookbook.texi:1606
msgid "Running Guix on a Kimsufi Server."
msgstr "Guix auf einem Kimsufi-Server nutzen."

#. type: section
#: guix-git/doc/guix-cookbook.texi:143 guix-git/doc/guix-cookbook.texi:1606
#: guix-git/doc/guix-cookbook.texi:2955 guix-git/doc/guix-cookbook.texi:2956
#, no-wrap
msgid "Setting up a bind mount"
msgstr "Bind-Mounts anlegen"

#. type: menuentry
#: guix-git/doc/guix-cookbook.texi:143 guix-git/doc/guix-cookbook.texi:1606
msgid "Setting up a bind mount in the file-systems definition."
msgstr "Bind-Mounts als Dateisystemdefinition einrichten."

#. type: section
#: guix-git/doc/guix-cookbook.texi:143 guix-git/doc/guix-cookbook.texi:1606
#: guix-git/doc/guix-cookbook.texi:3009 guix-git/doc/guix-cookbook.texi:3010
#, no-wrap
msgid "Getting substitutes from Tor"
msgstr "Substitute über Tor beziehen"

#. type: menuentry
#: guix-git/doc/guix-cookbook.texi:143 guix-git/doc/guix-cookbook.texi:1606
msgid "Configuring Guix daemon to get substitutes through Tor."
msgstr "Den Guix-Daemon konfigurieren, damit er Substitute über Tor lädt."

#. type: section
#: guix-git/doc/guix-cookbook.texi:143 guix-git/doc/guix-cookbook.texi:1606
#: guix-git/doc/guix-cookbook.texi:3073 guix-git/doc/guix-cookbook.texi:3074
#, no-wrap
msgid "Setting up NGINX with Lua"
msgstr "NGINX mit Lua konfigurieren"

#. type: menuentry
#: guix-git/doc/guix-cookbook.texi:143 guix-git/doc/guix-cookbook.texi:1606
msgid "Configuring NGINX web-server to load Lua modules."
msgstr "Den NGINX-Web-Server so einrichten, dass Lua-Module geladen werden."

#. type: section
#: guix-git/doc/guix-cookbook.texi:143 guix-git/doc/guix-cookbook.texi:1606
#: guix-git/doc/guix-cookbook.texi:3130 guix-git/doc/guix-cookbook.texi:3131
#, no-wrap
msgid "Music Server with Bluetooth Audio"
msgstr "Musik-Server mit Bluetooth-Audio"

#. type: menuentry
#: guix-git/doc/guix-cookbook.texi:143 guix-git/doc/guix-cookbook.texi:1606
msgid "Headless music player with Bluetooth output."
msgstr "Musikzentrale ohne Bildschirm mit Bluetooth-Ausgabe."

#. type: subsection
#: guix-git/doc/guix-cookbook.texi:148 guix-git/doc/guix-cookbook.texi:2369
#: guix-git/doc/guix-cookbook.texi:2371 guix-git/doc/guix-cookbook.texi:2372
#, no-wrap
msgid "StumpWM"
msgstr "StumpWM"

#. type: subsection
#: guix-git/doc/guix-cookbook.texi:148 guix-git/doc/guix-cookbook.texi:150
#: guix-git/doc/guix-cookbook.texi:2369 guix-git/doc/guix-cookbook.texi:2419
#: guix-git/doc/guix-cookbook.texi:2420
#, no-wrap
msgid "Session lock"
msgstr "Sitzungen sperren"

#. type: subsubsection
#: guix-git/doc/guix-cookbook.texi:152 guix-git/doc/guix-cookbook.texi:2430
#: guix-git/doc/guix-cookbook.texi:2432 guix-git/doc/guix-cookbook.texi:2433
#, no-wrap
msgid "Xorg"
msgstr "Xorg"

#. type: section
#: guix-git/doc/guix-cookbook.texi:157 guix-git/doc/guix-cookbook.texi:3349
#: guix-git/doc/guix-cookbook.texi:3351 guix-git/doc/guix-cookbook.texi:3352
#, no-wrap
msgid "Guix Containers"
msgstr "Guix-Container"

#. type: menuentry
#: guix-git/doc/guix-cookbook.texi:157 guix-git/doc/guix-cookbook.texi:3349
msgid "Perfectly isolated environments"
msgstr "Völlig isolierte Umgebungen."

#. type: section
#: guix-git/doc/guix-cookbook.texi:157 guix-git/doc/guix-cookbook.texi:159
#: guix-git/doc/guix-cookbook.texi:3349 guix-git/doc/guix-cookbook.texi:3500
#: guix-git/doc/guix-cookbook.texi:3501
#, no-wrap
msgid "Guix System Containers"
msgstr "Container mit Guix System"

#. type: menuentry
#: guix-git/doc/guix-cookbook.texi:157 guix-git/doc/guix-cookbook.texi:3349
msgid "A system inside your system"
msgstr "Ein System in Ihrem System."

#. type: subsection
#: guix-git/doc/guix-cookbook.texi:162 guix-git/doc/guix-cookbook.texi:3535
#: guix-git/doc/guix-cookbook.texi:3537 guix-git/doc/guix-cookbook.texi:3538
#, no-wrap
msgid "A Database Container"
msgstr "Ein Datenbank-Container"

#. type: subsection
#: guix-git/doc/guix-cookbook.texi:162 guix-git/doc/guix-cookbook.texi:3535
#: guix-git/doc/guix-cookbook.texi:3649 guix-git/doc/guix-cookbook.texi:3650
#, no-wrap
msgid "Container Networking"
msgstr "Netzwerkverbindungen im Container"

#. type: section
#: guix-git/doc/guix-cookbook.texi:167 guix-git/doc/guix-cookbook.texi:3738
#: guix-git/doc/guix-cookbook.texi:3740 guix-git/doc/guix-cookbook.texi:3741
#, no-wrap
msgid "Network bridge for QEMU"
msgstr "Netzwerkbrücke für QEMU"

#. type: section
#: guix-git/doc/guix-cookbook.texi:167 guix-git/doc/guix-cookbook.texi:3738
#: guix-git/doc/guix-cookbook.texi:3863 guix-git/doc/guix-cookbook.texi:3864
#, no-wrap
msgid "Routed network for libvirt"
msgstr "Netzwerk-Routing anschalten in libvirt"

#. type: section
#: guix-git/doc/guix-cookbook.texi:171 guix-git/doc/guix-cookbook.texi:173
#: guix-git/doc/guix-cookbook.texi:3972 guix-git/doc/guix-cookbook.texi:3974
#: guix-git/doc/guix-cookbook.texi:3975
#, no-wrap
msgid "Guix Profiles in Practice"
msgstr "Guix-Profile in der Praxis"

#. type: menuentry
#: guix-git/doc/guix-cookbook.texi:171 guix-git/doc/guix-cookbook.texi:3972
msgid "Strategies for multiple profiles and manifests."
msgstr "Strategien für mehrere Profile und Manifeste."

#. type: subsection
#: guix-git/doc/guix-cookbook.texi:179 guix-git/doc/guix-cookbook.texi:4066
#: guix-git/doc/guix-cookbook.texi:4068 guix-git/doc/guix-cookbook.texi:4069
#, no-wrap
msgid "Basic setup with manifests"
msgstr "Grundlegende Einrichtung über Manifeste"

#. type: subsection
#: guix-git/doc/guix-cookbook.texi:179 guix-git/doc/guix-cookbook.texi:4066
#: guix-git/doc/guix-cookbook.texi:4204 guix-git/doc/guix-cookbook.texi:4205
#, no-wrap
msgid "Required packages"
msgstr "Die nötigen Pakete"

#. type: subsection
#: guix-git/doc/guix-cookbook.texi:179 guix-git/doc/guix-cookbook.texi:4066
#: guix-git/doc/guix-cookbook.texi:4232 guix-git/doc/guix-cookbook.texi:4233
#, no-wrap
msgid "Default profile"
msgstr "Vorgabeprofil"

#. type: subsection
#: guix-git/doc/guix-cookbook.texi:179 guix-git/doc/guix-cookbook.texi:4066
#: guix-git/doc/guix-cookbook.texi:4251 guix-git/doc/guix-cookbook.texi:4252
#, no-wrap
msgid "The benefits of manifests"
msgstr "Der Vorteil von Manifesten"

#. type: subsection
#: guix-git/doc/guix-cookbook.texi:179 guix-git/doc/guix-cookbook.texi:4066
#: guix-git/doc/guix-cookbook.texi:4326 guix-git/doc/guix-cookbook.texi:4327
#, no-wrap
msgid "Reproducible profiles"
msgstr "Reproduzierbare Profile"

#. type: section
#: guix-git/doc/guix-cookbook.texi:189 guix-git/doc/guix-cookbook.texi:4399
#: guix-git/doc/guix-cookbook.texi:4401 guix-git/doc/guix-cookbook.texi:4402
#, no-wrap
msgid "Getting Started"
msgstr "Einstieg"

#. type: menuentry
#: guix-git/doc/guix-cookbook.texi:189 guix-git/doc/guix-cookbook.texi:4399
msgid "Step 0: using `guix shell'."
msgstr "Schritt 0: „guix shell“ benutzen."

#. type: node
#: guix-git/doc/guix-cookbook.texi:189 guix-git/doc/guix-cookbook.texi:4399
#: guix-git/doc/guix-cookbook.texi:4521
#, no-wrap
msgid "Building with Guix"
msgstr "Erstellen mit Guix"

#. type: menuentry
#: guix-git/doc/guix-cookbook.texi:189 guix-git/doc/guix-cookbook.texi:4399
msgid "Step 1: building your code."
msgstr "Schritt 1: Ihren Code kompilieren."

#. type: node
#: guix-git/doc/guix-cookbook.texi:189 guix-git/doc/guix-cookbook.texi:4399
#: guix-git/doc/guix-cookbook.texi:4611
#, no-wrap
msgid "The Repository as a Channel"
msgstr "Das Repository als Kanal"

#. type: menuentry
#: guix-git/doc/guix-cookbook.texi:189 guix-git/doc/guix-cookbook.texi:4399
msgid "Step 2: turning the repo in a channel."
msgstr "Schritt 2: Ein Repo in einen Kanal verwandeln."

#. type: node
#: guix-git/doc/guix-cookbook.texi:189 guix-git/doc/guix-cookbook.texi:4399
#: guix-git/doc/guix-cookbook.texi:4747
#, no-wrap
msgid "Package Variants"
msgstr "Paketvarianten"

#. type: menuentry
#: guix-git/doc/guix-cookbook.texi:189 guix-git/doc/guix-cookbook.texi:4399
msgid "Bonus: Defining variants."
msgstr "Bonus: Varianten definieren."

#. type: node
#: guix-git/doc/guix-cookbook.texi:189 guix-git/doc/guix-cookbook.texi:4399
#: guix-git/doc/guix-cookbook.texi:4799
#, no-wrap
msgid "Setting Up Continuous Integration"
msgstr "Kontinuierliche Integration einrichten"

#. type: menuentry
#: guix-git/doc/guix-cookbook.texi:189 guix-git/doc/guix-cookbook.texi:4399
msgid "Step 3: continuous integration."
msgstr "Schritt 3: Kontinuierliche Integration."

#. type: node
#: guix-git/doc/guix-cookbook.texi:189 guix-git/doc/guix-cookbook.texi:4399
#: guix-git/doc/guix-cookbook.texi:4874
#, no-wrap
msgid "Build Manifest"
msgstr "Erstellungs-Manifest"

#. type: menuentry
#: guix-git/doc/guix-cookbook.texi:189 guix-git/doc/guix-cookbook.texi:4399
msgid "Bonus: Manifest."
msgstr "Bonus: Manifest."

#. type: section
#: guix-git/doc/guix-cookbook.texi:189 guix-git/doc/guix-cookbook.texi:4399
#: guix-git/doc/guix-cookbook.texi:4967 guix-git/doc/guix-cookbook.texi:4968
#, no-wrap
msgid "Wrapping Up"
msgstr "Zusammenfassung"

#. type: menuentry
#: guix-git/doc/guix-cookbook.texi:189 guix-git/doc/guix-cookbook.texi:4399
msgid "Recap."
msgstr "Resümee."

#. type: section
#: guix-git/doc/guix-cookbook.texi:193 guix-git/doc/guix-cookbook.texi:5023
#: guix-git/doc/guix-cookbook.texi:5025 guix-git/doc/guix-cookbook.texi:5026
#, no-wrap
msgid "Guix environment via direnv"
msgstr "Guix-Umgebung mit direnv"

#. type: menuentry
#: guix-git/doc/guix-cookbook.texi:193 guix-git/doc/guix-cookbook.texi:5023
msgid "Setup Guix environment with direnv"
msgstr "Mit direnv Guix-Umgebungen einrichten."

#. type: section
#: guix-git/doc/guix-cookbook.texi:201 guix-git/doc/guix-cookbook.texi:5170
#: guix-git/doc/guix-cookbook.texi:5172 guix-git/doc/guix-cookbook.texi:5173
#, no-wrap
msgid "Setting Up a Head Node"
msgstr "Den Zentralrechner konfigurieren"

#. type: menuentry
#: guix-git/doc/guix-cookbook.texi:201 guix-git/doc/guix-cookbook.texi:5170
msgid "The node that runs the daemon."
msgstr "Auf diesem Rechner läuft der Daemon."

#. type: section
#: guix-git/doc/guix-cookbook.texi:201 guix-git/doc/guix-cookbook.texi:5170
#: guix-git/doc/guix-cookbook.texi:5280 guix-git/doc/guix-cookbook.texi:5281
#, no-wrap
msgid "Setting Up Compute Nodes"
msgstr "Die Arbeitsrechner konfigurieren"

#. type: menuentry
#: guix-git/doc/guix-cookbook.texi:201 guix-git/doc/guix-cookbook.texi:5170
msgid "Client nodes."
msgstr "Die Client-Knoten."

#. type: node
#: guix-git/doc/guix-cookbook.texi:201 guix-git/doc/guix-cookbook.texi:5170
#: guix-git/doc/guix-cookbook.texi:5369
#, no-wrap
msgid "Cluster Network Access"
msgstr "Netzwerkzugriff im Cluster"

#. type: menuentry
#: guix-git/doc/guix-cookbook.texi:201 guix-git/doc/guix-cookbook.texi:5170
msgid "Dealing with network access restrictions."
msgstr "Der Umgang mit eingeschränktem Netzwerkzugriff."

#. type: node
#: guix-git/doc/guix-cookbook.texi:201 guix-git/doc/guix-cookbook.texi:5170
#: guix-git/doc/guix-cookbook.texi:5455
#, no-wrap
msgid "Cluster Disk Usage"
msgstr "Speicherplatz im Cluster"

#. type: menuentry
#: guix-git/doc/guix-cookbook.texi:201 guix-git/doc/guix-cookbook.texi:5170
msgid "Disk usage considerations."
msgstr "Mit dem Plattenplatz haushalten."

#. type: node
#: guix-git/doc/guix-cookbook.texi:201 guix-git/doc/guix-cookbook.texi:5170
#: guix-git/doc/guix-cookbook.texi:5500
#, no-wrap
msgid "Cluster Security Considerations"
msgstr "Sicherheit im Cluster"

#. type: menuentry
#: guix-git/doc/guix-cookbook.texi:201 guix-git/doc/guix-cookbook.texi:5170
msgid "Keeping the cluster secure."
msgstr "Sicherheit gewährleisten."

#. type: Plain text
#: guix-git/doc/guix-cookbook.texi:213
msgid "GNU@tie{}Guix is written in the general purpose programming language Scheme, and many of its features can be accessed and manipulated programmatically.  You can use Scheme to generate package definitions, to modify them, to build them, to deploy whole operating systems, etc."
msgstr "GNU@tie{}Guix ist in Scheme geschrieben, einer für alle Anwendungszwecke geeigneten Programmiersprache, und viele Funktionalitäten von Guix können programmatisch angesteuert und verändert werden. Sie können Scheme benutzen, um Paketdefinitionen zu erzeugen, abzuändern, ganze Betriebssysteme einzuspielen etc."

#. type: Plain text
#: guix-git/doc/guix-cookbook.texi:217
msgid "Knowing the basics of how to program in Scheme will unlock many of the advanced features Guix provides --- and you don't even need to be an experienced programmer to use them!"
msgstr "Wenn man die Grundzüge kennt, wie man in Scheme programmiert, bekommt man Zugang zu vielen der fortgeschrittenen Funktionen von Guix@tie{}– und Sie müssen dazu nicht einmal ein erfahrener Programmierer sein!"

#. type: Plain text
#: guix-git/doc/guix-cookbook.texi:219
msgid "Let's get started!"
msgstr "Legen wir los!"

#. type: cindex
#: guix-git/doc/guix-cookbook.texi:227
#, no-wrap
msgid "Scheme, crash course"
msgstr "Scheme, Schnellkurs"

#. type: Plain text
#: guix-git/doc/guix-cookbook.texi:233
msgid "Guix uses the Guile implementation of Scheme.  To start playing with the language, install it with @code{guix install guile} and start a @dfn{REPL}---short for @uref{https://en.wikipedia.org/wiki/Read%E2%80%93eval%E2%80%93print_loop, @dfn{read-eval-print loop}}---by running @code{guile} from the command line."
msgstr "Die von Guix benutzte Scheme-Implementierung nennt sich Guile. Um mit der Sprache herumspielen zu können, installieren Sie Guile mit @code{guix install guile} und starten eine interaktive Programmierumgebung (englisch @uref{https://en.wikipedia.org/wiki/Read%E2%80%93eval%E2%80%93print_loop, Read-Eval-Print-Loop}, kurz REPL), indem Sie @code{guile} auf der Befehlszeile ausführen."

#. type: Plain text
#: guix-git/doc/guix-cookbook.texi:236
msgid "Alternatively you can also run @code{guix shell guile -- guile} if you'd rather not have Guile installed in your user profile."
msgstr "Alternativ können Sie auch den Befehl @code{guix shell -- guile} ausführen, wenn Sie Guile lieber @emph{nicht} in Ihr Nutzerprofil installieren wollen."

#. type: Plain text
#: guix-git/doc/guix-cookbook.texi:242
msgid "In the following examples, lines show what you would type at the REPL; lines starting with ``@result{}'' show evaluation results, while lines starting with ``@print{}'' show things that get printed.  @xref{Using Guile Interactively,,, guile, GNU Guile Reference Manual}, for more details on the REPL."
msgstr "In den folgenden Beispielen stehen die Zeilen dafür, was Sie auf der REPL eintippen; wenn eine Zeile mit „@result{}“ beginnt, zeigt sie das Ergebnis einer Auswertung, während Zeilen, die mit „@print{}“ beginnen, für eine angezeigte Ausgabe stehen. Siehe @ref{Using Guile Interactively,,, guile, das Referenzhandbuch zu GNU Guile} für mehr Details zur REPL."

#. type: itemize
#: guix-git/doc/guix-cookbook.texi:250
msgid "Scheme syntax boils down to a tree of expressions (or @emph{s-expression} in Lisp lingo).  An expression can be a literal such as numbers and strings, or a compound which is a parenthesized list of compounds and literals.  @code{#true} and @code{#false} (abbreviated @code{#t} and @code{#f}) stand for the Booleans ``true'' and ``false'', respectively."
msgstr "Die Scheme-Syntax ist an sich ein Baum von Ausdrücken (Lisp-Programmierer nennen sie @emph{symbolische Ausdrücke}, kurz @emph{S-Ausdrücke} bzw.@: englisch @emph{s-expression}). Ein solcher Ausdruck kann ein Literal sein, wie z.B.@: Zahlen oder Zeichenketten, oder er kann ein zusammengesetzter Ausdruck sein, d.h.@: eine geklammerte Liste von zusammengesetzten und literalen Ausdrücken. Dabei stehen @code{#true} und @code{#false} (abgekürzt auch @code{#t} und @code{#f}) jeweils für die Booleschen Werte „wahr“ und „falsch“."

#. type: itemize
#: guix-git/doc/guix-cookbook.texi:252
msgid "Examples of valid expressions:"
msgstr "Beispiele für gültige Ausdrücke"

#. type: lisp
#: guix-git/doc/guix-cookbook.texi:256
#, no-wrap
msgid ""
"\"Hello World!\"\n"
"@result{} \"Hello World!\"\n"
"\n"
msgstr ""
"\"Hallo Welt!\"\n"
"@result{} \"Hallo Welt!\"\n"
"\n"

#. type: lisp
#: guix-git/doc/guix-cookbook.texi:259
#, no-wrap
msgid ""
"17\n"
"@result{} 17\n"
"\n"
msgstr ""
"17\n"
"@result{} 17\n"
"\n"

#. type: lisp
#: guix-git/doc/guix-cookbook.texi:263
#, no-wrap
msgid ""
"(display (string-append \"Hello \" \"Guix\" \"\\n\"))\n"
"@print{} Hello Guix!\n"
"@result{} #<unspecified>\n"
msgstr ""
"(display (string-append \"Hallo \" \"Guix\" \"\\n\"))\n"
"@print{} Hallo Guix!\n"
"@result{} #<unspecified>\n"

#. type: itemize
#: guix-git/doc/guix-cookbook.texi:270
msgid "This last example is a function call nested in another function call.  When a parenthesized expression is evaluated, the first term is the function and the rest are the arguments passed to the function.  Every function returns the last evaluated expression as its return value."
msgstr "Das letzte Beispiel eben ist der Aufruf einer Funktion innerhalb eines anderen Funktionsaufrufs. Wenn ein geklammerter Ausdruck ausgewertet wird, ist der erste Term die Funktion und der Rest sind die Argumente, die an die Funktion übergeben werden. Jede Funktion liefert ihren zuletzt ausgewerteten Ausdruck als ihren Rückgabewert."

#. type: itemize
#: guix-git/doc/guix-cookbook.texi:274
msgid "Anonymous functions---@dfn{procedures} in Scheme parlance---are declared with the @code{lambda} term:"
msgstr "Anonyme Funktionen@tie{}– bzw.@: Prozeduren, wie man in Scheme sagt@tie{}– werden mit dem @code{lambda}-Term deklariert:"

#. type: lisp
#: guix-git/doc/guix-cookbook.texi:278
#, no-wrap
msgid ""
"(lambda (x) (* x x))\n"
"@result{} #<procedure 120e348 at <unknown port>:24:0 (x)>\n"
msgstr ""
"(lambda (x) (* x x))\n"
"@result{} #<procedure 120e348 at <unknown port>:24:0 (x)>\n"

#. type: itemize
#: guix-git/doc/guix-cookbook.texi:283
msgid "The above procedure returns the square of its argument.  Since everything is an expression, the @code{lambda} expression returns an anonymous procedure, which can in turn be applied to an argument:"
msgstr "Die obige Prozedur liefert das Quadrat ihres Arguments. Weil alles ein Ausdruck ist, liefert der Ausdruck @code{lambda} eine anonyme Prozedur, die wiederum auf ein Argument angewandt werden kann:"

#. type: lisp
#: guix-git/doc/guix-cookbook.texi:287
#, no-wrap
msgid ""
"((lambda (x) (* x x)) 3)\n"
"@result{} 9\n"
msgstr ""
"((lambda (x) (* x x)) 3)\n"
"@result{} 9\n"

#. type: itemize
#: guix-git/doc/guix-cookbook.texi:291
msgid "Procedures are regular values just like numbers, strings, Booleans, and so on."
msgstr "Prozeduren sind normale Werte wie Zahlen, Zeichenketten, Boolesche Ausdrücke und dererlei auch."

#. type: itemize
#: guix-git/doc/guix-cookbook.texi:294
msgid "Anything can be assigned a global name with @code{define}:"
msgstr "Allem kann mit @code{define} ein globaler Name zugewiesen werden:"

#. type: lisp
#: guix-git/doc/guix-cookbook.texi:300
#, no-wrap
msgid ""
"(define a 3)\n"
"(define square (lambda (x) (* x x)))\n"
"(square a)\n"
"@result{} 9\n"
msgstr ""
"(define a 3)\n"
"(define quadrat (lambda (x) (* x x)))\n"
"(quadrat a)\n"
"@result{} 9\n"

#. type: itemize
#: guix-git/doc/guix-cookbook.texi:304
msgid "Procedures can be defined more concisely with the following syntax:"
msgstr "Prozeduren können auch kürzer mit der folgenden Syntax definiert werden:"

#. type: lisp
#: guix-git/doc/guix-cookbook.texi:307
#, no-wrap
msgid "(define (square x) (* x x))\n"
msgstr "(define (quadrat x) (* x x))\n"

#. type: itemize
#: guix-git/doc/guix-cookbook.texi:311
msgid "A list structure can be created with the @code{list} procedure:"
msgstr "Eine Listenstruktur kann mit der @code{list}-Prozedur erzeugt werden:"

#. type: lisp
#: guix-git/doc/guix-cookbook.texi:315
#, no-wrap
msgid ""
"(list 2 a 5 7)\n"
"@result{} (2 3 5 7)\n"
msgstr ""
"(list 2 a 5 7)\n"
"@result{} (2 3 5 7)\n"

#. type: itemize
#: guix-git/doc/guix-cookbook.texi:322
msgid "Standard procedures are provided by the @code{(srfi srfi-1)} module to create and process lists (@pxref{SRFI-1, list processing,, guile, GNU Guile Reference Manual}).  Here are some of the most useful ones in action:"
msgstr "Für die Erzeugung und Verarbeitung von Listen stehen im Modul @code{(srfi srfi-1)} Standardprozeduren zur Verfügung (siehe @ref{SRFI-1, Listenverarbeitung,, guile, Referenzhandbuch zu GNU Guile}). Hier ein kurzer Überblick:"

#. type: lisp
#: guix-git/doc/guix-cookbook.texi:325
#, no-wrap
msgid ""
"(use-modules (srfi srfi-1))  ;import list processing procedures\n"
"\n"
msgstr ""
"(use-modules (srfi srfi-1))  ;Prozeduren zur Listenverarbeitung importieren\n"
"\n"

#. type: lisp
#: guix-git/doc/guix-cookbook.texi:328
#, no-wrap
msgid ""
"(append (list 1 2) (list 3 4))\n"
"@result{} (1 2 3 4)\n"
"\n"
msgstr ""
"(append (list 1 2) (list 3 4))\n"
"@result{} (1 2 3 4)\n"
"\n"

#. type: lisp
#: guix-git/doc/guix-cookbook.texi:331
#, no-wrap
msgid ""
"(map (lambda (x) (* x x)) (list 1 2 3 4))\n"
"@result{} (1 4 9 16)\n"
"\n"
msgstr ""
"(map (lambda (x) (* x x)) (list 1 2 3 4))\n"
"@result{} (1 4 9 16)\n"
"\n"

#. type: lisp
#: guix-git/doc/guix-cookbook.texi:336
#, no-wrap
msgid ""
"(delete 3 (list 1 2 3 4))        @result{} (1 2 4)\n"
"(filter odd? (list 1 2 3 4))     @result{} (1 3)\n"
"(remove even? (list 1 2 3 4))    @result{} (1 3)\n"
"(find number? (list \"a\" 42 \"b\")) @result{} 42\n"
msgstr ""
"(delete 3 (list 1 2 3 4))        @result{} (1 2 4)\n"
"(filter odd? (list 1 2 3 4))     @result{} (1 3)\n"
"(remove even? (list 1 2 3 4))    @result{} (1 3)\n"
"(find number? (list \"a\" 42 \"b\")) @result{} 42\n"

#. type: itemize
#: guix-git/doc/guix-cookbook.texi:340
msgid "Notice how the first argument to @code{map}, @code{filter}, @code{remove}, and @code{find} is a procedure!"
msgstr "Beachten Sie, dass das erste Argument an @code{map}, @code{filter}, @code{remove} und @code{find} eine Prozedur ist!"

#. type: cindex
#: guix-git/doc/guix-cookbook.texi:342
#, no-wrap
msgid "S-expression"
msgstr "symbolischer Ausdruck (S-expression)"

#. type: itemize
#: guix-git/doc/guix-cookbook.texi:347
msgid "The @dfn{quote} disables evaluation of a parenthesized expression, also called an S-expression or ``s-exp'': the first term is not called over the other terms (@pxref{Expression Syntax, quote,, guile, GNU Guile Reference Manual}).  Thus it effectively returns a list of terms."
msgstr "Mit dem @dfn{quote}-Zeichen wird das Auswerten eines geklammerten Ausdrucks abgeschaltet (man spricht dann von einem symbolischen Ausdruck, engl.@: „S-Expression“ bzw. „S-exp“): Der erste Term wird @emph{nicht} auf den anderen Termen aufgerufen (siehe @ref{Expression Syntax, quote,, guile, Referenzhandbuch zu GNU Guile}). Folglich liefert es quasi eine Liste von Termen."

#. type: lisp
#: guix-git/doc/guix-cookbook.texi:351
#, no-wrap
msgid ""
"'(display (string-append \"Hello \" \"Guix\" \"\\n\"))\n"
"@result{} (display (string-append \"Hello \" \"Guix\" \"\\n\"))\n"
"\n"
msgstr ""
"'(display (string-append \"Hallo \" \"Guix\" \"\\n\"))\n"
"@result{} (display (string-append \"Hallo \" \"Guix\" \"\\n\"))\n"
"\n"

#. type: lisp
#: guix-git/doc/guix-cookbook.texi:354
#, no-wrap
msgid ""
"'(2 a 5 7)\n"
"@result{} (2 a 5 7)\n"
msgstr ""
"'(2 a 5 7)\n"
"@result{} (2 a 5 7)\n"

#. type: itemize
#: guix-git/doc/guix-cookbook.texi:361
msgid "The @code{quasiquote} (@code{`}, a backquote) disables evaluation of a parenthesized expression until @code{unquote} (@code{,}, a comma)  re-enables it.  Thus it provides us with fine-grained control over what is evaluated and what is not."
msgstr "Mit einem @code{quasiquote}-Zeichen (@code{`}) wird die Auswertung eines geklammerten Ausdrucks so lange abgeschaltet, bis ein @code{unquote} (ein Komma) sie wieder aktiviert. Wir können damit genau steuern, was ausgewertet wird und was nicht."

#. type: lisp
#: guix-git/doc/guix-cookbook.texi:365
#, no-wrap
msgid ""
"`(2 a 5 7 (2 ,a 5 ,(+ a 4)))\n"
"@result{} (2 a 5 7 (2 3 5 7))\n"
msgstr ""
"`(2 a 5 7 (2 ,a 5 ,(+ a 4)))\n"
"@result{} (2 a 5 7 (2 3 5 7))\n"

#. type: itemize
#: guix-git/doc/guix-cookbook.texi:369
msgid "Note that the above result is a list of mixed elements: numbers, symbols (here @code{a}) and the last element is a list itself."
msgstr "Beachten Sie, dass obiges Ergebnis eine Liste verschiedenartiger Elemente ist: Zahlen, Symbole (in diesem Fall @code{a}) und als letztes Element selbst wieder eine Liste."

#. type: cindex
#: guix-git/doc/guix-cookbook.texi:371
#, no-wrap
msgid "G-expressions, syntax"
msgstr "G-Ausdrücke, Syntax"

#. type: cindex
#: guix-git/doc/guix-cookbook.texi:372
#, no-wrap
msgid "gexps, syntax"
msgstr "Gexps, Syntax"

#. type: findex
#: guix-git/doc/guix-cookbook.texi:373
#, no-wrap
msgid "#~"
msgstr "#~"

#. type: findex
#: guix-git/doc/guix-cookbook.texi:374
#, no-wrap
msgid "#$"
msgstr "#$"

#. type: findex
#: guix-git/doc/guix-cookbook.texi:375
#, no-wrap
msgid "gexp"
msgstr "gexp"

#. type: findex
#: guix-git/doc/guix-cookbook.texi:376
#, no-wrap
msgid "ungexp"
msgstr "ungexp"

#. type: itemize
#: guix-git/doc/guix-cookbook.texi:382
msgid "Guix defines a variant of S-expressions on steroids called @dfn{G-expressions} or ``gexps'', which come with a variant of @code{quasiquote} and @code{unquote}: @code{#~} (or @code{gexp}) and @code{#$} (or @code{ungexp}).  They let you @emph{stage code for later execution}."
msgstr "In Guix gibt es außerdem eine aufgeputschte Form von S-Ausdrücken: die @dfn{G-Ausdrücke} oder „Gexps“, die ihre eigene Art von @code{quasiquote} und @code{unquote} haben: @code{#~} (oder @code{gexp}) und @code{#$} (oder @code{ungexp}). Mit Ihnen kennzeichnen Sie, welcher Code @emph{erst später ausgeführt} werden soll („Code-Staging“)."

#. type: itemize
#: guix-git/doc/guix-cookbook.texi:386
msgid "For example, you'll encounter gexps in some package definitions where they provide code to be executed during the package build process.  They look like this:"
msgstr "G-Ausdrücke begegnen Ihnen etwa in manchen Paketdefinitionen, wo sie eingesetzt werden, damit Code erst bei der Erstellung des Pakets abläuft. Das sieht so aus:"

#. type: lisp
#: guix-git/doc/guix-cookbook.texi:390
#, no-wrap
msgid ""
"(use-modules (guix gexp)           ;so we can write gexps\n"
"             (gnu packages base))  ;for 'coreutils'\n"
"\n"
msgstr ""
"(use-modules (guix gexp)           ;für’s Schreiben von G-Ausdrücken\n"
"             (gnu packages base))  ;für 'coreutils'\n"
"\n"

#. type: lisp
#: guix-git/doc/guix-cookbook.texi:396
#, no-wrap
msgid ""
";; Below is a G-expression representing staged code.\n"
"#~(begin\n"
"    ;; Invoke 'ls' from the package defined by the 'coreutils'\n"
"    ;; variable.\n"
"    (system* #$(file-append coreutils \"/bin/ls\") \"-l\")\n"
"\n"
msgstr ""
";; Folgender G-Ausdruck enthält später ausgeführten Code.\n"
"#~(begin\n"
"    ;; 'ls' aufrufen aus dem Paket, das in der Variablen 'coreutils'\n"
"    ;; definiert ist.\n"
"    (system* #$(file-append coreutils \"/bin/ls\") \"-l\")\n"
"\n"

#. type: lisp
#: guix-git/doc/guix-cookbook.texi:399
#, no-wrap
msgid ""
"    ;; Create this package's output directory.\n"
"    (mkdir #$output))\n"
msgstr ""
"    ;; Das Ausgabeverzeichnis des aktuell definierten Pakets anlegen.\n"
"    (mkdir #$output))\n"

#. type: itemize
#: guix-git/doc/guix-cookbook.texi:403
msgid "@xref{G-Expressions,,, guix, GNU Guix Reference Manual}, for more on gexps."
msgstr "Siehe @ref{G-Ausdrücke,,, guix.de, Referenzhandbuch zu GNU Guix} für Details zu G-Ausdrücken."

#. type: itemize
#: guix-git/doc/guix-cookbook.texi:407
msgid "Multiple variables can be named locally with @code{let} (@pxref{Local Bindings,,, guile, GNU Guile Reference Manual}):"
msgstr "Mehrere Variable können in einer lokalen Umgebung mit Bezeichnern versehen werden, indem Sie @code{let} benutzen (siehe @ref{Local Bindings,,, guile, Referenzhandbuch zu GNU Guile}):"

#. type: lisp
#: guix-git/doc/guix-cookbook.texi:414
#, no-wrap
msgid ""
"(define x 10)\n"
"(let ((x 2)\n"
"      (y 3))\n"
"  (list x y))\n"
"@result{} (2 3)\n"
"\n"
msgstr ""
"(define x 10)\n"
"(let ((x 2)\n"
"      (y 3))\n"
"  (list x y))\n"
"@result{} (2 3)\n"
"\n"

#. type: lisp
#: guix-git/doc/guix-cookbook.texi:417
#, no-wrap
msgid ""
"x\n"
"@result{} 10\n"
"\n"
msgstr ""
"x\n"
"@result{} 10\n"
"\n"

#. type: lisp
#: guix-git/doc/guix-cookbook.texi:420
#, no-wrap
msgid ""
"y\n"
"@error{} In procedure module-lookup: Unbound variable: y\n"
msgstr ""
"y\n"
"@error{} In procedure module-lookup: Unbound variable: y\n"

#. type: itemize
#: guix-git/doc/guix-cookbook.texi:424
msgid "Use @code{let*} to allow later variable declarations to refer to earlier definitions."
msgstr "Benutzen Sie @code{let*}, damit spätere Variablendeklarationen auf frühere verweisen können."

#. type: lisp
#: guix-git/doc/guix-cookbook.texi:430
#, no-wrap
msgid ""
"(let* ((x 2)\n"
"       (y (* x 3)))\n"
"  (list x y))\n"
"@result{} (2 6)\n"
msgstr ""
"(let* ((x 2)\n"
"       (y (* x 3)))\n"
"  (list x y))\n"
"@result{} (2 6)\n"

#. type: itemize
#: guix-git/doc/guix-cookbook.texi:437
msgid "@dfn{Keywords} are typically used to identify the named parameters of a procedure.  They are prefixed by @code{#:} (hash, colon) followed by alphanumeric characters: @code{#:like-this}.  @xref{Keywords,,, guile, GNU Guile Reference Manual}."
msgstr "Mit @dfn{Schlüsselwörtern} bestimmen wir normalerweise diejenigen Parameter einer Prozedur, die einen Namen haben sollen. Ihnen wird @code{#:} (Doppelkreuz und Doppelpunkt) vorangestellt, gefolgt von alphanumerischen Zeichen: @code{#:etwa-so}. Siehe @ref{Keywords,,, guile, Referenzhandbuch zu GNU Guile}."

#. type: itemize
#: guix-git/doc/guix-cookbook.texi:442
msgid "The percentage @code{%} is typically used for read-only global variables in the build stage.  Note that it is merely a convention, like @code{_} in C.  Scheme treats @code{%} exactly the same as any other letter."
msgstr "Das Prozentzeichen @code{%} wird in der Regel für globale Variable auf Erstellungsebene benutzt, auf die nur lesend zugegriffen werden soll. Beachten Sie, dass es sich dabei nur um eine Konvention handelt, ähnlich wie @code{_} in C@. Scheme behandelt @code{%} genau wie jedes andere Zeichen."

#. type: itemize
#: guix-git/doc/guix-cookbook.texi:446
msgid "Modules are created with @code{define-module} (@pxref{Creating Guile Modules,,, guile, GNU Guile Reference Manual}).  For instance"
msgstr "Module werden mit Hilfe von @code{define-module} erzeugt (siehe @ref{Creating Guile Modules,,, guile, Referenzhandbuch zu GNU Guile}). Zum Beispiel definiert man mit"

#. type: lisp
#: guix-git/doc/guix-cookbook.texi:452
#, no-wrap
msgid ""
"(define-module (guix build-system ruby)\n"
"  #:use-module (guix store)\n"
"  #:export (ruby-build\n"
"            ruby-build-system))\n"
msgstr ""
"(define-module (guix build-system ruby)\n"
"  #:use-module (guix store)\n"
"  #:export (ruby-build\n"
"            ruby-build-system))\n"

#. type: itemize
#: guix-git/doc/guix-cookbook.texi:458
msgid "defines the module @code{guix build-system ruby} which must be located in @file{guix/build-system/ruby.scm} somewhere in the Guile load path.  It depends on the @code{(guix store)} module and it exports two variables, @code{ruby-build} and @code{ruby-build-system}."
msgstr "das Modul @code{guix build-system ruby}, das sich unter dem Pfad @file{guix/build-system/ruby.scm} innerhalb irgendeines Verzeichnisses im Guile-Ladepfad befinden muss. Es hat eine Abhängigkeit auf das Modul @code{(guix store)} und exportiert zwei seiner Variablen, @code{ruby-build} und @code{ruby-build-system}."

#. type: itemize
#: guix-git/doc/guix-cookbook.texi:461
msgid "@xref{Package Modules,,, guix, GNU Guix Reference Manual}, for info on modules that define packages."
msgstr "Siehe @ref{Paketmodule,,, guix.de, Referenzhandbuch zu GNU Guix} für Informationen zu Modulen, in denen Pakete definiert werden."

#. type: quotation
#: guix-git/doc/guix-cookbook.texi:463
#, no-wrap
msgid "Going further"
msgstr "Vertiefung"

#. type: quotation
#: guix-git/doc/guix-cookbook.texi:467
msgid "Scheme is a language that has been widely used to teach programming and you'll find plenty of material using it as a vehicle.  Here's a selection of documents to learn more about Scheme:"
msgstr "Die Sprache Scheme wurde oft eingesetzt, um Programmieren beizubringen, daher gibt es ein breites Angebot an Lehrmaterialien, die sie als Transportmittel einsetzen. Hier sehen Sie eine Auswahl solcher Dokumente, mit denen Sie mehr über Scheme erfahren können:"

#. type: itemize
#: guix-git/doc/guix-cookbook.texi:472
msgid "@uref{https://spritely.institute/static/papers/scheme-primer.html, @i{A Scheme Primer}}, by Christine Lemmer-Webber and the Spritely Institute."
msgstr "@uref{https://spritely.institute/news/ein-scheme-primer.html, @i{Ein Scheme-Primer}}, von Christine Lemmer-Webber und dem Spritely Institute, auf Deutsch übersetzt von Florian Pelz."

#. type: itemize
#: guix-git/doc/guix-cookbook.texi:476
msgid "@uref{http://www.troubleshooters.com/codecorn/scheme_guile/hello.htm, @i{Scheme at a Glance}}, by Steve Litt."
msgstr "@uref{http://www.troubleshooters.com/codecorn/scheme_guile/hello.htm, @i{Scheme at a Glance}} von Steve Litt."

#. type: itemize
#: guix-git/doc/guix-cookbook.texi:483
msgid "@uref{https://sarabander.github.io/sicp/, @i{Structure and Interpretation of Computer Programs}}, by Harold Abelson and Gerald Jay Sussman, with Julie Sussman.  Colloquially known as ``SICP'', this book is a reference."
msgstr "Eines der Referenzbücher zu Scheme ist das einflussreiche „Structure and Interpretation of Computer Programs“, von Harold Abelson und Gerald Jay Sussman, mit Julie Sussman. Eine deutsche Übersetzung „Struktur und Interpretation von Computerprogrammen“ hat Susanne Daniels-Herold verfasst. Vom englischen Original finden Sie eine @uref{https://sarabander.github.io/sicp/, kostenlose Ausgabe online}. Viele kennen es unter dem Akronym SICP."

#. type: itemize
#: guix-git/doc/guix-cookbook.texi:485
msgid "You can also install it and read it from your computer:"
msgstr "Das Buch können Sie auch installieren und von Ihrem Rechner aus lesen:"

#. type: example
#: guix-git/doc/guix-cookbook.texi:489
#, no-wrap
msgid ""
"guix install sicp info-reader\n"
"info sicp\n"
msgstr ""
"guix install sicp info-reader\n"
"info sicp\n"

#. type: quotation
#: guix-git/doc/guix-cookbook.texi:495
msgid "You'll find more books, tutorials and other resources at @url{https://schemers.org/}."
msgstr "Sie finden noch mehr Bücher, Anleitungen und andere Ressourcen auf @url{https://schemers.org/}."

#. type: cindex
#: guix-git/doc/guix-cookbook.texi:502
#, no-wrap
msgid "packaging"
msgstr "Pakete schreiben"

#. type: Plain text
#: guix-git/doc/guix-cookbook.texi:508
msgid "This chapter is dedicated to teaching you how to add packages to the collection of packages that come with GNU Guix.  This involves writing package definitions in Guile Scheme, organizing them in package modules, and building them."
msgstr "In diesem Kapitel bringen wir Ihnen bei, wie Sie Pakete zur mit GNU Guix ausgelieferten Paketsammlung beitragen. Dazu gehört, Paketdefinitionen in Guile Scheme zu schreiben, sie in Paketmodulen zu organisieren und sie zu erstellen."

#. type: Plain text
#: guix-git/doc/guix-cookbook.texi:522
msgid "GNU Guix stands out as the @emph{hackable} package manager, mostly because it uses @uref{https://www.gnu.org/software/guile/, GNU Guile}, a powerful high-level programming language, one of the @uref{https://en.wikipedia.org/wiki/Scheme_%28programming_language%29, Scheme} dialects from the @uref{https://en.wikipedia.org/wiki/Lisp_%28programming_language%29, Lisp family}."
msgstr "GNU Guix zeichnet sich in erster Linie deswegen als das @emph{hackbare} Paketverwaltungswerkzeug aus, weil es mit @uref{https://www.gnu.org/software/guile/, GNU Guile} arbeitet, einer mächtigen, hochsprachlichen Programmiersprache, die einen der Dialekte von @uref{https://de.wikipedia.org/wiki/Scheme, Scheme} darstellt. Scheme wiederum gehört zur @uref{https://de.wikipedia.org/wiki/Lisp, Lisp-Familie von Programmiersprachen}."

#. type: Plain text
#: guix-git/doc/guix-cookbook.texi:526
msgid "Package definitions are also written in Scheme, which empowers Guix in some very unique ways, unlike most other package managers that use shell scripts or simple languages."
msgstr "Paketdefinitionen werden ebenso in Scheme geschrieben, wodurch Guix auf sehr einzigartige Weise mächtiger wird als die meisten anderen Paketverwaltungssysteme, die Shell-Skripte oder einfache Sprachen benutzen."

#. type: itemize
#: guix-git/doc/guix-cookbook.texi:531
msgid "Use functions, structures, macros and all of Scheme expressiveness for your package definitions."
msgstr "Sie können sich Funktionen, Strukturen, Makros und all die Ausdrucksstärke von Scheme für Ihre Paketdefinitionen zu Nutze machen."

#. type: itemize
#: guix-git/doc/guix-cookbook.texi:535
msgid "Inheritance makes it easy to customize a package by inheriting from it and modifying only what is needed."
msgstr "Durch Vererbung können Sie ohne viel Aufwand ein Paket anpassen, indem Sie von ihm erben lassen und nur das Nötige abändern."

#. type: itemize
#: guix-git/doc/guix-cookbook.texi:545
msgid "Batch processing: the whole package collection can be parsed, filtered and processed.  Building a headless server with all graphical interfaces stripped out? It's possible.  Want to rebuild everything from source using specific compiler optimization flags? Pass the @code{#:make-flags \"...\"} argument to the list of packages.  It wouldn't be a stretch to think @uref{https://wiki.gentoo.org/wiki/USE_flag, Gentoo USE flags} here, but this goes even further: the changes don't have to be thought out beforehand by the packager, they can be @emph{programmed} by the user!"
msgstr "Stapelverarbeitung („batch mode“) wird möglich; die ganze Paketsammlung kann analysiert, gefiltert und verarbeitet werden. Versuchen Sie, ein Serversystem ohne Bildschirm („headless“) auch tatsächlich von allen Grafikschnittstellen zu befreien? Das ist möglich. Möchten Sie alles von Neuem aus seinem Quellcode erstellen, aber mit eingeschalteten besonderen Compileroptimierungen? Übergeben Sie einfach das passende @code{#:make-flags \"...\"}-Argument an die Paketliste. Es wäre nicht übertrieben, hier an die @uref{https://wiki.gentoo.org/wiki/USE_flag, USE-Optionen von Gentoo} zu denken, aber das hier übertrifft sie: Der Paketautor muss vorher gar nicht darüber nachgedacht haben, der Nutzer kann sie selbst @emph{programmieren}!"

#. type: Plain text
#: guix-git/doc/guix-cookbook.texi:551
msgid "The following tutorial covers all the basics around package creation with Guix.  It does not assume much knowledge of the Guix system nor of the Lisp language.  The reader is only expected to be familiar with the command line and to have some basic programming knowledge."
msgstr "Die folgende Anleitung erklärt alles Grundlegende über das Schreiben von Paketen mit Guix. Dabei setzen wir kein großes Wissen über das Guix-System oder die Lisp-Sprache voraus. Vom Leser wird nur erwartet, dass er mit der Befehlszeile vertraut ist und über grundlegende Programmierkenntnisse verfügt."

#. type: Plain text
#: guix-git/doc/guix-cookbook.texi:569
msgid "The ``Defining Packages'' section of the manual introduces the basics of Guix packaging (@pxref{Defining Packages,,, guix, GNU Guix Reference Manual}).  In the following section, we will partly go over those basics again."
msgstr "Der Abschnitt „Pakete definieren“ im Handbuch führt in die Grundlagen des Paketschreibens für Guix ein (siehe @ref{Pakete definieren,,, guix.de, Referenzhandbuch zu GNU Guix}). Im folgenden Abschnitt werden wir diese Grundlagen teilweise rekapitulieren."

#. type: Plain text
#: guix-git/doc/guix-cookbook.texi:575
msgid "GNU@tie{}Hello is a dummy project that serves as an idiomatic example for packaging.  It uses the GNU build system (@code{./configure && make && make install}).  Guix already provides a package definition which is a perfect example to start with.  You can look up its declaration with @code{guix edit hello} from the command line.  Let's see how it looks:"
msgstr "GNU@tie{}Hello ist ein Projekt, das uns als Stellvertreter für „richtige“ Projekte und allgemeines Beispiel für das Schreiben von Paketen dient. Es verwendet das GNU-Erstellungssystem (@code{./configure && make && make install}). Guix stellt uns schon eine Paketdefinition zur Verfügung, die uns einen perfekten Ausgangspunkt bietet. Sie können sich ihre Deklaration anschauen, indem Sie @code{guix edit hello} von der Befehlszeile ausführen. Schauen wir sie uns an:"

#. type: lisp
#: guix-git/doc/guix-cookbook.texi:596
#, no-wrap
msgid ""
"(define-public hello\n"
"  (package\n"
"    (name \"hello\")\n"
"    (version \"2.10\")\n"
"    (source (origin\n"
"              (method url-fetch)\n"
"              (uri (string-append \"mirror://gnu/hello/hello-\" version\n"
"                                  \".tar.gz\"))\n"
"              (sha256\n"
"               (base32\n"
"                \"0ssi1wpaf7plaswqqjwigppsg5fyh99vdlb9kzl7c9lng89ndq1i\"))))\n"
"    (build-system gnu-build-system)\n"
"    (synopsis \"Hello, GNU world: An example GNU package\")\n"
"    (description\n"
"     \"GNU Hello prints the message \\\"Hello, world!\\\" and then exits.  It\n"
"serves as an example of standard GNU coding practices.  As such, it supports\n"
"command-line arguments, multiple languages, and so on.\")\n"
"    (home-page \"https://www.gnu.org/software/hello/\")\n"
"    (license gpl3+)))\n"
msgstr ""
"(define-public hello\n"
"  (package\n"
"    (name \"hello\")\n"
"    (version \"2.10\")\n"
"    (source (origin\n"
"              (method url-fetch)\n"
"              (uri (string-append \"mirror://gnu/hello/hello-\" version\n"
"                                  \".tar.gz\"))\n"
"              (sha256\n"
"               (base32\n"
"                \"0ssi1wpaf7plaswqqjwigppsg5fyh99vdlb9kzl7c9lng89ndq1i\"))))\n"
"    (build-system gnu-build-system)\n"
"    (synopsis \"Hello, GNU world: An example GNU package\")\n"
"    (description\n"
"     \"GNU Hello prints the message \\\"Hello, world!\\\" and then exits.  It\n"
"serves as an example of standard GNU coding practices.  As such, it supports\n"
"command-line arguments, multiple languages, and so on.\")\n"
"    (home-page \"https://www.gnu.org/software/hello/\")\n"
"    (license gpl3+)))\n"

#. type: Plain text
#: guix-git/doc/guix-cookbook.texi:600
msgid "As you can see, most of it is rather straightforward.  But let's review the fields together:"
msgstr "Wie Sie sehen können, ist das meiste klar strukturiert. Aber sehen wir uns die Felder zusammen an:"

#. type: item
#: guix-git/doc/guix-cookbook.texi:602
#, no-wrap
msgid "name"
msgstr "name"

#. type: table
#: guix-git/doc/guix-cookbook.texi:605
msgid "The project name.  Using Scheme conventions, we prefer to keep it lower case, without underscore and using dash-separated words."
msgstr "Der Name des Projekts. Wir halten uns an die Konventionen von Scheme und bevorzugen deshalb Kleinschreibung ohne Unterstriche, sondern mit Bindestrichen zwischen den Wörtern."

#. type: item
#: guix-git/doc/guix-cookbook.texi:606
#, no-wrap
msgid "source"
msgstr "source"

#. type: table
#: guix-git/doc/guix-cookbook.texi:609
msgid "This field contains a description of the source code origin.  The @code{origin} record contains these fields:"
msgstr "Dieses Feld enthält eine Beschreibung, was der Ursprung des Quellcodes ist. Das @code{origin}-Verbundsobjekt enthält diese Felder:"

#. type: item
#: guix-git/doc/guix-cookbook.texi:611
#, no-wrap
msgid "The method, here @code{url-fetch} to download via HTTP/FTP, but other methods"
msgstr "Die Methode. Wir verwenden hier @code{url-fetch}, um über HTTP/FTP herunterzuladen,"

#. type: enumerate
#: guix-git/doc/guix-cookbook.texi:613
msgid "exist, such as @code{git-fetch} for Git repositories."
msgstr "aber es gibt auch andere Methoden wie @code{git-fetch} für Git-Repositorys."

#. type: item
#: guix-git/doc/guix-cookbook.texi:613
#, no-wrap
msgid "The URI, which is typically some @code{https://} location for @code{url-fetch}.  Here"
msgstr "Die URI, welche bei @code{url-fetch} normalerweise eine Ortsangabe mit @code{https://} ist."

#. type: enumerate
#: guix-git/doc/guix-cookbook.texi:616
msgid "the special `mirror://gnu` refers to a set of well known locations, all of which can be used by Guix to fetch the source, should some of them fail."
msgstr "In diesem Fall verweist die besondere URI ‚mirror://gnu‘ auf eine von mehreren wohlbekannten Ortsangaben, von denen Guix jede durchprobieren kann, um den Quellcode herunterzuladen, wenn es bei manchen davon nicht klappt."

#. type: item
#: guix-git/doc/guix-cookbook.texi:616
#, no-wrap
msgid "The @code{sha256} checksum of the requested file.  This is essential to ensure"
msgstr "Die @code{sha256}-Prüfsumme der angefragten Datei."

#. type: enumerate
#: guix-git/doc/guix-cookbook.texi:619
msgid "the source is not corrupted.  Note that Guix works with base32 strings, hence the call to the @code{base32} function."
msgstr "Sie ist notwendig, damit sichergestellt werden kann, dass der Quellcode nicht beschädigt ist. Beachten Sie, dass Guix mit Zeichenketten in Base32-Kodierung arbeitet, weshalb wir die @code{base32}-Funktion aufrufen."

#. type: item
#: guix-git/doc/guix-cookbook.texi:621
#, no-wrap
msgid "build-system"
msgstr "build-system"

#. type: table
#: guix-git/doc/guix-cookbook.texi:630
msgid "This is where the power of abstraction provided by the Scheme language really shines: in this case, the @code{gnu-build-system} abstracts away the famous @code{./configure && make && make install} shell invocations.  Other build systems include the @code{trivial-build-system} which does not do anything and requires from the packager to program all the build steps, the @code{python-build-system}, the @code{emacs-build-system}, and many more (@pxref{Build Systems,,, guix, GNU Guix Reference Manual})."
msgstr "Hier glänzt Schemes Fähigkeit zur Abstraktion: In diesem Fall abstrahiert @code{gnu-build-system} die berühmten Schritte @code{./configure && make && make install}, die sonst in der Shell aufgerufen würden. Zu den anderen Erstellungssystemen gehören das @code{trivial-build-system}, das nichts tut und dem Paketautoren das Schreiben sämtlicher Erstellungsschritte abverlangt, das @code{python-build-system}, das @code{emacs-build-system}, und viele mehr (siehe @ref{Erstellungssysteme,,, guix.de, Referenzhandbuch zu GNU Guix})."

#. type: item
#: guix-git/doc/guix-cookbook.texi:631
#, no-wrap
msgid "synopsis"
msgstr "synopsis"

#. type: table
#: guix-git/doc/guix-cookbook.texi:634
msgid "It should be a concise summary of what the package does.  For many packages a tagline from the project's home page can be used as the synopsis."
msgstr "Die Zusammenfassung. Sie sollte eine knappe Beschreibung sein, was das Paket tut. Für viele Pakete findet sich auf der Homepage ein Einzeiler, der als Zusammenfassung benutzt werden kann."

#. type: item
#: guix-git/doc/guix-cookbook.texi:635
#, no-wrap
msgid "description"
msgstr "description"

#. type: table
#: guix-git/doc/guix-cookbook.texi:638
msgid "Same as for the synopsis, it's fine to re-use the project description from the homepage.  Note that Guix uses Texinfo syntax."
msgstr "Genau wie bei der Zusammenfassung ist es in Ordnung, die Beschreibung des Projekts für das Paket wiederzuverwenden. Beachten Sie, dass Guix dafür Texinfo-Syntax verlangt."

#. type: item
#: guix-git/doc/guix-cookbook.texi:639
#, no-wrap
msgid "home-page"
msgstr "home-page"

#. type: table
#: guix-git/doc/guix-cookbook.texi:641
msgid "Use HTTPS if available."
msgstr "Hier soll möglichst HTTPS benutzt werden."

#. type: item
#: guix-git/doc/guix-cookbook.texi:642
#, no-wrap
msgid "license"
msgstr "license"

#. type: table
#: guix-git/doc/guix-cookbook.texi:645
msgid "See @code{guix/licenses.scm} in the project source for a full list of available licenses."
msgstr "Siehe die vollständige Liste verfügbarer Lizenzen in @code{guix/licenses.scm} im Guix-Quellcode."

#. type: Plain text
#: guix-git/doc/guix-cookbook.texi:649
msgid "Time to build our first package! Nothing fancy here for now: we will stick to a dummy @code{my-hello}, a copy of the above declaration."
msgstr "Es wird Zeit, unser erstes Paket zu schreiben! Aber noch nichts tolles, wir bleiben bei einem Paket @code{my-hello} stelltvertretend für „richtige“ Software; es ist eine Kopie obiger Deklaration."

#. type: Plain text
#: guix-git/doc/guix-cookbook.texi:653
msgid "As with the ritualistic ``Hello World'' taught with most programming languages, this will possibly be the most ``manual'' approach.  We will work out an ideal setup later; for now we will go the simplest route."
msgstr "Genau wie beim Ritual, Neulinge in Programmiersprachen „Hallo Welt“ schreiben zu lassen, fangen wir mit der vielleicht „arbeitsintensivsten“ Herangehensweise ans Paketeschreiben an. Wir kümmern uns später darum, wie man am besten an Paketen arbeitet; erst einmal nehmen wir den einfachsten Weg."

#. type: Plain text
#: guix-git/doc/guix-cookbook.texi:655
msgid "Save the following to a file @file{my-hello.scm}."
msgstr "Speichern Sie den folgenden Code in eine Datei @file{my-hello.scm}."

#. type: lisp
#: guix-git/doc/guix-cookbook.texi:661
#, no-wrap
msgid ""
"(use-modules (guix packages)\n"
"             (guix download)\n"
"             (guix build-system gnu)\n"
"             (guix licenses))\n"
"\n"
msgstr ""
"(use-modules (guix packages)\n"
"             (guix download)\n"
"             (guix build-system gnu)\n"
"             (guix licenses))\n"
"\n"

#. type: lisp
#: guix-git/doc/guix-cookbook.texi:680
#, no-wrap
msgid ""
"(package\n"
"  (name \"my-hello\")\n"
"  (version \"2.10\")\n"
"  (source (origin\n"
"            (method url-fetch)\n"
"            (uri (string-append \"mirror://gnu/hello/hello-\" version\n"
"                                \".tar.gz\"))\n"
"            (sha256\n"
"             (base32\n"
"              \"0ssi1wpaf7plaswqqjwigppsg5fyh99vdlb9kzl7c9lng89ndq1i\"))))\n"
"  (build-system gnu-build-system)\n"
"  (synopsis \"Hello, Guix world: An example custom Guix package\")\n"
"  (description\n"
"   \"GNU Hello prints the message \\\"Hello, world!\\\" and then exits.  It\n"
"serves as an example of standard GNU coding practices.  As such, it supports\n"
"command-line arguments, multiple languages, and so on.\")\n"
"  (home-page \"https://www.gnu.org/software/hello/\")\n"
"  (license gpl3+))\n"
msgstr ""
"(package\n"
"  (name \"my-hello\")\n"
"  (version \"2.10\")\n"
"  (source (origin\n"
"            (method url-fetch)\n"
"            (uri (string-append \"mirror://gnu/hello/hello-\" version\n"
"                                \".tar.gz\"))\n"
"            (sha256\n"
"             (base32\n"
"              \"0ssi1wpaf7plaswqqjwigppsg5fyh99vdlb9kzl7c9lng89ndq1i\"))))\n"
"  (build-system gnu-build-system)\n"
"  (synopsis \"Hello, Guix world: An example custom Guix package\")\n"
"  (description\n"
"   \"GNU Hello prints the message \\\"Hello, world!\\\" and then exits.  It\n"
"serves as an example of standard GNU coding practices.  As such, it supports\n"
"command-line arguments, multiple languages, and so on.\")\n"
"  (home-page \"https://www.gnu.org/software/hello/\")\n"
"  (license gpl3+))\n"

#. type: Plain text
#: guix-git/doc/guix-cookbook.texi:683
msgid "We will explain the extra code in a moment."
msgstr "Wir erklären den zusätzlichen Code in Kürze."

#. type: Plain text
#: guix-git/doc/guix-cookbook.texi:690
msgid "Feel free to play with the different values of the various fields.  If you change the source, you'll need to update the checksum.  Indeed, Guix refuses to build anything if the given checksum does not match the computed checksum of the source code.  To obtain the correct checksum of the package declaration, we need to download the source, compute the sha256 checksum and convert it to base32."
msgstr "Spielen Sie ruhig mit unterschiedlichen Werten für die verschiedenen Felder herum. Wenn Sie den Quellort (die „source“) ändern, müssen Sie die Prüfsumme aktualisieren. Tatsächlich weigert sich Guix, etwas zu erstellen, wenn die angegebene Prüfsumme nicht zu der berechneten Prüfsumme des Quellcodes passt. Um die richtige Prüfsumme für die Paketdeklaration zu finden, müssen wir den Quellcode herunterladen, die SHA256-Summe davon berechnen und sie in Base32 umwandeln."

#. type: Plain text
#: guix-git/doc/guix-cookbook.texi:693
msgid "Thankfully, Guix can automate this task for us; all we need is to provide the URI:"
msgstr "Glücklicherweise kann Guix diese Aufgabe automatisieren; wir müssen lediglich die URI übergeben."

#.  This is example shell output.
#. type: example
#: guix-git/doc/guix-cookbook.texi:697
#, no-wrap
msgid ""
"$ guix download mirror://gnu/hello/hello-2.10.tar.gz\n"
"\n"
msgstr ""
"$ guix download mirror://gnu/hello/hello-2.10.tar.gz\n"
"\n"

#. type: example
#: guix-git/doc/guix-cookbook.texi:704
#, no-wrap
msgid ""
"Starting download of /tmp/guix-file.JLYgL7\n"
"From https://ftpmirror.gnu.org/gnu/hello/hello-2.10.tar.gz...\n"
"following redirection to `https://mirror.ibcp.fr/pub/gnu/hello/hello-2.10.tar.gz'...\n"
" …10.tar.gz  709KiB                                 2.5MiB/s 00:00 [##################] 100.0%\n"
"/gnu/store/hbdalsf5lpf01x4dcknwx6xbn6n5km6k-hello-2.10.tar.gz\n"
"0ssi1wpaf7plaswqqjwigppsg5fyh99vdlb9kzl7c9lng89ndq1i\n"
msgstr ""
"Starting download of /tmp/guix-file.JLYgL7\n"
"From https://ftpmirror.gnu.org/gnu/hello/hello-2.10.tar.gz...\n"
"following redirection to `https://mirror.ibcp.fr/pub/gnu/hello/hello-2.10.tar.gz'...\n"
" …10.tar.gz  709KiB                                 2.5MiB/s 00:00 [##################] 100.0%\n"
"/gnu/store/hbdalsf5lpf01x4dcknwx6xbn6n5km6k-hello-2.10.tar.gz\n"
"0ssi1wpaf7plaswqqjwigppsg5fyh99vdlb9kzl7c9lng89ndq1i\n"

#. type: Plain text
#: guix-git/doc/guix-cookbook.texi:709
msgid "In this specific case the output tells us which mirror was chosen.  If the result of the above command is not the same as in the above snippet, update your @code{my-hello} declaration accordingly."
msgstr "In diesem speziellen Fall sagt uns die Ausgabe, welcher Spiegelserver ausgewählt wurde. Wenn das Ergebnis des obigen Befehls nicht dasselbe ist wie im Codeschnipsel, dann aktualisieren Sie Ihre @code{my-hello}-Deklaration entsprechend."

#. type: Plain text
#: guix-git/doc/guix-cookbook.texi:713
msgid "Note that GNU package tarballs come with an OpenPGP signature, so you should definitely check the signature of this tarball with `gpg` to authenticate it before going further:"
msgstr "Beachten Sie, dass Tarball-Archive von GNU-Paketen mit einer OpenPGP-Signatur ausgeliefert werden, deshalb sollten Sie mit Sicherheit die Signatur dieses Tarballs mit „gpg“ überprüfen, um ihn zu authentifizieren, bevor Sie weitermachen."

#.  This is example shell output.
#. type: example
#: guix-git/doc/guix-cookbook.texi:717
#, no-wrap
msgid ""
"$ guix download mirror://gnu/hello/hello-2.10.tar.gz.sig\n"
"\n"
msgstr ""
"$ guix download mirror://gnu/hello/hello-2.10.tar.gz.sig\n"
"\n"

#. type: example
#: guix-git/doc/guix-cookbook.texi:732
#, no-wrap
msgid ""
"Starting download of /tmp/guix-file.03tFfb\n"
"From https://ftpmirror.gnu.org/gnu/hello/hello-2.10.tar.gz.sig...\n"
"following redirection to `https://ftp.igh.cnrs.fr/pub/gnu/hello/hello-2.10.tar.gz.sig'...\n"
" ….tar.gz.sig  819B                                                                                                                       1.2MiB/s 00:00 [##################] 100.0%\n"
"/gnu/store/rzs8wba9ka7grrmgcpfyxvs58mly0sx6-hello-2.10.tar.gz.sig\n"
"0q0v86n3y38z17rl146gdakw9xc4mcscpk8dscs412j22glrv9jf\n"
"$ gpg --verify /gnu/store/rzs8wba9ka7grrmgcpfyxvs58mly0sx6-hello-2.10.tar.gz.sig /gnu/store/hbdalsf5lpf01x4dcknwx6xbn6n5km6k-hello-2.10.tar.gz\n"
"gpg: Signature made Sun 16 Nov 2014 01:08:37 PM CET\n"
"gpg:                using RSA key A9553245FDE9B739\n"
"gpg: Good signature from \"Sami Kerola <kerolasa@@iki.fi>\" [unknown]\n"
"gpg:                 aka \"Sami Kerola (http://www.iki.fi/kerolasa/) <kerolasa@@iki.fi>\" [unknown]\n"
"gpg: WARNING: This key is not certified with a trusted signature!\n"
"gpg:          There is no indication that the signature belongs to the owner.\n"
"Primary key fingerprint: 8ED3 96E3 7E38 D471 A005  30D3 A955 3245 FDE9 B739\n"
msgstr ""
"Starting download of /tmp/guix-file.03tFfb\n"
"From https://ftpmirror.gnu.org/gnu/hello/hello-2.10.tar.gz.sig...\n"
"following redirection to `https://ftp.igh.cnrs.fr/pub/gnu/hello/hello-2.10.tar.gz.sig'...\n"
" ….tar.gz.sig  819B                                                                                                                       1.2MiB/s 00:00 [##################] 100.0%\n"
"/gnu/store/rzs8wba9ka7grrmgcpfyxvs58mly0sx6-hello-2.10.tar.gz.sig\n"
"0q0v86n3y38z17rl146gdakw9xc4mcscpk8dscs412j22glrv9jf\n"
"$ gpg --verify /gnu/store/rzs8wba9ka7grrmgcpfyxvs58mly0sx6-hello-2.10.tar.gz.sig /gnu/store/hbdalsf5lpf01x4dcknwx6xbn6n5km6k-hello-2.10.tar.gz\n"
"gpg: Signatur vom So 16 Nov 2014 13:08:37 CET\n"
"gpg:                mittels RSA-Schlüssel A9553245FDE9B739\n"
"gpg: Korrekte Signatur von \"Sami Kerola (https://www.iki.fi/kerolasa/) <kerolasa@@iki.fi>\" [unbekannt]\n"
"gpg: WARNUNG: Dieser Schlüssel trägt keine vertrauenswürdige Signatur!\n"
"gpg:          Es gibt keinen Hinweis, daß die Signatur wirklich dem vorgeblichen Besitzer gehört.\n"
"Haupt-Fingerabdruck  = 8ED3 96E3 7E38 D471 A005  30D3 A955 3245 FDE9 B739\n"

#. type: Plain text
#: guix-git/doc/guix-cookbook.texi:735
msgid "You can then happily run"
msgstr "Sie können dann unbesorgt das hier ausführen:"

#.  Do not translate this command
#. type: example
#: guix-git/doc/guix-cookbook.texi:739
#, no-wrap
msgid "$ guix package --install-from-file=my-hello.scm\n"
msgstr "$ guix package --install-from-file=my-hello.scm\n"