Files
omarchy/install/config/powerprofilesctl-rules.sh
Pierre Olivier Martel f78f5b2c2c Automatically switch power profile when plugged in (balanced) and unplugged (power saver) (#4375)
* Set Power Profiles Rules when plugged in (balanced) and unplugged (power-saver)"

* Check for battery presence before installing power profile rules

* Add battery presence check script and update powerprofilesctl rules

* fix indentation

* Simplify power profile rule creation logic
2026-01-29 17:37:18 +01:00

27 lines
901 B
Bash
Executable File

if omarchy-battery-present; then
mapfile -t profiles < <(omarchy-powerprofiles-list)
if [[ ${#profiles[@]} -gt 0 ]]; then
# Default AC profile:
# 3 profiles → performance
# 2 profiles → balanced
# 1 profile → profiles[0]
ac_profile="${profiles[2]:-${profiles[1]:-${profiles[0]}}}"
# Default Battery profile:
# 3 profiles → balanced
# 2 profiles → balanced
# 1 profile → profiles[0]
battery_profile="${profiles[1]:-${profiles[0]}}"
cat <<EOF | sudo tee "/etc/udev/rules.d/99-power-profile.rules"
SUBSYSTEM=="power_supply", ATTR{type}=="Mains", ATTR{online}=="0", RUN+="/usr/bin/powerprofilesctl set $battery_profile"
SUBSYSTEM=="power_supply", ATTR{type}=="Mains", ATTR{online}=="1", RUN+="/usr/bin/powerprofilesctl set $ac_profile"
EOF
sudo udevadm control --reload
sudo udevadm trigger --subsystem-match=power_supply
fi
fi