aboutsummaryrefslogtreecommitdiff
path: root/gnu/services
Commit message (Collapse)AuthorAge
* services: shepherd: Clarify error message about missing service.Ludovic Courtès2016-07-19
| | | | | | | Suggested by Tobias Geerinckx-Rice <me@tobias.gr>. * gnu/services/shepherd.scm (assert-valid-graph)[assert-satisfied-requirements]: Clarify error message.
* services: dbus: Synchronize startup using dbus-daemon's PID file.Ludovic Courtès2016-07-16
| | | | | * gnu/services/dbus.scm (dbus-shepherd-service): Pass #:pid-file to 'make-forkexec-constructor'.
* services: Add 'dropbear-service'.David Craven2016-07-15
| | | | | | | | | | * gnu/services/ssh.scm (<dropbear-configuration>): New record type. (dropbear-activation, dropbear-shepherd-service, dropbear-service): New procedures. (dropbear-service-type): New variable. * doc/guix.texi (Networking Services): Document it. Co-authored-by: Ludovic Courtès <ludo@gnu.org>
* gnu: lsh: Move to (gnu packages ssh)David Craven2016-07-15
| | | | | | | | | * gnu/packages/lsh.scm: Remove. Move 'lsh and liboop' to... * gnu/packages/ssh.scm (liboop, lsh): ... here. New variables. * gnu/services/ssh.scm, gnu/services/base.scm: Adjust accordingly. * gnu/local.mk (GNU_SYSTEM_MODULES): Adjust accordingly. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* services: <shepherd-service> no longer has an 'imported-modules' field.Ludovic Courtès2016-07-12
| | | | | | | | | | | | | | | | | | * gnu/services/shepherd.scm (<shepherd-service>)[imported-modules]: Remove. (%default-imported-modules): Make private. (shepherd-service-file): Use 'with-imported-modules'. (shepherd-configuration-file): Remove 'modules' and the calls to 'imported-modules' and 'compiled-modules'. Use 'with-imported-modules' instead. * doc/guix.texi (Shepherd Services): Adjust accordingly. * gnu/services/base.scm (file-system-shepherd-service): Use 'with-imported-modules'. Remove 'imported-modules' field. * gnu/system/mapped-devices.scm (device-mapping-service-type): Remove 'imported-modules'. (open-luks-device): Use 'with-imported-modules'. * gnu/tests.scm (marionette-shepherd-service): Remove 'imported-modules' field and use 'with-imported-modules'.
* gnu: Switch to 'with-imported-modules'.Ludovic Courtès2016-07-12
| | | | | | | | | | | | | | | | | | | | | | | | * gnu/services.scm (directory-union): Use 'with-imported-modules' instead of the '#:modules' argument of 'computed-file'. * gnu/services/base.scm (udev-rules-union): Likewise. * gnu/services/dbus.scm (system-service-directory): Likewise. * gnu/services/desktop.scm (wrapped-dbus-service): (polkit-directory): Likewise. * gnu/services/networking.scm (tor-configuration->torrc): Likewise. * gnu/services/xorg.scm (xorg-configuration-directory): Likewise. * gnu/system/install.scm (self-contained-tarball): Likewise. * gnu/system/linux-container.scm (container-script): Likewise. * gnu/system/linux-initrd.scm (expression->initrd): Likewise, and remove #:modules parameter. (flat-linux-module-directory): Use 'with-imported-modules'. (base-initrd): Likewise. * gnu/system/locale.scm (locale-directory): Likewise. * gnu/system/shadow.scm (default-skeletons): Likewise. * gnu/system/vm.scm (expression->derivation-in-linux-vm): Likewise. * gnu/tests/base.scm (run-basic-test): Likewise. * gnu/tests/install.scm (run-install): Likewise. * doc/guix.texi (Initial RAM Disk): Update 'expression->initrd' documentation.
* services: nginx: Fix typo.ng02016-07-07
| | | | | | * gnu/services/web.scm (nginx-service): Fix typo. Signed-off-by: Leo Famulari <leo@famulari.name>
* services: Add rngd-service.David Craven2016-07-05
| | | | | | | | | * gnu/services/base.scm (<rngd-configuration>): New record type. (rngd-service-type): New variable. (rngd-service): New procedure. * doc/guix.texi (Base Services): Document it. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* services: avahi: Add #:debug? parameter.Ludovic Courtès2016-06-27
| | | | | | | * gnu/services/avahi.scm (<avahi-configuration>)[debug?]: New field. (avahi-shepherd-service): Honor it. (avahi-service): Add #:debug? and honor it. * doc/guix.texi (Networking Services): Adjust accordingly.
* services: avahi: Pass --daemonize and check for the PID file.Ludovic Courtès2016-06-27
| | | | | | | | This makes sure the service's 'start' finishes when avahi-daemon is ready to process requests. * gnu/services/avahi.scm (avahi-shepherd-service): Use --daemonize instead of --syslog and add #:pid-file.
* services: Export more service types.Ludovic Courtès2016-06-27
| | | | | * gnu/services/base.scm (syslog-service-type): Export. (urandom-seed-service-type): Export.
* services: nscd: Wait for the PID file.Ludovic Courtès2016-06-27
| | | | * gnu/services/base.scm (nscd-shepherd-service): Pass #:pid-file.
* services: Add 'mcron-service'.Ludovic Courtès2016-06-22
| | | | | | | | * gnu/services/mcron.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. * gnu/tests/base.scm (%mcron-os, %test-mcron): New variables. (run-mcron-test): New procedure. * doc/guix.texi (Scheduled Job Execution): New node.
* gnu: services: Add bluetooth-service.宋文武2016-06-18
| | | | | | | * gnu/services/desktop.scm (bluetooth-shepherd-service) (bluetooth-service): New Prodecures. (bluetooth-service-type): New variable. * doc/guix.text (Desktop Services): Document it.
* services: dicod: Add 'interfaces' configuration field.Ludovic Courtès2016-06-17
| | | | | | | | | | | | | This makes 'dicod' listen on 'localhost' by default, whereas it was previously listening on all the interfaces, which is not a good default security-wise. * gnu/services/dict.scm (<dicod-configuration>)[interfaces]: New field. (dicod-configuration-file)[database->text]: New procedure, with code formerly in 'dicod-configuration->text'. [dicod-configuration->text]: Rename to... [configuration->text]: ... this. Honor 'interfaces'. * doc/guix.texi (Various Services): Document 'interfaces'.
* gnu: services: Add mysql-service.宋文武2016-06-16
| | | | | | | | * gnu/services/database.scm (<mysql-configuration>): New record type. (%mysql-accounts, mysql-service-type): New variables. (mysql-configuration-file, %mysql-activation, mysql-shepherd-services) (mysql-services): New procedures. * doc/guix.texi (Database Services): Document it.
* gnu: services: Add dicod-service.宋文武2016-06-05
| | | | | | * gnu/services/dict.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. * doc/guix.texi (Various Services): Document it.
* services: urandom-seed: Refresh seed at boot.Leo Famulari2016-06-05
| | | | | | | | * gnu/services/base.scm (urandom-seed-shepherd-service): Refresh the random seed unconditionally at boot. Ensure directory structure for %random-seed-file exists when shutting down. (%urandom-seed-activation): Remove variable. (urandom-seed-service-type): Remove deleted variable from list of extensions.
* services: urandom-seed: Set umask to 077 while shutting down.Leo Famulari2016-05-31
| | | | * gnu/services/base.scm (urandom-seed-shepherd-service): Call 'umask'.
* services: Add urandom-seed-service.Leo Famulari2016-05-28
| | | | | | | | | | Fixes <http://bugs.gnu.org/23605>. * gnu/services/base.scm (urandom-seed-service): New procedure. (%random-seed-file, urandom-seed-service-type): New variables. (%urandom-seed-shepherd-service): New procedure. (%base-services): Call 'urandom-seed-service'. * doc/guix.texi (Base Services): Document it.
* services: Add connman-service.Efraim Flashner2016-05-05
| | | | | | | * gnu/services/networking.scm (connman-service): New procedure. (connman-service-type, %connman-activation): New variables. (connman-shepherd-service): New procedure. * doc/guix.texi (Networking Services): Document it.
* utils: Move combinators to (guix combinators).Ludovic Courtès2016-05-04
| | | | | | | | | | | | | | | | | | | * guix/utils.scm (compile-time-value, memoize, fold2) (fold-tree, fold-tree-leaves): Move to... * guix/combinators: ... here. New file. * tests/utils.scm ("fold2, 1 list", "fold2, 2 lists") (fold-tree tests): Move to... * tests/combinators.scm: ... here. New file. * Makefile.am (MODULES, SCM_TESTS): Add them. * gnu/packages.scm, gnu/packages/bootstrap.scm, gnu/services/herd.scm, guix/build-system/gnu.scm, guix/build-system/python.scm, guix/derivations.scm, guix/gnu-maintenance.scm, guix/import/elpa.scm, guix/scripts/archive.scm, guix/scripts/build.scm, guix/scripts/graph.scm, guix/scripts/lint.scm, guix/scripts/size.scm, guix/scripts/substitute.scm, guix/serialization.scm, guix/store.scm, guix/ui.scm: Adjust imports accordingly.
* services: herd: Move UI handling to 'guix system'.Ludovic Courtès2016-05-04
| | | | | | | | | | | | | | | | | | This makes (gnu services herd) independent of (guix ui). * gnu/services/herd.scm (&shepherd-error, &service-not-found-error) (&action-not-found-error, &action-exception-error) (&unknown-shepherd-error): New error condition types. (report-action-error): Remove. (raise-shepherd-error): New procedure. (display-message): Do not use 'info' and '_'. (invoke-action): Use 'raise-shepherd-error' instead of 'report-action-error'. Do not use 'warning'. (current-services): Do not use 'warning'. * guix/scripts/system.scm (with-shepherd-error-handling): New macro. (report-shepherd-error, call-with-service-upgrade-info): New procedures. (upgrade-shepherd-services): Use it.
* services: Move 'device-mapping-service' to (gnu system mapped-devices).Ludovic Courtès2016-04-18
| | | | | | | * gnu/services/base.scm (device-mapping-service-type) (device-mapping-service): Move to... * gnu/system/mapped-devices.scm (device-mapping-service-type): (device-mapping-service): ... here. New variables.
* system: Add (gnu system mapped-devices).Ludovic Courtès2016-04-18
| | | | | | | | | | * gnu/system/file-systems.scm (<mapped-device>, <mapped-device-type>): Move to... * gnu/system/mapped-devices.scm: ... here. New file. * gnu/system.scm, gnu/services/base.scm, gnu/system/linux-initrd.scm: Use it. * gnu-system.am (GNU_SYSTEM_MODULES): Add it. * gnu.scm (%public-modules): Add it.
* services: 'console-keymap-service' takes multiple files.Alex Kost2016-04-17
| | | | | | | | * gnu/services/base.scm (console-keymap-service-type): Type procedure takes a list of files instead of a single file. (console-keymap-service): Take 'files' as rest arguments. * doc/guix.texi (Base Services): Improve documentation of 'console-keymap-service'.
* services: nscd: Make respawnable.Ludovic Courtès2016-03-24
| | | | * gnu/services/base.scm (nscd-shepherd-service): Remove 'respawn?' field.
* services: xorg: Fix ~/.xsession handling.Ludovic Courtès2016-03-24
| | | | | | | Fixes a regression introduced in c510cbb4ecb270ca3edf282c6769aa2bfb144822. * gnu/services/xorg.scm (xinitrc)[builder]: Add missing 'apply' when XSESSION-FILE exists.
* services: postgresql: Use syslog.Ludovic Courtès2016-03-23
| | | | | | | | | Fixes <http://bugs.gnu.org/23064>. Reported by Danny Milosavljevic <dannym@scratchpost.org>. * gnu/services/databases.scm (%default-postgres-config): Add 'log_destination' line. (postgresql-shepherd-service): Add requirement on 'syslogd'.
* Merge branch 'security-updates'Ludovic Courtès2016-03-22
|\
| * gnu: dbus: Incorporate "dbus-helper-search-path.patch".Ludovic Courtès2016-03-09
| | | | | | | | | | | | | | | | * gnu/packages/glib.scm (dbus)[source]: Apply "dbus-helper-search-path.patch". (dbus/activation): Remove. * gnu/services/dbus.scm (<dbus-configuration>)[dbus]: Default to DBUS. (dbus-service): Likewise.
| * gnu: eudev: Add dependency on blkid.Ludovic Courtès2016-03-09
| | | | | | | | | | | | | | | | * gnu/packages/linux.scm (eudev)[inputs]: Add UTIL-LINUX. (eudev-with-blkid): Remove. * gnu/services/base.scm (udev-service): Use EUDEV instead of EUDEV-WITH-BLKID. * gnu/system.scm (%base-packages): Likewise.
* | services: xorg: Accept session commands with arguments.Ludovic Courtès2016-03-18
| | | | | | | | | | | | | | | | | | Before that, a session command with several items, such as 'gnome-session --disable-acceleration-check', would trigger the fallback session. * gnu/services/xorg.scm (xinitrc)[builder]: Accept command lines with more than one arguments.
* | gnu: services: Add GNOME and XFCE desktop services.Andy Wingo2016-03-15
|/ | | | | | | | | | | * gnu/services/desktop.scm (package-direct-input-selector): New function. (<gnome-desktop-configuration>, gnome-desktop-service-type) (<xfce-desktop-configuration>, xfce-desktop-service-type): New variables. (gnome-desktop-service, xfce-desktop-service): New public variables. * doc/guix.texi (Desktop Services): Document new variables.
* services: elogind: Rely on D-Bus activation.Ludovic Courtès2016-03-07
| | | | | | | | | | | | Previously elogind was explicitly spawned by the Shepherd. Now it is activated by dbus-daemon on demand. * gnu/packages/freedesktop.scm (elogind)[arguments]: Add 'fix-service-file' phase. * gnu/services/desktop.scm (elogind-shepherd-service): Remove. (elogind-dbus-service): New procedure. (elogind-service-type): Do not extend SHEPHERD-ROOT-SERVICE-TYPE. Use 'elogind-dbus-service' for DBUS-ROOT-SERVICE-TYPE.
* doc: Mention syslogd configuration.Ludovic Courtès2016-03-04
| | | | | | | * gnu/services/base.scm (syslog-service): Add xref to Inetutils in the docstring. (%default-syslog.conf): Export. * doc/guix.texi (Base Services): Update accordingly.
* gnu: services: Start X with -configdir.Andy Wingo2016-02-24
| | | | | | | | * gnu/services/xorg.scm (%default-xorg-modules): New public variable. (xorg-configuration-directory): New function. (xorg-start-command): Add #:modules keyword argument, defaulting to %default-xorg-modules. Build an xorg.conf.d directory from those modules, and pass it to X via the -configdir parameter.
* gnu: services: Install policies for polkit service.Andy Wingo2016-02-24
| | | | | | * gnu/services/desktop.scm (polkit-etc-files): Add the polkit package itself to the list of packages to scan for .policy files. This add support for pkexec.
* services: herd: Add missing newlines in error messages.Ludovic Courtès2016-02-23
| | | | | * gnu/services/herd.scm (report-action-error): Add missing newlines in messages.
* gnu: Fix syntax error in postgresql-service.Leo Famulari2016-02-10
| | | | | | | | Fixes <http://bugs.gnu.org/22618>. Reported by Danny Milosavljevic <dannym@scratchpost.org>. * gnu/services/databases.scm (%default-postgres-config): Add missing quote in default configuration.
* file-systems: Spawn a Bournish REPL upon fsck failure.Ludovic Courtès2016-02-08
| | | | | | | | | | | | | Fixes <http://bugs.gnu.org/22588>. Reported by Mark H Weaver <mhw@netris.org>. * gnu/build/file-systems.scm (check-file-system): Pass %BOURNISH-LANGUAGE as the argument to 'start-repl'. * gnu/services.scm (activation-script): Add (guix build bournish). * gnu/services/base.scm (file-system-shepherd-service)[imported-modules]: Likewise. * gnu/system/linux-container.scm (container-script): Likewise. * gnu/system/vm.scm (expression->derivation-in-linux-vm): Likewise.
* services: elogind: Extend PAM to use 'pam_elogind.so'.Ludovic Courtès2016-02-06
| | | | | | | | Thanks to Andy Wingo <wingo@igalia.com> for explaining this at <https://lists.gnu.org/archive/html/guix-devel/2015-08/msg00439.html>. * gnu/services/desktop.scm (pam-extension-procedure): New procedure. (elogind-service-type): Extend PAM-ROOT-SERVICE-TYPE.
* services: elogind: Add elogind to the global profile.Ludovic Courtès2016-02-05
| | | | | * gnu/services/desktop.scm (elogind-service-type): Extend PROFILE-SERVICE-TYPE.
* services: upower: Add upower to the global profile.Ludovic Courtès2016-02-05
| | | | | * gnu/services/desktop.scm (upower-service-type): Extend PROFILE-SERVICE-TYPE.
* service: shepherd: All of the config file is in 'call-with-error-handling'.Ludovic Courtès2016-02-05
| | | | | * gnu/services/shepherd.scm (shepherd-configuration-file)[config]: Wrap all the body in 'call-with-error-handling'.
* service: shepherd: Guard against exceptions raised by 'start'.Ludovic Courtès2016-02-05
| | | | | | | | Fixes <http://bugs.gnu.org/22548>. Reported by Albin <albin@fripost.org>, Mark H Weaver, and Alex Kost. * gnu/services/shepherd.scm (shepherd-configuration-file)[config]: Guard against 'service-error?'.
* guix system: Simply warn if we cannot talk to the shepherd.Ludovic Courtès2016-02-05
| | | | | | | | | | | | | | | Before that 'open-connection' would return #f, and thus 'current-services' would return a single #f value when its continuation expects two. Reported by calher on #guix. * gnu/services/herd.scm (open-connection): Rethrow system-error exceptions. (with-shepherd): Expect CONNECTION to always be true; remove useless 'dynamic-wind'. * guix/scripts/system.scm (warn-on-system-error): New macro. (upgrade-shepherd-services): Wrap body in 'warn-on-system-error'.
* guix system: 'reconfigure' loads and starts new services.Ludovic Courtès2016-02-03
| | | | | | | | | | | | | | Partly fixes <http://bugs.gnu.org/22039>. * gnu/services/herd.scm: New file. * gnu-system.am (GNU_SYSTEM_MODULES): Add it. * gnu/services/shepherd.scm (shepherd-service-canonical-name): New procedure. (shepherd-service-file): Export. * guix/scripts/system.scm (upgrade-shepherd-services): New procedure. (switch-to-system): Use it. * guix/ui.scm (info): New procedure. * doc/guix.texi (Invoking guix system): Mention system services.
* gnu: eudev: Add variant that depends on libblkid.Ludovic Courtès2016-02-02
| | | | | | | | | | | | | This fixes a bug whereby /dev/disk/by-{label,id} would be missing on GuixSD (/dev/disk/by-id would still contain device-mapped partitions though.) Reported by Mark H Weaver <mhw@netris.org>. * gnu/packages/linux.scm (eudev-with-blkid): New variable. * gnu/services/base.scm (udev-service): #:udev defaults to EUDEV-WITH-BLKID. * gnu/system.scm (%base-packages): Replace EUDEV with EUDEV-WITH-BLKID.
* services: Rename 'dmd' services to 'shepherd'.Alex Kost2016-01-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * gnu/services/shepherd.scm (dmd-root-service-type, %dmd-root-service) (dmd-service-type, <dmd-service>, dmd-service, dmd-service?) (make-dmd-service, dmd-service-documentation, dmd-service-provision) (dmd-service-requirement, dmd-service-respawn, dmd-service-start) (dmd-service-stop, dmd-service-auto-start?, dmd-service-modules) (dmd-service-imported-modules, dmd-service-file-name, dmd-service-file) (dmd-service-back-edges): Rename to... (shepherd-root-service-type, %shepherd-root-service, shepherd-service-type) (<shepherd-service>, shepherd-service, shepherd-service?) (make-shepherd-service, shepherd-service-documentation) (shepherd-service-provision, shepherd-service-requirement) (shepherd-service-respawn, shepherd-service-start) (shepherd-service-stop, shepherd-service-auto-start?) (shepherd-service-modules, shepherd-service-imported-modules) (shepherd-service-file-name, shepherd-service-file) (shepherd-service-back-edges): ...this * gnu/services.scm: Adjust comments. * gnu/services/avahi.scm (avahi-dmd-service): Rename to... (avahi-shepherd-service): ... this. * gnu/services/base.scm (%root-file-system-dmd-service) (file-system->dmd-service-name, mapped-device->dmd-service-name) (dependency->dmd-service-name, file-system-dmd-service) (mingetty-dmd-service, nscd-dmd-service, guix-dmd-service) (guix-publish-dmd-service, udev-dmd-service, gpm-dmd-service): Rename to... (%root-file-system-shepherd-service) (file-system->shepherd-service-name, mapped-device->shepherd-service-name) (dependency->shepherd-service-name, file-system-shepherd-service) (mingetty-shepherd-service, nscd-shepherd-service, guix-shepherd-service) (guix-publish-shepherd-service, udev-shepherd-service) (gpm-shepherd-service): ... this. * gnu/services/databases.scm (postgresql-dmd-service): Rename to... (postgresql-shepherd-service): ... this. * gnu/services/desktop.scm (upower-dmd-service, elogind-dmd-service): Rename to... (upower-shepherd-service, elogind-shepherd-service): ... this. * gnu/services/dbus.scm (dbus-dmd-service): Rename to... (dbus-shepherd-service): ... this. * gnu/services/lirc.scm (lirc-dmd-service): Rename to... (lirc-shepherd-service): ... this. * gnu/services/mail.scm (dovecot-dmd-service): Rename to... (dovecot-shepherd-service): ... this. * gnu/services/networking.scm (ntp-dmd-service, tor-dmd-service) (bitlbee-dmd-service, wicd-dmd-service, network-manager-dmd-service): Rename to... (dbus-shepherd-service): ... this. * gnu/services/ssh.scm (lsh-dmd-service): Rename to... (lsh-shepherd-service): ... this. * gnu/services/web.scm (nginx-dmd-service): Rename to... (nginx-shepherd-service): ... this. * gnu/services/xorg.scm (slim-dmd-service): Rename to... (slim-shepherd-service): ... this. * gnu/system.scm (essential-services): Use '%shepherd-root-service'. * gnu/system/install.scm (cow-store-service-type): Adjust accordingly. * guix/scripts/system.scm (dmd-service-node-label, dmd-service-node-type) (export-dmd-graph): Likewise. * tests/guix-system.sh: Likewise. * tests/services.scm ("dmd-service-back-edges"): Rename to... ("shepherd-service-back-edges"): Adjust accordingly. * doc/guix.texi: Likewise. * doc/images/service-graph.dot: Use 'shepherd' service name.