When installing NixOS on a machine with Windows, the "easiest" solution
to dual-boot is re-using the existing EFI System Partition (ESP), which
allows systemd-boot to detect Windows automatically.
However, if there are multiple ESPs, maybe even on multiple disks,
systemd-boot is unable to detect the other OSes, and you either have to
use Grub and os-prober, or do a tedious manual configuration as
described in the wiki:
https://wiki.nixos.org/w/index.php?title=Dual_Booting_NixOS_and_Windows&redirect=no#EFI_with_multiple_disks
This commit automates and documents this properly so only a single line
like
boot.loader.systemd-boot.windows."10".efiDeviceHandle = "HD0c2";
is required.
In the future, we might want to try automatically detecting this
during installation, but finding the correct device handle while the
kernel is running is tricky.
Turns out if :<something> is passed, a local branch is updated, which
can conflict if the PR branch starts with "pr". I tried to avoid that
with the original code but apparently that didn't work!
https://github.com/NixOS/nixpkgs/actions/runs/11284183639/job/31384967152?pr=347822
Fetching the PR commit history
From https://github.com/linj-fork/nixpkgs
* [new branch] pr/kanata-add-version-check -> fork/pr
error: cannot lock ref 'refs/remotes/fork/pr/kanata-add-version-check': 'refs/remotes/fork/pr' exists; cannot create 'refs/remotes/fork/pr/kanata-add-version-check'
! [new branch] pr/kanata-add-version-check -> fork/pr/kanata-add-version-check (unable to update local ref)
error: some local refs could not be updated; try running
This package was added in
<https://github.com/NixOS/nixpkgs/pull/345248> to address
<https://github.com/NixOS/nixpkgs/issues/344689>, a request for a
package of wgpu-native, wgpu’s native WebGPU implementation that
other applications can use as a library.
However, it doesn’t package that at all; instead, it contains
only several binary utility and example programs shipped as part
of wgpu, and in fact, these were already present as the more
appropriately‐named `wgpu-utils` package, which needs only an update.
Given that this package was added without the due diligence to check
whether the software being packaged was what was being requested,
or whether it was already present under an obvious name, I don’t
think there’s an argument for retaining this duplicate. `wgpu-utils`
can be updated and refactored to be on par with this package, and if
the library that was actually requested is ever packaged, it should
be called `wgpu-native` instead.
This reverts commit 27e304c09e.