summary refs log tree commit diff
path: root/gnu/services
AgeCommit message (Collapse)Author
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>
2017-01-03services: nginx: Make service extensible.Julien Lepiller
* gnu/services/web.scm (<nginx-configuration>)[server-blocks]: New field. (nginx-activation): When CONFIG-FILE is #f, use 'default-nginx-config'. (nginx-shepherd-service): Likewise. (nginx-service-type): Add 'compose' and 'extend' fields. (nginx-service): Change default value of #:server-list to '(), and default value of #:config-file to #f. * doc/guix.texi (Web Services): Document it. Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2017-01-03services: nginx: Fix multiple index and server name.Julien Lepiller
* gnu/services/web.scm (config-domain-strings, config-index-string): separate names with a space. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2017-01-03services: nginx: Rename "vhost" to "server".Julien Lepiller
* gnu/services/web.scm (<nginx-vhost-configuration>): Rename to... (<nginx-server-configuration>): ... this. * doc/guix.texi (Web Services): Adjust accordingly. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2017-01-01services: cuirass: Remove 'cuirass-service' procedure.Ludovic Courtès
* gnu/services/cuirass.scm (<cuirass-configuration>)[specifications]: Remove default value. (cuirass-service): Remove. * doc/guix.texi (Continuous Integration): Adjust accordingly.
2017-01-01services: cuirass: Allow for gexps in specifications.Ludovic Courtès
* gnu/services/cuirass.scm (<cuirass-configuration>)[specifications]: Change default value to #~'(). (cuirass-shepherd-service): Remove conditional for "--specifications". Use 'scheme-file' instead of 'plain-file'. Change file name to "cuirass-specs.scm". * doc/guix.texi (Continuous Integration): Change the example to use a gexp where #:file refers to a file within Cuirass. Adjust documentation.
2016-12-29services: Add libmtp's udev rules to '%desktop-services'.Ludovic Courtès
Suggested by Chris Marusich <cmmarusich@gmail.com>. * gnu/services/desktop.scm (%desktop-services): Add 'mtp' service via call to 'simple-service'.
2016-12-21gnu: Fix typo in comment.John Darrington
* gnu/services/sddm.scm: Fix typo.
2016-12-20services: cuirass: Add Cuirass to the system profile.Ludovic Courtès
* gnu/services/cuirass.scm (cuirass-service-type): Extend PROFILE-SERVICE-TYPE.
2016-12-20services: cuirass: Add 'cuirass' field.Ludovic Courtès
* gnu/services/cuirass.scm (<cuirass-configuration>)[cuirass]: New field. (cuirass-shepherd-service): Honor it. * doc/guix.texi (Continuous Integration): Document it.
2016-12-20services: cuirass: Create the database directory.Ludovic Courtès
* gnu/services/cuirass.scm (cuirass-activation): Create the database directory for CONFIG.
2016-12-19services: guix: Add 'log-file' configuration option.Ludovic Courtès
* gnu/services/base.scm (<guix-configuration>)[log-file]: New field. (guix-shepherd-service): Pass #:log-file to 'make-forkexec-constructor'. * gnu/services/admin.scm (simple-rotation-config): Take a list of files and join them with commas. (%default-rotations): Add /var/log/guix-daemon.log. * doc/guix.texi (Base Services): Document it.
2016-12-19services: guix: Remove dependency on lsh.Ludovic Courtès
* gnu/services/base.scm (<guix-configuration>)[lsh]: Remove. (guix-shepherd-service): Remove lsh from 'PATH'. * doc/guix.texi (Base Services): Adjust accordingly.
2016-12-19services: cuirass: Cache defaults to /var/cache/cuirass.Ludovic Courtès
The previous default value depended on the 'HOME' environment variable, which happened to be unset. Thus, /.cache was being used. * gnu/services/cuirass.scm (<cuirass-configuration>)[cache-directory]: Change default value to "/var/cache/cuirass". (cuirass-shepherd-service): Always pass "--cache-directory". (cuirass-activation): New procedure. (cuirass-service-type): Use it as an extension to ACTIVATION-SERVICE-TYPE. * doc/guix.texi (Continuous Integration): Adjust accordingly.
2016-12-19services: cuirass: Honor 'user' and 'group'.Ludovic Courtès
* gnu/services/cuirass.scm (cuirass-shepherd-service): Pass the user and group of CONFIG to 'make-forkexec-constructor'.
2016-12-19services: cuirass: Add 'log-file' option.Ludovic Courtès
* gnu/services/cuirass.scm (<cuirass-configuration>)[log-file]: New field. (cuirass-shepherd-service): Pass it to 'make-forkexec-constructor'.
2016-12-19services: Use 'file-append' in more places.Ludovic Courtès
* gnu/services/avahi.scm (avahi-shepherd-service): Use #$(file-append x y) instead of (string-append #$x y). * gnu/services/base.scm (unicode-start) (console-keymap-service-type, console-font-shepherd-services) (mingetty-shepherd-service, nscd-shepherd-service) (hydra-key-authorization, guix-shepherd-service) (guix-publish-shepherd-service, udev-shepherd-service) (gpm-shepherd-service, <kmscon-configuration>) (kmscon-service-type): Likewise. * gnu/services/shepherd.scm (shepherd-boot-gexp): Likewise.
2016-12-15services: cuirass: Put specifications in the store.Mathieu Lirzin
* gnu/services/cuirass.scm (<cuirass-configuration>): Change type of 'specifications' field to an alist to match the documentation example. (cuirass-shepherd-service): Store the provided specifications in a file. Use that file as the "--specification" argument.
2016-12-15services: postgresql: Add locale to configurationChristopher Baines
* gnu/services/databases.scm (<postgresql-configuration>): Add locale field. (postgresql-shepherd-service): Pass locale to initdb. (postgresql-service): Add locale default. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2016-12-15services: postgresql: Add port to configurationChristopher Baines
* gnu/services/databases.scm (<postgresql-configuration>): Add port field. (postgresql-shepherd-service): Pass port to postgres. (postgresql-service): Add port default. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2016-12-14services: mysql: Add port to configurationChristopher Baines
* gnu/services/databases.scm (<mysql-configuration>): Add port field. (mysql-configuration-file): Use the port field when creating the configuration file. * doc/guix.texi (Database Services): Document it. Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2016-12-05services: file-system: Make sure fsck.* commands are in $PATH.Ludovic Courtès
Fixes a regression introduced in bf7ef1bb848db0977b54ea012789adc68751c68a, whereby the fsck.* commands would not be found. * gnu/services/base.scm (file-system-shepherd-service): Call calls to 'setenv'.
2016-12-04services: tor: Make sure /var/lib is world-readable.Ludovic Courtès
* gnu/services/networking.scm (tor-hidden-service-activation): Add 'chmod' call for /var/lib.
2016-12-03gnu: Add Kerberos client service.John Darrington
* doc/guix.texi (Kerberos Services)[Krb5 Service]: New subsubheading. * gnu/services/kerberos.scm (krb5-service-type): New variable. * gnu/services/configuration.scm (configuration-field-serializer, configuration-field-getter): Export variables.
2016-12-02gnu: file-system-shepherd-service: Use mount-file-system.John Darrington
* gnu/services/base.scm (file-system-shepherd-service): Use mount-file-system instead of manually mounting the file system.
2016-12-01services: cups: Follow symlinks when installing extensions.Andy Patterson
* gnu/services/cups.scm (union-directory): Use "stat" when calling "find-files" to follow symlinks.
2016-11-30services: nginx: Join strings with spaces.Ricardo Wurmus
* gnu/services/web.scm (config-domain-strings, config-index-strings): Use "string-join" to join strings with spaces.
2016-11-29services: Add 'cuirass-service'.Mathieu Lirzin
* gnu/services/cuirass.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. * doc/guix.texi (Continuous integration): New node.
2016-11-26services: Factorize configuration abstraction.Julien Lepiller
* gnu/services/mail.scm and gnu/services/cups.scm (&configuration-error) (configuration-error, configuration-field-error) (configuration-missing-field, configuration-field, serialize-configuration) (validate-configuration, define-configuration, uglify-field-name) (serialize-field, serialize-package, serialize-string) (serialize-space-separated-string-list, space-separated-string-list?) (serialize-file-name, file-name?, serialize-field-name) (generate-documentation): Move duplicate code... * gnu/services/configuration.scm: ...to this new file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add configuration.scm. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2016-11-26gnu: Whitespace changesJohn Darrington
* gnu/services/kerberos.scm: Fold lines to 80 character limit.
2016-11-26services: Add opensmtpd service.宋文武
* gnu/services/mail.scm (<opensmtpd-configuration>): New record type. (%default-opensmtpd-config-file, %opensmtpd-accounts): New variables. (opensmtpd-shepherd-service, opensmtpd-activation): New procedures. (opensmtpd-service-type): New variable. * doc/guix.texi (Mail Services): Document it.