summaryrefslogtreecommitdiff
path: root/gnu/services
Commit message (Collapse)AuthorAgeFilesLines
* services: Add openvswitch-service-type.宋文武2017-02-121-1/+63
| | | | | | | * 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.
* tests: Add 'prosody-service-type' test.Clément Lassieur2017-02-101-2/+3
| | | | | | | | | * 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>
* services: shepherd: Replace spaces with hyphens in file names.Clément Lassieur2017-02-081-0/+2
| | | | | | | | | | 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>
* services: Add 'special-files-service-type'.Ludovic Courtès2017-02-081-1/+6
| | | | | | | | | | | | | * 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.
* services: bitlbee: Run in a container.Ludovic Courtès2017-02-071-8/+24
| | | | | | * gnu/services/networking.scm (bitlbee-shepherd-service): Wrap in 'with-imported-modules' and add 'modules' field. Use 'make-forkexec-constructor/container' and pass #:mappings.
* services: bitlbee: Read the PID file.Ludovic Courtès2017-02-071-1/+2
| | | | | * gnu/services/networking.scm (bitlbee-shepherd-service): Pass #:pid-file to 'make-forkexec-constructor'.
* services: cuirass: Add load-path to cuirass configurationMathieu Othacehe2017-02-021-3/+8
| | | | | | | | * 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>
* services: Make 'static-networking' extensible.Ludovic Courtès2017-02-012-76/+135
| | | | | | | | | | | | | | | | | 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.
* system: Introduce 'file-systems' Shepherd service.Ludovic Courtès2017-01-311-80/+89
| | | | | | | | | | | * 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.
* services: Export guix-configuration getters.Mathieu Othacehe2017-01-251-0/+12
| | | | | | * gnu/services/base.scm (guix-configuration-*): Export. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* services: Fix 'mkdir-p' in activation scripts.Clément Lassieur2017-01-256-2/+17
| | | | | | | | | | | | * 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>
* services: prosody: Fix activation script.Clément Lassieur2017-01-231-0/+1
| | | | | | | * gnu/services/messaging.scm (prosody-activation): Import (guix build utils) for 'mkdir-p'. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* services: cuirass: Add port to cuirass configurationMathieu Othacehe2017-01-221-0/+5
| | | | | | | | * 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>
* services: Reindent vpn.scm.Ludovic Courtès2017-01-201-35/+35
| | | | | | This fixes indentation of 'match' forms. * gnu/services/vpn.scm: Pass through 'indent-code.el'.
* services: network-manager: Use record for configuration.Christopher Baines2017-01-201-27/+50
| | | | | | | | | | | | | | | | | | | * 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>
* services: nginx: Add default values for <nginx-configuration> fields.Ludovic Courtès2017-01-191-7/+13
| | | | | | * gnu/services/web.scm (<nginx-configuration>)[nginx, log-directory] [run-directory, server-blocks, upstream-blocks, file]: Add default values.
* services: nginx: Add support for 'location' blocks.Christopher Baines2017-01-191-1/+38
| | | | | | | | | | | | | * 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>
* services: nginx: Add support the 'upstream' module.Christopher Baines2017-01-191-8/+34
| | | | | | | | | | | | * 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>
* gnu: Add openvpn service.Julien Lepiller2017-01-151-0/+491
| | | | | | * gnu/services/vpn.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. * doc/guix.texi (VPN Services): New section.
* services: Add 'redis-service-type'.Christopher Baines2017-01-121-1/+80
| | | | | | | | | | * 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>
* services: wicd: Create /var/run/wpa_supplicant.Ludovic Courtès2017-01-111-2/+7
| | | | | * gnu/services/networking.scm (%wicd-activation): Create /var/run/wpa_supplicant.
* gnu: Add Prosody service.Clément Lassieur2017-01-082-0/+729
| | | | | | | | | * 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>
* services: nginx: Make service extensible.Julien Lepiller2017-01-031-8/+26
| | | | | | | | | | | | | * 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>
* services: nginx: Fix multiple index and server name.Julien Lepiller2017-01-031-3/+3
| | | | | | | * gnu/services/web.scm (config-domain-strings, config-index-string): separate names with a space. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* services: nginx: Rename "vhost" to "server".Julien Lepiller2017-01-031-30/+30
| | | | | | | | * 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>
* services: cuirass: Remove 'cuirass-service' procedure.Ludovic Courtès2017-01-011-7/+3
| | | | | | | * gnu/services/cuirass.scm (<cuirass-configuration>)[specifications]: Remove default value. (cuirass-service): Remove. * doc/guix.texi (Continuous Integration): Adjust accordingly.
* services: cuirass: Allow for gexps in specifications.Ludovic Courtès2017-01-011-8/+5
| | | | | | | | | | | * 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.
* services: Add libmtp's udev rules to '%desktop-services'.Ludovic Courtès2016-12-291-0/+5
| | | | | | | Suggested by Chris Marusich <cmmarusich@gmail.com>. * gnu/services/desktop.scm (%desktop-services): Add 'mtp' service via call to 'simple-service'.
* gnu: Fix typo in comment.John Darrington2016-12-211-1/+1
| | | | * gnu/services/sddm.scm: Fix typo.
* services: cuirass: Add Cuirass to the system profile.Ludovic Courtès2016-12-201-0/+2
| | | | | * gnu/services/cuirass.scm (cuirass-service-type): Extend PROFILE-SERVICE-TYPE.
* services: cuirass: Add 'cuirass' field.Ludovic Courtès2016-12-201-1/+4
| | | | | | | * gnu/services/cuirass.scm (<cuirass-configuration>)[cuirass]: New field. (cuirass-shepherd-service): Honor it. * doc/guix.texi (Continuous Integration): Document it.
* services: cuirass: Create the database directory.Ludovic Courtès2016-12-201-1/+4
| | | | | * gnu/services/cuirass.scm (cuirass-activation): Create the database directory for CONFIG.
* services: guix: Add 'log-file' configuration option.Ludovic Courtès2016-12-192-5/+10
| | | | | | | | | * 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.
* services: guix: Remove dependency on lsh.Ludovic Courtès2016-12-191-8/+4
| | | | | | * gnu/services/base.scm (<guix-configuration>)[lsh]: Remove. (guix-shepherd-service): Remove lsh from 'PATH'. * doc/guix.texi (Base Services): Adjust accordingly.
* services: cuirass: Cache defaults to /var/cache/cuirass.Ludovic Courtès2016-12-191-4/+19
| | | | | | | | | | | | | 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.
* services: cuirass: Honor 'user' and 'group'.Ludovic Courtès2016-12-191-0/+4
| | | | | * gnu/services/cuirass.scm (cuirass-shepherd-service): Pass the user and group of CONFIG to 'make-forkexec-constructor'.
* services: cuirass: Add 'log-file' option.Ludovic Courtès2016-12-191-1/+5
| | | | | | * gnu/services/cuirass.scm (<cuirass-configuration>)[log-file]: New field. (cuirass-shepherd-service): Pass it to 'make-forkexec-constructor'.
* services: Use 'file-append' in more places.Ludovic Courtès2016-12-193-17/+17
| | | | | | | | | | | | | * 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.
* services: cuirass: Put specifications in the store.Mathieu Lirzin2016-12-151-5/+7
| | | | | | | * 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.
* services: postgresql: Add locale to configurationChristopher Baines2016-12-151-4/+18
| | | | | | | | | * 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>
* services: postgresql: Add port to configurationChristopher Baines2016-12-151-2/+7
| | | | | | | | | * 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>
* services: mysql: Add port to configurationChristopher Baines2016-12-141-3/+5
| | | | | | | | | * 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>
* services: file-system: Make sure fsck.* commands are in $PATH.Ludovic Courtès2016-12-051-4/+18
| | | | | | | | | 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'.
* services: tor: Make sure /var/lib is world-readable.Ludovic Courtès2016-12-041-0/+3
| | | | | * gnu/services/networking.scm (tor-hidden-service-activation): Add 'chmod' call for /var/lib.
* gnu: Add Kerberos client service.John Darrington2016-12-032-2/+378
| | | | | | | * 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.
* gnu: file-system-shepherd-service: Use mount-file-system.John Darrington2016-12-021-29/+9
| | | | | * gnu/services/base.scm (file-system-shepherd-service): Use mount-file-system instead of manually mounting the file system.
* services: cups: Follow symlinks when installing extensions.Andy Patterson2016-12-011-1/+1
| | | | | * gnu/services/cups.scm (union-directory): Use "stat" when calling "find-files" to follow symlinks.
* services: nginx: Join strings with spaces.Ricardo Wurmus2016-11-301-2/+2
| | | | | * gnu/services/web.scm (config-domain-strings, config-index-strings): Use "string-join" to join strings with spaces.
* services: Add 'cuirass-service'.Mathieu Lirzin2016-11-291-0/+115
| | | | | | * gnu/services/cuirass.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. * doc/guix.texi (Continuous integration): New node.
* services: Factorize configuration abstraction.Julien Lepiller2016-11-263-336/+232
| | | | | | | | | | | | | | | * 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>