Hi, Best example I could find was under guix/tests/system.scm, on how maybe the service is used. Unsure.
> ;; Make sure that mapped devices with at least one needed-for-boot user are > ;; handled exclusively from the initrd. See <https://bugs.gnu.org/31889>. > (append-map file-system-dependencies > (service-value > ((@@ (gnu system) non-boot-file-system-service) > (operating-system > (inherit %os-with-mapped-device) > (file-systems > (list (file-system > (mount-point "/foo/bar") > (device "qux:baz") > (type "none") > (dependencies (list %luks-device))) > (file-system > (device (file-system-label "my-root")) > (mount-point "/") > (type "ext4") > (dependencies (list %luks-device)))))))))) It seems that 'non-boot-file-system-service' differs from 'boot-file-system-service' with the variable 'file-system-needed-for-boot?' > (define (non-boot-file-system-service os) > "Return the file system service for the file systems of OS that are not > marked as 'needed-for-boot'." > (define file-systems > (remove file-system-needed-for-boot? > (operating-system-file-systems os))) Looking at the 'file-system' definition, it seems that you could try changing 'mount-may-fail?' to #t. It may or may not help. > (define-record-type* <file-system> file-system > make-file-system > file-system? > (device file-system-device) ; string | <uuid> > | <file-system-label> > (mount-point file-system-mount-point) ; string > (type file-system-type) ; string > (flags file-system-flags ; list of symbols > (default '()) > (sanitize validate-file-system-flags)) > (options file-system-options ; string or #f > (default #f)) > (mount? file-system-mount? ; Boolean > (default #t)) > (mount-may-fail? file-system-mount-may-fail? ; Boolean > (default #f)) > (needed-for-boot? %file-system-needed-for-boot? ; Boolean > (default #f)) > (check? file-system-check? ; Boolean > (default #t)) > (skip-check-if-clean? file-system-skip-check-if-clean? ; Boolean > (default #t)) > (repair file-system-repair ; symbol or #f > (default 'preen)) > (create-mount-point? file-system-create-mount-point? ; Boolean > (default #f)) > (dependencies file-system-dependencies ; list of > <file-system> > (default '())) ; or > <mapped-device> > (shepherd-requirements file-system-shepherd-requirements ; list of symbols > (default '())) > (location file-system-location > (default (current-source-location)) > (innate))) Hope any of these findings might help. Also a lot of great info could be found on guix-cookbook. https://guix.gnu.org/en/cookbook/en/guix-cookbook.html Sometimes I find reading the source code directly is actually much clearer than the manual. -- Best Regards, Ignas Lapėnas
