summary refs log tree commit diff
path: root/gnu/services
AgeCommit message (Collapse)Author
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.
2017-12-04maint: Add 'berlin.guixsd.org.pub'.Ludovic Courtès
* 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.
2017-12-04services: xorg: Properly handle the case where ~/.xession is used.Ludovic Courtès
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.
2017-12-01services: xorg: Add 'font-misc-misc' to the default font set.Ludovic Courtès
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.
2017-11-28services: certbot: Add default value and description.Ludovic Courtès
* gnu/services/certbot.scm (certbot-service-type) [default-value, description]: New fields. * po/packages/POTFILES.in: Add it.
2017-11-28services: cgit, git-daemon: Add description and default value.Ludovic Courtès
* 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.
2017-11-28services: Add Git HTTP(S) service support.Andy Wingo
* 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>
2017-11-28services: Add certbot service.Andy Wingo
* gnu/services/certbot.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add new file. * doc/guix.texi (Certificate Services): New section. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2017-11-28services: xorg: Remove WindowMaker as a default fallback.Ludovic Courtès
* gnu/services/xorg.scm (xinitrc)[builder](system-profile) (user-profile): New variables. (xsession-command, find-session): New procedures. When FALLBACK-SESSION is #f, find a valid session at run time. * doc/guix.texi (X Window): Adjust accordingly, and insist that one or more window managers must be installed.
2017-11-28services: xorg: Document 'slim-configuration' and deprecate 'slim-service'.Ludovic Courtès
* gnu/services/xorg.scm (<slim-configuration>): Provide default values for all fields. (slim-service-type)[default-value]: New field. * doc/guix.texi (X Window): Remove 'slim-service' documentation. Document 'slim-service-type' and 'slim-configuration'. * gnu/services/desktop.scm (%desktop-services): Use 'slim-service-type'.
2017-11-28services: slim: Remove unused 'bash' configuration field.Ludovic Courtès
* gnu/services/xorg.scm (<slim-configuration>)[bash]: Remove. (slim-service): Adjust accordingly.
2017-11-28services: xorg: Allow users to specify a list of modules.Ludovic Courtès
* gnu/services/xorg.scm (%default-xorg-fonts): New variable. (xorg-configuration-file): Add #:modules and #:fonts. Rewrite to return a 'computed-file' that honors MODULES and FONTS. (xorg-wrapper): Pass #:modules to 'xorg-configuration-file'. (xorg-start-command): Add #:fonts. Pass #:fonts and #:modules to 'xorg-configuration-file'. * doc/guix.texi (X Window): Adjust documentation of 'xorg-start-command' and 'xorg-configuration-file'.
2017-11-28services: configuration: Show default values of list types.Clément Lassieur
* doc/guix.texi (Messaging Services): Regenerate it. * gnu/services/configuration.scm (show-default?): Check VAL rather than DEFAULT. * gnu/services/messaging.scm (show-default?): Check VAL rather than DEFAULT. (prosody-configuration)[modules-enabled]: Remove default value from docstring.
2017-11-27services: desktop: Create /var/run/udisks2 for the udisks service.Christopher Baines
* gnu/services/desktop.scm (%udisks-activation): New variable. (udisks-service-type)[extensions]: Extend the activation service type with %udisks-activation.
2017-11-26services: prosody: Add support for disable-sasl-mechanisms.Clément Lassieur
* doc/guix.texi (Messaging Services): Update accordingly. * gnu/services/messaging.scm (prosody-configuration)[disable-sasl-mechanisms]: New field.
2017-11-26services: prosody: Allow to add raw content to the config file.Clément Lassieur
* doc/guix.texi (Messaging Services): Update accordingly. * gnu/services/messaging.scm (prosody-configuration)[raw-content]: New field. (raw-content?, serialize-raw-content): New procedures.
2017-11-26services: prosody: Add support for http-max-content-size.Clément Lassieur
* doc/guix.texi (Messaging Services): Update accordingly. * gnu/services/messaging.scm (prosody-configuration)[http-max-content-size]: New field.
2017-11-26services: prosody: Add support for http-external-url.Clément Lassieur
* doc/guix.texi (Messaging Services): Update accordingly. * gnu/services/messaging.scm (prosody-configuration)[http-external-url]: New field.
2017-11-26services: prosody: Adapt to Prosody 0.10.0.Clément Lassieur
* doc/guix.texi (Messaging Services): Add "mam" as a module example. Document 'prosodyctl check'. Replace 'prosodyctl cert request' with 'prosodyctl cert import'. Regenerate it. * gnu/services/messaging.scm (serialize-module-list): Remove "posix" from the default modules list because it is now automatically loaded. (ssl-configuration)[key, certificate]: Remove them because they are now automatically located. Fix their docstrings. (%default-modules-enabled): Add "carbons" and "blocklist". (prosody-configuration)[certificates]: Set default directory from which certificates/keys will be automatically located.
2017-11-22services: dicod: Run in a container.Ludovic Courtès
* gnu/services/dict.scm (dicod-shepherd-service): Add 'with-imported-modules' form and 'modules' field. Use 'make-forkexec-constructor/container' instead of 'make-forkexec-constructor'.
2017-11-13services: guix: Remove dependency on 'lsof'.Ludovic Courtès
This is a followup to b8f59cdc20e9d83ce63523ef917e95fcee07f134: 'list-runtime-roots' no longer depends on 'lsof'. * gnu/services/base.scm (<guix-configuration>)[lsof]: Remove. (guix-shepherd-service): Adjust accordingly. * doc/guix.texi (Base Services): Adjust accordingly. * gnu/system.scm (%base-packages): Remove LSOF.
2017-11-08gnu: service: Update comment.Hartmut Goebel
* gnu/services/base.scm (guix-activation): Update comment.
2017-11-07services: gdm: Add environment variables.Timothy Sample
While not an optimal solution (see comment), this makes GDM functional. * gnu/services/xorg.scm (gdm-shepherd-service): Set PATH and XDG_DATA_DIRS environment variables. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2017-11-05services: Add 'description' fields.Ludovic Courtès
* gnu/services/admin.scm (rottlog-service-type) (tailon-service-type): Add 'description' field. * gnu/services/audio.scm (mpd-service-type): Likewise. * gnu/services/avahi.scm (avahi-service-type): Likewise. * gnu/services/ssh.scm (lsh-service-type) (openssh-service-type, dropbear-service-type): Likewise.
2017-11-05services: Add murmur.nee
* gnu/services/telephony.scm: New file. * gnu/local.mk: Add it. * doc/guix.texi (Telephony Services): New node. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2017-10-22services: base: Add file->udev-rule function.Maxim Cournoyer
This function allows passing a file-like object to the udev service. * gnu/services/base.scm (file->udev-rule): New function. * doc/guix.texi (Base Services): Document it. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2017-10-11services: gnome: Register more polkit actions.Ludovic Courtès
This should allow more operations such as changing the system date and time via the Control Center (reported at <https://lists.gnu.org/archive/html/help-guix/2016-09/msg00059.html>), performing "file operations" via gvfs, and interacting with processes using the System Monitor. * gnu/services/desktop.scm (gnome-polkit-settings): New procedure. (gnome-desktop-service-type): Use it in POLKIT-SERVICE-TYPE extension.
2017-10-11file-systems: 'mount-file-system' now takes a <file-system> object.Ludovic Courtès
* gnu/build/file-systems.scm (mount-file-system): Rename 'spec' to 'fs' and assume it's a <file-system>. * gnu/build/linux-boot.scm (boot-system): Assume MOUNTS is a list of <file-system> and adjust accordingly. * gnu/build/linux-container.scm (mount-file-systems): Remove 'file-system->spec' call. * gnu/services/base.scm (file-system-shepherd-service): Add 'spec->file-system' call. Add (gnu system file-systems) to 'modules'. * gnu/system/linux-initrd.scm (raw-initrd): Use (gnu system file-systems). Add 'spec->file-system' call for #:mounts.
2017-10-10services: vpn: Fix default tls-auth configuration.Julien Lepiller
* gnu/services/vpn.scm (serialize-tls-auth): Fix serialization error when tls-auth is disabled.
2017-10-08services: Remove unneeded imported.Ludovic Courtès
This caused a circular dependency. Reported by Oleg Pykhalov <go.wigust@gmail.com> at <https://lists.gnu.org/archive/html/help-guix/2017-10/msg00021.html>. * gnu/services/networking.scm: Remove unneeded import of (gnu system base).
2017-10-06services: Add MongoDB.Christopher Baines
* gnu/services/databases.scm (%default-mongodb-configuration-file, %mongodb-accounts, mongodb-service-type): New variables. (<mongodb-configuration>): New record type. (mongodb-activation, mongodb-shepherd-service): New procedures. * gnu/tests/databases.scm (%test-mongodb): New variable. * doc/guix.texi (Database Services): Add MongoDB documentation.
2017-10-03gnu: services: Add cgit.Oleg Pykhalov
* gnu/services/version-control.scm (<cgit-configuration-file>, <cgit-configuration>): New record types. (cgit-configuration-robots-string, cgit-activation, cgit-configuration-nginx-config): New procedures. (%cgit-configuration-nginx, cgit-service-type): New variables. * gnu/tests/version-control.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. * doc/guix.texi (Version Control): Document the cgit service. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2017-09-28services: web: Add try-files for the nginx-service-type.Oleg Pykhalov
* gnu/services/web.scm (<nginx-server-configuration>): Add nginx-server-configuration-try-files. (emit-nginx-server-config): Use it. * doc/guix.texi (Web Services): Document it.
2017-09-26services: cuirass: Add host option.Jan Nieuwenhuizen
* gnu/services/cuirass.scm (<cuirass-configuration>): Add host option. (cuirass-shepherd-service): Pass host option. * doc/guix.texi (Continuous Integration): Document it.
2017-09-23gnu: Add rsync service.Oleg Pykhalov
* doc/guix.texi (Networking Services): Add rsync service documentation. * gnu/services/rsync.scm (<rsync-configuration>): New file. * gnu/tests/rsync.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add new files. Signed-off-by: Christopher Baines <mail@cbaines.net>
2017-09-22services: network-manager: Add support for VPN plug-ins.Ludovic Courtès
* gnu/services.scm (directory-union): Export. * gnu/services/networking.scm (<network-manager-configuration>)[vpn-plugins]: New field. (vpn-plugin-directory, network-manager-environment): New procedure. (network-manager-shepherd-service): Pass #:environment-variables to 'make-forkexec-constructor'. (network-manager-service-type): Add SESSION-ENVIRONMENT-SERVICE-TYPE extension. * doc/guix.texi (Networking Services): Document it.
2017-09-22services: Move 'session-environment-service-type' to pam.scm.Ludovic Courtès
* gnu/services/base.scm (environment-variables->environment-file) (session-environment-service-type) (session-environment-service): Move to... * gnu/system/pam.scm: ... here.