Compare commits

...

2 Commits

Author SHA1 Message Date
coolneng 4380aae8c1
Move content of the device module into power 2023-01-19 12:53:03 +01:00
coolneng e9bcb7bfdf
Increase power saving measures 2023-01-19 12:52:49 +01:00
3 changed files with 43 additions and 35 deletions

View File

@ -12,9 +12,12 @@ with pkgs;
"workqueue.power_efficient=y" "workqueue.power_efficient=y"
"nohibernate" "nohibernate"
"ipv6.disable=1" "ipv6.disable=1"
"ahci.mobile_lpm_policy=3"
"pcie_aspm=force"
"nmi_watchdog=0"
]; ];
kernelModules = [ "i915" ]; kernelModules = [ "i915" ];
blacklistedKernelModules = [ "btusb" ]; blacklistedKernelModules = [ "btusb" "bluetooth" ];
supportedFilesystems = [ "zfs" ]; supportedFilesystems = [ "zfs" ];
zfs = { zfs = {
requestEncryptionCredentials = true; requestEncryptionCredentials = true;
@ -167,7 +170,6 @@ with pkgs;
./modules/periodic.nix ./modules/periodic.nix
./modules/power.nix ./modules/power.nix
./modules/monitoring.nix ./modules/monitoring.nix
./modules/device.nix
./overlays/nix-direnv.nix ./overlays/nix-direnv.nix
./overlays/openconnect-sso.nix ./overlays/openconnect-sso.nix
./overlays/cyrus-sasl-oauth2.nix ./overlays/cyrus-sasl-oauth2.nix

View File

@ -1,32 +0,0 @@
{ config, lib, pkgs, ... }:
with pkgs;
{
# HACK Enable internal microphone when headphones are plugged in and add workaround for frequent WiFi disconnects
hardware.firmware = [
(writeTextDir "/lib/firmware/hda-jack-retask.fw" ''
[codec]
0x10ec0293 0x17aa2233 0
[pincfg]
0x12 0x90a60130
0x13 0x40000000
0x14 0x90170110
0x15 0x03211040
0x16 0x21211010
0x18 0x411111f0
0x19 0x21a11010
0x1a 0x40f000f0
0x1b 0x411111f0
0x1d 0x40738105
0x1e 0x411111f0
'')
];
boot.extraModprobeConfig = ''
options snd-hda-intel patch=hda-jack-retask.fw power_save=1
options mac80211 beacon_loss_count=500
options iwlwifi power_save=1
'';
}

View File

@ -12,9 +12,11 @@
}; };
}; };
# Suspend when the battery is critical # Suspend when the battery is critical and autosuspend USB and PCI
services.udev.extraRules = '' services.udev.extraRules = ''
SUBSYSTEM=="power_supply", ATTR{status}=="Discharging", ATTR{model_name}=="01AV405", ATTR{capacity}=="[0-5]", RUN+="${config.systemd.package}/bin/systemctl suspend -i" SUBSYSTEM=="power_supply", ATTR{status}=="Discharging", ATTR{model_name}=="01AV405", ATTR{capacity}=="[0-5]", RUN+="${config.systemd.package}/bin/systemctl suspend -i"
ACTION=="add", SUBSYSTEM=="usb", TEST=="power/control", ATTR{power/control}="auto"
ACTION=="add", SUBSYSTEM=="pci", TEST=="power/control", ATTR{power/control}="auto"
''; '';
# Undervolt CPU and GPU # Undervolt CPU and GPU
@ -26,4 +28,40 @@
# Prevent overheating of the CPU # Prevent overheating of the CPU
services.thermald.enable = true; services.thermald.enable = true;
# Provide power management support to programs
services.upower.enable = true;
# Turn off keyboard backlight when unused
services.tp-auto-kbbl.enable = true;
# HACK Enable internal microphone when headphones are plugged in and add workaround for frequent WiFi disconnects
hardware.firmware = [
(pkgs.writeTextDir "/lib/firmware/hda-jack-retask.fw" ''
[codec]
0x10ec0293 0x17aa2233 0
[pincfg]
0x12 0x90a60130
0x13 0x40000000
0x14 0x90170110
0x15 0x03211040
0x16 0x21211010
0x18 0x411111f0
0x19 0x21a11010
0x1a 0x40f000f0
0x1b 0x411111f0
0x1d 0x40738105
0x1e 0x411111f0
'')
];
# Power saving features for multiple devices
boot.extraModprobeConfig = ''
options snd-hda-intel patch=hda-jack-retask.fw power_save=1
options mac80211 beacon_loss_count=500
options iwlwifi power_save=1 uapsd_disable=0
options iwlmvm power_scheme=3
'';
} }