{ stdenv , pkgs , lib , fetchFromGitHub , kmod , kernelPackages , breakpointHook , }: let kernel = kernelPackages.kernel; in stdenv.mkDerivation rec { name = "hid-fanatecff-${version}-${kernel.version}"; version = "0.1.2"; src = fetchFromGitHub { owner = "gotzl"; repo = "hid-fanatecff"; rev = version; sha256 = "sha256-twDbjX0p/A18L2x7eS2hyneuQq7rLMxTBT/GfTdweAE="; }; sourceRoot = "source"; hardeningDisable = [ "pic" "format" ]; nativeBuildInputs = kernel.moduleBuildDependencies ++ [ pkgs.linuxConsoleTools ]; makeFlags = [ "KVERSION=${kernel.modDirVersion}" "KDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" "MODULEDIR=$(out)/lib/modules/${kernel.modDirVersion}" ]; preInstallPhase = '' sed -i '/fanatec.rules/d' Makefile sed -i '/depmod/d' Makefile mkdir -p $out/lib/modules/${kernel.modDirVersion} ''; postPhase = '' substituteInPlace fanatec.rules --replace /usr/bin/evdev-joystick ${pkgs.linuxConsoleTools}/bin/evdev-joystick mkdir -p $out/lib/udev/rules.d cp fanatec.rules $out/lib/udev/rules.d/99-fanatec.rules ''; preInstallPhases = [ "preInstallPhase" ]; postPhases = [ "postPhase" ]; meta = with lib; { description = "A kernel module that provides support for fanatec wheels and pedals"; homepage = "https://github.com/gotzl/hid-fanatecff"; license = licenses.gpl2; platforms = platforms.linux; }; }