1{
2 lib,
3 stdenv,
4 fetchFromGitLab,
5 kernel,
6 kernelModuleMakeFlags,
7 kmod,
8 pahole,
9 gitUpdater,
10}:
11
12stdenv.mkDerivation (finalAttrs: {
13 pname = "tuxedo-drivers-${kernel.version}";
14 version = "4.14.0";
15
16 src = fetchFromGitLab {
17 group = "tuxedocomputers";
18 owner = "development/packages";
19 repo = "tuxedo-drivers";
20 rev = "v${finalAttrs.version}";
21 hash = "sha256-79YZaK8WrHOxSUJWxi4lc+foh4xz3EgRnjw+OrL8yqU=";
22 };
23
24 buildInputs = [ pahole ];
25 nativeBuildInputs = [ kmod ] ++ kernel.moduleBuildDependencies;
26
27 makeFlags = kernelModuleMakeFlags ++ [
28 "KERNELRELEASE=${kernel.modDirVersion}"
29 "KDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
30 "INSTALL_MOD_PATH=${placeholder "out"}"
31 ];
32
33 passthru.updateScript = gitUpdater {
34 rev-prefix = "v";
35 };
36
37 meta = {
38 broken = stdenv.hostPlatform.isAarch64 || (lib.versionOlder kernel.version "5.5");
39 description = "Keyboard and hardware I/O driver for TUXEDO Computers laptops";
40 homepage = "https://gitlab.com/tuxedocomputers/development/packages/tuxedo-drivers";
41 license = lib.licenses.gpl2Plus;
42 longDescription = ''
43 Drivers for several platform devices for TUXEDO notebooks:
44 - Driver for Fn-keys
45 - SysFS control of brightness/color/mode for most TUXEDO keyboards
46 - Hardware I/O driver for TUXEDO Control Center
47
48 Can be used with the "hardware.tuxedo-drivers" NixOS module.
49 '';
50 maintainers = with lib.maintainers; [
51 aprl
52 blanky0230
53 keksgesicht
54 xaverdh
55 XBagon
56 ];
57 platforms = lib.platforms.linux;
58 };
59})