aboutsummaryrefslogtreecommitdiff
path: root/gnu/services
Commit message (Collapse)AuthorAge
* services: certbot: Fix certbot renewal job.Christopher Baines2017-12-17
| | | | | | | 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-16
| | | | | | 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-12
| | | | | | | | | | | | | * 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-11
| | | | | | | 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-11
| | | | | | | | | | | | | 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-11
| | | | | | | | | | | | 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-11
| | | | | | | | | | 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-06
| | | | | | | | | | | 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-04
| | | | | | | | | | | 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-04
| | | | | | | * 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-04
| | | | | | | | | 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-01
| | | | | | | 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-28
| | | | | | * 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-28
| | | | | | | * 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-28
| | | | | | | | | * 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>
* services: Add certbot service.Andy Wingo2017-11-28
| | | | | | | | * 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>
* services: xorg: Remove WindowMaker as a default fallback.Ludovic Courtès2017-11-28
| | | | | | | | | * 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.
* services: xorg: Document 'slim-configuration' and deprecate 'slim-service'.Ludovic Courtès2017-11-28
| | | | | | | | | * 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'.
* services: slim: Remove unused 'bash' configuration field.Ludovic Courtès2017-11-28
| | | | | * gnu/services/xorg.scm (<slim-configuration>)[bash]: Remove. (slim-service): Adjust accordingly.
* services: xorg: Allow users to specify a list of modules.Ludovic Courtès2017-11-28
| | | | | | | | | | | * 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'.
* services: configuration: Show default values of list types.Clément Lassieur2017-11-28
| | | | | | | * 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.
* services: desktop: Create /var/run/udisks2 for the udisks service.Christopher Baines2017-11-27
| | | | | | * gnu/services/desktop.scm (%udisks-activation): New variable. (udisks-service-type)[extensions]: Extend the activation service type with %udisks-activation.
* services: prosody: Add support for disable-sasl-mechanisms.Clément Lassieur2017-11-26
| | | | | | * doc/guix.texi (Messaging Services): Update accordingly. * gnu/services/messaging.scm (prosody-configuration)[disable-sasl-mechanisms]: New field.
* services: prosody: Allow to add raw content to the config file.Clément Lassieur2017-11-26
| | | | | | * doc/guix.texi (Messaging Services): Update accordingly. * gnu/services/messaging.scm (prosody-configuration)[raw-content]: New field. (raw-content?, serialize-raw-content): New procedures.
* services: prosody: Add support for http-max-content-size.Clément Lassieur2017-11-26
| | | | | | * doc/guix.texi (Messaging Services): Update accordingly. * gnu/services/messaging.scm (prosody-configuration)[http-max-content-size]: New field.
* services: prosody: Add support for http-external-url.Clément Lassieur2017-11-26
| | | | | | * doc/guix.texi (Messaging Services): Update accordingly. * gnu/services/messaging.scm (prosody-configuration)[http-external-url]: New field.
* services: prosody: Adapt to Prosody 0.10.0.Clément Lassieur2017-11-26
| | | | | | | | | | | | | * 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.
* services: dicod: Run in a container.Ludovic Courtès2017-11-22
| | | | | | | * 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'.
* services: guix: Remove dependency on 'lsof'.Ludovic Courtès2017-11-13
| | | | | | | | | | 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.
* gnu: service: Update comment.Hartmut Goebel2017-11-08
| | | | * gnu/services/base.scm (guix-activation): Update comment.
* services: gdm: Add environment variables.Timothy Sample2017-11-07
| | | | | | | | | 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>
* services: Add 'description' fields.Ludovic Courtès2017-11-05
| | | | | | | | | * 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.
* services: Add murmur.nee2017-11-05
| | | | | | | | * 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>
* services: base: Add file->udev-rule function.Maxim Cournoyer2017-10-22
| | | | | | | | | 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>
* services: gnome: Register more polkit actions.Ludovic Courtès2017-10-11
| | | | | | | | | | | 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.
* file-systems: 'mount-file-system' now takes a <file-system> object.Ludovic Courtès2017-10-11
| | | | | | | | | | | | | * 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.
* services: vpn: Fix default tls-auth configuration.Julien Lepiller2017-10-10
| | | | | * gnu/services/vpn.scm (serialize-tls-auth): Fix serialization error when tls-auth is disabled.
* services: Remove unneeded imported.Ludovic Courtès2017-10-08
| | | | | | | | | 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).
* services: Add MongoDB.Christopher Baines2017-10-06
| | | | | | | | | * 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.
* gnu: services: Add cgit.Oleg Pykhalov2017-10-03
| | | | | | | | | | | | | * 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>
* services: web: Add try-files for the nginx-service-type.Oleg Pykhalov2017-09-28
| | | | | | | * 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.
* services: cuirass: Add host option.Jan Nieuwenhuizen2017-09-26
| | | | | | * gnu/services/cuirass.scm (<cuirass-configuration>): Add host option. (cuirass-shepherd-service): Pass host option. * doc/guix.texi (Continuous Integration): Document it.
* gnu: Add rsync service.Oleg Pykhalov2017-09-23
| | | | | | | | | * 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>
* services: network-manager: Add support for VPN plug-ins.Ludovic Courtès2017-09-22
| | | | | | | | | | | | * 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.
* services: Move 'session-environment-service-type' to pam.scm.Ludovic Courtès2017-09-22
| | | | | | | * gnu/services/base.scm (environment-variables->environment-file) (session-environment-service-type) (session-environment-service): Move to... * gnu/system/pam.scm: ... here.
* gnu: services: Add modesetting driver to xorg configuration path.Andy Wingo2017-09-20
| | | | | | | * gnu/services/xorg.scm (xorg-configuration-file): Add drivers path from xorg-server. This includes the modesetting driver. Signed-off-by: Andy Wingo <wingo@igalia.com>
* services: networking: Add descriptions.Ludovic Courtès2017-09-16
| | | | | | | | | | * gnu/services/networking.scm (static-networking-service-type) (ntp-service-type, inetd-service-type, tor-service-type) (tor-hidden-service-type, bitlbee-service-type) (wicd-service-type, network-manager-service-type) (connman-service-type, openvswitch-service-type): Add 'description' field. * po/packages/POTFILES.in: Add gnu/services/networking.scm.
* services: base: Add descriptions.Ludovic Courtès2017-09-16
| | | | | | | | | | | | | * gnu/services/base.scm (fstab-service-type) (file-system-service-type, urandom-seed-service-type) (session-environment-service-type) (console-font-service-type) (login-service-type, agetty-service-type) (mingetty-service-type, nscd-service-type) (pam-limits-service-type, guix-service-type) (guix-publish-service-type, udev-service-type) (gpm-service-type): Add 'description' field. * po/packages/POTFILES.in: Add gnu/services/base.scm.
* gnu: cuirrass: Default port to 8081.Jan Nieuwenhuizen2017-09-13
| | | | | | * gnu/services/cuirass.scm (<cuirass-configuration>): Default port to 8081. Fixes conflict with guix-publish default. * doc/guix.texi (Continuous Integration): Update.
* services: file-system: Use 'file-system->spec'.Ludovic Courtès2017-09-11
| | | | | * gnu/services/base.scm (file-system-shepherd-service): Use 'file-system->spec' instead of in-line code.