nixos/xpad-noone: init (#389752)
This commit is contained in:
commit
f630533b4a
@ -84,6 +84,8 @@
|
||||
|
||||
- [Yggdrasil-Jumper](https://github.com/one-d-wide/yggdrasil-jumper) is an independent project that aims to transparently reduce latency of a connection over Yggdrasil network, utilizing NAT traversal to automatically bypass intermediary nodes.
|
||||
|
||||
- [xpad-noone](https://github.com/medusalix/xpad-noone) is the original upstream xpad driver from the Linux kernel with support for Xbox One controllers removed, especially useful for people who want to use an XBox One controller under the xone driver and an Xbox 360 controller under the xpad driver at the same time. Available as [hardware.xpad-noone](options.html#hardware.xpad-noone).
|
||||
|
||||
- [uMurmur](https://umurmur.net), minimalistic Mumble server primarily targeted to run on embedded computers. Available as [services.umurmur](options.html#opt-services.umurmur).
|
||||
|
||||
- [Zenoh](https://zenoh.io/), a pub/sub/query protocol with low overhead. The Zenoh router daemon is available as [services.zenohd](options.html#opt-services.zenohd.enable)
|
||||
|
25
nixos/modules/hardware/xpad-noone.nix
Normal file
25
nixos/modules/hardware/xpad-noone.nix
Normal file
@ -0,0 +1,25 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
|
||||
let
|
||||
cfg = config.hardware.xpad-noone;
|
||||
in
|
||||
{
|
||||
options.hardware.xpad-noone = {
|
||||
enable = lib.mkEnableOption "The Xpad driver from the Linux kernel with support for Xbox One controllers removed";
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
boot = {
|
||||
blacklistedKernelModules = [ "xpad" ];
|
||||
extraModulePackages = with config.boot.kernelPackages; [ xpad-noone ];
|
||||
};
|
||||
};
|
||||
|
||||
meta = {
|
||||
maintainers = with lib.maintainers; [ Cryolitia ];
|
||||
};
|
||||
}
|
@ -122,6 +122,7 @@
|
||||
./hardware/wooting.nix
|
||||
./hardware/xone.nix
|
||||
./hardware/xpadneo.nix
|
||||
./hardware/xpad-noone.nix
|
||||
./i18n/input-method/default.nix
|
||||
./i18n/input-method/fcitx5.nix
|
||||
./i18n/input-method/hime.nix
|
||||
|
45
pkgs/os-specific/linux/xpad-noone/default.nix
Normal file
45
pkgs/os-specific/linux/xpad-noone/default.nix
Normal file
@ -0,0 +1,45 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
kernel,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttr: {
|
||||
pname = "xpad-noone";
|
||||
version = "0-unstable-2024-01-10";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "medusalix";
|
||||
repo = finalAttr.pname;
|
||||
rev = "c3d1610";
|
||||
hash = "sha256-jDRyvbU9GsnM1ARTuwnoD7ZXlfBxne13UpSKRo7HHSY=";
|
||||
};
|
||||
|
||||
hardeningDisable = [ "pic" ];
|
||||
|
||||
nativeBuildInputs = kernel.moduleBuildDependencies;
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace Makefile --replace-fail "/lib/modules/\$(shell uname -r)/build" "${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
install *.ko -Dm444 -t $out/lib/modules/${kernel.modDirVersion}/kernel/drivers/xpad-noone
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = {
|
||||
homepage = "https://github.com/medusalix/xpad-noone";
|
||||
description = "Xpad driver from the Linux kernel with support for Xbox One controllers removed";
|
||||
license = with lib.licenses; [
|
||||
gpl2Only
|
||||
];
|
||||
maintainers = with lib.maintainers; [ Cryolitia ];
|
||||
platforms = lib.platforms.linux;
|
||||
broken = kernel.kernelOlder "5.15";
|
||||
};
|
||||
})
|
@ -653,6 +653,8 @@ in {
|
||||
|
||||
tsme-test = callPackage ../os-specific/linux/tsme-test { };
|
||||
|
||||
xpad-noone = callPackage ../os-specific/linux/xpad-noone { };
|
||||
|
||||
} // lib.optionalAttrs config.allowAliases {
|
||||
zfs = throw "linuxPackages.zfs has been removed, use zfs_* instead, or linuxPackages.\${pkgs.zfs.kernelModuleAttribute}"; # added 2025-01-23
|
||||
zfs_2_1 = throw "zfs_2_1 has been removed"; # added 2024-12-25;
|
||||
|
Loading…
Reference in New Issue
Block a user