update apple silicon support

add update script
This commit is contained in:
Christoph Cullmann 2025-07-06 16:38:05 +02:00
parent 6cea23953e
commit e8ee273d59
No known key found for this signature in database
4 changed files with 21 additions and 36 deletions

View file

@ -13,29 +13,6 @@
in lib.mkIf cfg.enable { in lib.mkIf cfg.enable {
nixpkgs.overlays = lib.mkBefore [ cfg.overlay ]; nixpkgs.overlays = lib.mkBefore [ cfg.overlay ];
# patch systemd-boot to boot in Apple Silicon UEFI environment.
# This regression only appeared in systemd 256.7.
# see https://github.com/NixOS/nixpkgs/pull/355290
# and https://github.com/systemd/systemd/issues/35026
systemd.package = let
systemdBroken = (pkgs.systemd.version == "256.7");
systemdPatched = pkgs.systemd.overrideAttrs (old: {
patches = let
oldPatches = (old.patches or []);
# not sure why there are non-paths in there but oh well
patchNames = (builtins.map (p: if ((builtins.typeOf p) == "path") then builtins.baseNameOf p else "") oldPatches);
fixName = "0019-Revert-boot-Make-initrd_prepare-semantically-equival.patch";
alreadyPatched = builtins.elem fixName patchNames;
in oldPatches ++ lib.optionals (!alreadyPatched) [
(pkgs.fetchpatch {
url = "https://raw.githubusercontent.com/NixOS/nixpkgs/125e99477b0ac0a54b7cddc6c5a704821a3074c7/pkgs/os-specific/linux/systemd/${fixName}";
hash = "sha256-UW3DZiaykQUUNcGA5UFxN+/wgNSW3ufxDDCZ7emD16o=";
})
];
});
in if systemdBroken then systemdPatched else pkgs.systemd;
hardware.asahi.pkgs = hardware.asahi.pkgs =
if cfg.pkgsSystem != "aarch64-linux" if cfg.pkgsSystem != "aarch64-linux"
then then

View file

@ -1,9 +1,6 @@
{ options, config, pkgs, lib, ... }: { config, lib, ... }:
{ {
config = let config = lib.mkIf config.hardware.asahi.enable (lib.mkMerge [
isMode = mode: (config.hardware.asahi.useExperimentalGPUDriver
&& config.hardware.asahi.experimentalGPUInstallMode == mode);
in lib.mkIf config.hardware.asahi.enable (lib.mkMerge [
{ {
# required for proper DRM setup even without GPU driver # required for proper DRM setup even without GPU driver
services.xserver.config = '' services.xserver.config = ''

View file

@ -1,14 +1,17 @@
{ lib {
, python3 python3,
, fetchFromGitHub fetchFromGitHub,
, gzip gzip,
, gnutar gnutar,
, lzfse lzfse,
}: }:
python3.pkgs.buildPythonApplication rec { python3.pkgs.buildPythonApplication rec {
pname = "asahi-fwextract"; pname = "asahi-fwextract";
version = "0.7.8"; version = "0.7.8";
pyproject = true;
build-system = [ python3.pkgs.setuptools ];
# tracking version: https://packages.fedoraproject.org/pkgs/asahi-installer/python3-asahi_firmware/ # tracking version: https://packages.fedoraproject.org/pkgs/asahi-installer/python3-asahi_firmware/
src = fetchFromGitHub { src = fetchFromGitHub {
@ -26,7 +29,5 @@ python3.pkgs.buildPythonApplication rec {
--replace '"xf"' '"-x", "-I", "${gzip}/bin/gzip", "-f"' --replace '"xf"' '"-x", "-I", "${gzip}/bin/gzip", "-f"'
''; '';
nativeBuildInputs = [ python3.pkgs.setuptools ];
doCheck = false; doCheck = false;
} }

10
zeta/update.sh Executable file
View file

@ -0,0 +1,10 @@
#!/usr/bin/env zsh
rm -rf nixos-apple-silicon
git clone https://github.com/nix-community/nixos-apple-silicon.git
rm -rf apple-silicon-support
mv nixos-apple-silicon/apple-silicon-support .
git add apple-silicon-support
rm -rf nixos-apple-silicon