diff options
author | Marius Bakke <mbakke@fastmail.com> | 2019-05-01 23:11:41 +0200 |
---|---|---|
committer | Marius Bakke <mbakke@fastmail.com> | 2019-05-01 23:11:41 +0200 |
commit | 3b458d5462e6bbd852c2dc5c6670d5655abf53f5 (patch) | |
tree | 4f3ccec0de1c355134369333c17e948e3258d546 /gnu/services/base.scm | |
parent | 2ca3fdc2db1aef96fbf702a2f26f5e18ce832038 (diff) | |
parent | 14da3daafc8dd92fdabd3367694c930440fd72cb (diff) | |
download | patches-3b458d5462e6bbd852c2dc5c6670d5655abf53f5.tar patches-3b458d5462e6bbd852c2dc5c6670d5655abf53f5.tar.gz |
Merge branch 'master' into core-updates
Diffstat (limited to 'gnu/services/base.scm')
-rw-r--r-- | gnu/services/base.scm | 32 |
1 files changed, 20 insertions, 12 deletions
diff --git a/gnu/services/base.scm b/gnu/services/base.scm index 04b123b833..952f6f9ab2 100644 --- a/gnu/services/base.scm +++ b/gnu/services/base.scm @@ -510,13 +510,30 @@ FILE-SYSTEM." (cons* sink user-unmount (map file-system-shepherd-service file-systems)))) +(define (file-system-fstab-entries file-systems) + "Return the subset of @var{file-systems} that should have an entry in +@file{/etc/fstab}." + ;; /etc/fstab is about telling fsck(8), mount(8), and umount(8) about + ;; relevant file systems they'll have to deal with. That excludes "pseudo" + ;; file systems. + ;; + ;; In particular, things like GIO (part of GLib) use it to determine the set + ;; of mounts, which is then used by graphical file managers and desktop + ;; environments to display "volume" icons. Thus, we really need to exclude + ;; those pseudo file systems from the list. + (remove (lambda (file-system) + (or (member (file-system-type file-system) + %pseudo-file-system-types) + (memq 'bind-mount (file-system-flags file-system)))) + file-systems)) + (define file-system-service-type (service-type (name 'file-systems) (extensions (list (service-extension shepherd-root-service-type file-system-shepherd-services) (service-extension fstab-service-type - identity) + file-system-fstab-entries) ;; Have 'user-processes' depend on 'file-systems'. (service-extension user-processes-service-type @@ -719,7 +736,8 @@ to add @var{device} to the kernel's entropy pool. The service will fail if #$@files)))) (respawn? #f))))) -(define (console-keymap-service . files) +(define-deprecated (console-keymap-service #:rest files) + #f "Return a service to load console keymaps from @var{files}." (service console-keymap-service-type files)) @@ -1515,19 +1533,9 @@ GID." (define (hydra-key-authorization keys guix) "Return a gexp with code to register KEYS, a list of files containing 'guix archive' public keys, with GUIX." - (define aaa - ;; XXX: Terrible hack to work around <https://bugs.gnu.org/15602>: this - ;; forces (guix config) and (guix utils) to be loaded upfront, so that - ;; their run-time symbols are defined. - (scheme-file "aaa.scm" - #~(define-module (guix aaa) - #:use-module (guix config) - #:use-module (guix memoization)))) - (define default-acl (with-extensions (list guile-gcrypt) (with-imported-modules `(((guix config) => ,(make-config.scm)) - ((guix aaa) => ,aaa) ,@(source-module-closure '((guix pki)) #:select? not-config?)) (computed-file "acl" |