{ pkgs, ... }:
{
  home.packages = with pkgs; [
    (writeShellScriptBin "sb-battery" ''
      BAT=/sys/class/power_supply/BAT0/capacity
      
      # Exit script if no battery detected
      [ ! -f "$BAT" ] && exit
      
      STATUS=$(cat /sys/class/power_supply/BAT0/uevent | grep "POWER_SUPPLY_STATUS" | sed "s/^.*=//")
      capacity=$(cat "$BAT")
      
      if [ "$STATUS" == "Charging" ] || [ "$STATUS" == "Not charging" ]; then
        echo "[󰂄 $capacity%] "
      else
        case $capacity in
          100) echo "[󰁹 $capacity%] ";;
          9[0-9]) echo "[󰂂 $capacity%] ";;
          8[0-9]) echo "[󰂁 $capacity%] ";;
          7[0-9]) echo "[󰂀 $capacity%] ";;
          6[0-9]) echo "[󰁿 $capacity%] ";;
          5[0-9]) echo "[󰁾 $capacity%] ";;
          4[0-9]) echo "[󰁽 $capacity%] ";;
          3[0-9]) echo "[󰁼 $capacity%] ";;
          2[0-9]) echo "[󰁻 $capacity%] ";;
          1[0-9]) echo "[󰁺 $capacity%] ";;
          [6-9]) echo "[󰁺 $capacity%] ";;
          [0-5]) echo "[󰂃 $capacity%] ";;
        esac
      fi
      
      if [[ $capacity -le 20 && $STATUS != "Charging" ]]; then
        dunstify-battery-notification
      fi
    '')
  ];
}