92 lines
No EOL
2.5 KiB
Nix
92 lines
No EOL
2.5 KiB
Nix
{ pkgs, ... }: {
|
|
import = [
|
|
./tzupdate.nix
|
|
./hibernation.nix
|
|
];
|
|
powerManagement.powertop.enable = true;
|
|
security = {
|
|
tpm2 = {
|
|
enable = true;
|
|
pkcs11.enable = true;
|
|
tctiEnvironment.enable = true;
|
|
};
|
|
};
|
|
hardware = {
|
|
enableRedistributableFirmware = true; # T480 WiFi firmware fix
|
|
bluetooth = {
|
|
enable = true;
|
|
powerOnBoot = true;
|
|
};
|
|
graphics = {
|
|
enable = true;
|
|
enable32Bit = true;
|
|
extraPackages = with pkgs; [
|
|
intel-media-driver
|
|
intel-compute-runtime
|
|
libva-vdpau-driver
|
|
libvdpau-va-gl
|
|
];
|
|
};
|
|
};
|
|
boot = {
|
|
kernelPackages = pkgs.linuxPackages;
|
|
kernel.sysctl."vm.laptop_mode" = 5;
|
|
initrd.availableKernelModules = [ "thinkpad_acpi" ];
|
|
};
|
|
services = {
|
|
logind.settings.Login = {
|
|
HandleLidSwitch = "suspend";
|
|
HandlePowerKey = "ignore";
|
|
};
|
|
fstrim.enable = true;
|
|
thermald.enable = true;
|
|
throttled.enable = true;
|
|
fwupd.enable = true;
|
|
udev.extraRules = ''
|
|
#ACTION=="add", SUBSYSTEM=="usb", TEST=="power/control", ATTR{power/control}="auto"
|
|
ACTION=="add", SUBSYSTEM=="pci", TEST=="power/control", ATTR{power/control}="auto"
|
|
SUBSYSTEM=="power_supply", ACTION=="change", RUN+="${pkgs.writeShellScript "battery-thresholds" ''
|
|
echo 80 > /sys/class/power_supply/BAT1/charge_control_start_threshold || true
|
|
echo 85 > /sys/class/power_supply/BAT1/charge_control_end_threshold || true
|
|
''}"
|
|
'';
|
|
upower = {
|
|
enable = true;
|
|
percentageCritical = 15;
|
|
percentageAction = 10;
|
|
usePercentageForPolicy = true;
|
|
allowRiskyCriticalPowerAction = true;
|
|
criticalPowerAction = "HybridSleep";
|
|
};
|
|
auto-cpufreq = {
|
|
enable = true;
|
|
settings = {
|
|
charger = {
|
|
governor = "performance";
|
|
energy_performance_preference = "balance_performance";
|
|
turbo = "auto";
|
|
};
|
|
battery = {
|
|
governor = "powersave";
|
|
energy_performance_preference = "balance_power";
|
|
turbo = "never";
|
|
enable_thresholds = "true";
|
|
start_threshold = "80";
|
|
stop_threshold = "85";
|
|
};
|
|
};
|
|
};
|
|
thinkfan = {
|
|
enable = true;
|
|
levels = [
|
|
[ "level auto" 0 55 ]
|
|
[ 3 55 65 ]
|
|
[ 7 65 75 ]
|
|
[ "level full-speed" 75 100 ]
|
|
];
|
|
# sensors = [
|
|
# { type = "hwmon"; query = "/sys/devices/platform/coretemp.0/hwmon"; }
|
|
# ];
|
|
};
|
|
};
|
|
} |