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:
|
The configuration is sliced into different files, per category:
|
||||||
|
|
||||||
|
- ZFS pool configuration: hardware-configuration.nix
|
||||||
- Globally installed packages: software.nix
|
- Globally installed packages: software.nix
|
||||||
- Network and VPN configuration: networking.nix
|
- Network and VPN configuration: networking.nix
|
||||||
- Window manager and userland services: gui.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
|
- Sound and music setup: audio.nix
|
||||||
- Development tools: development.nix
|
- Development tools: development.nix
|
||||||
- Printing and scanner client: printing.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*
|
All the modules are imported in *configuration.nix*
|
||||||
|
|
|
@ -65,39 +65,6 @@
|
||||||
time.timeZone = "Europe/Brussels";
|
time.timeZone = "Europe/Brussels";
|
||||||
services.timesyncd.enable = true;
|
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
|
# NixOS version
|
||||||
system.stateVersion = "20.09";
|
system.stateVersion = "20.09";
|
||||||
|
|
||||||
|
@ -123,15 +90,9 @@
|
||||||
dates = "14:00";
|
dates = "14:00";
|
||||||
};
|
};
|
||||||
|
|
||||||
# Suspend to RAM/disk when battery is critical
|
|
||||||
services.upower = {
|
|
||||||
enable = true;
|
|
||||||
percentageAction = 5;
|
|
||||||
criticalPowerAction = "HybridSleep";
|
|
||||||
};
|
|
||||||
|
|
||||||
# Import other configuration modules
|
# Import other configuration modules
|
||||||
imports = [
|
imports = [
|
||||||
|
./modules/hardware-configuration.nix
|
||||||
./modules/software.nix
|
./modules/software.nix
|
||||||
./modules/networking.nix
|
./modules/networking.nix
|
||||||
./modules/gui.nix
|
./modules/gui.nix
|
||||||
|
@ -140,7 +101,7 @@
|
||||||
./modules/development.nix
|
./modules/development.nix
|
||||||
./modules/printing.nix
|
./modules/printing.nix
|
||||||
./modules/periodic.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