{ lib, stdenv, fetchFromGitHub, kernel, kernelModuleMakeFlags, bluez, nixosTests, nix-update-script, }: stdenv.mkDerivation (finalAttrs: { pname = "xpadneo"; version = "0.9.7"; src = fetchFromGitHub { owner = "atar-axis"; repo = "xpadneo"; tag = "v${finalAttrs.version}"; hash = "sha256-evmjQrQPHe8F+6w12bnUv6P4QKGkm63cmP1HEv6equw="; }; setSourceRoot = '' export sourceRoot=$(pwd)/${finalAttrs.src.name}/hid-xpadneo/src ''; nativeBuildInputs = kernel.moduleBuildDependencies; buildInputs = [ bluez ]; makeFlags = kernelModuleMakeFlags ++ [ "-C" "${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" "M=$(sourceRoot)" "VERSION=${finalAttrs.version}" ]; buildFlags = [ "modules" ]; installFlags = [ "INSTALL_MOD_PATH=${placeholder "out"}" ]; installTargets = [ "modules_install" ]; passthru.tests = { xpadneo = nixosTests.xpadneo; }; passthru.updateScript = nix-update-script { }; meta = with lib; { description = "Advanced Linux driver for Xbox One wireless controllers"; homepage = "https://atar-axis.github.io/xpadneo"; license = licenses.gpl3Only; maintainers = with maintainers; [ kira-bruneau ]; platforms = platforms.linux; }; })