services: Add console-keymap service. * gnu/services/base.scm (console-keymap-service): New procedure. * doc/guix.texi (Base Services): Document it. Co-authored-by: 宋文武 <iyzsong@gmail.com>
file-systems: Use a second 'mount' call for read-only bind mounts. * gnu/build/file-systems.scm (MS_REMOUNT): New constant. (mount-file-system): Add 'flags' local variable. When FLAGS has MS_BIND & MS_RDONLY, call 'mount' with MS_REMOUNT. * gnu/services/base.scm (file-system-service) <start>: Likewise.
Merge branch 'master' into core-updates
doc: Add example showing how to customize 'nscd-service'. * doc/guix.texi (Name Service Switch): Add link to nss-mdns. Add example show how to pass #:name-services to 'nscd-service'. (Base Services): Add link from 'nscd-service' to the above. * gnu/services/base.scm (nscd-service): Update docstring accordingly.
Merge branch 'master' into core-updates
services: syslog-service: Add 'config-file' argument. * gnu/services/base.scm (syslog-service): Add 'config-file' keyword argument. * doc/guix.texi (Base Services): Document it.
Merge branch 'master' into core-updates
services: guix-service: Add service documentation. * gnu/services/base.scm (guix-service): Add 'documentation' field to the service.
Merge branch 'master' into core-updates
services: guix-service: Add 'lsof' and 'lsh' to guix-daemon's $PATH. * gnu/services/base.scm (guix-service): Add #:lsof and #:lsh parameters. [start]: Pass #:environment-variables to 'make-forkexec-constructor'.
Merge branch 'master' into core-updates
services: guix-service: Remove extraneous monadism. * gnu/services/base.scm (guix-build-accounts): Remove unneeded 'with-monad'. (guix-service): Adjust accordingly.
Merge branch 'master' into core-updates
services: nscd: Make sure /var/db/nscd exists. * gnu/services/base.scm (nscd-service)[activate]: Make /var/db/nscd.
services: nscd-service: Add #:name-services parameter. * gnu/services/base.scm (nscd-service): Add #:name-services parameter. In 'start' field, set LD_LIBRARY_PATH based on #:name-services. * doc/guix.texi (Base Services): Document it. (Name Service Switch): Link to 'nscd-service'.
services: mingetty: Wait for udev. * gnu/services/base.scm (mingetty-service): Add 'udev' to 'requirement'.
services: guix: #:authorize-hydra-key? now defaults to #t. * gnu/services/base.scm (guix-service): Change AUTHORIZE-HYDRA-KEY? default value to #t.
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.
services: user-processes: Really honor the grace delay. * gnu/services/base.scm (user-processes-service): Change #:grace-delay default value to 4. Define 'sleep*' and use it.
Merge branch 'master' into core-updates