diff --git a/pkgs/os-specific/linux/xone/default.nix b/pkgs/os-specific/linux/xone/default.nix new file mode 100644 index 00000000000..f04ccc569df --- /dev/null +++ b/pkgs/os-specific/linux/xone/default.nix @@ -0,0 +1,39 @@ +{ stdenv, lib, fetchFromGitHub, kernel, fetchurl }: + +stdenv.mkDerivation rec { + name = "xone-${version}-${kernel.version}"; + version = "0.2"; + + src = fetchFromGitHub { + owner = "medusalix"; + repo = "xone"; + rev = "v${version}"; + sha256 = "sha256-m4305Xl5w4nyAVqubjwWsiyPDVtfGykjlSW2eKEytVk="; + }; + + setSourceRoot = '' + export sourceRoot=$(pwd)/source + ''; + + nativeBuildInputs = kernel.moduleBuildDependencies; + + makeFlags = [ + "-C" + "${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" + "M=$(sourceRoot)" + "VERSION=${version}" + ]; + + buildFlags = [ "modules" ]; + installFlags = [ "INSTALL_MOD_PATH=${placeholder "out"}" ]; + installTargets = [ "modules_install" ]; + + meta = with lib; { + description = "Linux kernel driver for Xbox One and Xbox Series X|S accessories"; + homepage = "https://github.com/medusalix/xone"; + license = licenses.gpl2; + maintainers = with lib.maintainers; [ rhysmdnz ]; + platforms = platforms.linux; + }; +} + diff --git a/pkgs/top-level/linux-kernels.nix b/pkgs/top-level/linux-kernels.nix index d9a96164c6a..5ce446b5a5e 100644 --- a/pkgs/top-level/linux-kernels.nix +++ b/pkgs/top-level/linux-kernels.nix @@ -460,6 +460,8 @@ in { xmm7360-pci = callPackage ../os-specific/linux/xmm7360-pci { }; + xone = callPackage ../os-specific/linux/xone { }; + xpadneo = callPackage ../os-specific/linux/xpadneo { }; zenpower = callPackage ../os-specific/linux/zenpower { };