aboutsummaryrefslogtreecommitdiff
path: root/gnu/services
AgeCommit message (Collapse)Author
2023-05-13services: nar-herder: Support extra environment vars.Christopher Baines
* gnu/services/guix.scm (nar-herder-configuration-extra-environment-variables): New procedure. (nar-herder-shepherd-services): Pass the environment variables to the shepherd. * doc/guix.texi (Guix Services): Document it.
2023-05-11services: inetd: Export accessors.Bruno Victal
* gnu/services/networking.scm: Export inetd-configuration?, inetd-configuration-program, inetd-configuration-entries, inetd-entry?, inetd-entry-node, inetd-entry-name, inetd-entry-socket-type, inetd-entry-protocol, inetd-entry-wait?, inetd-entry-user, inetd-entry-program and inetd-entry-arguments. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-05-11services: Add vnstat-service-type.Bruno Victal
* gnu/services/monitoring.scm (vnstat-service-type): New variable. * doc/guix.texi (Monitoring Services): Document it. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-05-11services: dhcp-client-configuration: Add 'shepherd-requirement' field.Sergey Trofimov
* gnu/services/networking.scm (<dhcp-client-configuration>) [shepherd-requirement]: New field. (dhcp-client-shepherd-service): Honor it. (dhcp-client-configuration-shepherd-requirement): Export accessor. * doc/guix.texi (Networking Setup): Document it. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-05-11services: elogind: Add elogind as a shepherd PAM requirement.Josselin Poiret
* gnu/services/desktop.scm (pam-extension-procedure): Add the elogind shepherd requirement to the PAM extension. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-05-11system: pam: Let PAM extensions add shepherd requirements.Josselin Poiret
* gnu/system/pam.scm (<pam-extension>): New record type. (pam-shepherd-service): Add Shepherd synchronization point. * gnu/services/mail.scm (dovecot-shepherd-service) * gnu/services/lightdm.scm (lightdm-shepherd-service) * gnu/services/mail.scm (opensmtpd-shepherd-service) * gnu/services/sddm.scm (sddm-shepherd-service) * gnu/services/ssh.scm (lsh-shepherd-service, openssh-shepherd-service) * gnu/services/xorg.scm (slim-shepherd-service, gdm-shepherd-service) * gnu/services/base.scm (greetd-shepherd-services): Add PAM requirement. * gnu/system/pam.scm (/etc-entry, extend-configuration, pam-root-service-type, pam-root-service) * gnu/services/authentication.scm (pam-ldap-pam-service) * gnu/services/base.scm (pam-limits-service-type) (greetd-pam-service) * gnu/services/desktop.scm (pam-gnome-keyring) * gnu/services/kerberos.scm (pam-krb5-pam-service) * gnu/services/pam-mount.scm (pam-mount-pam-service): Adapt to use pam-extension. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-05-11services: syslog: Do not call 'umask' in PID 1.Ludovic Courtès
Fixes a race condition when starting services in parallel with shepherd 0.10.x whereby a service might create files and directories with umask #o137. An example is the bitlbee service with its least-authority wrapper: the wrapper would create a tree with directories set to #o640, thereby making the whole directory tree inaccessible. * gnu/services/base.scm (syslog-shepherd-service): Pass #:file-creation-mask to 'make-forkexec-constructor' instead of calling 'umask' in PID 1.
2023-05-11services: dicod, bitlbee: Pass 'make-inetd-constructor' a list of endpoints.Ludovic Courtès
'make-inetd-constructor' accepts a list of endpoints since version 0.9.1 of the Shepherd (released in May 2022). * gnu/services/dict.scm (dicod-shepherd-service): Pass 'make-inetd-constructor' a list of endpoints. * gnu/services/messaging.scm (bitlbee-shepherd-service): Likewise.
2023-05-10services: guix-build-coordinator-agent: Support max-parallel-uploads.Christopher Baines
This should be usable with the new guile-gnutls. * gnu/services/guix.scm (guix-build-coordinator-agent-configuration-max-parallel-uploads): New procedure. * gnu/services/guix.scm (guix-build-coordinator-agent-shepherd-services): Use the new argument. * doc/guix.texi (Guix Services): Document it.
2023-05-09services: guix-build-coordinator: Support extra environment vars.Christopher Baines
I'm looking at this because I need to do some debugging of Guile's GC, and there are some useful environment variables for that, but it should be generally useful. * gnu/services/guix.scm (guix-build-coordinator-configuration-extra-environment-variables): New procedure. (guix-build-coordinator-shepherd-services): Pass the environment variables to the shepherd. * doc/guix.texi (Guix Services): Document it.
2023-05-09service: qemu-binfmt: Remove broken qemu targets.Efraim Flashner
* gnu/services.virtualization.scm (%qemu-platforms): Remove %i486, %aarch64be.
2023-05-06services: guix-build-coordinator: Simpify service startup.Christopher Baines
Take advantage of changes in the build coordinator to reduce the complexity of the service startup script. * gnu/services/guix.scm (make-guix-build-coordinator-start-script): Remove the metrics registry and datastore.
2023-05-04services: qemu-binfmt: Add more targets.Efraim Flashner
* gnu/services/virtualization.scm (%i486, %sparc64, %aarch64be, %xtensa, %xtensaeb, %microblaze, %microblazeel, %or1k, %hexagon, %loongson64): New variables. (%armeb): Correct family field. (%qemu-platforms): Add them.
2023-05-04services: earlyoom: Rotate log files.Efraim Flashner
* gnu/services/linux.scm (%earlyoom-log-rotation): New variable. (earlyoom-service-type): Add service-extension for log rotation.
2023-05-03services: cups: Use cups-minimal to avoid PAM authentication.Maxim Cournoyer
Fixes <https://issues.guix.gnu.org/63198>. Our CUPS service doesn't currently extend the PAM configuration, and prevents users from authenticating. Use cups-minimal, which has no PAM support. * gnu/services/cups.scm (cups-configuration) [cups]: Use cups-minimal. (opaque-cups-configuration): Likewise.
2023-04-30system: guix: Use config's ACL file location.Josselin Poiret
* gnu/services/base.scm (substitute-key-authorization): Use %acl-file instead of hardcoded "/etc/guix/acl". Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-04-25services: tor: Deprecate 'tor-hidden-service' procedure.Bruno Victal
Due to (now renamed) 'hidden-service' record type not being exported, the only way Onion services (formely hidden services) could have worked is through the now deprecated 'tor-hidden-service' procedure. This commit updates the Tor service documentation, corrects some inconsistently named accessors in <tor-configuration> record-type, renames and refactors tor-hidden-service-configuration to tor-onion-service-configuration using define-configuration and also exports it, allowing Onion services to be configured directly within a <tor-configuration> record. Lastly, it also deprecates the 'tor-hidden-service' procedure. * doc/guix.texi (Networking Services): Substitute mentions of “Hidden services” with “Onion Services”. Add a Tor Onion service configuration example. Document <tor-onion-service-configuration>. Remove mention of 'tor-hidden-service' procedure. * gnu/services/networking.scm: Export tor-configuration-tor, tor-configuration-config-file, tor-configuration-hidden-services, tor-configuration-socks-socket-type, tor-configuration-control-socket-path, tor-onion-service-configuration, tor-onion-service-configuration?, tor-onion-service-configuration-name, tor-onion-service-configuration-mapping. (<tor-configuration>)[control-socket?]: Rename accessor. (<hidden-service>): Replace with … (<tor-onion-service-configuration>): … this. (tor-configuration->torrc): Update record-type name. (tor-activation): Ditto. (tor-hidden-service-type): Remove variable. (tor-hidden-service): Deprecate procedure. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-04-22Merge remote-tracking branch 'origin/master' into core-updatesAndreas Enge
2023-04-21services: herd: 'load-services/safe' is synonymous with 'load-services'.Ludovic Courtès
This is a followup to 547965aa27b6a09cadf42130b7ec7db3f1aee61f. * gnu/services/herd.scm (load-services/safe): Make an alias for 'load-services'.
2023-04-21services: nscd: Depend on syslogd.Ludovic Courtès
This gets rid of nscd debug messages on the console at boot time. * gnu/services/base.scm (nscd-shepherd-service): Add dependency on 'syslogd'.
2023-04-21services: postgresql: Add default package.Ludovic Courtès
* gnu/services/databases.scm (<postgresql-configuration>)[postgresql]: Add default value, moved from... (postgresql-service-type)[default-value]: ... here.
2023-04-21services: knot: Add 'configuration' action.Ludovic Courtès
* gnu/services/dns.scm (knot-shepherd-service): Add 'actions' field.
2023-04-21services: rsync: Add 'configuration' action.Ludovic Courtès
* gnu/services/rsync.scm (rsync-shepherd-service): Add 'actions' field.
2023-04-21services: redis: Add 'configuration' action.Ludovic Courtès
* gnu/services/databases.scm (redis-shepherd-service): Add 'actions' field.
2023-04-21services: mysql: Add 'configuration' action.Ludovic Courtès
* gnu/services/databases.scm (mysql-shepherd-service): Add 'actions' field.
2023-04-21services: postgresql: Add 'configuration' action.Ludovic Courtès
* gnu/services/databases.scm (postgresql-shepherd-service): Add 'actions' field.
2023-04-21services: postgresql: Add the 'postgresql' Shepherd service name.Ludovic Courtès
* gnu/services/databases.scm (postgresql-shepherd-service): Add 'postgresql' to 'provision'.
2023-04-21services: syslog: Log auth.info to /var/log/secure in default configuration.Maxim Cournoyer
This causes authentication failures such as those generated by SSH brute force attacks to appear in /var/log/secure, which is picked up by tools such as fail2ban. * gnu/services/base.scm (%default-syslog.conf): Add a auth.info selector for the /var/log/secure log. Series-to: 62802@debbugs.gnu.org
2023-04-21services/syslog: Strip leading white space indent in syslog.conf.Maxim Cournoyer
This is a cosmetic change. * gnu/services/base.scm (%default-syslog.conf): Add a comment referencing the documentation. Strip the extraneous leading trailing white space indent.
2023-04-21services: syslog: Add a reload action.Maxim Cournoyer
* gnu/services/base.scm (syslog-service-type) [actions]: Add a reload action. * doc/guix.texi (Base Services): Document it.
2023-04-21services: syslog: Move configuration to /etc/syslog.conf.Maxim Cournoyer
Having the configuration live at a static location makes it possible to hot-reload it. * gnu/services/base.scm (syslog.conf): New variable. (syslog-etc, syslog-shepherd-service): New procedures. (syslog-service-type): Rewrite using the above new variable and procedures, extending etc-service-type with its configuration file.
2023-04-19services: agetty: 'term-console' succeeds by default.Ludovic Courtès
Previously, on a typical setup without "console=ttyS0" or similar in 'kernel-arguments', the 'term-console' Shepherd service would always be marked as failing to start. This is undesirable because it raises a false alarm: the service is expected to do nothing in this case. This patch instead marks it as succeeding and logs a message explaining it's doing nothing. * gnu/services/base.scm (agetty-shepherd-service): In 'start' method, succeed when TTY is #f and print a message.
2023-04-17services: agetty: 'term-console' succeeds by default.Ludovic Courtès
Previously, on a typical setup without "console=ttyS0" or similar in 'kernel-arguments', the 'term-console' Shepherd service would always be marked as failing to start. This is undesirable because it raises a false alarm: the service is expected to do nothing in this case. This patch instead marks it as succeeding and logs a message explaining it's doing nothing. * gnu/services/base.scm (agetty-shepherd-service): In 'start' method, succeed when TTY is #f and print a message.
2023-04-14Merge branch 'master' into core-updates.Maxim Cournoyer
Conflicts: gnu/local.mk gnu/packages/build-tools.scm gnu/packages/certs.scm gnu/packages/check.scm gnu/packages/compression.scm gnu/packages/cups.scm gnu/packages/fontutils.scm gnu/packages/gnuzilla.scm gnu/packages/guile.scm gnu/packages/ibus.scm gnu/packages/image-processing.scm gnu/packages/linux.scm gnu/packages/music.scm gnu/packages/nss.scm gnu/packages/pdf.scm gnu/packages/python-xyz.scm gnu/packages/qt.scm gnu/packages/ruby.scm gnu/packages/shells.scm gnu/packages/tex.scm gnu/packages/video.scm gnu/packages/vulkan.scm gnu/packages/web.scm gnu/packages/webkit.scm gnu/packages/wm.scm
2023-04-14services: mpd: Use proper records for user and group fields.Bruno Victal
Deprecate using strings for these fields and prefer user-account (resp. user-group) instead to avoid duplication within account-service-type. Fixes #61570 <https://issues.guix.gnu.org/61570>. * gnu/services/audio.scm (%mpd-user, %mpd-group) (mpd-serialize-user-account, mpd-serialize-user-group) (mpd-user-sanitizer, mpd-group-sanitizer): New variables. (mpd-configuration)[user]: Use user-account as value type. Sanitize via mpd-user-sanitizer. [group]: Use user-group as value type. Sanitize via mpd-group-sanitizer. (mpd-shepherd-service): Adjust accordingly. (mpd-accounts): Likewise. * doc/guix.texi (Audio Services)[Music Player Daemon]: Likewise. Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2023-04-14services: mpd: Fix unintentional API breakage for mixer-type field.Bruno Victal
* gnu/services/audio.scm (mpd-output)[mixer-type]: Use sanitizer to accept both strings and symbols as values. Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2023-04-11services: nginx: Add reopen action.Bruno Victal
This is required to allow log file rotations using rottlog, etc. * gnu/services/web.scm (nginx-shepherd-service): Add reopen shepherd action. Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2023-04-11services: nginx: Make logging level configurable.Bruno Victal
* gnu/services/web.scm (<nginx-configuration>)[log-level]: New field. (assert-valid-log-level): New procedure. (default-nginx-config): Make log-level configurable. * doc/guix.texi (Web Services): Document it. Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2023-04-07services: desktop: Remove 'xfce-desktop-service' procedure.Bruno Victal
* gnu/services/desktop.scm (xfce-desktop-service): Remove procedure. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-04-07services: desktop: Remove 'mate-desktop-service' procedure.Bruno Victal
* gnu/services/desktop.scm (mate-desktop-service): Remove procedure. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-04-07services: desktop: Remove 'gnome-desktop-service' procedure.Bruno Victal
* gnu/services/desktop.scm (gnome-desktop-service): Remove procedure. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-04-07services: guix-publish: Remove 'compression-level' field.Bruno Victal
* gnu/services/base.scm (<guix-publish-configuration>)[compression-level]: Remove field. (guix-publish-configuration-compression-level): Remove procedure. (default-compression): Remove compression-level helper code. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-04-07services: base: Remove 'console-font-service' procedure.Bruno Victal
* gnu/services/base.scm (console-font-service): Remove procedure. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-04-07services: base: Remove 'console-keymap-service-type' variable.Bruno Victal
* gnu/services/base.scm (console-keymap-service-type): Remove variable. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-04-07services: sddm: Remove 'sddm-service' procedure.Bruno Victal
* gnu/services/sddm.scm (sddm-service): Remove procedure. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-04-07services: ntp-service-type: Remove deprecated server as strings support.Bruno Victal
* gnu/services/networking.scm (<ntp-configuration>)[servers]: Rename accessor to ntp-configuration-servers. (ntp-configuration-servers): Remove helper procedure. (ntp-shepherd-service): Remove helper procedure usage. * tests/networking.scm: Remove obsolete test. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-04-02services: xvnc: Do not create a regular HOME directory for xvnc user.Maxim Cournoyer
* gnu/services/vnc.scm (%xvnc-accounts) [home-directory]: Define as /var/empty. [shell]: Set to nologin, for good measures.
2023-04-02services: mympd: Use records for user and group fields.Bruno Victal
* gnu/services/audio.scm (%mympd-user, %mympd-group) (mympd-user-sanitizer, mympd-group-sanitizer): New variables. (mympd-configuration)[user]: Use user-account as value type. Sanitize via mympd-user-sanitizer. [group]: Use user-group as value type. Sanitize via mympd-group-sanitizer. (mympd-serialize-configuration): Adjust accordingly. (mympd-accounts): Likewise. * doc/guix.texi (Audio Services)[myMPD]: Likewise. Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2023-04-02services: mpd: Use proper records for user and group fields.Bruno Victal
Deprecate using strings for these fields and prefer user-account (resp. user-group) instead to avoid duplication within account-service-type. Fixes #61570 <https://issues.guix.gnu.org/61570>. * gnu/services/audio.scm (%mpd-user, %mpd-group) (mpd-serialize-user-account, mpd-serialize-user-group) (mpd-user-sanitizer, mpd-group-sanitizer): New variables. (mpd-configuration)[user]: Use user-account as value type. Sanitize via mpd-user-sanitizer. [group]: Use user-group as value type. Sanitize via mpd-group-sanitizer. (mpd-shepherd-service): Adjust accordingly. (mpd-accounts): Likewise. * doc/guix.texi (Audio Services)[Music Player Daemon]: Likewise. Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2023-04-02services: mpd: Fix unintentional API breakage for mixer-type field.Bruno Victal
* gnu/services/audio.scm (mpd-output)[mixer-type]: Use sanitizer to accept both strings and symbols as values. Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>