From 5cdb4e421a809de51c3ebe8404e50d732721238b Mon Sep 17 00:00:00 2001 From: Akshay Date: Sun, 26 Sep 2021 21:26:36 +0530 Subject: init --- scripts/battery.nix | 60 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 scripts/battery.nix (limited to 'scripts/battery.nix') diff --git a/scripts/battery.nix b/scripts/battery.nix new file mode 100644 index 0000000..e75116b --- /dev/null +++ b/scripts/battery.nix @@ -0,0 +1,60 @@ + +{ pkgs, ...}: + +let + name = "bat"; +in + pkgs.writeScriptBin name + '' + red="\e[31m" + grn="\e[32m" + ylw="\e[33m" + cyn="\e[36m" + blu="\e[34m" + prp="\e[35m" + bprp="\e[35;1m" + rst="\e[0m" + + bat_status="" + bat_status=$( cat /sys/class/power_supply/BAT0/capacity ) + charging_status=$( cat /sys/class/power_supply/BAT0/status ) + + health() { + for i in {0..4} + do + if [[ $i -le $(( $bat_status/20 )) ]]; then + echo -ne "#[fg=colour1]· " + else + echo -ne "#[fg=colour8]· " + fi + done + echo + } + + bat_status_small() { + if [[ "$charging_status" = *Charging* ]]; then + echo -ne "+$bat_status%" + else + echo -ne "$bat_status%" + fi + } + + [ -z "$1" ] && { + bat_status_small + } + + while getopts qi options + do + case $options in + i) + bat_status_small + ;; + q) + if [[ "$charging_status" = *Charging* ]]; then + echo -ne "+ $(health)" + else + health + fi + esac + done + '' -- cgit v1.2.3