gnu: Add qemu-minimal.
* gnu/packages/qemu.scm (qemu): Exchange with former QEMU-HEADLESS.
(qemu-headless): Rename to...
(qemu-minimal): ... this. New variable. Pass --target-list.
* gnu/packages/debug.scm (qemu-2.3.0): Inherit from QEMU-MINIMAL.
* gnu/packages/grub.scm (qemu-for-tests): Likewise.
* gnu/system/vm.scm (expression->derivation-in-linux-vm, qemu-image):
Update to name change.
system: Populate /etc/shells from ACCOUNT-SERVICE-TYPE.
* gnu/system.scm (user-shells): Remove.
(operating-system-etc-service): Remove "shells" entry.
(shells-file): Move to...
* gnu/system/shadow.scm (shells-file): ... here. New procedure.
(etc-skel): Rename to...
(etc-files): ... this. Add "shells" entry.
(account-service-type): Adjust accordingly.
system: 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.
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.