services: 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.
services: 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.
services: 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.
services: Add 'system-service-type'. * gnu/services.scm (system-derivation): New procedure. (system-service-type): New variable. (boot-script-entry): New procedure. (boot-service-type): Extend SYSTEM-SERVICE-TYPE. (etc-entry): New procedure. (etc-service-type): Extend SYSTEM-SERVICE-TYPE. (fold-services): Change default #:target-type to SYSTEM-SERVICE-TYPE. * gnu/system.scm (operating-system-directory-base-entries): New procedure. (essential-services): Use it. Add an instance of SYSTEM-SERVICE-TYPE. (operating-system-boot-script): Pass #:target-type to 'fold-services'. (operating-system-derivation): Rewrite in terms of 'fold-services'. * gnu/system/linux-container.scm (system-container): Remove. (container-script): Use 'operating-system-derivation'. * guix/scripts/system.scm (export-extension-graph): Replace BOOT-SERVICE-TYPE by SYSTEM-SERVICE-TYPE. * doc/images/service-graph.dot: Add 'system' node and edges. * doc/guix.texi (Service Composition): Mention SYSTEM-SERVICE-TYPE. (Service Reference): Document it. Update 'fold-services' documentation.
system: grub: Use a bigger background image. * gnu/system/grub.scm (grub-background-image): Increase the default values of WIDTH and HEIGHT. After all, it's 2015 already!
doc: Give an example with an encrypted root partition. * gnu/system/examples/desktop.tmpl: Add 'mapped-devices' field. Use it in 'file-systems'. * doc/guix.texi (System Installation): Suggest encrypted partitions. Give an example of a command sequence.
system: Add 'locale-libcs' field. * gnu/system/locale.scm (localedef-command)[maybe-version-directory]: New procedure. Use it. (locale-directory): Rename to... (single-locale-directory): ... this. Check the version of LIBC to determine whether to create a "X.Y" sub-directory or to make it a symlink to ".". Add the version number in the derivation name. (locale-directory): New procedure. (%default-locale-libcs): New variable. * gnu/system.scm (<operating-system>)[locale-libcs]: New field. (operating-system-locale-directory): Pass it to 'locale-directory'. * doc/guix.texi (operating-system Reference): Document 'locale-libcs'. (Locales)[Locale Data Compatibility Considerations]: New section.
scripts: system: Add 'container' action. * guix/scripts/system.scm (show-help): Display 'container' action. (system-derivation-for-action, guix-system): Add 'container' case. (perform-action): Skip GRUB config generation when building a container. * doc/guix.texi (Invoking guix system): Document it.
system: container: Adjust to changes in gexps. * gnu/system/linux-container.scm (system-container): 'etc' is no longer a monadic value, and the result of 'file-union' must be lowered.
Merge branch 'master' into dbus-update
services: 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.
system: 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.
system: grub: Let GRUB choose the best graphics mode. On PCs, it means that it will typically choose resolutions higher than 640x480, which is nicer. * gnu/system/grub.scm (eye-candy)[setup-gfxterm-body]: Leave 'gfxmode' unset.
linux-initrd: Use pata_acpi, pata_atiixp, and isci modules only on Intel. * gnu/system/linux-initrd.scm (base-initrd)[linux-modules]: Include "pata_acpi", "pata_atiixp", and "isci" on Intel systems only.
system: grub: Adjust eye-candy to work on non-Intel systems. * gnu/system/grub.scm (eye-candy): Accept additional 'system' argument. Add local 'setup-gfxterm-body' variable. Replace the 'load_video' grub function with 'setup_gfxterm', which includes everything in the 'if loadfont' form on Intel systems, but is empty on non-Intel. (grub-configuration-file): Pass 'system' to 'eye-candy.
system: grub: On MIPS, the linux image name is vmlinuz, not bzImage. * gnu/system/grub.scm (grub-configuration-file): Add 'linux-image-name' internal procedure. Use it from 'entry->gexp'.
Merge branch 'master' into dbus-update
install: Set the mtime in the binary tarball to 1. Reported by anthk_ on #guix in Sept. 2015. * gnu/system/install.scm (self-contained-tarball): Use --mtime=@1 instead of --mtime=@0.
services: 'dmd-service-type' takes a service name. * 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.
Merge branch 'core-updates'