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.
services: xorg: Add drivers to the default search path.
* gnu/services/xorg.scm (xorg-start-command)[xserver.conf]: Add
'ModulePath' entries for xf86-video-{fbdev,cirrus,intel,mach64,nv} and
xf86-input-{synaptics,vmmouse}.
services: xorg: Fix typo in font path.
* gnu/services/xorg.scm (xorg-start-command)[xserver.conf]: Fix typo in
font path.
services: Update to use the dmd 0.2 API.
* gnu/services/avahi.scm (avahi-service)[start]: Wrap command in a
list.
* gnu/services/dbus.scm (dbus-service)[start]: Likewise.
* gnu/services/ssh.scm (lsh-service): Likewise.
* gnu/services/base.scm (mingetty-service)[start]: Likewise.
(nscd-service)[start]: Likewise.
(syslog-service)[start]: Likewise.
(guix-service)[start]: Likewise.
(udev-service)[start]: Use 'exec-command' instead of 'execl'.
* gnu/services/xorg.scm (slim-service)[start]: Likewise, and use
#:environment-variables.
services: Add lshd service.
* gnu/services/ssh.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
services: udev: Make sure modules are found, and use "udevadm settle".
* gnu/services/base.scm (udev-service): Set $LINUX_MODULE_DIRECTORY. In
the parent, invoke "udevadm settle" before "udevadm trigger".
system: Add a 'system?' field to user accounts.
* gnu/system/shadow.scm (<user-account>)[system?]: New field.
* gnu/system.scm (user-account->gexp): Add it.
* guix/build/activation.scm (add-user): Add #:system? parameter and
honor it.
(activate-users+groups): Handle the 'system?' part of user tuples.
Pass it to 'add-user'. Don't create PROFILE-DIR when SYSTEM? is
true.
* gnu/services/dbus.scm (dbus-service): Add 'system?' field for
"messagebus" account.
* gnu/services/base.scm (guix-build-accounts): Likewise.
* gnu/services/avahi.scm (avahi-service): Likewise.
services: Add udev service, and add it to '%base-services'.
* gnu/services/base.scm (udev-service): New procedure.
(%base-services): Use it.
* gnu/system.scm (%base-packages): Add UDEV.
system: Remove useless 'members' field of 'user-group'.
* gnu/system/shadow.scm (<user-group>)[members]: Remove field.
* gnu/system/install.scm (installation-os)[users]: Remove 'members'
fields. Use 'supplementary-groups' for 'guest'.
* build-aux/hydra/demo-os.scm (users): Likewise.
* gnu/services/base.scm (guix-service): Remove 'members' field.
Merge branch 'master' into core-updates
services: Use a fixed GID for the build group and use that for the store.
This partly reverts commit 185f669 ("services: Make sure the store's
group is the build group.")
* gnu/services/base.scm (guix-service)[activate]: Remove 'chown' call.
Add 'id' field to 'user-group' form.
* guix/build/install.scm (directives): Set the store's GID to 30000.