- Reorganize directory structure into core/, features/, and themes/ - Colocate application Nix logic, configs, scripts, and theme overrides - Implement 'Inversion of Control' for theming: apps now pull theme-specific layouts - Update flake.nix and shared library paths to match the new structure - Document the new Feature-Centric architecture in README.md
25 lines
799 B
Bash
Executable File
25 lines
799 B
Bash
Executable File
#!/bin/bash
|
|
|
|
# Designed to be run by systemd timer every 30 seconds and alerts if battery is low
|
|
|
|
BATTERY_THRESHOLD=10
|
|
NOTIFICATION_FLAG="/run/user/$UID/nomarchy_battery_notified"
|
|
BATTERY_LEVEL=$(nomarchy-battery-remaining)
|
|
BATTERY_STATE=$(upower -i $(upower -e | grep 'BAT') | grep -E "state" | awk '{print $2}')
|
|
|
|
send_notification() {
|
|
notify-send -u critical " Time to recharge!" "Battery is down to ${1}%" -i battery-caution -t 30000
|
|
nomarchy-hook battery-low "$1"
|
|
}
|
|
|
|
if [[ -n $BATTERY_LEVEL && $BATTERY_LEVEL =~ ^[0-9]+$ ]]; then
|
|
if [[ $BATTERY_STATE == "discharging" ]] && (( BATTERY_LEVEL <= BATTERY_THRESHOLD )); then
|
|
if [[ ! -f $NOTIFICATION_FLAG ]]; then
|
|
send_notification $BATTERY_LEVEL
|
|
touch $NOTIFICATION_FLAG
|
|
fi
|
|
else
|
|
rm -f $NOTIFICATION_FLAG
|
|
fi
|
|
fi
|