68 lines
1.7 KiB
Nix
68 lines
1.7 KiB
Nix
{
|
|
lib,
|
|
callPackage,
|
|
linuxPackagesFor,
|
|
_kernelPatches ? [],
|
|
}: let
|
|
linux-asahi-pkg = {
|
|
stdenv,
|
|
lib,
|
|
fetchFromGitHub,
|
|
buildLinux,
|
|
...
|
|
}:
|
|
buildLinux rec {
|
|
inherit stdenv lib;
|
|
|
|
pname = "linux-asahi-fairydust";
|
|
version = "6.18.2";
|
|
modDirVersion = version;
|
|
extraMeta.branch = "6.18";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "AsahiLinux";
|
|
repo = "linux";
|
|
rev = "21a493172ce13c95df12b42faddfca515388d80c";
|
|
hash = "sha256-UCQs+VYIWZMYiizkLWdPjSipBuOB1ahZx2oy5VuEjPI=";
|
|
};
|
|
|
|
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;
|
|
|
|
APPLE_MAILBOX = yes;
|
|
|
|
APPLE_RTKIT = yes;
|
|
APPLE_RTKIT_HELPER = yes;
|
|
RUST_APPLE_RTKIT = yes;
|
|
RUST_FW_LOADER_ABSTRACTIONS = 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)
|