chore: Add hid-fanatecff pkg
This commit is contained in:
parent
894eed214b
commit
fe9b420f30
2 changed files with 112 additions and 49 deletions
57
pkgs/hid-fanatecff.nix
Normal file
57
pkgs/hid-fanatecff.nix
Normal file
|
@ -0,0 +1,57 @@
|
|||
{ stdenv
|
||||
, pkgs
|
||||
, lib
|
||||
, fetchFromGitHub
|
||||
, kmod
|
||||
, kernelPackages
|
||||
, breakpointHook
|
||||
,
|
||||
}:
|
||||
let
|
||||
kernel = kernelPackages.kernel;
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
name = "hid-fanatecff-${version}-${kernel.version}";
|
||||
version = "0.1.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "gotzl";
|
||||
repo = "hid-fanatecff";
|
||||
rev = version;
|
||||
sha256 = "sha256-twDbjX0p/A18L2x7eS2hyneuQq7rLMxTBT/GfTdweAE=";
|
||||
};
|
||||
|
||||
sourceRoot = "source";
|
||||
hardeningDisable = [ "pic" "format" ];
|
||||
nativeBuildInputs =
|
||||
kernel.moduleBuildDependencies
|
||||
++ [
|
||||
pkgs.linuxConsoleTools
|
||||
];
|
||||
|
||||
makeFlags = [
|
||||
"KVERSION=${kernel.modDirVersion}"
|
||||
"KDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
|
||||
"MODULEDIR=$(out)/lib/modules/${kernel.modDirVersion}"
|
||||
];
|
||||
|
||||
preInstallPhase = ''
|
||||
sed -i '/fanatec.rules/d' Makefile
|
||||
sed -i '/depmod/d' Makefile
|
||||
mkdir -p $out/lib/modules/${kernel.modDirVersion}
|
||||
'';
|
||||
postPhase = ''
|
||||
substituteInPlace fanatec.rules --replace /usr/bin/evdev-joystick ${pkgs.linuxConsoleTools}/bin/evdev-joystick
|
||||
mkdir -p $out/lib/udev/rules.d
|
||||
cp fanatec.rules $out/lib/udev/rules.d/99-fanatec.rules
|
||||
'';
|
||||
preInstallPhases = [ "preInstallPhase" ];
|
||||
postPhases = [ "postPhase" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "A kernel module that provides support for fanatec wheels and pedals";
|
||||
homepage = "https://github.com/gotzl/hid-fanatecff";
|
||||
license = licenses.gpl2;
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
|
@ -27,7 +27,11 @@
|
|||
./disko.nix
|
||||
];
|
||||
|
||||
config = {
|
||||
config =
|
||||
let
|
||||
hid-fanatecff = pkgs.callPackage ../../pkgs/hid-fanatecff.nix { kernelPackages = config.boot.kernelPackages; };
|
||||
in
|
||||
{
|
||||
system.stateVersion = "23.05";
|
||||
|
||||
nix.settings.system-features = [
|
||||
|
@ -36,10 +40,11 @@
|
|||
"kvm"
|
||||
"nixos-test"
|
||||
"gccarch-x86-64-v3"
|
||||
"gccarch-znver2"
|
||||
"gccarch-znver3"
|
||||
];
|
||||
boot = {
|
||||
kernelPackages = pkgs.pkgsx86_64_v3.linuxPackages_cachyos;
|
||||
# extraModulePackages = [ hid-fanatecff ];
|
||||
loader = {
|
||||
systemd-boot = {
|
||||
enable = lib.mkForce false; #lanzaboote
|
||||
|
@ -61,18 +66,19 @@
|
|||
kernelModules = [ ];
|
||||
systemd.enable = true;
|
||||
};
|
||||
|
||||
extraModulePackages = [ ];
|
||||
};
|
||||
|
||||
programs.fuse.userAllowOther = true;
|
||||
environment.systemPackages = with pkgs; [
|
||||
lm_sensors
|
||||
sshfs
|
||||
coreutils-full
|
||||
cpu-x
|
||||
sbctl # secureboot debugging/config/mgmt
|
||||
];
|
||||
|
||||
services.btrfs.autoScrub.enable = true;
|
||||
# services.udev.packages = [ hid-fanatecff ];
|
||||
|
||||
networking = {
|
||||
hostName = "nixos-desk";
|
||||
|
|
Loading…
Add table
Reference in a new issue