hid-fanatecff: Init at 0.2.2 (#434560)

This commit is contained in:
Sandro
2026-02-09 01:23:09 +00:00
committed by GitHub
4 changed files with 78 additions and 0 deletions
+19
View File
@@ -0,0 +1,19 @@
{ lib, config, ... }:
let
cfg = config.hardware.hid-fanatecff;
inherit (config.boot.kernelPackages) hid-fanatecff;
inherit (lib) maintainers mkEnableOption mkIf;
in
{
options.hardware.hid-fanatecff = {
enable = mkEnableOption "hid-fanatecff, a Linux kernel driver that aims to add support for Fanatec devices";
};
config = mkIf cfg.enable {
boot.extraModulePackages = [ hid-fanatecff ];
services.udev.packages = [ hid-fanatecff ];
};
meta.maintainers = with maintainers; [ rake5k ];
}
+1
View File
@@ -74,6 +74,7 @@
./hardware/gpgsmartcards.nix
./hardware/graphics.nix
./hardware/hackrf.nix
./hardware/hid-fanatecff.nix
./hardware/i2c.nix
./hardware/infiniband.nix
./hardware/inputmodule.nix
@@ -0,0 +1,56 @@
{
lib,
stdenv,
fetchFromGitHub,
kernel,
kernelModuleMakeFlags,
bashNonInteractive,
linuxConsoleTools,
nix-update-script,
}:
let
moduleDir = "lib/modules/${kernel.modDirVersion}/kernel/drivers/hid";
in
stdenv.mkDerivation (finalAttrs: {
pname = "hid-fanatecff";
version = "0.2.2";
src = fetchFromGitHub {
owner = "gotzl";
repo = "hid-fanatecff";
tag = finalAttrs.version;
hash = "sha256-aVuTnrxw7zWMZ1U21DUKDvcYlIp7iHJHaX8ijmUd/TE=";
};
nativeBuildInputs = kernel.moduleBuildDependencies;
postPatch = ''
mkdir -p $out/{lib/udev/rules.d,${moduleDir}}
sed -i '/depmod/d' Makefile
substituteInPlace Makefile \
--replace-fail '/etc/udev/rules.d' "$out/lib/udev/rules.d"
substituteInPlace fanatec.rules \
--replace-fail '/usr/bin/evdev-joystick' '${lib.getExe' linuxConsoleTools "evdev-joystick"}' \
--replace-fail '/bin/sh' '${lib.getExe bashNonInteractive}'
'';
makeFlags = kernelModuleMakeFlags ++ [
"KVERSION=${kernel.modDirVersion}"
"KERNEL_SRC=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
"MODULEDIR=$(out)/${moduleDir}"
];
passthru.updateScript = nix-update-script { };
meta = {
description = "Linux module driver for Fanatec driving wheels";
homepage = "https://github.com/gotzl/hid-fanatecff";
license = lib.licenses.gpl2Only;
maintainers = with lib.maintainers; [ rake5k ];
platforms = lib.platforms.linux;
mainProgram = "hid-fanatecff";
};
})
+2
View File
@@ -463,6 +463,8 @@ in
nct6687d = callPackage ../os-specific/linux/nct6687d { };
hid-fanatecff = callPackage ../os-specific/linux/hid-fanatecff { };
new-lg4ff = callPackage ../os-specific/linux/new-lg4ff { };
zenergy = callPackage ../os-specific/linux/zenergy { };