system: Add iw to '%base-packages'. * gnu/system.scm (%base-packages): Add IW.
Merge branch 'master' into 'core-updates'.
system: Add sudo to '%base-packages'. * gnu/system.scm (%base-packages): Add SUDO.
system: /etc/profile defines 'MANPATH', which includes the global profile. * gnu/system.scm (etc-directory)[profile]: Set 'MANPATH'.
system: Cleanup bash startup files. * gnu/system.scm (etc-directory) (bashrc): Rename to 'profile'. * gnu/system/shadow.scm (default-skeletons): Rename '.bashrc' to '.bash_profile'. Don't source /etc/profile.
system: Add 'man-db' to '%base-packages'. Suggested by Tsutsukakushi on #guix. * gnu/system.scm (%base-packages): Add MAN-DB.
Revert "system: Add a 'needed-for-boot?' field to 'mapped-device'." This reverts commit 3b09332adf7ce8e976a4d117a62c586a53af04aa, which turned out to be a bad idea because we need to have dependency information between the device-mapping service and the file-system service that uses it.
system: Add a 'needed-for-boot?' field to 'mapped-device'. * gnu/system/file-systems.scm (<mapped-device>)[needed-for-boot?]: New field. * gnu/system.scm (operating-system-user-mapped-devices, operating-system-boot-mapped-devices): Use it instead of trying to guess. Guessing doesn't work when one refers to a partition using its label, for instance. * doc/guix.texi (Mapped Devices): Document 'needed-for-boot?'.
linux-boot: Load modules and their dependencies, à la 'modprobe'. * gnu/build/linux-boot.scm: Use (gnu build linux-modules). (load-linux-module*): Remove. (boot-system): Add #:linux-module-directory parameter. [lookup-module]: New procedure. Call 'current-module-debugging-port'. Pass #:lookup-module to 'load-linux-module*'. Map LOOKUP-MODULE on LINUX-MODULES. * gnu/system/linux-initrd.scm (base-initrd): Adjust 'boot-system' call accordingly. Adjust #:modules argument as well. * gnu/system.scm (operating-system-activation-script)[%modules]: Likewise. * gnu/system/vm.scm (expression->derivation-in-linux-vm): Likewise.
system: Build system-wide locale definitions. * gnu/system/locale.scm: New file. * gnu-system.am (GNU_SYSTEM_MODULES): Add it. * gnu/system.scm (<operating-system>)[locale]: Change the default to "en_US.utf8". (operating-system-locale-directory): New procecure. (operating-system-derivation): Use it. * doc/guix.texi (Using the Configuration System): Change example locale to "fr_FR.utf8". (operating-system Reference): Add xref to "Locales". Document 'locale-definitions'. (Locales): New section. * po/guix/POTFILES.in: Add gnu/system.scm.
file-systems: 'file-system-needed-for-boot?' always returns #t for "/". Reported by Nikita Karetnikov. * gnu/system/file-systems.scm (<file-system>): Rename 'needed-for-boot?' accessor to '%file-system-needed-for-boot?'. (file-system-needed-for-boot?): New inlinable procedure. * gnu/system.scm (other-file-system-services)[file-systems]: Rely on 'file-system-needed-for-boot?' to handle the "/" case. (operating-system-initrd-file)[boot-file-systems]: Likewise.
system: Shorten the default label for GRUB entries. * gnu/system.scm (kernel->grub-label): Shorten entry labels.
activation: Set the firmware search path. * gnu/build/activation.scm (activate-firmware): New procedure. * gnu/system.scm (<operating-system>)[firmware]: New field. (directory-union): New procedure. (%base-firmware): New variable. (operating-system-activation-script): Use 'directory-union', and call 'activate-firmware'. * doc/guix.texi (operating-system Reference): Document 'firmware'.
services: Add 'user-unmount-service' as an essential service. * 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.
system: Define 'INFOPATH' in /etc/profile. * gnu/system.scm (etc-directory)[bashrc]: Set 'INFOPATH'.
system: Allow Linux-libre to find our 'modprobe' command. Fixes <http://bugs.gnu.org/18525>. Reported by Mark H Weaver <mhw@netris.org>. * gnu/build/activation.scm (activate-modprobe): New procedure. * gnu/system.scm (modprobe-wrapper): New procedure. (operating-system-activation-script): Use both.
system: Add pciutils and pciutils to '%base-packages'. * gnu/system.scm (%base-packages): Add PCIUTILS and USBUTILS.
system: Export 'local-host-aliases'. * gnu/system.scm (local-host-aliases): New procedure. (default-/etc/hosts): Use it.
system: Add Patch to '%base-packages'. * gnu/system.scm (%base-packages): Add PATCH.
system: Add support for boot-time mapped devices. * gnu/build/linux-boot.scm (boot-system): Add #:pre-mount parameter and honor it. * gnu/system/linux-initrd.scm (base-initrd): Add #:mapped-devices parameter. Add 'device-mapping-commands' variable, and use it to build the #:pre-mount argument of 'boot-system'. * gnu/system.scm (mapped-device-user, operating-system-user-mapped-devices, operating-system-boot-mapped-devices): New procedures. (device-mapping-services): Use 'operating-system-user-mapped-devices' instead of 'operating-system-mapped-devices'. (operating-system-initrd-file): Call the initrd with #:mapped-devices.