summary refs log tree commit diff
path: root/gnu/services
AgeCommit message (Collapse)Author
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.
2017-09-20gnu: services: Add modesetting driver to xorg configuration path.Andy Wingo
* 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>
2017-09-16services: networking: Add descriptions.Ludovic Courtès
* 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.
2017-09-16services: base: Add descriptions.Ludovic Courtès
* 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.
2017-09-13gnu: cuirrass: Default port to 8081.Jan Nieuwenhuizen
* gnu/services/cuirass.scm (<cuirass-configuration>): Default port to 8081. Fixes conflict with guix-publish default. * doc/guix.texi (Continuous Integration): Update.
2017-09-11services: file-system: Use 'file-system->spec'.Ludovic Courtès
* gnu/services/base.scm (file-system-shepherd-service): Use 'file-system->spec' instead of in-line code.
2017-09-11services: base: Import the closure of (gnu build file-systems).Ludovic Courtès
* gnu/services/base.scm (file-system-shepherd-service): Use 'source-module-closure' in the 'with-imported-modules' form.
2017-09-08services: elogind: Add default value.Ludovic Courtès
* gnu/services/desktop.scm (elogind-service-type)[default-value]: New field.
2017-09-05services: web: Fix nginx-service-type's ‘file’ procedure.Tobias Geerinckx-Rice
* gnu/services/web.scm (nginx-activation, nginx-shepherd-service): Replace references to non-existent ‘config-file’ with ‘file’. * doc/guix.texi (Web Services): Likewise.
2017-09-04services: Add auto-enable? parameter to the bluetooth-service.Maxim Cournoyer
* gnu/services/desktop.scm (bluetooth-configuration): New record. (bluetooth-shepherd-service): Use it. (bluetooth-directory): New method. (bluetooth-service-type): Use it to extend the etc-service-type service. (bluetooth-service): Add `auto-enable?' parameter. * doc/guix.texi (Desktop Services): Document it. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2017-09-03services: '%desktop-services' uses NetworkManager instead of Wicd.Ludovic Courtès
Discussed at <https://lists.gnu.org/archive/html/guix-devel/2017-08/msg00277.html>. * gnu/services/desktop.scm (%desktop-services): Remove call to 'wicd-service'. Add instances of NETWORK-MANAGER-SERVICE-TYPE and WPA-SUPPLICANT-SERVICE-TYPE. * doc/guix.texi (Networking Services): Document 'network-manager-service-type' as being part of '%desktop-services'. (Desktop Services): Replace Wicd with NM.
2017-08-31services: mpd: Remove the mpd-file field.Peter Mikkelsen
Since MPD switches user, the pid-file must be in a writable dir. This is now always /var/run/mpd/(user)/pid. * gnu/services/audio.scm (mpd-service-type): Add a activation-service extension. (<mpd-configuration>)[pid-file]: Remove. (mpd-service): Rename to... (mpd-shepherd-service): ... this. (mpd-file-name, mpd-service-activation): New procedure. * doc/guix.texi (Audio Services): Document the changes. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2017-08-28services: user-processes: Reap child processes.Ludovic Courtès
Fixes <http://bugs.gnu.org/26931>. Reported by Leo Famulari <leo@famulari.name>. * gnu/services/base.scm (user-processes-service-type)[stop]: Add 'reap-children' loop. * gnu/tests/base.scm (run-halt-test): New procedure. (%test-halt): New variable.
2017-08-25gnu: Add draft of gdm service.Andy Wingo
* gnu/services/xorg.scm (%gdm-accounts, <gdm-configuration>) (gdm-etc-service, gdm-pam-service, gdm-shepherd-service, gdm-service-programs) (gdm-service-type, gdm-service): New public variables. Not yet working.
2017-08-25gnu: services: Log debug messages to /var/log/debug.Andy Wingo
* gnu/services/base.scm (%default-syslog.conf): Create a /var/log/debug with messages logged to syslog at debug level.
2017-08-25gnu: services: Refactor to separate X and startx wrappers.Andy Wingo
* gnu/services/xorg.scm (xorg-wrapper): New public function. (xorg-start-command): Use xorg-wrapper.
2017-08-25gnu: Add AccountsService service to desktop services.Andy Wingo
* doc/guix.texi (Desktop Services): Add accountsservice-service. * gnu/services/desktop.scm (%accountsservice-activation): (accountsservice-service-type): New public variables. (%desktop-services): Add accountsservice-service.
2017-08-23services: Add libvirt servicesRyan Moe
* gnu/services/virtualization.scm: New file. * doc/guix.texi (Virtualization Services): Document it. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. Signed-off-by: Christopher Baines <mail@cbaines.net>
2017-08-23services: herd: Actions return a list of results.Ludovic Courtès
Fixes a regression introduced in 0642838b2e9ab2bd988dccb64b9e1130006347bf. * gnu/services/herd.scm (invoke-action): Explain that we get a list of results. (current-services): Expect a list of result and use the first one. (unload-service, %load-file, eval-there): Likewise.
2017-08-22web: Remove the nginx-service procedure.Christopher Baines
Now that the service-type has a default value, and configuration record is accessible. * gnu/services/web.scm (nginx-service): Remove procedure. * doc/guix.texi (Web Services): Update and improve NGinx documentation.
2017-08-22web: Add default-value for the nginx-service-type.Christopher Baines
* gnu/services/web.scm (nginx-service-type)[default-value]: Use (nginx-configuration).
2017-08-22web: Export more nginx related procedures, macros and record types.Christopher Baines
This makes it possible to work with the configuration of the NGinx service programatically. * gnu/services/web.scm (<nginx-configuration>, <nginx-server-configuration>, <nginx-upstream-configuration>, <nginx-location-configuration>, <nginx-named-location-configuration>): Export NGinx related record types. (nginx-configuration-*, nginx-server-configuration-*, nginx-upstream-configuration-*, nginx-location-configuration-*, nginx-named-location-configuration-*): Export NGinx related record procedures. (nginx-configuration): Export NGinx related record macro.
2017-08-17web: Check for the existance of SSL related files.Christopher Baines
This adds back the previous behaviour of the nginx-service-type, where the service would check at the time when the configuration is generated if the SSL certificate and certificate key file exists. * gnu/services/web.scm (emit-nginx-server-config): Add back check for SSL related files.
2017-08-17gnu: services: Nginx configs can reference storeAndy Wingo
* gnu/services/web.scm (config-domain-strings, config-index-strings): Emit lists instead of strings. (emit-nginx-location-config, emit-nginx-server-config) (emit-nginx-upstream-config): Rename from nginx-location-config, default-nginx-server-config, and nginx-upstream-config. Emit lists instead of strings. (flatten): New helper. (default-nginx-config): Use flatten helper to write nginx conf. This allows location configs to reference store values. Signed-off-by: Christopher Baines <mail@cbaines.net>
2017-08-15gnu: Fix memcached service startup.Christopher Baines
Memcached changes to the memcached user from root before writing the PID file. This means that it must be able to write the PID file as the memcached user. To make this work, create the /var/run/memcached directory when the service starts, make it owned by memcached, and change memcached to write the PID file to /var/run/memcached/pid. This wasn't picked up by the system test as the "service running" part was too permissive, and only failed on an error. Instead, test the response from calling start-service and check that the PID is a number. * gnu/services/databases.scm (memcached-activation): New variable. (memcached-shepherd-service): Change PID file location. (memcached-service-type): Extend the activation-service-type. * gnu/tests/databases.scm (run-memcached-test)[test]: Change the "service running" test to check the response from the shepherd.
2017-08-13gnu: Add mpd service.Peter Mikkelsen
* doc/guix.texi: Add documentation. * gnu/services/audio.scm (<mpd-configuration>): New record type. (mpd-service-type): New service type. * gnu/tests/audio.scm: New file. * gnu/local.mk: Add new files. Signed-off-by: Christopher Baines <mail@cbaines.net>
2017-08-09services: admin: Simplify the handling of the Tailon debug? option.Christopher Baines
* gnu/services/admin.scm (tailon-configuration-file-compiler): Simplify the handling of debug?.
2017-08-09services: Update the Tailon service for Tailon 1.3.0.Christopher Baines
Tailon 1.3.0 (upgraded from 1.1.1) adds support for HTTP authentication. * gnu/services/admin.scm (<tailon-configuration-file>): Add http-auth and users configuration values. (tailon-configuration-file-http-auth, tailon-configuration-file-users): New procedures. (tailon-configuration-file-compiler): Add support for the http-auth and users configuration options. * doc/guix.texi (Monitoring Services): Document authentication for Tailon.
2017-08-09services: Add missing wrap-lines option to tailon.Christopher Baines
* gnu/services/admin.scm (<tailon-configuration-file>): Add wrap-lines. (tailon-configuration-wrap-lines): New procedure. (tailon-configuration-file-compiler): Add support for wrap-lines. * doc/guix.texi (Monitoring Services): Document the wrap-lines Tailon configuration option.
2017-08-08services: herd: Add a stop-service procedure.Christopher Baines
* gnu/services/herd.scm (stop-service): New procedure.
2017-08-08services: herd: Fix matching ok responses from shepherd service.Christopher Baines
Previously the match expression case for a successful response (where error is #f) required that the result component contained a list with a single element. As far as I see when looking at the responses from the shepherd, this is not normally the case. Therefore, to avoid treating successful responses as errors, make the match requirement more permissive, accepting any value. * gnu/services/herd.scm (invoke-action): Change match condition for ok responses.
2017-07-30services: ntp: Use the NTP pool via the 'guix' zone.Leo Famulari
* gnu/services/networking.scm (%ntp-servers): Use *.guix.pool.ntp.org.
2017-07-30services: openssh: Extensions provide extra authorized keys.Ludovic Courtès
* gnu/services/ssh.scm (extend-openssh-authorized-keys): New procedure. (openssh-service-type)[compose, extend]: New fields. * doc/guix.texi (Networking Services): Document the extension.
2017-07-30services: openssh: Add 'authorized-keys' field.Ludovic Courtès
* gnu/services/ssh.scm (<openssh-configuration>)[authorized-keys]: New field. (authorized-key-directory): New procedure. (openssh-config-file): Honor 'authorized-keys'. (openssh-activation): Use 'with-imported-modules'. Make /etc/ssh 755. Create /etc/ssh/authorized_keys.d. * doc/guix.texi (Networking Services): Document it.
2017-07-30services: cuirass: Set 'GIT_SSL_CAINFO' and 'GIT_EXEC_PATH'.Ludovic Courtès
Reported by Ricardo Wurmus. * gnu/services/cuirass.scm (cuirass-shepherd-service): Pass #:environment-variables.
2017-07-30services: Add memcached.Christopher Baines
* gnu/services/databases.scm (memcached-service-type, %memcached-accounts): New variables. (<memcached-configuration>): New record type. (memcached-service-type): New procedures. * gnu/tests/databases.scm: New file. * doc/guix.texi (Database Services): Document the new memcached service. * gnu/local.mk (GNU_SYSTEM_MODULES): Add entry for tests/databases.scm.
2017-07-29gnu: services: admin: Add tailon.Christopher Baines
* gnu/services/admin.scm (<tailon-configuration>, <tailon-configuration-file>): New record types. (tailon-configuration-files-string, tailon-shepherd-service): New procedures. (%tailon-accounts, tailon-service-type: New variables. * doc/guix.texi (Monitoring Services: Document the Tailon service. * gnu/local.mk (GNU_SYSTEM_MODULES): Add gnu/tests/admin.scm. * gnu/tests/admin.scm: New file.
2017-07-27services: guix-publish: Run in a UTF-8 locale.Ludovic Courtès
Works around <https://bugs.gnu.org/26948>. * gnu/services/base.scm (guix-publish-shepherd-service): Pass #:environment-variables to 'make-forkexec-constructor'.
2017-07-26gnu: Add fcgiwrap service.Andy Wingo
* doc/guix.texi (Web Services): Add documentation. * gnu/services/web.scm (<fcgiwrap-configuration>): New record type. (fcgiwrap-accounts, fcgiwrap-shepherd-service): New service extensions. (fcgiwrap-service-type): New service type. Signed-off-by: Ludovic Courtès <ludo@gnu.org>