❄️ Dotfiles and NixOS configurations
1{
2 lib,
3 stdenv,
4 linuxPackages_latest,
5 kernel ? linuxPackages_latest.kernel,
6 patches ? [],
7}:
8stdenv.mkDerivation {
9 pname = "amdgpu-kernel-module";
10 inherit (kernel) src version postPatch nativeBuildInputs;
11
12 patches = kernel.patches ++ patches;
13
14 kernel_dev = kernel.dev;
15 kernelVersion = kernel.modDirVersion;
16
17 modulePath = "drivers/gpu/drm/amd/amdgpu";
18
19 buildPhase = ''
20 BUILT_KERNEL=$kernel_dev/lib/modules/$kernelVersion/build
21
22 cp $BUILT_KERNEL/Module.symvers .
23 cp $BUILT_KERNEL/.config .
24 cp $kernel_dev/vmlinux .
25
26 make "-j$NIX_BUILD_CORES" modules_prepare
27 make "-j$NIX_BUILD_CORES" M=$modulePath modules
28 '';
29
30 installPhase = ''
31 make \
32 INSTALL_MOD_PATH="$out" \
33 XZ="xz -T$NIX_BUILD_CORES" \
34 M="$modulePath" \
35 modules_install
36 '';
37
38 meta = {
39 description = "amdgpu kernel module";
40 license = lib.licenses.gpl3;
41 };
42}