Compare commits

..

No commits in common. "4380aae8c1d8ae13cf929311b0af157003881b50" and "9034cd6f3c405bd8eb0ad27ab3d9022e4a688311" have entirely different histories.

3 changed files with 35 additions and 43 deletions

View File

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

32
modules/device.nix Normal file
View File

@ -0,0 +1,32 @@
{ 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,11 +12,9 @@
};
};
# Suspend when the battery is critical and autosuspend USB and PCI
# Suspend when the battery is critical
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"
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
@ -28,40 +26,4 @@
# Prevent overheating of the CPU
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
'';
}