about summary refs log tree commit diff
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2024-03-25 10:53:53 +0100
committerAlyssa Ross <hi@alyssa.is>2024-03-25 10:53:53 +0100
commit2f5ca5adaf4bc825128334f50c82db9963dd92d2 (patch)
tree35b9d5b612c17409c8447fa6ec5bfe75302ba292
parent5423cabbbf2b6dec5568f1ecabd288d5d9a642ec (diff)
parent93e85575f63b32b9996676513d95288fc1c87ca9 (diff)
downloadnixlib-2f5ca5adaf4bc825128334f50c82db9963dd92d2.tar
nixlib-2f5ca5adaf4bc825128334f50c82db9963dd92d2.tar.gz
nixlib-2f5ca5adaf4bc825128334f50c82db9963dd92d2.tar.bz2
nixlib-2f5ca5adaf4bc825128334f50c82db9963dd92d2.tar.lz
nixlib-2f5ca5adaf4bc825128334f50c82db9963dd92d2.tar.xz
nixlib-2f5ca5adaf4bc825128334f50c82db9963dd92d2.tar.zst
nixlib-2f5ca5adaf4bc825128334f50c82db9963dd92d2.zip
Merge https://github.com/tpwrules/nixos-apple-silicon
-rw-r--r--modules/nixos-apple-silicon/README.md2
-rw-r--r--modules/nixos-apple-silicon/apple-silicon-support/modules/sound/default.nix15
-rw-r--r--modules/nixos-apple-silicon/apple-silicon-support/packages/linux-asahi/default.nix4
-rw-r--r--modules/nixos-apple-silicon/docs/release-notes.md14
-rw-r--r--modules/nixos-apple-silicon/docs/uefi-standalone.md6
-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
8 files changed, 48 insertions, 11 deletions
diff --git a/modules/nixos-apple-silicon/README.md b/modules/nixos-apple-silicon/README.md
index becc860ed023..2a3eac8d9c4d 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-03-11)](docs/uefi-standalone.md)
+* [Setup, Installation, and Maintenance Guide (2024-03-24)](docs/uefi-standalone.md)
 
 ## Credits
 
diff --git a/modules/nixos-apple-silicon/apple-silicon-support/modules/sound/default.nix b/modules/nixos-apple-silicon/apple-silicon-support/modules/sound/default.nix
index d76e7138d4c9..d0928b0ca348 100644
--- a/modules/nixos-apple-silicon/apple-silicon-support/modules/sound/default.nix
+++ b/modules/nixos-apple-silicon/apple-silicon-support/modules/sound/default.nix
@@ -65,6 +65,21 @@
         "lsp-plugins is unpatched/outdated and speakers cannot be safely enabled"
         [ pkgs.speakersafetyd ];
       services.udev.packages = [ pkgs.speakersafetyd ];
+
+      # downgrade wireplumber to a version compatible with the asahi-audio configs
+      nixpkgs.overlays = [(final: prev: {
+        wireplumber = prev.wireplumber.overrideAttrs (old:
+          lib.optionalAttrs (lib.versionAtLeast old.version "0.5.0") rec {
+            version = "0.4.17";
+            src = final.fetchFromGitLab {
+              domain = "gitlab.freedesktop.org";
+              owner = "pipewire";
+              repo = "wireplumber";
+              rev = version;
+              hash = "sha256-vhpQT67+849WV1SFthQdUeFnYe/okudTQJoL3y+wXwI=";
+            };
+          });
+      })];
     }
     (lib.optionalAttrs newHotness {
       # use configPackages and friends to install asahi-audio and plugins
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 bb9a05466655..2f1d490277be 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
@@ -95,8 +95,8 @@ let
         # tracking: https://github.com/AsahiLinux/linux/tree/asahi-wip (w/ fedora verification)
         owner = "AsahiLinux";
         repo = "linux";
-        rev = "asahi-6.6-15";
-        hash = "sha256-Jm7wTKWuwd/6ZN0g5F4CNNETiOyGQL31hfSyTDYH85k=";
+        rev = "asahi-6.6-16";
+        hash = "sha256-73ye5JE3YKRgrxGfdQN0+YMIVO1QAJeDuUjTcFhcwI0=";
       };
 
       kernelPatches = [
diff --git a/modules/nixos-apple-silicon/docs/release-notes.md b/modules/nixos-apple-silicon/docs/release-notes.md
index 0f59c9277b7d..358764410a0f 100644
--- a/modules/nixos-apple-silicon/docs/release-notes.md
+++ b/modules/nixos-apple-silicon/docs/release-notes.md
@@ -2,6 +2,20 @@
 
 This file contains important information for each release.
 
+## 2024-03-24
+
+This release updates nixpkgs and the kernel.
+
+The kernel update is understood to include a potential fix for some HDMI issues.
+
+The sound module now forces WirePlumber 0.5 and above (included in recent
+nixpkgs releases) to be downgraded to 0.4.17 as these newer versions are not
+compatible with the Asahi sound configs. This downgrade corrects the
+unexpectedly poor sound experience.
+
+A fix is also included for cross-compiling the installer with recent nixpkgs
+versions.
+
 ## 2024-03-11
 
 This release updates nixpkgs.
diff --git a/modules/nixos-apple-silicon/docs/uefi-standalone.md b/modules/nixos-apple-silicon/docs/uefi-standalone.md
index 9b2f6125661e..dc12818d43f8 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-03-11)
+# UEFI Boot Standalone NixOS (2024-03-24)
 
 This guide will build and was tested with the following software:
-* Asahi Linux kernel version 6.6.0-asahi15
+* Asahi Linux kernel version 6.6.0-asahi16
 * Asahi Linux's Mesa version 24.1.0_asahi-20240228-1
 * m1n1 version v1.4.11
 * Asahi Linux's U-Boot version 2023.07.02.asahi4-1
-* Nixpkgs, as of 2024-03-08
+* Nixpkgs, as of 2024-03-22
 * 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/).
diff --git a/modules/nixos-apple-silicon/flake.lock b/modules/nixos-apple-silicon/flake.lock
index b65ab5cac056..59920cf3da14 100644
--- a/modules/nixos-apple-silicon/flake.lock
+++ b/modules/nixos-apple-silicon/flake.lock
@@ -17,17 +17,17 @@
     },
     "nixpkgs": {
       "locked": {
-        "lastModified": 1709961763,
-        "narHash": "sha256-6H95HGJHhEZtyYA3rIQpvamMKAGoa8Yh2rFV29QnuGw=",
+        "lastModified": 1711163522,
+        "narHash": "sha256-YN/Ciidm+A0fmJPWlHBGvVkcarYWSC+s3NTPk/P+q3c=",
         "owner": "nixos",
         "repo": "nixpkgs",
-        "rev": "3030f185ba6a4bf4f18b87f345f104e6a6961f34",
+        "rev": "44d0940ea560dee511026a53f0e2e2cde489b4d4",
         "type": "github"
       },
       "original": {
         "owner": "nixos",
         "repo": "nixpkgs",
-        "rev": "3030f185ba6a4bf4f18b87f345f104e6a6961f34",
+        "rev": "44d0940ea560dee511026a53f0e2e2cde489b4d4",
         "type": "github"
       }
     },
diff --git a/modules/nixos-apple-silicon/flake.nix b/modules/nixos-apple-silicon/flake.nix
index 55cda17aa8bd..bdc617cfbc0d 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/3030f185ba6a4bf4f18b87f345f104e6a6961f34";
+      url = "github:nixos/nixpkgs/44d0940ea560dee511026a53f0e2e2cde489b4d4";
     };
 
     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 7cd6c59a8d57..ab83bdf9e460 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;
       };
+
+      # fix for gnupg cross-compilation:
+      # https://github.com/NixOS/nixpkgs/pull/298001
+      gnupg = prev.gnupg.overrideAttrs (old: {
+        configureFlags = (old.configureFlags or []) ++ [
+          "GPGRT_CONFIG=${final.lib.getDev final.libgpg-error}/bin/gpgrt-config"
+        ];
+      });
     })
   ];