mirror of
https://github.com/ilyakooo0/nixpkgs.git
synced 2024-12-27 22:03:54 +03:00
nixos/xpadneo: init at 0.8.1
I just got an Xbox One controller and I wasn't satisfied with the xpad driver that ships with the Linux kernel xpadneo supports more features and fixes problems with incorrect button mappings https://atar-axis.github.io/xpadneo
This commit is contained in:
parent
6ca121a479
commit
db96d8840f
29
nixos/modules/hardware/xpadneo.nix
Normal file
29
nixos/modules/hardware/xpadneo.nix
Normal file
@ -0,0 +1,29 @@
|
||||
{ config, lib, ... }:
|
||||
|
||||
with lib;
|
||||
let
|
||||
cfg = config.hardware.xpadneo;
|
||||
in
|
||||
{
|
||||
options.hardware.xpadneo = {
|
||||
enable = mkEnableOption "the xpadneo driver for Xbox One wireless controllers";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
boot = {
|
||||
# Must disable Enhanced Retransmission Mode to support bluetooth pairing
|
||||
# https://wiki.archlinux.org/index.php/Gamepad#Connect_Xbox_Wireless_Controller_with_Bluetooth
|
||||
extraModprobeConfig =
|
||||
mkIf
|
||||
config.hardware.bluetooth.enable
|
||||
"options bluetooth disable_ertm=1";
|
||||
|
||||
extraModulePackages = with config.boot.kernelPackages; [ xpadneo ];
|
||||
kernelModules = [ "hid_xpadneo" ];
|
||||
};
|
||||
};
|
||||
|
||||
meta = {
|
||||
maintainers = with maintainers; [ metadark ];
|
||||
};
|
||||
}
|
@ -76,6 +76,7 @@
|
||||
./hardware/video/nvidia.nix
|
||||
./hardware/video/uvcvideo/default.nix
|
||||
./hardware/video/webcam/facetimehd.nix
|
||||
./hardware/xpadneo.nix
|
||||
./i18n/input-method/default.nix
|
||||
./i18n/input-method/fcitx.nix
|
||||
./i18n/input-method/ibus.nix
|
||||
|
37
pkgs/os-specific/linux/xpadneo/default.nix
Normal file
37
pkgs/os-specific/linux/xpadneo/default.nix
Normal file
@ -0,0 +1,37 @@
|
||||
{ stdenv, fetchFromGitHub, kernel, bluez }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "xpadneo";
|
||||
version = "0.8.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "atar-axis";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "0v688j7jx2b68zlwnrr5y63zxzhldygw1lcp8f3irayhcp8ikzzy";
|
||||
};
|
||||
|
||||
setSourceRoot = ''
|
||||
export sourceRoot=$(pwd)/source/hid-xpadneo/src
|
||||
'';
|
||||
|
||||
nativeBuildInputs = kernel.moduleBuildDependencies;
|
||||
buildInputs = [ bluez ];
|
||||
|
||||
makeFlags = [
|
||||
"-C"
|
||||
"${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
|
||||
"M=$(sourceRoot)"
|
||||
];
|
||||
|
||||
buildFlags = [ "modules" ];
|
||||
installFlags = [ "INSTALL_MOD_PATH=${placeholder "out"}" ];
|
||||
installTargets = [ "modules_install" ];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Advanced Linux driver for Xbox One wireless controllers";
|
||||
homepage = "https://atar-axis.github.io/xpadneo";
|
||||
license = licenses.gpl3Plus;
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
@ -17416,6 +17416,8 @@ in
|
||||
|
||||
x86_energy_perf_policy = callPackage ../os-specific/linux/x86_energy_perf_policy { };
|
||||
|
||||
xpadneo = callPackage ../os-specific/linux/xpadneo { };
|
||||
|
||||
zenpower = callPackage ../os-specific/linux/zenpower { };
|
||||
|
||||
inherit (callPackages ../os-specific/linux/zfs {
|
||||
|
Loading…
Reference in New Issue
Block a user