Commit graph

1453 commits

Author SHA1 Message Date
Marius Bakke
7c75fff68b
services: zabbix-frontend: Restore correct variable name.
This is a follow-up to 326e08bf0f, et.al.

* gnu/services/monitoring.scm (%zabbix-front-end-nginx-configuration): Rename
to ...
(%zabbix-front-end-configuration-nginx): ... this.
(zabbix-front-end-nginx-extension): Adjust accordingly.
2022-02-07 18:37:14 +01:00
Marius Bakke
eb2e0e3225
services: monitoring: Remove unused procedure.
This is a follow-up to commit 326e08bf0f.

* gnu/services/monitoring.scm (zabbix-front-end-nginx-configuration): Remove
variable.
2022-02-07 18:22:41 +01:00
Marius Bakke
326e08bf0f
services: zabbix-front-end: Restore backwards compatibility.
Commit e301f1a8ed removed the NGINX argument
entirely, but users may rely on and override it.  Reported by rekado on #guix.

* gnu/services/monitoring.scm (%zabbix-front-end-nginx-configuration): Restore
exported variable.
(zabbix-front-end-nginx-extension): New procedure.
(zabbix-front-end-configuration): Remove FASTCGI-PARAMS field.  Restore NGINX
field, but default to the empty list.
(zabbix-front-end-service-type): Extend NGINX-SERVICE-TYPE by
ZABBIX-FRONT-END-NGINX-EXTENSION.
* doc/guix.texi (Monitoring Services): Regenerate documentation.
2022-02-07 18:19:46 +01:00
Christopher Baines
71d2bdfa9f
services: nar-herder: Support ttl and negative-ttl options.
* gnu/services/guix.scm (<nar-herder-configuration>): Add ttl and negative-ttl
fields.
(nar-herder-shepherd-services): Pass the ttl and negative-ttl values to the
service.
* doc/guix.texi (Guix Services): Document this.
2022-02-04 10:09:01 +00:00
Christopher Baines
108e7576c0
services: patchwork: Set DEFAULT_AUTO_FIELD in settings.
This resolves some warnings with Django 3.2.

This was added by upstream to the base settings
43e5c4a0ac

* gnu/services/web.scm (patchwork-settings-module-compiler): Specify
DEFAULT_AUTO_FIELD in the settings module.
2022-02-02 18:27:10 +00:00
Attila Lendvai
67f28faf42
services: tlp: Add config variables for battery charging.
* gnu/services/pm.scm (tlp-configuration): Add start-charge-thresh-bat0,
stop-charge-thresh-bat0, start-charge-thresh-bat1, stop-charge-thresh-bat1.
* doc/guix.texi (Power Management Services): Document them.

Signed-off-by: Ricardo Wurmus <rekado@elephly.net>
2022-02-02 10:43:04 +01:00
Maxim Cournoyer
fff4daa5c2
services/sound: Add a udev extension for the pulseaudio service type.
PulseAudio provides udev rules used to adjust the configuration of certain
hardware (e.g., sound cards); ensure they get used.

* gnu/services/sound.scm (pulseaudio-service-type): Extend the
udev-service-type with the pulseaudio package.
2022-02-01 21:48:01 -05:00
Marius Bakke
e301f1a8ed
services: zabbix-frontend: Support custom server package.
* gnu/services/monitoring.scm (%zabbix-front-end-configuration-nginx): Rename
to ...
(zabbix-front-end-nginx-configuration): ... this.  Take server package and
FastCGI parameters from ...
(zabbix-front-end-configuration): ... here.  Add PACKAGE and FASTCGI-PARAMS
fields, remove NGINX.
(zabbix-front-end-service-type): Adjust for renamed procedure.
* doc/guix.texi (Monitoring Services)[Zabbix front-end]: Regenerate documentation.
2022-02-01 23:46:05 +01:00
Christopher Baines
087cdafc9f
services: guix: Add nar-herder-service-type.
* gnu/services/guix.scm (<nar-herder-configuration>): New record type.
(nar-herder-configuration, nar-herder-configuration?,
nar-herder-configuration-package,
nar-herder-configuration-user,
nar-herder-configuration-group,
nar-herder-configuration-mirror
nar-herder-configuration-database
nar-herder-configuration-database-dump
nar-herder-configuration-host
nar-herder-configuration-port
nar-herder-configuration-storage
nar-herder-configuration-storage-limit
nar-herder-configuration-storage-nar-removal-criteria
nar-herder-shepherd-services, nar-herder-activation,
nar-herder-account): New procedures.
(nar-herder-service-type): New variable.
* gnu/tests/guix.scm (%test-nar-herder): New variable.
* doc/guix.texi (Guix Services): Document the new service.
2022-01-31 18:28:16 +00:00
Marius Bakke
ab8b76b735
services: zabbix: Support gexps in configuration serializer.
This makes it possible to do e.g. (include-files (list (local-file "foo.conf"))).

* gnu/services/monitoring.scm (serialize-field, serialize-list,
serialize-include-files, serialize-extra-options): Rewrite as gexps.
(zabbix-server-config-file, zabbix-agent-config-file): Simplify builders by
using FORMAT.
2022-01-30 14:47:43 +01:00
Marius Bakke
59847afda7
services: postgresql: Export missing <postgresql-configuration> accessor.
* gnu/services/databases.scm: Export POSTGRESQL-CONFIGURATION-EXTENSION-PACKAGES.
2022-01-29 16:09:03 +01:00
Marius Bakke
756f16aa01
services: zabbix-agent: Set the PATH variable.
* gnu/services/monitoring.scm (zabbix-agent-shepherd-service)[start]: Set the
PATH variable to the common values.
2022-01-29 12:52:38 +01:00
Marius Bakke
8fa6f975d4
services: zabbix-frontend: Adjust indentation.
* gnu/services/monitoring.scm (zabbix-front-end-activation): Reindent.
2022-01-29 12:52:37 +01:00
Marius Bakke
7f12a40e9a
services: zabbix-frontend: Enable IEEE754-compatible history values.
* gnu/services/monitoring.scm (zabbix-front-end-config): Specify
$DB['DOUBLE_IEEE754'] in the configuration file, as per current example.
2022-01-29 12:52:37 +01:00
Marius Bakke
5122805c48
services: zabbix-server: Add shepherd actions for runtime control commands.
* gnu/services/monitoring.scm (zabbix-server-runtime-control-procedure,
zabbix-server-actions): New variables.
(zabbix-server-shepherd-service)[actions]: New field.  Let-bind variables
common between actions and the start procedure.
2022-01-29 12:52:37 +01:00
Marius Bakke
4657a39270
services: zabbix-frontend: Fix configuration file for hard coded passwords.
This is a follow-up to commit 078f5bfae7.

* gnu/services/monitoring.scm (zabbix-front-end-config): When DB-PASSWORD is
set, enclose the password with quotes in the configuration file.
2022-01-29 12:52:37 +01:00
Marius Bakke
078f5bfae7
services: zabbix-server: Do not write database password to the store.
* gnu/services/monitoring.scm (zabbix-front-end-config): Read the secret file
from zabbix.conf.php at runtime instead of embedding the contents.
2022-01-26 09:31:46 +01:00
Marius Bakke
88e4c8740a
services: zabbix-agent: Respect user and group configuration.
* gnu/services/monitoring.scm (zabbix-agent-account): Look up user and group
from CONFIG instead of hard-coded values.
2022-01-26 09:31:45 +01:00
Guillaume Le Vaillant
1aa269d1d7
services: guix-publish: Add negative-ttl parameter.
* gnu/services/base.scm (guix-publish-configuration): Add 'negative-ttl'
  field.
  (guix-publish-sheperd-service): Process it.
* doc/guix.texi (Base Services)[guix-publish-service-type]: Add item for
  negative-ttl.
2022-01-20 14:55:19 +01:00
Ludovic Courtès
575e52ac2b
daemon: Always default to gzip for log compression.
* nix/libstore/globals.cc (Settings::Settings): Have 'logCompression'
default to COMPRESSION_GZIP unconditionally.
* gnu/services/base.scm (<guix-configuration>)[log-compression]: Default
to 'gzip.
* doc/guix.texi (Invoking guix-daemon, Base Services): Adjust accordingly.
2022-01-18 18:46:51 +01:00
Timothy Sample
3b6755defe
services: guix: Add tar and gzip to PATH.
* gnu/services/base.scm (guix-shepherd-service): Add the PATH
environment-variable and populate it with tar and gzip.
2022-01-16 18:57:55 -05:00
Nick Zalutskiy
757be0e8af
services: pam-mount: Add support for sddm login manager.
I noticed that pam_mount mounts work fine when loging into a textual
session, but not when using sddm. This patch fixes this problem by
ensuring that pam_mount.so is included in /etc/pam.d/sddm config file.

* gnu/services/pam-mount.scm (pam-mount-pam-service): Add sddm to the list of
  pam services.

Signed-off-by: Guillaume Le Vaillant <glv@posteo.net>
2022-01-17 00:13:46 +01:00
Maxim Cournoyer
374fea0f3b
services: Adjust the jami service for the upgraded jami.
* gnu/services/telephony.scm (jami-configuration)[jamid]: Rename libring to
libjami.
* gnu/services/telephony.scm
(jami-configuration->command-line-arguments): Adjust daemon file name.
* gnu/services/telephony.scm (jami-service-type): Adjust doc.
* gnu/tests/telephony.scm (run-jami-test): Check for 'jamid' process, not
'dring'.
* doc/guix.texi (Telephony Services): Adjust doc for the jami-qt to jami and
libring to libjami packages renaming.
2022-01-13 00:57:52 -05:00
Arun Isaac
c1f8dffa54
services: laminar: Set LAMINAR_BIND_RPC environment variable.
Earlier, the bind-rpc field of <laminar-configuration> was not used at
all. This was a bug.

* gnu/services/ci.scm (laminar-shepherd-service): Use bind-rpc to set
LAMINAR_BIND_RPC environment variable.
2022-01-11 11:47:42 +05:30
Chris Marusich
dc2b90109b
services: set-xorg-configuration: Use target-x86-64?.
* gnu/services/xorg.scm (set-xorg-configuration)[login-manager-service-type]:
Use target-x86-64? from (guix utils) to decide if the system is an x86_64
system instead of comparing the strings ourselves.
2022-01-08 15:51:37 -08:00
Ludovic Courtès
5c354c204d
services: networking: Add netmask to loopback address.
Previously, we would get a fishy 127.0.0.1/0 interface:

  $ ip a show dev lo
  1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
      link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
      inet 127.0.0.1/8 scope host lo
	 valid_lft forever preferred_lft forever
      inet 127.0.0.1/0 scope global lo
	 valid_lft forever preferred_lft forever
      inet6 ::1/128 scope host
	 valid_lft forever preferred_lft forever

With this change, we get nothing but the "/8" version:

  $ ip a show dev lo
  1: lo: <LOOPBACK,MULTICAST,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
      link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
      inet 127.0.0.1/8 scope global lo
	 valid_lft forever preferred_lft forever
      inet6 ::1/128 scope host
	 valid_lft forever preferred_lft forever

Reported by Yann Dupont <Yann.Dupont@univ-nantes.fr>.

* gnu/services/base.scm (assert-valid-address): Remove special cases for
127.0.0.1 and ::1.
(%loopback-static-networking): Add "/8".
2022-01-08 23:27:42 +01:00
Chris Marusich
79260c8695
services: Consistently use SDDM rather than GDM on non-x86_64.
This is a follow-up to 49599fab56.

Fixes: <https://issues.guix.gnu.org/52908>.

* gnu/services/xorg.scm (set-xorg-configuration)[login-manager-service-type]:
When the current system or target system begins with the string "x86_64", use
gdm-service-type as before; otherwise, use sddm-service-type.
* gnu/system/examples/vm-image.tmpl (services): Add sddm-service-type to the
list of service types to remove.
2022-01-06 18:54:59 -08:00
Mathieu Othacehe
cd4092b7a3
services: gnome: Add udev rules.
Fixes: <https://issues.guix.gnu.org/32166>.

* gnu/services/desktop.scm (gnome-packages, gnome-udev-rules): New procedures.
(gnome-polkit-settings): Use the gnome-packages procedure.
(gnome-desktop-service-type): Add an udev service extension.
2022-01-06 09:26:39 +01:00
Leo Famulari
85f006c8e8
services: Document the full list of available NTP URLs.
* gnu/services/networking.scm (%ntp-servers): List the URLs granted to us.
2022-01-06 01:30:27 -05:00
Christopher Baines
dfc5d5247f
services: guix-build-coordinator: Fix variable name in agent config.
* gnu/services/guix.scm (<guix-build-coordinator-agent-configuration>): Fix
variable name.
* doc/guix.texi (Guix Services): Update accordingly.
2022-01-02 17:47:36 +00:00
Christopher Baines
1dca8a19ef
gnu: Add guix-build-coordinator/agent-only.
This avoids issues where the coordinator component dependencies (like sqitch
and guile-fibers) make it harder to use the agent.

* gnu/packages/package-management.scm (guix-build-coordinator/agent-only): New
variable.
* gnu/services/guix.scm (<guix-build-coordinator-agent-configuration>): Use
the guix-build-coordinator/agent-only package by default.
* doc/guix.texi (Guix Services): Update accordingly.
2022-01-02 17:00:09 +00:00
Mathieu Othacehe
207ee9d9cd
services: nfs: Fix statd and mountd ports.
* gnu/services/nfs.scm (nfs-shepherd-services): Fix rpcstatd-port and
rpcmountd-port arguments.
2021-12-23 10:54:01 +01:00
Timothy Sample
488f1c589d
services: dbus: Wait 1 minute for elogind to get ready.
Fixes <https://issues.guix.gnu.org/issue/52051>.

* gnu/services/dbus.scm (dbus-configuration-directory): Set a 60 second
authentication timeout in the D-Bus configuration.
2021-12-22 18:33:07 -05:00
Nathan Dehnel
6fb5459e8b
services: wireguard: Add DNS config field.
* gnu/services/vpn.scm (wireguard-configuration)[dns]: New field.
(wireguard-configuration-file): Honor it.
* doc/guix.texi: Document it.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2021-12-22 09:07:39 +01:00
Mathieu Othacehe
d2f9578a9f
services: static-networking: Enable multicast by default.
Fixes: <https://issues.guix.gnu.org/52520>.

* gnu/services/base.scm (network-set-up/linux): Enable it.
2021-12-21 20:37:39 +01:00
Ludovic Courtès
c9d92409d4
services: rsync: Allow configuring several rsync "modules".
Until now the rsync service would export a single module, named
"files".  This allows users to specify as many modules as they want, in
line with rsyncd.conf(5).

* gnu/services/rsync.scm (warn-share-field-deprecation): New procedure.
(<rsync-configuration>)[modules]: New field.
[share-path, share-comment, read-only?, timeout]: Mark as deprecated.
(<rsync-module>): New record type.
(%default-modules): New variable.
(rsync-configuration-modules): New procedure.
(rsync-activation): Create the directory of each module.
(rsync-config-file): Generate configuration for each module.
(rsync-service-type)[description]: New field.
* doc/guix.texi (Networking Services): Adjust documentation.  Augment
example.
2021-12-21 15:47:03 +01:00
Ludovic Courtès
4df584aeac
services: static-networking: Sanitize <network-address> values.
This makes sure users do not mistakenly configuring a network with "/0"
as its netmask.

* gnu/services/base.scm (assert-valid-address): New procedure.
(<network-address>)[value]: Add it as 'sanitize'.
2021-12-20 16:21:40 +01:00
Mathieu Othacehe
99b2f51dc2
services: cuirass: Remove the default database host.
* gnu/services/cuirass.scm (%cuirass-default-database): Remove the default
host.
2021-12-15 14:41:42 +01:00
Ludovic Courtès
1052ae5f03
Merge branch 'master' into core-updates-frozen 2021-12-13 11:49:15 +01:00
Ludovic Courtès
5967aee398
services: Define '%loopback-static-networking'.
* gnu/services/base.scm (%loopback-static-networking): New variable.
(%base-services): Use it.
* gnu/system/hurd.scm (%base-services/hurd): Use it.
* gnu/system/install.scm (%installation-services): Use it.
* doc/guix.texi (Networking Setup): Document it.
2021-12-12 23:20:50 +01:00
Ludovic Courtès
1644f4f1f8
services: Define '%qemu-static-networking'.
* gnu/services/base.scm (%qemu-static-networking): New variable.
* gnu/system/hurd.scm (%base-services/hurd): Use it.
* doc/guix.texi (Networking Setup): Document it.
2021-12-12 23:20:49 +01:00
Ludovic Courtès
223f1b1eb3
services: static-networking: Change interface to mimic netlink.
* gnu/services/base.scm (<static-networking>)[interface, ip, netmask]
[gateway]: Remove.
[addresses, links, routes]: New fields.
[requirement]: Default to '(udev).
(<network-address>, <network-link>, <network-route>): New record types.
(ensure-no-separate-netmask, %ensure-no-separate-netmask): Remove.
(ipv6-address?, cidr->netmask, ip+netmask->cidr)
(network-set-up/hurd, network-tear-down/hurd)
(network-set-up/linux, network-tear-down/linux)
(static-networking->hurd-pfinet-options): New procedures.
(static-networking-shepherd-service): New procedure.
(static-networking-shepherd-services): Rewrite in terms of the above.
(static-networking-service): Deprecate.  Adjust to new
'static-networking' API.
(%base-services): Likewise.
* gnu/system/install.scm (%installation-services): Likewise.
* gnu/system/hurd.scm (%base-services/hurd): Likewise, and separate
'loopback' from 'networking'.
* gnu/build/hurd-boot.scm (set-hurd-device-translators): Remove
"servers/socket/2".
* gnu/tests/networking.scm (run-openvswitch-test)["networking has
started on ovs0"]: Check for 'networking instead of 'networking-ovs0,
which is no longer provided.
* doc/guix.texi (Networking Setup): Document the new interface.  Remove
documentation of 'static-networking-service'.
(Virtualization Services): Change Ganeti example to use the new
interface.
2021-12-12 23:20:49 +01:00
Ludovic Courtès
39e3b4b7ce
services: secret-service: Turn into a Shepherd service.
* gnu/services/virtualization.scm (secret-service-activation): Remove.
(secret-service-shepherd-services): New procedure.
(secret-service-type)[extensions]: Remove ACTIVATION-SERVICE-TYPE
extension.  Add SHEPHERD-ROOT-SERVICE-TYPE and
USER-PROCESSES-SERVICE-TYPE extensions.
* gnu/build/secret-service.scm (delete-file*): New procedure.
(secret-service-receive-secrets): Use it.
2021-12-12 23:20:49 +01:00
Ludovic Courtès
0cc742b261
services: static-networking: Use Guile-Netlink on GNU/Linux.
* gnu/services/base.scm (static-networking-shepherd-service): Define
'set-up-via-ioctl', 'tear-down-via-ioctl', 'set-up-via-netlink',
'tear-down-via-netlink', and 'helpers' and use them in 'start' and
'stop'.  Add (ip *) modules to 'modules'.
2021-12-12 23:20:49 +01:00
Ludovic Courtès
49599fab56
services: %desktop-services: Use SDDM rather than GDM on non-x86_64.
This works around the fact that Rust is currently unavailable in Guix on
platforms other than x86_64-linux:

  https://lists.gnu.org/archive/html/guix-devel/2021-11/msg00197.html

* gnu/services/desktop.scm (desktop-services-for-system): New
procedure.
(%desktop-services): Turn into a macro.
2021-12-08 18:56:52 +01:00
Ricardo Wurmus
9bc0f45df5
Merge remote-tracking branch 'origin/master' into core-updates-frozen 2021-12-05 19:17:41 +01:00
Tobias Geerinckx-Rice
892f1b7273
services: Accept <inferior-package>s in lieu of <package>s.
* gnu/services/authentication.scm (fprintd-configuration)
(nslcd-configuration): Substitute file-like objects for package ones.
* gnu/services/cgit.scm (cgit-configuration, opaque-cgit-configuration):
Likewise.
* gnu/services/cups.scm (package-list?, cups-configuration): Likewise.
* gnu/services/dns.scm (verify-knot-configuration)
(ddclient-configuration): Likewise.
* gnu/services/docker.scm (docker-configuration): Likewise.
* gnu/services/file-sharing.scm (transmission-daemon-configuration): Likewise.
* gnu/services/getmail.scm (getmail-configuration): Likewise.
* gnu/services/mail.scm (dovecot-configuration)
(opaque-dovecot-configuration): Likewise.
* gnu/services/messaging.scm (prosody-configuration)
(opaque-prosody-configuration): Likewise.
* gnu/services/monitoring.scm (zabbix-server-configuration)
(zabbix-agent-configuration): Likewise.
* gnu/services/networking.scm (opendht-configuration): Likewise.
* gnu/services/pm.scm (tlp-configuration): Likewise.
* gnu/services/telephony.scm (jami-configuration): Likewise.
* gnu/services/virtualization.scm (libvirt-configuration)
(qemu-guest-agent-configuration): Likewise.
* gnu/services/vpn.scm (openvpn-client-configuration): Likewise.
2021-11-30 01:08:55 +01:00
Ludovic Courtès
72b0c5a3f2
services: polkit: Choose between polkit-mozjs and polkit-duktape.
* gnu/services/dbus.scm (%default-polkit): New variable.
(<polkit-configuration>)[polkit]: Default to it.
2021-11-27 23:06:17 +01:00
Josselin Poiret
c3fd310d8f
gnu: gdm: Pass GDK_PIXBUF_MODULE_FILE to sessions.
* gnu/packages/patches/gdm-pass-gdk-pixbuf-loader-env.patch: Add patch.
* gnu/local.mk (dist_patch_DATA): List it.
* gnu/packages/gnome.scm (gdm): Use it.
* gnu/services/xorg.scm (gdm-shepherd-service): Pass GDK_PIXBUF_MODULE_FILE.

Modified-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2021-11-24 01:02:37 -05:00
Josselin Poiret
d48b404cf5
gnu: system: Make old-style swap use default flags.
* gnu/services/base.scm (swap-service-type): Use default flags (0) if
SWAP is not a new-style <swap-space> record.

Signed-off-by: Tobias Geerinckx-Rice <me@tobias.gr>
2021-11-23 19:02:34 +01:00