An entry of the form: --8<---------------cut here---------------start------------->8--- (file-system (mount-point "/media/foo-mount") (create-mount-point? #t) (mount? #f) (device "none") (type "overlay") (flags '(no-atime no-dev no-suid no-exec read-only)) (options (string-append "lowerdir=" (string-join '("/srv/foo/overlays/bar" "/srv/foo/overlays/baz") ":"))) (check? #f)) --8<---------------cut here---------------end--------------->8---
Does not result in a fstab entry line, which makes it impossible to mount. According to Guix docs, this shouldn't be the case: --8<---------------cut here---------------start------------->8--- mount? (default: #t) This value indicates whether to automatically mount the file system when the system is brought up. When set to #f, the file system gets an entry in /etc/fstab (read by the mount command) but is not automatically mounted. --8<---------------cut here---------------end--------------->8--- Looking at gnu/services/base.scm there's this snippet: --8<---------------cut here---------------start------------->8--- (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)) --8<---------------cut here---------------end--------------->8--- That seems to remove such pseudo-fs entries, regardless of 'mount?' value. This is not a "documentation" bug, as there are valid uses for having pseudo-fs entries. Right now I'm trying to add an overlayfs mount that is layered over a NFS system and Guix doesn't exactly deal very well with mounting NFS as it depends on networking. To sidestep this, I am mounting the NFS volume through a simple-service that puts a dependency on networking. >From here the fstab problem begins: since it can't be mounted at boot >"conventionally", it is set as mount? #f with the intention to mount it later via "mount /media/foo-mount" after NFS volume is ready but since this entry does not end up in /etc/fstab, there's no way to mount it.