Hello, Jan Nieuwenhuizen skribis: > After booting I get > > Device /dev/nvme0n1p1 doesn't exist or access denied This message comes from ‘cryptsetup’. The ‘init’ script for the config you posted does this: --8<---------------cut here---------------start------------->8--- (boot-system #:mounts (map spec->file-system (quote (("/dev/mapper/guix" device "/" "ext4" () #f #t)))) #:pre-mount (lambda () (and (let ((source "/dev/nvme0n1p1")) (use-modules (rnrs bytevectors) ((gnu build file-systems) #:select (find-partition-by-luks-uuid))) (zero? (system* "/gnu/store/v5r0dx5v08847rcy033kyish6m3b3621-cryptsetup-static-1.7.5/sbin/cryptsetup" "open" "--type" "luks" (if (bytevector? source) (or (let loop ((tries-left 10)) (and (positive? tries-left) (or (find-partition-by-luks-uuid source) (begin (sleep 1) (loop (- tries-left 1)))))) (error "LUKS partition not found" source)) source) "guix"))))) … --8<---------------cut here---------------end--------------->8--- IOW, it does the right thing whether or not you’re using a UUID. However, when using a UUID, it waits for the device to show up, whereas otherwise it assumes the /dev node is already there and invokes ‘cryptsetup’ right away. We should fix that and generalize the wait-for-device loop, which already exists in a couple of instances. There are connections with . Ludo’.