63 lines
1.4 KiB
Nix
63 lines
1.4 KiB
Nix
{
|
|
lib,
|
|
callPackage,
|
|
linuxPackagesFor,
|
|
_kernelPatches ? [ ],
|
|
}:
|
|
|
|
let
|
|
linux-asahi-pkg =
|
|
{
|
|
stdenv,
|
|
lib,
|
|
fetchFromGitHub,
|
|
buildLinux,
|
|
...
|
|
}:
|
|
buildLinux rec {
|
|
inherit stdenv lib;
|
|
|
|
pname = "linux-asahi";
|
|
version = "6.17.11";
|
|
modDirVersion = version;
|
|
extraMeta.branch = "6.17";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "AsahiLinux";
|
|
repo = "linux";
|
|
tag = "asahi-6.17.11-1";
|
|
hash = "sha256-bTptFNR7ehMdW3M05c0S6GZ4H19GCYvplso8zOkEnmQ=";
|
|
};
|
|
|
|
kernelPatches = [
|
|
{
|
|
name = "Asahi config";
|
|
patch = null;
|
|
structuredExtraConfig = with lib.kernel; {
|
|
# Needed for GPU
|
|
ARM64_16K_PAGES = yes;
|
|
|
|
ARM64_MEMORY_MODEL_CONTROL = yes;
|
|
ARM64_ACTLR_STATE = yes;
|
|
|
|
# Might lead to the machine rebooting if not loaded soon enough
|
|
APPLE_WATCHDOG = yes;
|
|
|
|
# Can not be built as a module, defaults to no
|
|
APPLE_M1_CPU_PMU = yes;
|
|
|
|
# Defaults to 'y', but we want to allow the user to set options in modprobe.d
|
|
HID_APPLE = module;
|
|
|
|
APPLE_PMGR_MISC = yes;
|
|
APPLE_PMGR_PWRSTATE = yes;
|
|
};
|
|
features.rust = true;
|
|
}
|
|
]
|
|
++ _kernelPatches;
|
|
};
|
|
|
|
linux-asahi = callPackage linux-asahi-pkg { };
|
|
in
|
|
lib.recurseIntoAttrs (linuxPackagesFor linux-asahi)
|