Issues with GRUB installation with Windows 10 Dual Boot


I’ve recently switched from Ubuntu to NixOS and it has been a blast and I’ve enjoyed every single step on the way, but I must admit I dont consider myself that adept with it or with Linux, GRUB and bootloaders as a whole.

I’ve mainly used it on my another, NixOS only machine with moderate success.
On it I have installed the MineGRUB theme on my configuration.nix file successfully and it works as expected showing the latest generations.

The issue arose when I installed it on my main machine alongside Windows 10 which I use to play games and run Windows specific software without having to wrap my head around its dependency hell. For context, both OSs are on separate SSDs as well as their boot partitions.

Both installations are EFI and if I go to the BIOS, both partitions are healthy and bootable, yet when booting Linux Boot Manager, I’m prompted with what I believe is the default systemd bootloader. My only way to get into Windows is by rebooting into the system firmware and manually booting Windows Boot Manager.

My current configuration.nix file looks as follows:

  boot.supportedFilesystems = ["ntfs"];
  boot.loader.grub.enable = true;
  boot.loader.grub.device = "nodev";
  boot.loader.grub.useOSProber = true;
  boot.loader.efi.canTouchEfiVariables = true;
  boot.loader.efi.efiSysMountPoint = "/boot/efi";
  boot.loader.grub.efiSupport = true;
  boot.loader.grub.theme = pkgs.stdenv.mkDerivation {
    pname = "minegrub-theme";
    src = pkgs.fetchFromGitHub {
      owner = "Lxtharia";
      repo = "minegrub-theme";
      rev = "v2.0.0";
      hash = "sha256-HZnVr9NtierP22pMy8C/BeZJDpBkKixROG0JaCAq5Y8=";
    installPhase = "cp -r minegrub $out";

Currently while rebuilding NixOS I get the following log:

building Nix...
building the system configuration...
updating GRUB 2 menu...
Warning: os-prober will be executed to detect other bootable partitions.
Its output will be used to detect bootable binaries on them and create new boot entries.
lsblk: /dev/mapper/no*[0-9]: not a block device
lsblk: /dev/mapper/raid*[0-9]: not a block device
lsblk: /dev/mapper/disks*[0-9]: not a block device
Found Windows Boot Manager on /dev/sdb1@/efi/Microsoft/Boot/bootmgfw.efi
stopping the following units: -.slice, accounts-daemon.service, cups.service, cups.socket, nscd.service, system.slice, systemd-modules-load.service, systemd-oomd.service, systemd-oomd.socket
Failed to stop -.slice: Job type stop is not applicable for unit -.slice.
Failed to stop system.slice: Job type stop is not applicable for unit system.slice.
activating the configuration...
reviving group 'avahi' with GID 991
reviving group 'lxd' with GID 990
removing group ‘systemd-oom’
reviving user 'avahi' with UID 993
removing user ‘systemd-oom’
setting up /etc...
removing obsolete symlink ‘/etc/systemd/oomd.conf’...
reloading user units for darkoyd...
setting up tmpfiles
reloading the following units: dbus.service, firewall.service
restarting the following units: polkit.service, sshd.service
starting the following units: accounts-daemon.service, cups.socket, nscd.service, systemd-modules-load.service
the following new units were started: avahi-daemon.service, avahi-daemon.socket, cups-browsed.service, dev-binderfs.mount, lxd.service, lxd.socket, var-lib-lxd-devlxd.mount, var-lib-lxd-shmounts.mount, waydroid-container.service

The configuration itself builds and I am able to use every new system package and configuration added and what not, yet the generation itself seems to not exist after a reboot so I have to rebuild again after every boot which is a slight inconvenience.

I’m okay with ditching the theme if it is causing errors which I personally doubt it. My main goal is to get GRUB setup so I can stop having to boot into firmware every single time I want to use Windows.

I am willing to give more information if requested. Any help is welcome.

Thanks in advance C: