Compare commits
	
		
			3 Commits
		
	
	
		
			a61a2f79bd
			...
			f166ba76d8
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| f166ba76d8 | |||
| 4b57f49353 | |||
| 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*
 | 
			
		||||
 | 
			
		||||
@ -32,9 +32,10 @@
 | 
			
		||||
 | 
			
		||||
  # Run Nix garbage collector, while avoiding compiling
 | 
			
		||||
  nix = {
 | 
			
		||||
    autoOptimiseStore = true;
 | 
			
		||||
    gc = {
 | 
			
		||||
      automatic = true;
 | 
			
		||||
      options = "--delete-older-than 14d";
 | 
			
		||||
      options = "--delete-older-than 7d";
 | 
			
		||||
      dates = "14:30";
 | 
			
		||||
    };
 | 
			
		||||
    extraOptions = ''
 | 
			
		||||
@ -65,39 +66,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 +91,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 +102,7 @@
 | 
			
		||||
    ./modules/development.nix
 | 
			
		||||
    ./modules/printing.nix
 | 
			
		||||
    ./modules/periodic.nix
 | 
			
		||||
    ./modules/hardware-configuration.nix
 | 
			
		||||
    ./modules/power.nix
 | 
			
		||||
  ];
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										45
									
								
								modules/power.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										45
									
								
								modules/power.nix
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,45 @@
 | 
			
		||||
{ 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" ];
 | 
			
		||||
}
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user