Commit graph

1000 commits

Author SHA1 Message Date
Leo Prikler
f1022fbf2f
services: Split ladspa-service-type from pulseaudio-service-type.
* gnu/services/sound.scm (ladspa-configuration): New record.
(ladspa-environment): New procedure.
(ladspa-service-type): New service type.
(pulseaudio-environment): Remove LADSPA_PATH.
* doc/guix.texi: Adjust documentation.

Signed-off-by: Marius Bakke <mbakke@fastmail.com>
2020-01-11 18:18:51 +01:00
Leo Prikler
f6f9181130
services: pulseaudio-configuration: Set flat-volumes to no.
* gnu/services/sound (pulseaudio-configuration) [daemon-conf]: Disable
flat-volumes, which causes unpleasant experiences to users when applications
inadvertently max out the system volume (e.g. as in #38172).

Signed-off-by: Marius Bakke <mbakke@fastmail.com>
2020-01-11 18:18:51 +01:00
Leo Prikler
f547426200
services: Add pulseaudio-configuration.
* gnu/services/sound (<pulseaudio-configuration>): New record.
(pulseaudio-etc): New procedure.
(pulseaudio-environment): Add PULSE_CONFIG and PULSE_CLIENTCONFIG.
(pulseaudio-service-type): Update accordingly.

Signed-off-by: Marius Bakke <mbakke@fastmail.com>
2020-01-11 18:18:50 +01:00
Ricardo Wurmus
907eeac2e7
services: nfs: Add nfs-service-type.
* gnu/services/nfs.scm (<nfs-configuration>): New record.
(nfs-configuration, nfs-configuration?, nfs-configuration-nfs-utils,
nfs-configuration-nfs-version, nfs-configuration-exports,
nfs-configuration-rpcmountd-port, nfs-configuration-rpcstatd-port,
nfs-configuration-rpcbind, nfs-configuration-idmap-domain,
nfs-configuration-nfsd-port, nfs-configuration-nfsd-threads,
nfs-configuration-pipefs-directory, nfs-configuration-debug,
nfs-shepherd-services): New procedures.
(nfs-service-type): New variable.
* doc/guix.texi (Network File System): Document it.
* gnu/tests/nfs.scm (%test-nfs-server): New variable.
(%base-os): Use default value of rpcbind-service-type.
2020-01-08 23:56:16 +01:00
Ricardo Wurmus
a6bdca6b9b
services: nfs: Allow gss-service-type to be extended.
* gnu/services/nfs.scm (gss-service-type): Rewrite using SERVICE-TYPE to add
ability to extend the service.
2020-01-08 23:56:16 +01:00
Ricardo Wurmus
2a23942e3f
services: nfs: Add verbosity control to idmap-service-type.
* gnu/services/nfs.scm (<idmap-configuration>)[verbosity]: New field.
(idmap-configuration-verbosity): New procedure.
(idmap-service-type): Use it.
* doc/guix.texi (Network File System): Document it.
2020-01-08 23:56:16 +01:00
Ricardo Wurmus
af32ea3583
services: nfs: Allow idmap-service-type to be extended.
* gnu/services/nfs.scm (idmap-service-type): Rewrite using SERVICE-TYPE to add
ability to extend the service.
2020-01-08 23:56:16 +01:00
Ricardo Wurmus
5d4ba49891
services: nfs: Fix indentation and typo.
* gnu/services/nfs.scm (<gss-configuration>, <idmap-configuration>): Fix
indentation.
(<idmap-configuration>): Rename accessor for NFS-UTILS field to
IDMAP-CONFIGURATION-NFS-UTILS.
(idmap-service-type): Use IDMAP-CONFIGURATION-NFS-UTILS.
2020-01-08 23:56:16 +01:00
Ricardo Wurmus
25c8c8cd4f
services: nfs: Allow pipefs-service-type to be extended.
* gnu/services/nfs.scm (pipefs-service-type): Rewrite using SERVICE-TYPE to
add ability to extend the service.
2020-01-08 23:56:16 +01:00
Ricardo Wurmus
ba1808d5e7
services: nfs: Allow rpcbind-service-type to be extended.
* gnu/services/nfs.scm (rpcbind-service-type): Rewrite using SERVICE-TYPE to
add ability to extend the service.
2020-01-08 23:56:16 +01:00
Ricardo Wurmus
981ce38937
services: nfs: Fix name of package variable.
* gnu/services/nfs.scm (rpcbind-service-type): Correct name from nfs-utils to
rpcbind.
2020-01-08 23:56:11 +01:00
Oleg Pykhalov
a66ee82a05
services: Add pulseaudio service.
* gnu/services/sound.scm (pulseaudio-environment): New procedure.
(pulseaudio-service-type): New variable.
* doc/guix.texi (Sound Services): Document it.
2020-01-08 10:21:45 +03:00
Ludovic Courtès
6a7c4636d4
Adjust module autoloads.
In Guile < 2.9.7, autoloading a module would give you access to all its
bindings.  In future versions, autoloading a module gives access only to
the listed bindings, as per #:select (see <https://bugs.gnu.org/38895>).

This commit adjusts autoloads to the new semantics, allowing Guix to be
built with Guile 2.9.7/2.9.8.

* guix/build/download.scm <top level>: Remove call to 'module-autoload!'.
(load-gnutls): New procedure.
(tls-wrap): Call it.
* guix/git.scm <top level>: Remove call to 'module-autoload!'.
(load-git-submodules): New procedure.
(update-submodules): Call it instead of 'resolve-interface'.
* gnu/bootloader/grub.scm: Replace #:autoload with #:use-module.
* gnu/packages.scm: Likewise.
* gnu/packages/ssh.scm: Likewise.
* gnu/packages/tex.scm: Likewise.
* gnu/services/cuirass.scm: Likewise.
* gnu/services/mcron.scm: Likewise.
* guix/lint.scm: Augment list of bindings in #:autoload.
* guix/scripts/build.scm: Likewise.
* guix/scripts/gc.scm: Likewise.
* guix/scripts/pack.scm: Likewise.
* guix/scripts/publish.scm: Likewise.
* guix/scripts/pull.scm: Likewise.
* guix/utils.scm: Remove unnecessary #:autoload clauses; replace one
of them with #:use-module.
2020-01-06 16:31:54 +01:00
Efraim Flashner
71fc086ae9
services: host-name: Make service one-shot.
* gnu/services/base.scm (host-name-service-type): Remove 'respawn?'
keyword from shepherd-service-type, add 'one-shot?'.
2020-01-05 20:28:29 +02:00
Jan Nieuwenhuizen
022ad24c41
services: console-font: Update example with HDPI font suggestion.
This solution was kindly provided by Bernard M. Wiedemann.

* gnu/services/base.scm (console-font-service-type): Add ter132n (terminus 132
nomal) font example, for HDPI displays.
* doc/guix.texi (Invoking guix system): Update to `guix system search console'
example output.
2019-12-30 23:40:12 +01:00
Brice Waegeneire
747b7246a6
services: dhcp-client: Ignore interfaces that cannot be activated.
Fixes <https://bugs.gnu.org/38524>.

* gnu/services/networking.scm (dhcp-client-service-type): Filter interfaces
that cannot be activated.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-12-29 18:24:55 +01:00
Ludovic Courtès
6ee87461e0
services: Add Mumi service.
* gnu/services/web.scm (%mumi-activation, %mumi-accounts): New variables.
(mumi-shepherd-services): New procedure.
(mumi-service-type): New variable.
* doc/guix.texi (Web Services): Document it.
2019-12-21 23:55:25 +01:00
Robert Vollmert
e7d45693d9
services: mcron: Add description.
* gnu/services/mcron.scm (mcron-service-type): Add description.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-12-08 00:47:26 +01:00
Leo Prikler
fe7b59c6b1
services: Add GNOME Keyring service.
* gnu/services/desktop.scm: (<gnome-keyring-configuration>): New record type.
(pam-gnome-keyring): New procedure.
(gnome-keyring-service-type): New variable.
* doc/guix.texi (Desktop Services): Document it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-12-04 18:16:08 +01:00
Leo Famulari
1a7633c239
services: SSH services: Provide 'ssh' and 'sshd' Shepherd services.
* gnu/services/ssh.scm (lsh-shepherd-service, dropbear-shepherd-service,
openssh-sheperd-service): Add 'ssh' and 'sshd' to provision.
2019-12-04 08:31:39 -05:00
Leo Prikler
27b77228cf
services: Add polkit-wheel-service to %desktop-services.
* gnu/services/desktop.scm: (%desktop-services): Add polkit-wheel-service.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-11-30 23:50:40 +01:00
Leo Prikler
7f25ff10e1
services: Add polkit-wheel-service.
* gnu/services/desktop.scm: (polkit-wheel): New variable.
(polkit-wheel-service): New service.
* doc/guix.texi: Document polkit-wheel-service.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-11-30 23:50:40 +01:00
Guillaume Le Vaillant
c1c6650e28
services: Add pam-mount.
* gnu/services/pam-mount.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* doc/guix.texi (PAM Mount Service): New subsection.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-11-28 13:30:53 +01:00
Ludovic Courtès
73765c91ce
services: nginx: Add description.
* gnu/services/web.scm (nginx-service-type)[description]: New field.
2019-11-28 13:30:53 +01:00
Efraim Flashner
77ed06a8bf
services: sysctl: Make service one-shot.
* gnu/services/sysctl.scm (sysctl-shepherd-service): Adjust shepherd
service to use the 'one-shot?' keyword. Remove 'stop' command. Remove
'respawn' option.
2019-11-20 21:23:19 +02:00
Ludovic Courtès
1f8ca28b9e
services: dbus: Simplify 'dbus-uuidgen' invocation.
* gnu/services/dbus.scm (dbus-activation): Use the "--ensure" option of
'dbus-uuidgen' instead of forking and redirecting ports.
2019-11-13 23:26:36 +01:00
Ludovic Courtès
7462a1de22
services: dbus: Log to syslog.
* gnu/services/dbus.scm (dbus-shepherd-service): Add 'syslogd' to
'requirement'.  Pass the "--syslog-only" command-line option.
2019-11-13 23:26:36 +01:00
Ludovic Courtès
a01d2e300a
services: dbus: Add description.
* gnu/services/dbus.scm (dbus-root-service-type)[description]: New
field.
2019-11-13 23:26:36 +01:00
Alex Griffin
a2161c861f
services: Add pagekite-service-type.
* gnu/services/networking.scm (pagekite-service-type): New service type.
(<pagekite-configuration>): New record type.
(pagekite-shepherd-service): New procedure.
* doc/guix.texi (Networking Services): Document it.
2019-11-11 14:03:45 -06:00
宋文武
6ec68c69b0
services: Add knot-resolver-service-type.
* gnu/services/dns.scm (<knot-resolver-configuration>): New record type.
(knot-resolver-activation, knot-resolver-shpherd-services): New procedures.
(%knot-resolver-accounts, %kresd.conf, knot-resolver-service-type): New
variables.
* doc/guix.texi (DNS Services): Document it.
2019-11-11 20:30:53 +08:00
Ludovic Courtès
7c34c62c80
services: hpcguix-web: Delete lock files during activation.
* gnu/services/web.scm (%hpcguix-web-activation): Delete ".lock" files
from HOME-DIR.
2019-11-09 23:04:14 +01:00
Ludovic Courtès
1ce0d7e190
services: hpcguix-web: Explicitly import (guix build utils).
* gnu/services/web.scm (%hpcguix-web-activation): Add explicit
'with-imported-modules'.
2019-11-09 23:04:14 +01:00
Robert Smith
970cb5cece
services: mpd: Connect to the user's PulseAudio socket.
* gnu/services/audio.scm (mpd-shepherd-service): Set the XDG_RUNTIME_DIR
environment variable.

Signed-off-by: Tobias Geerinckx-Rice <me@tobias.gr>
2019-11-08 21:32:45 +01:00
Florian Pelz
00e680a411
services: Make it possible to include dynamic modules in nginx.
* gnu/services/web.scm (<nginx-configuration>): Add modules field.
(nginx-configuration-modules): New field accessor.
(emit-load-module): New procedure.
(default-nginx-config): Add support for the modules field.
* doc/guix.texi (NGINX): Document it.
2019-11-07 22:15:11 +00:00
Miguel Ángel Arruga Vivas
2dfb9ba406
services: libvirtd: Provide ip binary at runtime.
* gnu/services/virtualization.scm (libvirt-shepherd-service): Add sbin to
the PATH variable, as ip binary is installed there.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-11-05 15:13:15 +01:00
Efraim Flashner
548efa8bdf
services: patchwork: Fix typo.
* gnu/services.web.scm (define-gexp-compiler): Use 'enable-rest-api?'
where appropriate in place of 'enable-xmlrpc?'
2019-11-05 14:51:57 +02:00
Oleg Pykhalov
13f0414ece
gnu: zabbix-agentd: Update to 4.4.1.
* gnu/packages/monitoring.scm (zabbix-agentd): Update to 4.4.1.
* gnu/services/monitoring.scm (%zabbix-front-end-configuration-nginx): Add
listen record field.
2019-11-03 14:46:51 +03:00
Ludovic Courtès
27727b18b8
services: dbus: Remove non-existent directories from 'system-local.conf'.
This typically halves the number of entries in
/etc/dbus-1/system-local.conf.

* gnu/services/dbus.scm (dbus-configuration-directory)[build](directives):
New macro.
(services->sxml): Use it.
2019-11-02 00:12:19 +01:00
Ludovic Courtès
33f9778bc8
services: dbus: Include each service's "share/dbus-1/system.d".
Fixes <https://bugs.gnu.org/37911>.
Reported by Jack Hill <jackhill@jackhill.us>.

Sometime between 1.1.8 and 1.4.3, 'colord' moved had its
'org.freedesktop.ColorManager.conf' file moved from
"etc/dbus-1/system.d" to "share/dbus-1/system.d".  Adjust to this
change.

* gnu/services/dbus.scm (dbus-configuration-directory): Add an
'includedir' directive for DIR/share/dbus-1/system.d.
2019-11-02 00:12:19 +01:00
Ludovic Courtès
5afa23e180
services: colord: Deprecate 'colord-service' procedure.
* gnu/services/desktop.scm (colord-service-type)[default-value]: New field.
(colord-service): Define with 'define-deprecated'.
(%desktop-services): Use 'colord-service-type' instead of 'colord-service'.
* doc/guix.texi (Desktop Services): Adjust accordingly.
2019-11-01 12:23:45 +01:00
Maxim Cournoyer
f37ad658ea
services: ntp: Fix a crash when using legacy configuration.
Fixes issue #37504 (see: https://bugs.gnu.org/37504).

The bug was caused by the fact that destructuring an <ntp-configuration>
record using match would bind the 'servers' field without using the
compatibility accessor.

* gnu/services/networking.scm (ntp-shepherd-service): Replace `match-lambda'
by distinct `lambda' and `match' calls, so that the 'servers' field can be
generated by applying the `ntp-configuration-servers' procedure to the
configuration object.
2019-10-31 23:37:47 -04:00
Maxim Cournoyer
97bc3cbea5
services: ntp: Ensure no double quotes are output to config file.
* gnu/services/networking.scm (ntp-server->string): Use the textual
representation of the values as printed by 'display' rather than 'write', to
avoid inserting double quotes in the generated config.
* tests/networking.scm (%ntp-server-sample): Add a comment and make one of the
options a string, to exercise the fix.
("ntp-server->string"): Move the expected value to the first argument.
("ntp configuration servers deprecated form"): Likewise.
("openntpd generated config string ends with a newline"): Likewise.
2019-10-30 18:15:54 -04:00
Ricardo Wurmus
878e0e1bb0
gnu: mpd-service-type: Support configuration of outputs.
* gnu/services/audio.scm (<mpd-output>): New record type.
(<mpd-configuration>)[outputs]: New field.
(mpd-output, mpd-output?, mpd-output->string): New procedures.
(mpd-config->file): Use mpd-output->string.
* doc/guix.texi (Audio Services): Document mpd-output fields.
2019-10-29 15:14:22 +01:00
Timothy Sample
88f95687c7
services: gdm: Add 'debug?' configuration field.
* gnu/services/xorg.scm (<gdm-configuration>)[debug?]: New field.
(gdm-configuration-file): Use it.
* doc/guix.texi: Document it.
2019-10-26 17:04:36 -04:00
Ludovic Courtès
b40f4a5995
services: cuirass: Create /var/log/cuirass during activation.
* gnu/services/cuirass.scm (cuirass-activation): Create "/var/log/cuirass".
2019-10-23 21:48:51 +02:00
Ludovic Courtès
00850bb836
services: elogind, gnome, mate, xfce: Fix config type predicate identifiers.
* gnu/services/desktop.scm (<elogind-configuration>): Add question mark
in type predicate identifier.
(<gnome-desktop-configuration>): Likewise.
(<mate-desktop-configuration>): Likewise.
(<xfce-desktop-configuration>): Likewise.
2019-10-22 18:32:52 +02:00
Tim Gesthuizen
84261a233e
services: inputattach: Add 'baud-rate' parameter.
* gnu/services/desktop.scm (inputattach-configuration): Add baud-rate field.
  (inputattach-shepherd-service): Add baud-rate to parameters when specified.
* doc/guix.texi (Miscellaneous Services): [inputattach Service] Document
  baud-rate parameter.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-10-21 23:26:33 +02:00
Ludovic Courtès
5f15b42273
services: agetty: Really import (gnu build linux-boot).
This is a followup to commit 62c2217570.

* gnu/services/base.scm (agetty-shepherd-service)[start]: Wrap un
'with-imported-modules'.  This fixes a build error when TTY is true
("no code for module (gnu build linux-boot)").
2019-10-21 18:16:16 +02:00
Ludovic Courtès
cfe8d8063b
services: sddm: Add description.
* gnu/services/sddm.scm (sddm-service-type)[description]: New field.
2019-10-21 18:16:16 +02:00
Ludovic Courtès
8cf3e167c1
services: sddm: Deprecate 'sddm-service' procedure.
* gnu/services/sddm.scm (sddm-service): Mark as deprecated.
* doc/guix.texi (X Window): Document 'sddm-service-type' and
'sddm-configuration'.
2019-10-21 18:16:16 +02:00
Brendan Tildesley
5ac5f2c129
services: sddm: Add default configuration.
Unlike gdm-service-type, sddm-service-type cannot be configured in an
operating-system configuration by simply adding (service
sddm-service-type). This adds the default SDDM configuration just like
GDM does..

* gnu/services/sddm.scm (sddm-service-type)[default-value]: New field.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-10-21 18:16:16 +02:00
David Wilson
849af4ae1b
services: xfce: Add xfce4-power-manager to polkit settings.
* gnu/services/desktop.scm (xfce-desktop-service-type): Add
xfce4-power-manager to polkit-service-type service extension via
new procedure 'xfce-polkit-settings'.

Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
2019-10-20 12:08:03 +02:00
Ludovic Courtès
e52b953434
services: network-manager: Create account for 'network-manager-openconnect'.
Previously, on startup, we'd see:

  dbus: Unknown username nm-openconnect in message bus configuration file

This fixes it.

* gnu/services/networking.scm (network-manager-accounts): New procedure.
(network-manager-service-type): Extend 'account-service-type'.
* gnu/packages/gnome.scm (network-manager-openconnect)[properties]: Add
'user-accounts'.
2019-10-18 23:22:25 +02:00
Ludovic Courtès
4e37cf35c0
services: network-manager: Export 'network-manager-configuration-vpn-plugins'.
* gnu/services/networking.scm (<network-manager-configuration>): Export
'network-manager-configuration-vpn-plugins'.
2019-10-18 23:22:25 +02:00
Ludovic Courtès
6aeae5b90b
herd: Define 'shepherd-message-port'.
* gnu/services/herd.scm (shepherd-message-port): New variable.
(display-message): Use it instead of 'current-error-port'.
2019-10-18 23:22:25 +02:00
Florian Pelz
99190575a0
Fix documentation of delete_after in the getmail service.
* doc/guix.texi (Getmail service): Remove the word `not'.
* gnu/services/getmail.scm (getmail-options-configuration): Ditto.
2019-10-18 07:53:55 +00:00
Ricardo Wurmus
e08902d3cb
Merge branch 'master' into core-updates 2019-10-06 22:02:20 +02:00
Ludovic Courtès
63b0ce391f
services: shepherd: Compile service files.
This reduces resident memory for PID 1 from 29.8MiB to 28.7MiB right
after boot on a bare-bones system (x86_64-linux).

* gnu/services/shepherd.scm (scm->go): New procedure.
(shepherd-configuration-file)[config]: Call it and use 'load-compiled'
instead of 'primitive-load'.
2019-10-06 14:45:35 +02:00
Ludovic Courtès
38b1ea0434
services: udev: Explicitly depend on (gnu build linux-boot).
* gnu/services/base.scm (udev-shepherd-service): Wrap 'start' method in
'with-imported-modules'.
2019-10-06 14:45:35 +02:00
Ludovic Courtès
62c2217570
services: agetty: Explicitly depend on (gnu build linux-boot).
* gnu/services/base.scm (default-serial-port): Wrap in
'with-imported-modules'.
2019-10-06 14:45:35 +02:00
Ludovic Courtès
81bc4533aa
services: urandom-seed: Credit the entropy added to the PRNG.
Partly fixes <https://bugs.gnu.org/37501>.
Reported by Marius Bakke <mbakke@fastmail.com>.

* gnu/services/base.scm (urandom-seed-shepherd-service): In 'start'
method, add calls to 'add-to-entropy-count'.
2019-10-05 22:05:02 +02:00
Jan Nieuwenhuizen
3a69dd5c15
services: httpd: Fix virtual-host doc and config.
* doc/guix.texi (Web Services): Fix httpd-virtualhost examples.
* gnu/services/web.scm (httpd-process-extensions): Add missing newline
separator.
2019-10-04 17:10:58 +02:00
Jesse Gibbons
0bf7d34d77
services: For "gdm-password" pam service, include "limits.conf".
* gnu/services/base.scm (pam-limits-service-type): For "gdm-password" pam
service, include "limits.conf".

Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
2019-10-02 00:48:45 +02:00
Christopher Baines
dd2a83270b
services: Add the Guix Data Service.
* gnu/services/guix.scm: New file.
* gnu/tests/guix.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add both new files.
* doc/guix.texi (Guix Services): New section documenting the Guix Data
Service.
2019-09-25 08:35:33 +01:00
Ludovic Courtès
46e552cb0f
services: cuirass: Remove unneeded conditional.
* gnu/services/cuirass.scm (cuirass-shepherd-service): Remove unneeded 'and'.
2019-09-23 23:41:19 +02:00
Christopher Baines
b64fa7f062
services: virtualization: Change libvirtd use syslog by default.
As defaulting by stderr, along with the shepherd service not directing the
output to a log file makes seeing the output difficult, compared to logging to
syslog.

* gnu/services/virtualization.scm (libvirt-configuration)[log-outputs]: Change
default from "3:stderr" to "3:syslog:libvirtd".
2019-09-21 17:40:04 +01:00
Alexey Abramov
ad34409e85
services: dovecot: Fix predicate names for free-form fields
* gnu/services/mail.scm (free-form-fields?, free-form-args?): Change
'string' to 'string?'.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-09-21 16:48:36 +02:00
Ludovic Courtès
a43e9157ef
services: gdm: Ensure /var/lib/gdm is owned by "gdm".
Fixes <https://bugs.gnu.org/37423>.
Reported by Jan <tona_kosmicznego_smiecia@interia.pl>.

* gnu/services/xorg.scm (%gdm-activation): New variable.
(gdm-service-type)[extensions]: Add 'activation-service-type'.
2019-09-21 16:48:36 +02:00
宋文武
3c4f5ad7f4
services: Add nftables-service-type.
* gnu/services/networking.scm (%default-nftables-ruleset): New variable.
(<nftables-configuration>): New record type.
(nftables-shepherd-service): New procedure.
(nftables-service-type): New service type.
* doc/guix.texi (Networking Services): Document it.
2019-09-18 19:04:59 +08:00
Carlo Zancanaro
ec36339dfd
services: certbot: Add --manual-public-ip-logging-ok for manual challenges
* gnu/services/certbot.scm (certbot-command): Add
  --manual-public-ip-logging-ok flag to the certbot command when doing a
  manual challenge.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-09-16 10:22:35 +02:00
Ludovic Courtès
3d8424a5ad
services: Fix /usr/bin/env special file target.
This is a followup to a916215597.

* gnu/services/base.scm (%base-services): Fix "/usr/bin/env" target.
2019-09-12 23:07:42 +02:00
宋文武
5df412bfe6
services: libvirtd: Use '/run/current-system/profile/bin' as PATH.
This is a followup to ef640db2f5.

* gnu/services/virtualization.scm (libvirt-shepherd-service): Set
'#:environment-variables' for 'make-forkexec-constructor'.
2019-09-11 23:12:02 +08:00
宋文武
ef640db2f5
gnu: libvirt: Don't wrap with PATH.
This reverts commit 903e051a71 to fix
<https://bugs.gnu.org/31365>.  The full path of the 'ip' command is already
embedded, and we want to search 'qemu' in PATH.

* gnu/packages/virtualization.scm (libvirt): Remove 'wrap-libvirtd phase.  Add
configure flags to run qemu as 'nobody:kvm'.
* gnu/services/virtualization.scm (libvirt-service-type): Add 'qemu' to the
system profile.
2019-09-11 19:15:30 +08:00
Tobias Geerinckx-Rice
a916215597
services: Add ‘/usr/bin/env’ special file.
* gnu/services/base.scm (%base-services): Add ‘/usr/bin/env‘ to
special-files-service-type.
2019-09-09 00:11:26 +02:00
Maxim Cournoyer
ccdfae388d
services: openntpd: Fix the config generation code.
This fixes issue #37318 (see: http://bugs.gnu.org/37318).

* gnu/services/networking.scm (openntpd-configuration->string): Rewrite in
order to make the "openntpd configuration generation sanity check" test pass.
2019-09-08 23:15:32 +09:00
Maxim Cournoyer
2625abc6aa
services: openntpd: Add test for issue #3731.
See http://debbugs.gnu.org/cgi/bugreport.cgi?bug=37318.

* gnu/services/networking.scm (openntpd-configuration->string): New procedure,
extracted from top of the `openntpd-shepherd-service' to make it testable.
(openntpd-shepherd-service): Adapt following the move of the code to the above
procedure.
* tests/networking.scm: Add a test for the `openntpd-configuration->string'
procedure.
2019-09-08 23:15:32 +09:00
Maxim Cournoyer
afd39a76e2
services: openntpd: Remove useless let.
* gnu/services/networking.scm (openntpd-shepherd-service): Remove useless let.
2019-09-08 23:15:31 +09:00
Maxim Cournoyer
5658ae8a0a
services: ntp: Support different NTP server types and options.
* gnu/services/networking.scm (ntp-server-types): New enum.
(<ntp-server>): New record type.
(ntp-server->string): New procedure.
(%ntp-servers): Define in terms of <htp-server> records.  Use the first
entrypoint server as a pool instead of a list of static servers.  This is more
resilient since a new server of the pool can be interrogated on every
request.  Add the 'iburst' options.
(ntp-configuration-servers): Define a custom accessor that warns but honors
the now deprecated server format.
(<ntp-configuration>): Use it.
(%openntpd-servers): New variable,
(<openntpd-configuration>): Use it, as a pool ('servers' field) instead of a
regular server.
* tests/networking.scm: New file.
* Makefile.am (SCM_TESTS): Register it.
* doc/guix.texi: Update documentation.
2019-09-08 23:15:31 +09:00
Maxim Cournoyer
d4de2f9ea4
services: ntp: Fix KOD warning.
Otherwise the following messages would be printed by ntpd:

Sep  2 05:18:21 localhost ntpd[15849]: restrict default: KOD does nothing without LIMITE.
Sep  2 05:18:21 localhost ntpd[15849]: restrict ::: KOD does nothing without LIMITED.

Debian uses the same set of "restrict" keywords (see:
https://sources.debian.org/src/ntp/1:4.2.8p13+dfsg-2/debian/ntp.conf).

* gnu/services/networking.scm (ntp-shepherd-service): Add the 'limited'
keyword to both the IPv4 and IPv6 'restrict' directives.
2019-09-08 23:15:30 +09:00
Maxim Cournoyer
08b4a10fa6
services: ntp: Allow large adjustment by default.
This is documented as best practice in `man ntpd', and is required to allow
the date to be set correctly when traveling (without having to manually update
the hardware clock in the BIOS/UEFI).

* gnu/services/networking.scm (<ntp-server>)[allow-large-adjustment?]: Set the
default value to #t.
* doc/guix.texi (Networking Services): Update documentation.
2019-09-08 23:15:29 +09:00
Mark H Weaver
3fe53f49a7
Revert "services: Add ‘/usr/bin/env’ special file."
This reverts commit 3b38bf141a.

The Guix project discussed this years ago and decided against including
/usr/bin/env.  That decision should not be reversed without a wider
discussion.
2019-09-06 19:35:08 -04:00
Efraim Flashner
e15f55208f
services: Fix typo.
This is a follow-up to 3b38bf141a.

* gnu/services/base.scm (%base-services): Remove duplicated line.
2019-09-06 13:52:33 +03:00
Tobias Geerinckx-Rice
3b38bf141a
services: Add ‘/usr/bin/env’ special file.
* gnu/services/base.scm (%base-services): Add ‘/usr/bin/env‘ to
special-files-service-type.
2019-09-06 12:24:32 +02:00
Robert Vollmert
c26f562e5e
services: nginx: Pass run-directory on config test.
Fixes <https://bugs.gnu.org/36388>.
This fixes error logging errors in the activation script.

* gnu/services/web.scm (nginx-activation): Add "-p" flag.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-09-04 23:41:07 +02:00
Tobias Geerinckx-Rice
5a097cdd54
services: cups: Rename ‘retry-this-job’ to ‘retry-current-job’.
* gnu/services/cups.scm (error-policy, cups-configuration): Substitute
RETRY-CURRENT-JOB for the obsolete RETRY-THIS-JOB name of this policy.
* doc/guix.texi (Printing Services): Likewise.
2019-08-31 03:24:41 +02:00
Tobias Geerinckx-Rice
70186c24ee
services: cups: Move SET-ENV to FILES-CONFIGURATION.
* gnu/services/cups.scm (cups-configuration): Move SET-ENV from here…
(files-configuration): …to here.
* doc/guix.texi (Printing Services): Adjust accordingly.
2019-08-30 03:41:42 +02:00
Tobias Geerinckx-Rice
ee0de99454
services: cups: Add BrowseDNSSDSubTypes directive.
* gnu/services/cups.scm (comma-separated-string-list?)
(serialize-comma-separated-string-list): New variables.
(cups-configuration)[browse-dns-sd-sub-types]: New field.
* doc/guix.texi (Printing Services): Document it.
2019-08-30 03:41:42 +02:00
Ricardo Wurmus
3e7a62e2e4
services: cuirass: Log web interface to separate file.
* gnu/services/cuirass.scm (<cuirass-configuration>): Add web-log-file field.
(cuirass-shepherd-service): Read it and use it.
* doc/guix.texi (Continuous Integration): Document it.
2019-08-29 08:06:54 +02:00
Efraim Flashner
dd2031169a
gnu: enlightenment: Update to 0.23.0.
* gnu/packages/enlightenment.scm (enlightenment): Update to 0.23.0.
[build-system]: Switch to meson-build-system.
[arguments]: Add configure-flag to build without systemd.  Remove
'bootstrap phase.  Update substitutions in custom
'set-system-actions phase.
[inputs]: Add bluez, pulseaudio.
* gnu/packages/patches/enlightenment-fix-setuid-path.patch: Update.
* gnu/services/desktop.scm (enlightenment-setuid-programs): Update
location of 'freqset binary.  Add 'cpuclock_sys to setuid binaries.
2019-08-28 13:29:51 +03:00
Tobias Geerinckx-Rice
9e3ef6f3e3
services: cups: Update SSL-OPTIONS docstring.
This follows up on commit f9c1ebdb7d.

* gnu/services/cups.scm (cups-configuration)<ssl-options>:
Update docstring.
2019-08-27 08:58:37 +02:00
Tobias Geerinckx-Rice
f9c1ebdb7d
services: cups: Complete SSL-OPTIONS.
…except for ‘AllowDH’, which makes no sense on GNU TLS systems.

* gnu/services/cups.scm (ssl-options?): Validate ‘DenyCBC’ and
‘DenyTLS1.0’.
* doc/guix.texi (Printing Services): Document them both.
2019-08-27 08:49:14 +02:00
Ricardo Wurmus
159b5e1f8a
services: cuirass: Split into two separate services.
* gnu/services/cuirass.scm (cuirass-shepherd-service): Return two shepherd
services, one for the web interface, another for building packages.
2019-08-26 22:21:10 +02:00
Ludovic Courtès
94b98ef7a0
services: tlp, thermald: Add descriptions.
* gnu/services/pm.scm (tlp-service-type)[description]: New field.
(thermald-service-type)[description]: New field.
2019-08-26 13:40:45 +02:00
John Soo
74a98b5cdd
services: console-fonts: Update docstring.
* gnu/services/base (console-font-service-type):
Add documentation about valid arguments.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2019-08-22 17:59:30 +02:00
Jakob L. Kreuze
5c793753b3
guix system: Add 'reconfigure' module.
* guix/scripts/system/reconfigure.scm: New file.
* Makefile.am (MODULES): Add it.
* guix/scripts/system.scm (bootloader-installer-script): Export variable.
* gnu/machine/ssh.scm (switch-to-system, upgrade-shepherd-services)
(install-bootloader): Delete variable.
* gnu/machine/ssh.scm (deploy-managed-host): Rewrite procedure.
* gnu/services/herd.scm (live-service): Export variable.
* gnu/services/herd.scm (live-service-canonical-name): New variable.
* tests/services.scm (live-service): Delete variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-07-26 19:19:49 +02:00
Jelle Licht
4efdede284
services: network-manager: Clear default OpenVPN user.
* gnu/services/networking.scm (network-manager-shepherd-service): Clear
'NM_OPENVPN_USER' and 'NM_OPENVPN_GROUP' in #:environment-variables.
2019-07-17 11:08:26 +02:00
Jelle Licht
40557aeab5
services: network-manager: Properly load vpn plugins
Extends the dbus service when vpn plugins are enabled.

* gnu/services/networking.scm (network-manager-service-type): Load vpn plugins
when extending dbus service.
2019-07-17 11:08:19 +02:00
Robert Vollmert
334a2f4def
gnu: postgres service: More secure default permissions.
This changes to 'peer' authentication for local socket connections,
and password-based authentication for local network connections.

* gnu/services/databases.scm (%default-postgres-hba): Change
authentication method.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-07-02 18:33:51 +02:00
Tobias Geerinckx-Rice
3a8bfebed9
etc: Remove hydra.gnu.org.pub key.
* etc/substitutes/hydra.gnu.org.pub: Delete file.
* guix/self.scm (miscellaneous-files): Don't install it.
* Makefile.am (dist_pkgdata_DATA): Remove it.
* gnu/services/base.scm (%default-authorized-guix-keys): Likewise.
(hydra-key-authorization): Rename to…
(substitute-key-authorization): …this.  Adjust only call site.
2019-06-29 14:27:22 +02:00
Florian Pelz
57c16c97cb
services: network-manager: Create '/var/lib/misc' directory for dnsmasq.
* gnu/services/networking.scm (%network-manager-activation): Rename to...
(network-manager-activation): ... this and make it a procedure.  Make it
create '/var/lib/misc' when using dnsmasq.
(network-manager-service-type): Use it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-06-24 23:25:11 +02:00