me
/
guix
Archived
1
0
Fork 0
Commit Graph

2217 Commits (18dc8c6f0f76b8d128638105eebad2895f9857f0)

Author SHA1 Message Date
Jonathan Brielmaier b4db113641
services: Add radicale-service-type.
* gnu/services/mail.scm (radicale-configuration)
(radicale-configuration?): New procedures.
(%default-radicale-config-file)
(radicale-service-type): New variables.
* doc/guix.texi: Document it.
2020-12-27 19:32:09 +01:00
Ludovic Courtès e38d90d497
transformations: Add '--with-patch'.
Suggested by Philippe Swartvagher <philippe.swartvagher@inria.fr>.

* guix/transformations.scm (transform-package-patches): New procedure.
(%transformations): Add it as 'with-patch'.
(%transformation-options, show-transformation-options-help/detailed):
Add '--with-patch'.
* tests/transformations.scm ("options->transformation, with-patch"): New
test.
* doc/guix.texi (Package Transformation Options): Document it.
2020-12-27 17:23:40 +01:00
Ludovic Courtès 7624ebbae3
ssh: Use 'guix repl' instead of 'guile'.
This simplifies setup of build machines: no need to install Guile in
addition to Guix, no need to set 'GUILE_LOAD_PATH' & co., leading to
fewer failure modes.

* guix/ssh.scm (remote-run): New procedure.
(remote-daemon-channel): Use it instead of 'open-remote-pipe*'.
(store-import-channel)[import]: Remove check for module availability.
Add call to 'primitive-exit'.
Use 'remote-run' instead of 'open-remote-pipe'.
(store-export-channel)[export]: Remove check for module availability.
Add calls to 'primitive-exit'.
Use 'remote-run' instead of 'open-remote-pipe'.
(handle-import/export-channel-error): Remove 'module-error' clause.
(report-module-error): Remove.
* guix/scripts/offload.scm (assert-node-has-guix): Replace call to
'report-module-error' by 'leave'.
* doc/guix.texi (Daemon Offload Setup): Remove mention of Guile.
2020-12-23 16:03:32 +01:00
Ricardo Wurmus 5f5e3873d7
import/cran: Add input style "specification".
* guix/import/cran.scm (%input-style): New parameter.
(format-inputs): Use it.
* guix/scripts/import/cran.scm (guix-import-cran): Set the %input-style
parameter.
 (%options): Add "--style" option.
* doc/guix.texi (Invoking guix import): Document it.
2020-12-22 14:18:34 +01:00
Maxim Cournoyer 15fba3b13d
doc: Add Emacs packaging guidelines.
* doc/contributing.texi (Emacs Packages): New subsection.
2020-12-17 00:51:49 -05:00
Ludovic Courtès 69a0440a02
doc: Document 'advertise?' for 'guix-publish-configuration'.
* doc/guix.texi (Base Services): Document the 'advertise?' field of
'guix-publish-configuration'.
2020-12-09 14:13:33 +01:00
Julien Lepiller ccc4d287b7
guix: opam: Add coq support in the importer.
* guix/import/opam.scm (get-opam-repository): Add support for coq
repositories.
(ocaml-name->guix-name): Properly name coq package.
* doc/guix.texi (Invoking guix import): Document it.
2020-12-08 16:53:07 +01:00
Mathieu Othacehe 770fb659a6
services: cuirass: Add queue-size option.
* gnu/services/cuirass.scm (<cuirass-configuration>): Add "queue-size" field.
(cuirass-shepherd-service): Honor it.
* doc/guix.texi (Continuous Integration): Document it.
2020-12-08 11:56:26 +01:00
宋文武 c46b969120
doc: Document about xfce4-panel plugins.
* doc/guix.texi (Desktop Services): Document that xfce4-panel plugin packages
should be added to the 'packages' field of OS.
2020-12-07 16:08:41 -05:00
Holger Peters b3f21eb6bc
doc: Fix incorrect GUIX_PROFILE value for 'guix pull'.
* doc/guix.texi (Getting Started): Fix invalid GUIX_PROFILE value.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2020-12-07 12:48:25 +01:00
Mathieu Othacehe e461d3b750
service: Add shepherd discover action.
* gnu/services/base.scm (shepherd-discover-action): New procedure,
(guix-shepherd-service)[<actions>]: add it,
[<start>]: honor it.
* doc/guix.texi (Invoking guix-daemon): Document it.
2020-12-07 10:39:21 +01:00
Christopher Baines 92f7c11af2
prometheus-node-exporter: Support extra options.
There are plenty of options supported that the Guix configuration record
doesn't help you with, so add this field to allow users to do their own thing.

* gnu/services/monitoring.scm (<prometheus-node-exporter-configuration>): Add
extra-options field.
(prometheus-node-exporter-shepherd-service): Handle the extra options.
* doc/guix.texi (Prometheus Node Exporter Service): Document this.
2020-12-07 09:08:33 +00:00
Christopher Baines fd14385581
prometheus-node-exporter: Enable the textfile collector.
* gnu/services/monitoring.scm (<prometheus-node-exporter-configuration>): Add
textfile-directory.
(prometheus-node-exporter-textfile-directory,
prometheus-node-exporter-activation): New procedures.
(prometheus-node-exporter-shepherd-service): Pass
--collector.textfile.directoryto the service.
(prometheus-node-exporter-service-type): Extend the activation service type.
* doc/guix.texi (Prometheus Node Exporter Service): Document.
2020-12-07 09:08:20 +00:00
Christopher Baines 6eba27f7be
doc: Remove redundant node exporter configuration from the example.
* doc/guix.texi (Prometheus Node Exporter Service): Simplify the example.
2020-12-07 09:08:17 +00:00
Hugo Thiessard a889e6a9bf
doc: Document Guix System F2FS root support.
* doc/guix.texi (Keyboard Layout and Networking and Partitioning): Add
F2FS to the footnote of Guix System's supported root file systems.

Signed-off-by: Tobias Geerinckx-Rice <me@tobias.gr>
2020-12-07 00:38:44 +01:00
Ludovic Courtès 7f13e8d862
doc: Add note on the importance of bootstrapping.
* doc/guix.texi (Bootstrapping): Remove distinction between "regular
users" and "hackers".  Explain the importance of the question.
2020-12-06 23:18:08 +01:00
Ludovic Courtès 443599999a
doc: Mention Guile-Semver dependency.
This is a followup to 269c1db41b.

* doc/guix.texi (Requirements): Mention Guile-Semver.
2020-12-04 16:59:26 +01:00
Simon Josefsson 1d4a2668e3
doc: Give references and examples for services-to-restart.
* doc/guix.texi (Unattended Upgrades): Give references and examples
for services-to-restart.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2020-12-03 23:18:30 +01:00
Maxime Devos 7776fc4c0f
doc: Correct spelling of 'discover?' .
* doc/guix.texi (Base Services): Correct spelling of 'discover?'.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2020-12-03 20:33:58 +01:00
Ludovic Courtès b5a6eddd8e
doc: Tweak wording of 'chicken-build-system' material.
* doc/guix.texi (Build Systems): Fix spelling of "CHICKEN".  Add xref to
its web site.  Tweak wording.
2020-12-03 16:18:44 +01:00
raingloom 64f032d73f
build-system: Add chicken-build-system.
* guix/build-system/chicken.scm: New file.
* guix/build/chicken-build-system.scm: New file.
* Makefile.am: Add them.
* doc/guix.texi: Document it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2020-12-03 16:18:33 +01:00
Maxim Cournoyer 3462678bc3
doc: Document that source derivation builds can be checked.
It is a common mistake to modify an <origin> record that computes to a
fixed-output derivation, forgetting to update its hash field, only to find out
that a previously built source gets used instead.  While there doesn't seem to
be an obvious solution to this problem, we can at least document the fact that
sources can be checked the same as other builds.

* doc/guix.texi (Additional Build Options): Document that source derivation
builds can be verified using --check.
2020-11-29 22:38:53 -05:00
John Soo 58be9e0bf1
processes: Add '--format' and the "normalized" format.
* guix/scripts/processes.scm (lock->recutils): New procedure.
(daemon-session->recutils): Use it.
(daemon-sessions->recutils, session-key->recutils)
(session-scalars->normalized-record)
(child-process->normalized-record)
(daemon-sessions->normalized-record): New procedures.
(session-rec-type, lock-rec-type, child-process-rec-type)
(%available-formats): New variables.
(list-formats): New procedure.
(%options, show-help): Add '--format'.
(%default-options): New variable.
(guix-processes): Use 'parse-command-line' instead of 'args-fold*'.
Honor the 'format' value in OPTIONS.
* doc/guix.texi (Invoking guix processes): Document '--format'.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2020-11-29 23:55:57 +01:00
John Soo e1c81203ca
processes: Put ChildProcess and ChildPID on separate lines.
* guix/scripts/processes.scm (daemon-session->recutils): Put child
process information in separate fields.
* doc/guix.texi (Invoking guix processes): Document change in output of
'guix processes'.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2020-11-29 23:55:57 +01:00
Oleg Pykhalov 3682638910
doc: Document zabbix-agent hostname change.
This commit follows 8518a3692c.

* doc/guix.texi
(Monitoring Services)[zabbix-agent]: Set hostname to empty string.
2020-11-29 18:02:36 +03:00
Mathieu Othacehe 79f9dee3c4
Use substitute servers on the local network.
* guix/scripts/discover.scm: New file.
* Makefile.am (MODULES): Add it.
* nix/nix-daemon/guix-daemon.cc (options): Add "discover" option,
(parse-opt): parse it,
(main): start "guix discover" process when the option is set.
* guix/scripts/substitute.scm (%local-substitute-urls): New variable,
(substitute-urls): add it.
* gnu/services/base.scm (<guix-configuration>): Add "discover?"
field,
(guix-shepherd-service): honor it.
* doc/guix.texi (Invoking guix-daemon): Document "discover" option,
(Base Services): ditto.
2020-11-29 15:08:26 +01:00
Mathieu Othacehe 276e494b2a
publish: Add advertising support.
* guix/scripts/publish.scm (%options): Add "--advertise" option.
(show-help): Document it.
(service-name): New procedure,
(publish-service-type): new variable.
(run-publish-server): Add "advertise?" and "port" parameters. Use them to publish
the server using Avahi.
(guix-publish): Pass the "advertise?" option to "run-publish-server".
* gnu/services/base.scm (<guix-publish-configuration>): Add "advertise?"
field.
(guix-publish-shepherd-service): Honor it.
2020-11-29 15:08:26 +01:00
Mathieu Othacehe 375cc7dea2
Add Avahi support.
* guix/avahi.scm: New file.
* Makefile.am (MODULES): Add it.
* configure.ac: Add Guile-Avahi dependency.
* doc/guix.texi (Requirements): Document it.
* gnu/packages/package-management.scm (guix)[native-inputs]: Add
"guile-avahi",
[propagated-inputs]: ditto.
* guix/self.scm (specification->package): Add guile-avahi.
(compiled-guix): Ditto.
2020-11-29 15:08:26 +01:00
Tobias Geerinckx-Rice 5e93118448
doc: Fix another typo.
* doc/guix.texi (Database Services): Remove a duplicate ‘on’ from the
memcached section.
2020-11-28 22:55:28 +01:00
Marius Bakke 4dadb49779
Merge branch 'staging' 2020-11-28 22:39:12 +01:00
Marius Bakke fe5c9051cc
doc: Fix typo.
* doc/guix.texi (Database Services): Replace comma with full stop for
Memcached documentation.
2020-11-28 22:36:59 +01:00
Marius Bakke e20388ad7f
services: MySQL: Upgrade database schemas automatically.
* gnu/services/databases.scm (<mysql-configuration>): Add AUTO-UPGRADE? field.
(mysql-upgrade-wrapper, mysql-upgrade-shepherd-service,
mysql-shepherd-services): New variables.
(mysql-service-type): Use MYSQL-SHEPHERD-SERVICES instead of
MYSQL-SHEPHERD-SERVICE.
* doc/guix.texi (Database Services): Document the AUTO-UPGRADE? field of
MYSQL-SERVICE-TYPE.
* gnu/tests/databases.scm (run-mysql-test): Test that mysql_upgrade has run.
2020-11-28 19:51:40 +01:00
Marius Bakke 927bf98e0e
services: MySQL: Make the socket configurable.
* gnu/services/databases.scm (<mysql-configuration>): Add SOCKET field.
(mysql-configuration-file): Adjust accordingly.
* doc/guix.texi (Database Services): Likewise.
2020-11-28 19:51:40 +01:00
Marius Bakke 27d7cdbf87
services: MySQL: Bind to localhost only by default.
* gnu/services/databases.scm (<mysql-configuration>): Add BIND-ADDRESS field.
(mysql-configuration-file): Adjust accordingly.
* doc/guix.texi (Database Services): Document it.
2020-11-28 19:51:40 +01:00
Marius Bakke 89b704a456
services: MySQL: Deprecate 'mysql-service'.
* gnu/services/databases.scm (mysql-service): Define in terms of DEFINE-DEPRECATED.
* gnu/tests/databases.scm (%mysql-os): Adjust accordingly.
* doc/guix.texi (Database Services): Adjust the MariaDB/MySQL section to
document MYSQL-SERVICE-TYPE instead of MYSQL-SERVICE.  While at it, document
the EXTRA-CONTENT field.
2020-11-28 19:51:40 +01:00
Ludovic Courtès b229803a78
doc: Update mcron example.
This is a followup to 0468455e7d, which
added mcron to %BASE-SERVICES.

* doc/guix.texi (Scheduled Job Execution): Use 'simple-service'.
2020-11-28 00:06:14 +01:00
Ludovic Courtès bb15471e73
doc: Remove lzlib from the requirements.
This is a followup to 4c0c65acfa.

* doc/guix.texi (Requirements): Remove lzlib.
2020-11-28 00:06:14 +01:00
Marius Bakke 24c86ad0c0
Merge branch 'master' into staging 2020-11-26 23:59:28 +01:00
Tobias Geerinckx-Rice 3c881facce
doc: Fix typo.
* doc/guix.texi (Version Control Services): Fix ‘trough’ typo.

Reported by guixy on #guix.
2020-11-26 23:32:29 +01:00
Marius Bakke bff94a5a53
Merge branch 'master' into staging 2020-11-26 01:08:35 +01:00
Ludovic Courtès c350a99bea
doc: Tweak LVM-related info.
* doc/guix.texi (Limitations): Remove LVM support.
(Mapped Devices): Add link the to LVM web site.  Tweak wording.
2020-11-26 00:05:39 +01:00
Mikhail Tsykalov a9a2fdaabc
mapped-devices: Add 'lvm-device-mapping'.
* gnu/system/mapped-devices.scm (lvm-device-mapping, open-lvm-device,
close-lvm-device): New variables.

* gnu/tests/install.scm (%lvm-separate-home-os,
%lvm-separate-home-os-source, %lvm-separate-home-installation-script,
%test-lvm-separate-home-os): New variables.

* gnu/system/linux-initrd.scm (raw-initrd): Add (srfi srfi-1) to initrd expression.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2020-11-26 00:05:39 +01:00
Mikhail Tsykalov 788df2ecd6
mapped-devices: Allow target to be list of strings.
* gnu/system/mapped-devices.scm (<mapped-device>): Rename constructor to
%mapped-device.
[target]: Remove field.
[targets]: New field. Adjust users.
(mapped-device-compatibility-helper, mapped-device): New macros.
(mapped-device-target): New deprecated procedure.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2020-11-26 00:05:39 +01:00
Oleg Pykhalov 984124173b
doc: Fix a typo in WebSSH configuration documentation.
* doc/guix.texi (Networking Services): Fix a typo in webssh-configuration.
2020-11-24 07:43:43 +03:00
Marius Bakke a485a98ca8
Merge branch 'master' into staging 2020-11-22 23:36:09 +01:00
Tobias Geerinckx-Rice 13180f6acc
services: cups: Add Splix by default.
* gnu/services/cups.scm (cups-configuration): Add splix to the default extensions.
* doc/guix.texi (Printing Services): Document it.
2020-11-21 23:00:06 +01:00
Tobias Geerinckx-Rice 0b57c1b09e
gnu: Rename escpr to epson-inkjet-printer-escpr.
‘escpr’ is nice and short, but everyone else calls this package
‘epson-inkjet-printer-escpr’.  More importantly, so does upstream.

* gnu/packages/cups.scm (escpr, epson-inkjet-printer-escpr,): Rename
escpr to epson-inkjet-printer-escpr, redefining escpr as
deprecated-package.  Adjust all users.
2020-11-21 22:59:47 +01:00
Marius Bakke 35ed83beae
Merge branch 'master' into staging 2020-11-19 00:04:32 +01:00
Julien Lepiller 5221df3414
gnu: vpn: Make ca, key and cert optional.
* gnu/services/vpn.scm (openvpn-client-configuration)
(openvpn-server-configuration): Make ca, key an cert fields optional.
* doc/guix.texi (VPN Services): Document the change.
2020-11-18 15:05:41 +01:00
Danny Milosavljevic 8490fa0253
services: cups: Add some extensions by default.
* gnu/services/cups.scm (cups-configuration): Add some extensions by default.
doc/guix.texi (Printing Services): Document the default value.
2020-11-18 10:00:11 +01:00
Maxim Cournoyer 11d37090f9
doc: Add a backslash escape to the disk-image example.
* doc/guix.texi (Invoking guix system): Add a backslash escape.
2020-11-17 21:43:22 -05:00
Maxim Cournoyer 41f27bf870
guix: system: Make disk-image root file system non-volatile by default.
And add a new '--volatile' option to have it volatile otherwise.

* guix/scripts/system.scm (%options)[volatile-root?]: New boolean option.
(%default-options): Set its default value to #f.
(show-help): Add help doc.
* guix/scripts/system.scm (perform-action): Propagate option...
(system-derivation-for-action): ...here.  Use it to set the volatile-root?
field of the image object passed to SYSTEM-IMAGE.
* doc/guix.texi (Invoking guix system): Document it.
2020-11-17 15:20:03 -05:00
Maxim Cournoyer ac96f2c836
doc: Detail which bootloader get used with disk-image or vm-image.
* doc/guix.texi (Invoking guix system): Extend doc.
2020-11-17 15:20:03 -05:00
Marius Bakke 4e5e05d409
Merge branch 'master' into staging 2020-11-15 23:45:34 +01:00
Daniel Brooks 0fd87768e4
doc: Add a note about SELinux relabeling after upgrades to guix-daemon.
* doc/guix.texi (SELinux Support): Add note about upgrades.

Signed-off-by: Marius Bakke <marius@gnu.org>
2020-11-15 23:09:46 +01:00
Matthew Kraai 16144199c3
doc: Remove superfluous comma.
* doc/guix.texi (Managing Software the Guix Way): Remove comma.

Signed-off-by: Leo Famulari <leo@famulari.name>
2020-11-14 12:00:21 -05:00
Holger Peters 289b20ef62
doc: Document hg-fetch.
* doc/guix.texi (origin Reference): Add documentation for hg-fetch.

Signed-off-by: Christopher Baines <mail@cbaines.net>
2020-11-14 10:27:00 +00:00
Christopher Baines e365f8b26c
doc: Fix Guix Build Coordinator agent configuration defaults.
* doc/guix.texi (Guix Build Coordinator): Fix some
guix-build-coordinator-agent-configuration defaults.
2020-11-14 09:51:17 +00:00
Mark H Weaver e3ae313478
gnu: mingetty-shepherd-service: Make 'clear-on-logout' configurable.
Also change the default configuration to clear on logout, which is the
upstream default.

* gnu/services/base.scm (<mingetty-configuration>): Add 'clear-on-logout?'
field.
(mingetty-shepherd-service): Pass the "--noclear" option to mingetty only if
'clear-on-logout?' is #false.
* doc/guix.texi (Base Services): Document the 'clear-on-logout?' field.
2020-11-11 00:21:22 -05:00
Marius Bakke 32787d6524
Merge branch 'master' into staging
Conflicts:
	gnu/local.mk
	gnu/packages/gdb.scm
	gnu/packages/lisp-xyz.scm
	gnu/packages/web-browsers.scm
2020-11-07 21:33:32 +01:00
Tobias Geerinckx-Rice 83dee0e5b2
doc: Fix Zabbix ‘db-secret-file’ documentation.
* doc/guix.texi (Monitoring Services): Clarify ‘db-secret-file’'s (lack
of) structure and gexp support.
2020-11-07 13:40:46 +01:00
raingloom fe1cd098d2
services: Add yggdrasil-service-type.
* gnu/services/networking.scm (yggdrasil-configuration)
(yggdrasil-configuration?, yggdrasil-configuration-package)
(yggdrasil-configuration-auto-conf, yggdrasil-configuration-log-level)
(yggdrasil-configuration-log-to): New procedures.
(yggdrasil-service-type): New variable.
* doc/guix.texi: Document it.
* gnu/system/examples/yggdrasil.tmpl: Provide example.

Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2020-11-05 18:45:40 +01:00
Ludovic Courtès 1566cb05cd
doc: Illustrate procedures that return packages.
* doc/guix.texi (Defining Package Variants): Illustrate procedures that
return packages.
2020-11-03 11:58:01 +01:00
Ludovic Courtès dbf572e007
doc: Use '@lisp' for 'options->transformation' example.
* doc/guix.texi (Defining Package Variants): Use @lisp for
'options->transformation' example.
2020-11-03 11:58:01 +01:00
Miguel Ángel Arruga Vivas 1077d54f6e
doc: Fix typo.
* doc/guix.texi (Invoking guix publish)<cache-bypass-threshold>: The unit
suffixes the numeric value.
2020-11-02 20:29:03 +01:00
Maxim Cournoyer 794928a906
doc: Complete sentence in earlyoom-configuration doc.
* doc/guix.texi (Linux Services): Complete sentence in earlyoom-configuration
doc.

Reported-by: Julien Lepiller <julien@lepiller.eu>
2020-11-02 11:03:33 -05:00
Julien Lepiller 2d05f1fc39
doc: Fix typo.
* doc/guix.texi (DNS Services): Fix typo.
2020-11-01 19:51:48 +01:00
Julien Lepiller 34f7c5b61a
doc: Fix typo.
* doc/guix.texi (Sound Services): Fix typo.
2020-11-01 16:57:32 +01:00
Miguel Ángel Arruga Vivas a57b0c9eda
doc: Add missing period at the end of the sentence. 2020-11-01 01:38:10 +01:00
Ludovic Courtès 95460da83b
doc: Add "Defining Package Variants" section.
* doc/guix.texi (Defining Packages): Move documentation of
'package-input-rewriting' & co. to...
(Defining Package Variants): ... here.  New node.  Also document
'inherit' and 'options->transformation'.
2020-10-31 23:16:43 +01:00
Ludovic Courtès 2b2ab7796a
services: guix-publish: Add 'cache-bypass-threshold' field.
This is a followup to ecaa102a58.

* gnu/services/base.scm (<guix-publish-configuration>)[cache-bypass-threshold]:
New field.
(guix-publish-shepherd-service): Honor it.
2020-10-30 12:31:18 +01:00
Ludovic Courtès 81c3dd9cad
services: swap: Allow for UUIDs and file system labels.
* gnu/services/base.scm (swap-service-type)[device-lookup, device-name]:
New variables.
Add 'modules' field to 'shepherd-service'.  In 'start' and 'stop', use
'device-lookup' to resolve UUIDs and labels.
* doc/guix.texi (operating-system Reference): Adjust accordingly.
2020-10-30 01:14:21 +01:00
zimoun 58db2e6877
scripts: lint: Add '--exclude' option.
* guix/scripts/lint.scm (%options, parse-options): Add '--exclude' option.
(option-checker): New helper function.
* doc/guix.texi (Invoking guix lint): Document it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2020-10-30 01:14:20 +01:00
zimoun 80c7f02468
scripts: lint: Fix '--no-network' option.
* guix/scripts/lint.scm: (show-help): Add '--no-network' option message.
(%options, parse-options): Fix argument order.
* doc/guix.texi (Invoking guix lint): Document it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2020-10-30 01:14:20 +01:00
Tobias Geerinckx-Rice 83c60bb062
doc: Fix claimed archive timestamps.
Reported by Leo Famulari <leo@famulari.name>.

* doc/guix.texi (Binary Installation): Use a correct timestamp of 1
instead of an incorrect one of 0.
2020-10-28 19:26:25 +01:00
Ludovic Courtès ecaa102a58
publish: Add '--cache-bypass-threshold'.
* guix/scripts/publish.scm (show-help, %options): Add
'--cache-bypass-threshold'.
(low-compression): New procedure.
(cache-bypass-threshold): New parameter.
(bypass-cache?): New procedure.
(render-narinfo/cached): Call 'render-narinfo' when 'bypass-cache?'
returns true.
(render-nar/cached): Call 'render-nar' when 'bypass-cache?' returns
true.
(guix-publish): Parameterize 'cache-bypass-threshold'.
* tests/publish.scm ("with cache", "with cache, lzip + gzip")
("with cache, uncompressed"): Pass '--cache-bypass-threshold=0'.
("with cache, vanishing item"): Expect 200 for RESPONSE.
("with cache, cache bypass"): New test.
2020-10-28 16:24:47 +01:00
Christopher Baines 0105b8624d
doc: Update the PostgreSQL extension packages example.
* doc/guix.texi (PostgreSQL): Update the extension packages example.
2020-10-28 13:01:48 +00:00
Christopher Baines e2f16ea1cf
doc: Use @code rather than @var for data type items.
In the couple of cases where it's inconsistent.

* doc/guix.texi (PostgreSQL, Sound Services): Replace @var with @code within
data type sections.
2020-10-28 12:59:56 +00:00
Lulu 729d4ba025
doc: Fix various minor typos.
* doc/guix.texi (Top): Add end of line period to menu entry in the node listing.
(Invoking guix time-machine): Remove duplicate word.
(Invoking guix environment): As above.
(PAM Mount Service): As above.
(Running Guix in a Virtual Machine): Remove erroneous hyphen and duplicate word.

Signed-off-by: Leo Famulari <leo@famulari.name>
2020-10-27 19:01:22 -04:00
Alexandru-Sergiu Marton 2ade5bdeb8
services: Add gmnisrv web service.
* gnu/services/web.scm (<gmnisrv-configuration>): New record type.
(%default-gmnisrv-config-file): New variable.
(%gmnisrv-accounts, %gmnisrv-activation): New variables.
(gmnisrv-shepherd-service): New procedure.
(gmnisrv-service-type): New variable.
* doc/guix.texi (Web Services): Document it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2020-10-27 18:00:28 +01:00
Christopher Baines a95057ccee
doc: Document the postgresql-config-file.
* doc/guix.texi (PostgreSQL): Document the postgresql-config-file record.
2020-10-25 10:54:14 +00:00
Ludovic Courtès c6ef627c97
doc: Add "Getting Substitutes from Other Servers" section.
* doc/guix.texi (Getting Substitutes from Other Servers): New node.
(Invoking guix-daemon): Add cross-reference.
(Substitute Server Authorization): Clarify that this is unnecessary on
Guix System.
(Invoking guix publish): Add cross-reference.
2020-10-25 01:06:10 +02:00
Ludovic Courtès 3b6e4e5fd0
services: guix: Make /etc/guix/acl really declarative by default.
Fixes <https://bugs.gnu.org/39819>.
Reported by Maxim Cournoyer <maxim.cournoyer@gmail.com>.

* gnu/services/base.scm (substitute-key-authorization): Symlink
DEFAULT-ACL to /etc/guix/acl unconditionally.  Add code to optionally
back up /etc/guix/acl if it was possibly modified by hand.
* doc/guix.texi (Base Services): Clarify the effect of setting
'authorize-keys?' to true.  Mention the backup.  Give an example showing
how to authorize substitutes from another server.
2020-10-25 01:06:10 +02:00
Ludovic Courtès 59bb1ae3a9
git: Require Guile-Git 0.3.0 or later.
* guix/git.scm (auth-supported?): Remove.
(clone*): Inline code that was dependent on AUTH-SUPPORTED?.
(update-cached-checkout): Likewise.
(resolve-reference): Remove check for 'object-lookup-prefix' and use it
unconditionally.
(load-git-submodules): Remove.
(update-submodules): Use 'repository-submodules', 'submodule-lookup',
etc. unconditionally.
(update-cached-checkout): Use 'repository-close!' unconditionally.
* m4/guix.m4 (GUIX_CHECK_GUILE_GIT): New macro.
* configure.ac: Use it and error out when it fails.
* doc/guix.texi (Requirements): Bump to Guile-Git 0.3.0.
2020-10-22 17:10:25 +02:00
Ricardo Wurmus 3ddc47bc07
doc: Move documentation of singularity-service-type.
Fixes <https://bugs.gnu.org/44126>.

* doc/guix.texi: Move documentation of singularity-service-type from
"Auditd Service" heading to "Docker Service" heading.
2020-10-21 23:32:01 +02:00
Ludovic Courtès 720fce6dae
doc: Capitalize "Hurd" in 'operating-system' reference.
* doc/guix.texi (operating-system Reference): Capitalize "Hurd".
2020-10-21 19:19:34 +02:00
Ludovic Courtès 2c9f6ff2ae
doc: Add an entry for the 'keyboard-layout' procedure.
* doc/guix.texi (Keyboard Layout): Add @deffn entry for
'keyboard-layout'.
2020-10-21 19:19:34 +02:00
Ludovic Courtès 004a9455f9
doc: Fix typo in 'avahi-service-type' description.
* doc/guix.texi (Networking Services): Change "zero-configuration" to
"avahi-configuration".
2020-10-21 19:19:34 +02:00
Ludovic Courtès 481d2fbb91
doc: Fix typo in 'git-fetch' description.
* doc/guix.texi (origin Reference): Replace "git-download" with
"git-fetch" in one sentence.
2020-10-21 19:19:33 +02:00
Christopher Baines bdcf4d88d5
services: databases: Don't specify a default postgresql version.
Currently, if the postgresql package major version changes, this is going to
break the service upon upgrade, because PostgreSQL will reject the data files
from the differing major version of the service.

Because it's important to either keep running a particular major version, or
intentionally upgrade, I think the configuration would be better with no
default. I think this is also going to be helpful when trying to assist users
upgrading PostgreSQL.

* gnu/services/databases.scm (<postgresql-configuration>): Remove default for
postgresql.
(postgresql-service-type): Remove the default value.
* gnu/tests/databases.scm (%postgresql-os): Update accordingly.
* gnu/tests/guix.scm (%guix-data-service-os): Update accordingly.
* gnu/tests/monitoring.scm (%zabbix-os): Update accordingly.
* gnu/tests/web.scm (patchwork-os): Update accordingly.
* doc/guix.texi (PostgreSQL): Update accordingly.
2020-10-20 22:39:43 +01:00
Christopher Baines a698df72d3
services: databases: Deprecate the postgresql-service procedure.
Using the service type directly is a better approach, making it easier to
configure the service.

* gnu/services/databases.scm (postgresql-service): Deprecate this procedure.
* doc/guix.texi (PostgreSQL): Update the documentation for the use of (service
postgresql-service-type).
2020-10-20 22:39:43 +01:00
Christopher Baines 93576e4475
doc: Add subheadings in to the Databases section.
To make it clearer where the relevant documentation for a particular service
starts and ends.

* doc/guix.texi (Database Services): Add subheadings.
2020-10-20 22:39:43 +01:00
Ludovic Courtès 6701f64f73
guix build: Move package transformation options behind '--help-transform'.
This change declutters the '--help' output.

* guix/scripts/build.scm (show-build-options-help)
(%standard-build-options): Add '--help-transform'.
(show-transformation-options-help): Make private.
(show-help): Remove call to 'show-transformation-options-help'.
* guix/scripts/build.scm (show-help): Likewise.
* guix/scripts/environment.scm (show-help): Likewise.
* guix/scripts/graph.scm (show-help): Likewise.
* guix/scripts/install.scm (show-help): Likewise.
* guix/scripts/pack.scm (show-help): Likewise.
* guix/scripts/package.scm (show-help): Likewise.
* guix/scripts/upgrade.scm (show-help): Likewise.
* doc/guix.texi (Package Transformation Options): Mention '--help-transform'.
2020-10-20 16:30:16 +02:00
Ludovic Courtès 6aeda81602
guix build: Add '--with-debug-info'.
* guix/scripts/build.scm (transform-package-with-debug-info): New
procedure.
(%transformations): Add 'with-debug-info'.
(%transformation-options, show-transformation-options-help): Add
'--with-debug-info'.
* tests/scripts-build.scm ("options->transformation, with-debug-info"):
New test.
* doc/guix.texi (Package Transformation Options): Document
'--with-debug-info'.
(Installing Debugging Files): Introduce sections.  Remove bit about
eventual "opt-out" since this is not happening.  Document
'--with-debug-info' under "Rebuilding with Debugging Info".
2020-10-20 16:30:16 +02:00
Ludovic Courtès b8085fccf2
doc: Replace @example with @lisp in "Build Phases".
* doc/guix.texi (Build Phases): Use @lisp for second example.
2020-10-20 16:30:15 +02:00
Ludovic Courtès 93c251818d
doc: More uses of @lisp instead of @example.
* doc/guix.texi (G-Expressions): Use @lisp for 'let-system' example.
* doc/contributing.texi (Synopses and Descriptions): Use @lisp for
second example.
2020-10-20 01:07:46 +02:00
Ludovic Courtès ebe6e03949
doc: Fix misuses of @var in "Defining Packages".
* doc/guix.texi (Defining Packages): Use @code instead of @var where
appropriate.
2020-10-20 01:07:46 +02:00
Ludovic Courtès 5513d621e9
doc: Add "Build Phases" section.
* doc/guix.texi (Build Phases): New section.
(Build Systems): Remove 'modify-phases' example and add cross-reference
to "Build Phases".
(Build Utilities)[Build Phases]: Simplify intro and link to "Build
Phases".
(G-Expressions): Add index entries for "code staging" and add
cross-reference to "Build Phases".
2020-10-20 01:07:46 +02:00
Ludovic Courtès 39befb6261
doc: Document 'url-fetch', 'git-fetch', and 'git-reference'.
* doc/guix.texi (origin Reference): Rewrite initial paragraph.  Properly
document 'method' and its protocol.  Document 'url-fetch', 'git-fetch',
and 'git-reference' separately.
2020-10-20 01:07:46 +02:00
Reza Alizadeh Majd 764d896668
services: Add LXQt desktop service.
* gnu/services/desktop.scm (lxqt-desktop-service-type): New variable.
(<lxqt-desktop-configuration>): New record type.
(lxqt-desktop-configuration?): New procedure.
* doc/guix.texi (Desktop Services): Document this.

Co-authored-by: Oleg Pykhalov <go.wigust@gmail.com>
2020-10-20 00:21:45 +03:00
Marius Bakke 1a8f7a0f58
Merge branch 'master' into staging 2020-10-19 00:17:48 +02:00
Aniket Patil 62fc3e375c
doc: Fix typo.
* doc/guix.texi (Invoking guix import): Fix typo.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2020-10-17 22:40:18 +02:00
Miguel Ángel Arruga Vivas c2a382e510
doc: Fixes for Texinfo metainfo.
* doc/guix.texi (guix-pack)[GUIX_EXECUTION_ENGINE]: Use @env
instead of @code.
(zram-device-service-type): Use @code instead of @var for constant or
symbolic values.
(rshiny-service-type): Use @env instead of @code for R_LIBS_USER.
2020-10-17 15:32:53 +02:00
Miguel Ángel Arruga Vivas 3483e6444d
doc: Fix minor typos.
* doc/guix.texi (cargo-build-system): Fix install phase description.
(julia-build-system): Fix typo and add information from check.
(pulseaudio-configuration): Remove duplicated words.
(knot-acl-configuration)[id]: Fix typo.
(mpd-output)[extra-options]: Likewise.
(libvirt-configuration) [listen-tls?]: Add missing subject.
[listen-tcp?]: Add missing subject and period.
[tls-port, tcp-port, log-filters]: Add missing period.
(hurd-vm-configuration)[netoptions]: Fix typo in example.
(ganeti-watcher-service-type): Fix typo.
(grub-theme)[gfxmode]: Remove see before @pxref.
2020-10-17 15:32:49 +02:00
Ludovic Courtès 699f1de721
doc: Improve "Build Utilities".
* doc/guix.texi (Build Utilities): Fix typos.  Provide the correct
syntax for 'substitute*'.  Add a 'modify-phases' example.
2020-10-15 23:51:04 +02:00
Ludovic Courtès 61263e1ba3
doc: Add "Build Utilities" section.
* doc/guix.texi (Build Utilities): New section.
(Defining Packages): Refer to it.
(Build Systems): Likewise.
* doc/guix-cookbook.texi (Extended example): Likewise.
2020-10-15 18:50:22 +02:00
Mathieu Othacehe b4369430e3
doc: Fix typo.
* doc/guix.texi (Guix Build Coordinator): Fix typo.
2020-10-15 14:16:19 +02:00
Oleg Pykhalov 00014f7692
services: nginx: Add lua module.
* gnu/services/web.scm (<nginx-configuration>)
[lua-package-path, lua-package-cpath]: New record types.
* gnu/services/web.scm (default-nginx-config): Use them.
* doc/guix.texi (Web Services): Document this.
* doc/guix-cookbook.texi (System Configuration): Document this.
2020-10-14 23:41:26 +03:00
Ludovic Courtès d96e739f08
doc: Mention "i586-gnu" as supported and experimental.
* doc/guix.texi (GNU Distribution): Mention "i586-gnu".
2020-10-14 15:22:55 +02:00
Ludovic Courtès 4b0a1543e1
doc: Avoid orphan node.
Commit 4b5a6fbc9b turned "Transparent
Emulation with QEMU" into a node, but that was an orphan node, with no
up/next/previous links.

* doc/guix.texi (Virtualization Services): Capitalize subsection title.
(Transparent Emulation with QEMU): Remove "@node" and add "@anchor".
(Daemon Offload Setup): Adjust cross-reference accordingly.
2020-10-14 15:22:55 +02:00
Marius Bakke f7175626ff
Merge branch 'master' into staging 2020-10-13 23:39:27 +02:00
Ludovic Courtès abd7a47461
guix build: Add '--with-c-toolchain'.
* guix/scripts/build.scm (package-dependents/spec)
(package-toolchain-rewriting, transform-package-toolchain): New procedures.
(%transformations): Add it.
(%transformation-options, show-transformation-options-help): Add
'--with-c-toolchain'.
* tests/scripts-build.scm (depends-on-toolchain?): New procedure.
("options->transformation, with-c-toolchain")
("options->transformation, with-c-toolchain twice")
New test.
("options->transformation, with-c-toolchain, no effect"): New tests.
* doc/guix.texi (Package Transformation Options): Document it.
2020-10-12 18:23:47 +02:00
Ludovic Courtès 46135ce4ce
packages: Add 'package-with-c-toolchain'.
* guix/build-system.scm (build-system-with-c-toolchain): New procedure.
* guix/packages.scm (package-with-c-toolchain): New procedure.
* tests/packages.scm ("package-with-c-toolchain"): New test.
* doc/guix.texi (package Reference): Document 'package-with-c-toolchain'.
(Build Systems): Mention it.
2020-10-12 18:23:47 +02:00
Maxim Cournoyer 5918cb5341
doc: Sync the client and daemon --rounds options documentation.
Fixes <https://issues.guix.gnu.org/40867>.

* doc/guix.texi (Common Build Options): Suggest using '--keep-failed' to keep
differing build results in the store rather than 'guix archive'.

Reported-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2020-10-09 16:57:14 -04:00
Efraim Flashner 9c1b8390ba
doc: Document missing openssh configure option.
* doc/guix.texi (Networking Services): Document configuration option to
specify the openssh package for the openssh-service-type.
2020-10-09 16:46:24 +03:00
Maxim Cournoyer efbf5fdd01
offload: Improve load normalization and configurability.
Fixes <https://issues.guix.gnu.org/43773>.

The computed normalized load was previously obtained by dividing the load
average as found in /proc/loadavg by the number of parallel builds defined for
a build machine.

This normalized load didn't allow to compare machines with different number of
cores, as the load average reported by /proc/loadavg can be as high as the
number of cores; thus comparing that value to a fixed threshold of 2.0 would
mean machines with multiple cores were more likely to be flagged as overloaded
compared to single core machines.

This can be fixed by normalizing using the available number of cores instead
of the number of parallel jobs.

* guix/scripts/offload.scm (<build-machine>)[overload-threshold]: New field.
(node-load): Modify to return a normalized load value between 0 and 1, taking
into account the number of cores available.
(normalized-load): Remove procedure.
(report-load): New procedure.
(choose-build-machine): Adjust to use the modified 'node-load' and the new
'report-load' and 'build-machine-overload-threshold' procedures.
(check-machine-status): Adjust.
* doc/guix.texi (Daemon Offload Setup): Document the offload scheduler and the
new 'overload-threshold' field.
2020-10-08 10:57:12 -04:00
Ludovic Courtès e463ee4c7b
doc: Improve choice of options in service examples.
* doc/guix.texi (Using the Configuration System): In example, set
'substitute-urls' rather than 'use-substitutes?', and set 'auto-login'
for 'mingetty-configuration'.
(Service Types and Services): In example, show 'extra-options' rather
than 'use-substitutes?'.
2020-10-08 12:26:56 +02:00
Danny Milosavljevic 34d1c0a03b
services: dnsmasq: Add TFTP configuration fields.
* gnu/services/dns.scm (<dnsmasq-configuration>): Add TFTP configuration
fields.
(dnsmasq-shepherd-service): Use them.
* doc/guix.texi (DNS Services): Document them.
2020-10-06 08:13:39 +02:00
Christopher Baines c14714cbbf
services: guix: Add guix-build-coordinator-queue-builds-service-type.
* gnu/services/guix.scm (<guix-build-coordinator-queue-builds-configuration>):
New record type.
(guix-build-coordinator-queue-builds-configuration,
guix-build-coordinator-queue-builds-configuration?,
guix-build-coordinator-queue-builds-configuration-package,
guix-build-coordinator-queue-builds-configuration-user,
guix-build-coordinator-queue-builds-coordinator,
guix-build-coordinator-queue-builds-configuration-systems,
guix-build-coordinator-queue-builds-configuration-system-and-targets,
guix-build-coordinator-queue-builds-configuration-guix-data-service,
guix-build-coordinator-queue-builds-configuration-processed-commits-file,
guix-build-coordinator-queue-builds-shepherd-services,
guix-build-coordinator-queue-builds-activation,
guix-build-coordinator-queue-builds-account): New procedures.
(guix-build-coordinator-queue-builds-service-type): New variable.
* doc/guix.texi (Guix Services): Document it.
2020-10-05 18:10:48 +01:00
Christopher Baines 98ab323a24
services: guix: Add guix-build-coordinator-agent-service-type.
* gnu/services/guix.scm (<guix-build-coordinator-agent-configuration>): New
record type.
(guix-build-coordinator-agent-configuration,
guix-build-coordinator-agent-configuration?,
guix-build-coordinator-agent-configuration-package,
guix-build-coordinator-agent-configuration-user,
guix-build-coordinator-agent-configuration-coordinator,
guix-build-coordinator-agent-configuration-uuid),
guix-build-coordinator-agent-configuration-password,
guix-build-coordinator-agent-configuration-password-file,
guix-build-coordinator-agent-configuration-systems,
guix-build-coordinator-agent-configuration-max-parallel-builds,
guix-build-coordinator-agent-configuration-derivation-substitute-urls,
guix-build-coordinator-agent-configuration-non-derivation-substitute-urls,
guix-build-coordinator-agent-shepherd-services,
guix-build-coordinator-agent-activation,
guix-build-coordinator-agent-account): New procedures.
(guix-build-coordinator-agent-service-type): New variable.
* doc/guix.texi (Guix Services): Document it.
2020-10-05 18:10:48 +01:00
Christopher Baines 15955e9b54
services: guix: Add guix-build-coordinator-service-type.
* gnu/services/guix.scm (<guix-build-coordinator-configuration>): New record
type.
(guix-build-coordinator-configuration, guix-build-coordinator-configuration?,
guix-build-coordinator-configuration-package,
guix-build-coordinator-configuration-user,
guix-build-coordinator-configuration-group,
guix-build-coordinator-configuration-datastore-uri-string,
guix-build-coordinator-configuration-agent-communication-uri-string,
guix-build-coordinator-configuration-client-communication-uri-string,
guix-build-coordinator-configuration-allocation-strategy,
guix-build-coordinator-configuration-hooks,
guix-build-coordinator-configuration-guile,
make-guix-build-coordinator-start-script,
guix-build-coordinator-shepherd-services, guix-build-coordinator-activation,
guix-build-coordinator-account): New procedures.
(guix-build-coordinator-service-type): New variable.
* gnu/tests/guix.scm (%test-guix-build-coordinator): New variable.
* doc/guix.texi (Guix Services): Document it.
2020-10-05 18:10:48 +01:00
Guillaume Le Vaillant 87c079d9b5
Merge branch 'master' into staging 2020-10-05 14:17:25 +02:00
Ludovic Courtès 8e1907a724
guix package: Re-apply package transformation when upgrading.
* guix/scripts/package.scm (transaction-upgrade-entry)[upgrade]: Add
'transform' parameter.  Pass PKG through it.  Use
'manifest-entry-with-transformations'.
Call 'options->transformation' to get the transformation procedure.
* tests/guix-package.sh: Add 'guix package -u' test.
* tests/packages.scm ("transaction-upgrade-entry, transformation options preserved"):
New test.
* doc/guix.texi (Invoking guix package): Mention that transformations
are preserved across upgrades.
(Package Transformation Options): Likewise.
2020-10-02 23:28:09 +02:00
Florian Pelz 3c01fcc1bb
doc: Explain why '--without-tests' may fail with modified 'check' phase.
* doc/guix.texi (Package Transformation Options): Explain.
2020-10-02 20:03:55 +00:00
Oleg Pykhalov da6aec32cf
gnu: Add webssh service.
* gnu/services/ssh.scm:
(<webssh-configuration>): New record type.
(%webssh-configuration-nginx, webssh-service-type): New variables.
(webssh-account, webssh-activation, webssh-shepherd-service): New procedures.
* doc/guix.texi: Document this.
2020-10-01 10:15:29 +03:00
Mathieu Othacehe 313f492657
scripts: system: Add support for image-type.
* guix/scripts/system.scm (list-image-types): New procedure,
(%options): add "image-type" and "list-image-types" options, remove
"file-system-type" option,
(show-help): adapt accordingly,
(%default-options): also adapt, and set the default "image-type" to "raw",
(perform-action): add image-type argument and remove file-system-type argument,
(process-action):  adapt perform-action call,
(system-derivation-for-action): remove base-image
argument, add image-type argument, and use it to create the image passed to
"system-image".
* tests/guix-system.sh: Adapt accordingly and add a test for
"--list-image-types" command.
* doc/guix.texi (Building the Installation Image,
Invoking guix system): Adapt accordingly.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2020-09-30 10:47:59 +02:00
Ludovic Courtès 37283f9f3e
services: hurd-vm: Initialize the guest's SSH/Guix keys at activation time.
* gnu/services/virtualization.scm (initialize-hurd-vm-substitutes)
(hurd-vm-activation): New procedures.
(hurd-vm-service-type)[extensions]: Add ACTIVATION-SERVICE-TYPE
extension.
* doc/guix.texi (Transparent Emulation with QEMU): Mention GNU/Hurd.
(The Hurd in a Virtual Machine): Explain which files are automatically
installed and mention offloading.
2020-09-29 21:56:27 +02:00
Ludovic Courtès d367a7f3d0
services: guix: Generate key pair if needed during activation.
* gnu/services/base.scm (guix-activation): Invoke "guix archive
--generate-key".
* doc/guix.texi (Invoking guix archive)
(Invoking guix deploy): Mention that 'guix-service-type' takes care of
generating the key pair.
2020-09-29 21:56:27 +02:00
Tobias Geerinckx-Rice 4c698cd512
services: Add elogind ‘handle-lid-switch-external-power’.
* gnu/services/desktop.scm <elogind-configuration>: Add an
handle-lid-switch-external-power field, mapping to the
HandleLidSwitchExternalPower logind.conf setting.
* doc/guix.texi (Desktop Services): ‘Document’ it.
2020-09-28 16:00:49 +02:00
Ludovic Courtès 09ffacd455
doc: Clarify how to choose a user account shell.
* doc/guix.texi (User Accounts): Add example with custom shell and
custom home directory.  Add examples of shell gexps.
2020-09-28 11:43:47 +02:00
Ludovic Courtès 8e2d5a0c0d
doc: Move channel @cindex within their nodes.
* doc/guix.texi (Channels): Move @cindex at the beginning of the node
they refer to from the end of the previous node.
2020-09-27 22:42:40 +02:00
Ludovic Courtès 3b7bd8cc90
doc: Move "Primary URL" after "Specifying Channel Authorizations".
* doc/guix.texi (Primary URL): Move after "Specifying Channel
Authorizations" since the audience is channel authors who've already
taken care of authorizations.
2020-09-27 22:39:49 +02:00
zimoun 12871cc8db
doc: Promote "Channels" as chapter and reorder.
The sectioning becomes:

1.  Specifying Additional Channels     (was 3.)
2.  Using a Custom Guix Channel        (was 2.)
3.  Replicating Guix                   (was 9.)
4.  Channel Authentication             (was 1.)
5.  Primary URL                        (was 7.)
6.  Creating a Channel                 (reworded)
7.  Package Modules in a Sub-directory (was 5.)
8.  Declaring Channel Dependencies     (was 4.)
9.  Specifying Channel Authorizations  (was 6.)
10. Writing Channel News               (was 8.)

* doc/guix.texi (Channels): Move section to chapter.
Reorder the chapter.
Minor tweaks to keep uniformity.
Update the master menu.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2020-09-27 22:35:03 +02:00
zimoun fa18db48ae
doc: Update the master menu.
* doc/guix.texi: Update the master menu.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2020-09-27 22:34:55 +02:00
Ludovic Courtès 8819551c8d
packages: 'package-input-rewriting' has a #:deep? parameter.
* guix/packages.scm (package-input-rewriting): Add #:deep? and pass it
to 'package-mapping'.
[replacement-property]: New variable.
[rewrite]: Check it.
[cut?]: New procedure.
* tests/packages.scm ("package-input-rewriting"): Pass #:deep? #f and
ensure implicit inputs were not rewritten.  Avoid 'eq?' comparisons.
("package-input-rewriting, deep"): New test.
* gnu/packages/guile.scm (package-for-guile-2.0, package-for-guile-3.0):
Pass #:deep? #f.
2020-09-27 21:41:15 +02:00
Ludovic Courtès 2bf6f962b9
packages: 'package-input-rewriting/spec' can rewrite implicit dependencies.
With this change, '--with-input', '--with-graft', etc. also apply to
implicit dependencies.  Thus, it's now possible to do:

  guix build python-itsdangerous --with-input=python-wrapper=python@2

or:

  guix build hello --with-graft=glibc=glibc@2.29

Additionally, before, implicit inputs were not rewritten, which could
lead to duplicates in the output of 'bag-transitive-inputs' (packages
that are not 'eq?' but lead to the same derivation).  This in turn would
lead to unnecessary rebuilds when using '--with-input' & co.  This
change fixes it by ensuring even implicit inputs are rewritten.

Fixes <https://bugs.gnu.org/42156>.

* guix/packages.scm (package-input-rewriting/spec): Add #:deep?
defaulting to #true, and pass it to 'package-mapping'.
[replacement-property]: New variable.
[rewrite]: Check that property and set it on the result of PROC.
[cut?]: New procedure.
* tests/packages.scm ("package-input-rewriting/spec"): Ensure implicit
inputs were unchanged.
("package-input-rewriting/spec, partial match"): Pass #:deep? #f.
("package-input-rewriting/spec, deep")
("package-input-rewriting/spec, no duplicates"): New tests.
(package/inherit): Move before use.
* tests/guix-build.sh: Add tests.
* tests/scripts-build.scm ("options->transformation, with-graft"):
Compare dependencies by package name or derivation file name.
* doc/guix.texi (Defining Packages): Adjust accordingly.
2020-09-27 21:41:08 +02:00
Ludovic Courtès ff39361c80
packages: 'package-mapping' can recurse on implicit inputs.
* guix/packages.scm (build-system-with-package-mapping): New procedure.
(package-mapping): Add #:deep? and honor it.
* tests/packages.scm ("package-mapping"): Compare the direct inputs of
the bag of P0 and that of P1.
("package-mapping, deep"): New test.
2020-09-27 21:41:05 +02:00
Ludovic Courtès f458cfbcc5
guix build: Add '--without-tests'.
* guix/scripts/build.scm (transform-package-tests): New procedure.
(%transformations, %transformation-options)
show-transformation-options-help): Add it.
* tests/scripts-build.scm ("options->transformation, without-tests"):
New test.
* doc/guix.texi (Package Transformation Options): Document it.
2020-09-27 21:32:09 +02:00
Stefan 740fd97ebe
doc: Document new bootloader grub-efi-netboot-bootloader.
* doc/guix.texi (Bootloader Configuration)[bootloader]: Add
grub-efi-netboot-bootloader.
[target]: Document TFTP root directory for grub-efi-netboot-bootloader.

Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
2020-09-27 13:39:28 +02:00
Ludovic Courtès a0d4aa2457
doc: Use @var for meta-syntactic variables.
* doc/guix.texi (Transparent Emulation with QEMU): Use @var instead of
angle brackets for meta-syntactic variables.
2020-09-25 23:26:22 +02:00
Ludovic Courtès e71d7b5e23
doc: Remove "--hda" from non-volatile childhurd example.
Reported by Andreas Enge.

* doc/guix.texi (Transparent Emulation with QEMU): Remove "--hda" in
'image' example.
2020-09-25 23:26:22 +02:00
Ludovic Courtès 13a2272d1a
doc: Explain how to connect to a childhurd.
* doc/guix.texi (The Hurd in a Virtual Machine): Add instructions for
VNC and SSH access.  Mention childhurd secrets and /etc/childhurd.
2020-09-25 23:26:22 +02:00
André Batista fd67774d27
doc: Fix outdated info and add missing space.
* doc/guix.texi (Messaging Services): Fix outdated info and add
missing space.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2020-09-25 14:07:06 +02:00
Marius Bakke d48b17adb9
services: WPA Supplicant: Conditionally depend on D-Bus.
Fixes <https://bugs.gnu.org/43567>.
Reported by calcium <calcium@disroot.org>.

* gnu/services/networking.scm (<wpa-supplicant-configuration>)[requirement]:
Remove 'dbus-system.
(wpa-supplicant-shepherd-service)[requirement]: Add 'dbus-system when DBUS? is true.
* doc/guix.texi (Networking Services)[wpa-supplicant-service-type]: Adjust
accordingly.
2020-09-24 20:18:20 +02:00
Guillaume Le Vaillant de96ed11ef
doc: Update documentation for asdf-build-system.
* doc/guix.texi (Build Systems): Adapt the documentation of asd-build-system
  to the replacement of '#:asd-file' and '#:asd-system-name' by '#:asd-files'
  and '#:asd-systems'. Remove paragraph about one package per ASDF system.
2020-09-24 19:11:33 +02:00
Mathieu Othacehe 80e26d7429
services: cuirass: Add web SQL queries logging support.
* gnu/services/cuirass.scm (<cuirass-configuration>)[web-queries-log-file]:
New field.
(cuirass-shepherd-service): Honor it.
(cuirass-log-rotations): If defined, add the web queries log file to the log
rotation.
2020-09-24 11:28:59 +02:00
Mathieu Othacehe 92e507c963
services: cuirass: Add SQL queries logging support.
* gnu/services/cuirass.scm (<cuirass-configuration>)[queries-log-file]: New
field.
(cuirass-shepherd-service): Honor it.
(cuirass-log-rotations): If defined, add the queries log file to the log
rotation.
2020-09-24 10:47:22 +02:00
Ludovic Courtès 9b65281de5
environment: '--link-profile' uses ~/.guix-profile for environment variables.
Before this patch, we had:

  $ guix environment -CP --ad-hoc coreutils
  [env]$ echo $PATH
  /gnu/store/…-profile/bin
  [env]$ echo $GUIX_ENVIRONMENT
  /gnu/store/…-profile

After this patch:

  $ guix environment -CP --ad-hoc coreutils
  [env]$ echo $PATH
  /home/ludo/.guix-profile/bin
  [env]$ echo $GUIX_ENVIRONMENT
  /home/ludo/.guix-profile

* guix/scripts/environment.scm (launch-environment/container): When
LINK-PROFILE? is true, pass ~/.guix-profile as the second argument to
'launch-environment'.
* tests/guix-environment-container.sh: Adjust test accordingly.
* doc/guix.texi (Invoking guix environment): Update accordingly.
2020-09-21 23:05:38 +02:00
Florian Pelz 125fc37e5f
doc: Clarify what propagated inputs are.
Fixes <https://bugs.gnu.org/26170>.

* doc/guix.texi (package Reference)[package-propagated-inputs]: Clarify.
2020-09-18 09:03:38 +00:00
Oleg Pykhalov f6dfe42129
services: docker: Fix service definition.
This commit follows a404716d41.

* gnu/services/docker.scm
(docker-configuration)[docker-cli]: New record field.
(docker-service-type): Use this.
* doc/guix.texi (Miscellaneous Services)[Docker Service]: Document this.
2020-09-15 01:10:55 +03:00