1{
2 lib,
3 stdenv,
4 fetchFromGitHub,
5 kernel,
6 kernelModuleMakeFlags,
7 kmod,
8}:
9
10let
11 kernelDirectory = "${kernel.dev}/lib/modules/${kernel.modDirVersion}/build";
12in
13stdenv.mkDerivation {
14 pname = "zenergy";
15 version = "0-unstable-2025-04-15";
16
17 src = fetchFromGitHub {
18 owner = "BoukeHaarsma23";
19 repo = "zenergy";
20 rev = "f77293fc4aa8c2f5645b2d05d8f0d476220cba9a";
21 hash = "sha256-T9ualNYna2Ip19dqz1mOcFWX5oKWIhf9SGMaXovS8QE=";
22 };
23
24 nativeBuildInputs = [ kmod ] ++ kernel.moduleBuildDependencies;
25
26 hardeningDisable = [
27 "format"
28 "pic"
29 ];
30
31 makeFlags = kernelModuleMakeFlags ++ [ "KDIR=${kernelDirectory}" ];
32
33 installTargets = [ "modules_install" ];
34
35 preBuild = ''
36 substituteInPlace Makefile --replace-fail "PWD modules_install" "PWD INSTALL_MOD_PATH=$out modules_install"
37 '';
38
39 meta = with lib; {
40 description = "Based on AMD_ENERGY driver, but with some jiffies added so non-root users can read it safely";
41 homepage = "https://github.com/BoukeHaarsma23/zenergy";
42 license = licenses.gpl2Only;
43 maintainers = with maintainers; [ wizardlink ];
44 platforms = [ "x86_64-linux" ];
45 };
46}