gnu: vm: Add /etc/shadow in the QEMU image. * gnu/system/vm.scm (qemu-image): Add 'populate' keyword parameter and honor it; make it an input. (/etc/shadow): New procedure. (example2): Call it; build 'populate' script, and pass it to 'qemu-image'.
gnu: vm: Remove unused 'qemu-image' argument. * gnu/system/vm.scm (qemu-image): Remove 'boot-expression' parameter, superseded by 'linux-arguments'.
gnu: vm: First stab at building a populated QEMU image. * gnu/packages/linux-initrd.scm (gnu-system-initrd): New variable. * gnu/system/vm.scm (qemu-image): Add #:linux-arguments parameter. [input->name+derivation]: Add case for 'store-path?' items. Remove LOADER from `inputs'.
gnu: vm: 'qemu-image' populates /dev on the target root file system. * gnu/system/vm.scm (qemu-image): Use (guix build linux-initrd). Remove 'mknod' calls; use 'make-essential-device-nodes' to populate /dev on the target image. * gnu/packages/linux-initrd.scm (qemu-initrd): When /root/dev exists, don't call 'make-essential-device-nodes'.
gnu: xorg: Update comment for mesa. * gnu/packages/xorg.scm (mesa): New compilation trial with 9.2.
gnu: libdrm: Update to 2.4.46. * gnu/packages/xorg.scm (libdrm): Update to 2.4.46.
gnu: lzo: Build the shared library. * gnu/packages/compression.scm (lzo): Build the shared library.
gnu: Add dfc. * gnu/packages/system.scm (dfc): New variable.
gnu: Add htop. * gnu/packages/system.scm (htop): New variable.
gnu: Add mingetty. * gnu/packages/system.scm (mingetty): New variable.
gnu: linux-initrd: Factorize device node creation. * guix/build/linux-initrd.scm (make-essential-device-nodes): New procedure. * gnu/packages/linux-initrd.scm (qemu-initrd): Use it.
gnu: Add git. * gnu/packages/version-control.scm (git): New variable.
gnu: cairo: Update to 1.12.16. * gnu/packages/gtk.scm (cairo): Update to 1.12.16.
gnu: Update harfbuzz to 0.9.20. * gnu/packages/gtk.scm (harfbuzz): Update to 0.9.20.
gnu: python: Temporarily make python 2 the default. * gnu/packages/python.scm (python-2): Rename this to... * gnu/packages/python.scm (python): ...this, rename this to... * gnu/packages/python.scm (python-3): ...this. Reverts to version 2 as the default input for packages requiring Python.
gnu: vm: `qemu-image' can copy store closures into the target image. * gnu/system/vm.scm (qemu-image): Add #:inputs-to-copy and #:boot-expression parameters. Honor them. Append INPUTS-TO-COPY to the #:inputs argument for `expression->derivation-in-linux-vm'. (example2): Add #:boot-expression and #:inputs-to-copy arguments.
gnu: `expression->derivation-in-linux-vm' accepts files as inputs. * gnu/system/vm.scm (expression->derivation-in-linux-vm): Accept items in INPUTS that refer to a file instead of a package.
gnu: `expression->derivation-in-linux-vm' export references graphs. * gnu/system/vm.scm (expression->derivation-in-linux-vm): Add #:reference-graphs parameter. Honor it. Delete duplicates in #:modules argument.
gnu: linux-initrd: Make device nodes for QEMU's hard disk. * gnu/packages/linux-initrd.scm (qemu-initrd): Make /dev/vda*.
gnu: linux-initrd: Make Guile modules accessible in the chroot. * gnu/packages/linux-initrd.scm (qemu-initrd): Add (guix build utils) to #:modules, and use it. Copy .scm and .go files to /root. * guix/build/linux-initrd.scm (bind-mount): New procedure.