linux-initrd: Rename 'qemu-initrd' to 'base-initrd'. * gnu/system/linux-initrd.scm (qemu-initrd): Rename to... (base-initrd): ... this. * gnu/system.scm (<operating-system>)[initrd]: Update accordingly. * gnu/system/vm.scm (expression->derivation-in-linux-vm, system-disk-image, virtualized-operating-system): Likewise.
system: Set $LINUX_MODULE_DIRECTORY as a function or /run/booted-system. * gnu/system.scm (etc-directory): Remove #:kernel parameter. Set LINUX_MODULE_DIRECTORY as a function or /run/booted-system. (operating-system-etc-directory): Update accordingly.
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.
system: Adjust the set of fields with default values. * gnu/system.scm (<operating-system>)[file-systems]: Remove default. [locale]: Add default value.
guix system: Add 'reconfigure' action. * guix/scripts/system.scm (%system-profile): New variable. (switch-to-system, previous-grub-entries): New procedures. (unless-file-not-found): New macro. (show-help): Add 'reconfigure'. (guix-system): Handle it. * gnu/system.scm: Export 'operating-system-activation-script'. * doc/guix.texi (Invoking guix system): Document it.
system: Support the addition of old entries in the GRUB menu. * gnu/system.scm (operating-system-grub.cfg): Add 'old-entries' parameter. Pass it to 'grub-configuration-file'. * gnu/system/grub.scm (grub-configuration-file): Add #:old-entries parameter. Honor it.
system: Store boot parameters in the system derivation. * gnu/system.scm (operating-system-parameters-file): New procedure. (operating-system-derivation): Use it to produce a 'parameters' files.
system: Factorize GRUB menu entry label. * gnu/system.scm (kernel->grub-label): New procedure. (operating-system-grub.cfg): Use it.
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: Augment the default set of groups. * gnu/system/shadow.scm (%base-groups): New variable. * gnu/system.scm (<operating-system>)[groups]: Use it as the default.
Merge branch 'core-updates'
system: Prefer packages from %FINAL-INPUTS. * gnu/packages/base.scm (canonical-package): New procedure. * gnu/system.scm (%base-packages): Pass BASH, COREUTILS, FINDUTILS, GREP, and SED through 'canonical-package'.
Merge branch 'master' into core-updates
system: Tell module-init-tools where to look for modules. * gnu/packages/linux.scm (module-init-tools)[source](patches): New field. * gnu/packages/patches/module-init-tools-moduledir.patch: New file. * gnu-system.am (dist_patch_DATA): Add it. * gnu/system.scm (etc-directory): Add #:kernel parameter. Set 'LINUX_MODULE_DIRECTORY' in bashrc. (operating-system-etc-directory): Pass #:kernel to 'etc-directory'.
system: Rename activation script. * gnu/system.scm (operating-system-activation-script): Change file name to "activate".
system: Define '%base-packages' and use it. * gnu/system.scm (<operating-system>)[packages]: Change default value to %BASE-PACKAGES. (%base-packages): New variable. * gnu/system/install.scm (installation-os): Use it when defining the 'packages' field. * doc/guix.texi (Using the Configuration System): Use %BASE-PACKAGES in example. Remove now unneeded module imports. Explain this.
system: Make sure /run/setuid-programs comes first in $PATH. * gnu/system.scm (etc-directory) <bashrc>: Move /run/setuid-programs first in $PATH.
system: File system sources can be marked as labels or devices. * gnu/system/file-systems.scm (<file-system>)[title]: New field. * gnu/services/base.scm (file-system-service): Add #:title parameter. In 'start' gexp, use 'canonicalize-device-spec' and honor TITLE. * gnu/system.scm (other-file-system-services, operating-system-root-file-system, operating-system-initrd-file): Adjust accordingly. * gnu/system/linux-initrd.scm (file-system->spec): Likewise. * gnu/system/vm.scm (system-disk-image): Add 'title' field for the root file system. * guix/build/linux-initrd.scm (mount-file-system): Expect the second element of SPEC to be the title. (boot-system)[root-mount-point?, root-fs-type]: Likewise. * gnu/services/dmd.scm (dmd-configuration-file): Select 'canonicalize-device-spec'.
system: Add 'issue' field. * gnu/system.scm (<operating-system>)[issue]: New field. (%default-issue): New variable. (etc-directory): Add #:issue parameter and honor it. (operating-system-etc-directory): Adjust call accordingly. * build-aux/hydra/demo-os.scm: Add 'issue' field.
system: Add 'fusermount' to the default setuid programs. * gnu/system.scm (%setuid-programs): Add 'fusermount'.