aboutsummaryrefslogtreecommitdiff
path: root/doc/guix.texi
Commit message (Collapse)AuthorAge
* services: certbot: Add --manual-public-ip-logging-ok for manual challengesCarlo Zancanaro2019-09-16
| | | | | | | | * gnu/services/certbot.scm (certbot-command): Add --manual-public-ip-logging-ok flag to the certbot command when doing a manual challenge. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* doc: Actually suggest ‘fc-cache -r’.Tobias Geerinckx-Rice2019-09-11
| | | | | | A follow-up commit to 0cd3e99d64081e958919845ddd01ae8d2fb2d692. * doc/guix.texi (Application Setup): Fix my own typo.
* doc: Run fc-cache verbosely and delete existing caches.Joshua Branson2019-09-11
| | | | | | | * doc/guix.texi (Application Setup): Suggest ‘fc-cache -rv’ instead of ‘fc-cache -f’. Signed-off-by: Tobias Geerinckx-Rice <me@tobias.gr>
* import: crate: Allow imports of a specific version.Martin Becze2019-09-10
| | | | | | | | | | | * guix/import/crate.scm (crate->guix-package): Add optional 'version' argument and honor it. * guix/scripts/import/crate.scm (guix-import-crate): Assume the first argument is a spec and destructure it with 'package-name->name+version'. Pass both to 'crate->guix-package'. * doc/guix.texi (Invoking guix import): Document it. Co-authored-by: Ludovic Courtès <ludo@gnu.org>
* services: ntp: Support different NTP server types and options.Maxim Cournoyer2019-09-08
| | | | | | | | | | | | | | | | | | | * gnu/services/networking.scm (ntp-server-types): New enum. (<ntp-server>): New record type. (ntp-server->string): New procedure. (%ntp-servers): Define in terms of <htp-server> records. Use the first entrypoint server as a pool instead of a list of static servers. This is more resilient since a new server of the pool can be interrogated on every request. Add the 'iburst' options. (ntp-configuration-servers): Define a custom accessor that warns but honors the now deprecated server format. (<ntp-configuration>): Use it. (%openntpd-servers): New variable, (<openntpd-configuration>): Use it, as a pool ('servers' field) instead of a regular server. * tests/networking.scm: New file. * Makefile.am (SCM_TESTS): Register it. * doc/guix.texi: Update documentation.
* doc: Add index to find 'ntpd'.Maxim Cournoyer2019-09-08
| | | | * doc/guix.texi (Networking Services): Add @cindex to find 'ntpd'
* services: ntp: Allow large adjustment by default.Maxim Cournoyer2019-09-08
| | | | | | | | | | This is documented as best practice in `man ntpd', and is required to allow the date to be set correctly when traveling (without having to manually update the hardware clock in the BIOS/UEFI). * gnu/services/networking.scm (<ntp-server>)[allow-large-adjustment?]: Set the default value to #t. * doc/guix.texi (Networking Services): Update documentation.
* doc: Fix verb conjugation.Matthew Kraai2019-09-08
| | | | | | * doc/guix.texi (Invoking guix pull): Change "run" to "ran". Signed-off-by: Tobias Geerinckx-Rice <me@tobias.gr>
* daemon: Invoke 'guix gc --list-busy' instead of 'list-runtime-roots'.Ludovic Courtès2019-09-08
| | | | | | | | | | | | | | | | | | | | | | | * nix/scripts/list-runtime-roots.in: Remove. * guix/store/roots.scm (%proc-directory): New variable. (proc-file-roots, proc-exe-roots, proc-cwd-roots) (proc-fd-roots, proc-maps-roots, proc-environ-roots) (referenced-files, canonicalize-store-item, busy-store-items): New procedures, taken from 'list-runtime-roots.in'. * nix/libstore/globals.hh (Settings)[guixProgram]: New field. * nix/libstore/globals.cc (Settings::processEnvironment): Initialize 'guixProgram'. * nix/libstore/gc.cc (addAdditionalRoots): Drop code related to 'NIX_ROOT_FINDER'. Run "guix gc --list-busy". * nix/local.mk (nodist_pkglibexec_SCRIPTS): Remove 'scripts/list-runtime-roots'. * config-daemon.ac: Don't output nix/scripts/list-runtime-roots. * build-aux/pre-inst-env.in: Don't set 'NIX_ROOT_FINDER'. Set 'GUIX'. * doc/guix.texi (Invoking guix gc): Document '--list-busy'. * guix/scripts/gc.scm (show-help, %options): Add "--list-busy". (guix-gc)[list-busy]: New procedure. Handle the 'list-busy' action.
* doc: Use @lisp instead of @example for Scheme snippets.Ludovic Courtès2019-09-07
| | | | | | | | This is a followup to f8c143a7131d6f40f387f4cd2ad1fa78b5e2f429, which allows syntax highlighting of @lisp snippets in the HTML output. * doc/guix.texi, doc/contributing.texi: Use @lisp instead of @example for all the Scheme snippets.
* build: Add julia-build-system.nixo2019-09-04
| | | | | | | | | * guix/build/julia-build-system.scm: New file. * guix/build-system/julia.scm: New file. * Makefile.am (MODULES): Add them. * doc/guix.texi (Build Systems): Document julia-build-system. Signed-off-by: Julien Lepiller <julien@lepiller.eu>
* doc: guix deploy: Add missing record field to example.Ricardo Wurmus2019-09-03
| | | | | | Reported by GNUtoo on #guix. * doc/guix.texi (Invoking guix deploy): Add missing "system" field to example.
* lint: Add 'archival' checker.Ludovic Courtès2019-09-02
| | | | | | | | | | | * guix/lint.scm (check-archival): New procedure. (%network-dependent-checkers): Add 'archival' checker. * tests/lint.scm ("archival: missing content") ("archival: content available") ("archival: missing revision") ("archival: revision available") ("archival: rate limit reached"): New tests. * doc/guix.texi (Invoking guix lint): Document it.
* doc: Explain that "guix import" and "guix refresh" may need GnuPG.Ludovic Courtès2019-09-02
| | | | | | | | Fixes <https://bugs.gnu.org/36051>. Reported by Jesse Gibbons <jgibbons2357@gmail.com>. * doc/guix.texi (Invoking guix import, Invoking guix refresh): Mention that GnuPG must be installed.
* doc: Specify the files rotated by default by the rottlog service.Maxim Cournoyer2019-09-01
| | | | | * doc/guix.texi (Log Rotation): Replace "a couple of other files" by "/var/log/guix-daemon.log".
* doc: Update the default list of files rotated by rottlog.Maxim Cournoyer2019-09-01
| | | | | * doc/guix.texi (Log Rotation): Add "/var/log/debug" and "/var/log/maillog" to the default value of %rotated-files.
* services: cups: Rename ‘retry-this-job’ to ‘retry-current-job’.Tobias Geerinckx-Rice2019-08-31
| | | | | | * gnu/services/cups.scm (error-policy, cups-configuration): Substitute RETRY-CURRENT-JOB for the obsolete RETRY-THIS-JOB name of this policy. * doc/guix.texi (Printing Services): Likewise.
* doc: Update GIT-DOWNLOAD @example.Tobias Geerinckx-Rice2019-08-30
| | | | | * doc/guix.texi (origin Reference): Use (HTTPS, GNU-hosted) ‘hello’ package repository instead of off-line ‘shadow’ one.
* doc: Prefer https:// over git://.Tobias Geerinckx-Rice2019-08-30
| | | | * doc/guix.texi (Continuous Integration): Use https:// in fictitious URLs.
* services: cups: Move SET-ENV to FILES-CONFIGURATION.Tobias Geerinckx-Rice2019-08-30
| | | | | | * gnu/services/cups.scm (cups-configuration): Move SET-ENV from here… (files-configuration): …to here. * doc/guix.texi (Printing Services): Adjust accordingly.
* services: cups: Add BrowseDNSSDSubTypes directive.Tobias Geerinckx-Rice2019-08-30
| | | | | | | * gnu/services/cups.scm (comma-separated-string-list?) (serialize-comma-separated-string-list): New variables. (cups-configuration)[browse-dns-sd-sub-types]: New field. * doc/guix.texi (Printing Services): Document it.
* doc: Do not refer to Bioconductor SVN.Ricardo Wurmus2019-08-29
| | | | | * doc/guix.texi (Invoking guix import): Do not mention the now defunct Bioconductor SVN repository.
* import: cran: Add support for git repositories.Ricardo Wurmus2019-08-29
| | | | | | | | | | | | | | | | | | | * guix/import/cran.scm (vcs-file?): New procedure. (download): Support downloading from git. (fetch-description): Add a clause for the 'git repository type. (files-match-pattern?): New procedure. (tarball-files-match-pattern?): Implement in terms of FILES-MATCH-PATTERN?. (directory-needs-fortran?, directory-needs-zlib?, directory-needs-pkg-config?): New procedures. (needs-fortran?, needs-zlib?, needs-pkg-config?): Rename these procedures... (tarball-needs-fortran?, tarball-needs-zlib?, tarball-needs-pkg-config?): ...to this, and use them. (file-hash): New procedure. (description->package): Handle the 'git repository type. * guix/import/utils.scm (package->definition): Handle package expression inside of a let. * guix/scripts/import.scm (guix-import): Handle let expressions. * doc/guix.texi (Invoking guix import): Document it.
* services: cuirass: Log web interface to separate file.Ricardo Wurmus2019-08-29
| | | | | | * gnu/services/cuirass.scm (<cuirass-configuration>): Add web-log-file field. (cuirass-shepherd-service): Read it and use it. * doc/guix.texi (Continuous Integration): Document it.
* build/cargo-build-system: Remove 'update-cargo-lock phase.Efraim Flashner2019-08-28
| | | | | | | | | * guix/build/cargo-build-system.scm (update-cargo-lock): Remove procedure. (configure): Delete Cargo.lock file if it exists. (%standard-phases): Remove 'update-cargo-lock. * doc/guix.texi (Build System)[cargo-build-system]: Remove references to the 'update-cargo-lock phase.
* services: cups: Complete SSL-OPTIONS.Tobias Geerinckx-Rice2019-08-27
| | | | | | | | …except for ‘AllowDH’, which makes no sense on GNU TLS systems. * gnu/services/cups.scm (ssl-options?): Validate ‘DenyCBC’ and ‘DenyTLS1.0’. * doc/guix.texi (Printing Services): Document them both.
* doc: Follow-up commit to 407ebeaa1.Maxim Cournoyer2019-08-27
| | | | | | | | | | Following some discussion with Ludovic (see: https://lists.gnu.org/archive/html/guix-patches/2019-08/msg00506.html), it is better advice to generally recommend the use of `program-file' for any usage of modules, not just for those which define syntax. * doc/guix.texi (Scheduled Job Execution): Drop the following text: "that defines syntax (macros)".
* doc: Fix typo.Nicolas Goaziou2019-08-26
| | | | * doc/guix.texi (Build Systems): Add missing question mark to
* doc: Document the use of `program-file' for mcron jobs.Maxim Cournoyer2019-08-26
| | | | | * doc/guix.texi (Scheduled Job Execution): Explain why using `program-file' for an mcron job can be necessary. Add an example.
* doc: Add description of 'build-locally?'.Jakob L. Kreuze2019-08-15
| | | | | * doc/guix.texi (Invoking guix deploy): Add section describing the 'build-locally?' field of 'managed-host-environment-type'.
* machine: Automatically authorize the coordinator's signing key.Jakob L. Kreuze2019-08-15
| | | | | | | | | | * guix/ssh.scm (remote-authorize-signing-key): New variable. * gnu/machine/ssh.scm (deploy-managed-host): Authorize coordinator's signing key before any invocations of 'remote-eval'. (deploy-managed-host): Display an error if a signing key does not exist. * doc/guix.texi (Invoking guix deploy): Remove section describing manual signing key authorization. (Invoking guix deploy): Add section describing the 'authorize?' field.
* machine: Allow non-root users to deploy.Jakob L. Kreuze2019-08-15
| | | | | | | | | | | | | | | | | | * doc/guix.texi (Invoking guix deploy): Add section describing prerequisites for deploying as a non-root user. * guix/remote.scm (remote-pipe-for-gexp): New optional 'become-command' argument. (%remote-eval): New optional 'become-command' argument. (remote-eval): New 'become-command' keyword argument. * guix/ssh.scm (remote-inferior): New optional 'become-command' argument. (inferior-remote-eval): New optional 'become-command' argument. (remote-authorize-signing-key): New optional 'become-command' argument. * gnu/machine/ssh.scm (machine-become-command): New variable. (managed-host-remote-eval): Invoke 'remote-eval' with the '#:become-command' keyword. (deploy-managed-host): Invoke 'remote-authorize-signing-key' with the '#:become-command' keyword.
* remote: Build derivations appropriate for the remote'sJakob L. Kreuze2019-08-14
| | | | | | | | | | | | | | * gnu/machine/ssh.scm (machine-ssh-configuration): Add 'system' field. (managed-host-remote-eval): Pass 'system' field to 'remote-eval'. (machine-check-building-for-appropriate-system): New variable. (check-deployment-sanity): Add call to 'machine-check-building-for-appropriate-system'. * doc/guix.texi (Invoking guix deploy): Describe new 'system' field. * guix/ssh.scm (remote-system): New variable. * guix/remote.scm (remote-eval): Use result of 'remote-system' when lowering the G-Expression. (remote-eval): Add 'system' keyword argument. (trampoline): Return a <program-file> rather than a <scheme-file>.
* machine: Rename 'system' field.Jakob L. Kreuze2019-08-06
| | | | | | | | * gnu/machine.scm (machine-system): Delete variable. (machine-operating-system): New variable. All callers changed. * doc/guix.texi (Invoking guix deploy): Use the 'machine-operating-system' accessor rather than 'machine-system'.
* doc: Add note about signing keys.Jakob L. Kreuze2019-08-06
| | | | | * doc/guix.texi (Invoking guix deploy): Add note explaining that deployment targets must authorize the coordinator machine's signing key.
* build/cargo-build-system: Patch cargo checksums.Efraim Flashner2019-08-04
| | | | | | | | | | * guix/build/cargo-build-system.scm (generate-all-checksums): New procedure. (update-cargo-lock, patch-cargo-checksums): New phases. (%standard-phases): Add 'update=cargo-lock after 'configure and 'patch-cargo-checksums after 'patch-generated-file-shebangs. * doc/guix.texi (Build System)[cargo-build-system]: Mention how Cargo.lock files are handled.
* gexp: 'program-file' honors the current system and cross-compilation target.Ludovic Courtès2019-07-26
| | | | | | | | | | | | Fixes <https://bugs.gnu.org/36813>. Reported by Jakob L. Kreuze <zerodaysfordays.sdf.org@sdf.org>. * guix/gexp.scm (program-file-compiler): Pass #:system and #:target to 'gexp->script'. (load-path-expression): Add #:system and #:target and honor them. (gexp->script): Likewise. * tests/gexp.scm ("program-file #:system"): New test. * doc/guix.texi (G-Expressions): Adjust accordingly.
* git: <git-checkout> allows tags in its 'commit' field.Ludovic Courtès2019-07-26
| | | | | | | | | | | Fixes <https://bugs.gnu.org/36371>. Reported by Tobias Geerinckx-Rice <me@tobias.gr>. * guix/git.scm (git-checkout-compiler): Pass 'tag-or-commit' to 'latest-repository-commit*'. * doc/guix.texi (Package Transformation Options): Update '--with-commit' documentation accordingly. * tests/guix-build-branch.sh: Add test.
* maint: Switch to Guile-JSON 3.x.Ludovic Courtès2019-07-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Guile-JSON 3.x is incompatible with Guile-JSON 1.x, which we relied on until now: it maps JSON dictionaries to alists (instead of hash tables), and JSON arrays to vectors (instead of lists). This commit is about adjusting all the existing code to this new mapping. * m4/guix.m4 (GUIX_CHECK_GUILE_JSON): New macro. * configure.ac: Use it. * doc/guix.texi (Requirements): Mention the Guile-JSON version. * guix/git-download.scm (git-fetch)[guile-json]: Use GUILE-JSON-3. * guix/import/cpan.scm (string->license): Expect vectors instead of lists. (module->dist-name): Use 'json-fetch' instead of 'json-fetch-alist'. (cpan-fetch): Likewise. * guix/import/crate.scm (crate-fetch): Likewise, and call 'vector->list' for DEPS. * guix/import/gem.scm (rubygems-fetch): Likewise. * guix/import/json.scm (json-fetch-alist): Remove. * guix/import/pypi.scm (pypi-fetch): Use 'json-fetch' instead of 'json-fetch-alist'. (latest-source-release, latest-wheel-release): Call 'vector->list' on RELEASES. * guix/import/stackage.scm (stackage-lts-info-fetch): Use 'json-fetch' instead of 'json-fetch-alist'. (lts-package-version): Use 'vector->list'. * guix/import/utils.scm (hash-table->alist): Remove. (alist->package): Pass 'vector->list' on the inputs fields, and default to the empty vector. * guix/scripts/import/json.scm (guix-import-json): Remove call to 'hash-table->alist'. * guix/swh.scm (define-json-reader): Expect pair? or null? instead of hash-table?. [extract-field]: Use 'assoc-ref' instead of 'hash-ref'. (json->branches): Use 'map' instead of 'hash-map->list'. (json->checksums): Likewise. (json->directory-entries, origin-visits): Call 'vector->list' on the result of 'json->scm'. * tests/import-utils.scm ("alist->package with dependencies"): New test. * gnu/installer.scm (build-compiled-file)[builder]: Use GUILE-JSON-3. * gnu/installer.scm (installer-program)[installer-builder]: Likewise. * gnu/installer/locale.scm (iso639->iso639-languages): Use 'assoc-ref' instead of 'hash-ref', and pass vectors through 'vector->list'. (iso3166->iso3166-territories): Likewise. * gnu/system/vm.scm (system-docker-image)[build]: Use GUILE-JSON-3. * guix/docker.scm (manifest, config): Adjust for Guile-JSON 3. * guix/scripts/pack.scm (docker-image)[build]: Use GUILE-JSON-3. * guix/import/github.scm (fetch-releases-or-tags): Update docstring. (latest-released-version): Use 'assoc-ref' instead of 'hash-ref'. Pass the result of 'fetch-releases-or-tags' to 'vector->list'. * guix/import/launchpad.scm (latest-released-version): Likewise.
* doc: Warn about GPG warning.Leo Famulari2019-07-24
| | | | | * doc/guix.texi (Binary Installation, USB Stick and DVD Installation): Warn users about the web-of-trust untrusted key warning from GPG.
* doc: Add example for generating a secret key with knot DNS.Julien Lepiller2019-07-23
| | | | | * doc/guix.texi (DNS Services): Add an example and more context to the includes field of the knot-configuration record.
* doc: Update 'guix import json' example.Ludovic Courtès2019-07-22
| | | | | | | This is a followup to d78010b81ee6ef4fd8803082e2f401b9e55b44db. * doc/guix.texi (Invoking guix import): Change 'guix import json' example to refer to "gettext", not "gcc".
* doc: Correctly document 'host' field of <cuirass-configuration>.Ludovic Courtès2019-07-18
| | | | * doc/guix.texi (Continuous Integration): Fix doc of the 'host' field.
* doc: Remove note about grafts being "beta".Ludovic Courtès2019-07-18
| | | | | * doc/guix.texi (Security Updates): Remove pointless note about the feature being "beta".
* build: Add node-build-system.Jelle Licht2019-07-14
| | | | | | | | | | * guix/build/node-build-system.scm: New file. * guix/build-system/node.scm: New file. * guix/build/json.scm: New file. * doc/guix.texi: Document it. * Makefile.am: Added new files. Co-Authored-By: Julien Lepiller <julien@lepiller.eu>
* channels: Add optional directory to channel metadata.Jan Nieuwenhuizen2019-07-14
| | | | | | | * guix/channels.scm (<channel-metadata>): Add directory slot. Update users. (read-channel-metadata-from-source): New function. (standard-module-derivation): Use it. * doc/guix.texi (Package Modules in a Subdirectory): New subsection.
* doc: Increase VM memory size.Tobias Geerinckx-Rice2019-07-13
| | | | | * doc/guix.texi (Running Guix in a VM): Bump ‘-m‘ to 1 GiB to match its @item below, and have a chance of being usable, too.
* doc: Update gpg key fetching instructions.Tobias Geerinckx-Rice2019-07-13
| | | | | | | | | This mirrors the steps performed by etc/guix-install.sh. * doc/guix.texi (KEY-SERVER): Replace moribund SKS key servers with... (OPENPGP-SIGNING-KEY-URL): ...the TLS PKI of the future. (Binary Installation, USB Stick and DVD Installation): Update the @example gpg command to download the key directly from Savannah.
* scripts: environment: Add --no-cwd.Carl Dong2019-07-08
| | | | | | | | | | | | | * doc/guix.texi (Invoking guix environment): Add --no-cwd. * guix/scripts/environment.scm (show-help, %options): Add --no-cwd. (launch-environment/container): Add 'map-cwd?' param; only add mapping for cwd if #t. Only change to cwd within container if #t, otherwise home. (guix-environment): Error if --no-cwd without --container. Provide '(not no-cwd?)' to launch-environment/container as 'map-cwd?'. * tests/guix-environment.sh: Add test for no-cwd. Co-authored-by: Mike Gerwitz <mtg@gnu.org>
* doc: Add section for 'guix deploy'.Jakob L. Kreuze2019-07-06
| | | | * doc/guix.texi: Add section "Invoking guix deploy".