{ config, lib, pkgs, ... }: let this = config.my.system.power; in with lib; { options.my.system.power.enable = mkEnableOption "Power Management"; config = mkIf this.enable { # fan control modules boot.extraModprobeConfig = '' options thinkpad_acpi fan_control=1 experimental=1 ''; # battery optimizations powerManagement.powertop.enable = true; services.upower.enable = true; environment.systemPackages = with pkgs; [ powertop tpacpi-bat ]; }; }