macbook: pin to 6.12 LTS kernel so broadcom_sta + facetimehd build (7.x breaks them)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
rope 2026-06-30 10:42:08 +01:00
parent 34d44a619e
commit ad1ceba28e

View file

@ -34,10 +34,17 @@
hardware.enableRedistributableFirmware = true;
hardware.facetimehd.enable = true;
# Pin to the 6.12 LTS kernel: the out-of-tree broadcom_sta (Wi-Fi) and
# facetimehd (iSight) modules don't build against linuxPackages_latest
# (7.x) — broadcom-sta's wl_cfg80211 ops no longer match the cfg80211 API.
# 6.12 LTS is the newest kernel both modules compile against. Overrides
# common.nix's linuxPackages_latest.
boot.kernelPackages = lib.mkForce pkgs.linuxPackages_6_12;
# wait_prepare/wait_finish were removed from struct vb2_ops in Linux 6.8
nixpkgs.overlays = [
(final: prev: {
linuxPackages_latest = prev.linuxPackages_latest.extend (lpFinal: lpPrev: {
linuxPackages_6_12 = prev.linuxPackages_6_12.extend (lpFinal: lpPrev: {
facetimehd = lpPrev.facetimehd.overrideAttrs (old: {
postPatch = (old.postPatch or "") + ''
sed -i '/\.wait_prepare[[:space:]]*=.*vb2_ops_wait_prepare/d' fthd_v4l2.c