summary refs log tree commit diff
path: root/gnu/services/base.scm
AgeCommit message (Collapse)Author
2016-02-08file-systems: Spawn a Bournish REPL upon fsck failure.Ludovic Courtès
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.
2016-02-02gnu: eudev: Add variant that depends on libblkid.Ludovic Courtès
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.
2016-01-29services: Rename 'dmd' services to 'shepherd'.Alex Kost
* 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.
2016-01-29Rename (gnu services dmd) to (gnu services shepherd).Alex Kost
* 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.
2016-01-29Rename '/root/etc/dmd' directory and 'do-not-kill' file.Alex Kost
* 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".
2016-01-29Use 'shepherd' instead of 'dmd' as init system.Alex Kost
* 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.
2016-01-27services: guix: Provide Guix via 'profile-service-type'.Ludovic Courtès
* gnu/services/base.scm (guix-service-type): Extend PROFILE-SERVICE-TYPE. * gnu/system.scm (%base-packages): Remove GUIX.
2015-12-22file-systems: Add a 'mount?' field.Ludovic Courtès
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.
2015-12-22services: Add 'fstab-service-type'.Ludovic Courtès
* 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.
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-25services: dmd: Strip the default list of modules.Ludovic Courtès
* 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.
2015-11-20gnu: services: Fix typo in gpm-dmd-service.David Thompson
* gnu/services/base.scm (gpm-dmd-service): s/dmd/gpm/
2015-11-19services: Add udev-rule procedure.Ricardo Wurmus
* gnu/services/base.scm (udev-rule): New procedure. (kvm-udev-rule): Rewrite as variable in terms of udev-rule.
2015-11-18services: Export udev-configuration procedures.Ricardo Wurmus
* gnu/services/base.scm (udev-configuration, udev-configuration?, udev-configuration-rules): Export.
2015-11-07services: Add 'gpm-service'.Ludovic Courtès
* 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.
2015-11-03system: Rename (gnu system linux) to (gnu system pam).Ludovic Courtès
* 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.
2015-11-03services: Add 'guix-publish-service'.Ludovic Courtès
* 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'.
2015-10-29system: File systems depend on their corresponding device mappings.Ludovic Courtès
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.
2015-10-28services: Add 'modify-services'.Ludovic Courtès
* 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.
2015-10-28services: 'guix-configuration' has a 'substitute-urls' field.Ludovic Courtès
* gnu/services/base.scm (<guix-configuration>)[substitute-urls]: New field. (guix-dmd-service): Honor it. * doc/guix.texi (Base Services): Document it.
2015-10-14services: Unmount user file systems after process termination.Ludovic Courtès
* gnu/services/base.scm (user-unmount-service-type): Change label and dmd name to 'user-file-systems'. (user-processes-service-type)[requirement]: Add 'user-file-systems'.
2015-10-14services: 'dmd-service-type' takes a service name.Ludovic Courtès
* gnu/services/dmd.scm (dmd-service-type): Add 'service-name' parameter. * gnu/services/base.scm, gnu/services/networking.scm, gnu/system/install.scm: Adjust callers.
2015-10-10services: Introduce extensible services.Ludovic Courtès
This patch rewrites GuixSD services to make them extensible. * gnu-system.am (GNU_SYSTEM_MODULES): Add gnu/services/dbus.scm. * gnu/services.scm (<service>): Replace with new record type. (<service-extension>, <service-type>): New record types. (write-service-type, compute-boot-script, second-argument): New procedures. (%boot-service, boot-service-type): New variables. (file-union, directory-union, modprobe-wrapper, activation-service->script, activation-script, gexps->activation-gexp): New procedures. (activation-service-type, %activation-service): New variables. (etc-directory, files->etc-directory, etc-service): New procedures. (etc-service-type, setuid-program-service, firmware-service-type): New variables. (firmware->activation-gexp): New procedure. (&service-error, &missing-target-service-error, &ambiguous-target-service-error): New condition types. (service-back-edges, fold-services): New procedures. * gnu/services/avahi.scm (<avahi-configuration>): New record type. (configuration-file): Replace keyword parameters with a single 'config' parameter. (%avahi-accounts, %avahi-activation, avahi-service-type): New variables. (avahi-dmd-service): New procedure. (avahi-service): Rewrite using 'service' and 'avahi-configuration'. * gnu/services/base.scm (%root-file-system-dmd-service, root-file-system-service-type): New variables. (root-file-system-service): Use them. (file-system->dmd-service-name): New procedure. (file-system-service-type): New variable. (file-system-service): Use it. Replace keyword parameters with a single 'file-system' object. (user-unmount-service-type): New variable. (user-unmount-service): Use it. (user-processes-service-type): New variable. (user-processes-service): Use it. (host-name-service-type): New variable. (host-name-service): Use it. (console-keymap-service-type): New variable. (console-keymap-service): Use it. (console-font-service-type): New variable. (console-font-service): Use it. (mingetty-pam-service, mingetty-dmd-service): New procedures. (mingetty-service-type): New variable. (mingetty-service): Use it. (nscd-dmd-service): New procedure. (nscd-activation, nscd-service-type): New variables. (nscd-service): Use the latter. (syslog-service-type): New variable. (syslog-service): Use it. (<guix-configuration>): New record type. (%default-guix-configuration): New variable. (guix-dmd-service, guix-accounts, guix-activation): New procedures. (guix-service-type): New variable. (guix-service): Replace list of keyword parameters with a single 'config' parameter. Rewrite using 'service'. (<udev-configuration>): New record type. (udev-dmd-service): New procedure. (udev-service-type): New variable. (udev-service): Use it. (device-mapping-service-type): New variable. (device-mapping-service): Use it. (swap-service-type): New variable. (swap-service): Use it. * gnu/services/databases.scm (<postgresql-configuration>): New record type. (%postgresql-accounts, postgresql-activation): New variables. (postgresql-dmd-service): New procedure. (postgresql-service): Rewrite using 'service' and 'postgresql-configuration'. * gnu/services/dbus.scm: New file. * gnu/services/desktop.scm (dbus-configuration-directory, dbus-service): Remove. (wrapped-dbus-service): New procedure. (<upower-configuration>): New record type. (upower-configuration-file): Replace keyword parameters with single <upower-configuration> parameter. (%upower-accounts, %upower-activation): New variables. (upower-dbus-service, upower-dmd-service): New procedures. (upower-service-type): New variable. (upower-service): Rewrite using 'service' and 'upower-configuration'. (%colord-activation, %colord-accounts): New variables. (colord-dmd-service): New procedure. (colord-service-type): New variable. (colord-service): Rewrite using 'service'. (<geoclue-configuration>): New record type. (geoclue-configuration-file): Replace keyword parameters with a single 'config' parameter. (geoclue-dbus-service, geoclue-dmd-service): New procedures. (%geoclue-accounts, geoclue-service-type): New variables. (geoclue-service): Rewrite using 'service' and 'geoclue-configuration'. (%polkit-accounts, %polkit-pam-services, polkit-service-type): New variables. (polkit-dmd-service): New procedure. (polkit-service): Rewrite using 'service'. (<elogind-configuration>)[elogind]: New field. (elogind-dmd-service): New procedure. (elogind-service-type): New variable. (elogind-service): Rewrite using 'service'. (%desktop-services): Remove argument to 'dbus-service'. Remove 'map' over %BASE-SERVICES. * gnu/services/dmd.scm (dmd-boot-gexp): New procedure. (dmd-root-service-type, %dmd-root-service): New variables. (dmd-service-type): New macro. (<dmd-service>): New record type. * gnu/services/lirc.scm (<lirc-configuration>): New record type. (%lirc-activation): New variable. (lirc-dmd-service): New procedure. (lirc-service-type): New variable. (lirc-service): Rewrite using 'service' and 'lirc-configuration'. * gnu/services/networking.scm (<static-networking>): New record type. (static-networking-service-type): New variable. (static-networking-service): Rewrite using 'service' and 'static-networking'. (dhcp-client-service-type): New variable. (dhcp-client-service): Rewrite using 'service'. (<ntp-configuration>): New record type. (ntp-dmd-service): New procedure. (ntp-service-type): New variable. (ntp-service): New procedure. (%tor-accounts, tor-service-type): New variable. (tor-dmd-service): New procedure. (tor-service): Rewrite using 'service'. (<bitlbee-configuration>): New record type. (bitlbee-dmd-service): New procedure. (%bitlbee-accounts, %bitlbee-activation, bitlbee-service-type): New variables. (bitlbee-service): Rewrite using 'service'. (%wicd-activation): New variable. (wicd-dmd-service): New procedure. (wicd-service-type): New variable. (wicd-service): Rewrite using 'service'. * gnu/services/ssh.scm (<lsh-configuration>): New record type. (activation): Rename to... (lsh-initialization): ... this. (lsh-activation, lsh-dmd-service, lsh-pam-services): New procedures. (lsh-service-type): New variable. (lsh-service): Rewrite using 'service' and 'lsh-configuration'. * gnu/services/web.scm (<nginx-configuration>): New record type. (%nginx-accounts): New variable. (nginx-activation, nginx-dmd-service): New procedures. (nginx-service-type): New variable. (nginx-service): Rewrite using 'service' and 'nginx-configuration'. * gnu/services/xorg.scm (<slim-configuration>): New record type. (slim-pam-service, slim-dmd-service): New procedures. (slim-service-type): New variable. (slim-service): Rewrite using 'service' and 'slim-configuration'. * gnu/system.scm (file-union): Remove. (other-file-system-services): Adjust to new 'file-system-service' signature. (essential-services): Add #:container? parameter. Add %DMD-ROOT-SERVICE, %ACTIVATION-SERVICE, and calls to 'pam-root-service', 'account-service', 'operating-system-etc-service', and a SETUID-PROGRAM-SERVICE instance. (operating-system-services): Pass #:container? to 'essential-services. (etc-directory): Remove. (operating-system-etc-service): New procedure. Rewrite as a call to 'etc-service'. (operating-system-accounts): Change to not return accounts required by services. (operating-system-etc-directory): Rewrite as a call to 'fold-services' and 'etc-directory'. (user-group->gexp, user-account->gexp, modprobe-wrapper): Remove. (operating-system-activation-script): Rewrite as a call to 'fold-services' and 'activation-service->script'. (operating-system-boot-script): Likewise. (operating-system-derivation): Add call to 'lower-object'. (emacs-site-file, emacs-site-directory, shells-file): Change to use 'computed-file' and 'scheme-file' instead of the monadic procedures. * gnu/system/install.scm (cow-store-service-type): New variable. (cow-store-service): Rewrite using 'service'. (/etc/configuration-files): New procedure. (configuration-template-service-type, %configuration-template-service): New variables. (configuration-template-service): Remove. (installation-services): Adjust accordingly. Adjust argument to 'guix-service'. * gnu/system/linux.scm (/etc-entry, pam-root-service): New procedures. (pam-root-service-type): New variable. * gnu/system/shadow.scm (user-group->gexp, user-account->gexp, account-activation, etc-skel, account-service): New procedures. (account-service-type): New variable. * tests/services.scm: New file. * doc/guix.texi (Base Services, Desktop Services): Adjust accordingly. (Defining Services): Rewrite. * doc/images/service-graph.dot: New file. * doc.am (DOT_FILES): Add it. * po/guix/POTFILES.in: Add gnu/services.scm.
2015-10-10services: nscd-service: Fit everything into <nscd-configuration>.Ludovic Courtès
* gnu/services/base.scm (<nscd-configuration>)[glibc, name-services]: New fields. (nscd-service): Remove #:glibc and #:name-services parameters. Adjust body to take those from CONFIG. * gnu/services/desktop.scm (%desktop-services): Adjust accordingly. * doc/guix.texi (Base Services): Adjust accordingly. (Name Service Switch): Adjust example.
2015-10-10services: mingetty-service: Use <mingetty-configuration> objects.Ludovic Courtès
* gnu/services/base.scm (<mingetty-configuration>): New record type. (mingetty-service): Expect a single <mingetty-configuration> instead of keyword arguments. (%base-services): Adjust accordingly. * gnu/system/install.scm (installation-services): Likewise. * doc/guix.texi (Base Services): Adjust accordingly.
2015-10-10system: Make service procedures non-monadic.Ludovic Courtès
* gnu/services/avahi.scm (configuration-file): Use 'plain-file' instead of 'text-file'. (avahi-service): Turn into a regular procedure that returns a <service>. * gnu/services/base.scm (root-file-system-service, file-system-service, user-unmount-service, user-processes-service, host-name-service, console-keymap-service, console-font-service, mingetty-service, nscd.conf-file, nscd-service): Likewise. (%default-syslog.conf): New variable. (syslog-service): Use it. Turn into a regular procedure. (guix-service, udev-rules-union, kvm-udev-rule, udev-service, device-mapping-service, swap-service): Likewise. * gnu/services/databases.scm (%default-postgres-hba, %default-postgres-ident): Use 'plain-file' instead of 'text-file'. (%default-postgres-config): Use 'mixed-text-file' instead of 'text-file*'. (postgresql-service): Use 'program-file' instead of 'gexp->script'. Turn into a regular procedure. * gnu/services/desktop.scm (dbus-configuration-directory): Use 'computed-file' instead of 'gexp->derivation'. (upower-configuration-file, geoclue-configuration-file, elogind-configuration-file): Use 'plain-file' instead of 'text-file'. (dbus-service, upower-service, colord-service, geoclue-service, polkit-service, elogind-service): Turn into regular procedures. (%desktop-services): Remove use of 'mlet' when iterating on %BASE-SERVICES. * gnu/services/lirc.scm (lirc-service): Turn into a regular procedure. * gnu/services/networking.scm (static-networking-service, dhcp-client-service, ntp-service, tor-service, bitlbee-service, wicd-service): Likewise. * gnu/services/ssh.scm (lsh-service): Likewise. * gnu/services/web.scm (nginx-service): Likewise. * gnu/services/xorg.scm (xorg-configuration-file): Use 'mixed-text-file' instead of 'text-file*'. (xorg-start-command, slim-service): Turn into regular procedures. (xinitrc): Use 'program-file' instead of 'gexp->script'. * gnu/system/install.scm (cow-store-service, configuration-template-service): Turn into regular procedures. * gnu/system.scm (other-file-system-services, device-mapping-services, swap-services, essential-services, operating-system-services, user-shells, operating-system-accounts): Remove now unnecessary 'mlet' and turn into regular procedures. (operating-system-etc-directory, operating-system-activation-script, operating-system-boot-script): Adjust accordingly. * doc/guix.texi (Base Services, Networking Services, X Window, Desktop Services, Database Services, Web Services, Various Services, Name Service Switch): Adjust accordingly.
2015-10-10services: 'mingetty-service' no longer takes monadic values.Ludovic Courtès
* gnu/services/base.scm (mingetty-service): Change default value of #:motd from a monadic value to a <plain-file>. Assume MOTD to be a file-like object. Assume LOGIN-PROGRAM is a gexp or #f. (%base-services): Use 'plain-file' instead of 'text-file' for motd. * gnu/system/linux.scm (unix-pam-service): Update docstring to mention that MOTD is a file-like object. * doc/guix.texi (Base Services): Adjust 'mingetty-service' documentation accordingly. * gnu/system/install.scm (installation-services): Adjust accordingly. (log-to-info): Use 'program-file' instead of 'gexp->script'.
2015-09-13Revert "services: 'mingetty-service' no longer takes monadic values."Ludovic Courtès
This reverts commit daa48c31797b27e3a0991d0db7406c951ebc86df.
2015-09-13services: 'mingetty-service' no longer takes monadic values.Ludovic Courtès
* gnu/services/base.scm (mingetty-service): Change default value of #:motd from a monadic value to a <plain-file>. Assume MOTD to be a file-like object. Assume LOGIN-PROGRAM is a gexp or #f. (%base-services): Use 'plain-file' instead of 'text-file' for motd. * gnu/system/linux.scm (unix-pam-service): Update docstring to mention that MOTD is a file-like object. * doc/guix.texi (Base Services): Adjust 'mingetty-service' documentation accordingly.
2015-09-10services: Add udev rules for (upower colord elogind) to %desktop-services.Mark H Weaver
* gnu/services/desktop.scm (%desktop-services): Replace the 'udev-service' from %base-services. * gnu/services/base.scm (%base-services): Add a comment to keep them in sync.
2015-07-17system: Use the CRDA udev rules.Ludovic Courtès
* gnu/services/base.scm (%base-services): Add CRDA to the #:rules of 'udev-service'. * gnu/system/install.scm (installation-services): Likewise.
2015-07-15system: Make /dev/kvm 660.Ludovic Courtès
* gnu/services/base.scm (kvm-udev-rule): Change /dev/kvm mode to 0660 as a followup to the resolution of <http://bugs.gnu.org/18994>.
2015-05-22services: swap: Use 'restart-on-EINTR'.Ludovic Courtès
* gnu/services/base.scm (swap-service)[start, stop]: Use 'restart-on-EINTR'. * guix/build/syscalls.scm (swapoff): Fix typo in 'throw' arguments.
2015-05-01services: Add console-keymap service.Alex Kost
* gnu/services/base.scm (console-keymap-service): New procedure. * doc/guix.texi (Base Services): Document it. Co-authored-by: 宋文武 <iyzsong@gmail.com>
2015-04-20file-systems: Use a second 'mount' call for read-only bind mounts.Ludovic Courtès
* gnu/build/file-systems.scm (MS_REMOUNT): New constant. (mount-file-system): Add 'flags' local variable. When FLAGS has MS_BIND & MS_RDONLY, call 'mount' with MS_REMOUNT. * gnu/services/base.scm (file-system-service) <start>: Likewise.
2015-04-12doc: Add example showing how to customize 'nscd-service'.Ludovic Courtès
* doc/guix.texi (Name Service Switch): Add link to nss-mdns. Add example show how to pass #:name-services to 'nscd-service'. (Base Services): Add link from 'nscd-service' to the above. * gnu/services/base.scm (nscd-service): Update docstring accordingly.
2015-04-01services: syslog-service: Add 'config-file' argument.Alex Kost
* gnu/services/base.scm (syslog-service): Add 'config-file' keyword argument. * doc/guix.texi (Base Services): Document it.
2015-03-26services: guix-service: Add service documentation.Alex Kost
* gnu/services/base.scm (guix-service): Add 'documentation' field to the service.
2015-03-19services: guix-service: Add 'lsof' and 'lsh' to guix-daemon's $PATH.Ludovic Courtès
* gnu/services/base.scm (guix-service): Add #:lsof and #:lsh parameters. [start]: Pass #:environment-variables to 'make-forkexec-constructor'.
2015-03-17services: guix-service: Remove extraneous monadism.Ludovic Courtès
* gnu/services/base.scm (guix-build-accounts): Remove unneeded 'with-monad'. (guix-service): Adjust accordingly.
2015-02-25services: nscd: Make sure /var/db/nscd exists.Ludovic Courtès
* gnu/services/base.scm (nscd-service)[activate]: Make /var/db/nscd.
2015-02-04services: nscd-service: Add #:name-services parameter.Ludovic Courtès
* gnu/services/base.scm (nscd-service): Add #:name-services parameter. In 'start' field, set LD_LIBRARY_PATH based on #:name-services. * doc/guix.texi (Base Services): Document it. (Name Service Switch): Link to 'nscd-service'.
2015-01-27services: mingetty: Wait for udev.Ludovic Courtès
* gnu/services/base.scm (mingetty-service): Add 'udev' to 'requirement'.
2015-01-23services: guix: #:authorize-hydra-key? now defaults to #t.Ludovic Courtès
* gnu/services/base.scm (guix-service): Change AUTHORIZE-HYDRA-KEY? default value to #t.
2015-01-14monads: Move '%store-monad' and related procedures where they belong.Ludovic Courtès
This turns (guix monads) into a generic module for monads, and moves the store monad and related monadic procedures in their corresponding module. * guix/monads.scm (store-return, store-bind, %store-monad, store-lift, text-file, interned-file, package-file, package->derivation, package->cross-derivation, origin->derivation, imported-modules, compiled, modules, built-derivations, run-with-store): Move to... * guix/store.scm (store-return, store-bind, %store-monad, store-lift, text-file, interned-file): ... here. (%guile-for-build): New variable. (run-with-store): Moved from monads.scm. Remove default value for #:guile-for-build. * guix/packages.scm (default-guile): Export. (set-guile-for-build): New procedure. (package-file, package->derivation, package->cross-derivation, origin->derivation): Moved from monads.scm. * guix/derivations.scm (%guile-for-build): Remove. (imported-modules): Rename to... (%imported-modules): ... this. (compiled-modules): Rename to... (%compiled-modules): ... this. (built-derivations, imported-modules, compiled-modules): New procedures. * gnu/services/avahi.scm, gnu/services/base.scm, gnu/services/dbus.scm, gnu/services/dmd.scm, gnu/services/networking.scm, gnu/services/ssh.scm, gnu/services/xorg.scm, gnu/system/install.scm, gnu/system/linux-initrd.scm, gnu/system/shadow.scm, guix/download.scm, guix/gexp.scm, guix/git-download.scm, guix/profiles.scm, guix/svn-download.scm, tests/monads.scm: Adjust imports accordingly. * guix/monad-repl.scm (default-guile-derivation): New procedure. (store-monad-language, run-in-store): Use it. * build-aux/hydra/gnu-system.scm (qemu-jobs): Add explicit 'set-guile-for-build' call. * guix/scripts/archive.scm (derivation-from-expression): Likewise. * guix/scripts/build.scm (options/resolve-packages): Likewise. * guix/scripts/environment.scm (guix-environment): Likewise. * guix/scripts/system.scm (guix-system): Likewise. * doc/guix.texi (The Store Monad): Adjust module names accordingly.
2015-01-13services: user-processes: Really honor the grace delay.Ludovic Courtès
* gnu/services/base.scm (user-processes-service): Change #:grace-delay default value to 4. Define 'sleep*' and use it.
2015-01-12services: user-processes: Write debugging messages to the output port.Ludovic Courtès
* gnu/services/base.scm (user-processes-service): Write "sending all processes..." message to the current output port, not to /dev/console.
2014-12-14services: Make 'nscd-service' configurable; cache hosts/services by default.Ludovic Courtès
Before that, as it was given an empty configuration file, nscd would actually have all its caches disabled. * gnu/services/base.scm (<nscd-configuration>, <nscd-cache>): New record types. (%nscd-default-caches, %nscd-default-configuration): New variables. (nscd.conf-file): New procedure. (nscd-service): Add 'config' parameter. Use 'nscd.conf-file', and pass its result as the '-f' parameter of nscd. * doc/guix.texi (Base Services): Update 'nscd-service' documentation accordingly. Document 'nscd-configuration', 'nscd-cache', '%nscd-default-configuration', and '%nscd-default-caches'.
2014-11-14services: user-unmount: Change directory to "/" before unmounting.Ludovic Courtès
* gnu/services/base.scm (user-unmount-service): Add 'chdir' call.
2014-11-10services: Add 'user-unmount-service' as an essential service.Ludovic Courtès
* gnu/services/base.scm (user-unmount-service): New procedure. * gnu/system.scm (essential-services): Use it. * gnu/system/install.scm (cow-store-service): Mention it in comment.