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