summaryrefslogtreecommitdiff
path: root/doc/guix.texi
AgeCommit message (Collapse)Author
2020-10-22git: Require Guile-Git 0.3.0 or later.Ludovic Courtès
* guix/git.scm (auth-supported?): Remove. (clone*): Inline code that was dependent on AUTH-SUPPORTED?. (update-cached-checkout): Likewise. (resolve-reference): Remove check for 'object-lookup-prefix' and use it unconditionally. (load-git-submodules): Remove. (update-submodules): Use 'repository-submodules', 'submodule-lookup', etc. unconditionally. (update-cached-checkout): Use 'repository-close!' unconditionally. * m4/guix.m4 (GUIX_CHECK_GUILE_GIT): New macro. * configure.ac: Use it and error out when it fails. * doc/guix.texi (Requirements): Bump to Guile-Git 0.3.0.
2020-10-21doc: Move documentation of singularity-service-type.Ricardo Wurmus
Fixes <https://bugs.gnu.org/44126>. * doc/guix.texi: Move documentation of singularity-service-type from "Auditd Service" heading to "Docker Service" heading.
2020-10-21doc: Capitalize "Hurd" in 'operating-system' reference.Ludovic Courtès
* doc/guix.texi (operating-system Reference): Capitalize "Hurd".
2020-10-21doc: Add an entry for the 'keyboard-layout' procedure.Ludovic Courtès
* doc/guix.texi (Keyboard Layout): Add @deffn entry for 'keyboard-layout'.
2020-10-21doc: Fix typo in 'avahi-service-type' description.Ludovic Courtès
* doc/guix.texi (Networking Services): Change "zero-configuration" to "avahi-configuration".
2020-10-21doc: Fix typo in 'git-fetch' description.Ludovic Courtès
* doc/guix.texi (origin Reference): Replace "git-download" with "git-fetch" in one sentence.
2020-10-20services: databases: Don't specify a default postgresql version.Christopher Baines
Currently, if the postgresql package major version changes, this is going to break the service upon upgrade, because PostgreSQL will reject the data files from the differing major version of the service. Because it's important to either keep running a particular major version, or intentionally upgrade, I think the configuration would be better with no default. I think this is also going to be helpful when trying to assist users upgrading PostgreSQL. * gnu/services/databases.scm (<postgresql-configuration>): Remove default for postgresql. (postgresql-service-type): Remove the default value. * gnu/tests/databases.scm (%postgresql-os): Update accordingly. * gnu/tests/guix.scm (%guix-data-service-os): Update accordingly. * gnu/tests/monitoring.scm (%zabbix-os): Update accordingly. * gnu/tests/web.scm (patchwork-os): Update accordingly. * doc/guix.texi (PostgreSQL): Update accordingly.
2020-10-20services: databases: Deprecate the postgresql-service procedure.Christopher Baines
Using the service type directly is a better approach, making it easier to configure the service. * gnu/services/databases.scm (postgresql-service): Deprecate this procedure. * doc/guix.texi (PostgreSQL): Update the documentation for the use of (service postgresql-service-type).
2020-10-20doc: Add subheadings in to the Databases section.Christopher Baines
To make it clearer where the relevant documentation for a particular service starts and ends. * doc/guix.texi (Database Services): Add subheadings.
2020-10-20guix build: Move package transformation options behind '--help-transform'.Ludovic Courtès
This change declutters the '--help' output. * guix/scripts/build.scm (show-build-options-help) (%standard-build-options): Add '--help-transform'. (show-transformation-options-help): Make private. (show-help): Remove call to 'show-transformation-options-help'. * guix/scripts/build.scm (show-help): Likewise. * guix/scripts/environment.scm (show-help): Likewise. * guix/scripts/graph.scm (show-help): Likewise. * guix/scripts/install.scm (show-help): Likewise. * guix/scripts/pack.scm (show-help): Likewise. * guix/scripts/package.scm (show-help): Likewise. * guix/scripts/upgrade.scm (show-help): Likewise. * doc/guix.texi (Package Transformation Options): Mention '--help-transform'.
2020-10-20guix build: Add '--with-debug-info'.Ludovic Courtès
* guix/scripts/build.scm (transform-package-with-debug-info): New procedure. (%transformations): Add 'with-debug-info'. (%transformation-options, show-transformation-options-help): Add '--with-debug-info'. * tests/scripts-build.scm ("options->transformation, with-debug-info"): New test. * doc/guix.texi (Package Transformation Options): Document '--with-debug-info'. (Installing Debugging Files): Introduce sections. Remove bit about eventual "opt-out" since this is not happening. Document '--with-debug-info' under "Rebuilding with Debugging Info".
2020-10-20doc: Replace @example with @lisp in "Build Phases".Ludovic Courtès
* doc/guix.texi (Build Phases): Use @lisp for second example.
2020-10-20doc: More uses of @lisp instead of @example.Ludovic Courtès
* doc/guix.texi (G-Expressions): Use @lisp for 'let-system' example. * doc/contributing.texi (Synopses and Descriptions): Use @lisp for second example.
2020-10-20doc: Fix misuses of @var in "Defining Packages".Ludovic Courtès
* doc/guix.texi (Defining Packages): Use @code instead of @var where appropriate.
2020-10-20doc: Add "Build Phases" section.Ludovic Courtès
* doc/guix.texi (Build Phases): New section. (Build Systems): Remove 'modify-phases' example and add cross-reference to "Build Phases". (Build Utilities)[Build Phases]: Simplify intro and link to "Build Phases". (G-Expressions): Add index entries for "code staging" and add cross-reference to "Build Phases".
2020-10-20doc: Document 'url-fetch', 'git-fetch', and 'git-reference'.Ludovic Courtès
* doc/guix.texi (origin Reference): Rewrite initial paragraph. Properly document 'method' and its protocol. Document 'url-fetch', 'git-fetch', and 'git-reference' separately.
2020-10-20services: Add LXQt desktop service.Reza Alizadeh Majd
* gnu/services/desktop.scm (lxqt-desktop-service-type): New variable. (<lxqt-desktop-configuration>): New record type. (lxqt-desktop-configuration?): New procedure. * doc/guix.texi (Desktop Services): Document this. Co-authored-by: Oleg Pykhalov <go.wigust@gmail.com>
2020-10-17doc: Fix typo.Aniket Patil
* doc/guix.texi (Invoking guix import): Fix typo. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2020-10-17doc: Fixes for Texinfo metainfo.Miguel Ángel Arruga Vivas
* doc/guix.texi (guix-pack)[GUIX_EXECUTION_ENGINE]: Use @env instead of @code. (zram-device-service-type): Use @code instead of @var for constant or symbolic values. (rshiny-service-type): Use @env instead of @code for R_LIBS_USER.
2020-10-17doc: Fix minor typos.Miguel Ángel Arruga Vivas
* doc/guix.texi (cargo-build-system): Fix install phase description. (julia-build-system): Fix typo and add information from check. (pulseaudio-configuration): Remove duplicated words. (knot-acl-configuration)[id]: Fix typo. (mpd-output)[extra-options]: Likewise. (libvirt-configuration) [listen-tls?]: Add missing subject. [listen-tcp?]: Add missing subject and period. [tls-port, tcp-port, log-filters]: Add missing period. (hurd-vm-configuration)[netoptions]: Fix typo in example. (ganeti-watcher-service-type): Fix typo. (grub-theme)[gfxmode]: Remove see before @pxref.
2020-10-15doc: Improve "Build Utilities".Ludovic Courtès
* doc/guix.texi (Build Utilities): Fix typos. Provide the correct syntax for 'substitute*'. Add a 'modify-phases' example.
2020-10-15doc: Add "Build Utilities" section.Ludovic Courtès
* doc/guix.texi (Build Utilities): New section. (Defining Packages): Refer to it. (Build Systems): Likewise. * doc/guix-cookbook.texi (Extended example): Likewise.
2020-10-15doc: Fix typo.Mathieu Othacehe
* doc/guix.texi (Guix Build Coordinator): Fix typo.
2020-10-14services: nginx: Add lua module.Oleg Pykhalov
* gnu/services/web.scm (<nginx-configuration>) [lua-package-path, lua-package-cpath]: New record types. * gnu/services/web.scm (default-nginx-config): Use them. * doc/guix.texi (Web Services): Document this. * doc/guix-cookbook.texi (System Configuration): Document this.
2020-10-14doc: Mention "i586-gnu" as supported and experimental.Ludovic Courtès
* doc/guix.texi (GNU Distribution): Mention "i586-gnu".
2020-10-14doc: Avoid orphan node.Ludovic Courtès
Commit 4b5a6fbc9b754c0ca70d033dd99f17c4f028733a turned "Transparent Emulation with QEMU" into a node, but that was an orphan node, with no up/next/previous links. * doc/guix.texi (Virtualization Services): Capitalize subsection title. (Transparent Emulation with QEMU): Remove "@node" and add "@anchor". (Daemon Offload Setup): Adjust cross-reference accordingly.
2020-10-12guix build: Add '--with-c-toolchain'.Ludovic Courtès
* guix/scripts/build.scm (package-dependents/spec) (package-toolchain-rewriting, transform-package-toolchain): New procedures. (%transformations): Add it. (%transformation-options, show-transformation-options-help): Add '--with-c-toolchain'. * tests/scripts-build.scm (depends-on-toolchain?): New procedure. ("options->transformation, with-c-toolchain") ("options->transformation, with-c-toolchain twice") New test. ("options->transformation, with-c-toolchain, no effect"): New tests. * doc/guix.texi (Package Transformation Options): Document it.
2020-10-12packages: Add 'package-with-c-toolchain'.Ludovic Courtès
* guix/build-system.scm (build-system-with-c-toolchain): New procedure. * guix/packages.scm (package-with-c-toolchain): New procedure. * tests/packages.scm ("package-with-c-toolchain"): New test. * doc/guix.texi (package Reference): Document 'package-with-c-toolchain'. (Build Systems): Mention it.
2020-10-09doc: Sync the client and daemon --rounds options documentation.Maxim Cournoyer
Fixes <https://issues.guix.gnu.org/40867>. * doc/guix.texi (Common Build Options): Suggest using '--keep-failed' to keep differing build results in the store rather than 'guix archive'. Reported-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2020-10-09doc: Document missing openssh configure option.Efraim Flashner
* doc/guix.texi (Networking Services): Document configuration option to specify the openssh package for the openssh-service-type.
2020-10-08offload: Improve load normalization and configurability.Maxim Cournoyer
Fixes <https://issues.guix.gnu.org/43773>. The computed normalized load was previously obtained by dividing the load average as found in /proc/loadavg by the number of parallel builds defined for a build machine. This normalized load didn't allow to compare machines with different number of cores, as the load average reported by /proc/loadavg can be as high as the number of cores; thus comparing that value to a fixed threshold of 2.0 would mean machines with multiple cores were more likely to be flagged as overloaded compared to single core machines. This can be fixed by normalizing using the available number of cores instead of the number of parallel jobs. * guix/scripts/offload.scm (<build-machine>)[overload-threshold]: New field. (node-load): Modify to return a normalized load value between 0 and 1, taking into account the number of cores available. (normalized-load): Remove procedure. (report-load): New procedure. (choose-build-machine): Adjust to use the modified 'node-load' and the new 'report-load' and 'build-machine-overload-threshold' procedures. (check-machine-status): Adjust. * doc/guix.texi (Daemon Offload Setup): Document the offload scheduler and the new 'overload-threshold' field.
2020-10-08doc: Improve choice of options in service examples.Ludovic Courtès
* doc/guix.texi (Using the Configuration System): In example, set 'substitute-urls' rather than 'use-substitutes?', and set 'auto-login' for 'mingetty-configuration'. (Service Types and Services): In example, show 'extra-options' rather than 'use-substitutes?'.
2020-10-06services: dnsmasq: Add TFTP configuration fields.Danny Milosavljevic
* gnu/services/dns.scm (<dnsmasq-configuration>): Add TFTP configuration fields. (dnsmasq-shepherd-service): Use them. * doc/guix.texi (DNS Services): Document them.
2020-10-05services: guix: Add guix-build-coordinator-queue-builds-service-type.Christopher Baines
* gnu/services/guix.scm (<guix-build-coordinator-queue-builds-configuration>): New record type. (guix-build-coordinator-queue-builds-configuration, guix-build-coordinator-queue-builds-configuration?, guix-build-coordinator-queue-builds-configuration-package, guix-build-coordinator-queue-builds-configuration-user, guix-build-coordinator-queue-builds-coordinator, guix-build-coordinator-queue-builds-configuration-systems, guix-build-coordinator-queue-builds-configuration-system-and-targets, guix-build-coordinator-queue-builds-configuration-guix-data-service, guix-build-coordinator-queue-builds-configuration-processed-commits-file, guix-build-coordinator-queue-builds-shepherd-services, guix-build-coordinator-queue-builds-activation, guix-build-coordinator-queue-builds-account): New procedures. (guix-build-coordinator-queue-builds-service-type): New variable. * doc/guix.texi (Guix Services): Document it.
2020-10-05services: guix: Add guix-build-coordinator-agent-service-type.Christopher Baines
* gnu/services/guix.scm (<guix-build-coordinator-agent-configuration>): New record type. (guix-build-coordinator-agent-configuration, guix-build-coordinator-agent-configuration?, guix-build-coordinator-agent-configuration-package, guix-build-coordinator-agent-configuration-user, guix-build-coordinator-agent-configuration-coordinator, guix-build-coordinator-agent-configuration-uuid), guix-build-coordinator-agent-configuration-password, guix-build-coordinator-agent-configuration-password-file, guix-build-coordinator-agent-configuration-systems, guix-build-coordinator-agent-configuration-max-parallel-builds, guix-build-coordinator-agent-configuration-derivation-substitute-urls, guix-build-coordinator-agent-configuration-non-derivation-substitute-urls, guix-build-coordinator-agent-shepherd-services, guix-build-coordinator-agent-activation, guix-build-coordinator-agent-account): New procedures. (guix-build-coordinator-agent-service-type): New variable. * doc/guix.texi (Guix Services): Document it.
2020-10-05services: guix: Add guix-build-coordinator-service-type.Christopher Baines
* gnu/services/guix.scm (<guix-build-coordinator-configuration>): New record type. (guix-build-coordinator-configuration, guix-build-coordinator-configuration?, guix-build-coordinator-configuration-package, guix-build-coordinator-configuration-user, guix-build-coordinator-configuration-group, guix-build-coordinator-configuration-datastore-uri-string, guix-build-coordinator-configuration-agent-communication-uri-string, guix-build-coordinator-configuration-client-communication-uri-string, guix-build-coordinator-configuration-allocation-strategy, guix-build-coordinator-configuration-hooks, guix-build-coordinator-configuration-guile, make-guix-build-coordinator-start-script, guix-build-coordinator-shepherd-services, guix-build-coordinator-activation, guix-build-coordinator-account): New procedures. (guix-build-coordinator-service-type): New variable. * gnu/tests/guix.scm (%test-guix-build-coordinator): New variable. * doc/guix.texi (Guix Services): Document it.
2020-10-02guix package: Re-apply package transformation when upgrading.Ludovic Courtès
* guix/scripts/package.scm (transaction-upgrade-entry)[upgrade]: Add 'transform' parameter. Pass PKG through it. Use 'manifest-entry-with-transformations'. Call 'options->transformation' to get the transformation procedure. * tests/guix-package.sh: Add 'guix package -u' test. * tests/packages.scm ("transaction-upgrade-entry, transformation options preserved"): New test. * doc/guix.texi (Invoking guix package): Mention that transformations are preserved across upgrades. (Package Transformation Options): Likewise.
2020-10-02doc: Explain why '--without-tests' may fail with modified 'check' phase.Florian Pelz
* doc/guix.texi (Package Transformation Options): Explain.
2020-10-01gnu: Add webssh service.Oleg Pykhalov
* gnu/services/ssh.scm: (<webssh-configuration>): New record type. (%webssh-configuration-nginx, webssh-service-type): New variables. (webssh-account, webssh-activation, webssh-shepherd-service): New procedures. * doc/guix.texi: Document this.
2020-09-30scripts: system: Add support for image-type.Mathieu Othacehe
* guix/scripts/system.scm (list-image-types): New procedure, (%options): add "image-type" and "list-image-types" options, remove "file-system-type" option, (show-help): adapt accordingly, (%default-options): also adapt, and set the default "image-type" to "raw", (perform-action): add image-type argument and remove file-system-type argument, (process-action): adapt perform-action call, (system-derivation-for-action): remove base-image argument, add image-type argument, and use it to create the image passed to "system-image". * tests/guix-system.sh: Adapt accordingly and add a test for "--list-image-types" command. * doc/guix.texi (Building the Installation Image, Invoking guix system): Adapt accordingly. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2020-09-29services: hurd-vm: Initialize the guest's SSH/Guix keys at activation time.Ludovic Courtès
* gnu/services/virtualization.scm (initialize-hurd-vm-substitutes) (hurd-vm-activation): New procedures. (hurd-vm-service-type)[extensions]: Add ACTIVATION-SERVICE-TYPE extension. * doc/guix.texi (Transparent Emulation with QEMU): Mention GNU/Hurd. (The Hurd in a Virtual Machine): Explain which files are automatically installed and mention offloading.
2020-09-29services: guix: Generate key pair if needed during activation.Ludovic Courtès
* gnu/services/base.scm (guix-activation): Invoke "guix archive --generate-key". * doc/guix.texi (Invoking guix archive) (Invoking guix deploy): Mention that 'guix-service-type' takes care of generating the key pair.
2020-09-28services: Add elogind ‘handle-lid-switch-external-power’.Tobias Geerinckx-Rice
* gnu/services/desktop.scm <elogind-configuration>: Add an handle-lid-switch-external-power field, mapping to the HandleLidSwitchExternalPower logind.conf setting. * doc/guix.texi (Desktop Services): ‘Document’ it.
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.