I’ve probably parsed dozens of pages now, including the “Dual boot NixOS and Windows” page on nixos.wiki, and not really sure what the best steps are since most seem to leverage the fact that everything is on a single partition. My windows lives on a physically separate drive than NixOS, so osprober does not detect the windows partition at all. I tried to go down the route of grub-mkconfig but that doesn’t seem to be a nix package and I couldn’t mount my Windows bootloader as it is NTFS. Is this even possible with this configuration?
My next step was going to be to physically disconnect each of my disks/NVME, nuke everything bit by bit, then only connect the disks I want and install each OS with it’s specific disk connected.
I know this is too late for you, but something like this happened to me recently, so I’m writing for the sake of anyone who might find this thread in the future.
In my case it was because the NixOS installer had booted up in legacy/BIOS mode, so grub was in BIOS mode, and it can’t boot a UEFI OS (e.g. Windows 10) from that state.
In fact I couldn’t get the NixOS installer to boot in EFI mode at all. Odd, as both Windows and other distros work fine. Actual installed NixOS also works, it’s just the installer that fails.
So what I did was to boot a different distro’s live medium (EndeavourOS, but it shouldn’t matter) in EFI mode and did a manual NixOS install from there.
It probably also would have worked to just switch grub to EFI mode in the config, except I had also failed to clock that the new SSD I was installing to had an MBR partition table, so I had to nuke the original install to make it gpt anyway.
tl;dr: osprobe can find OSes on other drives just fine; what it can’t do is find an EFI bootloader while in legacy mode.