1{ 2 lib, 3 stdenv, 4 kernel, 5 kernelModuleMakeFlags, 6 fetchFromGitHub, 7 unstableGitUpdater, 8}: 9 10stdenv.mkDerivation { 11 pname = "framework-laptop-kmod"; 12 version = "0-unstable-2024-09-15"; 13 14 src = fetchFromGitHub { 15 owner = "DHowett"; 16 repo = "framework-laptop-kmod"; 17 rev = "6164bc3dec24b6bb2806eedd269df6a170bcc930"; 18 hash = "sha256-OwtXQR0H4GNlYjVZ5UU5MEM6ZOjlV3B0x2auYawbS2U="; 19 }; 20 21 nativeBuildInputs = kernel.moduleBuildDependencies; 22 23 makeFlags = kernelModuleMakeFlags ++ [ 24 "KDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" 25 ]; 26 27 installPhase = '' 28 runHook preInstall 29 install -D framework_laptop.ko -t $out/lib/modules/${kernel.modDirVersion}/extra 30 runHook postInstall 31 ''; 32 33 passthru.updateScript = unstableGitUpdater { }; 34 35 meta = with lib; { 36 description = "Kernel module that exposes the Framework Laptop (13, 16)'s battery charge limit and LEDs to userspace"; 37 homepage = "https://github.com/DHowett/framework-laptop-kmod"; 38 license = licenses.gpl2Only; 39 maintainers = with maintainers; [ gaykitty ]; 40 platforms = platforms.linux; 41 broken = lib.versionOlder kernel.version "6.1"; 42 }; 43}