aboutsummaryrefslogtreecommitdiff
path: root/gnu/services
Commit message (Collapse)AuthorAge
...
* services: wireguard: Add a 'configuration' action.Maxim Cournoyer2023-07-21
| | | | * gnu/services/vpn.scm (wireguard-shepherd-service) [actions]: New field.
* services: wireguard: Clean-up configuration file serializer.Maxim Cournoyer2023-07-21
| | | | | | | | | | | Previously, the generated config file would contain arbitrary whitespace that made it look ugly. * gnu/services/vpn.scm (<wireguard-configuration>) [dns]: Change default value from #f to '(). (wireguard-configuration-file): Use match-record. Format each line individually, assembling the lines at the end to avoid extraneous white space. * doc/guix.texi (VPN Services): Update doc.
* services: wireguard: Implement a dynamic IP monitoring feature.Maxim Cournoyer2023-07-21
| | | | | | | | | | | | | | | | * gnu/services/vpn.scm (<wireguard-configuration>) [monitor-ips?, monitor-ips-internal]: New fields. * gnu/services/vpn.scm (define-with-source): New syntax. (wireguard-service-name, strip-port/maybe) (ipv4-address?, ipv6-address?, host-name?) (endpoint-host-names): New procedure. (wireguard-monitoring-jobs): Likewise. (wireguard-service-type): Register it. * tests/services/vpn.scm: New file. * Makefile.am (SCM_TESTS): Register it. * doc/guix.texi (VPN Services): Update doc. Reviewed-by: Bruno Victal <mirai@makinata.eu>
* services: herd: Add a new 'current-service' procedure.Maxim Cournoyer2023-07-21
| | | | | | * gnu/services/herd.scm (current-service): New procedure, mostly reusing the existing current-services. (current-services): Implement in terms of the above procedure.
* services: static-networking: Support netdde for the Hurd.Janneke Nieuwenhuizen2023-07-13
| | | | | | | | | | | As suggested by Sergey Bugaev on bug-hurd https://lists.gnu.org/archive/html/bug-hurd/2023-05//msg00455.html * gnu/services/base.scm (static-networking->hurd-pfinet-options): Use /DEV/ethX. Use long options for settrans. Signed-off-by: Josselin Poiret <dev@jpoiret.xyz>
* services: childhurd: Bump default qemu memory to 2048MB.Janneke Nieuwenhuizen2023-07-13
| | | | | | | | | | | | | When booting with pci-arbiter and rumpdisk and using 1024MB of memory for qemu, booting hangs, or seems to hang, at the end of the rumpdisk boot messages. At least 1200MB is required, currently. * gnu/services/virtualization.scm (<hurd-vm-configuration>)[memory-size]: Bump to 2048. * gnu/system/examples/bare-hurd.tmpl: Suggest using 2048 here too. Update example `guix system image' and "qemu" command lines too. Signed-off-by: Josselin Poiret <dev@jpoiret.xyz>
* services: cgit: Remove ‘cgit-repo’ left-overs.Tobias Geerinckx-Rice2023-07-02
| | | | | | | This follows up on commit 16d77b31c5024e9288dfd2f25f8eb6d0114a342c. * gnu/services/cgit.scm (cgit-configuration): Use extant repository-cgit-configuration variable name.
* services: libvirt: Add requirement on dbus.Josselin Poiret2023-07-07
| | | | | * gnu/services/virtualization.scm (libvirt-shepherd-service): Add requirement on dbus.
* gnu: gnome: Remove gnome-boxes from default GNOME apps.Josselin Poiret2023-07-07
| | | | | * gnu/packages/gnome.scm (gnome): Remove gnome-boxes from propagated-inputs, since it is no longer a Core App in 42.
* services: nginx: Harden php-location settings.Bruno Victal2023-07-02
| | | | | * gnu/services/web.scm (nginx-php-location): Only pass existing PHP files to the back end. Mitigate httpoxy vulnerability.
* services: pam-limits: Add lightdm.John Kehayias2023-06-27
| | | | | | | Without this a user's pam-limits-service-type configuration does not have an effect when using lightdm. * gnu/services/base.scm (pam-limits-service-type): Add "lightdm" to the list.
* services: Validate 'provision' field of <shepherd-service>.Ludovic Courtès2023-06-25
| | | | | | | | | Fixes <https://issues.guix.gnu.org/63979>. * gnu/services/shepherd.scm (validate-provision): New procedure. (<shepherd-service>)[provision]: Use it. Co-authored-by: Bruno Victal <mirai@makinata.eu>
* services: dicod: Use one inetd endpoint per interface.Ludovic Courtès2023-06-24
| | | | | | * gnu/services/dict.scm (dicod-shepherd-service): Remove the (= 1 (length interfaces)) restriction by adding one endpoint per interface.
* services: certbot: Fix nginx crash when certbot is used without domains.Saku Laesvuori2023-06-18
| | | | | | | | | | * gnu/services/certbot.scm (certbot-nginx-server-configurations): Don't return a broken nginx-server-configuration with empty server_name when no certificate domains are configured. Instead add a separate server for every certificate, so 0 certificates adds 0 servers. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Reviewed-by: Bruno Victal <mirai@makinata.eu>
* services: qemu-guest-agent: Add dependency on udev.Ludovic Courtès2023-06-16
| | | | | | | | | Fixes <https://issues.guix.gnu.org/64057>. * gnu/services/virtualization.scm (qemu-guest-agent-shepherd-service): Add 'requirement' field. Reported-by: Yann Dupont <yann.dupont@univ-nantes.fr>
* services: static-netwoking: Wait for devices to show up.Ludovic Courtès2023-06-14
| | | | | | | Fixes <https://issues.guix.gnu.org/63516>. * gnu/services/base.scm (network-set-up/linux): Add call to 'wait-for-link'.
* services: screen-locker-service-type: Configurable PAM and setuid.muradm2023-06-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | screen-locker-service-type by default does both define PAM entry and make program setuid binary. Normally both methods are mutually exclusive, if binary has setuid set it does not really needs PAM, otherway around also similar, if PAM is enabled binary should not relay on setuid. Recent swaylock package now compiled with PAM support. When PAM support is compiled in, swaylock rejects executing if binary is also setuid program. This change turns screen-locker-configuration from strict PAM AND setuid to more flexible PAM AND/OR setuid. Allowing swaylock to be configured properly while supporting other screen locker preferences. * gnu/services/xorg.scm (screen-locker-configuration): Switch from define-record-type to define-configuration. [using-pam?]: New field to control PAM entry existence. [using-setuid?]: New field to control setuid binary existence. (screen-locker-pam-services): Should not make unix-pam-service if using-pam? is set to #f. (screen-locker-setuid-programs): Should not make program setuid program if using-setuid? is set to #f. (screen-locker-generate-doc): Internal function to generate configuration documentation. (screen-locker-service): Adapt to new screen-locker-configuration. * gnu/services/desktop.scm (desktop-services-for-system): Adapt to new screen-locker-configuration. * doc/guix.texi: Reflect new changes to screen-locker-configuration. Signed-off-by: Josselin Poiret <dev@jpoiret.xyz>
* services: herd: "Resolve" transient services only when needed.Ludovic Courtès2023-05-30
| | | | | | | | | | This allows us to get rid of the "eval root" actions, which in turn would lead to confusing "Evaluating user expression" messages. Fixes <https://issues.guix.gnu.org/55857>. * gnu/services/herd.scm (resolve-transients): In 'values', avoid 'eval-there' call when UNRESOLVED is empty.
* services: guix: Depend on 'avahi-daemon' when 'discover?' is set.Ludovic Courtès2023-05-24
| | | | | | | | | | Previously, with shepherd 0.10.0, guix-daemon would start quickly, possibly before avahi-daemon is running. Consequently, its "guix discover" child process would exit immediately with a warning saying "Avahi daemon is not running". * gnu/services/base.scm (guix-shepherd-service): When DISCOVER? is true, add 'avahi-daemon' to 'requirement'.
* services: cups: Add cups PAM service.muradm2023-05-23
| | | | | | | | | | | | | | | | | | Fixes <https://issues.guix.gnu.org/63198>. Have the CUPS service extend pam-root-service-type providing minimal configuration to authenticate users. Since PAM authentication is provided, the regular cups package can be used as default instead of the minimal, PAM-lacking variant. * gnu/services/cups.scm (cups-configuration) [cups]: Replace cups-minimal with cups. [allow-empty-password?]: PAM service configuration permitting empty passwords. (opaque-cups-configuration): Likewise. (cups-pam-service): New procedure. (cups-service-type): Extend pam-root-service-type with cups-pam-service. Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
* services: Transient inetd services inherit requirements.Ludovic Courtès2023-05-21
| | | | | | | | | | | | That way, per-connection transient services such as 'sshd-123' inherit dependencies of their "parent" ('sshd' in this example), which is more consistent than not depending on anything. * gnu/services/dict.scm (dicod-shepherd-service): Pass #:requirements to 'make-inetd-constructor'. * gnu/services/messaging.scm (bitlbee-shepherd-service): Likewise. * gnu/services/ssh.scm (openssh-shepherd-service): Likewise. * gnu/services/vnc.scm (xvnc-shepherd-service): Likewise.
* services: root-file-system: Remove reference to 'stop-logging'.Ludovic Courtès2023-05-21
| | | | | | | | * gnu/services/base.scm (%root-file-system-shepherd-service): In 'stop' method, remove reference to 'stop-logging'. That procedure is gone in Shepherd 0.10.0, leading to an unbound-variable exception. Additionally, calling is unnecessary since 0.4.0, where shepherd logs to syslog (thus the open file descriptor is not backed by an on-disk file).
* services: agetty: 'stop' method does nothing when running is 'idle.Ludovic Courtès2023-05-21
| | | | | | | This is a followup to 57e731c358d000f614fbda23654cae6a5e79df80. * gnu/services/base.scm (agetty-shepherd-service): Change 'stop' method to return #f immediately when the running value is 'idle.
* services: rsync: Use least authority wrapper.Maxim Cournoyer2023-05-18
| | | | | | | * gnu/services/rsync.scm (rsync-shepherd-service) Wrap rsync command in a least-authority-wrapper. Reviewed-by: Ludovic Courtès <ludo@gnu.org>
* services: rsync: Use make-inetd-constructor.Maxim Cournoyer2023-05-18
| | | | | | | | * gnu/services/rsync.scm (rsync-shepherd-service): Use make-inetd-constructor if available in start slot. * gnu/tests/rsync.scm (run-rsync-test): Delete "PID file" test. Reviewed-by: Ludovic Courtès <ludo@gnu.org>
* services: ssh: Really rename openssh-challenge-response-authentication?Maxim Cournoyer2023-05-17
| | | | | | | | | Fixes up 9c161c1f0d, which renamed the accessor of <openssh-configuration> but failed to adjust the single usage. * gnu/services/ssh.scm (openssh-config-file): Rename openssh-challenge-response-authentication? call to openssh-configuration-challenge-response-authentication?.
* services: ssh: Rename openssh-challenge-response-authentication?Maxim Cournoyer2023-05-17
| | | | | | | | | | This is a follow-up commit to the preceding commit, which exported all <openssh-configuration> accessors. * gnu/services/ssh.scm (<openssh-configuration>): Rename openssh-challenge-response-authentication? to openssh-configuration-challenge-response-authentication?. It's a mouthful, but is at least consistent with the rest.
* services: openssh: Export openssh-configuration accessors.Maxim Cournoyer2023-05-17
| | | | * gnu/services/ssh.scm: Export openssh-configuration accessors.
* services: shepherd: Default to 0.10.Ludovic Courtès2023-05-13
| | | | | | | * gnu/services/shepherd.scm (<shepherd-configuration>)[shepherd]: Default to SHEPHERD-0.10. * gnu/home/services/shepherd.scm (<home-shepherd-configuration>)[shepherd]: Likewise.
* services: nar-herder: Support extra environment vars.Christopher Baines2023-05-13
| | | | | | | | * 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.
* services: inetd: Export accessors.Bruno Victal2023-05-11
| | | | | | | | | | * 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>
* services: Add vnstat-service-type.Bruno Victal2023-05-11
| | | | | | | * 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>
* services: dhcp-client-configuration: Add 'shepherd-requirement' field.Sergey Trofimov2023-05-11
| | | | | | | | | | * 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>
* services: elogind: Add elogind as a shepherd PAM requirement.Josselin Poiret2023-05-11
| | | | | | | * 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>
* system: pam: Let PAM extensions add shepherd requirements.Josselin Poiret2023-05-11
| | | | | | | | | | | | | | | | | | | | | | | | | * 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>
* services: syslog: Do not call 'umask' in PID 1.Ludovic Courtès2023-05-11
| | | | | | | | | | | | 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.
* services: dicod, bitlbee: Pass 'make-inetd-constructor' a list of endpoints.Ludovic Courtès2023-05-11
| | | | | | | | | '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.
* services: guix-build-coordinator-agent: Support max-parallel-uploads.Christopher Baines2023-05-10
| | | | | | | | | | | 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.
* services: guix-build-coordinator: Support extra environment vars.Christopher Baines2023-05-09
| | | | | | | | | | | | 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.
* service: qemu-binfmt: Remove broken qemu targets.Efraim Flashner2023-05-09
| | | | | * gnu/services.virtualization.scm (%qemu-platforms): Remove %i486, %aarch64be.
* services: guix-build-coordinator: Simpify service startup.Christopher Baines2023-05-06
| | | | | | | | 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.
* services: qemu-binfmt: Add more targets.Efraim Flashner2023-05-04
| | | | | | | | * gnu/services/virtualization.scm (%i486, %sparc64, %aarch64be, %xtensa, %xtensaeb, %microblaze, %microblazeel, %or1k, %hexagon, %loongson64): New variables. (%armeb): Correct family field. (%qemu-platforms): Add them.
* services: earlyoom: Rotate log files.Efraim Flashner2023-05-04
| | | | | * gnu/services/linux.scm (%earlyoom-log-rotation): New variable. (earlyoom-service-type): Add service-extension for log rotation.
* services: cups: Use cups-minimal to avoid PAM authentication.Maxim Cournoyer2023-05-03
| | | | | | | | | | 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.
* system: guix: Use config's ACL file location.Josselin Poiret2023-04-30
| | | | | | | * 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>
* services: tor: Deprecate 'tor-hidden-service' procedure.Bruno Victal2023-04-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* Merge remote-tracking branch 'origin/master' into core-updatesAndreas Enge2023-04-22
|\
| * services: herd: 'load-services/safe' is synonymous with 'load-services'.Ludovic Courtès2023-04-21
| | | | | | | | | | | | | | This is a followup to 547965aa27b6a09cadf42130b7ec7db3f1aee61f. * gnu/services/herd.scm (load-services/safe): Make an alias for 'load-services'.
| * services: nscd: Depend on syslogd.Ludovic Courtès2023-04-21
| | | | | | | | | | | | | | This gets rid of nscd debug messages on the console at boot time. * gnu/services/base.scm (nscd-shepherd-service): Add dependency on 'syslogd'.
| * services: postgresql: Add default package.Ludovic Courtès2023-04-21
| | | | | | | | | | | | * gnu/services/databases.scm (<postgresql-configuration>)[postgresql]: Add default value, moved from... (postgresql-service-type)[default-value]: ... here.