I have an issue when using an external NVME drive, grub successfully boots but once entering the entry default configuration (nixos generation) it gives me the below error:

"Timed out waiting for device /dev/dis/by-uuid/... to appear"

I've double checked the UUID of the / partiton and it correctly matches what is in /etc/fstab and hardware-configuration.nix (which got generated with nixos-generate-config). In the grub recovery console if I do a ls -l I can see the partition with the correct UUID as well.

I've also added "nvme" to boot.initrd.availableKernelModules.

I'm able to nixos-enter the system via an external "live usb" with no issue.

I suspect I need an additional initrd kernel module to be able to boot this, but I'm not sure which one?

I've tried:

  1. Adding these modules (got these from https://help.ubuntu.com/community/BootFromUSB):

which still results in the same error.

  1. Copying the partition to the internal drive (as opposed to the external NVME drive which still results in the same error.

2 Answers 2


I encountered the same problem, and what I ended up doing was, with a different Linux installation freshly booted, to compare the output of lsmod before and after plugging the USB device in.

What I needed in the end was:

boot.initrd.availableKernelModules = [ "uas" "usbcore" "usb_storage" ];

I'm pretty sure my issue was caused by doing nixos-rebuild build instead of nixos-rebuild boot. The first command does not create a generation or set it to boot by default.

I likely just needed the additional nvme module.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .