summaryrefslogtreecommitdiff
path: root/gnu/services
Commit message (Collapse)AuthorAge
* 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.
* services: base: Import the closure of (gnu build file-systems).Ludovic Courtès2017-09-11
| | | | | * gnu/services/base.scm (file-system-shepherd-service): Use 'source-module-closure' in the 'with-imported-modules' form.
* services: elogind: Add default value.Ludovic Courtès2017-09-08
| | | | | * gnu/services/desktop.scm (elogind-service-type)[default-value]: New field.
* services: web: Fix nginx-service-type's ‘file’ procedure.Tobias Geerinckx-Rice2017-09-05
| | | | | | * gnu/services/web.scm (nginx-activation, nginx-shepherd-service): Replace references to non-existent ‘config-file’ with ‘file’. * doc/guix.texi (Web Services): Likewise.
* services: Add auto-enable? parameter to the bluetooth-service.Maxim Cournoyer2017-09-04
| | | | | | | | | | | * 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>
* services: '%desktop-services' uses NetworkManager instead of Wicd.Ludovic Courtès2017-09-03
| | | | | | | | | | | | 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.
* services: mpd: Remove the mpd-file field.Peter Mikkelsen2017-08-31
| | | | | | | | | | | | | | | 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>
* services: user-processes: Reap child processes.Ludovic Courtès2017-08-28
| | | | | | | | | | 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.
* gnu: Add draft of gdm service.Andy Wingo2017-08-25
| | | | | | * 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.
* gnu: services: Log debug messages to /var/log/debug.Andy Wingo2017-08-25
| | | | | * gnu/services/base.scm (%default-syslog.conf): Create a /var/log/debug with messages logged to syslog at debug level.
* gnu: services: Refactor to separate X and startx wrappers.Andy Wingo2017-08-25
| | | | | * gnu/services/xorg.scm (xorg-wrapper): New public function. (xorg-start-command): Use xorg-wrapper.
* gnu: Add AccountsService service to desktop services.Andy Wingo2017-08-25
| | | | | | | * 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.
* services: Add libvirt servicesRyan Moe2017-08-23
| | | | | | | | * 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>
* services: herd: Actions return a list of results.Ludovic Courtès2017-08-23
| | | | | | | | | | 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.
* web: Remove the nginx-service procedure.Christopher Baines2017-08-22
| | | | | | | | 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.
* web: Add default-value for the nginx-service-type.Christopher Baines2017-08-22
| | | | | * gnu/services/web.scm (nginx-service-type)[default-value]: Use (nginx-configuration).
* web: Export more nginx related procedures, macros and record types.Christopher Baines2017-08-22
| | | | | | | | | | | | | | | 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.
* web: Check for the existance of SSL related files.Christopher Baines2017-08-17
| | | | | | | | | 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.
* gnu: services: Nginx configs can reference storeAndy Wingo2017-08-17
| | | | | | | | | | | | | | * 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>
* gnu: Fix memcached service startup.Christopher Baines2017-08-15
| | | | | | | | | | | | | | | | | | | | 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.
* gnu: Add mpd service.Peter Mikkelsen2017-08-13
| | | | | | | | | | * 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>
* services: admin: Simplify the handling of the Tailon debug? option.Christopher Baines2017-08-09
| | | | | * gnu/services/admin.scm (tailon-configuration-file-compiler): Simplify the handling of debug?.
* services: Update the Tailon service for Tailon 1.3.0.Christopher Baines2017-08-09
| | | | | | | | | | | | 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.
* services: Add missing wrap-lines option to tailon.Christopher Baines2017-08-09
| | | | | | | | * 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.
* services: herd: Add a stop-service procedure.Christopher Baines2017-08-08
| | | | * gnu/services/herd.scm (stop-service): New procedure.
* services: herd: Fix matching ok responses from shepherd service.Christopher Baines2017-08-08
| | | | | | | | | | | | 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.
* services: ntp: Use the NTP pool via the 'guix' zone.Leo Famulari2017-07-30
| | | | * gnu/services/networking.scm (%ntp-servers): Use *.guix.pool.ntp.org.
* services: openssh: Extensions provide extra authorized keys.Ludovic Courtès2017-07-30
| | | | | | * 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.
* services: openssh: Add 'authorized-keys' field.Ludovic Courtès2017-07-30
| | | | | | | | | | * 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.
* services: cuirass: Set 'GIT_SSL_CAINFO' and 'GIT_EXEC_PATH'.Ludovic Courtès2017-07-30
| | | | | | | Reported by Ricardo Wurmus. * gnu/services/cuirass.scm (cuirass-shepherd-service): Pass #:environment-variables.
* services: Add memcached.Christopher Baines2017-07-30
| | | | | | | | | | * 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.
* gnu: services: admin: Add tailon.Christopher Baines2017-07-29
| | | | | | | | | | | * 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.
* services: guix-publish: Run in a UTF-8 locale.Ludovic Courtès2017-07-27
| | | | | | | Works around <https://bugs.gnu.org/26948>. * gnu/services/base.scm (guix-publish-shepherd-service): Pass #:environment-variables to 'make-forkexec-constructor'.
* gnu: Add fcgiwrap service.Andy Wingo2017-07-26
| | | | | | | | | * 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>