services: avahi: Publish '_workstation._tcp' by default. This reverts to the behavior of avahi-daemon prior to Avahi 0.7 (commit 550f4509acf2c0f67882260414b0bb2843e07465). * gnu/services/avahi.scm (<avahi-configuration>)[publish-workstation?]: New field. (configuration-file): Honor it.
services: avahi: Read PID file from /run. * gnu/services/avahi.scm (%avahi-activation, avahi-shepherd-service): Use /run/avahi-daemon/ instead of /var/run/avahi-daemon/. This was the case since the switch to Avahi 0.7 (commit 550f4509acf2c0f67882260414b0bb2843e07465).
Merge branch 'master' into core-updates
services: xorg: Import (ice-9 rdelim). * gnu/services/xorg.scm (xinitrc): Import (ice-9 rdelim).
Merge branch 'master' into core-updates
services: mingetty: Move tty optionality to agetty. Follow-up to 5a9902c8acd63916c6c80cf3c61be6ee814b7e3d. * gnu/services/base.scm (mingetty-shepherd-service): Move tty optionality check to... (agetty-shepherd-service): ...here.
services: agetty: Add agetty instance to base services. Make its tty optional. * gnu/services/base.scm (%base-services): Instantiate agetty-service. (default-serial-port): New variable. (agetty-shepherd-service): Make tty optional, default to the above. * doc/guix.texi (agetty-configuration): Update "tty" documentation. * gnu/system/install.scm (agetty-default-service): Delete variable. (embedded-installation-os): Remove agetty-default-service instance. Add "console" kernel-argument.
gnu: nss-mdns: Update to 0.12.0. * gnu/packages/avahi.scm (nss-mdns): Update to 0.12 + patch. (nss-mdns-0.10.0): Remove. * gnu/services/avahi.scm (avahi-service-type): Use NSS-MDNS again.
gnu: Add cat-avatar-generator-service. * gnu/services/web.scm (cat-avatar-generator-service): New variable. * doc/guix.text (Web Services): Document it.
Merge branch 'master' into core-updates
services: avahi: Default to nss-mdns 0.10. This works around <https://bugs.gnu.org/30396>. Reported by George myglc2 Clemmer <myglc2@gmail.com>. * gnu/packages/avahi.scm (nss-mdns-0.10): New variable. * gnu/services/avahi.scm (avahi-service-type): Use it.
gnu: services: Add wesnothd service. * gnu/services/games.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. * doc/guix.texi (Game Services): Document the service.
Merge branch 'master' into core-updates
doc, gnu: Fix spelling of screen-things. * doc/guix.texi (X Window): Write 'screen locker' and 'screen saver' in prose. * gnu/services/xorg.scm (screen-locker-service): Likewise.
Merge branch 'master' into core-updates
services: postgresql: Use pg_ctl to start and stop postgres. Fixes <https://bugs.gnu.org/29992>. * gnu/services/databases.scm (postgresql-shepherd-service): Replace make-forkexec-constructor and make-kill-destructor with pg_ctl.
Merge branch 'master' into core-updates
services: herd: 'with-shepherd' no longer leaves an open connection. * gnu/services/herd.scm (with-shepherd): Use 'dynamic-wind' and close CONNECTION at the end.
services: Missing services are automatically instantiated. This simplifies OS configuration: users no longer need to be aware of what a given service depends on. See the discussion at <https://lists.gnu.org/archive/html/guix-devel/2018-01/msg00114.html>. * gnu/services.scm (missing-target-error): New procedure. (service-back-edges): Use it. (instantiate-missing-services): New procedure. * gnu/system.scm (operating-system-services): Call 'instantiate-missing-services'. * tests/services.scm ("instantiate-missing-services") ("instantiate-missing-services, no default value"): New tests. * gnu/services/version-control.scm (cgit-service-type)[extensions]: Add FCGIWRAP-SERVICE-TYPE. * gnu/tests/version-control.scm (%cgit-os): Remove NGINX-SERVICE-TYPE and FCGIWRAP-SERVICE-TYPE instances. * doc/guix.texi (Log Rotation): Remove 'mcron-service-type' in example. (Miscellaneous Services): Remove 'nginx-service-type' and 'fcgiwrap-service-type' in Cgit example.
services: shepherd: Make 'shepherd-configuration-file' non-monadic. Suggested by atw on #guix. * gnu/services/shepherd.scm (shepherd-service-file): Use 'scheme-file' instead of 'gexp->file'. (shepherd-configuration-file): Likewise, and adjust to non-monadic style. (shepherd-boot-gexp): Adjust accordingly. * guix/scripts/system.scm (upgrade-shepherd-services): Use 'lower-object' in addition to 'shepherd-service-file'.