linux-initrd: Add virtio drivers by default.
* gnu/system/linux-initrd.scm (base-initrd): Change #:virtio? default
to #t. This will facilitate the use of GuixSD in VM guests.
system: Take kernel modules from the user-specified kernel.
* gnu/system/linux-initrd.scm (base-initrd): Add #:linux option to
specify the linux kernel to use.
* gnu/system/vm.scm (expression->derivation-in-linux-vm): Propagate
#:linux to base-initrd.
* gnu/system.scm (operating-system-initrd-file): Pass #:linux to
'make-initrd'.
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
system: Skeleton '.bashrc' now exports the 'SHELL' variable.
* gnu/system/shadow.scm (default-skeletons)[bashrc]: Export 'SHELL'.
system: Adjust '.bashrc' skeleton for non-interactive SSH sessions.
* gnu/system/shadow.scm (default-skeletons)[bashrc]: Source /etc/profile
when in a non-interactive SSH session.
system: Don't compare <pam-service> objects with 'equal?'.
Fixes <http://bugs.gnu.org/20037>.
Reported by 宋文武 <iyzsong@gmail.com> and Tomáš Čech.
* gnu/system.scm (operating-system-etc-directory): Remove call to
'delete-duplicates'.
* gnu/system/linux.scm (pam-services->directory)[builder]: Add call to
'delete-duplicates'.
doc: Add 'packages' field to OS configuration template.
* gnu/system/os-config.tmpl (packages): New field.
Merge branch 'master' into core-updates
artwork: Update snapshot to GuixSD branding.
* gnu/artwork.scm (%artwork-repository): Update to new "GuixSD"
branding.
* gnu/system/grub.scm (%background-image, %default-theme): Adjust
accordingly.
linux-initrd: Add 'isci' module, needed for some SAS controllers.
Encountered on a Dell Precision T3600.
* gnu/system/linux-initrd.scm (base-initrd)[linux-modules]: Add isci.
gnu: wpa-supplicant: Add dbus support; add wpa-supplicant-light.
* gnu/packages/admin.scm (wpa-supplicant-light): New variable containing the
previous dbus-free package, but renamed. Remove outdated TODO comments.
(wpa-supplicant): Now inherits from wpa-supplicant-light but adds dbus
support.
* gnu/system/install.scm (installation-os): Use wpa-supplicant-light.
system: Add bindings to configure libc's NSS.
* gnu/system/nss.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
* gnu.scm (%public-modules): Add it.
* gnu/system.scm (<operating-system>)[name-service-switch]: New field.
(etc-directory): Add #:nss parameter and honor it.
(operating-system-etc-directory): Adjust call accordingly.
* doc/guix.texi (operating-system Reference): Document
'name-service-switch'.
(Name Service Switch): New section.
install: Add iw to the packages.
* gnu/system/install.scm (installation-os)[packages]: Add IW.
linux-initrd: Add USB kernel modules to the default initrd.
* gnu/system/linux-initrd.scm (base-initrd)[linux-modules]: Add
usb-storage, uas, usbkbd, and usbhid.
* gnu/system/vm.scm (system-disk-image): Remove #:extra-modules argument
to 'base-initrd'.
install: Mention GSD.
* gnu/system/install.scm (installation-services): Mention the Guix
System Distribution.
doc: Add services to the configuration template.
* gnu/system/os-config.tmpl (services): New field.
install: Make sure 'info' can decompress the Info files.
* gnu/system/install.scm (log-to-info): Add GZIP to $PATH.
system: Add "en_US.UTF-8" to the default locales, for backward compatibility.
* gnu/system/locale.scm (%default-locale-definitions): Add
"en_US.UTF-8".
monads: Move '%store-monad' and related procedures where they belong.
This turns (guix monads) into a generic module for monads, and moves the
store monad and related monadic procedures in their corresponding
module.
* guix/monads.scm (store-return, store-bind, %store-monad, store-lift,
text-file, interned-file, package-file, package->derivation,
package->cross-derivation, origin->derivation, imported-modules,
compiled, modules, built-derivations, run-with-store): Move to...
* guix/store.scm (store-return, store-bind, %store-monad, store-lift,
text-file, interned-file): ... here.
(%guile-for-build): New variable.
(run-with-store): Moved from monads.scm. Remove default value for
#:guile-for-build.
* guix/packages.scm (default-guile): Export.
(set-guile-for-build): New procedure.
(package-file, package->derivation, package->cross-derivation,
origin->derivation): Moved from monads.scm.
* guix/derivations.scm (%guile-for-build): Remove.
(imported-modules): Rename to...
(%imported-modules): ... this.
(compiled-modules): Rename to...
(%compiled-modules): ... this.
(built-derivations, imported-modules, compiled-modules): New
procedures.
* gnu/services/avahi.scm, gnu/services/base.scm, gnu/services/dbus.scm,
gnu/services/dmd.scm, gnu/services/networking.scm,
gnu/services/ssh.scm, gnu/services/xorg.scm, gnu/system/install.scm,
gnu/system/linux-initrd.scm, gnu/system/shadow.scm, guix/download.scm,
guix/gexp.scm, guix/git-download.scm, guix/profiles.scm,
guix/svn-download.scm, tests/monads.scm: Adjust imports accordingly.
* guix/monad-repl.scm (default-guile-derivation): New procedure.
(store-monad-language, run-in-store): Use it.
* build-aux/hydra/gnu-system.scm (qemu-jobs): Add explicit
'set-guile-for-build' call.
* guix/scripts/archive.scm (derivation-from-expression): Likewise.
* guix/scripts/build.scm (options/resolve-packages): Likewise.
* guix/scripts/environment.scm (guix-environment): Likewise.
* guix/scripts/system.scm (guix-system): Likewise.
* doc/guix.texi (The Store Monad): Adjust module names accordingly.
Merge branch 'master' into core-updates