summaryrefslogtreecommitdiff
path: root/doc
Commit message (Collapse)AuthorAge
* doc: Document 'url-fetch', 'git-fetch', and 'git-reference'.Ludovic Courtès2020-10-20
| | | | | | * doc/guix.texi (origin Reference): Rewrite initial paragraph. Properly document 'method' and its protocol. Document 'url-fetch', 'git-fetch', and 'git-reference' separately.
* services: Add LXQt desktop service.Reza Alizadeh Majd2020-10-20
| | | | | | | | | * 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>
* maint: update-guix-package: Prevent accidentally breaking guix pull.Maxim Cournoyer2020-10-19
| | | | | | | | | | | | | | | | | | | | | Fixes <https://issues.guix.gnu.org/43893>. This changes the 'update-guix-package' tool so that it: 1. Always uses a clean checkout to compute the hash of the updated 'guix' package. 2. Ensures the commit used in the updated 'guix' package definition has already been pushed upstream. * build-aux/update-guix-package.scm (%savannah-guix-git-repo-push-url): New variable. (with-input-pipe-to-string, with-temporary-git-worktree): New syntaxes. (find-origin-remote, git-add-worktree): New procedures. (commit-already-pushed?): New predicate. (main): Check the commit used has already been pushed upstream and compute the hash from a clean checkout. * doc/contributing.texi (Updating the Guix Package): Document it. * .dir-locals.el (scheme-mode): Fix indentation of with-temporary-git-worktree.
* doc: Produce stylable HTML for @deftp, @deffn, etc.Ludovic Courtès2020-10-19
| | | | | | | | | | | 'makeinfo --help' uses <strong> and <em> for those entries. Replace that with CSS classes. * doc/build.scm (html-manual-identifier-index)[build]: Adjust to handle rewritten forms of <dt> entries. * doc/build.scm (syntax-highlighted-html)[build][syntax-highlight]: Handle <dt> forms and replace them. [highlight-definition, space?]: New procedures.
* doc: Fix typo.Aniket Patil2020-10-17
| | | | | | * doc/guix.texi (Invoking guix import): Fix typo. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* doc: cookbook: Balance parens in custom kernel examples.Ludovic Courtès2020-10-17
| | | | | * doc/guix-cookbook.texi (Customizing the Kernel): Add missing paren in example. Remove extra parens in other example.
* doc: Generate cross-references in code snippets to the Guile manual.Ludovic Courtès2020-10-17
| | | | | | | | | | | | | Occurrences of 'list', 'cons', etc. in code snippets now link to the relevant section of the Guile manual. * doc/build.scm (guile-manual, %guile-manual-base-url) (guile-mono-node-indexes, guile-split-node-indexes): New variables. (for-all-languages, merge-index-alists): New procedures. <top level>: Rename 'mono-node-indexes' and 'split-node-indexes' to 'guix-mono-node-indexes' and 'guix-split-node-indexes' respectively. Add 'mono-node-indexes' and 'split-node-indexes' defined as calls to 'merge-index-alists'.
* doc: Allow code snippets in the cookbook to link to the manual.Ludovic Courtès2020-10-17
| | | | | | | | | | | | | Until now, only code snippets in the manual itself would contain links to identifier definitions. Now snippets in the cookbook also link to definitions in the manual. * doc/build.scm (html-manual): Add #:mono-node-indexes and #:multi-node-indexes and pass it to 'syntax-highlighted-html'. (pdf+html-manual): Likewise, and pass it to 'html-manual'. <top level>: Factorize 'version' and 'source'. Define 'guix-manual', 'mono-node-indexes', and 'split-node-indexes'. Pass #:mono-node-indexes and #:split-node-indexes to 'pdf+html-manual'.
* doc: Move manual index creation to a separate derivation.Ludovic Courtès2020-10-17
| | | | | | | | | | * doc/build.scm (normalize-language-code, html-manual-identifier-index): New procedures. (syntax-highlighted-html): Add #:mono-node-indexes and #:split-node-indexes. [build](underscore-decode, anchor-id->key, collect-anchors): Remove. (language+node-anchors, mono-node-anchors, multi-node-anchors): New variables. Use them.
* doc: Remove 'build.scm' from the source of the manual.Ludovic Courtès2020-10-17
| | | | | | | | That way we no longer have to rebuild the whole manual when fiddling with 'build.scm'. * doc/build.scm <top level>: Define 'select?' and pass it to 'pdf+html-manual'.
* doc: Fixes for Texinfo metainfo.Miguel Ángel Arruga Vivas2020-10-17
| | | | | | | | * 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.
* doc: Fix minor typos.Miguel Ángel Arruga Vivas2020-10-17
| | | | | | | | | | | | | | * 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.
* doc: cookbook: Clarify what keywords are.Ludovic Courtès2020-10-15
| | | | | * doc/guix-cookbook.texi (A Scheme Crash Course): Clarify what keywords are.
* doc: Improve "Build Utilities".Ludovic Courtès2020-10-15
| | | | | * doc/guix.texi (Build Utilities): Fix typos. Provide the correct syntax for 'substitute*'. Add a 'modify-phases' example.
* doc: Add "Build Utilities" section.Ludovic Courtès2020-10-15
| | | | | | | * doc/guix.texi (Build Utilities): New section. (Defining Packages): Refer to it. (Build Systems): Likewise. * doc/guix-cookbook.texi (Extended example): Likewise.
* doc: cookbook: Use @code for the identifiers of utility functions.Ludovic Courtès2020-10-15
| | | | * doc/guix-cookbook.texi (Utility functions): Use @code instead of @asis.
* doc: cookbook: More "#true" and "#false".Ludovic Courtès2020-10-15
| | | | | * doc/guix-cookbook.texi (Extended example) (Customizing the Kernel, Running Guix on a Linode Server): Use #true and #false.
* doc: cookbook: Use @var for meta-syntactic variables.Ludovic Courtès2020-10-15
| | | | | * doc/guix-cookbook.texi (Extended example): Use @var for meta-syntactic variables in 'modify-phases' description.
* doc: cookbook: Fix 'let' form in example.Ludovic Courtès2020-10-15
| | | | * doc/guix-cookbook.texi (Extended example): Fix 'let' form in example.
* doc: Fix typo.Mathieu Othacehe2020-10-15
| | | | * doc/guix.texi (Guix Build Coordinator): Fix typo.
* services: nginx: Add lua module.Oleg Pykhalov2020-10-14
| | | | | | | | * 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.
* doc: cookbook: Mention "#true" and "#false".Ludovic Courtès2020-10-14
| | | | | | * doc/guix-cookbook.texi (A Scheme Crash Course): Mention "#true" and "#false". (Extended example): Likewise.
* doc: Mention "i586-gnu" as supported and experimental.Ludovic Courtès2020-10-14
| | | | * doc/guix.texi (GNU Distribution): Mention "i586-gnu".
* doc: Avoid orphan node.Ludovic Courtès2020-10-14
| | | | | | | | | | 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.
* guix build: Add '--with-c-toolchain'.Ludovic Courtès2020-10-12
| | | | | | | | | | | | | | * 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.
* packages: Add 'package-with-c-toolchain'.Ludovic Courtès2020-10-12
| | | | | | | | * 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.
* doc: Sync the client and daemon --rounds options documentation.Maxim Cournoyer2020-10-09
| | | | | | | | | 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>
* doc: Document missing openssh configure option.Efraim Flashner2020-10-09
| | | | | * doc/guix.texi (Networking Services): Document configuration option to specify the openssh package for the openssh-service-type.
* offload: Improve load normalization and configurability.Maxim Cournoyer2020-10-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* doc: Clarify that guix-daemon doesn't have to be launched from the checkout.Ludovic Courtès2020-10-08
| | | | | | | | | Suggested by Emmanuel Agullo. * doc/contributing.texi (Running Guix Before It Is Installed): Move the "./pre-inst-env guix-daemon" snippet at the bottom. Make it clear that it's necessary only when hacking on guix-daemon or when guix-daemon is not already running.
* doc: Developers don't need to run "make install" in Guix.Ludovic Courtès2020-10-08
| | | | | | | Suggested by Emmanuel Agullo. * doc/contributing.texi (Building from Git): Mention that running "make install" is unnecessary.
* doc: Improve choice of options in service examples.Ludovic Courtès2020-10-08
| | | | | | | | * 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?'.
* services: dnsmasq: Add TFTP configuration fields.Danny Milosavljevic2020-10-06
| | | | | | | * gnu/services/dns.scm (<dnsmasq-configuration>): Add TFTP configuration fields. (dnsmasq-shepherd-service): Use them. * doc/guix.texi (DNS Services): Document them.
* services: guix: Add guix-build-coordinator-queue-builds-service-type.Christopher Baines2020-10-05
| | | | | | | | | | | | | | | | | | | * 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.
* services: guix: Add guix-build-coordinator-agent-service-type.Christopher Baines2020-10-05
| | | | | | | | | | | | | | | | | | | | | | * 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.
* services: guix: Add guix-build-coordinator-service-type.Christopher Baines2020-10-05
| | | | | | | | | | | | | | | | | | | | | * 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.
* guix package: Re-apply package transformation when upgrading.Ludovic Courtès2020-10-02
| | | | | | | | | | | | | * 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.
* doc: Explain why '--without-tests' may fail with modified 'check' phase.Florian Pelz2020-10-02
| | | | * doc/guix.texi (Package Transformation Options): Explain.
* gnu: Add webssh service.Oleg Pykhalov2020-10-01
| | | | | | | | * 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.
* scripts: system: Add support for image-type.Mathieu Othacehe2020-09-30
| | | | | | | | | | | | | | | | | | | * 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>
* services: hurd-vm: Initialize the guest's SSH/Guix keys at activation time.Ludovic Courtès2020-09-29
| | | | | | | | | | * 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.
* services: guix: Generate key pair if needed during activation.Ludovic Courtès2020-09-29
| | | | | | | | * 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.
* services: Add elogind ‘handle-lid-switch-external-power’.Tobias Geerinckx-Rice2020-09-28
| | | | | | | * 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.
* doc: Clarify how to choose a user account shell.Ludovic Courtès2020-09-28
| | | | | * doc/guix.texi (User Accounts): Add example with custom shell and custom home directory. Add examples of shell gexps.
* doc: Move channel @cindex within their nodes.Ludovic Courtès2020-09-27
| | | | | * doc/guix.texi (Channels): Move @cindex at the beginning of the node they refer to from the end of the previous node.
* doc: Move "Primary URL" after "Specifying Channel Authorizations".Ludovic Courtès2020-09-27
| | | | | | * doc/guix.texi (Primary URL): Move after "Specifying Channel Authorizations" since the audience is channel authors who've already taken care of authorizations.
* doc: Promote "Channels" as chapter and reorder.zimoun2020-09-27
| | | | | | | | | | | | | | | | | | | | | | 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>
* doc: Update the master menu.zimoun2020-09-27
| | | | | | * doc/guix.texi: Update the master menu. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* packages: 'package-input-rewriting' has a #:deep? parameter.Ludovic Courtès2020-09-27
| | | | | | | | | | | | | * 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.
* packages: 'package-input-rewriting/spec' can rewrite implicit dependencies.Ludovic Courtès2020-09-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.