services: pam-limits-service-type: Deprecate file-like object support in favour for lists as service value.
* doc/guix.texi (Base Services): Document it.
* gnu/local.mk: Register test.
* gnu/services/base.scm (pam-limits-service-type): Accept both lists and
file-like objects. Deprecate file-like object support.
* gnu/tests/pam.scm: New file.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
services: base: Deprecate 'pam-limits-service' procedure.
* doc/guix.texi (Base Services): Replace pam-limits-service with pam-limits-service-type.
* gnu/packages/benchmark.scm (python-locust)[description]: Update index anchor to manual.
* gnu/services/base.scm (pam-limits-service-type): Set default value.
(pam-limits-service): Deprecate procedure.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
services: fstrim: Fix schedule ungexp.
Previously, only the first level of the list would be quoted,
resulting in a schedule of the sort:
'(next-second (range 0 60 30))
being incorrectly ungexp'd into:
(list next-second (0 30))
* gnu/services/linux.scm (fstrim-mcron-job): Fix schedule ungexp.
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
services: ntpd: Add 'configuration' action.
* gnu/services/networking.scm (ntp-shepherd-service): Add 'actions'
field.
services: network-manager: Add 'configuration' action.
* gnu/services/networking.scm (network-manager-shepherd-service): Add
'actions' field.
services: syslog: Add 'configuration' action.
* gnu/services/base.scm (syslog-service-type): Add 'actions' field.
services: herd: Remove workaround for Shepherd < 0.5.0.
* gnu/services/herd.scm (load-services/safe): Remove workaround for
Shepherd < 0.5.0, released in 2018.
services: xorg-wrapper: Support xorg server input rewriting.
This patch adds support for proper xorg server input rewriting. It uses the
lookup-package-direct-input procedure to configure the X server paths
dynamically, instead of always using the hard coded package. Something like
this is now possible:
(define other-mesa
(package-input-rewriting/spec `(("mesa" . ,(const other-mesa)))))
(xorg-configuration
(xorg-configuration
(server (other-mesa xorg-server))))
Without this patch the X server would still be configured with mesa (causing
version issues), and not with other-mesa (as per the input rewrite).
* gnu/services/xorg.scm (xorg-configuration-server-package-path)
(xorg-configuration-dri-driver-path, xorg-configuration-xkb-bin-dir)
(xorg-configuration-xkb-dir): New procedures.
(xorg-wrapper): Use them for dri and xkb paths.
Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
services: mpd: Set PulseAudio-related variables.
These variables are necessary for PulseAudio to work properly out-of-the-box
for 'non-interactive' users.
* doc/guix.texi (Audio Services): Update environment-variables field description for
mpd-configuration data type.
* gnu/services/audio.scm (mpd-configuration)[environment-variables]: Set
PULSE_CLIENTCONFIG and PULSE_CONFIG environment variables to the system-wide
PulseAudio configuration.
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
services: audio: Remove redundant list-of-string? predicate.
Use list-of-strings? predicate defined in (gnu services configuration).
* gnu/services/audio.scm (list-of-string?): Remove predicate.
(mpd-serialize-list-of-string): Rename procedure to ...
(mpd-serialize-list-of-strings): ... this.
(mpd-configuration)[environment-variables]: Switch to list-of-strings.
[endpoints]: Switch to maybe-list-of-strings.
(mympd-ip-acl)[allow, deny]: Switch to list-of-strings.
(mympd-serialize-configuration): Rename serialize-list-of-string to
serialize-list-of-strings.
* doc/guix.texi (Audio Services): Update it.
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
services: mympd: Require 'syslog service when configured to log to syslog.
* gnu/services/audio.scm (mympd-shepherd-service): Depend on 'syslog when
configured to log to syslog.
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Modified-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
services: network-manager: Set LINUX_MODULE_DIRECTORY environment variable.
Fixes <https://issues.guix.gnu.org/62409>.
* gnu/services/networking.scm (network-manager-shepherd-service): Set the
LINUX_MODULE_DIRECTORY environment variable.
services: Add fstrim-service-type.
* gnu/services/linux.scm (fstrim-service-type): New variable.
(fstrim-mcron-job, serialize-fstrim-configuration)
(fstrim-serialize-list-of-strings, fstrim-serialize-boolean): New procedure.
(mcron-time?): New predicate.
(fstrim-configuration): New record.
* doc/guix.texi (Linux Services): Document new fstrim-service-type.
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Modified-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
services: Add x11-socket-directory-service-type.
The x11-socket-directory-service misuses activation-service-type
to create directories. This kind of usage is incorrect since
activation-service-type does not depend on file-systems, hence incompatible
with user defined /tmp mount.
This commit turns x11-socket-directory-service into a shepherd one-shot
service by defining a new x11-socket-directory-service-type.
* gnu/services/desktop.scm (x11-socket-directory-service-type): New variable.
(x11-socket-directory-service): Deprecate procedure.
(desktop-services-for-system): Use new service-type.
* gnu/tests/lightdm.scm: Ditto.
Reviewed-by: Josselin Poiret <dev@jpoiret.xyz>
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
services: mcron: Add log-file and date-format fields.
* doc/guix.texi (Scheduled Job Execution): Document it.
* gnu/services/mcron.scm (mcron-configuration)[log-file, date-format]: New field.
(mcron-shepherd-services): Add log-file and date-format support.
Use file-append instead of string-append.
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
services: mcron: Use match-record.
* gnu/services/mcron.scm (mcron-shepherd-services): Use match-record.
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
services: mcron: Restyle mcron-configuration.
* doc/guix.texi (Scheduled Job Execution): Sync doc with source.
* gnu/services/mcron.scm (mcron-configuration): Restyle.
[log-format]: Fix incorrectly formatted text.
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
services: static-networking: 'eval-when' for code used at expansion-time.
Reported by bjc on #guix.
* gnu/services/base.scm (valid-name, cidr->netmask): Wrap in 'eval-when'
since they are used by "compile-time procedures" (macros).
services: configuration: simplify alist? procedure.
* gnu/services/configuration.scm (alist?): simplify procedure.
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>