add acer-wmi-battery kernel driver
This commit is contained in:
+10
-1
@@ -1,6 +1,6 @@
|
|||||||
{ lib, pkgs, ... }:
|
{ lib, pkgs, ... }:
|
||||||
|
|
||||||
{
|
rec {
|
||||||
# Identity
|
# Identity
|
||||||
networking.hostName = "acer"; # Define your hostname.
|
networking.hostName = "acer"; # Define your hostname.
|
||||||
networking.hostId = "fc9583ce";
|
networking.hostId = "fc9583ce";
|
||||||
@@ -90,6 +90,15 @@
|
|||||||
# For dev vm stuff
|
# For dev vm stuff
|
||||||
networking.firewall.trustedInterfaces = [ "br0" ];
|
networking.firewall.trustedInterfaces = [ "br0" ];
|
||||||
|
|
||||||
|
# Battery driver
|
||||||
|
boot.extraModulePackages = [
|
||||||
|
# Super ugly hack, for some reason it's not included in pkgs.linuxKernel.packages.linux_6_12
|
||||||
|
# Despite being in overlays, something's not working
|
||||||
|
(pkgs.linuxPackages.acer-wmi-battery.override {
|
||||||
|
kernel = boot.kernelPackages.kernel;
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
# This value determines the NixOS release from which the default
|
# This value determines the NixOS release from which the default
|
||||||
# settings for stateful data, like file locations and database versions
|
# settings for stateful data, like file locations and database versions
|
||||||
# on your system were taken. It‘s perfectly fine and recommended to leave
|
# on your system were taken. It‘s perfectly fine and recommended to leave
|
||||||
|
|||||||
@@ -11,4 +11,7 @@ self: super:
|
|||||||
# version = "6.3.1";
|
# version = "6.3.1";
|
||||||
# });
|
# });
|
||||||
# });
|
# });
|
||||||
|
linuxPackages = super.linuxPackages.extend (lpself: lpsuper: {
|
||||||
|
acer-wmi-battery = lpsuper.callPackage ../pkgs/acer-wmi-battery {};
|
||||||
|
});
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,48 @@
|
|||||||
|
# Custom module for Acer WMI features, like battery charge limit
|
||||||
|
{
|
||||||
|
lib,
|
||||||
|
stdenv,
|
||||||
|
fetchFromGitHub,
|
||||||
|
kernel
|
||||||
|
}:
|
||||||
|
|
||||||
|
stdenv.mkDerivation {
|
||||||
|
pname = "acer-wmi-battery";
|
||||||
|
version = "0.0.0";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "frederik-h";
|
||||||
|
repo = "acer-wmi-battery";
|
||||||
|
rev = "0889d3ea54655eaa88de552b334911ce7375952f";
|
||||||
|
sha256 = "sha256-mI6Ob9BmNfwqT3nndWf3jkz8f7tV10odkTnfApsNo+A=";
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [ kernel.moduleBuildDependencies ];
|
||||||
|
|
||||||
|
makeFlags = kernel.makeFlags ++ [
|
||||||
|
"INSTALL_MOD_PATH=$(out)"
|
||||||
|
];
|
||||||
|
|
||||||
|
# Makefile provided in repo is useless, hardcoded paths, overwriting it
|
||||||
|
patchPhase = ''
|
||||||
|
cat > Makefile <<EOF
|
||||||
|
obj-m += acer-wmi-battery.o
|
||||||
|
|
||||||
|
all:
|
||||||
|
$(printf '\t')make -C ${kernel.dev}/lib/modules/${kernel.modDirVersion}/build M=\$(PWD) modules
|
||||||
|
|
||||||
|
modules_install:
|
||||||
|
$(printf '\t')make -C ${kernel.dev}/lib/modules/${kernel.modDirVersion}/build M=\$(PWD) modules_install
|
||||||
|
EOF
|
||||||
|
'';
|
||||||
|
|
||||||
|
buildFlags = [ "all" ];
|
||||||
|
installTargets = [ "modules_install" ];
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "Acer WMI kernel module for battery charge limit";
|
||||||
|
homepage = "https://github.com/frederik-h/acer-wmi-battery";
|
||||||
|
license = lib.licenses.gpl2;
|
||||||
|
platforms = lib.platforms.linux;
|
||||||
|
};
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user