Commit graph

1022 commits

Author SHA1 Message Date
Jakub Kądziołka
2ef4d273d1
file-systems: mount the PID cgroup filesystem.
* gnu/system/file-systems.scm (%control-groups): Add "pids".
* gnu/services/docker.scm (docker-shepherd-service): Resolve a TODO.

This has allowed me to make a specific configuration of nsjail work.
2020-04-27 14:14:47 +02:00
Brice Waegeneire
2b0c0d9301
services: Add udev-rules-service helper.
* doc/guix.texi (Base services): Add documentation for
'udev-rules-service'. Replace examples of 'udev-service-type' extension
with 'udev-rules-service'.
* gnu/services/base.scm (udev-rules-service): New procedure.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2020-04-22 19:23:58 +02:00
Ludovic Courtès
e3358a831e
gnu: shepherd: Update to 0.8.0.
* gnu/packages/admin.scm (shepherd): Update to 0.8.0.
* gnu/services/shepherd.scm (shepherd-configuration-file): Use
'default-pid-file-timeout' instead of fiddling with '%pid-file-timeout'.
2020-04-21 16:33:21 +02:00
Ludovic Courtès
b25ecfa2e0
services: dovecot: 'stop' method returns #f upon success.
* gnu/services/mail.scm (dovecot-shepherd-service)[stop]: Use 'invoke'
instead of 'make-forkexec-constructor'.  Previously, the 'stop' method
would return the PID of the "dovecot stop" process, which would be
interpreted as a failure to stop the service.
2020-04-21 00:06:40 +02:00
Ludovic Courtès
7d903d2ff7
services: Don't use the deprecated 'make-forkexec-constructor' call.
Passing 'make-forkexec-constructor' a string or several string arguments
has been deprecated since dmd 0.1.

* gnu/services/base.scm (rngd-service-type): In 'start' method, pass a
list as the first argument to 'make-forkexec-constructor'.
* gnu/services/desktop.scm (bluetooth-shepherd-service): Likewise.
* gnu/services/spice.scm (spice-vdagent-shepherd-service): Likewise.
2020-04-21 00:06:40 +02:00
Ludovic Courtès
5e7076f2a5
services: Add 'simulated-wifi-service-type'.
* gnu/services/networking.scm (simulated-wifi-shepherd-services): New
procedure.
(simulated-wifi-service-type): New variable.
* doc/guix.texi (Networking Services): Document it.
2020-04-19 23:50:17 +02:00
Ludovic Courtès
a03943ec00
services: Add 'hostapd-service-type'.
* gnu/services/networking.scm (<hostapd-configuration>): New record
type.
(hostapd-configuration-file, hostapd-shepherd-services): New
procedures.
(hostapd-service-type): New variable.
* doc/guix.texi (Networking Services): Document it.
2020-04-19 23:50:17 +02:00
Efraim Flashner
fafe2343c2
services: sddm: Have sddm provision xorg-server.
* gnu/services/sddm.scm (sddm-shepherd-service)[shepherd-service]: Have
sddm provision 'xorg-server like the other display managers.
2020-04-19 09:06:20 +03:00
Ludovic Courtès
10c413685f
services: Move 'user-processes' to (gnu services shepherd).
* gnu/services/base.scm (%do-not-kill-file)
(user-processes-shepherd-service, user-processes-service-type): Move
to...
* gnu/services/shepherd.scm: ... here.
2020-04-17 23:18:32 +02:00
Ludovic Courtès
b4440de133
Merge branch 'version-1.1.0' 2020-04-15 16:09:18 +02:00
Ludovic Courtès
8aa752ba22
services: shepherd: Increase the PID file timeout to 30s.
When running the installation image off a DVD, early I/O operations are
extremely slow, to the point that something like dbus-daemon would need
~20s to start.  This change works around the issue.

Fixes <https://bugs.gnu.org/40572>.
Reported by Florian Pelz <pelzflorian@pelzflorian.de>.

* gnu/services/shepherd.scm (shepherd-configuration-file): Set
%pid-file-timeout to 30.
2020-04-15 00:02:23 +02:00
Vagrant Cascadian
4a0dda74fc
services: libvirt-configuration: Fix grammar of "allows to select" to "allows
selecting".

* gnu/services/virtualization (libvirt-configuration): Fix grammar.
2020-04-12 13:04:34 -07:00
Florian Pelz
8e4d1493f1
services: kernel-module-loader: Clean up.
Suggested by Efraim Flashner <efraim@flashner.co.il>.
See <https://lists.gnu.org/archive/html/bug-guix/2020-04/msg00237.html>.

* gnu/services/linux.scm (kernel-module-loader-shepherd-service):
Remove unneeded 'respawn?' field.
2020-04-12 18:24:27 +00:00
Tobias Geerinckx-Rice
325707fabe
services: gnome: Fix ‘gnome’ field name.
To match its own documentation & other similar services.

* gnu/services/desktop.scm (gnome-desktop-configuration)[gnome-package]:
Rename to…
[gnome]: …this.
2020-04-10 16:05:25 +02:00
Tobias Geerinckx-Rice
8764064c05
services: gnome: Fix ‘gnome’ field name.
To match its own documentation & other similar services.

* gnu/services/desktop.scm (gnome-desktop-configuration)[gnome-package]:
Rename to…
[gnome]: …this.
2020-04-10 01:52:36 +02:00
Florian Pelz
543516ed00
services/web: Fix ordering of default-nginx-config.
Fixes an error message '"load_module" directive is specified too late'.

* gnu/services/web.scm (default-nginx-config): Emit load_module before
global directives.
2020-04-08 23:12:32 +00:00
Ludovic Courtès
3302e03ba0
services: guix: Add 'set-http-proxy' action.
Fixes <https://bugs.gnu.org/25569>.
Reported by Divan Santana <divan@santanas.co.za>.

* gnu/services/base.scm (shepherd-set-http-proxy-action): New procedure.
(guix-shepherd-service): Add 'actions' field.  Change 'start' to a
lambda; check the value of the "http_proxy" environment variable and
add "http_proxy" and "https_proxy" to #:environment-variables as a
function of that.
* gnu/tests/base.scm (run-basic-test)["guix-daemon set-http-proxy
action", "guix-daemon set-http-proxy action, clear"]: New tests.
* doc/guix.texi (Base Services): Document it.
2020-04-07 12:31:36 +02:00
Ludovic Courtès
d7113bb655
services: syslog: Create log files as non-world-readable.
Partly fixes <https://bugs.gnu.org/40405>.
Reported by Diego Nicola Barbato <dnbarbato@posteo.de>.

* gnu/services/base.scm (syslog-service-type): Change 'start' method to
set umask to #o137 before spawning syslogd.
* gnu/tests/base.scm (run-basic-test)["/var/log/messages is not
world-readable"]: New test.
2020-04-06 23:56:24 +02:00
Ludovic Courtès
0468455e7d
services: Add 'rottlog-service-type' to '%base-services'.
* gnu/services/base.scm (%base-services): Add an instance of
ROTTLOG-SERVICE-TYPE.
* doc/guix.texi (Log Rotation): Mention that it's part of
%BASE-SERVICES and change example.
2020-04-06 12:07:49 +02:00
Ricardo Wurmus
0e8564f8f0
services/web: Add missing ungexp for mumi shepherd services.
This is a follow-up to commit f00f52a1fb.

* gnu/services/web.scm (mumi-shepherd-services): Ungexp variables.
2020-04-06 09:44:04 +02:00
Ricardo Wurmus
6ef1fc8da3
services/web: Add default values to all mumi-configuration fields.
This is a follow-up to commit f00f52a1fb.

* gnu/services/web.scm (<mumi-configuration>)[sender,smtp]: Add default
values.
2020-04-06 08:55:13 +02:00
Ricardo Wurmus
f00f52a1fb
gnu: mumi: Update to 0.0.0-12.bb2fe92.
* gnu/packages/mail.scm (mumi): Update to 0.0.0-12.bb2fe92.
[inputs]: Add guile-gcrypt, guile-redis, guile-webutils, mailutils.
* gnu/services/web.scm (<mumi-configuration>): New record type.
(mumi-configuration, mumi-configuration?, mumi-configuration-mumi,
mumi-configuration-mailer?, mumi-configuration-sender,
mumi-configuration-smtp): New procedures.
(mumi-shepherd-services): Accept configuration; adjust start commands; add
Shepherd service for mumi mailer.
(mumi-service-type): Pass default configuration.
* doc/guix.texi (Web Services): Update documentation.
2020-04-06 08:40:50 +02:00
Brice Waegeneire
044d1478c9
gnu: Add kernel-module-loader-service.
* doc/guix.texi (Linux Services): Add a new subsection and document the
new service and its configuration.
* gnu/services/linux.scm (kernel-module-loader-service-type): New type.
(kernel-module-loader-shepherd-service): New procedure.
* gnu/tests/linux-modules.scm (module-loader-program): Procedure
removed.
(modules-loaded?-program): New procedure.
(run-loadable-kernel-modules-test): 'module-loader-program' procedure
replaced by the new one.
[os]: Use 'kernel-module-loader-service'.

Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
2020-04-05 13:07:13 +02:00
Simon Mages
83670e02bc
services: murmur: Add missing newline in murmur-configuration.
* gnu/services/telephony.scm (default-murmur-config): Add newline after
"max-user-bandwidth".

Signed-off-by: Marius Bakke <mbakke@fastmail.com>
2020-04-02 20:55:15 +02:00
Ludovic Courtès
9bdb0fee01
services: mate: Provide all the polkit actions.
* gnu/services/desktop.scm (mate-polkit-extension): New procedure.
(mate-desktop-service-type): Use it when extending POLKIT-SERVICE-TYPE.
2020-04-02 16:07:12 +02:00
Ludovic Courtès
0e833ac5f4
services: shepherd: Mark '.go' derivations as non-substitutable.
* gnu/services/shepherd.scm (scm->go): Pass #:options to 'computed-file'.
2020-03-29 15:32:18 +02:00
Florian Pelz
acb41a4024
services: gdm: Add gdm user to 'video' supplementary group.
This makes it possible to use gdm with the 'uvesafb' kernel module.
See <https://lists.gnu.org/archive/html/guix-devel/2020-03/msg00389.html>.

* gnu/services/xorg.scm (%gdm-accounts): Set supplementary groups.
2020-03-29 10:12:08 +00:00
Ricardo Wurmus
bc3fda5d2b
services/nfs: Replace nfs-version with nfs-versions.
Instead of accepting a string for just one protocol version accept a list of
supported versions.

* gnu/services/nfs.scm (<nfs-configuration>)[nfs-version]: Remove field and
replace...
[nfs-versions]: ...with this new field.
(nfs-shepherd-services): Pass as many "--nfs-version" options as there are
supported versions.
* doc/guix.texi (Network File System): Document nfs-versions.
2020-03-27 15:30:44 +01:00
Ricardo Wurmus
b3c083b985
services/nfs: Mount nfsd pseudo file system.
* gnu/services/nfs.scm (nfs-shepherd-services): Add shepherd-service providing
/proc/fs/nfsd and make other shepherd services require it.
2020-03-25 14:17:24 +01:00
Ludovic Courtès
ae5c4a9292
services: console-font: Fix docstring.
* gnu/services/base.scm (console-font-service-type): Use quasiquote and
unquote appropriately in docstring.
2020-03-23 00:06:58 +01:00
Efraim Flashner
405c0c947c
services: Add fontconfig-file-system-service.
* gnu/services/desktop.scm (%fontconfig-file-system,
fontconfig-file-system-service): New variables.
(%desktop-services): Add fontconfig-file-system-service.
2020-03-22 09:08:11 +02:00
Ludovic Courtès
70526bdbe0
services: nfs: Remove unnecessary "mount" invocation.
* gnu/services/nfs.scm (%nfs-activation): Remove unnecessary "mount"
invocation (/proc/fs/nfsd is automatically mounted, somehow).  Remove
unnecessary 'mkdir-p' call.
2020-03-16 22:58:37 +01:00
Ludovic Courtès
e28770df71
services: nfs: Move activation snippet out of line.
* gnu/services/nfs.scm (%nfs-activation): New variable.
(nfs-service-type)[extensions]: Refer to %NFS-ACTIVATION.
2020-03-16 22:58:37 +01:00
Ludovic Courtès
a37e03d60e
tests: opensmtpd: Check /var/spool/mail instead of /var/mail.
The test had been failing since the upgrade to 6.6.3p1 in commit
2dbfd8eec4.

* gnu/services/mail.scm (opensmtpd-activation): Create /var/spool/mail.
* gnu/tests/mail.scm (run-opensmtpd-test): Check /var/spool/mail instead
of /var/mail.
2020-03-16 14:05:52 +01:00
Ludovic Courtès
0f13dd2b7f
services: dhcpd: Use 'invoke/quiet' when validating the config file.
This avoids the lengthy copyright/config message from dhcpd.

* gnu/services/networking.scm (dhcpd-activation): Use 'invoke/quiet'
instead of 'invoke'.
2020-03-16 14:05:52 +01:00
Ricardo Wurmus
85f0958693
services/web: Export nginx-configuration-global-directives.
This is a follow-up to commit b420e6deb9.

* gnu/services/web.scm (nginx-configuration-global-directives): Export
procedure.
2020-03-16 12:22:16 +01:00
Tobias Geerinckx-Rice
2ec4607863
services: nginx: Fix broken default configuration.
* gnu/services/web.scm (nginx-configuration): Emit an empty events{}
block by default.
* doc/guix.texi (Web Services): Document it.
2020-03-16 03:19:55 +01:00
Ricardo Wurmus
b420e6deb9
services/web: nginx-configuration: Add support for global directives.
* gnu/services/web.scm (<nginx-configuration>)[global-directives]: Add field.
(emit-global-directive): New procedure.
(default-nginx-config): Use it.
* doc/guix.texi (Web Services): Document it.
2020-03-15 12:05:32 +01:00
Ricardo Wurmus
995b391013
services/web: Remove empty events directive from default-nginx-config.
* gnu/services/web.scm (default-nginx-config): Remove empty events directive.
2020-03-15 12:05:32 +01:00
Ricardo Wurmus
a595399230
services: mumi-service-type: Update to latest version of mumi.
* gnu/services/web.scm (%mumi-activation): Create /var/mumi/db.
(mumi-shepherd-services): Add service for mumi worker.
2020-03-12 12:47:45 +01:00
Christopher Baines
af96c1e0e4
services: cuirass: Allow passing extra command line options.
This is so that the options supported by the service configuration don't have
to always be changed. Generally though all options should be explicitly
supported and documented, so this is mostly to facilitate experimentation.

* gnu/services/cuirass.scm (<cuirass-configuration>): Add an extra-options
field.
(cuirass-shepherd-service): Pass the extra options to the shepherd servvices.
* doc/guix.texi (Continuous Integration): Document it.
2020-03-08 23:46:11 +00:00
Christopher Baines
d8ab68b929
services: guix-data-service: Allow passing extra options.
This is so that the options supported by the service configuration don't have
to always be changed. Generally though all options should be explicitly
supported and documented, so this is mostly to facilitate experimentation.

* gnu/services/guix.scm (<guix-data-service-configuration>): Add extra-options
and extra-process-jobs-options to the record type.
(guix-data-service-shepherd-services): Handle these new configuration record
fields.
* doc/guix.texi (Guix Data Service): Document these new options.
2020-03-08 23:35:03 +00:00
Jack Hill
f6713b55a1
services: certbot: Add server option.
* gnu/services/certbot.scm (certbot-configuration): Add server option.
(certbot-command): Use server option.
(certbot-actication): Use server option.
(certbot-nginx-server-configurations): Use server option.
* doc/guix.texi (Certificate Services): Document server option.

Co-authored-by: Tobias Geerinckx-Rice <me@tobias.gr>
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2020-03-08 21:21:57 +01:00
Maxim Cournoyer
5fdc5b2d57
services: nfs: Run rpc.mountd in foreground.
Fixes <https://bugs.gnu.org/39708>.

Shepherd doesn't keep track of processes that fork themselves and would
disable the process after restarting it a couple times.

* gnu/services/nfs.scm (nfs-shepherd-services): Invoke rpc.mountd with the
'--foreground' option.
2020-03-08 00:26:02 -05:00
Ludovic Courtès
24a4a635fd
gnu: eudev: Add variant with corrected Btrfs rules.
Discussed at <https://bugs.gnu.org/39926>.

* gnu/packages/linux.scm (eudev/btrfs-fix): New variable.
* gnu/services/base.scm (<udev-configuration>)[udev]: Default to it.
(udev-service): Likewise for #:udev.
2020-03-07 22:30:00 +01:00
Mathieu Othacehe
8f5a0a97b1
services: herd: Add restart-service.
* gnu/services/herd.scm (restart-service): New exported procedure.
2020-03-03 15:00:32 +01:00
Jakub Kądziołka
50be0da7bf
services: set-xorg-configuration: handle slim and sddm
* gnu/services/xorg.scm (handle-xorg-configuration): New syntax.
  (gdm-service-type, slim-service-type): Use handle-xorg-configuration.
* gnu/services/sddm.scm (sddm-service-type): Likewise.
2020-03-01 14:13:27 +01:00
Florian Pelz
00500449b0
services: udev: Do not rely on shepherd inheriting environment variables.
Fixes <https://bugs.gnu.org/39671>.

* gnu/services/base.scm (udev-shepherd-service)[start] Move or copy
environment variables to 'fork+exec-command' instead of 'setenv'.
2020-02-20 22:34:06 +00:00
Julien Lepiller
c6c447701c
gnu: services: Add openvpn options.
* gnu/services/vpn.scm (openvpn-client-configuration)
(openvpn-server-configuration): Add fast-io? and auth-user-pass options.
2020-02-19 04:08:55 +01:00
Julien Lepiller
0372dd1a1e
gnu: services: Fix openvpn boolean fields.
* gnu/services/vpn.scm (serialize-boolean): Do not print #t to the file.
2020-02-19 04:08:40 +01:00