summaryrefslogtreecommitdiff
path: root/doc/guix.texi
Commit message (Collapse)AuthorAge
* 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".
* doc: Correct the software behind ci.guix.gnu.org.Tobias Geerinckx-Rice2019-06-29
| | | | * doc/guix.texi (Invoking guix publish): It runs Cuirass.
* doc: Remove references to hydra.gnu.org.Tobias Geerinckx-Rice2019-06-29
| | | | | | | * doc/contributing.texi (Packaging Guidelines, Submitting Patches): Replace hydra URL with @value{SUBSTITUTE-SERVER}. * doc/guix.texi (Official Substitute Server): Remove ‘hydra’ @cindex. (Substitute Server Authorization): Remove note about hydra.gnu.org.pub.
* doc: Document use cases for NetworkManager with dnsmasq.Florian Pelz2019-06-24
| | | | | | * doc/guix.texi (Networking Services): Give examples. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* doc: Use new upstream nomenclature for NetworkManager’s dnsmasq.Florian Pelz2019-06-24
| | | | | | | * doc/guix.texi (Networking Services): Replace term 'split DNS' by 'conditional forwarding'. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* doc: Recommend '-enable-kvm' for installing in a VM as well.Florian Pelz2019-06-24
| | | | | | * doc (Installing Guix in a VM): Add '-enable-kvm' to example. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* doc: Replace invalid uses of @var with @code.Ludovic Courtès2019-06-18
| | | | | * doc/guix.texi: Replace @var with @code in cases where we refer to a Scheme variable and not to a metasyntactic variable.
* doc: Fix typo.Gábor Boskovits2019-06-17
| | | | | * doc/guix.texi (Base Services)[guix-publish-service-type]: "guix-publish-configuration" instead of "guix-configuration".
* services: Include USB_ModeSwitch in %desktop-services.Florian Pelz2019-06-15
| | | | | | | | | Fixes <https://bugs.gnu.org/35640>. * gnu/services/desktop.scm (%desktop-services): Add usb-modeswitch-service-type. * doc/guix.texi (Networking Services): Document it. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* services: Add usb-modeswitch-service-type.Florian Pelz2019-06-15
| | | | | | | | | | * gnu/services/networking.scm (usb-modeswitch-service-type): New variable. (usb-modeswitch-configuration): New variable. (usb-modeswitch-sh): New procedure. (usb-modeswitch-configuration->udev-rules): New procedure. * doc/guix.texi (Networking Services): Document it. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* doc: Fix typo.Björn Höfling2019-06-14
| | | | * doc/guix.texi: Switch URI and description in @uref for hpcguix-web.
* doc: Improve tarball extraction example.Julien Lepiller2019-06-12
|
* doc: Update cargo-build-system parameter docs.Ivan Petkov2019-06-11
| | | | | | | | * doc/guix.texi: (Build Systems)[cargo-build-system]: Add references to the #:rust, #:cargo-inputs, and #:cargo-development-inputs parameters. Remove reference to installing crate sources. Signed-off-by: Chris Marusich <cmmarusich@gmail.com>
* store: 'build-things' accepts derivation/output pairs.Ludovic Courtès2019-06-10
| | | | | | | | | | | | | | This allows callers to request the substitution of a single derivation output. * guix/store.scm (build-things): Accept derivation/output pairs among THINGS. * guix/derivations.scm (build-derivations): Likewise. * tests/store.scm ("substitute + build-things with specific output"): New test. * tests/derivations.scm ("build-derivations with specific output"): New test. * doc/guix.texi (The Store): Adjust accordingly.
* doc: Work around a po4a bug.Julien Lepiller2019-06-10
| | | | | * doc/guix.texi: Work around a po4a bug that prevents `guix pull` from completing.
* services: Add 'nix-service-type'.Oleg Pykhalov2019-06-10
| | | | | | * gnu/services/nix.scm: New file. * gnu/local.mk: Add this. * doc/guix.texi (Miscellaneous Services): Document this.
* doc: Fix typos.Tobias Geerinckx-Rice2019-06-09
| | | | | * doc/guix.texi (Version Control Services): Fix typos & edit surrounding text.
* pack: Add '--entry-point'.Ludovic Courtès2019-06-07
| | | | | | | | | | | | | | | | | * guix/scripts/pack.scm (self-contained-tarball): Add #:entry-point and warn when it's true. (squashfs-image): Add #:entry-point and honor it. (docker-image): Add #:entry-point and honor it. (%options, show-help): Add '--entry-point'. (guix-pack): Honor '--entry-point' and pass #:entry-point to BUILD-IMAGE. * gnu/tests/docker.scm (run-docker-test): Test 'docker run' with the default entry point. (build-tarball&run-docker-test): Pass #:entry-point to 'docker-image'. * doc/guix.texi (Invoking guix pack): Document it. * gnu/tests/singularity.scm (run-singularity-test)["singularity run"]: New test. (build-tarball&run-singularity-test): Pass #:entry-point to 'squashfs-image'.
* services: Add Singularity.Ludovic Courtès2019-06-07
| | | | | | | | | | | | * gnu/packages/linux.scm (singularity)[source](snippet): Change file name of setuid helpers in libexec/cli/*.exec. [arguments]: Remove "--disable-suid". * gnu/services/docker.scm (%singularity-activation): New variable. (singularity-setuid-programs): New procedure. (singularity-service-type): New variable. * gnu/tests/singularity.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. * doc/guix.texi (Miscellaneous Services): Document it.
* services: Add auditd.Danny Milosavljevic2019-06-06
| | | | | | * gnu/services/auditd.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. * doc/guix.texi (Miscellaneous Services): Document it.
* doc: Fix typo.Diego Nicola Barbato2019-06-05
| | | | | | * doc/guix.texi (Invoking guix archive): Remove spurious hyphen in example. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* services: guix-publish: Allow for multi-compression.Ludovic Courtès2019-06-03
| | | | | | | | | | | | | | | | This is a followup to b8fa86adfc01205f1d942af8cb57515eb3726c52. * guix/deprecation.scm (warn-about-deprecation): Make public. * gnu/services/base.scm (<guix-publish-configuration>)[compression]: New field. [compression-level]: Default to #f. Add '%' to getter name. (guix-publish-configuration-compression-level): Define as deprecated. (default-compression): New procedure. (guix-publish-shepherd-service)[config->compression-options]: New procedure. Use 'match-record' instead of 'match'. * doc/guix.texi (Base Services): Remove 'compression-level' and document 'compression'.
* publish: '--compression' can be repeated.Ludovic Courtès2019-06-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows 'guix publish' to compress and advertise multiple compression methods from which users can choose. * guix/scripts/publish.scm (actual-compression): Rename to... (actual-compressions): ... this. Expect REQUESTED to be a list, and always return a list. (%default-options): Remove 'compression. (store-item->recutils): New procedure. (narinfo-string): Change #:compression to #:compressions (plural). Adjust accordingly. (render-narinfo, render-narinfo/cached): Likewise. (bake-narinfo+nar): Change #:compression to #:compressions. [compressed-nar-size]: New procedure. Call 'compress-nar' for each item returned by 'actual-compressions'. Create a narinfo for each compression. (effective-compression): New procedure. (make-request-handler): Change #:compression to #:compressions. Use 'effective-compression' to determine the applicable compression. (guix-publish): Adjust handling of '--compression'. Print a message for each compression that is enabled. * tests/publish.scm ("/*.narinfo"): Adjust to new narinfo field ordering. ("/*.narinfo with properly encoded '+' sign"): Likewise. ("/*.narinfo with lzip + gzip"): New test. ("with cache, lzip + gzip"): New test. * doc/guix.texi (Invoking guix publish): Document it.
* services: Add patchwork.Christopher Baines2019-05-31
| | | | | | | | | * gnu/service/web.scm (<patchwork-database-configuration> <patchwork-settings-module>, <patchwork-configuration>): New record types. (patchwork-virtualhost): New procedure. (patchwork-service-type): New variable. * gnu/tests/web.scm (%test-patchwork): New variable. * doc/guix.text (Web Services): Document it.
* services: Add getmail.Christopher Baines2019-05-31
| | | | | | | | | | | | | | | Getmail is a mail retriever written in Python, this commit adds a service-type to run getmail. I'm looking at this, as it's a convinient way of getting mailing list messages in to Patchwork. I initially tried putting this in the (gnu services mail) module, but due to also trying to use the define-configuration pattern, it conflicted with the dovecot service. * gnu/services/getmail.scm: New file. * gnu/local.mk: Add it. * gnu/tests/mail.scm (%getmail-os, %test-getmail): New variables. (run-getmail-test): New procedure.
* publish: Add support for lzip.Ludovic Courtès2019-05-27
| | | | | | | | | | | | | | | * guix/scripts/publish.scm (show-help, %options): Support '-C METHOD' and '-C METHOD:LEVEL'. (default-compression): New procedure. (bake-narinfo+nar): Add lzip. (nar-response-port): Likewise. (string->compression-type): New procedure. (make-request-handler): Generalize /nar/gzip handler to handle /nar/lzip as well. * tests/publish.scm ("/nar/lzip/*"): New test. ("/*.narinfo with lzip compression"): New test. * doc/guix.texi (Invoking guix publish): Document it. (Requirements): Mention lzlib.
* doc: Update default value of terminal-outputs.Jakob L. Kreuze2019-05-27
| | | | | | * doc/guix.texi: (terminal-outputs) Update default value. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* services: sddm: Fix root login failure issue.Reza Alizadeh Majd2019-05-26
| | | | | | | | | | * gnu/services/sddm.scm (sdm-pam-service): Set uid from CONFIG. (sdm-autologin-pam-service): Set uid from CONFIG. (sdm-pam-services): Pass CONFIG to 'sddm-pam-service' and 'sddm-autologin-pam-service'. * doc/guix.texi (X Window): Adjust 'minimum-uid' documentation. Co-authored-by: Ludovic Courtès <ludo@gnu.org>
* doc: Murmur: Fix typo "authentication".Vagrant Cascadian2019-05-22
| | | | * doc/guix.texi (Murmur): Fix typo.
* weather: Accept package specs on the command line.Ludovic Courtès2019-05-22
| | | | | | | | | Previously, non-option arguments would be ignored. Now it puts them to good use. * guix/scripts/weather.scm (guix-weather)[package-list]: New procedure. Use it. * doc/guix.texi (Invoking guix weather): Adjust accordingly.