Move power management settings to independent file
This commit is contained in:
parent
a61a2f79bd
commit
3699684117
|
@ -6,6 +6,7 @@ Configuration files for my personal machine, powered by [[https://nixos.org/][Ni
|
|||
|
||||
The configuration is sliced into different files, per category:
|
||||
|
||||
- ZFS pool configuration: hardware-configuration.nix
|
||||
- Globally installed packages: software.nix
|
||||
- Network and VPN configuration: networking.nix
|
||||
- Window manager and userland services: gui.nix
|
||||
|
@ -13,6 +14,7 @@ The configuration is sliced into different files, per category:
|
|||
- Sound and music setup: audio.nix
|
||||
- Development tools: development.nix
|
||||
- Printing and scanner client: printing.nix
|
||||
- ZFS pool configuration: hardware-configuration.nix
|
||||
- Systemd user services and timers: periodic.nix
|
||||
- Power management: power.nix
|
||||
|
||||
All the modules are imported in *configuration.nix*
|
||||
|
|
|
@ -65,39 +65,6 @@
|
|||
time.timeZone = "Europe/Brussels";
|
||||
services.timesyncd.enable = true;
|
||||
|
||||
# Enable the TLP daemon
|
||||
services.tlp = {
|
||||
enable = true;
|
||||
settings = {
|
||||
# Use the new CPU frequency scaling governor
|
||||
CPU_SCALING_GOVERNOR_ON_AC = "schedutil";
|
||||
CPU_SCALING_GOVERNOR_ON_BAT = "schedutil";
|
||||
|
||||
# Adjust CPU frequencies accordingly to the power state
|
||||
CPU_SCALING_MIN_FREQ_ON_AC = 800000;
|
||||
CPU_SCALING_MAX_FREQ_ON_AC = 3000000;
|
||||
CPU_SCALING_MIN_FREQ_ON_BAT = 800000;
|
||||
CPU_SCALING_MAX_FREQ_ON_BAT = 2300000;
|
||||
|
||||
# Enable audio power saving for Intel HDA, AC97 devices (timeout in secs).
|
||||
# A value of 0 disables, >=1 enables power saving (recommended: 1).
|
||||
# Default: 0 (AC), 1 (BAT)
|
||||
SOUND_POWER_SAVE_ON_AC = 0;
|
||||
SOUND_POWER_SAVE_ON_BAT = 1;
|
||||
|
||||
# Runtime Power Management for PCI(e) bus devices: on=disable, auto=enable.
|
||||
# Default: on (AC), auto (BAT)
|
||||
RUNTIME_PM_ON_AC = "on";
|
||||
RUNTIME_PM_ON_BAT = "auto";
|
||||
|
||||
# Battery feature drivers: 0=disable, 1=enable
|
||||
# Default: 1 (all)
|
||||
NATACPI_ENABLE = 1;
|
||||
TPACPI_ENABLE = 1;
|
||||
TPSMAPI_ENABLE = 1;
|
||||
};
|
||||
};
|
||||
|
||||
# NixOS version
|
||||
system.stateVersion = "20.09";
|
||||
|
||||
|
@ -123,15 +90,9 @@
|
|||
dates = "14:00";
|
||||
};
|
||||
|
||||
# Suspend to RAM/disk when battery is critical
|
||||
services.upower = {
|
||||
enable = true;
|
||||
percentageAction = 5;
|
||||
criticalPowerAction = "HybridSleep";
|
||||
};
|
||||
|
||||
# Import other configuration modules
|
||||
imports = [
|
||||
./modules/hardware-configuration.nix
|
||||
./modules/software.nix
|
||||
./modules/networking.nix
|
||||
./modules/gui.nix
|
||||
|
@ -140,7 +101,7 @@
|
|||
./modules/development.nix
|
||||
./modules/printing.nix
|
||||
./modules/periodic.nix
|
||||
./modules/hardware-configuration.nix
|
||||
./modules/power.nix
|
||||
];
|
||||
|
||||
}
|
||||
|
|
|
@ -0,0 +1,42 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
# Enable the TLP daemon
|
||||
services.tlp = {
|
||||
enable = true;
|
||||
settings = {
|
||||
# Use the new CPU frequency scaling governor
|
||||
CPU_SCALING_GOVERNOR_ON_AC = "schedutil";
|
||||
CPU_SCALING_GOVERNOR_ON_BAT = "schedutil";
|
||||
|
||||
# Adjust CPU frequencies accordingly to the power state
|
||||
CPU_SCALING_MIN_FREQ_ON_AC = 800000;
|
||||
CPU_SCALING_MAX_FREQ_ON_AC = 3000000;
|
||||
CPU_SCALING_MIN_FREQ_ON_BAT = 800000;
|
||||
CPU_SCALING_MAX_FREQ_ON_BAT = 2300000;
|
||||
|
||||
# Enable audio power saving for Intel HDA, AC97 devices (timeout in secs).
|
||||
# A value of 0 disables, >=1 enables power saving (recommended: 1).
|
||||
# Default: 0 (AC), 1 (BAT)
|
||||
SOUND_POWER_SAVE_ON_AC = 0;
|
||||
SOUND_POWER_SAVE_ON_BAT = 1;
|
||||
|
||||
# Runtime Power Management for PCI(e) bus devices: on=disable, auto=enable.
|
||||
# Default: on (AC), auto (BAT)
|
||||
RUNTIME_PM_ON_AC = "on";
|
||||
RUNTIME_PM_ON_BAT = "auto";
|
||||
|
||||
# Battery feature drivers: 0=disable, 1=enable
|
||||
# Default: 1 (all)
|
||||
NATACPI_ENABLE = 1;
|
||||
TPACPI_ENABLE = 1;
|
||||
TPSMAPI_ENABLE = 1;
|
||||
};
|
||||
};
|
||||
|
||||
# Suspend to RAM/disk when battery is critical
|
||||
services.upower = {
|
||||
enable = true;
|
||||
percentageAction = 5;
|
||||
};
|
||||
}
|
Loading…
Reference in New Issue