add acer-wmi-battery kernel driver
This commit is contained in:
+10
-1
@@ -1,6 +1,6 @@
|
||||
{ lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
rec {
|
||||
# Identity
|
||||
networking.hostName = "acer"; # Define your hostname.
|
||||
networking.hostId = "fc9583ce";
|
||||
@@ -90,6 +90,15 @@
|
||||
# For dev vm stuff
|
||||
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
|
||||
# settings for stateful data, like file locations and database versions
|
||||
# on your system were taken. It‘s perfectly fine and recommended to leave
|
||||
|
||||
@@ -11,4 +11,7 @@ self: super:
|
||||
# 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