update apple silicon support
add update script
This commit is contained in:
parent
6cea23953e
commit
e8ee273d59
4 changed files with 21 additions and 36 deletions
|
@ -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
|
||||||
|
|
|
@ -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 = ''
|
||||||
|
|
|
@ -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
10
zeta/update.sh
Executable 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
|
Loading…
Add table
Add a link
Reference in a new issue