{ config, lib, ... }: let feature = "tlp"; in { config = lib.mkIf config.${feature}.enable { # Disable if devices take long to unsuspend (keyboard, mouse, etc) powerManagement.powertop.enable = true; services = { power-profiles-daemon.enable = false; tlp = { enable = true; settings = { CPU_BOOST_ON_AC = 1; CPU_BOOST_ON_BAT = 0; CPU_SCALING_GOVERNOR_ON_AC = "performance"; CPU_SCALING_GOVERNOR_ON_BAT = "powersave"; STOP_CHARGE_THRESH_BAT0 = 95; }; }; }; }; imports = [ ]; options.${feature}.enable = lib.mkEnableOption "enables ${feature}"; }