services: lsh: Fix activation script. * gnu/services/ssh.scm (lsh-service)[activate]: Import (guix build utils) for 'mkdir-p'.
services: Use system groups where applicable. * gnu/services/avahi.scm (avahi-service): Add 'system?' field to 'user-group' form. * gnu/services/base.scm (guix-service): Likewise. * gnu/services/dbus.scm (dbus-service): Likewise. * gnu/services/networking.scm (tor-service): Likewise.
services: xorg: Honor ~/.xsession. * gnu/services/xorg.scm (xinitrc): Attempt to execute ~/.xsession.
services: xorg: Remove /var/run/slim.lock when starting. Reported by Mark H. Weaver. * gnu/services/xorg.scm (slim-service)[start]: Remove /var/run/slim.lock before starting 'slim'.
install: Add a service to back the store with the target disk. Fixes <http://bugs.gnu.org/18061>. Reported by Adam Pribyl <pribyl@lowlevel.cz>. * gnu/services/dmd.scm (dmd-configuration-file)[config]: Import (guix build utils). * gnu/system/install.scm (make-cow-store, cow-store-service): New procedures. (installation-services): Use it. (%backing-directory): New variable. * doc/guix.texi (System Installation): Add the 'deco start cow-store /mnt' phase.
system: Recognize more file system flags. * guix/build/linux-initrd.scm (MS_NOSUID, MS_NODEV, MS_NOEXEC): New variables. (mount-flags->bit-mask): New procedure. (mount-file-system)[flags->bit-mask]: Remove. Use 'mount-flags->bit-mask' instead. In /etc/mtab, use the empty string when OPTIONS is false. * gnu/services/base.scm (file-system-service): Add #:flags parameter and honor it. * gnu/system.scm (other-file-system-services): Pass FLAGS to 'file-system-service'.
system: Add 'file-system' decl. for /dev/pts, and use the right options. Fixes <http://bugs.gnu.org/18081>. * gnu/system/file-systems.scm (%devtmpfs-file-system): Add 'needed-for-boot?' field. (%tty-gid, %pseudo-terminal-file-system): New variables. (%base-file-systems): Add %PSEUDO-TERMINAL-FILE-SYSTEM. * gnu/services/base.scm (udev-service): Remove dependency on 'file-system-/dev'. * gnu/system/shadow.scm (%base-groups): Add 'id' field for group 'tty'. * guix/build/linux-initrd.scm (boot-system): Remove 'mount' call for /dev/pts. * doc/guix.texi (File Systems): Add %pseudo-terminal-file-system.
system: Add 'create-mount-point?' file system option. * gnu/system/file-systems.scm (<file-system>)[create-mount-point?]: New field. * gnu/services/base.scm (file-system-service): Add #:create-mount-point? parameter and honor it. * gnu/system.scm (other-file-system-services): Update 'file-system-service' call accordingly. * doc/guix.texi (File Systems): Document it.
system: Add '%devtmpfs-file-system' for udev, and '%base-file-systems'. Suggested by Adam Pribyl <pribyl@lowlevel.cz>. * gnu/services/base.scm (udev-service)[requirement]: Add 'file-system-/dev'. * gnu/system/file-systems.scm (%devtmpfs-file-system, %base-file-systems): New variables. * gnu/system/install.scm (installation-services)[file-systems]: Use %base-file-systems. * build-aux/hydra/demo-os.scm (file-systems): Likewise. * doc/guix.texi (System Installation): Show %BASE-FILE-SYSTEMS in the example. (Using the Configuration System): Likewise. (File Systems): Document %base-file-systems, %devtmpfs-file-system, %binary-format-file-system, and %fuse-control-file-system.
services: Allow 'check-file-system' to work for non-boot-time file systems. * gnu/services/base.scm (file-system-service)[start]: Set $PATH so that fsck.* can be found. Reported by "DusXMT".
services: Add 'console-font-service'. * gnu/services/base.scm (unicode-start, console-font-service): New procedures. (%base-services): Call 'console-font-service' for TTY1 to TTY6. * gnu/system/install.scm (installation-services): Add comment about the console font. Call 'console-font-service' for TTY1 to TTY6.
services: syslog: Don't write trivial error messages to /dev/console. * gnu/services/base.scm (syslog-service): Change "*.err" to "*.alert".
services: Add options to 'guix-service'. * gnu/services/base.scm (guix-service): Add #:use-substitutes? and #:extra-options parameters, and honor them. * doc/guix.texi (Base Services): Adjust accordingly.
services: Add Tor service. * gnu/services/networking.scm (tor-service): New procedure. * doc/guix.texi (Networking Services): Document it. * build-aux/hydra/demo-os.scm: Use it. Add TOR and TORSOCKS to 'packages'.
services: networking: Set interfaces up; delete default route only when needed. * gnu/services/networking.scm (static-networking-service): Use -i, -A, and --up with Inetutils' ifconfig. Do 'route del -net default' only when GATEWAY is true.
services: Provide a 'loopback' service by default. * gnu/services/networking.scm (static-networking-service): Add #:provision parameter; use it. * gnu/services/base.scm (%base-services): Call 'static-networking-service' for "lo".
services: Use more Texinfo markup in docstrings. * gnu/services/base.scm (host-name-service): Use Texinfo markup. (mingetty-service): Comment on #:allow-empty-passwords?. Improve markup. (syslog-service, guix-service): Use Texinfo markup. * gnu/services/networking.scm (static-networking-service): Likewise. * gnu/services/xorg.scm (slim-service): Likewise.
services: udev: Improve synchronization when starting. * gnu/services/base.scm (udev-service)[start]: Add 'wait-for-udevd', and call it before running 'udevadm trigger'. Pass --action=add to 'udevadm trigger'. Call 'udevadm settle' after 'udevadm trigger'.
services: xorg: Remove optional sections from xorg.conf. * gnu/services/xorg.scm (xorg-start-command)[xserver.conf]: Remove sections "Monitor", "InputClass", "ServerLayout", "Device", and "Screen".
services: xorg: Require 'udev'. * gnu/services/xorg.scm: Add 'udev' to the 'requirement' field.