summary refs log tree commit diff
path: root/gnu/services
AgeCommit message (Collapse)Author
2018-02-22services: certbot: Refactor certbot command.Clément Lassieur
* gnu/services/certbot.scm (certbot-renewal-jobs, certbot-activation): Refactor common code into certbot-command.
2018-02-22services: certbot: Rename 'host' to 'domain'.Clément Lassieur
* doc/guix.texi (Certificate Services): Rename 'host' to 'domain'. * gnu/services/certbot.scm (<certbot-configuration>, certbot-renewal-jobs, certbot-activation, certbot-nginx-server-configurations, certbot-service-type): Rename 'host' to 'domain'.
2018-02-22services: certbot: Fix indentation.Clément Lassieur
* gnu/services/certbot.scm (certbot-activation): Fix indentation.
2018-02-22services: certbot: Run certbot twice a day at a random minute.Clément Lassieur
* doc/guix.texi (Certificate Services): Document it. * gnu/services/certbot.scm (certbot-renewal-jobs): Change job's time specification.
2018-02-22services: certbot: Listen on IPv6.Clément Lassieur
* gnu/services/certbot.scm (certbot-nginx-server-configurations): Listen on IPv6 too.
2018-02-20services: slim: Make the logged-in session show up in "w".Danny Milosavljevic
* gnu/services/xorg.scm (slim-shepherd-service): Use SESSREG to register X11 session. * doc/guix.texi (slim-configuration): Document new field "sessreg".
2018-02-19services: console-font: Don't emit the IUTF8 console code.Ludovic Courtès
Fixes <https://bugs.gnu.org/30505>. * gnu/services/base.scm (unicode-start): Remove 'display' call to FD for "\x1b%G" console code.
2018-02-19services: avahi: Publish '_workstation._tcp' by default.Ludovic Courtès
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.
2018-02-19services: avahi: Read PID file from /run.Ludovic Courtès
* 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).
2018-02-17services: xorg: Import (ice-9 rdelim).Danny Milosavljevic
* gnu/services/xorg.scm (xinitrc): Import (ice-9 rdelim).
2018-02-15services: mingetty: Move tty optionality to agetty.Danny Milosavljevic
Follow-up to 5a9902c8acd63916c6c80cf3c61be6ee814b7e3d. * gnu/services/base.scm (mingetty-shepherd-service): Move tty optionality check to... (agetty-shepherd-service): ...here.
2018-02-15services: agetty: Add agetty instance to base services. Make its tty optional.Danny Milosavljevic
* 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.
2018-02-15gnu: nss-mdns: Update to 0.12.0.Ludovic Courtès
* 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.
2018-02-14gnu: Add cat-avatar-generator-service.Julien Lepiller
* gnu/services/web.scm (cat-avatar-generator-service): New variable. * doc/guix.text (Web Services): Document it.
2018-02-09services: avahi: Default to nss-mdns 0.10.Ludovic Courtès
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.
2018-02-09gnu: services: Add wesnothd service.Arun Isaac
* gnu/services/games.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. * doc/guix.texi (Game Services): Document the service.
2018-01-29doc, gnu: Fix spelling of screen-things.Tobias Geerinckx-Rice
* doc/guix.texi (X Window): Write 'screen locker' and 'screen saver' in prose. * gnu/services/xorg.scm (screen-locker-service): Likewise.
2018-01-25services: postgresql: Use pg_ctl to start and stop postgres.Clément Lassieur
Fixes <https://bugs.gnu.org/29992>. * gnu/services/databases.scm (postgresql-shepherd-service): Replace make-forkexec-constructor and make-kill-destructor with pg_ctl.
2018-01-21services: herd: 'with-shepherd' no longer leaves an open connection.Ludovic Courtès
* gnu/services/herd.scm (with-shepherd): Use 'dynamic-wind' and close CONNECTION at the end.
2018-01-21services: Missing services are automatically instantiated.Ludovic Courtès
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.
2018-01-21services: shepherd: Make 'shepherd-configuration-file' non-monadic.Ludovic Courtès
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'.
2018-01-19gnu: Consistently Write ‘file system(s)’.Tobias Geerinckx-Rice
It is the GNU way. * doc/guix.texi (Build Systems, DNS Services): Write ‘file system(s)’. * gnu/build/vm.scm (create-ext-file-system, create-fat-file-system): Likewise. * gnu/packages/backup.scm (dirvish, rsnapshot)[description]: Likewise. * gnu/packages/check.scm (python-testpath)[description]: Likewise. * gnu/packages/disk.scm (pydf)[description]: Likewise. * gnu/packages/file-systems.scm (disorderfs)[synopsis, description]: Likewise. (glusterfs)[description]: Likewise. * gnu/packages/haskell.scm (ghc-directory, ghc-system-fileio-bootstrap) (ghc-system-fileio)[synopsis]: Likewise. (ghc-fsnotify)[description]: Likewise. * gnu/packages/linux.scm (proot)[description]: Likewise. (jmtpfs)[synopsis, description]: Likewise. * gnu/packages/mate.scm (caja, caja-extensions)[description]: Likewise. * gnu/packages/storage.scm (ceph)[description]: Likewise. * gnu/packages/sync.scm (lsyncd)[description]: Likewise. * gnu/packages/syncthing.scm (syncthing)[synopsis]: Likewise. (go-github-com-zillode-notify)[description]: Likewise. * gnu/services/nfs.scm (pipefs-service-type): Likewise. * guix/scripts/system.scm (perform-action): Likewise.
2018-01-17gnu: services: web: Add service for httpd.Christopher Baines
* gnu/services/web.scm (<httpd-module>, <httpd-config-file>, <httpd-virtualhost> <httpd-configuration>): New record types. (%default-httpd-modules, %httpd-accounts, httpd-service-type): New variables. (httpd-shepherd-services, httpd-activation, httpd-process-extensions): New procedures. * gnu/tests/web.scm (run-httpd-test): New procedure. (%httpd-os, %tests-httpd): New variables. * doc/guix.texi (Web Services): Document the Apache HTTP Server.
2018-01-15doc: Deprecate 'bitlbee-service' procedure.Ludovic Courtès
* gnu/services/messaging.scm (bitlbee-service): Mark as deprecated. * doc/guix.texi (Messaging Services): Document 'bitlbee-service-type' and 'bitlbee-configuration'. Remove 'bitlbee-service'.
2018-01-15services: bitlbee: Move to (gnu services messaging).Ludovic Courtès
* gnu/services/networking.scm (<bitlbee-configuration>) (bitlbee-shepherd-service, %bitlbee-accounts, %bitlbee-activation) (bitlbee-service-type, bitlbee-service): Move to... * gnu/services/messaging.scm: ... here. * doc/guix.texi (Networking Services): Move 'bitlbee-service' doc to... (Messaging Services): ... here.
2018-01-11services: qemu-binfmt: Extend guix-daemon with extra chroot directories.Ludovic Courtès
Fixes <https://bugs.gnu.org/20239>. * gnu/services/virtualization.scm (<qemu-binfmt-configuration>)[guix-support?]: New field. (qemu-binfmt-guix-chroot): New procedure. (qemu-binfmt-service-type)[extensions]: Add GUIX-SERVICE-TYPE. * doc/guix.texi (Virtualization Services): Document 'guix-support?'. (Additional Build Options): Mention binfmt_misc and offloading under '--system'.
2018-01-11services: guix: Add 'chroot-directories' field.Ludovic Courtès
* gnu/services/base.scm (<guix-configuration>)[chroot-directories]: New field. (guix-shepherd-service): Honor it. (references-file): New procedure. (guix-service-type)[compose, extend]: New fields.
2018-01-11services: Add qemu-binfmt.Ludovic Courtès
* gnu/services/virtualization.scm (<qemu-platform>): New record type. (bv): New macro. (%i386, %i486, %alpha, %arm, %armeb, %sparc, %sparc32plus) (%ppc, %ppc64, %ppc64le, %m68k, %mips, %mipsel, %mipsn32el) (%mips64, %mips64el, %sh4, %sh4eb, %s390x, %aarch64, %hppa) (%qemu-platforms): New variables. (lookup-qemu-platforms): New procedure. (<qemu-binfmt-configuration>): New record type. (qemu-platform->binfmt): New procedures. (%binfmt-mount-point, %binfmt-register-file, %binfmt-file-system) (qemu-binfmt-service-type): New variables. (qemu-binfmt-shepherd-services): New procedures. * doc/guix.texi (Virtualization Services): Add "Transparent Emulation with QEMU" heading. binfmt fixlet
2018-01-08gnu: services: Add darkstat service.宋文武
* gnu/services/monitoring.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. * doc/guix.texi (Monitoring Services): Document it.
2018-01-08services: guix: Add 'log-compression' option.Ludovic Courtès
* gnu/services/base.scm (<guix-configuration>)[log-compression]: New field. (guix-shepherd-service): Use 'match-record' instead of 'match'. Honor 'log-compression'. * doc/guix.texi (Base Services): Document 'log-compression'.
2017-12-30gnu: services: Add MATE desktop service.ng0
* gnu/services/desktop.scm (<mate-desktop-configuration>, mate-desktop-service-type): New variable. (mate-desktop-service): New public variable. * doc/guix.texi (Desktop Services): Document the service. Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
2017-12-29services: networking: Add a dependency override mechanism to ↵Marius Bakke
<static-networking>. * gnu/services/networking.scm (<static-networking>)[requirement]: New field. (static-networking-shepherd-service): Don't override requirement for loopback. (static-networking-service): Expose 'requirement' parameter. Default to UDEV. * gnu/services/base.scm (%base-services): Add (requirement '()) for loopback service. * doc/guix.texi (Networking Services): Document it.
2017-12-24services: messaging: Use HTTPS for prosody.im URLs.Tobias Geerinckx-Rice
* gnu/services/messaging.scm (prosody-configuration): Use HTTPS whenever referring to prosody.im URLs in documentation. * doc/guix.texi (Messaging Services): Likewise.
2017-12-23gnu: dovecot: Update to 2.3.0.Tobias Geerinckx-Rice
* gnu/packages/mail.scm (dovecot): Update to 2.3.0. * gnu/services/mail.scm (dovecot-configuration)[director-doveadm-port] [ssl-parameters-regenerate]: Delete fields. [ssl-protocols]: Rename to... [ssl-min-protocol]: ...this. [mail-log-prefix, mdbox-rotate-size, ssl-cipher-list, imap-logout-format]: Update default values. * doc/guix.texi (Mail Services): Reflect the above changes to the service.
2017-12-22services: urandom-seed: Depend on udev.Ludovic Courtès
Suggested by Leo Famulari <leo@famulari.name>. * gnu/services/base.scm (urandom-seed-shepherd-service): Add 'udev' to 'requirement'.
2017-12-22services: urandom-seed: Deprecate the 'urandom-seed-service' procedure.Ludovic Courtès
* gnu/services/base.scm (urandom-seed-service-type)[default-value]: New field. (urandom-seed-service): Mark as deprecated. (%base-services): Use URANDOM-SEED-SERVICE-TYPE directly. * gnu/services/base.scm (%base-services): * doc/guix.texi (Base Services): Document 'urandom-seed-service-type' instead of 'urandom-seed-service'.
2017-12-22services: urandom-seed: Become a dependency of 'user-processes'.Ludovic Courtès
This ensures that 'urandom-seed' is started before programs that rely on sources of randomness. Fixes <https://bugs.gnu.org/29773>. Reported by Leo Famulari <leo@famulari.name>. * gnu/services/base.scm (urandom-seed-shepherd-service): Change 'requirement' to (file-systems). (urandom-seed-service-type): Extend USER-PROCESSES-SERVICE-TYPE.
2017-12-22services: 'user-processes-service-type' can now be extended.Ludovic Courtès
* gnu/services/base.scm (user-processes-shepherd-service): New procedure, taken from former 'user-processes-service-type'. Add REQUIREMENTS argument; remove GRACE-DELAY argument. (user-processes-service-type): Redefine in terms of 'service-type'. (user-processes-service): Remove. (file-system-service-type): Extend USER-PROCESSES-SERVICE-TYPE. * gnu/system.scm (essential-services): Use USER-PROCESSES-SERVICE-TYPE directly.
2017-12-19services: urandom-seed: Try using a HWRNG to seed the Linux CRNG at boot.Leo Famulari
* gnu/services/base.scm (urandom-seed-shepherd-service): Try to read from '/dev/hwrng' at boot, as a supplement to any saved random seed. * doc/guix.texi (Base Services): Document the new feature.
2017-12-18services: nginx: Allow to add raw content to the server blocks.Clément Lassieur
* doc/guix.texi (Web Services): Document 'raw-content'. * gnu/services/web.scm (<nginx-server-configuration>)[raw-content]: New field. (emit-nginx-server-config): Add it.
2017-12-18services: nginx: Replace 'http-port' and 'https-port' with 'listen'.Clément Lassieur
* doc/guix.texi (Web Services, Version Control Services): Update accordingly. * gnu/services/certbot.scm (certbot-nginx-server-configurations): Likewise. * gnu/services/version-control.scm (%cgit-configuration-nginx): Likewise. * gnu/services/web.scm (<nginx-server-configuration>, emit-nginx-server-config): Likewise. * gnu/tests/version-control.scm (%cgit-configuration-nginx, %git-nginx-configuration): Likewise. * gnu/tests/web.scm (%nginx-servers, %php-fpm-nginx-server-blocks): Likewise.
2017-12-17services: certbot: Fix certbot renewal job.Christopher Baines
Quote the list of hosts, to avoid generating a broken job definition. * gnu/services/certbot.scm (certbot-renewal-jobs): Quote the hosts when passing them in to the job gexp.
2017-12-16services: base: Use make-static-device-nodes.Danny Milosavljevic
Fixes <https://bugs.gnu.org/22050>. * gnu/services/base.scm (udev-shepherd-service): Use make-static-device-nodes.
2017-12-12gnu: services: Add php-fpm.nee
* gnu/services/web.scm (<php-fpm-configuration>, <php-fpm-process-manager-configuration>): New record types. (php-fpm-configuration?, php-fpm-process-manager-configuration?, php-fpm-service-type, nginx-php-location): New procedures. * doc/guix.texi (Web-Services): Document php-fpm service. * gnu/tests/web.scm: Add php-fpm system test. Signed-off-by: Christopher Baines <mail@cbaines.net>
2017-12-11services: web: Switch nginx related functions to use match-record.Christopher Baines
As this is less prone to mistakes than match. * gnu/services/web.scm (default-nginx-config, nginx-activation, nginx-shepherd-service): Switch from using match-lambda to match-record.
2017-12-11services: web: Add support for configuring the nginx server names hash.Christopher Baines
The nginx service can fail to start if the server names hash bucket size is too small, which can happen on some systems, and when using QEMU, depending on the CPU. * gnu/services/web.scm (<nginx-configuration>): Add server-names-hash-bucket-size and server-names-hash-bucket-max-size. (default-nginx-config): Add support for the new hash bucket size parameters. (nginx-service, nginx-activation): Pass the new hash bucket size parameters through to the default-nginx-config procedure. * doc/guix.texi (Web Services): Document the new hash bucket size parameters.
2017-12-11services: web: Remove default certificate and key files for nginx.Christopher Baines
If nginx is configured with a ssl-certificate file, and ssl-certificate-key, it will fail to start unless these exist. To avoid this happening, change the default to #f. * gnu/services/web.scm (<nginx-server-configuration>) [ssl-certificate,ssl-certificate-key]: Set the defaults to #f. * gnu/tests/web.scm (%nginx-servers): Remove redundant nginx-server-configuration fields. * doc/guix.texi (Web Services): Update examples and documentation.
2017-12-11web: Don't error about missing ssl related files.Christopher Baines
Erroring here prevents doing things like building a system using nginx on a different machine from where it's intended to be deployed, or creating containers and VMs that use the ssl-certificate parts of the nginx configuration, without also getting these files to exist. * gnu/services/web.scm (emit-nginx-server-config): Don't error on missing ssl related files.
2017-12-06services: console-font: Use 'tcsetattr' instead of invoking 'unicode_start'.Ludovic Courtès
This is more robust, faster, and incidentally gets rid of remaining "error in the finalization thread: Bad file descriptor" messages. * gnu/services/base.scm (unicode-start): Rewrite to use 'tcgetattr' and 'tcsetattr'. (console-font-shepherd-services)[start]: Add 'loop' to check whether DEVICE is ready. Tolerate EX_OSERR return from 'setfont'. [modules]: New field.
2017-12-04install: Don't start sshd by default.Ludovic Courtès
Reported by Christopher Baines <mail@cbaines.net> at <https://lists.gnu.org/archive/html/guix-devel/2017-12/msg00058.html>. * gnu/services/ssh.scm (<openssh-configuration>)[%auto-start?]: New field. (openssh-shepherd-service): Honor it. * gnu/system/install.scm (%installation-services): Set '%auto-start?' to #f for openssh-service-type.