{ lib, config, ... }: with lib; let cfg = config.modules.power-saving; in { options.modules.power-saving = { enable = mkEnableOption "power-saving"; }; config = mkIf cfg.enable { powerManagement.enable = true; services.thermald.enable = true; services.tlp = { enable = true; settings = { CPU_SCALING_GOVERNOR_ON_AC = "performance"; CPU_SCALING_GOVERNOR_ON_BAT = "powersave"; CPU_ENERGY_PERF_POLICY_ON_BAT = "power"; CPU_ENERGY_PERF_POLICY_ON_AC = "performance"; CPU_MIN_PERF_ON_AC = 0; CPU_MAX_PERF_ON_AC = 100; CPU_MIN_PERF_ON_BAT = 0; CPU_MAX_PERF_ON_BAT = 20; }; }; }; }