Commit graph

1942 commits

Author SHA1 Message Date
Marius Bakke
8e53fe2b91
gnu: Remove uses of deprecated Qemu network configuration.
* gnu/build/vm.scm (load-in-linux-vm): Move Qemu network configuration from
ARCH-SPECIFIC-FLAGS to the Qemu command line.  Use the "-nic" option of Qemu
instead of "-device" and "-net".
* gnu/system/vm.scm (common-qemu-options): Do not add a '-net' command.
(virtual-machine-compiler): Use "-nic user,..." instead of "-net".
* doc/guix.texi (Installing Guix in a VM, Invoking guix system, Running Guix
in a VM): Do the same for examples.
2019-12-18 22:36:37 +01:00
Ludovic Courtès
828a39da68
challenge: Support "--diff=diffoscope".
* guix/scripts/challenge.scm (call-with-nar): New procedure.
(narinfo-contents): Express in terms of 'call-with-nar'.
(call-with-mismatches, report-differing-files/external): New
procedures.
(%diffoscope-command): New variable.
(%options): Support "diffoscope" and a string starting with "/".
* tests/challenge.scm (call-mismatch-test): New procedure.
("differing-files"): Rewrite in terms of 'call-mismatch-test'.
("call-with-mismatches"): New test.
* doc/guix.texi (Invoking guix challenge): Document it.
2019-12-12 17:56:58 +01:00
Ludovic Courtès
5208db3a52
challenge: Add "--diff".
* guix/scripts/challenge.scm (dump-port*): New variable.
(archive-contents, store-item-contents, narinfo-contents)
(differing-files, report-differing-files): New procedures.
(summarize-report): Add #:report-differences and call it.
(show-help, %options): Add "--diff".
(%default-options): Add 'difference-report' key.
(report-differing-files): Parameterize CURRENT-TERMINAL-COLUMNS and pass
 #:report-differences to 'summarize-report'.
* guix/tests/http.scm (%local-url): Add optional argument.
(call-with-http-server): Fix docstring typo.
* tests/challenge.scm (query-path-size, make-narinfo): New procedures.
("differing-files"): New test.
* doc/guix.texi (Invoking guix challenge): Document "--diff".
2019-12-12 17:56:58 +01:00
Ludovic Courtès
044277f610
guix archive: Add '--list'.
* guix/scripts/archive.scm (show-help, %options): Add '--list'.
(list-contents): New procedure.
(guix-archive): Honor the '--list' option.
* tests/guix-archive.sh: Test it.
* doc/guix.texi (Invoking guix archive): Document it.
2019-12-12 17:56:58 +01:00
Clément Lassieur
dcb7ce500b
doc: Add missing MKDIR call.
* doc/guix.texi (G-Expressions): Add missing MKDIR call.
2019-12-12 01:14:47 +01:00
Ludovic Courtès
dc995fcd5a
pack: Clarify the /bin/sh requirement for Singularity.
* guix/scripts/pack.scm (squashfs-image)[symlinks*]: New variable.
[build]: Use it instead of SYMLINKS.
(guix-pack): Emit a warning and a hint when "bash" and "bash-minimal"
are missing and PACK-FORMAT is 'squashfs.
* doc/guix.texi (Invoking guix pack): Document the /bin/sh requirement
for Singularity.
2019-12-10 20:56:05 +01:00
Jelle Licht
92a0c3ec35
doc: Fix typo.
* doc/guix.texi (bitlbee-configuration): The field that refers to the bitlbee
package is called "bitlbee", not "package".
2019-12-09 17:27:38 +01:00
zimoun
7282f94967
lint: Add '--load-path' option.
* guix/scripts/lint.scm (%options): Add '--load-path' option.
* doc/guix.texi: Document it.
* tests/guix-lint.sh: Test it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-12-08 23:14:03 +01:00
Guillaume Le Vaillant
0dc5c85638
file-systems: Add support for 'strict-atime' and 'lazy-time' flags.
* guix/build/syscalls.scm (MS_LAZYTIME): New variable.
* gnu/build/file-systems.scm (mount-flags->bit-mask): Add match rules for
  'strict-atime' and 'lazy-time'.
* doc/guix.texi (File Systems): Add 'strict-atime' and 'lazy-time' to the list
  of supported flags.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-12-07 01:00:24 +01:00
Ludovic Courtès
158032bd7d
guix system: Add "describe" action.
* guix/scripts/system.scm (show-help): Add "describe".
(process-command): Handle it.
(guix-system): Likewise.
* doc/guix.texi (Invoking guix system): Document it.
2019-12-07 00:59:57 +01:00
Ludovic Courtès
eaabc5e87f
machine: Add provenance tracking to each machine operating system.
* gnu/machine.scm (<machine>): Rename accessor to
'%machine-operating-system'.
(machine-operating-system): New procedure.
* doc/guix.texi (Service Reference): Mention it.
2019-12-07 00:59:56 +01:00
Ludovic Courtès
b85836d306
guix system: Use 'provenance-service-type', add "--save-provenance".
* guix/scripts/system.scm (show-help, %options): Add "--save-provenance".
(process-action): Define 'save-provenance?' and 'transform'; call
'transform' on the OS.
* doc/guix.texi (Invoking guix system): Document it under 'reconfigure'.
(Service Reference): Mention that 'provenance-service-type' is
automatically added by 'reconfigure' & 'init'.
2019-12-07 00:59:56 +01:00
Ludovic Courtès
33b7cb7a59
services: Add 'provenance-service-type'.
* gnu/services.scm (object->pretty-string)
(channel->code, channel->sexp, provenance-file)
(provenance-entry): New procedures.
(provenance-service-type): New variable.
* gnu/system.scm (operating-system-with-provenance): New procedure.
* doc/guix.texi (Service Reference): Document 'provenance-service-type'.
2019-12-07 00:59:56 +01:00
Ludovic Courtès
ed15dfcf31
machine: ssh: <machine-ssh-configuration> can include the host key.
* gnu/machine/ssh.scm (<machine-ssh-configuration>)[host-key]: New field.
(machine-ssh-session): Pass #:host-key to 'open-ssh-session'.
* doc/guix.texi (Invoking guix deploy): Document it.
2019-12-04 18:16:08 +01:00
Leo Prikler
fe7b59c6b1
services: Add GNOME Keyring service.
* gnu/services/desktop.scm: (<gnome-keyring-configuration>): New record type.
(pam-gnome-keyring): New procedure.
(gnome-keyring-service-type): New variable.
* doc/guix.texi (Desktop Services): Document it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-12-04 18:16:08 +01:00
Efraim Flashner
5635512828
Revert "doc: Fix typo in example."
This reverts commit 7b40d59114.
2019-12-03 13:15:41 +02:00
Hartmut Goebel
b6d852ce6d
guix: Add the 'qt' build system.
* guix/build-system/qt.scm, guix/build/qt-build-system.scm: New files.
* Makefile.am (MODULES): Add them.
* doc/guix.texi (Buiild systems): Add the new build system.
2019-12-01 20:24:47 +01:00
Leo Prikler
7f25ff10e1
services: Add polkit-wheel-service.
* gnu/services/desktop.scm: (polkit-wheel): New variable.
(polkit-wheel-service): New service.
* doc/guix.texi: Document polkit-wheel-service.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-11-30 23:50:40 +01:00
Ludovic Courtès
99c45877a9
gexp: 'local-file' properly resolves non-literal relative file names.
* guix/gexp.scm (local-file): Distinguish the case where FILE is a
literal string and when it's not.  Add a clause for when FILE is not a
literal string.
* tests/gexp.scm ("local-file, non-literal relative file name"): New test.
* doc/guix.texi (G-Expressions): Update accordingly.
2019-11-30 23:50:40 +01:00
Ludovic Courtès
62e78648b0
doc: Link to Guile's SXML section.
* doc/guix.texi (PAM Mount Service): Add xref to the "SXML" section of
the Guile manual.
2019-11-28 13:30:53 +01:00
Guillaume Le Vaillant
c1c6650e28
services: Add pam-mount.
* gnu/services/pam-mount.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* doc/guix.texi (PAM Mount Service): New subsection.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-11-28 13:30:53 +01:00
Efraim Flashner
ba40e1fe06
doc: Fix typo.
* doc/guix.texi (php-fpm-service-type): Note that the socket-group
default is "nagios" and not "php-fpm".
2019-11-26 14:04:36 +02:00
Ludovic Courtès
2ce08a5d79
guix build: '--keep-failed' implies '--no-offload'.
* guix/scripts/build.scm (set-build-options-from-command-line): Pass
 #:offload? #f when 'keep-failed? is true.
* doc/guix.texi (Common Build Options): Document it.
2019-11-26 00:16:36 +01:00
Ludovic Courtès
dc209d5a5d
guix build, daemon: Rename "--no-build-hook" to "--no-offload".
This is a followup to bc69ea2d60.

* guix/scripts/build.scm (show-build-options-help): Rename
"--no-build-hook" to "--no-offload".
(%standard-build-options): Likewise, and warn when "--no-build-hook" is
passed.
* nix/nix-daemon/guix-daemon.cc (options): Add "--no-offload" and mark
"--no-build-hook" as hidden.
* guix/scripts/offload.scm: Adjust comment.
* doc/guix.texi (Invoking guix-daemon, Common Build Options): Replace
"--no-build-hook" with "--no-offload".
* etc/completion/fish/guix.fish, etc/completion/zsh/_guix: Adjust
accordingly.
2019-11-26 00:16:36 +01:00
Ludovic Courtès
ca541f9ce6
pack: Allow multiple '--manifest' options.
* guix/scripts/pack.scm (guix-pack): Collect 'manifest' options, and
concatenate the resulting manifests.
* tests/guix-pack.sh: Test it.
* doc/guix.texi (Invoking guix pack): Document it.
2019-11-22 15:07:59 +01:00
Ludovic Courtès
bf9206d8ed
package: Allow multiple '--manifest' options.
* guix/scripts/package.scm (manifest-action): Remove.
(%actions): Remove it.
(load-manifest): New procedure.
(process-actions): Handle 'manifest' options.  Define 'files' from
'manifest' options.  Define 'manifest' based on FILES.  Define 'trans'
to represent the final transaction.
* tests/guix-package.sh: Test it.
* doc/guix.texi (Invoking guix package): Mention
2019-11-22 15:07:58 +01:00
Ludovic Courtès
d76df98fa5
environment: Document that '--manifest' can be repeated.
* tests/guix-environment.sh: Test 'guix environment' with two '-m' options.
* doc/guix.texi (Invoking guix environment): Explain that '-m' can be
passed multiple times.
2019-11-22 15:07:58 +01:00
Efraim Flashner
ab9d06e473
doc: fcgiwrap-configuration: Remove stray period.
* doc/guix.texi (Web Services)[fcgiwrap-configuration]: Remove a stray
period.
2019-11-21 15:19:17 +02:00
Ludovic Courtès
a2e661e95f
pack: Add "--derivation".
* guix/scripts/pack.scm (%options, show-help): Add "--derivation".
(guix-pack): Honor it.
* tests/guix-pack.sh: Test it.
* doc/guix.texi (Invoking guix pack): Document it.
2019-11-21 11:48:30 +01:00
Efraim Flashner
7b40d59114
doc: Fix typo in example.
* doc/guix.texi (Web Services)[nginx-php-fpm-location]: Fix example to
actually use nginx-php-fpm-location.
2019-11-19 12:34:07 +02:00
Efraim Flashner
535a13a2ab
doc: Fix typo.
* doc/guix.texi (Web Services)[php-fpm-configuration]: Change language
to suggest there are more than two options.
2019-11-19 12:01:13 +02:00
Ludovic Courtès
69f759912d
doc: Clarify the "system type" for 'machine-ssh-configuration'.
* doc/guix.texi (Invoking guix deploy): Replace "Nix system type" with
"system type" for consistency.
2019-11-19 10:51:53 +01:00
Ludovic Courtès
87e7faa2ae
time-machine: Honor the standard build options.
* guix/scripts/time-machine.scm (show-help): Call 'show-build-options-help'.
(%options): Add %STANDARD-BUILD-OPTIONS.
(%default-options): New variable.
(parse-args): Pass (list %default-options) to 'parse-command-line' and
remove #:build-options? parameter.
(guix-time-machine): Call 'set-build-options-from-command-line' and wrap
'cached-channel-instance' call in 'with-status-verbosity'.
* doc/guix.texi (Invoking guix time-machine): Mention common build options.
2019-11-15 23:29:06 +01:00
Konrad Hinsen
f675f8dec7
Add 'guix time-machine'.
* guix/scripts/time-machine.scm: New file.
* Makefile.am: (MODULES): Add it.
* guix/scripts/pull.scm (channel-list): Export.
* guix/inferior.scm (cached-channel-instance): New procedure.
(inferior-for-channels): Use it.
* doc/guix.texi (Invoking guix time-machine): New section.
(Channels): Cross-reference it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-11-15 23:28:17 +01:00
Kyle Meyer
b057921b17
doc: Drop stray quotation mark.
* doc/guix.texi (Invoking guix publish): Drop stray quotation mark.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-11-13 23:26:36 +01:00
Alex Griffin
a2161c861f
services: Add pagekite-service-type.
* gnu/services/networking.scm (pagekite-service-type): New service type.
(<pagekite-configuration>): New record type.
(pagekite-shepherd-service): New procedure.
* doc/guix.texi (Networking Services): Document it.
2019-11-11 14:03:45 -06:00
宋文武
6ec68c69b0
services: Add knot-resolver-service-type.
* gnu/services/dns.scm (<knot-resolver-configuration>): New record type.
(knot-resolver-activation, knot-resolver-shpherd-services): New procedures.
(%knot-resolver-accounts, %kresd.conf, knot-resolver-service-type): New
variables.
* doc/guix.texi (DNS Services): Document it.
2019-11-11 20:30:53 +08:00
zimoun
0758a70cc0
doc: Mention value /var to localstatedir option.
* README (Installing Guix from Guix): Mention value /var to localstatedir option.
* doc/contributing.texi (Building from Git): Likewise.
* doc/guix.texi (Requirements): Likewise.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-11-09 23:04:14 +01:00
Florian Pelz
bfe6bc97f5
doc: Add clarification on the '--source' build option.
Emphasize that what the '--source' build option downloads is
insufficient for reproducing the packages.

* doc/guix.texi (Additional Build Options): Explain more.
2019-11-07 22:15:12 +00:00
Florian Pelz
00e680a411
services: Make it possible to include dynamic modules in nginx.
* gnu/services/web.scm (<nginx-configuration>): Add modules field.
(nginx-configuration-modules): New field accessor.
(emit-load-module): New procedure.
(default-nginx-config): Add support for the modules field.
* doc/guix.texi (NGINX): Document it.
2019-11-07 22:15:11 +00:00
Ludovic Courtès
3e962e59d8
graph: Support package transformation options.
* guix/scripts/graph.scm (%options): Append %TRANSFORMATION-OPTIONS.
(show-help): Call 'show-transformation-options-help'.
(guix-graph): Call 'options->transformation' and use it.
* tests/guix-graph.sh: Add test.
* doc/guix.texi (Invoking guix graph): Document it.
2019-11-07 18:39:55 +01:00
Kyle Andrews
a8e2826e30
doc: Clarify uses of the 'ip' command.
* doc/guix.texi (Keyboard Layout and Networking and Partitioning):
Use human readable arguments for 'ip' command.  Mention 'ip link set'.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-11-04 23:35:32 +01:00
Ludovic Courtès
5afa23e180
services: colord: Deprecate 'colord-service' procedure.
* gnu/services/desktop.scm (colord-service-type)[default-value]: New field.
(colord-service): Define with 'define-deprecated'.
(%desktop-services): Use 'colord-service-type' instead of 'colord-service'.
* doc/guix.texi (Desktop Services): Adjust accordingly.
2019-11-01 12:23:45 +01:00
Ricardo Wurmus
878e0e1bb0
gnu: mpd-service-type: Support configuration of outputs.
* gnu/services/audio.scm (<mpd-output>): New record type.
(<mpd-configuration>)[outputs]: New field.
(mpd-output, mpd-output?, mpd-output->string): New procedures.
(mpd-config->file): Use mpd-output->string.
* doc/guix.texi (Audio Services): Document mpd-output fields.
2019-10-29 15:14:22 +01:00
Ludovic Courtès
49af34cfac
pull: Honor '/etc/guix/channels.scm'.
* guix/scripts/pull.scm (channel-list)[global-file]: New variable.
[channels]: Honor it.
* doc/guix.texi (Invoking guix pull): Document it.
2019-10-27 23:05:01 +01:00
Timothy Sample
88f95687c7
services: gdm: Add 'debug?' configuration field.
* gnu/services/xorg.scm (<gdm-configuration>)[debug?]: New field.
(gdm-configuration-file): Use it.
* doc/guix.texi: Document it.
2019-10-26 17:04:36 -04:00
Ludovic Courtès
74afaa37d5
cve: Rewrite to read the JSON feed instead of the XML feed.
The XML feed was discontinued on Oct. 16th, 2019:

  <https://nvd.nist.gov/General/News/XML-Vulnerability-Feed-Retirement-Phase-3>

* guix/cve.scm (string->date*): New procedure.
(<cve-item>, <cve>, <cve-reference>): New record types.
(cpe-match->cve-configuration, configuration-data->cve-configurations)
(json->cve-items, version-matches?): New procedures.
(yearly-feed-uri): Change URL to refer to JSON feed.
(cpe->product-alist, %parse-vulnerability-feed)
(xml->vulnerabilities): Remove.
(cve-configuration->package-list, merge-package-lists)
(cve-item->vulnerability, json->vulnerabilities): New procedures.
(write-cache): Use 'json->vulnerabilities' instead of
'xml->vulnerabilities', and remove 'parameterize'.
(vulnerabilities->lookup-proc): Use 'version-matches?' when VERSION is
true.
* tests/cve.scm (%sample): Use 'tests/cve-sample.json'.
(%expected-vulnerabilities): Rewrite accordingly.
("json->cve-items", "cve-item-published-date")
("json->vulnerabilities"): New tests.
("xml->vulnerabilities"): Remove.
("vulnerabilities->lookup-proc"): Adjust to new vulnerabilities.
* tests/cve-sample.json: New file.
* tests/cve-sample.xml: Remove.
* Makefile.am (EXTRA_DIST): Adjust accordingly.
* doc/guix.texi (Invoking guix lint): Update nist.gov URLs.
2019-10-23 16:40:17 +02:00
Ludovic Courtès
c93994b5e4
machine: digital-ocean: Rename 'enable-ipv6' to 'enable-ipv6?'.
* gnu/machine/digital-ocean.scm (<digital-ocean-configuration>)[enable-ipv6]:
Rename to...
[enable-ipv6?]: ... this.
(deploy-digital-ocean): Adjust accordingly.
* doc/guix.texi (Invoking guix deploy): Adjust accordingly.
2019-10-22 18:32:52 +02:00
Jakob L. Kreuze
12712817ae
machine: Implement 'digital-ocean-environment-type'.
* gnu/machine/digital-ocean.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* doc/guix.texi (Invoking guix deploy): Add documentation for
'digital-ocean-configuration'.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-10-22 18:32:52 +02:00
Tim Gesthuizen
84261a233e
services: inputattach: Add 'baud-rate' parameter.
* gnu/services/desktop.scm (inputattach-configuration): Add baud-rate field.
  (inputattach-shepherd-service): Add baud-rate to parameters when specified.
* doc/guix.texi (Miscellaneous Services): [inputattach Service] Document
  baud-rate parameter.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-10-21 23:26:33 +02:00
Ludovic Courtès
8cf3e167c1
services: sddm: Deprecate 'sddm-service' procedure.
* gnu/services/sddm.scm (sddm-service): Mark as deprecated.
* doc/guix.texi (X Window): Document 'sddm-service-type' and
'sddm-configuration'.
2019-10-21 18:16:16 +02:00
Florian Pelz
99190575a0
Fix documentation of delete_after in the getmail service.
* doc/guix.texi (Getmail service): Remove the word `not'.
* gnu/services/getmail.scm (getmail-options-configuration): Ditto.
2019-10-18 07:53:55 +00:00
Christopher Baines
92807b6f57
doc: Remove 'maintainers' field from package documentation.
The field itself was removed in 154f1f0937.

* doc/guix.texi (package Reference): Remove 'maintainers' field.
2019-10-17 19:14:03 +01:00
Carl Dong
e214a22007
gnu: Add nsis-x86_64 and nsis-i686.
* guix/build-system/scons.scm (scons-build): Add build-targets and
install-targets parameters.
* guix/build/scons-build-system.scm (build, install): Adjust
accordingly.
* doc/guix.texi (Build Systems): Document it.
* gnu/packages/installers.scm: New file,
(make-nsis): New procedure,
(nsis-x86_64, nsis-i686): New variables.
* gnu/packages/patches/nsis-env-passthru.patch: New file.
* gnu/local.mk (dist_patch_DATA, GNU_SYSTEM_MODULES): Adjust
accordingly.
2019-10-11 11:44:44 -04:00
Ricardo Wurmus
e08902d3cb
Merge branch 'master' into core-updates 2019-10-06 22:02:20 +02:00
Jan Nieuwenhuizen
3a69dd5c15
services: httpd: Fix virtual-host doc and config.
* doc/guix.texi (Web Services): Fix httpd-virtualhost examples.
* gnu/services/web.scm (httpd-process-extensions): Add missing newline
separator.
2019-10-04 17:10:58 +02:00
Martin Becze
ed661e38d8
import: crate: Add '--recursive'.
* guix/scripts/import/crate.scm (show-help, guix-import-crate): Add '--recursive'.
* doc/guix.texi (Invoking guix import): Mention '--recursive'.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2019-10-01 23:34:31 +02:00
Ludovic Courtès
0cf2b6f2db
Merge branch 'master' into core-updates 2019-10-01 12:06:00 +02:00
Maxim Cournoyer
5510bb01e9
doc: Add a 'Upgrading Guix' section to the 'Installation' chapter.
This follows a discussion regarding issue #36785 (see:
https://bugs.gnu.org/36785).

* doc/guix.texi (Upgrading Guix): New section.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2019-09-29 10:33:49 +09:00
Tobias Geerinckx-Rice
348d8e446f
doc: Don't support a risky mix of Guix & Nix.
* doc/guix.texi (Requirements): Remove instructions for sharing a store
and/or a daemon with Nix.
2019-09-28 17:16:40 +02:00
Marius Bakke
e7f62a41b2
Merge branch 'master' into core-updates 2019-09-27 19:11:27 +02:00
Ludovic Courtès
3972dc5d43
guix package: Add '--list-profiles'.
* guix/scripts/package.scm (show-help, %options): Add '--list-profiles'.
(process-query): Honor it.
* tests/guix-package.sh: Add test.
2019-09-26 11:43:26 +02:00
Ludovic Courtès
71339070a9
doc: Do not comment out closing parens in Android examples.
* doc/guix.texi (Base Services): Arrange so that closin parens are not
commented out.
2019-09-26 11:43:26 +02:00
Ludovic Courtès
31e6e6a89f
doc: Add missing paren in CPE example.
* doc/guix.texi (Invoking guix lint): Add missing paren in 'cpe-name'
example.
2019-09-26 11:43:26 +02:00
Ludovic Courtès
473bd8100b
doc: Add missing parens in inetd example.
* doc/guix.texi (Networking Services): Add missing parens in inetd
service example.
2019-09-26 11:43:25 +02:00
Ludovic Courtès
4a506da83a
doc: Fix syntax of Varnish example.
* doc/guix.texi (Web Services): Escape nested string in '%gnu-mirror'
variable definition.  Adjust indentation.
2019-09-26 11:43:25 +02:00
Ludovic Courtès
34e624a56a
doc: Avoid @verbatiminclude for Scheme snippets.
* doc/guix.texi (Invoking guix package): Use @include instead of
@verbatiminclude.
(Additional Build Options): Likewise.
2019-09-25 15:49:42 +02:00
Brice Waegeneire
82b6bf8c0f
doc: Fix installing Guix in VM
* doc/guix.texi (Installing Guix in a Virtual Machine):
Pass "order=d" to '-boot' option.  Use "-drive media=cdrom" for the ISO
image.  Remove paragraph about ordering and the boot menu.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-09-25 15:48:50 +02:00
Christopher Baines
dd2a83270b
services: Add the Guix Data Service.
* gnu/services/guix.scm: New file.
* gnu/tests/guix.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add both new files.
* doc/guix.texi (Guix Services): New section documenting the Guix Data
Service.
2019-09-25 08:35:33 +01:00
Ludovic Courtès
11da634a6e
Merge branch 'master' into core-updates 2019-09-24 10:11:38 +02:00
Tobias Geerinckx-Rice
1e1efbcc64
doc: Remove more ‘guixsd’ remnants.
* doc/guix.texi (Installing Guix in a VM): Use ‘guix-system.img’ as
image file name.
2019-09-24 02:10:49 +02:00
Tobias Geerinckx-Rice
46a8b76ce7
doc: Fix typo.
* doc/guix.texi (Build Systems): Fix/spoil ‘libary’ typo/joke.
2019-09-23 20:50:59 +02:00
Ludovic Courtès
cb3ee1c507
doc: Explain that '--profile' expects a file name.
* doc/guix.texi (Invoking guix package): Explain that the argument to
--profile is a file name.
2019-09-23 12:26:59 +02:00
Ludovic Courtès
7faffdc2d5
pull: Display channel news.
* guix/scripts/pull.scm (display-news-entry)
(display-channel-specific-news): New procedures.
(display-channel-news): Call it.
(display-new/upgraded-packages): Adjust hint message.
* doc/guix.texi (Invoking guix pull): Mention it.
2019-09-23 10:38:44 +02:00
Ludovic Courtès
9719e8d37a
channels: Allow news entries to refer to a tag.
Suggested by Ricardo Wurmus <rekado@elephly.net>.

* guix/channels.scm (<channel-news-entry>)[tag]: New field.
(sexp->channel-news-entry): Accept either 'commit' or 'tag' in 'entry'
forms.
(resolve-channel-news-entry-tag): New procedure.
(channel-news-for-commit): Move 'with-repository' form one level
higher.  Call 'resolve-channel-news-entry-tag' on all the news entries.
* guix/tests/git.scm (populate-git-repository): Add clause for 'tag'.
* tests/channels.scm ("channel-news, one entry"): Create a tag and add
an entry with a tag.  Check that the tag is resolved and also visible in
the <channel-news-entry> record.
* doc/guix.texi (Channels): Mention tags in news entries.
2019-09-23 10:38:44 +02:00
Ludovic Courtès
8ba7fd3cd6
channels: Add support for a news file.
* guix/channels.scm (<channel-metadata>)[news-file]: New field.
(read-channel-metadata): Set the 'news-file' field.
(read-channel-metadata-from-source): Likewise.
(<channel-news>, <channel-news-entry>): New record types.
(sexp->channel-news-entry, read-channel-news)
(channel-news-for-commit): New procedures.
* guix/tests/git.scm (populate-git-repository): For 'add', allow
CONTENTS to be a procedure.
* tests/channels.scm ("channel-news, no news")
("channel-news, one entry"): New tests.
* doc/guix.texi (Channels): Document it.
2019-09-23 10:38:44 +02:00
zimoun
aeb51370da
guix package: Add 'guix show' alias.
* guix/scripts/show.scm: New file.
* Makefile.am (MODULES): Add it.
* po/guix/POTFILES.in: Add it.
* tests/guix-package-aliases.sh: Add test.
* doc/guix.texi (Invoking guix package): Document it and use it in a example.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-09-21 16:48:36 +02:00
Konrad Hinsen
da55110712
scripts: pull: Add options for generation management
* guix/scripts/pull.scm (%options) Add --roll-back, --switch-generation,
--delete-generations
(process-generation-change): New function
(guix-pull): Execute generation management operations

* doc/guix.texi: Document the generation management operations

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-09-18 23:08:29 +02:00
Ludovic Courtès
d0980ef418
doc: Mention the "repository name" for 'guix pack -f docker'.
This is a followup to 0074844366.

* doc/guix.texi (Invoking guix pack): Mention the repository name.
2019-09-18 23:08:29 +02:00
宋文武
3c4f5ad7f4
services: Add nftables-service-type.
* gnu/services/networking.scm (%default-nftables-ruleset): New variable.
(<nftables-configuration>): New record type.
(nftables-shepherd-service): New procedure.
(nftables-service-type): New service type.
* doc/guix.texi (Networking Services): Document it.
2019-09-18 19:04:59 +08:00
Ludovic Courtès
9ff87bb996
Merge branch 'master' into core-updates 2019-09-17 16:27:15 +02:00
Carlo Zancanaro
ec36339dfd
services: certbot: Add --manual-public-ip-logging-ok for manual challenges
* 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>
2019-09-16 10:22:35 +02:00
Tobias Geerinckx-Rice
b3f724b0a1
doc: Actually suggest ‘fc-cache -r’.
A follow-up commit to 0cd3e99d64.

* doc/guix.texi (Application Setup): Fix my own typo.
2019-09-11 18:05:38 +02:00
Joshua Branson
0cd3e99d64
doc: Run fc-cache verbosely and delete existing caches.
* doc/guix.texi (Application Setup): Suggest ‘fc-cache -rv’ instead
of ‘fc-cache -f’.

Signed-off-by: Tobias Geerinckx-Rice <me@tobias.gr>
2019-09-11 17:50:04 +02:00
Martin Becze
fd63ecbe05
import: crate: Allow imports of a specific version.
* 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>
2019-09-10 00:34:40 +02:00
Maxim Cournoyer
5658ae8a0a
services: ntp: Support different NTP server types and options.
* 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.
2019-09-08 23:15:31 +09:00
Maxim Cournoyer
ac73f504cf
doc: Add index to find 'ntpd'.
* doc/guix.texi (Networking Services): Add @cindex to find 'ntpd'
2019-09-08 23:15:30 +09:00
Maxim Cournoyer
08b4a10fa6
services: ntp: Allow large adjustment by default.
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.
2019-09-08 23:15:29 +09:00
Matthew Kraai
861b9a365b
doc: Fix verb conjugation.
* doc/guix.texi (Invoking guix pull): Change "run" to "ran".

Signed-off-by: Tobias Geerinckx-Rice <me@tobias.gr>
2019-09-08 14:55:25 +02:00
Ludovic Courtès
2e3e5d2198
daemon: Invoke 'guix gc --list-busy' instead of 'list-runtime-roots'.
* 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.
2019-09-08 11:49:24 +02:00
Ludovic Courtès
8ba31e8bd1
doc: Use @lisp instead of @example for Scheme snippets.
This is a followup to f8c143a713, 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.
2019-09-07 18:42:08 +02:00
Mark H Weaver
65542a8852
Merge branch 'master' into core-updates 2019-09-06 20:46:00 -04:00
nixo
a44a535ebe
build: Add julia-build-system.
* 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>
2019-09-04 22:17:38 +02:00
Ricardo Wurmus
7c6ebf28db
doc: guix deploy: Add missing record field to example.
Reported by GNUtoo on #guix.

* doc/guix.texi (Invoking guix deploy): Add missing "system" field to example.
2019-09-03 18:02:37 +02:00
Ludovic Courtès
55549c7b9b
lint: Add 'archival' checker.
* 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.
2019-09-02 15:25:01 +02:00
Ludovic Courtès
d34e9114e6
doc: Explain that "guix import" and "guix refresh" may need GnuPG.
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.
2019-09-02 15:25:00 +02:00
Maxim Cournoyer
1719f4f1e3
doc: Specify the files rotated by default by the rottlog service.
* doc/guix.texi (Log Rotation): Replace "a couple of other files" by
"/var/log/guix-daemon.log".
2019-09-01 18:47:03 +09:00
Maxim Cournoyer
f91c843449
doc: Update the default list of files rotated by rottlog.
* doc/guix.texi (Log Rotation): Add "/var/log/debug" and "/var/log/maillog" to
the default value of %rotated-files.
2019-09-01 18:47:03 +09:00
Tobias Geerinckx-Rice
5a097cdd54
services: cups: Rename ‘retry-this-job’ to ‘retry-current-job’.
* 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.
2019-08-31 03:24:41 +02:00
Tobias Geerinckx-Rice
7e5e39a72f
doc: Update GIT-DOWNLOAD @example.
* doc/guix.texi (origin Reference): Use (HTTPS, GNU-hosted) ‘hello’
package repository instead of off-line ‘shadow’ one.
2019-08-30 23:10:19 +02:00
Tobias Geerinckx-Rice
3774efe36f
doc: Prefer https:// over git://.
* doc/guix.texi (Continuous Integration): Use https:// in fictitious URLs.
2019-08-30 23:10:19 +02:00
Tobias Geerinckx-Rice
70186c24ee
services: cups: Move SET-ENV to FILES-CONFIGURATION.
* gnu/services/cups.scm (cups-configuration): Move SET-ENV from here…
(files-configuration): …to here.
* doc/guix.texi (Printing Services): Adjust accordingly.
2019-08-30 03:41:42 +02:00
Tobias Geerinckx-Rice
ee0de99454
services: cups: Add BrowseDNSSDSubTypes directive.
* 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.
2019-08-30 03:41:42 +02:00
Mark H Weaver
0481289cbc
Merge branch 'master' into core-updates 2019-08-29 17:19:18 -04:00
Ricardo Wurmus
f9a1f15efc
doc: Do not refer to Bioconductor SVN.
* doc/guix.texi (Invoking guix import): Do not mention the now defunct
Bioconductor SVN repository.
2019-08-29 11:38:12 +02:00
Ricardo Wurmus
ad553ec4b1
import: cran: Add support for git repositories.
* 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.
2019-08-29 11:38:12 +02:00
Ricardo Wurmus
3e7a62e2e4
services: cuirass: Log web interface to separate file.
* 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.
2019-08-29 08:06:54 +02:00
Efraim Flashner
3762e31b6c
build/cargo-build-system: Remove 'update-cargo-lock phase.
* 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.
2019-08-28 09:41:59 +03:00
Tobias Geerinckx-Rice
f9c1ebdb7d
services: cups: Complete SSL-OPTIONS.
…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.
2019-08-27 08:49:14 +02:00
Maxim Cournoyer
4183105de0
doc: Follow-up commit to 407ebeaa1.
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)".
2019-08-27 19:36:05 +09:00
Nicolas Goaziou
5aa4278319
doc: Fix typo.
* doc/guix.texi (Build Systems): Add missing question mark to
2019-08-26 22:50:16 +02:00
Maxim Cournoyer
1407ebeaa1
doc: Document the use of `program-file' for mcron jobs.
* doc/guix.texi (Scheduled Job Execution): Explain why using `program-file'
for an mcron job can be necessary.  Add an example.
2019-08-26 07:52:30 +09:00
Mark H Weaver
893c2df00d
Merge branch 'master' into core-updates 2019-08-22 15:53:27 -04:00
Jakob L. Kreuze
3967a946c6
doc: Add description of 'build-locally?'.
* doc/guix.texi (Invoking guix deploy): Add section describing the
'build-locally?' field of 'managed-host-environment-type'.
2019-08-15 07:43:17 -04:00
Jakob L. Kreuze
3033d59ac9
machine: Automatically authorize the coordinator's signing key.
* 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.
2019-08-15 07:43:13 -04:00
Jakob L. Kreuze
5ea7537b9a
machine: Allow non-root users to deploy.
* 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.
2019-08-15 07:43:03 -04:00
Jakob L. Kreuze
2c8e04f136
remote: Build derivations appropriate for the remote's
* 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>.
2019-08-14 15:38:09 -04:00
Marius Bakke
462ad9f56b
Merge branch 'master' into core-updates 2019-08-13 20:42:06 +02:00
Jakob L. Kreuze
d97ce20400
machine: Rename 'system' field.
* 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'.
2019-08-06 15:48:51 -04:00
Jakob L. Kreuze
5bc751925d
doc: Add note about signing keys.
* doc/guix.texi (Invoking guix deploy): Add note explaining that
deployment targets must authorize the coordinator machine's signing key.
2019-08-06 15:16:25 -04:00
Efraim Flashner
ac6b78488f
build/cargo-build-system: Patch cargo checksums.
* 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.
2019-08-04 11:53:27 +03:00
Marius Bakke
6a2e54236e
Merge branch 'master' into core-updates 2019-07-31 14:28:56 +02:00
Ludovic Courtès
2e8cabb8d6
gexp: 'program-file' honors the current system and cross-compilation target.
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.
2019-07-26 23:50:12 +02:00
Ludovic Courtès
177fecb57c
git: <git-checkout> allows tags in its 'commit' field.
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.
2019-07-26 11:21:36 +02:00
Ludovic Courtès
81c3dc3224
maint: Switch to Guile-JSON 3.x.
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.
2019-07-25 00:16:41 +02:00
Leo Famulari
b9a178b6dc
doc: Warn about GPG warning.
* doc/guix.texi (Binary Installation, USB Stick and DVD Installation): Warn
users about the web-of-trust untrusted key warning from GPG.
2019-07-24 10:59:27 -04:00
Julien Lepiller
c42db89ff9
doc: Add example for generating a secret key with knot DNS.
* doc/guix.texi (DNS Services): Add an example and more context to the
includes field of the knot-configuration record.
2019-07-23 21:17:04 +02:00
Marius Bakke
ccad0e4d69
Merge branch 'master' into core-updates 2019-07-22 18:58:48 +02:00
Ludovic Courtès
5a90d56352
doc: Update 'guix import json' example.
This is a followup to d78010b81e.

* doc/guix.texi (Invoking guix import): Change 'guix import json'
example to refer to "gettext", not "gcc".
2019-07-22 11:53:39 +02:00
Marius Bakke
2ee70a5b11
Merge branch 'master' into core-updates 2019-07-19 01:15:59 +02:00
Ludovic Courtès
193d20f351
doc: Correctly document 'host' field of <cuirass-configuration>.
* doc/guix.texi (Continuous Integration): Fix doc of the 'host' field.
2019-07-18 00:44:23 +02:00
Ludovic Courtès
4569a7693e
doc: Remove note about grafts being "beta".
* doc/guix.texi (Security Updates): Remove pointless note about the
feature being "beta".
2019-07-18 00:44:23 +02:00
Ludovic Courtès
64de896a71
Merge branch 'master' into core-updates 2019-07-17 15:51:10 +02:00
Jelle Licht
09a1f92f61
build: Add node-build-system.
* 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>
2019-07-14 12:20:48 +02:00
Jan Nieuwenhuizen
53f2164272
channels: Add optional directory to channel metadata.
* 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.
2019-07-14 00:58:09 +02:00
Tobias Geerinckx-Rice
2a059ab995
doc: Increase VM memory size.
* 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.
2019-07-13 05:26:01 +02:00
Tobias Geerinckx-Rice
ffae5a7946
doc: Update gpg key fetching instructions.
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.
2019-07-13 04:55:46 +02:00
Marius Bakke
fb9a23a3f3
Merge branch 'master' into core-updates
Conflicts:
	gnu/local.mk
	gnu/packages/python-xyz.scm
	gnu/packages/xml.scm
	guix/gexp.scm
	po/guix/POTFILES.in
2019-07-12 01:03:53 +02:00
Carl Dong
b6dc08393e
scripts: environment: Add --no-cwd.
* 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>
2019-07-08 10:33:20 -04:00
Jakob L. Kreuze
02a962c8e0
doc: Add section for 'guix deploy'.
* doc/guix.texi: Add section "Invoking guix deploy".
2019-07-06 02:10:04 -04:00
Marius Bakke
4fb9165515
Merge branch 'staging' into core-updates 2019-07-02 20:18:16 +02:00
Tobias Geerinckx-Rice
70d6ec3e4f
doc: Correct the software behind ci.guix.gnu.org.
* doc/guix.texi (Invoking guix publish): It runs Cuirass.
2019-06-29 06:28:50 +02:00
Tobias Geerinckx-Rice
44b5f28a77
doc: Remove references to hydra.gnu.org.
* 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.
2019-06-29 06:28:50 +02:00
Ludovic Courtès
5cc1075a76
Merge branch 'master' into core-updates 2019-06-27 23:33:48 +02:00
Florian Pelz
dc17daa43a
doc: Document use cases for NetworkManager with dnsmasq.
* doc/guix.texi (Networking Services): Give examples.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-06-24 23:25:11 +02:00
Florian Pelz
0207ebf0e9
doc: Use new upstream nomenclature for NetworkManager’s dnsmasq.
* doc/guix.texi (Networking Services): Replace term 'split DNS' by
'conditional forwarding'.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-06-24 23:24:58 +02:00
Florian Pelz
a53a60e0a0
doc: Recommend '-enable-kvm' for installing in a VM as well.
* doc (Installing Guix in a VM): Add '-enable-kvm' to example.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-06-24 23:17:09 +02:00
Marius Bakke
6cb1ef9ea2
Merge branch 'staging' into core-updates 2019-06-20 23:38:56 +02:00
Ludovic Courtès
b95ccbaf61
doc: Replace invalid uses of @var with @code.
* doc/guix.texi: Replace @var with @code in cases where we refer to a
Scheme variable and not to a metasyntactic variable.
2019-06-18 16:26:10 +02:00
Gábor Boskovits
1539156231
doc: Fix typo.
* doc/guix.texi (Base Services)[guix-publish-service-type]:
"guix-publish-configuration" instead of "guix-configuration".
2019-06-17 23:20:44 +02:00
Florian Pelz
7dbeb5a791
services: Include USB_ModeSwitch in %desktop-services.
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>
2019-06-15 18:37:57 +02:00
Florian Pelz
f5be51040c
services: Add usb-modeswitch-service-type.
* 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>
2019-06-15 18:37:54 +02:00
Björn Höfling
f063f0efeb
doc: Fix typo.
* doc/guix.texi: Switch URI and description in @uref for hpcguix-web.
2019-06-14 17:00:50 +02:00
Ludovic Courtès
d9bbfe042e
Merge branch 'master' into core-updates 2019-06-13 13:24:35 +02:00
Julien Lepiller
88b696ef27
doc: Improve tarball extraction example. 2019-06-12 18:52:42 +02:00
Ivan Petkov
8a290772a4
doc: Update cargo-build-system parameter docs.
* 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>
2019-06-11 18:05:44 -07:00
Ludovic Courtès
f8a9f99cd6
store: 'build-things' accepts derivation/output pairs.
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.
2019-06-10 22:42:59 +02:00
Julien Lepiller
aec9bb8793
doc: Work around a po4a bug.
* doc/guix.texi: Work around a po4a bug that prevents `guix pull` from
completing.
2019-06-10 18:31:21 +02:00
Oleg Pykhalov
47b9614b31
services: Add 'nix-service-type'.
* gnu/services/nix.scm: New file.
* gnu/local.mk: Add this.
* doc/guix.texi (Miscellaneous Services): Document this.
2019-06-10 09:15:45 +03:00
Tobias Geerinckx-Rice
940511257c
doc: Fix typos.
* doc/guix.texi (Version Control Services): Fix typos & edit surrounding
text.
2019-06-09 15:33:03 +02:00
Ludovic Courtès
a0f352b30f
pack: Add '--entry-point'.
* 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'.
2019-06-07 09:57:19 +02:00
Ludovic Courtès
08814aec6a
services: Add Singularity.
* 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.
2019-06-07 09:57:19 +02:00
Danny Milosavljevic
07023ebc18
services: Add auditd.
* gnu/services/auditd.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* doc/guix.texi (Miscellaneous Services): Document it.
2019-06-06 22:23:35 +02:00
Diego Nicola Barbato
7f6a717b72
doc: Fix typo.
* doc/guix.texi (Invoking guix archive): Remove spurious hyphen in example.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-06-05 17:27:23 +02:00
Ludovic Courtès
ee2691fa33
services: guix-publish: Allow for multi-compression.
This is a followup to b8fa86adfc.

* 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'.
2019-06-03 23:18:47 +02:00
Ludovic Courtès
b8fa86adfc
publish: '--compression' can be repeated.
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.
2019-06-02 22:01:57 +02:00
Christopher Baines
2177d9222f
services: Add patchwork.
* 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.
2019-05-31 20:22:23 +01:00
Christopher Baines
f6b0e1f8ff
services: Add getmail.
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.
2019-05-31 20:22:20 +01:00
Ludovic Courtès
66229b04ae
publish: Add support for lzip.
* 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.
2019-05-27 22:47:24 +02:00
Jakob L. Kreuze
f644f63655
doc: Update default value of terminal-outputs.
* doc/guix.texi: (terminal-outputs) Update default value.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-05-27 16:44:53 +02:00
Reza Alizadeh Majd
ed90104cc8
services: sddm: Fix root login failure issue.
* 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>
2019-05-26 01:34:16 +02:00
Marius Bakke
57df83e07d
Merge branch 'staging' into core-updates 2019-05-25 00:25:15 +02:00
Vagrant Cascadian
74e74dd0bd
doc: Murmur: Fix typo "authentication".
* doc/guix.texi (Murmur): Fix typo.
2019-05-22 18:29:27 -07:00
Ludovic Courtès
b1903b99e0
weather: Accept package specs on the command line.
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.
2019-05-22 00:09:42 +02:00
Ludovic Courtès
fd214f1522
pack: Add '--root'.
* guix/scripts/pack.scm (%options, show-help): Add "--root".
(guix-pack): Honor it.
* tests/guix-pack.sh: Test it.
* doc/guix.texi (Invoking guix pack): Document it.
2019-05-22 00:09:41 +02:00
Ludovic Courtès
247649d42e
vm: 'system-docker-image' provides an entry point.
This simplifies use of images created with 'guix system docker-image'.

* gnu/system/vm.scm (system-docker-image)[boot-program]: New variable.
[os]: Add it to the GC roots.
[build]: Pass #:entry-point to 'build-docker-image'.
* gnu/tests/docker.scm (run-docker-system-test): New procedure.
(%test-docker-system): New variable.
* doc/guix.texi (Invoking guix system): Remove GUIX_NEW_SYSTEM hack and
'--entrypoint' from the example.  Mention 'docker create', 'docker
start', and 'docker exec'.
2019-05-15 16:36:21 +02:00
Florian Pelz
d906028fd1
doc: Mention ModemManager.
* doc/guix.texi (Desktop Services): Mention ModemManager here.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-05-15 16:36:20 +02:00
Arun Isaac
b33454ae0b
linux-container: Support container network sharing.
* gnu/system/linux-container.scm (container-essential-services): If network is
to be shared with the host, remove network configuration files from etc
service.
(containerized-operating-system): If network is to be shared with the host,
remove nscd service and map host's /var/run/nscd if it exists.
(container-script): If network is to be shared with the host, do not create
network namespace.
* guix/scripts/system.scm (system-derivation-for-action): Add
#:container-shared-network? argument.
(perform-action): Add #:container-shared-network? argument.
(show-help): Add "-N, --network" help information.
(%options): Add network option.
(process-action): Call perform-action with #container-shared-network? argument.
* doc/guix.texi (Invoking guix system): Document the "-N, --network" option.

Co-authored-by: Christopher Baines <mail@cbaines.net>
2019-05-14 02:54:58 +05:30
Ludovic Courtès
06c78f3e11
doc: Mention the Russian translation.
* doc/guix.texi (Top): Mention the Russian translation.
2019-05-13 10:47:52 +02:00
Ludovic Courtès
4d46775b1d
doc: Update list of supported architectures.
* doc/guix.texi (GNU Distribution): Remove "experimental" bit for
AArch64.  Mark "mips64el-linux" as "no longer fully supported."
2019-05-13 00:02:15 +02:00
Diego Nicola Barbato
84c6639f41
doc: Document 'auto-start?' field of 'shepherd-service'.
* doc/guix.texi (shepherd-service): Document 'auto-start?' field.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-05-12 23:31:53 +02:00
Diego Nicola Barbato
7f03133ba3
doc: Fix typo.
* doc/guix.texi (shepherd-service): Replace 'requirements' with 'requirement'.

Signed-off-by: Arun Isaac <arunisaac@systemreboot.net>
2019-05-11 13:11:35 +05:30
Josh Holland
4ac8dd43f0
doc: Fix typo.
* doc/guix.texi (cargo-build-system): Correct Carto.toml.

Signed-off-by: Arun Isaac <arunisaac@systemreboot.net>
2019-05-09 12:54:18 +05:30
Christopher Baines
5b3d3cf71c
services: dovecot: Rename auth-verbose-passwords?.
* gnu/services/mail.scm (dovecot-configuration)[auth-verbose-passwords?]:
Rename to auth-verbose-passwords, and change the type to a string, as this
parameter can take one of three string values.
* doc/guix.texi (Dovecot service): Update the corresponding documentation.
2019-05-07 20:52:02 +01:00
Diego Nicola Barbato
dbef9015db
doc: Document 'display' and 'vt' fields of 'slim-configuration'.
* doc/guix.texi (X Window): Mention 'display' and 'vt' fields of
  'slim-configuration' and explain how to use them to add multiple SLiM
  services to system services.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-05-07 15:46:54 +02:00
Miguel
123e424e95
doc: Fix typo.
* doc/guix.texi (VM): Add missing dot.

Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
2019-05-05 17:28:34 +02:00
Miguel
65e2a3bba0
doc: Fix typo.
* doc/guix.texi (xfce-desktop-service-type): Fix sentence.

Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
2019-05-05 17:24:03 +02:00
Miguel
5f026c1d52
doc: Fix typo.
* doc/guix.texi (page-log@files-configuration@CUPS): "Page log" instead of
"access log".

Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
2019-05-05 17:23:42 +02:00
Miguel
f096071266
doc: Fix typos.
* doc/guix.texi (set-xorg-configuration): Add missing @code tag.
(error-log@files-configuration@CUPS): "Error log" instead of "access log".

Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
2019-05-05 17:23:04 +02:00
Miguel
dd357acd93
doc: Fix typo.
* doc/guix.texi (rsync-service-type): Add missing sentence.

Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
2019-05-05 17:22:24 +02:00
Miguel
24f2d488f2
doc: Fix typo.
* doc/guix.texi (openntpd-configuration): Fix spelling issues.

Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
2019-05-05 17:22:08 +02:00
Miguel
890f4d29cc
doc: Fix typos.
* doc/guix.texi (rakudo-build-system, libvirt-configuration,
pam-krb5): Missing period between sentences.
(gnu services vpn): Fix server spelling.
(agetty-configuration): Add missing subject in the sentence.
(udev-service): Fix markup for Scheme procedures.
({gnome,xfce,mate}-desktop-service): Add missing colon after default.

Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
2019-05-05 17:21:48 +02:00
Ludovic Courtès
ae185085a6
doc: Adjust cross-references for GNU triplets.
* doc/guix.texi (Defining Packages): Reference to 'autoconf' instead of
obsolete 'configure' manual for triplets.
(Additional Build Options): Adjust 'autoconf' node name.
2019-05-04 23:07:38 +02:00
Ludovic Courtès
021deac0e8
doc: Provide the actual URL to the VM image.
Fixes <https://bugs.gnu.org/35537>.
Reported by Andy Tai <atai@atai.org>.

* doc/guix.texi (Running Guix in a VM): Use @url and provide the actual
URL, without @var{system}.
2019-05-04 23:07:38 +02:00
Marius Bakke
729102cbf4
doc: Use HTTPS URLs.
* doc/guix.texi: Use HTTPS where possible.
2019-05-04 16:51:06 +02:00
Marius Bakke
3b458d5462
Merge branch 'master' into core-updates 2019-05-01 23:11:41 +02:00
Ludovic Courtès
757e633d57
build: Change default substitute server to "ci.guix.gnu.org".
* config-daemon.ac: Replace "ci.guix.info" with "ci.guix.gnu.org".
* doc/guix.texi (SUBSTITUTE-SERVER): Likewise.
* etc/substitutes/ci.guix.gnu.org.pub: New file.
* Makefile.am (dist_pkgdata_DATA): Add it.
* guix/scripts/build.scm (%default-log-urls): Update.
* guix/scripts/substitute.scm (%default-substitute-urls): Likewise.
* guix/store.scm (%default-substitute-urls): Likewise.
* guix/self.scm (miscellaneous-files): Add "ci.guix.gnu.org".
2019-05-01 11:05:47 +02:00
Ludovic Courtès
da56f10971
guix package: Add 'guix search' alias.
* guix/scripts/search.scm: New file.
* Makefile.am (MODULES): Add it.
* po/guix/POTFILES.in: Add it.
* tests/guix-package-aliases.sh: Add test.
* doc/guix.texi (Invoking guix package): Document it and use it in a
couple of examples.
2019-04-29 12:19:24 +02:00
rendaw
9d3053819d
file-systems: Support the 'no-atime' flag.
* guix/build/syscalls.scm (MS_NOATIME): New variable.
* gnu/build/file-systems.scm (mount-flags->bit-mask): Support it.
* doc/guix.texi (File Systems): Document it and add cross-references to
the relevant documentation.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2019-04-29 12:19:03 +02:00
Ludovic Courtès
e432ce1b85
doc: Remove traces of "Guix System Distribution".
* doc/guix.texi (Invoking guix package)
(Official Substitute Server, System Configuration): Replace "the Guix
System Distribution" by "Guix System".
2019-04-29 11:17:39 +02:00
Ludovic Courtès
20dbd858ad
doc: Add 'SUBSTITUTE-URL' variable.
* doc/guix.texi (SUBSTITUTE-SERVER): New variable.
(Invoking guix weather): Use it.
2019-04-29 10:54:43 +02:00
Ludovic Courtès
d824cfbabe
guix package: Add 'install', 'remove', and 'upgrade' aliases.
* guix/scripts/install.scm, guix/scripts/remove.scm,
guix/scripts/upgrade.scm, tests/guix-package-aliases.sh: New files.
* Makefile.am (MODULES, SH_TESTS): Add them.
* po/guix/POTFILES.in: Add them.
* guix/scripts/package.scm (guix-package): Split with...
(guix-package*): ... this.  New procedure.
* doc/guix.texi (Invoking guix package): Document them.
(Binary Installation, Application Setup, Package Management)
(Packages with Multiple Outputs, Package Modules)
(X.509 Certificates, Installing Debugging Files): Use 'guix install' in
simple examples.
* etc/completion/bash/guix (_guix_complete): Handle "install", "remove",
and "upgrade".
2019-04-29 10:13:44 +02:00
Ludovic Courtès
0fe1692200
doc: Duplicate recommendation about 'guix-install.sh'.
Since our web site points to "Binary Installation", it's best to have
that note there.

* doc/guix.texi (Binary Installation): Add note about guix-install.sh.
2019-04-28 22:57:07 +02:00
Ludovic Courtès
339586e402
doc: Remove outdated paragraph in "Binary Installation".
This is a followup to e9926f80c6.

* doc/guix.texi (Binary Installation): Remove paragraph about not
removing 'guix' from root's profile.
2019-04-27 19:31:50 +02:00
Ludovic Courtès
68400dfafa
doc: Suggest 1G of RAM for the VM image.
* doc/guix.texi (Running Guix in a VM): Suggest -m 1024.
2019-04-27 15:08:18 +02:00
Ludovic Courtès
ea2acfe98a
doc: Update bit about SSH in the VM.
* doc/guix.texi (Running Guix in a VM): Remove mentions of 'lsh-server';
mention 'openssh-service-type' and add a cross-reference.
* gnu/system/examples/vm-image.tmpl (services): Add a commented-out line
for 'openssh-service-type'.
2019-04-27 15:08:17 +02:00
Ludovic Courtès
05b60752a6
doc: Recommend virtio-blk to access the VM image.
* doc/guix.texi (Running Guix in a VM): Recommend virtio-blk to access
the image.
2019-04-27 15:08:17 +02:00
Julien Lepiller
6cd7b1be7e
gnu: knot: Add configuration fields.
* gnu/services/dns.scm (knot-zone-configuration)[zonefile-load]
[journal-content, max-journal-usage, max-journal-depth, max-zone-size]:
New fields.
(knot-zone-config): Serialize them.
* doc/guix.texi (DNS Services): Document them.
2019-04-27 13:02:31 +02:00
Ludovic Courtès
272db5bcf5
doc: Use ftp.gnu.org for downloads.
From now on, everything will be uploaded to ftp.gnu.org instead of
alpha.gnu.org.

* doc/guix.texi (BASE-URL): Switch to ftp.gnu.org.
2019-04-26 14:19:37 +02:00
Ludovic Courtès
b57dd2006b
doc: Add 'BASE-URL' variable.
* doc/guix.texi (BASE-URL): New variable.
(Binary Installation, USB Stick and DVD Installation)
(Running Guix in a VM): Use it instead of hard-coded URL.
2019-04-26 14:19:36 +02:00
Ludovic Courtès
538b99f31f
system: Provide a new VM image configuration.
* gnu/system/examples/vm-image.tmpl: Rewrite.
* doc/guix.texi (Running Guix in a VM): Adjust accordingly.
2019-04-26 14:19:36 +02:00
Julien Lepiller
92eb600f8a
gnu: knot-service: Add includes field in configuration.
* gnu/services/dns.scm (knot-configuration): Add includes field.
(verify-knot-configuration): Check includes content.
(knot-config-file): Serialize includes.
* doc/guix.texi (DNS Services): Document it.
2019-04-25 21:44:55 +02:00
Julien Lepiller
b68aff1f05
gnu: certbot: Add support for manual plugin.
* gnu/services/certbot.scm (certificate-configuration): Add challenge,
auth-hook and cleanup-hook fields.
(certbot-command): Use them.
* doc/guix.texi (Certificate Services): Document them.
2019-04-25 19:46:18 +02:00
Ludovic Courtès
f6beefafd1
doc: Refer to the es and zh_CN translations.
* doc/guix.texi (Top): Mention Simplified Chinese and Spanish.
2019-04-24 00:35:11 +02:00
Ludovic Courtès
95ef8b85b1
services: shepherd: Support one-shot services.
* gnu/services/shepherd.scm (<shepherd-service>)[one-shot?]: New field.
(shepherd-service-file): Pass #:one-shot? to the <service> constructor.
* doc/guix.texi (Shepherd Services): Document it.
2019-04-23 16:38:11 +02:00
Christopher Baines
5582aa8e31
system: Change default kernel-arguments to '("quiet").
This improves the readability of the boot process, especially when using full
disk encryption where you're required to enter the passphrase at a particular
point.

* gnu/system.scm (<operating-system>)[kernel-arguments]: Change the default to
'("quiet").
* doc/guix.texi (operating-system Reference): Document this change.
2019-04-22 22:18:00 +01:00
Ludovic Courtès
c5265a0951
pull: Add '--news'.
Suggested by Tobias Geerinckx-Rice <me@tobias.gr>.

* guix/scripts/pull.scm (%options, show-help): Add '--news'.
(display-profile-news): Add #:current-is-newer? and #:concise?.
Honor them.
(build-and-install): Pass #:concise? #t.
(display-new/upgraded-packages)[concise/max-item-count]: New variable.
Add call to 'display-hint'.
(process-query): Add clause for 'display-news'.
* doc/guix.texi (Invoking guix pull): Add '--news'.
2019-04-22 12:01:32 +02:00
Ludovic Courtès
ea261dea0c
guix build: Accept multiple '-s' options.
* guix/scripts/build.scm (%default-options): Remove 'system'.
(%options) <--system>: Keep previous occurrences of 'system in RESULT.
(options->derivations)[system]: Remove.
[systems, things-to-build]: New variables.
[compute-derivation]: New procedure.
Iterate on all of SYSTEMS to compute the derivations of THINGS-TO-BUILD.
* tests/guix-build.sh: Add test for one and multiple '-s' flags.
* doc/guix.texi (Additional Build Options): Document this behavior.
2019-04-19 17:46:40 +02:00
Ludovic Courtès
72f749dcb8
pull: '--url', '--commit', and '--branch' apply to the 'guix' channel.
Suggested by pkill9 <pkill9@runbox.com>.

* guix/scripts/pull.scm (channel-list): Apply REF and URL to the 'guix'
channel.
* doc/guix.texi (Invoking guix pull): Adjust accordingly.
2019-04-17 13:56:40 +02:00
Ludovic Courtès
16cdba76e4
doc: Replace misuses of @var by @code.
* doc/guix.texi (Hardware Considerations, Service Types and Services)
(Service Reference, Shepherd Services, Security Updates): Use @code
instead of @var for things that are not meta-syntactic variables.
2019-04-15 17:03:33 +02:00
Ludovic Courtès
cbd059d101
doc: Document 'this-package' and 'this-operating-system'.
* doc/guix.texi (package Reference): Document 'this-package'.
(operating-system Reference): Document 'this-operating-system'.
2019-04-15 12:24:14 +02:00
Ludovic Courtès
3f03a198b2
system: Add 'label' field to <operating-system>.
* gnu/system.scm (<operating-system>)[label]: New field.
(operating-system-default-label): New procedure.
(operating-system-boot-parameters): Use it instead of
'kernel->boot-label'.
* doc/guix.texi (operating-system Reference): Document it.
2019-04-15 12:24:14 +02:00
Tobias Geerinckx-Rice
d5752f68ef
doc: Fix location of fprintd-service-type.
* doc/guix.texi (Miscellaneous Services): Correct module name.
2019-04-14 20:15:27 +02:00
Danny Milosavljevic
a0b419bc64
doc: Fix typo.
Follow-up to 96ef856528.

* doc/guix.texi (Limitations): Fix typo.
2019-04-14 20:05:45 +02:00
Ludovic Courtès
96ef856528
doc: Strip the "Limitations" section.
* doc/guix.texi (Limitations): Strip the paragraph about not being
production-ready.  Remove the number of packages.
2019-04-12 17:56:23 +02:00
Danny Milosavljevic
ce6312999f
Add (guix build-system linux-module).
* guix/build/linux-module-build-system.scm: New file.
* guix/build-system/linux-module.scm: New file.
* doc/guix.texi (Build Systems): Document it.
* Makefile.am (MODULES): Add them.
2019-04-11 17:50:18 +02:00
Tobias Geerinckx-Rice
35934ff06e
doc: Fix typo.
* doc/guix.texi (Bootloader Configuration): Fix ‘fow now’.
2019-04-11 05:32:49 +02:00
Ludovic Courtès
96b8c2e6e2
guix gc: Add '--delete-generations'.
* guix/scripts/gc.scm (show-help, %options): Add
'--delete-generations'.  Change '--delete' shorthand to '-D'.
(delete-old-generations): New procedure.
(guix-gc)[delete-generations]: New procedure.
Call it when ACTION is 'collect-garbage' and OPTS contains
'delete-generations.
* doc/guix.texi (Invoking guix gc): Document it.
2019-04-10 17:09:47 +02:00
Ludovic Courtès
bacf980c76
guix gc: Add '--list-roots'.
* guix/scripts/gc.scm (show-help, %options): Add '--list-roots'.
(guix-gc)[list-roots]: New procedure.
Handle '--list-roots'.
* tests/guix-gc.sh: Test it.
* doc/guix.texi (Invoking guix gc): Document it.
2019-04-10 17:09:47 +02:00
Ludovic Courtès
b596c5fbc1
doc: Fix syntax of cross-manual references.
This is a followup to 412e6396bb.

* doc/guix.texi (Mail Services): Fix syntax of cross-references to the
Mailutils manual.
2019-04-07 11:39:40 +02:00
宋文武
412e6396bb
services: Add 'imap4d-service-type'.
* gnu/services/mail.scm (<imap4d-configuration>): New record type.
(imap4d-shepherd-service): New procedure.
(%default-imap4d-config-file, imap4d-service-type): New variables.
* gnu/services/mail.scm (Mail Services): Document it.
2019-04-07 14:18:01 +08:00
Ludovic Courtès
3a665637af
services: console-keymap: Deprecate.
* gnu/services/base.scm (console-keymap-service): Mark as deprecated.
* doc/guix.texi (Base Services): Remove its documentation.
2019-04-05 15:39:35 +02:00
Ludovic Courtès
a31af2beee
doc: Explain how to change the keyboard layout at run time.
* doc/guix.texi (Keyboard Layout): Mention GNOME's "Region & Language",
setxkbmap, and loadkeys.
2019-04-05 15:39:35 +02:00
Ludovic Courtès
305a732a0a
services: xorg: Add 'set-xorg-configuration'.
* gnu/services/xorg.scm (gdm-service-type)[compose, extend]: New fields.
(set-xorg-configuration): New procedure.
* doc/guix.texi (Keyboard Layout): Use it.
(X Window): Document it.
* gnu/system/examples/desktop.tmpl: Add 'keyboard-layout' fields.
2019-04-05 15:39:35 +02:00
Ludovic Courtès
1ccc0f807d
environment: '-C' creates namespaces where the user is not root.
* guix/scripts/environment.scm (launch-environment/container): Add UID
and GID.  Use them in PASSWD and GROUPS.  Pass them as #:guest-uid and
 #:guest-gid to 'call-with-container'.
* tests/guix-environment-container.sh: Test the inner UID.
In '--user' test, replace hard-coded 0 with 1000.
* doc/guix.texi (Invoking guix environment): Adjust accordingly.
2019-04-02 18:15:37 +02:00
Ludovic Courtès
631a6e6377
doc: Document 'gdm-service-type'.
* doc/guix.texi (X Window): Document 'gdm-service-type' and
'gdm-configuration'.  Take description of '.desktop' files from the
'slim-service-type' description.
* gnu/services/xorg.scm (gdm-service): Remove outdated comment.
2019-03-31 23:32:46 +02:00
Ludovic Courtès
a7646bc5e1
packages: Remove 'self-native-input?' field.
This field has become unnecessary with the addition of 'this-package'.

* guix/packages.scm (<package>)[self-native-input?]: Remove.
(package->bag): Adjust accordingly.
* doc/guix.texi (package Reference): Remove 'self-native-input?'.
2019-03-30 15:19:32 +01:00
Ludovic Courtès
46fc7cafcf
doc: Fix invalid uses of @ref.
* doc/guix.texi (Invoking guix pull): Use @xref instead of @ref at the
beginning of sentences.
2019-03-29 15:35:54 +01:00
Ludovic Courtès
357b287b8f
services: desktop: Switch to GDM.
* gnu/services/desktop.scm (%desktop-services): Replace
SLIM-SERVICE-TYPE instance with an instance of GDM-SERVICE-TYPE.
* doc/guix.texi (Keyboard Layout): Change example to mention
GDM-SERVICE-TYPE.
(X Window): Mention GDM.
(Desktop Services): Adjust references to SLiM.
2019-03-28 23:06:59 +01:00
Ludovic Courtès
391e0d65d7
services: Deprecate 'xfce-desktop-service'.
* gnu/services/desktop.scm (xfce-desktop-service-type)[default-value]
[description]: New fields.
(xfce-desktop-service): Deprecate.
* gnu/system/examples/desktop.tmpl: Use the (service …) form.
* gnu/installer/services.scm (%desktop-environments): Add TODO comment.
* doc/guix.texi (Desktop Services): Adjust accordingly, and fix spelling
of "Xfce" throughout.
2019-03-27 11:54:06 +01:00
Ludovic Courtès
ee05cc7fe3
services: Deprecate 'gnome-desktop-service'.
* gnu/services/desktop.scm (gnome-desktop-service-type)[default-value]:
New field.
(gnome-desktop-service): Deprecate.
* gnu/installer/services.scm (%desktop-environments): Use the (service …)
form for GNOME.
* gnu/system/examples/desktop.tmpl: Likewise.
* doc/guix.texi (Desktop Services): Adjust accordingly.
2019-03-27 11:54:06 +01:00
Ludovic Courtès
69cae3d335
system: Add 'essential-services' field to <operating-system>.
* gnu/system.scm (<operating-system>)[essential-services]: New field.
(operating-system-directory-base-entries): Remove #:container? keyword
and keep only the not-container branch.
(essential-services): Likewise.
(operating-system-services): Likewise, and call
'operating-system-essential-services' instead of 'essential-services'.
(operating-system-activation-script): Remove #:container?.
(operating-system-boot-script): Likewise.
(operating-system-derivation): Likewise.
* gnu/system/linux-container.scm (container-essential-services): New procedure.
(containerized-operating-system): Use it and set the
'essential-services' field.
(container-script): Remove call to 'operating-system-derivation'.
* gnu/system/vm.scm (system-docker-image): Likewise.
* doc/guix.texi (operating-system Reference): Document 'essential-services'.
2019-03-25 23:37:06 +01:00
Ludovic Courtès
cf848cc0a1
accounts: Add default value for the 'home-directory' field of <user-account>.
* gnu/system/accounts.scm (<user-account>)[home-directory]: Mark as
thunked and add a default value.
(default-home-directory): New procedure.
* doc/guix.texi (User Accounts): Remove 'home-directory' from example.
* gnu/system/examples/bare-bones.tmpl: Likewise.
* gnu/system/examples/beaglebone-black.tmpl: Likewise.
* gnu/system/examples/desktop.tmpl: Likewise.
* gnu/system/examples/docker-image.tmpl: Likewise.
* gnu/system/examples/lightweight-desktop.tmpl: Likewise.
* gnu/system/install.scm (installation-os): Likewise.
* gnu/tests.scm (%simple-os): Likewise.
* gnu/tests/install.scm (%minimal-os, %minimal-os-on-vda):
(%separate-home-os, %encrypted-root-os, %btrfs-root-os): Likewise.
* tests/accounts.scm ("allocate-passwd")
("allocate-passwd with previous state"): Likewise.
2019-03-25 23:37:06 +01:00
Ludovic Courtès
2bbb4ead77
doc: Document keyboard layout.
* doc/guix.texi (Keyboard Layout): New node.
(Bootloader Configuration): Remove examples and refer to it.
(X Window): Add cross-reference.
2019-03-24 23:06:12 +01:00
Ludovic Courtès
ae7a316b9d
system: Initialize console keyboard layout in the initrd.
Partially fixes <https://bugs.gnu.org/25453>.

* gnu/system.scm (<operating-system>)[keyboard-layout]: New field.
(operating-system-initrd-file): Pass #:keyboard-layout to MAKE-INITRD.
* gnu/system/linux-initrd.scm (raw-initrd): Add #:keyboard-layout.
Pass #:keymap-file to 'boot-system'.
(base-initrd): Add #:keyboard-layout.
[helper-packages]: Add LOADKEYS-STATIC when KEYBOARD-LAYOUT is true.
Pass #:keyboard-layout to 'raw-initrd'.
* gnu/build/linux-boot.scm (boot-system): Add #:keymap-file and honor
it.
* doc/guix.texi (operating-system Reference): Document the
'keyboard-layout' field.
(Initial RAM Disk): Update 'raw-initrd' and 'base-initrd' documentation.
2019-03-24 23:06:12 +01:00
Ludovic Courtès
598757e038
services: xorg: Add a 'keyboard-layout' field in <xorg-configuration>.
* gnu/services/xorg.scm (<xorg-configuration>)[keyboard-layout]: New
field.
(xorg-configuration->file)[input-class-section]: New procedure.
Use it.
* doc/guix.texi (X Window): Document 'keyboard-layout' field.

Co-authored-by: nee <nee-git@hidamari.blue>
2019-03-24 23:06:11 +01:00
Ludovic Courtès
554b860739
services: sddm, slim, gdm: Take an <xorg-configuration> record.
* gnu/services/sddm.scm (<sddm-configuration>)[xorg-server-path]
[xserver-arguments]: Remove.
[xorg-configuration]: New field.
(sddm-configuration-file): Adjust accordingly.
* gnu/services/xorg.scm (<slim-configuration>)[startx]: Remove.
[xorg-configuration]: New field.
(slim-shepherd-service, slim-service): Adjust accordingly.
(<gdm-configuration>)[x-server]: Remove.
[xorg-configuration]: New field.
(gdm-shepherd-service, gdm-service): Adjust accordingly.
* doc/guix.texi (X Window): Update accordingly.
2019-03-24 23:06:11 +01:00
Ludovic Courtès
b2e564515a
services: xorg: Define an <xorg-configuration> record type.
* gnu/services/xorg.scm (<xorg-configuration>): New record type.
(xorg-configuration-file): Remove.
(xorg-wrapper): Remove #:modules, #:configuration-file, and
 #:xorg-server; add optional 'config' parameter instead.  Adjust
accordingly.
(xorg-start-command): Likewise.
* doc/guix.texi (X Window): Document 'xorg-configuration'.  Update
'xorg-start-command' documentation.  Remove 'xorg-configuration-file'
documentation.
2019-03-24 23:06:11 +01:00
Ludovic Courtès
956607e340
services: xorg: Remove unused #:guile parameter.
* gnu/services/xorg.scm (xorg-wrapper): Remove #:guile, which was unused.
(xorg-start-command): Likewise.
(xinitrc): Likewise.
2019-03-24 23:06:11 +01:00
Ludovic Courtès
8d058e7b1b
bootloader: Add a 'keyboard-layout' field.
* gnu/bootloader/grub.scm (keyboard-layout-file): New procedure.
(grub-configuration-file)[keyboard-layout-file]: New variable.
[builder]: Use it.
* gnu/bootloader.scm (<bootloader-configuration>)[keyboard-layout]: New
field.
* doc/guix.texi (Bootloader Configuration): Document it.

Co-authored-by: nee <nee-git@hidamari.blue>
2019-03-24 23:06:11 +01:00