gnu: vm: Add build users.
* gnu/system/shadow.scm (guix-build-accounts): New procedure.
* gnu/system/vm.scm (system-qemu-image): Use it. Add the "guixbuild"
group.
* gnu/system/dmd.scm (guix-service): Add 'builder-group' parameter.
Pass 'guix-daemon' the '--build-users-group' option.
gnu: shadow: Add record type for user groups.
* gnu/system/shadow.scm (<user-group>): New record type.
(group-file): New procedure.
* gnu/system/vm.scm (system-qemu-image): Use it.
gnu: shadow: Add record type for user accounts.
* gnu/system/shadow.scm (<user-account>): New record type.
(passwd-file): Use it.
* gnu/system/vm.scm (system-qemu-image): Adjust accordingly.
Merge branch 'master' into core-updates
gnu: Move helper code to (gnu system …) modules.
* gnu/packages/grub.scm (<menu-entry>, grub-configuration-file): Move
to...
* gnu/system/grub.scm: ... here. New file.
* gnu/packages/linux.scm (<pam-service>, <pam-entry>,
pam-service->configuration, pam-service->directory,
%pam-other-services, unix-pam-service): Move to...
* gnu/system/linux.scm: ... here. New file.
* gnu/system/vm.scm (passwd-file): Move to...
* gnu/system/shadow.scm: ... here. New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add
gnu/system/{grub,linux,shadow}.scm.