Commit Graph

839 Commits

Author SHA1 Message Date
Ludovic Courtès 08814aec6a
services: Add Singularity.
* gnu/packages/linux.scm (singularity)[source](snippet): Change file
name of setuid helpers in libexec/cli/*.exec.
[arguments]: Remove "--disable-suid".
* gnu/services/docker.scm (%singularity-activation): New variable.
(singularity-setuid-programs): New procedure.
(singularity-service-type): New variable.
* gnu/tests/singularity.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* doc/guix.texi (Miscellaneous Services): Document it.
2019-06-07 09:57:19 +02:00
Danny Milosavljevic 07023ebc18
services: Add auditd.
* gnu/services/auditd.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* doc/guix.texi (Miscellaneous Services): Document it.
2019-06-06 22:23:35 +02:00
Alex Griffin 36273ebde2
services: cups: Create /var/cache on activation.
* gnu/services/cups.scm (%cups-activation): Create /var/cache if it doesn't
exist yet.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-06-05 17:27:23 +02:00
Ludovic Courtès ee2691fa33
services: guix-publish: Allow for multi-compression.
This is a followup to b8fa86adfc.

* guix/deprecation.scm (warn-about-deprecation): Make public.
* gnu/services/base.scm (<guix-publish-configuration>)[compression]: New
field.
[compression-level]: Default to #f.  Add '%' to getter name.
(guix-publish-configuration-compression-level): Define as deprecated.
(default-compression): New procedure.
(guix-publish-shepherd-service)[config->compression-options]: New
procedure.
Use 'match-record' instead of 'match'.
* doc/guix.texi (Base Services): Remove 'compression-level' and document
'compression'.
2019-06-03 23:18:47 +02:00
Ludovic Courtès bb64b2e7c0
herd: Use the Guile 2.2 'setvbuf' API.
* gnu/services/herd.scm (open-connection): Use 'block for 'setvbuf'.
2019-06-02 01:38:36 +02:00
Christopher Baines 2177d9222f
services: Add patchwork.
* gnu/service/web.scm (<patchwork-database-configuration>
<patchwork-settings-module>, <patchwork-configuration>): New record types.
(patchwork-virtualhost): New procedure.
(patchwork-service-type): New variable.
* gnu/tests/web.scm (%test-patchwork): New variable.
* doc/guix.text (Web Services): Document it.
2019-05-31 20:22:23 +01:00
Christopher Baines f6b0e1f8ff
services: Add getmail.
Getmail is a mail retriever written in Python, this commit adds a service-type
to run getmail. I'm looking at this, as it's a convinient way of getting
mailing list messages in to Patchwork.

I initially tried putting this in the (gnu services mail) module, but due to
also trying to use the define-configuration pattern, it conflicted with the
dovecot service.

* gnu/services/getmail.scm: New file.
* gnu/local.mk: Add it.
* gnu/tests/mail.scm (%getmail-os, %test-getmail): New variables.
(run-getmail-test): New procedure.
2019-05-31 20:22:20 +01:00
Reza Alizadeh Majd ed90104cc8
services: sddm: Fix root login failure issue.
* gnu/services/sddm.scm (sdm-pam-service): Set uid from CONFIG.
(sdm-autologin-pam-service): Set uid from CONFIG.
(sdm-pam-services): Pass CONFIG to 'sddm-pam-service' and
'sddm-autologin-pam-service'.
* doc/guix.texi (X Window): Adjust 'minimum-uid' documentation.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2019-05-26 01:34:16 +02:00
Arun Isaac 336674549d
services: cgit: Fix typo.
* gnu/services/cgit.scm (cgit-configuration)[root-readme]: Replace "thef" with
"the".
2019-05-25 15:58:03 +05:30
Vagrant Cascadian f8df47633c
gnu: git-daemon-service-type: Fix typo "repositories".
* gnu/services/version-control (git-daemon-service-type)[description]: Fix typo.
2019-05-22 18:30:10 -07:00
Vagrant Cascadian f3a2c29750
gnu: darkstat-service-type: Fix typo "statistics".
* gnu/services/monitoring (darkstat-service-type)[description]: Fix typo.
2019-05-22 18:30:08 -07:00
Ludovic Courtès 33572a3662
tests: Skip unreliable "herd invalidate nscd" test.
* gnu/tests/base.scm (run-basic-test)["nscd invalidate action, wrong
table"]: Skip unconditionally.
2019-05-15 12:18:51 +02:00
Florian Pelz 36f5d78d4a
services: Include ModemManager in %desktop-services.
* gnu/services/desktop.scm (%desktop-services): Add modem-manager-service-type.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-05-15 12:18:50 +02:00
Gábor Boskovits 0f9bbd32c1
gnu: Update copyright line.
* gnu/services/monitoring.scm: Update copyright line.
2019-05-15 09:52:17 +02:00
Ludovic Courtès 05d907ac6f
services: Add 'network-manager-applet' to %DESKTOP-SERVICES.
Fixes <https://bugs.gnu.org/35554>.
Reported by Calle Kabo <calle@kabo.nu>.

* gnu/services/desktop.scm (%desktop-services): Add
'network-manager-applet' service.
2019-05-14 12:11:04 +02:00
Gábor Boskovits 4074ee4ef7
services: prometheus-node-exporter add default.
* gnu/services/monitoring.scm (prometheus-node-exporter-service-type):
Add default-value with default configuration.
2019-05-13 15:28:37 +02:00
Christopher Baines f8cd07e8d8
services: mcron: Log to a file.
This makes it easier to read the output, as it's recorded in a file.

* gnu/services/mcron.scm (mcron-shepherd-services): Add #:log-file to
make-forkexec-constructor.
2019-05-12 18:16:37 +01:00
Timothy Sample dcb3a0fe0a
services: gdm: Include user profile in D-Bus paths.
This partially addresses <https://bugs.gnu.org/35267>.

* gnu/services/xorg.scm (dbus-daemon-wrapper): When available, include
directories from '~/.guix-profile' in the search paths of the D-Bus
daemon.
2019-05-11 13:41:34 -04:00
Marius Bakke 6c2180f5d0
services: dhcp-client: Ignore interfaces that are not ARP capable.
* gnu/services/networking.scm (dhcp-client-service-type): Filter interfaces
that do not support the ARP protocol.
2019-05-09 20:00:22 +02:00
Ludovic Courtès e6b1a2248f
services: Log-in services now require "pam_loginuid".
Fixes <https://bugs.gnu.org/35553>.
Reported by Bruno Haible <bruno@clisp.org>.

* gnu/services/base.scm (login-pam-service): Pass #:login-uid? #t to
'unix-pam-service'.
* gnu/services/ssh.scm (lsh-pam-services, openssh-pam-services):
Likewise.
* gnu/services/xorg.scm (slim-pam-service): Likewise.
(gdm-pam-service): Likewise for "gdm-autologin" and "gdm-password".
* gnu/tests/base.scm (run-basic-test)["getlogin on tty1"]: New test.
* gnu/tests/ssh.scm (run-ssh-test): Add #:test-getlogin? parameter.
["getlogin"]: New test.
(%test-dropbear): Pass #:test-getlogin? #f.
2019-05-09 12:11:36 +02:00
Ludovic Courtès 6ad799d7c5
services: slim: Provide the 'xorg-server' Shepherd service.
This is a followup to 61569171d0.

* gnu/services/xorg.scm (slim-shepherd-service): Add 'xorg-server' to
'provision' when VT is "vt7".
2019-05-09 12:11:36 +02:00
Christopher Baines 5b3d3cf71c
services: dovecot: Rename auth-verbose-passwords?.
* gnu/services/mail.scm (dovecot-configuration)[auth-verbose-passwords?]:
Rename to auth-verbose-passwords, and change the type to a string, as this
parameter can take one of three string values.
* doc/guix.texi (Dovecot service): Update the corresponding documentation.
2019-05-07 20:52:02 +01:00
Diego Nicola Barbato 61569171d0
services: slim: Allow SLiM to be started on multiple ttys.
This change makes it possible to add multiple SLiM services to an operating
system configuration by setting the new 'display' and 'vt' fields in their
configurations to different values.  Each SLiM service will get its own
authfile, logfile, lockfile, and shepherd service, which will start SLiM on a
different tty.

* gnu/services/xorg.scm: Export slim-configuration-display and
  slim-configuration-vt.
  (<slim-configuration>)[display, vt]: New fields.
  (slim-shepherd-service): Refactor let.
  [slim.cfg]: Use new fields for setting display_name, xserver_arguments,
  authfile, lockfile, and logfile.
  [shepherd-service][provision]: Name the shepherd service according to the
  value of 'vt'.
  [shepherd-service][start]: Delete the right lockfile.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-05-07 15:46:54 +02:00
Maxim Cournoyer 7a31d93a61
services: docker: Add new fields to support proxy.
The Docker proxy enables inter-container and outside-to-container loopback,
and is required by the Docker registry server.

* gnu/services/docker.scm (docker-configuration)[proxy,
enable-proxy?]: Add fields.
(docker-shepherd-service): Use them.
(serialize-boolean): New function.
2019-05-05 20:14:15 -04:00
Ludovic Courtès 92597c3cec
services: colord: Make public and searchable.
* gnu/services/desktop.scm (colord-service-type): Make public.
[description]: New field.
2019-04-30 12:03:02 +02:00
Ludovic Courtès 7614193099
services: bluetooth: Make public and searchable.
Until now 'guix system search bluetooth' would turn up nothing.

* gnu/services/desktop.scm (bluetooth-service-type)
(bluetooth-configuration): Make public.
(bluetooth-service-type)[description]: New field.
2019-04-30 11:59:47 +02:00
Diego Nicola Barbato b901b72545
services: slim: Honor the value of slim from slim-configuration.
Previously setting the slim field in slim-configuration would have no effect.

* gnu/services/xorg.scm (slim-shepherd-service): Remove unused let binding for
  slim.  Use (slim-configuration-slim config) instead of the default slim.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-04-29 09:33:55 +02:00
Ricardo Wurmus cee06123c8
gnu: Remove unused module reference.
* gnu/services/web.scm: Remove reference to (gnu packages guile).
2019-04-28 16:05:57 +02:00
Julien Lepiller b8e2bd4fc8
gnu: knot: Fix typos.
* gnu/services/dns.scm: Fix typos.
2019-04-27 15:56:35 +02:00
Julien Lepiller 6cd7b1be7e
gnu: knot: Add configuration fields.
* gnu/services/dns.scm (knot-zone-configuration)[zonefile-load]
[journal-content, max-journal-usage, max-journal-depth, max-zone-size]:
New fields.
(knot-zone-config): Serialize them.
* doc/guix.texi (DNS Services): Document them.
2019-04-27 13:02:31 +02:00
Ludovic Courtès 435551f0fa
services: knot: Fix configuration file generation.
Fixes a regression introduced in
92eb600f8a.

* gnu/services/dns.scm (knot-config-file): Add ungexp around call to
'knot-configuration-includes'.
2019-04-27 00:19:41 +02:00
Ludovic Courtès 74685a4369
services: file-system: Filter what goes to /etc/fstab.
Fixes a longstanding issue whereby, due to our long fstab that included
pseudo file systems like cgroup mounts, graphical file managers would
display all of these.  Initially reported at
<https://lists.gnu.org/archive/html/help-guix/2017-11/msg00084.html>.

* gnu/services/base.scm (file-system-fstab-entries): New procedure.
(file-system-service-type): Use it to extend FSTAB-SERVICE-TYPE.
2019-04-27 00:11:52 +02:00
Julien Lepiller e379d1b5ef
gnu: dns: Fix configuration formating.
* gnu/services/dns.scm (format-string-list): Fix formating of lists with
only one symbol.
2019-04-26 18:37:48 +02:00
Ludovic Courtès 94e1439800
services: cups-pk-helper: Export.
* gnu/services/desktop.scm (cups-pk-helper-service-type): Export.
2019-04-26 18:07:46 +02:00
Julien Lepiller 92eb600f8a
gnu: knot-service: Add includes field in configuration.
* gnu/services/dns.scm (knot-configuration): Add includes field.
(verify-knot-configuration): Check includes content.
(knot-config-file): Serialize includes.
* doc/guix.texi (DNS Services): Document it.
2019-04-25 21:44:55 +02:00
Julien Lepiller b68aff1f05
gnu: certbot: Add support for manual plugin.
* gnu/services/certbot.scm (certificate-configuration): Add challenge,
auth-hook and cleanup-hook fields.
(certbot-command): Use them.
* doc/guix.texi (Certificate Services): Document them.
2019-04-25 19:46:18 +02:00
Danny Milosavljevic 9374cbd1fb
services: fprintd: Provide polkit policy.
* gnu/services/authentication.scm (fprintd-service-type)[extensions]: Add
polkit-service-type.
2019-04-24 22:21:35 +02:00
Ludovic Courtès 06e5c3af8b
services: connman: Redirect output to a log file.
* gnu/services/networking.scm (connman-shepherd-service): Pass
 #:log-file to 'make-forkexec-constructor'.
2019-04-23 23:44:36 +02:00
Ludovic Courtès 86b8869fff
linux-container: Remove '%containerized-shepherd-service' hack.
This hack worked around a defect in the Shepherd 0.5.0 and is no longer
needed.

* gnu/services/shepherd.scm (%containerized-shepherd-service): Remove.
* gnu/system/linux-container.scm (container-essential-services): Don't
use it.
2019-04-23 16:38:12 +02:00
Ludovic Courtès 95ef8b85b1
services: shepherd: Support one-shot services.
* gnu/services/shepherd.scm (<shepherd-service>)[one-shot?]: New field.
(shepherd-service-file): Pass #:one-shot? to the <service> constructor.
* doc/guix.texi (Shepherd Services): Document it.
2019-04-23 16:38:11 +02:00
Danny Milosavljevic dc01978288
services: fprintd: Use define-configuration.
* gnu/services/authentication.scm: Use define-configuration in fprintd.
2019-04-21 10:40:19 +02:00
Danny Milosavljevic 0682f08463
services: fprintd: Fix service.
* gnu/services/authentication.scm (<fprintd-configuration>)[ntp]: Rename to...
[fprintd]: ...this.
(fprintd-dbus-service): New procedure.
(fprintd-service-type): Use it.
[default-value]: Add value.
2019-04-17 08:51:11 +02:00
frozenpigs 02394462fc
services: sddm: Switch back to using ‘startx’.
* gnu/services/sddm.scm (sddm-configuration-file):
Use XORG-START-COMMAND.

Signed-off-by: Tobias Geerinckx-Rice <me@tobias.gr>
2019-04-11 05:42:41 +02:00
Ludovic Courtès 3613ce46dc
services: dropbear: Add default value.
* gnu/services/ssh.scm (dropbear-service-type)[default-value]: New
field.
2019-04-07 18:04:08 +02:00
宋文武 412e6396bb
services: Add 'imap4d-service-type'.
* gnu/services/mail.scm (<imap4d-configuration>): New record type.
(imap4d-shepherd-service): New procedure.
(%default-imap4d-config-file, imap4d-service-type): New variables.
* gnu/services/mail.scm (Mail Services): Document it.
2019-04-07 14:18:01 +08:00
Ludovic Courtès 177bc62d63
services: wpa-supplicant: Log to syslog.
* gnu/services/networking.scm (wpa-supplicant-shepherd-service): Pass
"-s" to 'wpa_supplicant'.  Add 'syslogd' to 'requirement'.
2019-04-05 17:55:51 +02:00
Ludovic Courtès 1361584983
services: localed: Do nothing for unconfigured keyboards.
* gnu/services/xorg.scm (localed-service-type)[package]: Return the
empty list when the 'keyboard-layout' field is #f.
[compose]: Use 'find' instead of 'first'.
2019-04-05 17:55:51 +02:00
Ludovic Courtès 3ef3bdf1cd
services: localed: Properly handle lack of a 'keyboard-layout'.
Fixes a type error when KEYBOARD-LAYOUT is #f.

* gnu/services/xorg.scm (localed-dbus-service): Return the empty list
when KEYBOARD-LAYOUT is #f.
2019-04-05 17:55:50 +02:00
Ludovic Courtès 0cf981a606
services: gdm: Properly handle empty extensions lists.
Fixes a bug whereby not extending GDM would lead us to do:

  (first '())

in the 'compose' method.

Regression introduced in 305a732a0a.

* gnu/services/xorg.scm (gdm-service-type)[compose]: Handle the case
where EXTENSIONS is empty.
[extend]: Handle the case where XORG-CONFIGURATION is #f.
2019-04-05 17:55:50 +02:00
Ludovic Courtès 3a665637af
services: console-keymap: Deprecate.
* gnu/services/base.scm (console-keymap-service): Mark as deprecated.
* doc/guix.texi (Base Services): Remove its documentation.
2019-04-05 15:39:35 +02:00