about summary refs log tree commit diff
path: root/modules
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2023-12-21 00:47:02 +0100
committerAlyssa Ross <hi@alyssa.is>2023-12-21 01:41:59 +0100
commit49113571d81505932f96e540def33fbcedcd8ebb (patch)
treec52352f40cc40e24465755a248359a2883567384 /modules
parent778336429cc37ad5b0d736336141d09bf227653d (diff)
parent56c1ef38d3e04eae9b5867669ed131601fa99a7d (diff)
downloadnixlib-49113571d81505932f96e540def33fbcedcd8ebb.tar
nixlib-49113571d81505932f96e540def33fbcedcd8ebb.tar.gz
nixlib-49113571d81505932f96e540def33fbcedcd8ebb.tar.bz2
nixlib-49113571d81505932f96e540def33fbcedcd8ebb.tar.lz
nixlib-49113571d81505932f96e540def33fbcedcd8ebb.tar.xz
nixlib-49113571d81505932f96e540def33fbcedcd8ebb.tar.zst
nixlib-49113571d81505932f96e540def33fbcedcd8ebb.zip
Merge https://github.com/tpwrules/nixos-apple-silicon
Diffstat (limited to 'modules')
-rw-r--r--modules/nixos-apple-silicon/README.md2
-rw-r--r--modules/nixos-apple-silicon/apple-silicon-support/modules/kernel/default.nix2
-rw-r--r--modules/nixos-apple-silicon/apple-silicon-support/packages/alsa-ucm-conf-asahi/default.nix6
-rw-r--r--modules/nixos-apple-silicon/apple-silicon-support/packages/linux-asahi/default.nix13
-rw-r--r--modules/nixos-apple-silicon/apple-silicon-support/packages/linux-asahi/rust-bindgen-version.patch14
-rw-r--r--modules/nixos-apple-silicon/apple-silicon-support/packages/m1n1/default.nix6
-rw-r--r--modules/nixos-apple-silicon/apple-silicon-support/packages/mesa-asahi-edge/default.nix20
-rw-r--r--modules/nixos-apple-silicon/apple-silicon-support/packages/mesa-asahi-edge/opencl.patch84
-rw-r--r--modules/nixos-apple-silicon/apple-silicon-support/packages/uboot-asahi/default.nix8
-rw-r--r--modules/nixos-apple-silicon/docs/release-notes.md29
-rw-r--r--modules/nixos-apple-silicon/docs/uefi-standalone.md25
-rw-r--r--modules/nixos-apple-silicon/flake.lock8
-rw-r--r--modules/nixos-apple-silicon/flake.nix2
-rw-r--r--modules/nixos-apple-silicon/iso-configuration/installer-configuration.nix8
14 files changed, 175 insertions, 52 deletions
diff --git a/modules/nixos-apple-silicon/README.md b/modules/nixos-apple-silicon/README.md
index 2a60cd8e5e47..d28cc7cb0972 100644
--- a/modules/nixos-apple-silicon/README.md
+++ b/modules/nixos-apple-silicon/README.md
@@ -9,7 +9,7 @@ Please see the documentation and guide below to get started.
 ## Documentation
 
 * [Release Notes](docs/release-notes.md)
-* [Setup, Installation, and Maintenance Guide (2023-10-21)](docs/uefi-standalone.md)
+* [Setup, Installation, and Maintenance Guide (2023-12-19)](docs/uefi-standalone.md)
 
 ## Credits
 
diff --git a/modules/nixos-apple-silicon/apple-silicon-support/modules/kernel/default.nix b/modules/nixos-apple-silicon/apple-silicon-support/modules/kernel/default.nix
index 26d920facc5c..8e615479c20b 100644
--- a/modules/nixos-apple-silicon/apple-silicon-support/modules/kernel/default.nix
+++ b/modules/nixos-apple-silicon/apple-silicon-support/modules/kernel/default.nix
@@ -57,7 +57,7 @@
 
     boot.kernelParams = [
       "earlycon"
-      "console=ttySAC0,1500000"
+      "console=ttySAC0,115200n8"
       "console=tty0"
       "boot.shell_on_fail"
       # Apple's SSDs are slow (~dozens of ms) at processing flush requests which
diff --git a/modules/nixos-apple-silicon/apple-silicon-support/packages/alsa-ucm-conf-asahi/default.nix b/modules/nixos-apple-silicon/apple-silicon-support/packages/alsa-ucm-conf-asahi/default.nix
index bb34f19f4f9c..ac9d15e36d4e 100644
--- a/modules/nixos-apple-silicon/apple-silicon-support/packages/alsa-ucm-conf-asahi/default.nix
+++ b/modules/nixos-apple-silicon/apple-silicon-support/packages/alsa-ucm-conf-asahi/default.nix
@@ -3,14 +3,14 @@
 , alsa-ucm-conf }:
 
 (alsa-ucm-conf.overrideAttrs (oldAttrs: rec {
-  version = "3";
+  version = "5";
 
   src_asahi = fetchFromGitHub {
-    # tracking: https://github.com/AsahiLinux/PKGBUILDs/blob/main/alsa-ucm-conf-asahi/PKGBUILD
+    # tracking: https://src.fedoraproject.org/rpms/alsa-ucm-asahi
     owner = "AsahiLinux";
     repo = "alsa-ucm-conf-asahi";
     rev = "v${version}";
-    hash = "sha256-TCCT0AJx0SdnTzzBaV94zuD2hrPqvk+9vTTuEQmpJjc=";
+    hash = "sha256-daUNz5oUrPfSMO0Tqq/WbtiLHMOtPeQQlI+juGrhTxw=";
   };
   
   postInstall = oldAttrs.postInstall or "" + ''
diff --git a/modules/nixos-apple-silicon/apple-silicon-support/packages/linux-asahi/default.nix b/modules/nixos-apple-silicon/apple-silicon-support/packages/linux-asahi/default.nix
index 4696a6f1af69..a582aac81b8f 100644
--- a/modules/nixos-apple-silicon/apple-silicon-support/packages/linux-asahi/default.nix
+++ b/modules/nixos-apple-silicon/apple-silicon-support/packages/linux-asahi/default.nix
@@ -88,22 +88,19 @@ let
     (linuxKernel.manualConfig rec {
       inherit stdenv lib;
 
-      version = "6.5.0-asahi";
+      version = "6.6.0-asahi";
       modDirVersion = version;
-      extraMeta.branch = "6.5";
+      extraMeta.branch = "6.6";
 
       src = fetchFromGitHub {
-        # tracking: https://github.com/AsahiLinux/PKGBUILDs/blob/main/linux-asahi/PKGBUILD
+        # tracking: https://github.com/AsahiLinux/linux/tree/asahi-wip (w/ fedora verification)
         owner = "AsahiLinux";
         repo = "linux";
-        rev = "asahi-6.5-15";
-        hash = "sha256-Rruk/Nrw425XerZjgDJ4PJ3c63CCycch1qz7vFxHPCE=";
+        rev = "asahi-6.6-14";
+        hash = "sha256-+ydX2XXIbcVfq27WC68EPP8n3bf+WD5fDG7FBq3QJi4=";
       };
 
       kernelPatches = [
-        { name = "rust-bindgen-version";
-          patch = ./rust-bindgen-version.patch;
-        }
       ] ++ lib.optionals _4KBuild [
         # thanks to Sven Peter
         # https://lore.kernel.org/linux-iommu/20211019163737.46269-1-sven@svenpeter.dev/
diff --git a/modules/nixos-apple-silicon/apple-silicon-support/packages/linux-asahi/rust-bindgen-version.patch b/modules/nixos-apple-silicon/apple-silicon-support/packages/linux-asahi/rust-bindgen-version.patch
deleted file mode 100644
index 695cb2ceaeff..000000000000
--- a/modules/nixos-apple-silicon/apple-silicon-support/packages/linux-asahi/rust-bindgen-version.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff --git a/scripts/rust_is_available.sh b/scripts/rust_is_available.sh
-index aebbf1913..b7b0a4abc 100755
---- a/scripts/rust_is_available.sh
-+++ b/scripts/rust_is_available.sh
-@@ -102,8 +102,7 @@ fi
- # Check that the `libclang` used by the Rust bindings generator is suitable.
- bindgen_libclang_version=$( \
- 	LC_ALL=C "$BINDGEN" $(dirname $0)/rust_is_available_bindgen_libclang.h 2>&1 >/dev/null \
--		| grep -F 'clang version ' \
--		| grep -oE '[0-9]+\.[0-9]+\.[0-9]+' \
-+		| grep -oP 'clang version \K[0-9]+\.[0-9]+\.[0-9]+' \
- 		| head -n 1 \
- )
- bindgen_libclang_min_version=$($min_tool_version llvm)
diff --git a/modules/nixos-apple-silicon/apple-silicon-support/packages/m1n1/default.nix b/modules/nixos-apple-silicon/apple-silicon-support/packages/m1n1/default.nix
index 7955f47ab435..86a8bcdf8bc8 100644
--- a/modules/nixos-apple-silicon/apple-silicon-support/packages/m1n1/default.nix
+++ b/modules/nixos-apple-silicon/apple-silicon-support/packages/m1n1/default.nix
@@ -25,14 +25,14 @@ let
   });
 in stdenv.mkDerivation rec {
   pname = "m1n1";
-  version = "1.4.2";
+  version = "1.4.11";
 
   src = fetchFromGitHub {
-    # tracking: https://github.com/AsahiLinux/PKGBUILDs/blob/main/m1n1/PKGBUILD
+    # tracking: https://src.fedoraproject.org/rpms/m1n1
     owner = "AsahiLinux";
     repo = "m1n1";
     rev = "v${version}";
-    hash = "sha256-zPHLlhXUIX6MV2pnDkuSg4Pz8gB4YOZiaa8MuLasgPY=";
+    hash = "sha256-1lWI9tcOxgrcfaPfdSF+xRE9qofhNR3SQiA4h86VVeE=";
     fetchSubmodules = true;
   };
 
diff --git a/modules/nixos-apple-silicon/apple-silicon-support/packages/mesa-asahi-edge/default.nix b/modules/nixos-apple-silicon/apple-silicon-support/packages/mesa-asahi-edge/default.nix
index 0e1b60315cb2..b6b330ef8b4f 100644
--- a/modules/nixos-apple-silicon/apple-silicon-support/packages/mesa-asahi-edge/default.nix
+++ b/modules/nixos-apple-silicon/apple-silicon-support/packages/mesa-asahi-edge/default.nix
@@ -1,22 +1,26 @@
 { lib
 , fetchFromGitLab
-, mesa }:
+, mesa
+, llvmPackages
+}:
 
 (mesa.override {
   galliumDrivers = [ "swrast" "asahi" ];
   vulkanDrivers = [ "swrast" ];
   enableGalliumNine = false;
+  # libclc and other OpenCL components are needed for geometry shader support on Apple Silicon
+  enableOpenCL = true;
 }).overrideAttrs (oldAttrs: {
   # version must be the same length (i.e. no unstable or date)
   # so that system.replaceRuntimeDependencies can work
-  version = "23.3.0";
+  version = "24.0.0";
   src = fetchFromGitLab {
-    # tracking: https://github.com/AsahiLinux/PKGBUILDs/blob/main/mesa-asahi-edge/PKGBUILD
+    # tracking: https://pagure.io/fedora-asahi/mesa/commits/asahi
     domain = "gitlab.freedesktop.org";
     owner = "asahi";
     repo = "mesa";
-    rev = "asahi-20230904";
-    hash = "sha256-hBfXzV8U9fm3cR4KMIl64ypioEeofH3BDl/jZQPLKQg=";
+    rev = "asahi-20231213";
+    hash = "sha256-hl0JtwWEXaCkhCMQJ393mzfw/eEx6m9DYNS+spQ3Vhs=";
   };
 
   mesonFlags =
@@ -34,8 +38,10 @@
       "-Dlmsensors=disabled"
     ];
 
-  # replace disk cache path patch with one tweaked slightly to apply to this version
+  # replace patches with ones tweaked slightly to apply to this version
   patches = lib.forEach oldAttrs.patches
     (p: if lib.hasSuffix "disk_cache-include-dri-driver-path-in-cache-key.patch" p
-      then ./disk_cache-include-dri-driver-path-in-cache-key.patch else p);
+      then ./disk_cache-include-dri-driver-path-in-cache-key.patch else
+      (if lib.hasSuffix "opencl.patch" p
+      then ./opencl.patch else p));
 })
diff --git a/modules/nixos-apple-silicon/apple-silicon-support/packages/mesa-asahi-edge/opencl.patch b/modules/nixos-apple-silicon/apple-silicon-support/packages/mesa-asahi-edge/opencl.patch
new file mode 100644
index 000000000000..2957bb987854
--- /dev/null
+++ b/modules/nixos-apple-silicon/apple-silicon-support/packages/mesa-asahi-edge/opencl.patch
@@ -0,0 +1,84 @@
+From bbd0f154183e4d26a14bb005f6afc636629c201e Mon Sep 17 00:00:00 2001
+From: Thomas Watson <twatson52@icloud.com>
+Date: Sat, 16 Dec 2023 20:46:51 -0600
+Subject: [PATCH] opencl.patch from nixpkgs
+ f416128e90ac75bec060e8b9435fe9c38423c036
+
+---
+ meson.build                             | 2 +-
+ meson_options.txt                       | 6 ++++++
+ src/gallium/targets/opencl/meson.build  | 6 +++---
+ src/gallium/targets/rusticl/meson.build | 3 +--
+ 4 files changed, 11 insertions(+), 6 deletions(-)
+
+diff --git a/meson.build b/meson.build
+index 552ff196aa8..9e10156b875 100644
+--- a/meson.build
++++ b/meson.build
+@@ -1829,7 +1829,7 @@ endif
+ 
+ dep_clang = null_dep
+ if with_clc
+-  llvm_libdir = dep_llvm.get_variable(cmake : 'LLVM_LIBRARY_DIR', configtool: 'libdir')
++  llvm_libdir = get_option('clang-libdir')
+ 
+   dep_clang = cpp.find_library('clang-cpp', dirs : llvm_libdir, required : false)
+ 
+diff --git a/meson_options.txt b/meson_options.txt
+index c76fa6d3382..d2021f55634 100644
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -1,6 +1,12 @@
+ # Copyright © 2017-2019 Intel Corporation
+ # SPDX-License-Identifier: MIT
+ 
++option(
++  'clang-libdir',
++  type : 'string',
++  value : '',
++  description : 'Locations to search for clang libraries.'
++)
+ option(
+   'platforms',
+   type : 'array',
+diff --git a/src/gallium/targets/opencl/meson.build b/src/gallium/targets/opencl/meson.build
+index 7c14135898e..cbcd67cc443 100644
+--- a/src/gallium/targets/opencl/meson.build
++++ b/src/gallium/targets/opencl/meson.build
+@@ -39,7 +39,8 @@ if dep_llvm.version().version_compare('>=10.0.0')
+   polly_isl_dep = cpp.find_library('PollyISL', dirs : llvm_libdir, required : false)
+ endif
+ 
+-dep_clang = cpp.find_library('clang-cpp', dirs : llvm_libdir, required : false)
++clang_libdir = get_option('clang-libdir')
++dep_clang = cpp.find_library('clang-cpp', dirs : clang_libdir, required : false)
+ 
+ # meson will return clang-cpp from system dirs if it's not found in llvm_libdir
+ linker_rpath_arg = '-Wl,--rpath=@0@'.format(llvm_libdir)
+@@ -123,8 +124,7 @@ if with_opencl_icd
+     configuration : _config,
+     input : 'mesa.icd.in',
+     output : 'mesa.icd',
+-    install : true,
+-    install_tag : 'runtime',
++    install : false,
+     install_dir : join_paths(get_option('sysconfdir'), 'OpenCL', 'vendors'),
+   )
+ 
+diff --git a/src/gallium/targets/rusticl/meson.build b/src/gallium/targets/rusticl/meson.build
+index b2963fe6dfa..2f784bdccd4 100644
+--- a/src/gallium/targets/rusticl/meson.build
++++ b/src/gallium/targets/rusticl/meson.build
+@@ -76,8 +76,7 @@ configure_file(
+   configuration : _config,
+   input : 'rusticl.icd.in',
+   output : 'rusticl.icd',
+-  install : true,
+-  install_tag : 'runtime',
++  install : false,
+   install_dir : join_paths(get_option('sysconfdir'), 'OpenCL', 'vendors'),
+ )
+ 
+-- 
+2.40.1
+
diff --git a/modules/nixos-apple-silicon/apple-silicon-support/packages/uboot-asahi/default.nix b/modules/nixos-apple-silicon/apple-silicon-support/packages/uboot-asahi/default.nix
index 908aff32b1ae..c3bf0847973f 100644
--- a/modules/nixos-apple-silicon/apple-silicon-support/packages/uboot-asahi/default.nix
+++ b/modules/nixos-apple-silicon/apple-silicon-support/packages/uboot-asahi/default.nix
@@ -6,13 +6,13 @@
 
 (buildUBoot rec {
   src = fetchFromGitHub {
-    # tracking: https://github.com/AsahiLinux/PKGBUILDs/blob/main/uboot-asahi/PKGBUILD
+    # tracking: https://pagure.io/fedora-asahi/uboot-tools/commits/main
     owner = "AsahiLinux";
     repo = "u-boot";
-    rev = "asahi-v2023.07.02-3";
-    hash = "sha256-a7iNawyq7K6jhiVzu5x8mllF3olTP+jQRXGGSsoKINI=";
+    rev = "asahi-v2023.07.02-4";
+    hash = "sha256-M4qkEyNgwV2AKSr5VzPGfhHo1kGy8Tw8TfyP36cgYjc=";
   };
-  version = "2023.07.02.asahi3-1";
+  version = "2023.07.02.asahi4-1";
 
   defconfig = "apple_m1_defconfig";
   extraMeta.platforms = [ "aarch64-linux" ];
diff --git a/modules/nixos-apple-silicon/docs/release-notes.md b/modules/nixos-apple-silicon/docs/release-notes.md
index 64de3137ba33..d7bd23b821d7 100644
--- a/modules/nixos-apple-silicon/docs/release-notes.md
+++ b/modules/nixos-apple-silicon/docs/release-notes.md
@@ -2,6 +2,35 @@
 
 This file contains important information for each release.
 
+## 2023-12-19
+
+This release updates nixpkgs, m1n1, U-Boot, the kernel, and Mesa.
+
+With the official announcement of the Fedora Asahi Remix, nixos-apple-silicon is
+now tracking package versions and capabilities as they appear in Fedora, in
+order to offer the upstream intended user experience.
+
+Updating nixpkgs brings us past the 23.11 release and on the path to 24.05.
+Other updates bring HDMI support for supported machines and firmware versions.
+Don't expect this to work if you installed before August 2023; workarounds will
+be made available shortly, and a long-term solution will hopefully be
+implemented by Asahi and incorporated here as well.
+
+Speaker support will be added in the next release once safe implementation and
+testing is completed. Thanks for the patience and understanding.
+
+## 2023-11-19
+
+This release updates nixpkgs.
+
+In particular, nixpkgs is updated to fix issues with compilation of wolfssl,
+and some regressions in systemd-boot.
+
+This release also adds patches to the kernel to support compilation with Rust
+1.73.0. Thanks again to yu-re-ka for this contribution.
+
+Speaker support will be added in an upcoming release.
+
 ## 2023-10-21
 
 This release updates nixpkgs, m1n1, U-Boot, and the kernel.
diff --git a/modules/nixos-apple-silicon/docs/uefi-standalone.md b/modules/nixos-apple-silicon/docs/uefi-standalone.md
index 58e9fcc53d95..1209027cced7 100644
--- a/modules/nixos-apple-silicon/docs/uefi-standalone.md
+++ b/modules/nixos-apple-silicon/docs/uefi-standalone.md
@@ -1,11 +1,11 @@
-# UEFI Boot Standalone NixOS (2023-10-21)
+# UEFI Boot Standalone NixOS (2023-12-19)
 
 This guide will build and was tested with the following software:
-* Asahi Linux kernel version 6.5.0-asahi15
-* Asahi Linux's Mesa version 23.3.0_asahi-20230904-1
-* m1n1 version v1.4.2
-* Asahi Linux's U-Boot version 2023.07.02.asahi3-1
-* Nixpkgs, as of 2023-10-19
+* Asahi Linux kernel version 6.6.0-asahi14
+* Asahi Linux's Mesa version 24.0.0_asahi-20231213-1
+* m1n1 version v1.4.11
+* Asahi Linux's U-Boot version 2023.07.02.asahi4-1
+* Nixpkgs, as of 2023-12-17
 * macOS stub 12.3
 
 NOTE: The latest version of this guide will always be [at its home](https://github.com/tpwrules/nixos-apple-silicon/blob/main/docs/uefi-standalone.md). For more general information about Linux on Apple Silicon Macs, refer to the [Asahi Linux project](https://asahilinux.org/) and [alpha installer release](https://asahilinux.org/2022/03/asahi-linux-alpha-release/).
@@ -246,12 +246,17 @@ Currently, the only supported way to update the peripheral firmware files is to
   # hardware.asahi.extractPeripheralFirmware = false;
 ```
 
+<details>
+  <summary>If you have apps incompatible with 16K page sizes and you need 4K page size instead...</summary>
+
+**Note:** The 4K patches are currently not updated to latest kernel version. See [this issue](https://github.com/tpwrules/nixos-apple-silicon/issues/43).
 You can choose to build the Asahi kernel with a 4K page size by enabling the appropriate option. This results in a reduction in raw compilation speed of 10-25%, but improves software compatibility in some cases (such as with Chromium/Electron and x86 emulation).
 ```
   # Build the kernel with 4K pages to improve software compatibility at
   # the cost of performance in some cases.
   hardware.asahi.use4KPages = true;
 ```
+</details>
 
 If you want to install a desktop environment, you will have to uncomment the option to enable X11 and NetworkManager, then add an option to include your favorite desktop environment. You may also wish to include graphical packages such as `firefox` in `environment.systemPackages`. For example, to install Xfce:
 ```
@@ -268,6 +273,14 @@ Some keyboard layouts are not detected correctly. On some devices, the \` key is
  '';
  ```
 
+`iwd` is recommended for WiFi on most systems:
+```
+networking.wireless.iwd = {
+  enable = true;
+  settings.General.EnableNetworkConfiguration = true;
+};
+```
+
 #### NixOS Installation
 
 Once you are happy with your initial configuration, you may install the system. This will have to download a large amount of data.
diff --git a/modules/nixos-apple-silicon/flake.lock b/modules/nixos-apple-silicon/flake.lock
index ff024e7b3179..14e9ea6b16b7 100644
--- a/modules/nixos-apple-silicon/flake.lock
+++ b/modules/nixos-apple-silicon/flake.lock
@@ -17,17 +17,17 @@
     },
     "nixpkgs": {
       "locked": {
-        "lastModified": 1697723726,
-        "narHash": "sha256-SaTWPkI8a5xSHX/rrKzUe+/uVNy6zCGMXgoeMb7T9rg=",
+        "lastModified": 1702830618,
+        "narHash": "sha256-lvhwIvRwhOLgzbRuYkqHy4M5cQHYs4ktL6/hyuBS6II=",
         "owner": "nixos",
         "repo": "nixpkgs",
-        "rev": "7c9cc5a6e5d38010801741ac830a3f8fd667a7a0",
+        "rev": "91a00709aebb3602f172a0bf47ba1ef013e34835",
         "type": "github"
       },
       "original": {
         "owner": "nixos",
         "repo": "nixpkgs",
-        "rev": "7c9cc5a6e5d38010801741ac830a3f8fd667a7a0",
+        "rev": "91a00709aebb3602f172a0bf47ba1ef013e34835",
         "type": "github"
       }
     },
diff --git a/modules/nixos-apple-silicon/flake.nix b/modules/nixos-apple-silicon/flake.nix
index 9dd07b7fdc64..cb6e1724ae38 100644
--- a/modules/nixos-apple-silicon/flake.nix
+++ b/modules/nixos-apple-silicon/flake.nix
@@ -5,7 +5,7 @@
     nixpkgs = {
       # https://hydra.nixos.org/jobset/mobile-nixos/unstable/evals
       # these evals have a cross-compiled stdenv available
-      url = "github:nixos/nixpkgs/7c9cc5a6e5d38010801741ac830a3f8fd667a7a0";
+      url = "github:nixos/nixpkgs/91a00709aebb3602f172a0bf47ba1ef013e34835";
     };
 
     rust-overlay = {
diff --git a/modules/nixos-apple-silicon/iso-configuration/installer-configuration.nix b/modules/nixos-apple-silicon/iso-configuration/installer-configuration.nix
index 0cd3ca711e77..39c9ae90efcf 100644
--- a/modules/nixos-apple-silicon/iso-configuration/installer-configuration.nix
+++ b/modules/nixos-apple-silicon/iso-configuration/installer-configuration.nix
@@ -107,6 +107,14 @@
       util-linux = prev.util-linux.override {
         translateManpages = false;
       };
+
+      # documentation cross-compilation is currently broken
+      # https://github.com/NixOS/nixpkgs/pull/275078
+      btrfs-progs = prev.btrfs-progs.overrideAttrs (old: {
+        configureFlags = (old.configureFlags or []) ++ [
+          "--disable-documentation"
+        ];
+      });
     })
   ];