summary refs log tree commit diff
path: root/gnu/services
AgeCommit message (Collapse)Author
2017-03-24services: Add inetd-service-type.Thomas Danckaert
* gnu/services/networking.scm (<inetd-configuration>, <inetd-entry>): New record types. (inetd-config-file, inetd-shepherd-service): New procedures. (inetd-service-type): New variable. * doc/guix.texi (Networking Services): Document it. * gnu/tests/networking.scm: New file. * gnu/local.mk: Add it.
2017-03-24services: openvpn: Fix a typo which was corrected in generated doc.Mathieu Othacehe
* gnu/services/vpn.scm (define-split-configuration): Fix typo. Signed-off-by: Clément Lassieur <clement@lassieur.org>
2017-03-24gnu: Add tlp service.Mathieu Othacehe
* gnu/services/pm.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add gnu/services/tlp.scm. * doc/guix.texi (Power management Services): New section. Signed-off-by: Clément Lassieur <clement@lassieur.org>
2017-03-24services: configuration: Rewrite id procedure.Mathieu Othacehe
* gnu/services/configuration.scm (id): Replace it using the more concise version found in messaging.scm. Signed-off-by: Clément Lassieur <clement@lassieur.org>
2017-03-24services: Factorize define-maybe macro.Mathieu Othacehe
* gnu/services/configuration.scm (id): New procedure extracted from define-configuration. (define-maybe): New exported procedure, moved from messaging.scm. * gnu/services/messaging.scm (define-maybe): Remove it. (id): Move declaration inside define-all-configurations which is now the only caller procedure. Signed-off-by: Clément Lassieur <clement@lassieur.org>
2017-03-24services: guix-publish: Add 'compression-level' and 'nar-path' fields.Ludovic Courtès
* gnu/services/base.scm (<guix-publish-configuration>)[compression-level, nar-path]: New fields. (guix-publish-shepherd-service): Honor them. * doc/guix.texi (Base Services): Document them.
2017-03-24doc: Document 'guix-publish-service-type' instead of 'guix-publish-service'.Ludovic Courtès
* doc/guix.texi (Base Services): Document 'guix-publish-service-type' and 'guix-configuration'. Remove 'guix-publish-service'. (Invoking guix publish): Mention 'guix-publish-service-type'. * gnu/services/base.scm (guix-publish-service): Mark as deprecated. (<guix-configuration>): Export getters.
2017-03-21file-systems: Do not use (gnu packages …).Ludovic Courtès
Fixes a regression introduced in 7208995426714c9fc3ad59cadc3cc0f52df0f018 whereby (gnu system file-systems) would pull in (gnu packages …) module, which in turn breaks when importing things like (gnu build shepherd). * gnu/system/file-systems.scm (file-system-type-predicate): Export. (file-system-packages): Move to... * gnu/system/linux-initrd.scm (file-system-packages): ... here. Add docstring. * gnu/services/base.scm: Use it. * tests/file-systems.scm ("does not pull (gnu packages …)"): New test.
2017-03-21services: openssh: Add 'subsystems' option.Clément Lassieur
* gnu/services/ssh.scm (openssh-config-file): Add it. (<openssh-configuration>)[subsystems]: Add it. * doc/guix.texi (Networking Services): Document it.
2017-03-21services: openssh: Cosmetic changes.Clément Lassieur
* gnu/services/ssh.scm (<openssh-configuration>): Reformat to fit in 80 columns.
2017-03-19services: Remove Tab character from source code whitespace.Danny Milosavljevic
* gnu/services/base.scm (file-system-shepherd-service): Remove Tab character from source code whitespace.
2017-03-19services: file-system-shepherd-service: Make it find the fsck programs.Danny Milosavljevic
Fixes <https://bugs.gnu.org/25917>. * gnu/services/base.scm (file-system-shepherd-service): Use file-system-packages.
2017-03-16services: connman: Rework service.Mathieu Othacehe
* gnu/services/networking.scm (connman-service): Remove. (<connman-configuration>): New record specifying the package to be used (connman) and whether vpn plugin shall be disabled (disable-vpn?). (connman-configuration): New exported variable. (connman-configuration?): New exported variable. (connman-service-type): Export it. * doc/guix.texi (Networking Services): Adjust accordingly. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2017-03-12services: Move configuration functions that shouldn't be factorized.Clément Lassieur
* gnu/services/configuration.scm (serialize-field, serialize-string) (serialize-space-separated-string-list, space-separated-string-list?) (serialize-file-name, file-name?, serialize-boolean): Move these functions... * gnu/services/cups.scm: ...to this file. * gnu/services/kerberos.scm: ...to this file. Configuration syntaxes are very specific to services. Some services may have the same configuration syntax, but none of them is common enough to be abstracted in configuration.scm. Signed-off-by: Clément Lassieur <clement@lassieur.org>
2017-03-12services: dovecot: Reimplement proper configuration functions.Clément Lassieur
* gnu/services/mail.scm (uglify-field-name, serialize-field, serialize-string) (space-separated-string-list?, serialize-space-separated-string-list) (file-name?, serialize-file-name, serialize-boolean): Add them. These functions were inadvertently changed while being factorized in gnu/service/configuration.scm. Signed-off-by: Clément Lassieur <clement@lassieur.org>
2017-03-12services: dovecot: Fix unix_listeners and fifo_listeners path types.Clément Lassieur
* gnu/services/mail.scm (unix-listener-configuration)[path] (fifo-listener-configuration)[path]: Change type from 'file-name' to 'string'. * doc/guix.texi (Mail Services): Document it. Signed-off-by: Clément Lassieur <clement@lassieur.org>
2017-03-10services: openssh: Fix 'PrintLastLog' default behaviour.Clément Lassieur
* gnu/services/ssh.scm (openssh-config-file): Add 'print-last-log?' option. (<openssh-configuration>)[print-last-log?]: Add it. (openssh-activation): Touch /var/log/lastlog. * doc/guix.texi (Networking Services): Document 'print-last-log?'. Before that, the service did not work as expected because /var/log/lastlog did not exist. Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
2017-03-10services: openssh: Remove deprecated options.Clément Lassieur
* gnu/services/ssh.scm (openssh-config-file): Remove them. (<openssh-configuration>)[rsa-authentication?]: Remove it. (<openssh-configuration>)[protocol-number]: Remove it. * doc/guix.texi (Networking Services): Remove them. Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
2017-03-10services: openssh: Enable PAM.Clément Lassieur
* gnu/services/ssh.scm: (openssh-pam-services): New procedure. (openssh-service-type): Use it to extend PAM-ROOT-SERVICE-TYPE. (<openssh-configuration>)[challenge-response-authentication?]: New field. (<openssh-configuration>)[use-pam?]: New field. (openssh-config-file): Add them. * doc/guix.texi (Networking Services): Document them. Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
2017-03-10services: Add exim-service-type.Carlo Zancanaro
* gnu/services/mail.scm (<exim-configuration>): New record type. (exim-computed-config-file, exim-shepherd-service, exim-activation, exim-etc, exim-profile): New procedures. (exim-service-type, %exim-accounts): New variables. * doc/guix.text (Mail Services): Document it. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2017-03-08services: prosody: Use 'id' to introduce unhygienic top-level identifiers.Ludovic Courtès
* gnu/services/messaging.scm (define-all-configurations): Use 'id' to introduce raw/literal/unhygienic top-level identifiers. Fixes compilation with Guile 2.2.
2017-03-08services: prosody: Make sure 'id' is available at expansion time.Ludovic Courtès
* gnu/services/messaging.scm (id): Use 'define-syntax-rule' instead of 'define' to make sure 'id' is available at expansion time.
2017-03-06services: openssh: Parameterize the OpenSSH package used by the service.Leo Famulari
* gnu/services/ssh.scm (<openssh-configuration>)[openssh]: New field. (openssh-activation, openssh-shepherd-service): Use it.
2017-03-05services: Add agetty service.Leo Famulari
* gnu/services/base.scm (<agetty-configuration>): New record type. (agetty-shepherd-service, agetty-service): New procedures. (agetty-service-type): New variable. * doc/guix.texi (Base Services): Document it. [mingetty-configuration],[kmscon-configuration]: Specify the types of supported consoles.
2017-03-02services: ssh: Remove 'openssh-service' exported symbol.Alex Kost
This is a followup to commit d8f3128119d32bcc186c8a1fe15b037bba25b4b8. Reported by thomasd on #guix. * gnu/services/ssh.scm: Do not export 'openssh-service' as it does not exist.
2017-02-23services: guix: Support building in a directory besides '/tmp'.Leo Famulari
* gnu/services/base.scm (<guix-configuration>)[tmpdir]: New field. (guix-shepherd-service): Use 'tmpdir' in #:environment-variables. * doc/guix.texi (Base Services)[guix-configuration]: Document it.
2017-02-22services: guix: Support using an HTTP proxy.Leo Famulari
* gnu/services/base.scm (<guix-configuration>)[http-proxy]: New field. (guix-shepherd-service): Use 'http-proxy' in #:environment-variables. * doc/guix.texi (Base Services)[guix-configuration]: Document it.
2017-02-19gnu: Remove xf86-video-modesetting.Marius Bakke
This is part of xorg-server since version 1.17: https://cgit.freedesktop.org/xorg/xserver/commit/?id=35dc7c75150733dbcef8a18b6796f49a7c48ebee * gnu/packages/xorg.scm (xf86-video-modesetting): Remove variable. * gnu/services/xorg.scm (xorg-configuration-file, %default-xorg-modules): Adjust accordingly.
2017-02-12services: Add openvswitch-service-type.宋文武
* gnu/services/networking.scm (<openvswitch-configuration>): New record type. (openvswitch-activation, openvswitch-shepherd-service): New procedures. (openvswitch-service-type): New variable. * doc/guix.texi (Networking Services): Document it.
2017-02-10tests: Add 'prosody-service-type' test.Clément Lassieur
* gnu/tests/messaging.scm: New file. * gnu/services/messaging.scm: New exported procedure. (<shepherd-service>)[provision]: Add 'xmpp-daemon'. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2017-02-08services: shepherd: Replace spaces with hyphens in file names.Clément Lassieur
This fixes a bug whereby names of files defining services would be invalid if 'provisions' contained more than one element. * gnu/services/shepherd.scm (shepherd-service-file-name): Update 'match-lambda' accordingly. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2017-02-08services: Add 'special-files-service-type'.Ludovic Courtès
* gnu/build/activation.scm (activate-/bin/sh): Remove. (activate-special-files): New procedure. * gnu/services.scm (activation-script): Remove call to 'activate-/bin/sh'. (special-files-service-type): New variable. (extra-special-file): New procedure. * gnu/services/base.scm (%base-services): Add SPECIAL-FILES-SERVICE-TYPE instance. * gnu/tests/base.scm (run-basic-test)[special-files]: New variables. ["special files"]: New test.
2017-02-07services: bitlbee: Run in a container.Ludovic Courtès
* gnu/services/networking.scm (bitlbee-shepherd-service): Wrap in 'with-imported-modules' and add 'modules' field. Use 'make-forkexec-constructor/container' and pass #:mappings.
2017-02-07services: bitlbee: Read the PID file.Ludovic Courtès
* gnu/services/networking.scm (bitlbee-shepherd-service): Pass #:pid-file to 'make-forkexec-constructor'.
2017-02-02services: cuirass: Add load-path to cuirass configurationMathieu Othacehe
* gnu/services/cuirass.scm (<cuirass-configuration>): Add load-path field. (cuirass-shepherd-service): Honor it. * doc/guix.texi (Continuous Integration): Document it. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2017-02-01services: Make 'static-networking' extensible.Ludovic Courtès
This allows users to statically define several interfaces. * gnu/services/networking.scm (<static-networking>)[provision] [name-servers]: Add default values. (static-networking-shepherd-service) (static-networking-etc-files) (static-networking-shepherd-services): New procedures. (static-networking-service-type): Change to extend both SHEPHERD-ROOT-SERVICE-TYPE and ETC-SERVICE-TYPE. (static-networking-service): Remove default value of #:provision. Implement using 'simple-service'. * gnu/services/base.scm (%base-services): Replace 'static-networking-service' call with 'service' form. * doc/guix.texi (Networking Services): Update documentation.
2017-01-31system: Introduce 'file-systems' Shepherd service.Ludovic Courtès
* gnu/services/base.scm (file-system-shepherd-services): New procedure. (file-system-service-type): Use it as the SHEPHERD-ROOT-SERVICE-TYPE extension. (user-processes-service-type): Change to take a single 'grace-delay' parameter. (user-processes-service): Remove 'file-systems' parameter. Pass GRACE-DELAY as the only value for the service. * gnu/system.scm (essential-services): Adjust accordingly.
2017-01-25services: Export guix-configuration getters.Mathieu Othacehe
* gnu/services/base.scm (guix-configuration-*): Export. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2017-01-25services: Fix 'mkdir-p' in activation scripts.Clément Lassieur
* gnu/services/cups.scm (%cups-activation): Import (guix build utils). * gnu/services/mail.scm (opensmtpd-activation): Idem. * gnu/services/networking.scm (ntp-service-activation): Idem. * gnu/services/spice.scm (spice-vdagent-activation): Idem. * gnu/services/ssh.scm (openssh-activation): Idem. (dropbear-activation): Idem. * gnu/services/vpn.scm (%openvpn-activation): Idem. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2017-01-23services: prosody: Fix activation script.Clément Lassieur
* gnu/services/messaging.scm (prosody-activation): Import (guix build utils) for 'mkdir-p'. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2017-01-22services: cuirass: Add port to cuirass configurationMathieu Othacehe
* gnu/services/cuirass.scm (<cuirass-configuration>): Add port field. (cuirass-shepherd-service): Honor it. * doc/guix.texi (Continuous Integration): Document it. Signed-off-by: Mathieu Lirzin <mthl@gnu.org>
2017-01-20services: Reindent vpn.scm.Ludovic Courtès
This fixes indentation of 'match' forms. * gnu/services/vpn.scm: Pass through 'indent-code.el'.
2017-01-20services: network-manager: Use record for configuration.Christopher Baines
* gnu/services/network-manager.scm (<network-manager-configuration>): New record type. (network-manager-shpeherd-service): Change to use the network-manager-configuration record, rather than a package. Generate a simple configuration file from the network-manager-configuration record. (network-manager-service-type): Update extensions to take the network-manager-configuration rather than a package. (network-manager-service): Remove function, the network-manager-service-type can be used instead, and this avoids keeping the function signature and value coresponding to the service type in sync. * doc/guix.texi (Networking Services): Remove documentation for the removed network-manager-service procedure, and add documentation of the network-manager-service-type variable and network-manager-configuration record. Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
2017-01-19services: nginx: Add default values for <nginx-configuration> fields.Ludovic Courtès
* gnu/services/web.scm (<nginx-configuration>)[nginx, log-directory] [run-directory, server-blocks, upstream-blocks, file]: Add default values.
2017-01-19services: nginx: Add support for 'location' blocks.Christopher Baines
* gnu/services/web.scm (<nginx-server-configuration>): Add field 'locations'. (<nginx-location-configuration>): New record type. (<nginx-named-location-configuration>): New record type. (nginx-location-config): New function. (default-nginx-server-config): Include locations. * doc/guix.texi (Web Services): Document the new nginx-location-configuration and nginx-named-location-configuration data types, as well as the changes to the nginx-server-configuration. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2017-01-19services: nginx: Add support the 'upstream' module.Christopher Baines
* gnu/services/web.scm (<nginx-upstream-configuration>): New record type. (<nginx-configuration>): Add new field upstream-blocks. (nginx-upstream): New function. (default-nginx-config): Add upstream-list parameter. (nginx-service): Add optional upstream list keyword argument. * doc/guix.texi (Web Services): Document the new nginx-upstream-configuration data type and changes to the nginx function. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2017-01-15gnu: Add openvpn service.Julien Lepiller
* gnu/services/vpn.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. * doc/guix.texi (VPN Services): New section.
2017-01-12services: Add 'redis-service-type'.Christopher Baines
* gnu/services/database.scm (<redis-configuration>): New record type. (%redis-accounts, redis-service-type): New variables. (default-redis.conf, redis-activation, redis-shepherd-service): New procedures. * doc/guix.texi (Database Services): Document the new redis service. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2017-01-11services: wicd: Create /var/run/wpa_supplicant.Ludovic Courtès
* gnu/services/networking.scm (%wicd-activation): Create /var/run/wpa_supplicant.
2017-01-08gnu: Add Prosody service.Clément Lassieur
* gnu/services/messaging.scm: New file. * gnu/services/configuration.scm: New exported procedures. * gnu/local.mk (GNU_SYSTEM_MODULES): Add gnu/services/messaging.scm. * doc/guix.texi (Messaging Services): New section. Signed-off-by: Ludovic Courtès <ludo@gnu.org>