at master 54 lines 1.3 kB view raw
1{ 2 lib, 3 stdenv, 4 fetchFromGitHub, 5 kernel, 6 kernelModuleMakeFlags, 7}: 8let 9 version = "1.0.17"; 10 hash = "sha256-9/t+Mvfnq0KkPbe1mnrVy4mzNaK7vAgLuhUnOeEvBfI="; 11in 12stdenv.mkDerivation { 13 name = "system76-module-${version}-${kernel.version}"; 14 15 passthru.moduleName = "system76"; 16 17 src = fetchFromGitHub { 18 owner = "pop-os"; 19 repo = "system76-dkms"; 20 rev = version; 21 inherit hash; 22 }; 23 24 hardeningDisable = [ "pic" ]; 25 26 nativeBuildInputs = kernel.moduleBuildDependencies; 27 28 makeFlags = kernelModuleMakeFlags; 29 30 buildFlags = [ 31 "KERNEL_DIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" 32 ]; 33 34 installPhase = '' 35 install -D system76.ko $out/lib/modules/${kernel.modDirVersion}/misc/system76.ko 36 mkdir -p $out/lib/udev/hwdb.d 37 mv lib/udev/hwdb.d/* $out/lib/udev/hwdb.d 38 ''; 39 40 meta = { 41 maintainers = with lib.maintainers; [ ahoneybun ]; 42 license = [ lib.licenses.gpl2Plus ]; 43 platforms = [ 44 "i686-linux" 45 "x86_64-linux" 46 ]; 47 description = "System76 DKMS driver"; 48 homepage = "https://github.com/pop-os/system76-dkms"; 49 longDescription = '' 50 The System76 DKMS driver. On newer System76 laptops, this driver controls 51 some of the hotkeys and allows for custom fan control. 52 ''; 53 }; 54}