doc: Clarify use of the 'password' field for user accounts. Suggested by Alex Sassmannshausen <alex.sassmannshausen@gmail.com>. * doc/guix.texi (Using the Configuration System): Remove 'password' field in the example. (User Accounts): Clarify use of the 'password' field, with links to the libc and Guile manuals.
doc: Improve acknowledgments. * doc/guix.texi (Acknowledgments): Expound a bit. * THANKS: Mention artwork; thank Felipe & Nikita.
gnu: xorg: Add SLiM theme based on work by Felipe López. * gnu/services/xorg.scm (%artwork-repository, %default-slim-theme, %default-slim-theme-name): New variables. (slim-service): Add #:theme and #:theme-name parameters. [slim.cfg]: Honor #:theme-name. Honor #:theme by setting the "SLIM_THEMESDIR" environment variable. * doc/guix.texi (X Window): Adjust 'slim-service' documentation accordingly. Document '%default-slim-theme' and '%default-slim-theme-name'.
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'.
doc: Mention 'guix environment' in "Features"; add index entries. * doc/guix.texi (Features): Add paragraph about 'guix environment'. (Build Systems): Add @cindex. (Invoking guix environment): Ditto.
doc: Add "GRUB Configuration". * doc/guix.texi (operating-system Reference): Add xref to "GRUB Configuration". (GRUB Configuration): New node.
doc: Avoid @indentedblock, which is not supported by Texinfo 4. Reported by Mark H Weaver. * doc/guix.texi (Security Updates): Use @quotation instead of @indentedblock; the latter is not supported by Texinfo 4.
gexp: Add #:module-path parameter to 'gexp->derivation'. * guix/gexp.scm (gexp->derivation): Add #:module-path parameter, and pass it to 'imported-modules' and 'compiled-modules'. * doc/guix.texi (G-Expressions): Adjust accordingly.
vm: The 'run-vm' scripts now passes its arguments to QEMU. * gnu/system/vm.scm (system-qemu-image/shared-store-script): Add "$@" at the end of the script. (common-qemu-options): Remove trailing newline. * doc/guix.texi (Invoking guix system): Document it.
vm: Fix 'vm --full-boot' to produce a sufficient disk image. * gnu/system/vm.scm (system-qemu-image/shared-store): Add #:disk-image-size and #:full-boot? parameters and honor them. Pass '#:copy-inputs? full-boot?', and change #:inputs argument. * guix/scripts/system.scm (system-derivation-for-action): Pass #:disk-image-size to 'system-qemu-image/shared-store'. * doc/guix.texi (Invoking guix system): Mention use of '--image-size' in conjunction with '--full-boot'.
vm: Support 'guix system vm --full-boot'. * gnu/system/vm.scm (system-qemu-image/shared-store-script): Add #:full-boot? parameter and honor it. * guix/scripts/system.scm (system-derivation-for-action): Likewise. (perform-action): Likewise. (show-help): Document '--full-boot'. (%options): Add '--full-boot'. (guix-system): Add #:full-boot? argument in call to 'perform-action'. * doc/guix.texi (Invoking guix system): Document it.
doc: Emphasize the availability of two user interfaces. * doc/guix.texi (Package Management): Add a word about the two user interfaces.
emacs: Add 'guix-prettify'. * emacs/guix-prettify.el: New file. * emacs.am (ELFILES): Add it. * doc/emacs.texi (Emacs Prettify): New node. * doc/guix.texi (Features): Mention it.
services: xorg: Allow users to specify a list of resolutions. * gnu/services/xorg.scm (xorg-start-command): Add #:resolutions parameter and 'screen-section' procedure. Use it. * doc/guix.texi (X Window): Adjust accordingly.
services: xorg: Allow users to specify the drivers to use. * gnu/services/xorg.scm (xorg-start-command): Add #:drivers parameter. Add 'device-section' procedure, and use it in 'xserver.conf'. * doc/guix.texi (X Window): Document it.
services: Add NTP service. * gnu/services/networking.scm (ntp-service): New procedure. * doc/guix.texi (Networking Services): Document it.
packages: Implement grafts. Thanks to Mark H. Weaver <mhw@netris.org> for insightful discussions and suggestions. * guix/packages.scm (<package>)[graft]: New field. (patch-and-repack): Invoke 'package-derivation' with #:graft? #f. (package-source-derivation): Likewise. Do not use (%guile-for-build) in call to 'patch-and-repack', and we could end up using a grafted Guile. (expand-input): Likewise, also for 'package-cross-derivation' call. (package->bag): Add #:graft? parameter. Honor it. Use 'strip-append' instead of 'package-full-name'. (input-graft, input-cross-graft, bag-grafts, package-grafts): New procedures. (package-derivation, package-cross-derivation): Add #:graft? parameter and honor it. * gnu/packages/bootstrap.scm (package-with-bootstrap-guile): Add recursive call on 'graft'. * guix/build-system/gnu.scm (package-with-explicit-inputs, package-with-extra-configure-variable, static-package): Likewise. (gnu-build): Use the ungrafted Guile to avoid full rebuilds. (gnu-cross-build): Likewise. * guix/build-system/cmake.scm (cmake-build): Likewise. * guix/build-system/glib-or-gtk.scm (glib-or-gtk-build): Likewise. * guix/build-system/perl.scm (perl-build): Likewise. * guix/build-system/python.scm (python-build): Likewise. * guix/build-system/ruby.scm (ruby-build): Likewise. * guix/build-system/trivial.scm (guile-for-build): Likewise. * tests/packages.scm ("package-derivation, direct graft", "package-cross-derivation, direct graft", "package-grafts, indirect grafts", "package-grafts, indirect grafts, cross", "package-grafts, indirect grafts, propagated inputs", "package-derivation, indirect grafts"): New tests. ("bag->derivation", "bag->derivation, cross-compilation"): Wrap in 'parameterize'. * doc/guix.texi (Security Updates): New node. (Invoking guix build): Document --no-graft.
doc: Add a note about optional GnuTLS dependency. * README (Requirements): add a note about 'guix download''s GnuTLS dependency. * doc/guix.texi (Requirements): Likewise. Co-authored-by: Ludovic Courtès <ludo@gnu.org>
doc: Add cross-reference to the gnutls-guile manual. * doc/guix.texi (Invoking guix download): Add cross-reference to the gnutls-guile manual.
guix lint: add the --checkers option. * guix/scripts/lint.scm: add the "--checkers" option. * doc/guix.texi (Invoking guix lint): Document it. * tests/guix-lint.sh: New file * Makefile.am (SCM_TESTS): Add it.