summaryrefslogtreecommitdiff
path: root/gnu/services
Commit message (Collapse)AuthorAgeFilesLines
* services: console-font: Don't emit the IUTF8 console code.Ludovic Courtès2018-02-191-3/+0
| | | | | | | Fixes <https://bugs.gnu.org/30505>. * gnu/services/base.scm (unicode-start): Remove 'display' call to FD for "\x1b%G" console code.
* services: avahi: Publish '_workstation._tcp' by default.Ludovic Courtès2018-02-191-1/+9
| | | | | | | | | 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.Ludovic Courtès2018-02-191-2/+2
| | | | | | | * 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).
* services: xorg: Import (ice-9 rdelim).Danny Milosavljevic2018-02-171-0/+1
| | | | * gnu/services/xorg.scm (xinitrc): Import (ice-9 rdelim).
* services: mingetty: Move tty optionality to agetty.Danny Milosavljevic2018-02-151-121/+121
| | | | | | | 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.Danny Milosavljevic2018-02-151-15/+61
| | | | | | | | | | * 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.Ludovic Courtès2018-02-151-3/+1
| | | | | | * 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.Julien Lepiller2018-02-141-2/+25
| | | | | * gnu/services/web.scm (cat-avatar-generator-service): New variable. * doc/guix.text (Web Services): Document it.
* services: avahi: Default to nss-mdns 0.10.Ludovic Courtès2018-02-091-2/+4
| | | | | | | | 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.Arun Isaac2018-02-091-0/+81
| | | | | | * gnu/services/games.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. * doc/guix.texi (Game Services): Document the service.
* doc, gnu: Fix spelling of screen-things.Tobias Geerinckx-Rice2018-01-291-1/+1
| | | | | | * doc/guix.texi (X Window): Write 'screen locker' and 'screen saver' in prose. * gnu/services/xorg.scm (screen-locker-service): Likewise.
* services: postgresql: Use pg_ctl to start and stop postgres.Clément Lassieur2018-01-251-16/+24
| | | | | | | Fixes <https://bugs.gnu.org/29992>. * gnu/services/databases.scm (postgresql-shepherd-service): Replace make-forkexec-constructor and make-kill-destructor with pg_ctl.
* services: herd: 'with-shepherd' no longer leaves an open connection.Ludovic Courtès2018-01-211-2/+7
| | | | | * gnu/services/herd.scm (with-shepherd): Use 'dynamic-wind' and close CONNECTION at the end.
* services: Missing services are automatically instantiated.Ludovic Courtès2018-01-211-1/+5
| | | | | | | | | | | | | | | | | | | | | | | 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.Ludovic Courtès2018-01-211-18/+18
| | | | | | | | | | | | 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'.
* gnu: Consistently Write ‘file system(s)’.Tobias Geerinckx-Rice2018-01-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | 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.
* gnu: services: web: Add service for httpd.Christopher Baines2018-01-171-1/+228
| | | | | | | | | | | | | * 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.
* doc: Deprecate 'bitlbee-service' procedure.Ludovic Courtès2018-01-151-1/+1
| | | | | | * gnu/services/messaging.scm (bitlbee-service): Mark as deprecated. * doc/guix.texi (Messaging Services): Document 'bitlbee-service-type' and 'bitlbee-configuration'. Remove 'bitlbee-service'.
* services: bitlbee: Move to (gnu services messaging).Ludovic Courtès2018-01-152-114/+116
| | | | | | | | | * 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.
* services: qemu-binfmt: Extend guix-daemon with extra chroot directories.Ludovic Courtès2018-01-111-2/+19
| | | | | | | | | | | | 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'.
* services: guix: Add 'chroot-directories' field.Ludovic Courtès2018-01-111-11/+53
| | | | | | | | * 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.
* services: Add qemu-binfmt.Ludovic Courtès2018-01-111-1/+249
| | | | | | | | | | | | | | | | | | | * 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
* gnu: services: Add darkstat service.宋文武2018-01-081-0/+91
| | | | | | * gnu/services/monitoring.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. * doc/guix.texi (Monitoring Services): Document it.
* services: guix: Add 'log-compression' option.Ludovic Courtès2018-01-081-34/+34
| | | | | | | | * 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'.
* gnu: services: Add MATE desktop service.ng02017-12-301-0/+33
| | | | | | | | | | * 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>
* services: networking: Add a dependency override mechanism to ↵Marius Bakke2017-12-292-5/+10
| | | | | | | | | | <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.
* services: messaging: Use HTTPS for prosody.im URLs.Tobias Geerinckx-Rice2017-12-241-23/+23
| | | | | | * gnu/services/messaging.scm (prosody-configuration): Use HTTPS whenever referring to prosody.im URLs in documentation. * doc/guix.texi (Messaging Services): Likewise.
* gnu: dovecot: Update to 2.3.0.Tobias Geerinckx-Rice2017-12-231-20/+10
| | | | | | | | | | | * 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.
* services: urandom-seed: Depend on udev.Ludovic Courtès2017-12-221-1/+4
| | | | | | | Suggested by Leo Famulari <leo@famulari.name>. * gnu/services/base.scm (urandom-seed-shepherd-service): Add 'udev' to 'requirement'.
* services: urandom-seed: Deprecate the 'urandom-seed-service' procedure.Ludovic Courtès2017-12-221-2/+3
| | | | | | | | | | * 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'.
* services: urandom-seed: Become a dependency of 'user-processes'.Ludovic Courtès2017-12-221-2/+8
| | | | | | | | | | | | 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.
* services: 'user-processes-service-type' can now be extended.Ludovic Courtès2017-12-221-107/+129
| | | | | | | | | | | * 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.
* services: urandom-seed: Try using a HWRNG to seed the Linux CRNG at boot.Leo Famulari2017-12-191-0/+18
| | | | | | * 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.
* services: nginx: Allow to add raw content to the server blocks.Clément Lassieur2017-12-181-2/+7
| | | | | | * 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.
* services: nginx: Replace 'http-port' and 'https-port' with 'listen'.Clément Lassieur2017-12-183-13/+10
| | | | | | | | | | | * 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.
* services: certbot: Fix certbot renewal job.Christopher Baines2017-12-171-1/+1
| | | | | | | 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.
* services: base: Use make-static-device-nodes.Danny Milosavljevic2017-12-161-1/+15
| | | | | | Fixes <https://bugs.gnu.org/22050>. * gnu/services/base.scm (udev-shepherd-service): Use make-static-device-nodes.
* gnu: services: Add php-fpm.nee2017-12-121-1/+246
| | | | | | | | | | | | | * 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>
* services: web: Switch nginx related functions to use match-record.Christopher Baines2017-12-111-85/+81
| | | | | | | 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.
* services: web: Add support for configuring the nginx server names hash.Christopher Baines2017-12-111-5/+31
| | | | | | | | | | | | | 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.
* services: web: Remove default certificate and key files for nginx.Christopher Baines2017-12-111-2/+2
| | | | | | | | | | | | 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.
* web: Don't error about missing ssl related files.Christopher Baines2017-12-111-10/+0
| | | | | | | | | | 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.
* services: console-font: Use 'tcsetattr' instead of invoking 'unicode_start'.Ludovic Courtès2017-12-061-18/+38
| | | | | | | | | | | 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.
* install: Don't start sshd by default.Ludovic Courtès2017-12-041-2/+10
| | | | | | | | | | | 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.
* maint: Add 'berlin.guixsd.org.pub'.Ludovic Courtès2017-12-041-1/+1
| | | | | | | * bayfront.guixsd.org.pub: Rename to... * berlin.guixsd.org.pub: ... this. * Makefile.am (dist_pkgdata_DATA): Adjust accordingly. * gnu/services/base.scm (%default-authorized-guix-keys): Likewise.
* services: xorg: Properly handle the case where ~/.xession is used.Ludovic Courtès2017-12-041-1/+2
| | | | | | | | | Fixes a regression introduced in 65c0f43649b455db94f1e8b0a244a889cb961b25 in the case where users provide ~/.xsession and SESSION is #f. * gnu/services/xorg.scm (xinitrc): In the XSESSION-FILE case, check whether SESSION is #f.
* services: xorg: Add 'font-misc-misc' to the default font set.Ludovic Courtès2017-12-011-0/+2
| | | | | | | Fixes <https://bugs.gnu.org/24279>. Reported by John Darrington <john@darrington.wattle.id.au>. * gnu/services/xorg.scm (%default-xorg-fonts): Add FONT-MISC-MISC.
* services: certbot: Add default value and description.Ludovic Courtès2017-11-281-1/+6
| | | | | | * gnu/services/certbot.scm (certbot-service-type) [default-value, description]: New fields. * po/packages/POTFILES.in: Add it.
* services: cgit, git-daemon: Add description and default value.Ludovic Courtès2017-11-281-2/+9
| | | | | | | * gnu/services/version-control.scm (git-daemon-service-type) [description, default-value]: New fields. (cgit-service-type)[default-value]: New field. * po/packages/POTFILES.in: Add version-control.scm.
* services: Add Git HTTP(S) service support.Andy Wingo2017-11-281-1/+51
| | | | | | | | | * doc/guix.texi (Version Control Services): Add documentation on the HTTP backend for git. * gnu/services/version-control.scm (<git-http-configuration>): New data type. (git-http-nginx-location-configuration): New helper function. Signed-off-by: Ludovic Courtès <ludo@gnu.org>