Compare commits

..

No commits in common. "f166ba76d8677b0afce2b65a108603d11934fb64" and "a61a2f79bdd6d93fbdeaa3dbd8fb883d6ae2c8cd" have entirely different histories.

3 changed files with 43 additions and 52 deletions

View File

@ -6,7 +6,6 @@ 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
@ -14,7 +13,6 @@ 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
- Systemd user services and timers: periodic.nix - ZFS pool configuration: hardware-configuration.nix
- Power management: power.nix
All the modules are imported in *configuration.nix* All the modules are imported in *configuration.nix*

View File

@ -32,10 +32,9 @@
# Run Nix garbage collector, while avoiding compiling # Run Nix garbage collector, while avoiding compiling
nix = { nix = {
autoOptimiseStore = true;
gc = { gc = {
automatic = true; automatic = true;
options = "--delete-older-than 7d"; options = "--delete-older-than 14d";
dates = "14:30"; dates = "14:30";
}; };
extraOptions = '' extraOptions = ''
@ -66,6 +65,39 @@
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";
@ -91,9 +123,15 @@
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
@ -102,7 +140,7 @@
./modules/development.nix ./modules/development.nix
./modules/printing.nix ./modules/printing.nix
./modules/periodic.nix ./modules/periodic.nix
./modules/power.nix ./modules/hardware-configuration.nix
]; ];
} }

View File

@ -1,45 +0,0 @@
{ 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;
};
# Disable touchscreen
boot.blacklistedKernelModules = [ "hid_multitouch" ];
}