Commit graph

2446 commits

Author SHA1 Message Date
Nicolas Goaziou
eea7cc3185
doc: Emacs Packages: Fix typos.
* doc/contributing.texi (Emacs Packages): Fix typo. Also remove spurious white
space, and unnecessary quote.
2020-12-17 10:01:47 +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
Tobias Geerinckx-Rice
48cccf06ad
doc: Note different texlive-tiny & texline-union natures.
* doc/contributing.texi (Submitting Patches): Add ‘package’ and
‘procedure’.

Inspired-by: Jorge P. de Morais Neto
2020-12-14 19:11:03 +01:00
Ludovic Courtès
f06f569aa2
doc: Link to "Pattern Matching" in Guile.
* doc/contributing.texi (Data Types and Pattern Matching): Link to the
"Pattern Matching" node of the Guile manual.
2020-12-14 12:19:05 +01: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
129b9b16d9
Merge remote-tracking branch 'origin/version-1.2.0' into master
Conflicts:
	gnu/packages/bioinformatics.scm

The python-pysam package fixed in master was kept instead of the update done
in the version-1.2.0 branch.
2020-11-17 18:00:28 -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
Maxim Cournoyer
3de898b43c
maint: update-guix-package: Optionally add sources to store.
Following discussions in <https://issues.guix.gnu.org/43893>, keeping a copy
of the updated package source is desirable when generating a release.

* build-aux/update-guix-package.scm (version-controlled?): Remove variable.
(call-with-temporary-git-worktree): Renamed from
'with-temporary-git-worktree'.  Update doc.  Do not change directory
implicitly.  Define as a procedure, not a syntax.
(keep-source-in-store): New procedure.
(main): Adjust to use with call-with-temporary-git-worktree.  Add the sources
to the store when GUIX_ALLOW_ME_TO_USE_PRIVATE_COMMIT is set.  Exit gracefully
when FIND-ORIGIN-REMOTE returns #f.
(%savannah-guix-git-repo-push-url-regexp): Adjust match for a potential colon
separator.
* Makefile.am (GUIX_ALLOW_ME_TO_USE_PRIVATE_COMMIT): Adjust.
* .dir-locals.el (scheme-mode): Remove entry for with-temporary-git-worktree.
* doc/contributing.texi (Updating the Guix Package): Update doc.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2020-11-12 09:23:27 -05: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
Ludovic Courtès
aa7edc9449
doc: Fix xref translation macro.
* doc/local.mk (xref_command): Wrap loop body in 'if [ -n "$$e" ]'.
This avoids shell syntax errors when producing
doc/guix-cookbook.de.texi, which for some reason gets an empty 'e' at
one point.  Quote the first argument to 'head'.
2020-10-27 00:40:24 +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
Miguel Ángel Arruga Vivas
ef6596a20c
build: Add GUIX_GIT_KEYRING variable for make authenticate.
* Makefile.am (GUIX_GIT_KEYRING): New variable.
(authenticate): Use GUIX_GIT_KEYRING to select the keyring branch
reference.
* doc/contributing.texi (Building from Git): Add an example about the
use of GUIX_GIT_KEYRING.
2020-10-24 17:38:58 +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
Ludovic Courtès
8fe7c89f0c
doc: Cookbook links to /manual/devel, not /manual.
Since the Cookbook is built from the 'master' branch, it should point to
the manual from that same branch.

* doc/build.scm (guix-mono-node-indexes, guix-split-node-indexes): Link
to /manual/devel when %MANUAL is not "guix".
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
Maxim Cournoyer
5800d2aae2
maint: update-guix-package: Prevent accidentally breaking guix pull.
Fixes <https://issues.guix.gnu.org/43893>.

This changes the 'update-guix-package' tool so that it:

1. Always uses a clean checkout to compute the hash of the updated 'guix'
package.
2. Ensures the commit used in the updated 'guix' package definition has already
been pushed upstream.

* build-aux/update-guix-package.scm (%savannah-guix-git-repo-push-url): New
variable.
(with-input-pipe-to-string, with-temporary-git-worktree): New syntaxes.
(find-origin-remote, git-add-worktree): New procedures.
(commit-already-pushed?): New predicate.
(main): Check the commit used has already been pushed upstream and compute the
hash from a clean checkout.
* doc/contributing.texi (Updating the Guix Package): Document it.
* .dir-locals.el (scheme-mode): Fix indentation of with-temporary-git-worktree.
2020-10-19 14:02:53 -04:00
Ludovic Courtès
d66a4eac44
doc: Produce stylable HTML for @deftp, @deffn, etc.
'makeinfo --help' uses <strong> and <em> for those entries.  Replace
that with CSS classes.

* doc/build.scm (html-manual-identifier-index)[build]: Adjust to handle
rewritten forms of <dt> entries.
* doc/build.scm (syntax-highlighted-html)[build][syntax-highlight]:
Handle <dt> forms and replace them.
[highlight-definition, space?]: New procedures.
2020-10-19 13:28:38 +02: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
Ludovic Courtès
f54149062e
doc: cookbook: Balance parens in custom kernel examples.
* doc/guix-cookbook.texi (Customizing the Kernel): Add missing paren in
example.  Remove extra parens in other example.
2020-10-17 22:40:18 +02:00
Ludovic Courtès
97ce30cc1b
doc: Generate cross-references in code snippets to the Guile manual.
Occurrences of 'list', 'cons', etc. in code snippets now link to the
relevant section of the Guile manual.

* doc/build.scm (guile-manual, %guile-manual-base-url)
(guile-mono-node-indexes, guile-split-node-indexes): New variables.
(for-all-languages, merge-index-alists): New procedures.
<top level>: Rename 'mono-node-indexes' and 'split-node-indexes' to
'guix-mono-node-indexes' and 'guix-split-node-indexes' respectively.
Add 'mono-node-indexes' and 'split-node-indexes' defined as calls to
'merge-index-alists'.
2020-10-17 22:40:17 +02:00
Ludovic Courtès
db1d445357
doc: Allow code snippets in the cookbook to link to the manual.
Until now, only code snippets in the manual itself would contain links
to identifier definitions.  Now snippets in the cookbook also link to
definitions in the manual.

* doc/build.scm (html-manual): Add #:mono-node-indexes and #:multi-node-indexes
and pass it to 'syntax-highlighted-html'.
(pdf+html-manual): Likewise, and pass it to 'html-manual'.
<top level>: Factorize 'version' and 'source'.  Define 'guix-manual',
'mono-node-indexes', and 'split-node-indexes'.  Pass #:mono-node-indexes
and #:split-node-indexes to 'pdf+html-manual'.
2020-10-17 22:40:17 +02:00
Ludovic Courtès
0f7d0743ed
doc: Move manual index creation to a separate derivation.
* doc/build.scm (normalize-language-code, html-manual-identifier-index):
New procedures.
(syntax-highlighted-html): Add #:mono-node-indexes and #:split-node-indexes.
[build](underscore-decode, anchor-id->key, collect-anchors): Remove.
(language+node-anchors, mono-node-anchors, multi-node-anchors): New
variables.
Use them.
2020-10-17 22:40:17 +02:00
Ludovic Courtès
3cd1a7ac51
doc: Remove 'build.scm' from the source of the manual.
That way we no longer have to rebuild the whole manual when fiddling
with 'build.scm'.

* doc/build.scm <top level>: Define 'select?' and pass it to
'pdf+html-manual'.
2020-10-17 22:40:17 +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
c0001b8bfc
doc: cookbook: Clarify what keywords are.
* doc/guix-cookbook.texi (A Scheme Crash Course): Clarify what keywords
are.
2020-10-15 23:51:04 +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
Ludovic Courtès
48720afb32
doc: cookbook: Use @code for the identifiers of utility functions.
* doc/guix-cookbook.texi (Utility functions): Use @code instead of @asis.
2020-10-15 18:50:22 +02:00
Ludovic Courtès
3451368345
doc: cookbook: More "#true" and "#false".
* doc/guix-cookbook.texi (Extended example)
(Customizing the Kernel, Running Guix on a Linode Server): Use #true and #false.
2020-10-15 18:50:22 +02:00
Ludovic Courtès
51f34e21c6
doc: cookbook: Use @var for meta-syntactic variables.
* doc/guix-cookbook.texi (Extended example): Use @var for meta-syntactic
variables in 'modify-phases' description.
2020-10-15 18:50:22 +02:00
Ludovic Courtès
7802988201
doc: cookbook: Fix 'let' form in example.
* doc/guix-cookbook.texi (Extended example): Fix 'let' form in example.
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
cd958802f2
doc: cookbook: Mention "#true" and "#false".
* doc/guix-cookbook.texi (A Scheme Crash Course): Mention "#true" and
"#false".
(Extended example): Likewise.
2020-10-14 15:22:56 +02: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
9022861dc0
doc: Clarify that guix-daemon doesn't have to be launched from the checkout.
Suggested by Emmanuel Agullo.

* doc/contributing.texi (Running Guix Before It Is Installed): Move the
"./pre-inst-env guix-daemon" snippet at the bottom.  Make it clear that
it's necessary only when hacking on guix-daemon or when guix-daemon is
not already running.
2020-10-08 12:26:56 +02:00
Ludovic Courtès
6f406e5d15
doc: Developers don't need to run "make install" in Guix.
Suggested by Emmanuel Agullo.

* doc/contributing.texi (Building from Git): Mention that running "make
install" is unnecessary.
2020-10-08 12:26:56 +02: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