Here's my UEFI specific stuff:
boot = {
loader = {
efi.canTouchEfiVariables = true;
grub.enable = true;
grub.efiSupport = true;
grub.device = "nodev";
grub.version = 2;
};
fileSystems."/boot" =
{ device = "/dev/disk/by-label/efi";
fsType = "vfat";
};
You probably miss grub.device = "nodev"