1{
2 stdenv,
3 lib,
4 fetchFromGitHub,
5 kernel,
6}:
7
8stdenv.mkDerivation (finalAttrs: {
9 pname = "xone";
10 version = "0.3-unstable-2024-12-23";
11
12 src = fetchFromGitHub {
13 owner = "dlundqvist";
14 repo = "xone";
15 rev = "6b9d59aed71f6de543c481c33df4705d4a590a31";
16 hash = "sha256-MpxP2cb0KEPKaarjfX/yCbkxIFTwwEwVpTMhFcis+A4=";
17 };
18
19 setSourceRoot = ''
20 export sourceRoot=$(pwd)/${finalAttrs.src.name}
21 '';
22
23 nativeBuildInputs = kernel.moduleBuildDependencies;
24
25 makeFlags = [
26 "-C"
27 "${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
28 "M=$(sourceRoot)"
29 "VERSION=${finalAttrs.version}"
30 ];
31
32 enableParallelBuilding = true;
33 buildFlags = [ "modules" ];
34 installFlags = [ "INSTALL_MOD_PATH=${placeholder "out"}" ];
35 installTargets = [ "modules_install" ];
36
37 meta = with lib; {
38 description = "Linux kernel driver for Xbox One and Xbox Series X|S accessories";
39 homepage = "https://github.com/dlundqvist/xone";
40 license = licenses.gpl2Plus;
41 maintainers = with lib.maintainers; [
42 rhysmdnz
43 fazzi
44 ];
45 platforms = platforms.linux;
46 broken = kernel.kernelOlder "5.11";
47 };
48})