summaryrefslogtreecommitdiff
path: root/gnu/services
AgeCommit message (Expand)Author
2016-02-05service: shepherd: All of the config file is in 'call-with-error-handling'....* gnu/services/shepherd.scm (shepherd-configuration-file)[config]: Wrap all the body in 'call-with-error-handling'. Ludovic Courtès
2016-02-05service: shepherd: Guard against exceptions raised by 'start'....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?'. Ludovic Courtès
2016-02-05guix system: Simply warn if we cannot talk to the shepherd....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'. Ludovic Courtès
2016-02-03guix system: 'reconfigure' loads and starts new services....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. Ludovic Courtès
2016-02-02gnu: eudev: Add variant that depends on libblkid....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. Ludovic Courtès
2016-01-29services: Rename 'dmd' services to 'shepherd'....* 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. Alex Kost
2016-01-29services: xorg: Use 'shepherd' instead of 'dmd'....* gnu/services/xorg.scm (slim-configuration-dmd): Rename to... (slim-configuration-shepherd): ... this. (slim-shepherd-service): Adjust accordingly. (slim-service): Take 'shepherd' keyword argument. Alex Kost
2016-01-29services: shepherd: Rename shepherd configuration file....* gnu/services/shepherd.scm (dmd-configuration-file): Rename to... (shepherd-configuration-file): ... this. Use "shepherd.conf" name. (dmd-boot-gexp): Use it. Alex Kost
2016-01-29Rename (gnu services dmd) to (gnu services shepherd)....* gnu/services/dmd.scm: Rename to... * gnu/services/shepherd.scm: ... this. * gnu/system.scm: Use it. * gnu/system/install.scm: Likewise. * gnu/services/xorg.scm: Likewise. * gnu/services/web.scm: Likewise. * gnu/services/ssh.scm: Likewise. * gnu/services/networking.scm: Likewise. * gnu/services/mail.scm: Likewise. * gnu/services/lirc.scm: Likewise. * gnu/services/desktop.scm: Likewise. * gnu/services/dbus.scm: Likewise. * gnu/services/databases.scm: Likewise. * gnu/services/base.scm: Likewise. * gnu/services/avahi.scm: Likewise. * guix/scripts/system.scm: Likewise. * tests/services.scm: Likewise. * tests/guix-system.sh: Likewise. * doc/guix.texi (Shepherd Services): Adjust accordingly. * gnu-system.am (GNU_SYSTEM_MODULES): Likewise. * po/guix/POTFILES.in: Likewise. Alex Kost
2016-01-29Rename '/root/etc/dmd' directory and 'do-not-kill' file....* gnu/services/base.scm (%do-not-kill-file): Rename to "/etc/shepherd/do-not-kill". * gnu/build/linux-boot.scm (mount-root-file-system): Rename "/root/etc/dmd" to "/root/etc/shepherd". Alex Kost
2016-01-29Use 'shepherd' instead of 'dmd' as init system....* gnu/services/dmd.scm (dmd-boot-gexp): Use binary from 'shepherd' package. (dmd-root-service-type): Use 'shepherd' package. (%default-modules): Use (shepherd service) module. * gnu/services/base.scm (%root-file-system-dmd-service): Use 'stop-logging' procedure to close shepherd log. Alex Kost
2016-01-27services: guix: Provide Guix via 'profile-service-type'....* gnu/services/base.scm (guix-service-type): Extend PROFILE-SERVICE-TYPE. * gnu/system.scm (%base-packages): Remove GUIX. Ludovic Courtès
2016-01-27services: dmd: Provide dmd via 'profile-service-type'....* gnu/services/dmd.scm (dmd-root-service-type): Extend PROFILE-SERVICE-TYPE. * gnu/system.scm (%base-packages): Remove dmd. Ludovic Courtès
2016-01-21services: avahi: Export service type....* gnu/services/avahi.scm: Export 'avahi-service-type'. Ludovic Courtès
2015-12-22file-systems: Add a 'mount?' field....Fixes <http://bugs.gnu.org/22176>. Reported by Florian Paul Schmidt <mista.tapas@gmx.net>. * gnu/system/file-systems.scm (<file-system>)[mount?]: New field. (file-system->spec): Adjust accordingly. * gnu/services/base.scm (file-system-dmd-service): Return the empty list when FILE-SYSTEM has 'mount?' set to false. (user-processes-service): Select the subset of FILE-SYSTEMS that matches 'file-system-mount?'. * doc/guix.texi (File Systems): Document it. Ludovic Courtès
2015-12-22services: Add 'fstab-service-type'....* gnu/services/base.scm (file-system->fstab-entry) (file-systems->fstab): New procedures. (fstab-service-type): New variable. * gnu/services/base.scm (file-system-dmd-service): New procedure, taken from... (file-system-service-type): ... here. * gnu/system.scm (essential-services): Add FSTAB-SERVICE-TYPE instance. Ludovic Courtès
2015-12-18gnu: Add dovecot service...* gnu/services/mail.scm: New file. (&dovecot-configuration-error, dovecot-configuration-error?) (dovecot-service, dovecot-configuration, dict-configuration) (passdb-configuration, userdb-configuration) (unix-listener-configuration, fifo-listener-configuration) (inet-listener-configuration, service-configuration) (protocol-configuration, plugin-configuration, mailbox-configuration) (namespace-configuration, opaque-dovecot-configuration): New public variables. * gnu-system.am (GNU_SYSTEM_MODULES): Add (gnu services mail). * doc/guix.texi (Mail Services): New node. Andy Wingo
2015-12-05services: Add 'session-environment-service'....* gnu/services/base.scm (session-environment-service): New procedure. (session-environment-service-type): New variable. (environment-variables->environment-file): New procedure. 宋文武
2015-11-29services: Add pkexec to setuid programs....* gnu/services/desktop.scm (polkit-setuid-programs): Add pkexec to list of setuid programs. Ricardo Wurmus
2015-11-27services: tor: Store private data under /var/lib/tor....* gnu/services/networking.scm (tor-configuration->torrc): Add 'DataDirectory' clause. Change 'HiddenServiceDir' to /var/lib/tor/hidden-services/NAME. (tor-hidden-service-activation): Create /var/lib/tor. (tor-hidden-service): Adjust docstring. * doc/guix.texi (Networking Services): Adjust accordingly. Ludovic Courtès
2015-11-27services: tor: Write to syslog....* gnu/services/networking.scm (tor-configuration->torrc): Add "Log notice syslog". (tor-dmd-service): Add 'syslogd' to 'requirement'. Ludovic Courtès
2015-11-27services: Add 'tor-hidden-service'....* gnu/services/networking.scm (<tor-configuration>, <hidden-service>): New record types. (tor-configuration->torrc): New procedure. (tor-dmd-service): Use it. (tor-hidden-service-activation): New procedure. (tor-service-type)[extensions]: Extend ACTIVATION-SERVICE-TYPE. [compose, extend]: New fields. (tor-service): Use 'tor-configuration'. (tor-hidden-service-type): New variable. (tor-hidden-service): New procedure. Ludovic Courtès
2015-11-27services: lsh: Correctly handle #:interfaces option....* gnu/services/ssh.scm (lsh-dmd-service)[lsh-command]: Pass a series of --interface flags instead of the nonexistent --interfaces option. Ludovic Courtès
2015-11-26services: Add network-manager-service....* gnu/services/networking.scm (network-manager-service): New procedure. (network-manager-service-type, %network-manager-activation): New variables. (network-manager-dmd-service): New procedure. 宋文武
2015-11-25services: xorg: Export additional symbols....'slim-configuration' and 'slim-service-type' are needed if one wishes to use 'modify-services' on a service list that includes the slim service. * gnu/services/xorg.scm: Export 'slim-configuration' and 'slim-service-type'. David Thompson
2015-11-25services: dmd: Spawn a REPL upon failure to load a service definition....Fixes <http://bugs.gnu.org/19779>. Reported by Mark H Weaver <mhw@netris.org>. * gnu/services/dmd.scm (dmd-configuration-file)[config]: Wrap 'primitive-load' calls in 'call-with-error-handling'. Ludovic Courtès
2015-11-25services: dmd: Strip the default list of modules....* gnu/services/dmd.scm (%default-imported-modules): Remove (gnu build file-systems). (%default-modules): Likewise, and remove (ice-9 ftw). * gnu/services/base.scm (file-system-service-type): Add 'modules' and 'imported-modules' fields. Ludovic Courtès
2015-11-25services: dmd: Add 'modules' and 'imported-modules' fields....* gnu/services/dmd.scm (%default-imported-modules, %default-modules): New variables. * gnu/services/dmd.scm (<dmd-service>)[modules, imported-modules]: New field. * gnu/services/dmd.scm (dmd-service-file-name, dmd-service-file): New procedures. (dmd-configuration-file)[modules]: Compute based on the 'imported-modules' field of SERVICES. (dmd-configuration-file): Remove 'use-modules' form. Use 'dmd-service-file', and call 'primitive-load' on each file. * doc/guix.texi (dmd Services): Document the new fields. Ludovic Courtès
2015-11-24services: dmd: Error out upon unmet dmd requirements....* gnu/services/dmd.scm (assert-no-duplicates): Rename to... (assert-valid-graph): ... this. [provisions]: New variable. [assert-satisfied-requirements]: New procedure. Use it. * tests/guix-system.sh: Add test with unmet dmd requirements. Ludovic Courtès
2015-11-20gnu: services: Fix typo in gpm-dmd-service....* gnu/services/base.scm (gpm-dmd-service): s/dmd/gpm/ David Thompson
2015-11-19services: Add udev-rule procedure....* gnu/services/base.scm (udev-rule): New procedure. (kvm-udev-rule): Rewrite as variable in terms of udev-rule. Ricardo Wurmus
2015-11-18services: Export udev-configuration procedures....* gnu/services/base.scm (udev-configuration, udev-configuration?, udev-configuration-rules): Export. Ricardo Wurmus
2015-11-07services: Add 'gpm-service'....* gnu/services/base.scm (<gpm-configuration>): New record type. (gpm-dmd-service): New procedure. (gpm-service-type): New variable. (gpm-service): New procedure. * doc/guix.texi (Base Services): Document it. Ludovic Courtès
2015-11-03system: Rename (gnu system linux) to (gnu system pam)....* gnu/system/linux.scm: Rename to... * gnu/system/pam.scm: ... this. * gnu-system.am (GNU_SYSTEM_MODULES): Adjust accordingly. * gnu.scm, gnu/services/base.scm, gnu/services/desktop.scm, gnu/services/networking.scm, gnu/services/ssh.scm, gnu/services/xorg.scm, gnu/system.scm, gnu/system/vm.scm: Likewise. Ludovic Courtès
2015-11-03services: Add 'guix-publish-service'....* gnu/services/base.scm (<guix-publish-configuration>): New record type. (guix-publish-dmd-service): New procedure. (%guix-publish-accounts, guix-publish-service-type): New variables. (guix-publish-service): New procedure. * doc/guix.texi (Invoking guix publish): Add xref to 'guix-publish-service' anchor. (Base Services): Document 'guix-publish-service'. Ludovic Courtès
2015-11-02services: udisks: Add UDisks to the system profile....* gnu/services/desktop.scm (udisks-service-type): Extend PROFILE-SERVICE-TYPE. Ludovic Courtès
2015-11-02services: avahi: Add Avahi to the system profile....* gnu/services/avahi.scm (avahi-service-type): Extend PROFILE-SERVICE-TYPE. (avahi-service): Adjust docstring. * doc/guix.texi (Networking Services): Adjust accordingly. * gnu/system/examples/desktop.tmpl (packages): Remove AVAHI. Ludovic Courtès
2015-11-02services: slim: Add xterm to the system profile....* gnu/services/xorg.scm (slim-service-type): Extend PROFILE-SERVICE-TYPE. * gnu/system/examples/desktop.tmpl (packages): Remove XTERM. Ludovic Courtès
2015-11-02services: wicd: Add Wicd to the system profile....* gnu/services/networking.scm (wicd-service-type): Extend PROFILE-SERVICE-TYPE. (wicd-service): Mention it in docstring. * doc/guix.texi (Networking Services): Update documentation accordingly. * gnu/system/examples/desktop.tmpl (packages): Remove WICD. Ludovic Courtès
2015-11-01Revert "services: polkit: Use the right executable name for PAM."...This reverts commit 7f39e181dfb34db8f245f3ffafe34eec9cee910d. Polkit actually uses the name "polkit-1" in calls to 'pam_start'. Ludovic Courtès
2015-11-01services: Add 'udisks-service'....* gnu/services/desktop.scm (<udisks-configuration>): New record type. (udisks-service-type): New variable. (udisks-service): New procedure. (%desktop-services): Use it. * doc/guix.texi (Desktop Services): Document it. Ludovic Courtès
2015-11-01services: 'polkit-service-type' can now be extended....* gnu/packages/polkit.scm (polkit)[source]: Adjust snippet so that rules and actions are looked for under /etc/polkit-1. * gnu/services/desktop.scm (<polkit-configuration>): New record type. (polkit-directory, polkit-etc-files, polkit-setuid-programs): New procedures. (polkit-service-type)[compose, extend]: New fields. (polkit-service): Refine docstring. (colord-service-type): Extend POLKIT-SERVICE-TYPE. (elogind-configuration-file): Extend POLKIT-SERVICE-TYPE. * doc/guix.texi (Desktop Services): Update 'polkit-service' documentation. Ludovic Courtès
2015-10-31Merge branch 'dbus-update'Ludovic Courtès
2015-10-31services: 'tor-service' takes a 'config-file' parameter....* gnu/services/networking.scm (tor-dmd-service): Take a 'config' parameter and honor it. (tor-service): Take a 'config-file' parameter. Pass it in the service's value. * doc/guix.texi (Networking Services): Adjust accordingly. Ludovic Courtès
2015-10-30Merge branch 'master' into dbus-update宋文武
2015-10-29services: Add screen-locker service....* gnu/system/linux.scm (base-pam-services): Remove "xlock" and "xscreensaver". * gnu/services/xorg.scm (<screen-locker>): New record type. (screen-locker-pam-services, screen-locker-setuid-programs, screen-locker-service): New procedures. (screen-locker-service-type): New variable. * gnu/services/desktop.scm (%desktop-services): Use them. * doc/guix.texi (X Window): Document 'screen-locker-service'. (Desktop Services): Mention it. Ludovic Courtès
2015-10-29system: File systems depend on their corresponding device mappings....Fixes a regression introduced in commit 0adfe95. * gnu/system.scm (other-file-system-services)[requirements]: Remove. [add-dependencies]: New procedure. Use it. * gnu/system/file-systems.scm (<file-system>)[dependencies]: Update comment. * gnu/services/base.scm (mapped-device->dmd-service-name, dependency->dmd-service-name): New procedures. (file-system-service-type): Use it. Ludovic Courtès
2015-10-28services: Add 'modify-services'....* gnu/services.scm (%modify-service, modify-services): New macros. * gnu/services/base.scm (mingetty-service-type, guix-service-type): Export. * emacs/guix-devel.el (guix-devel-keywords): Add 'modify-services'. Ditto in 'guix-devel-scheme-indent' call. * doc/guix.texi (Using the Configuration System): Give an example of 'modify-services'. (Service Reference): Document it. Ludovic Courtès
2015-10-28services: 'guix-configuration' has a 'substitute-urls' field....* gnu/services/base.scm (<guix-configuration>)[substitute-urls]: New field. (guix-dmd-service): Honor it. * doc/guix.texi (Base Services): Document it. Ludovic Courtès
2015-10-23Merge branch 'master' into dbus-updateMark H Weaver