summaryrefslogtreecommitdiff
path: root/doc/guix.texi
AgeCommit message (Collapse)Author
2020-09-28doc: Clarify how to choose a user account shell.Ludovic Courtès
* doc/guix.texi (User Accounts): Add example with custom shell and custom home directory. Add examples of shell gexps.
2020-09-27doc: Move channel @cindex within their nodes.Ludovic Courtès
* doc/guix.texi (Channels): Move @cindex at the beginning of the node they refer to from the end of the previous node.
2020-09-27doc: Move "Primary URL" after "Specifying Channel Authorizations".Ludovic Courtès
* doc/guix.texi (Primary URL): Move after "Specifying Channel Authorizations" since the audience is channel authors who've already taken care of authorizations.
2020-09-27doc: Promote "Channels" as chapter and reorder.zimoun
The sectioning becomes: 1. Specifying Additional Channels (was 3.) 2. Using a Custom Guix Channel (was 2.) 3. Replicating Guix (was 9.) 4. Channel Authentication (was 1.) 5. Primary URL (was 7.) 6. Creating a Channel (reworded) 7. Package Modules in a Sub-directory (was 5.) 8. Declaring Channel Dependencies (was 4.) 9. Specifying Channel Authorizations (was 6.) 10. Writing Channel News (was 8.) * doc/guix.texi (Channels): Move section to chapter. Reorder the chapter. Minor tweaks to keep uniformity. Update the master menu. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2020-09-27doc: Update the master menu.zimoun
* doc/guix.texi: Update the master menu. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2020-09-27packages: 'package-input-rewriting' has a #:deep? parameter.Ludovic Courtès
* guix/packages.scm (package-input-rewriting): Add #:deep? and pass it to 'package-mapping'. [replacement-property]: New variable. [rewrite]: Check it. [cut?]: New procedure. * tests/packages.scm ("package-input-rewriting"): Pass #:deep? #f and ensure implicit inputs were not rewritten. Avoid 'eq?' comparisons. ("package-input-rewriting, deep"): New test. * gnu/packages/guile.scm (package-for-guile-2.0, package-for-guile-3.0): Pass #:deep? #f.
2020-09-27packages: 'package-input-rewriting/spec' can rewrite implicit dependencies.Ludovic Courtès
With this change, '--with-input', '--with-graft', etc. also apply to implicit dependencies. Thus, it's now possible to do: guix build python-itsdangerous --with-input=python-wrapper=python@2 or: guix build hello --with-graft=glibc=glibc@2.29 Additionally, before, implicit inputs were not rewritten, which could lead to duplicates in the output of 'bag-transitive-inputs' (packages that are not 'eq?' but lead to the same derivation). This in turn would lead to unnecessary rebuilds when using '--with-input' & co. This change fixes it by ensuring even implicit inputs are rewritten. Fixes <https://bugs.gnu.org/42156>. * guix/packages.scm (package-input-rewriting/spec): Add #:deep? defaulting to #true, and pass it to 'package-mapping'. [replacement-property]: New variable. [rewrite]: Check that property and set it on the result of PROC. [cut?]: New procedure. * tests/packages.scm ("package-input-rewriting/spec"): Ensure implicit inputs were unchanged. ("package-input-rewriting/spec, partial match"): Pass #:deep? #f. ("package-input-rewriting/spec, deep") ("package-input-rewriting/spec, no duplicates"): New tests. (package/inherit): Move before use. * tests/guix-build.sh: Add tests. * tests/scripts-build.scm ("options->transformation, with-graft"): Compare dependencies by package name or derivation file name. * doc/guix.texi (Defining Packages): Adjust accordingly.
2020-09-27packages: 'package-mapping' can recurse on implicit inputs.Ludovic Courtès
* guix/packages.scm (build-system-with-package-mapping): New procedure. (package-mapping): Add #:deep? and honor it. * tests/packages.scm ("package-mapping"): Compare the direct inputs of the bag of P0 and that of P1. ("package-mapping, deep"): New test.
2020-09-27guix build: Add '--without-tests'.Ludovic Courtès
* guix/scripts/build.scm (transform-package-tests): New procedure. (%transformations, %transformation-options) show-transformation-options-help): Add it. * tests/scripts-build.scm ("options->transformation, without-tests"): New test. * doc/guix.texi (Package Transformation Options): Document it.
2020-09-27doc: Document new bootloader grub-efi-netboot-bootloader.Stefan
* doc/guix.texi (Bootloader Configuration)[bootloader]: Add grub-efi-netboot-bootloader. [target]: Document TFTP root directory for grub-efi-netboot-bootloader. Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
2020-09-25doc: Use @var for meta-syntactic variables.Ludovic Courtès
* doc/guix.texi (Transparent Emulation with QEMU): Use @var instead of angle brackets for meta-syntactic variables.
2020-09-25doc: Remove "--hda" from non-volatile childhurd example.Ludovic Courtès
Reported by Andreas Enge. * doc/guix.texi (Transparent Emulation with QEMU): Remove "--hda" in 'image' example.
2020-09-25doc: Explain how to connect to a childhurd.Ludovic Courtès
* doc/guix.texi (The Hurd in a Virtual Machine): Add instructions for VNC and SSH access. Mention childhurd secrets and /etc/childhurd.
2020-09-25doc: Fix outdated info and add missing space.André Batista
* doc/guix.texi (Messaging Services): Fix outdated info and add missing space. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2020-09-24services: WPA Supplicant: Conditionally depend on D-Bus.Marius Bakke
Fixes <https://bugs.gnu.org/43567>. Reported by calcium <calcium@disroot.org>. * gnu/services/networking.scm (<wpa-supplicant-configuration>)[requirement]: Remove 'dbus-system. (wpa-supplicant-shepherd-service)[requirement]: Add 'dbus-system when DBUS? is true. * doc/guix.texi (Networking Services)[wpa-supplicant-service-type]: Adjust accordingly.
2020-09-24services: cuirass: Add web SQL queries logging support.Mathieu Othacehe
* gnu/services/cuirass.scm (<cuirass-configuration>)[web-queries-log-file]: New field. (cuirass-shepherd-service): Honor it. (cuirass-log-rotations): If defined, add the web queries log file to the log rotation.
2020-09-24services: cuirass: Add SQL queries logging support.Mathieu Othacehe
* gnu/services/cuirass.scm (<cuirass-configuration>)[queries-log-file]: New field. (cuirass-shepherd-service): Honor it. (cuirass-log-rotations): If defined, add the queries log file to the log rotation.
2020-09-21environment: '--link-profile' uses ~/.guix-profile for environment variables.Ludovic Courtès
Before this patch, we had: $ guix environment -CP --ad-hoc coreutils [env]$ echo $PATH /gnu/store/…-profile/bin [env]$ echo $GUIX_ENVIRONMENT /gnu/store/…-profile After this patch: $ guix environment -CP --ad-hoc coreutils [env]$ echo $PATH /home/ludo/.guix-profile/bin [env]$ echo $GUIX_ENVIRONMENT /home/ludo/.guix-profile * guix/scripts/environment.scm (launch-environment/container): When LINK-PROFILE? is true, pass ~/.guix-profile as the second argument to 'launch-environment'. * tests/guix-environment-container.sh: Adjust test accordingly. * doc/guix.texi (Invoking guix environment): Update accordingly.
2020-09-18doc: Clarify what propagated inputs are.Florian Pelz
Fixes <https://bugs.gnu.org/26170>. * doc/guix.texi (package Reference)[package-propagated-inputs]: Clarify.
2020-09-15services: docker: Fix service definition.Oleg Pykhalov
This commit follows a404716d411cf7cd49ff02e3100f0bbf6622d6d5. * gnu/services/docker.scm (docker-configuration)[docker-cli]: New record field. (docker-service-type): Use this. * doc/guix.texi (Miscellaneous Services)[Docker Service]: Document this.
2020-09-14doc: Fix docker configuration options.Efraim Flashner
* doc/guix.texi (Docker Service): Fix typo in enable-proxy? default.
2020-09-13services: certbot: Support registration without email.Timotej Lazar
* gnu/services/certbot.scm (certbot-configuration): Add default for the email option. (certbot-command): Pass email for registration only when specified. * doc/guix.texi (Certificate Services): "mandatory"→"optional" email. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2020-09-11Revert "services: dovecot: Use modules via symlink to system profile."Tobias Geerinckx-Rice
This reverts commit bcfe0f0c1e9a2b91049d7c6c591c7f0c6a002c14 for now. It breaks most current use(r)s of the Dovecot service and needs to be combined with an extra modules configuration field of some kind. See <https://issues.guix.gnu.org/43347>.
2020-09-11doc: Distinguish the "nar bundle" format from "nar".Ludovic Courtès
* doc/guix.texi (Invoking guix archive): Introduce the term "nar bundle" and clarify what the output of "guix archive --export" really is. * guix/nar.scm (restore-one-item, restore-file-set): Use the term "nar bundle" in docstrings.
2020-09-10services: php-fpm: Add 'php-ini-file' configuration.Jelle Licht
* gnu/services/web.scm: (<php-fpm-configuration>)[php-ini-file]: New record field. (php-fpm-shepherd-service): Use it. * doc/guix.texi (Web Services): Document it.
2020-09-09services: dovecot: Use modules via symlink to system profile.Alexey Abramov
* gnu/services/mail.scm (%dovecot-activation): Link the location with multiple plugins (dovecot-pigeonhole, etc), to a place where dovecot can find them. * gnu/services/mail.scm (dovecot-configuration): Use the symlink. Signed-off-by: Tobias Geerinckx-Rice <me@tobias.gr>
2020-09-08doc: Tweak .texi to avoid po4a-translate infinite loop.Ludovic Courtès
* doc/guix.texi (Requirements): Keep @uref on one line as splitting it would lead po4a-translate to enter an infinite loop.
2020-09-08Remove (guix json) and require Guile-JSON 4.3.0+.Ludovic Courtès
This is a followup to 4071879c86d059ee087c8986915ea72b8c742b72. * guix/json.scm: Remove. * Makefile.am (MODULES): Adjust accordingly. * m4/guix.m4 (GUIX_CHECK_GUILE_JSON): Check for 'define-json-mapping'. * doc/guix.texi (Requirements): Require Guile-JSON 4.3.0+. * guix/ci.scm, guix/cve.scm, guix/import/cpan.scm, guix/import/crate.scm, guix/swh.scm: Remove (guix json) import. * guix/import/gem.scm, guix/import/pypi.scm: Likewise, and import (json). * guix/self.scm (specification->package): Switch to GUILE-JSON-4. * guix/git-download.scm (git-fetch): Likewise.
2020-09-04doc: Document 'file-system-label' and 'uuid'.Ludovic Courtès
* doc/guix.texi (File Systems): Document 'file-system-label' and 'uuid'.
2020-09-04doc: Balance parens in R Shiny example.Ludovic Courtès
* doc/guix.texi (Miscellaneous Services): Balance parens in R Shiny example.
2020-09-03doc: Add "Getting Started" section.Ludovic Courtès
* doc/guix.texi (Getting Started): New node. (Binary Installation): Refer to it and to "Application Setup". (After System Installation): Refer to "Getting Started". (Features): Add introductory sentence.
2020-09-01services: childhurd: Support installing secrets from the host.Jan (janneke) Nieuwenhuizen
* gnu/services/virtualization.scm (%hurd-vm-operating-system): Add secret-service. (hurd-vm-shepherd-service): Use it to install secrets. * doc/guix.texi (The Hurd in a Virtual Machine): Document it.
2020-09-01gexp: computed-file: Prevent mistakenly overriding default option values.Maxim Cournoyer
In order to do so, default to an empty options list, and expose options whose default values are sensitive directly as keyword arguments. * guix/gexp.scm (computed-file): Extract the LOCAL-BUILD? parameter from the OPTIONS parameter to make it a stand-alone keyword argument. Introduce an OPTIONS* binding which is obtained by combining the LOCAL-BUILD? keyword and its value with OPTIONS. * doc/guix.texi (G-Expressions): Adjust doc. Suggested-by: Ludovic Courtès <ludo@gnu.org>
2020-08-31guix: system: Add `--label' option.Julien Lepiller
* guix/scripts/system.scm (%options): Add `--label'. (system-derivation-for-action): Take a #:label key to set volume ID. (perform-action): Take a #:label key. (%default-options): Add default label value. (process-action): Pass label value from command-line to perform-action. * gnu/system/image.scm (image-with-label): New procedure.
2020-08-28doc: Document the 'description' and 'default-value' of <service-type>.Ludovic Courtès
* doc/guix.texi (Service Reference): Document the 'description' and 'default-value' fields of <service-type>.
2020-08-25offload: Modify the build-machine record to accept multiple systems.Maxim Cournoyer
* guix/scripts/offload.scm (<build-machine>)[systems]: New field. [system]: Accessor changed to %build-machine-system. Default to #f. * guix/scripts/offload.scm (build-machine-system): Wrap %build-machine-system with a deprecation warning. (build-machine-systems): Access the new systems field or fallback to use build-machine-system, for backward compatibility. (machine-matches?): Adjust. * tests/offload.scm: Add tests... * Makefile.am (SCM_TESTS): ...and register them. * doc/guix.texi (Daemon Offload Setup): Update doc.
2020-08-25doc: Fix typo.Tobias Geerinckx-Rice
* doc/guix.texi (Virtualization Services): Fix typo.
2020-08-24services: unattended-upgrade: Add 'operating-system-file' field.Ludovic Courtès
* gnu/services/admin.scm (<unattended-upgrade-configuration>)[operating-system-file]: New field. (unattended-upgrade-mcron-jobs): Honor it. * doc/guix.texi (Unattended Upgrades): Document it.
2020-08-24Use "guile-zlib" and "guile-lzlib" instead of (guix config).Mathieu Othacehe
* Makefile.am (MODULES): Remove guix/zlib.scm and guix/lzlib.scm, (SCM_TESTS): remove tests/zlib.scm, tests/lzlib.scm. * build-aux/build-self.scm (make-config.scm): Remove unused %libz variable. * configure.ac: Remove LIBZ and LIBLZ variables and check instead for Guile-zlib and Guile-lzlib. * doc/guix.texi ("Requirements"): Remove zlib requirement and add Guile-zlib and Guile-lzlib instead. * gnu/packages/package-management.scm (guix)[native-inputs]: Add "guile-zlib" and "guile-lzlib", [inputs]: remove "zlib" and "lzlib", [propagated-inputs]: ditto, [arguments]: add "guile-zlib" and "guile-lzlib" to Guile load path. * guix/config.scm.in (%libz, %liblz): Remove them. * guix/lzlib.scm: Remove it. * guix/man-db.scm: Use (zlib) instead of (guix zlib). * guix/profiles.scm (manual-database): Do not stub (guix config) in imported modules list, instead add "guile-zlib" to the extension list. * guix/scripts/publish.scm: Use (zlib) instead of (guix zlib) and (lzlib) instead of (guix lzlib), (string->compression-type, effective-compression): do not check for zlib and lzlib availability. * guix/scripts/substitute.scm (%compression-methods): Do not check for lzlib availability. * guix/self.scm (specification->package): Add "guile-zlib" and "guile-lzlib" and remove "zlib" and "lzlib", (compiled-guix): remove "zlib" and "lzlib" arguments and add guile-zlib and guile-lzlib to the dependencies, also do not pass "zlib" and "lzlib" to "make-config.scm" procedure, (make-config.scm): remove "zlib" and "lzlib" arguments as well as %libz and %liblz variables. * guix/utils.scm (lzip-port): Use (lzlib) instead of (guix lzlib) and do not check for lzlib availability. * guix/zlib.scm: Remove it. * m4/guix.m4 (GUIX_LIBZ_LIBDIR, GUIX_LIBLZ_FILE_NAME): Remove them. * tests/lzlib.scm: Use (zlib) instead of (guix zlib) and (lzlib) instead of (guix lzlib), and do not check for zlib and lzlib availability. * tests/publish.scm: Ditto. * tests/substitute.scm: Do not check for lzlib availability. * tests/utils.scm: Ditto. * tests/zlib.scm: Remove it.
2020-08-17doc: Fix a typo in the AutoSSH service documentation.Maxim Cournoyer
* doc/guix.texi (Networking Services)[autossh-configuration]: Fix typo.
2020-08-16services: docker: Add 'enable-iptables?' argument.Alexey Abramov
* gnu/services/docker.scm (docker-configuration): Define the argument. * gnu/services/docker.scm (docker-shepherd-service): Use it. * doc/guix.texi (Docker Service): Document it. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2020-08-10doc: Fix a typo.Tobias Geerinckx-Rice
* doc/guix.texi (operating-system Reference): Fix a typo & sigh. Reported by Jakub Kądziołka <kuba@kadziolka.net>.
2020-08-09doc: Shrink width of deeply-indented code sample.Tobias Geerinckx-Rice
This follows up on commit 4cafdce2102e3ebc7b3a6152464a62a454b6be45. * doc/guix.texi (operating-system Reference): Shorten comments to fit everything on an 80-character punch card.
2020-08-09doc: Explain how to select system package outputs.Tobias Geerinckx-Rice
* doc/guix.texi (operating-system Reference): Document that PACKAGES may contain traces of tuples and give an example.
2020-08-09doc: Fix typo.Tobias Geerinckx-Rice
* doc/guix.texi (operating-system Reference): Add missing ‘of’.
2020-08-03doc: Document 'mount-may-fail?' field.Ludovic Courtès
This is a followup to 7c27bd115b14afd142da7684cc349369965f9eab. * doc/guix.texi (File Systems): Document 'mount-may-fail?'.
2020-08-02services: Add zram-device-service.Efraim Flashner
* gnu/services/linux.scm (<zram-device-configuration>): New record. (zram-device-service-type): New variable. * doc/guix.texi (Linux Services): Document it. * tests/services/linux.scm (zram-swap-device-test): New tests.
2020-08-01doc: Explain how to use psql with peer authentication.Pierre Neidhardt
* doc/guix.texi (Database Services): Add example of shell commands to use psql as system user. Also add troubleshooting tip when service fails to start because of incompatible cluster.
2020-07-29doc: Extend tlp-service-type example.Tobias Geerinckx-Rice
* doc/guix.texi (Power Management Services): Demonstrate tlp-configuration usage. Suggested by rovanion on #guix.
2020-07-28doc: Warn against using the .scm extension for the channel news file.Pierre Neidhardt
* doc/guix.texi (Writing Channel News): Explain the issue with using the .scm extension and possible workarounds; fix the example to use the .txt extension instead.