tpwrules / nixos-apple-silicon

Resources to install NixOS bare metal on Apple Silicon Macs
MIT License
748 stars 74 forks source link

peripheral-firmware: extract on boot by default #94

Open Enzime opened 10 months ago

Enzime commented 10 months ago

This improves the situation for flake users, as previously they had to either add the non-redistributable firmware to their repositories or go without the firmware.

This change also brings the ISO into line with the regular NixOS modules as storing the peripheral firmware in the Nix Store is no longer a requirement.

tpwrules commented 10 months ago

I do not think I agree with this change at this time.

  1. It exposes us to race conditions between drivers which need the firmware and the extraction of it.
  2. It means firmware is less controlled by the generational mechanism which could create incompatibilities in updates. Admittedly this is not exceptionally well defined by default but these changes would make rolling back a firmware ESP file update through the bootloader menu impossible.
  3. It brings Python and a bunch of libraries into the system closure.

Let's revisit this once the mechanism by which firmware updates occur is defined. I will give some more thought to the flakes case in a bit. It might even be possible to grab the firmware files ourselves using bits of the installer and sidestep this issue.