Commit graph

1257 commits

Author SHA1 Message Date
Mathieu Othacehe 66c31d5072
services: cuirass: Add server argument for the remote-worker.
* gnu/services/cuirass.scm (<cuirass-remote-worker-configuration>)[server]:
New field.
(cuirass-remote-worker-shepherd-service): Honor it.
2021-02-12 14:57:47 +01:00
Simon South db6b9d2f4b
services: Add transmission-daemon service.
* gnu/services/file-sharing.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* po/packages/POTFILES.in: Add it.
* tests/services/file-sharing.scm: New file.
* Makefile.am (SCM_TESTS): Add it.
* doc/guix.texi (File-Sharing Services): New section.

Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
2021-02-12 15:11:36 +08:00
宋文武 e429325d37
services: Add 'xorg-server-service-type'.
* gnu/services/xorg.scm (xorg-server-service-type): New service type.
(xorg-server-profile-service): New procedure.
2021-02-11 17:01:43 +08:00
Alexey Abramov 408f0b4c4d
services: knot: Fix configuration verification.
* gnu/services/dns.scm (verify-knot-key-configuration): Fix the
order of memq arguments.
(verify-knot-keystore-configuration): Likewise.
(verify-knot-acl-configuration): Replace fold with every procedure.

Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
2021-02-11 11:11:39 +08:00
Mathieu Othacehe 91911b9382
services: cuirass: Move zabbix argument to the web process.
This is a follow-up of 703e5c92ee.

* gnu/services/cuirass.scm (cuirass-shepherd-service): Move "zabbix-uri"
argument to the web process.
2021-02-09 09:20:55 +01:00
Mathieu Othacehe 703e5c92ee
services: cuirass: Add Zabbix support.
* gnu/services/cuirass.scm (<cuirass-configuration>)[zabbix-uri]: New field.
(cuirass-shepherd-service): Honor it.
2021-02-08 13:44:06 +01:00
raid5atemyhomework fe7529d71b
gnu: Remove 'file-systems requirement from kernel-module-loader.
* gnu/services/linux.scm (kernel-module-loader-shepherd-service):
Remove 'file-systems requirement.

Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
2021-02-08 03:34:40 +01:00
Marius Bakke 221985ce6b
services: PostgreSQL: Quote database names.
* gnu/services/databases.scm (postgresql-create-roles): Quote the name in
the SQL query so that roles/usernames containing hyphens will work.
2021-02-06 15:18:40 +01:00
Maxim Cournoyer 9e2d275b27
gnu: services: Fix the NFS service.
* gnu/services/nfs.scm (rpcbind-service-type): Adjust for the file name change
of the rpcbind command.
2021-02-05 17:19:10 -05:00
Maxime Devos 95f72dcd7a
services: shepherd: Allow custom 'shepherd' package.
* gnu/services/shepherd.scm (<shepherd-configuration>): New record.
(shepherd-boot-gexp, shepherd-root-service-type): Use it.
(scm->go, shepherd-configuration-file): Allow passing custom
shepherd package.
* gnu/system.scm (operating-system-shepherd-service-names): Use the new
record.
* guix/scripts/system.scm (export-shepherd-graph): Adjust accordingly.
* doc/guix.texi (Shepherd Services). Document it.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2021-01-30 15:36:57 +01:00
Mathieu Othacehe 5ba7e828ad
services: cuirass: Create remote-server cache directory.
* gnu/services/cuirass.scm (cuirass-activation): Create remote-server cache
directory if needed.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2021-01-28 16:22:56 +01:00
Mathieu Othacehe 8d8bbe7c63
services: cuirass: Fix syntax error.
This is a follow-up of 189e62fa69.

* gnu/services/cuirass.scm (<cuirass-remote-server-configuration>): Fix
syntax.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2021-01-28 16:22:55 +01:00
Mathieu Othacehe eff80711f3
services: cuirass: Add log-file support.
* gnu/services/cuirass.scm (cuirass-remote-worker-shepherd-service): Add
log-file support.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2021-01-28 15:53:03 +01:00
Mathieu Othacehe eb9adede34
services: cuirass: Fix workers argument.
* gnu/services/cuirass.scm (cuirass-remote-worker-shepherd-service): Fix
workers arguments.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2021-01-28 15:27:55 +01:00
Mathieu Othacehe a19b6889ad
services: cuirass: Add systems argument.
* gnu/services/cuirass.scm (<cuirass-remote-worker-configuration>)[systems]:
New field.
(cuirass-remote-worker-shepherd-service): Honor it.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2021-01-28 14:04:52 +01:00
Mathieu Othacehe 189e62fa69
services: cuirass: Add remote build support. 2021-01-28 12:57:27 +01:00
Mathieu Othacehe 0f01493dc8
service: cuirass: Update it. 2021-01-28 12:57:27 +01:00
Mathieu Othacehe ec145a2ff9
services: postgresql: Add postgresql-role-service-type.
* gnu/services/databases.scm (postgresql-role,
postgresql-role?, postgresql-role-name,
postgresql-role-permissions, postgresql-role-create-database?,
postgresql-role-configuration, postgresql-role-configuration?,
postgresql-role-configuration-host, postgresql-role-configuration-roles,
postgresql-role-service-type): New procedures.
* gnu/tests/databases.scm: Test it.
* doc/guix.texi: Document it.
2021-01-28 12:57:27 +01:00
Mathieu Othacehe 33687aa3d0
services: postgresql: Wrap long lines.
* gnu/services/databases.scm: Wrap long lines, no functional change.
2021-01-28 12:57:27 +01:00
Mathieu Othacehe fe4b882350
services: postgresql: Add log directory support.
* gnu/services/databases.scm (postgresql-configuration-log-directory): New
procedure.
(<postgresql-configuration>)[log-directory]: New field.
(postgresql-activation): Create the log directory.
(postgresql-shepherd-service): Honor it.
* gnu/tests/databases.scm (%postgresql-log-directory): New variable.
(log-file): New test case.
* doc/guix.texi (Database Services): Document it.
2021-01-28 12:57:26 +01:00
Mathieu Othacehe 6c0679215f
services: postgresql: Add socket directory support.
* gnu/services/databases.scm (postgresql-config-file-socket-directory): New
procedure.
(<postgresql-config-file>)[socket-directory]: New field.
(postgresql-config-file-compiler): Honor it.
(postgresql-activation): Create the socket directory if needed.
* doc/guix.texi (Database Services): Document it.
* gnu/tests/guix.scm (%guix-data-service-os): Adapt it.
* gnu/tests/monitoring.scm (%zabbix-os): Ditto.
* gnu/tests/web.scm (patchwork-os): Ditto.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2021-01-28 12:57:26 +01:00
Mathieu Othacehe a38d0b0137
services: postgresql: Use Guile datatypes.
* gnu/services/databases.scm (postgresql-config-file-compiler): Support Guile
datatypes in the "extra-config" field.
* gnu/tests/databases.scm (%postgresql-os): Test it.
* doc/guix.texi (Database Services): Document it.
2021-01-28 12:57:26 +01:00
Julien Lepiller e82a713c15
gnu: php-fpm: Ensure no duplicate group.
* gnu/services/web.scm (php-fpm-accounts): Ensure `php-fpm` group is not
duplicated.

Signed-off-by: Leo Prikler <leo.prikler@student.tugraz.at>
2021-01-17 20:40:52 +01:00
Leo Prikler 476b333fbc
services: cups: reuse lp from %base-groups.
* gnu/services/cups.scm (%cups-accounts): Try to reuse lp from %base-groups.
2021-01-17 20:16:05 +01:00
Simon South 181f290aa2
services: openntpd: Remove support for deprecated "-s" option.
* gnu/services/networking.scm (openntpd-configuration): Remove
"allow-large-adjustment?" field.
(openntpd-shepherd-service): Remove use of "allow-large-adjustment?"
configuration field and "-s" daemon option.
* tests/networking.scm (%openntpd-conf-sample): Remove
"allow-large-adjustment?" field.
* doc/guix.texi (Networking Services)[openntpd-service-type]: Remove
"allow-large-adjustment?" field from sample configuration.
[openntpd-configuration]: Remove description of "allow-large-adjustment?"
field.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-01-16 23:30:59 +01:00
Stefan d4f5ea502d
services: qemu-binfmt: 'guix-support?' defaults to #t.
* gnu/services/virtualization.scm (qemu-binfmt-service-type)[guix-support?]:
Change the default from #f to #t.
* doc/guix.texi (Transparent Emulation with QEMU): Change the default of
‘guix-support?’ from #f to #t.  Describe the implication of setting it to #f.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2021-01-16 22:38:17 +01:00
Jan (janneke) Nieuwenhuizen 5b785b2a62
services: hurd-vm: Respect hurd-vm-configuration's disk-size.
This is a follow-up to commit 859b362f81.

* gnu/services/virtualization.scm (hurd-vm-disk-image): Use diks-size from
config to set image's size.
2021-01-14 20:18:09 +01:00
Ludovic Courtès 0d22fc8d36
services: shepherd: 'shepherd-service-type' requires documentation.
* gnu/services/shepherd.scm (shepherd-service-type): Require a
'description' form.
* gnu/services/base.scm (root-file-system-service-type)
(rngd-service-type, host-name-service-type):
(virtual-terminal-service-type, console-keymap-service-type)
(syslog-service-type, swap-service-type)
(kmscon-service-type): Add description.
* gnu/services/networking.scm (dhcp-client-service-type): Likewise.
* gnu/system/install.scm (cow-store-service-type): Likewise.
* gnu/system/linux-container.scm (dummy-networking-service-type):
Likewise.
* gnu/system/mapped-devices.scm (device-mapping-service-type):
Likewise.
* tests/guix-system.sh: Likewise.
2021-01-13 22:24:18 +01:00
Oleg Pykhalov 4e511fcfce
services: Add keepalived service.
* gnu/services/networking.scm (<keepalived-configuration>): New record.
(keepalived-shepherd-service): New procedure.
(keepalived-service-type): New variable.
* doc/guix.texi (Networking Services): Document this.
2021-01-12 14:40:36 +03:00
Oleg Pykhalov 79ba12a1db
services: Add syncthing service.
* gnu/services/syncthing.scm: New file.
* gnu/local.mk: Add this.
* doc/guix.texi: Document this.
2021-01-12 14:40:36 +03:00
Tobias Geerinckx-Rice 2a4fdb4194
services: cups: Add brlaser extension by default.
* gnu/services/cups.scm (cups-configuration): Add brlaser to the default
extensions.
* doc/guix.texi (Printing Services): Document it.
2021-01-10 23:38:49 +01:00
Brice Waegeneire 3d3185b544
services: kernel-module-loader: Return a single 'shepherd-service'.
* gnu/services/linux.scm (kernel-module-loader-shepherd-service): Return
a 'shepherd-service' instead of a list of it.
(kernel-module-loader-service-type): Adjust it.

Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
2021-01-06 19:18:58 +01:00
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 d88ff09ea3
services: 'references-file' depends on Guile-Gcrypt.
Regression introduced in 6a060ff27f.

Reported by clone11 on #guix.

* gnu/services/base.scm (references-file): Wrap gexp in 'with-extensions'.
2020-12-15 22:29:55 +01:00
Tobias Geerinckx-Rice a4cd86ff4b
gnu: htop: Update to 3.0.3.
* gnu/packages/admin.scm (htop): Update to 3.0.3.
2020-12-13 00:35:49 +01:00
Tobias Geerinckx-Rice 8f2656f1de
services: pcscd-shepherd-service: Fix PID file location.
Fixes <http://issues.guix.gnu.org/45202>.

* gnu/services/security-token.scm (pcscd-shepherd-service): Look for
pcscd.pid in /run instead of /var/run.

Reported by Raffael Stocker <r.stocker@mnet-mail.de>.
2020-12-12 23:10:05 +01:00
Ludovic Courtès d8051557ae
Revert "services: openssh: Warn about 'password-authentication?' default."
This reverts commit aecd2a13cb for two
reasons:

  1. The warning would fire every time (gnu services ssh) is loaded;

  2. There's still no clear consensus on the approach to follow as
     discussed in <https://issues.guix.gnu.org/44808>.
2020-12-11 19:06:53 +01:00
Ludovic Courtès f066e65713
services: guix-publish: Depend on 'avahi-daemon' when needed.
* gnu/services/base.scm (guix-publish-shepherd-service): Add
'user-processes' to 'requirement'.  When ADVERTISE? is true, also add
'avahi-daemon'.
2020-12-09 14:13:32 +01:00
Ludovic Courtès 59a6780f70
services: avahi: Depend on 'user-processes'.
* gnu/services/avahi.scm (avahi-shepherd-service): Add 'user-processes'
to 'requirement'.
2020-12-09 14:13:32 +01:00
Efraim Flashner 533935ccf7
services: science.scm: Add missing copyright headers.
This module was always supposed to have the GPL3 header in place.
Follow-up to 8f19e63f76.

* gnu/services/science.scm: Add Copyright headers.
2020-12-09 12:55:02 +02: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
Ludovic Courtès aecd2a13cb
services: openssh: Warn about 'password-authentication?' default.
Fixes <https://bugs.gnu.org/44808>.
Reported by Christopher Lemmer Webber <cwebber@dustycloud.org>.

* gnu/services/ssh.scm (true-but-soon-false): New procedure.
(<openssh-configuration>)[password-authentication?]: Change default to
'true-but-soon-false'.
* gnu/installer/services.scm (%system-services): Explicitly set
'password-authentication?' to #f.
2020-12-07 12:48:26 +01:00
Ludovic Courtès 859b362f81
services: hurd-vm: Avoid circular dependency with (gnu system images hurd).
* gnu/services/virtualization.scm (hurd-vm-disk-image): Use
'lookup-image-type-by-name' instead of referring to 'hurd-disk-image'
from (gnu system images hurd).
2020-12-07 12:48:26 +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 fa0975ad71
services: prometheus-node-exporter: Use a log file.
This makes the logs easier to find and read.

* gnu/services/monitoring.scm (prometheus-node-exporter-shepherd-service):
Pass #:log-file to make-forkexec-constructor.
2020-12-07 09:08:09 +00:00
Christopher Baines 6574298e4e
prometheus-node-exporter: Add user and group.
So it doesn't run as root, and because this will help with the textfile
exporter.

* gnu/services/monitoring.scm (%prometheus-node-exporter-accounts): New
variable.
(prometheus-node-exporter-shepherd-service): Use the relevant user and group.
(prometheus-node-exporter-service-type): Extend the account service type.
2020-12-07 09:07:54 +00:00
Christopher Baines 502cb3f8a1
services: prometheus-node-exporter: Neaten up.
Add relevant exports, as well as a comment to better indicate where the
relevant code starts.

* gnu/services/monitoring.scm (prometheus-node-exporter-service-type):
Capitalise Prometheus.
2020-12-07 09:07:13 +00:00
Ludovic Courtès ce3b5e5a8d
services: mpd: Make /var/run/mpd/USER user-owned.
Fixes <https://bugs.gnu.org/44820>.
Reported by Simon <lists@netpanic.org>.

This is a followup to bb124f6e9c.

* gnu/services/audio.scm (mpd-service-activation): Chown the parent of
DIRECTORY as well.
2020-12-06 23:18:08 +01:00