{ config, lib, ... }: let cfg = config.soispha.power; in { options.soispha.power = { enable = lib.mkEnableOption "power optimizations"; }; config = lib.mkIf cfg.enable { # see this for reference: https://github.com/NixOS/nixpkgs/issues/211345 services = { # conflicts with tlp power-profiles-daemon.enable = false; thermald.enable = true; 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"; SATA_LINKPWR_ON_AC = "max_performance"; SATA_LINKPWR_ON_BAT = "min_power"; }; }; }; }; }