about summary refs log tree commit diff
path: root/modules
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2024-06-16 11:37:11 +0200
committerAlyssa Ross <hi@alyssa.is>2024-06-16 11:37:11 +0200
commitb0db770be52f59a7a28a2b45bcd1409809d3ea3a (patch)
tree85b545dde7b9b7fb5145540d7bf997a9a3a054d0 /modules
parent1f7ea1acad1207378e325dd0d6527a983d7192b5 (diff)
parent842306255856d7f5677c113e699101eb253e2e3f (diff)
downloadnixlib-b0db770be52f59a7a28a2b45bcd1409809d3ea3a.tar
nixlib-b0db770be52f59a7a28a2b45bcd1409809d3ea3a.tar.gz
nixlib-b0db770be52f59a7a28a2b45bcd1409809d3ea3a.tar.bz2
nixlib-b0db770be52f59a7a28a2b45bcd1409809d3ea3a.tar.lz
nixlib-b0db770be52f59a7a28a2b45bcd1409809d3ea3a.tar.xz
nixlib-b0db770be52f59a7a28a2b45bcd1409809d3ea3a.tar.zst
nixlib-b0db770be52f59a7a28a2b45bcd1409809d3ea3a.zip
Merge remote-tracking branch 'nixos-apple-silicon/main'
Diffstat (limited to 'modules')
-rw-r--r--modules/nixos-apple-silicon/README.md2
-rw-r--r--modules/nixos-apple-silicon/apple-silicon-support/modules/mesa/default.nix3
-rw-r--r--modules/nixos-apple-silicon/apple-silicon-support/packages/linux-asahi/default.nix4
-rw-r--r--modules/nixos-apple-silicon/apple-silicon-support/packages/m1n1/default.nix4
-rw-r--r--modules/nixos-apple-silicon/docs/release-notes.md13
-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
8 files changed, 34 insertions, 27 deletions
diff --git a/modules/nixos-apple-silicon/README.md b/modules/nixos-apple-silicon/README.md
index e8c1a0e59a3f..c54c9550bf5d 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 (2024-05-17)](docs/uefi-standalone.md)
+* [Setup, Installation, and Maintenance Guide (2024-05-23)](docs/uefi-standalone.md)
 
 ## Credits
 
diff --git a/modules/nixos-apple-silicon/apple-silicon-support/modules/mesa/default.nix b/modules/nixos-apple-silicon/apple-silicon-support/modules/mesa/default.nix
index cc3db2b32930..79c8afd09edb 100644
--- a/modules/nixos-apple-silicon/apple-silicon-support/modules/mesa/default.nix
+++ b/modules/nixos-apple-silicon/apple-silicon-support/modules/mesa/default.nix
@@ -37,7 +37,8 @@
       # (and in a way compatible with pure evaluation)
       nixpkgs.overlays = [
         (final: prev: {
-          mesa = final.mesa-asahi-edge;
+          # prevent cross-built Mesas that might be evaluated using this config (e.g. Steam emulation via box64) from using the special Asahi Mesa
+          mesa = if prev.targetPlatform.isAarch64 then final.mesa-asahi-edge else prev.mesa;
         })
       ];
     })
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 917e67c286ca..db000605f4fb 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
@@ -94,8 +94,8 @@ let
         # tracking: https://github.com/AsahiLinux/linux/tree/asahi-wip (w/ fedora verification)
         owner = "AsahiLinux";
         repo = "linux";
-        rev = "asahi-6.8.9-6";
-        hash = "sha256-qDxO6gXHTNcUWfa1YnoqZz1/eOg26JLnTTvTrxSbDAc=";
+        rev = "asahi-6.8.9-7";
+        hash = "sha256-Mso2cThj7JnemRgVc3wJ3d/IySL463nSKFEU1iBLixU=";
       };
 
       kernelPatches = [
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 d758f218565a..e58134fa541b 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.12";
+  version = "1.4.14";
 
   src = fetchFromGitHub {
     # tracking: https://src.fedoraproject.org/rpms/m1n1
     owner = "AsahiLinux";
     repo = "m1n1";
     rev = "v${version}";
-    hash = "sha256-ZIrNL2+5gWrT3Woz4Nab6M9xvGjIE2Md8/cfPo5rfFQ=";
+    hash = "sha256-bhX6qtyiKgSpBic4q3jNu9Xi+SOw21JC4sBI44YHKK0=";
     fetchSubmodules = true;
   };
 
diff --git a/modules/nixos-apple-silicon/docs/release-notes.md b/modules/nixos-apple-silicon/docs/release-notes.md
index be317daf57ea..adf96e23f340 100644
--- a/modules/nixos-apple-silicon/docs/release-notes.md
+++ b/modules/nixos-apple-silicon/docs/release-notes.md
@@ -2,6 +2,19 @@
 
 This file contains important information for each release.
 
+## 2024-05-23
+
+This release updates nixpkgs, the kernel, and m1n1.
+
+**This release completely fixes a data corruption bug for dm-crypt users.** The
+fix in the previous release was incomplete. See the previous release notes
+for further info.
+
+**All users are recommended to upgrade m1n1 from macOS** using the instructions 
+available
+[here](https://discussion.fedoraproject.org/t/important-psa-update-your-m1n1-before-updating-to-macos-sonoma-14-5/117192).
+The referenced stage 2 work arounds are also included in this release.
+
 ## 2024-05-17
 
 This release updates nixpkgs and the kernel.
diff --git a/modules/nixos-apple-silicon/docs/uefi-standalone.md b/modules/nixos-apple-silicon/docs/uefi-standalone.md
index 89a743d62e91..97a20ef25f48 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 (2024-05-17)
+# UEFI Boot Standalone NixOS (2024-05-23)
 
 This guide will build and was tested with the following software:
-* Asahi Linux kernel version asahi-6.8.9-6
+* Asahi Linux kernel version asahi-6.8.9-7
 * Asahi Linux's Mesa version 24.1.0_asahi-20240228-1
-* m1n1 version v1.4.12
+* m1n1 version v1.4.14
 * Asahi Linux's U-Boot version 2024.04-4-asahi
-* Nixpkgs, as of 2024-05-15
+* Nixpkgs, as of 2024-05-21
 * 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/).
@@ -389,24 +389,17 @@ To make the Mac bootable again, you can use [idevicerestore](https://github.com/
 
 Please note that this procedure may require you to unrecoverably destroy all data on the Mac's internal drive. If erasing is necessary, you will be clearly warned and asked to confirm before it happens. The drive will end up zeroed and its encryption keys (probably) regenerated, so not even the NSA will be able to save you. If you haven't made backups, make peace with yourself now.
 
-You'll need to build `idevicerestore` from source to get a version capable of restoring Apple Silicon Macs. If Nix is already installed on your second computer, an appropriate version is already packaged in recent `nixpkgs-unstable`. Check out and build both `idevicerestore` and `usbmuxd` (if on Linux):
-
-```
-# git clone https://github.com/NixOS/nixpkgs/
-# cd nixpkgs
-# nix-build -A pkgs.idevicerestore -o idevicerestore
-# nix-build -A pkgs.usbmuxd -o usbmuxd # if on Linux
-```
-
 To start the procedure, hook up the appropriate port on your unbootable Mac to the second computer and invoke DFU mode. This process is covered by Steps 1 and 2 of [Apple's documentation](https://support.apple.com/guide/apple-configurator-mac/revive-or-restore-a-mac-with-apple-silicon-apdd5f3c75ad/mac). We will first try what Apple calls a "revive" where the disk is not erased, although both we and `idevicerestore` still call it a "restore".
 
 If DFU mode was started correctly, the unbootable Mac will show up on your second computer as an `Apple, Inc. Mobile Device (DFU Mode)` in `lsusb` on Linux or System Information on macOS. If you see `Apple, Inc. Apple Mobile Device [Recovery Mode]` instead (or nothing), the procedure was not followed correctly and you need to try again.
 
-Open a terminal on your second computer and, if you are on Linux and didn't install the udev rules (which Nix did not), start `usbmuxd` in the background by running it without any arguments. Then, ask `idevicerestore` to restore the firmware by using the `--latest` flag. If you wish to erase the disk either because the revive didn't work or because you want to start with a clean slate, use the `--erase` flag also.
+
+Open a terminal on your second computer. You need `usbmuxd` (only if on Linux) and `idevicerestore`. nixpkgs (both unstable and stable) provide sufficiently updated package versions. If you're on NixOS, set `services.usbmuxd.enable = true;` to get udev rules, system services etc. configured. If you're on another Linux, you need to run `usbmuxd` as root in the background, without any arguments (or manually set up udev rules and system services).
+
+Then, ask `idevicerestore` to restore the firmware by using the `--latest` flag. If you wish to erase the disk either because the revive didn't work or because you want to start with a clean slate, use the `--erase` flag also.
 
 ```
-# sudo usbmuxd/bin/usbmuxd # Linux only
-# sudo idevicerestore/bin/idevicerestore --latest
+# sudo idevicerestore --latest
 idevicerestore 1.0.0-unstable-2022-05-22
 Found device in DFU mode
 Identified device as j274ap, Macmini9,1
diff --git a/modules/nixos-apple-silicon/flake.lock b/modules/nixos-apple-silicon/flake.lock
index 5eb262ee2fed..b4faa8882f44 100644
--- a/modules/nixos-apple-silicon/flake.lock
+++ b/modules/nixos-apple-silicon/flake.lock
@@ -17,17 +17,17 @@
     },
     "nixpkgs": {
       "locked": {
-        "lastModified": 1715787315,
-        "narHash": "sha256-cYApT0NXJfqBkKcci7D9Kr4CBYZKOQKDYA23q8XNuWg=",
+        "lastModified": 1716293225,
+        "narHash": "sha256-pU9ViBVE3XYb70xZx+jK6SEVphvt7xMTbm6yDIF4xPs=",
         "owner": "nixos",
         "repo": "nixpkgs",
-        "rev": "33d1e753c82ffc557b4a585c77de43d4c922ebb5",
+        "rev": "3eaeaeb6b1e08a016380c279f8846e0bd8808916",
         "type": "github"
       },
       "original": {
         "owner": "nixos",
         "repo": "nixpkgs",
-        "rev": "33d1e753c82ffc557b4a585c77de43d4c922ebb5",
+        "rev": "3eaeaeb6b1e08a016380c279f8846e0bd8808916",
         "type": "github"
       }
     },
diff --git a/modules/nixos-apple-silicon/flake.nix b/modules/nixos-apple-silicon/flake.nix
index 232aa1edb8ec..def8dd2eaa8d 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/33d1e753c82ffc557b4a585c77de43d4c922ebb5";
+      url = "github:nixos/nixpkgs/3eaeaeb6b1e08a016380c279f8846e0bd8808916";
     };
 
     rust-overlay = {