aboutsummaryrefslogtreecommitdiff
path: root/scripts/battery.nix
diff options
context:
space:
mode:
authorAkshay <[email protected]>2021-09-26 16:56:36 +0100
committerAkshay <[email protected]>2021-09-26 16:56:36 +0100
commit5cdb4e421a809de51c3ebe8404e50d732721238b (patch)
tree73b71617c41b3e13edbf26035e821bb884d30441 /scripts/battery.nix
init
Diffstat (limited to 'scripts/battery.nix')
-rw-r--r--scripts/battery.nix60
1 files changed, 60 insertions, 0 deletions
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 @@
1
2{ pkgs, ...}:
3
4let
5 name = "bat";
6in
7 pkgs.writeScriptBin name
8 ''
9 red="\e[31m"
10 grn="\e[32m"
11 ylw="\e[33m"
12 cyn="\e[36m"
13 blu="\e[34m"
14 prp="\e[35m"
15 bprp="\e[35;1m"
16 rst="\e[0m"
17
18 bat_status=""
19 bat_status=$( cat /sys/class/power_supply/BAT0/capacity )
20 charging_status=$( cat /sys/class/power_supply/BAT0/status )
21
22 health() {
23 for i in {0..4}
24 do
25 if [[ $i -le $(( $bat_status/20 )) ]]; then
26 echo -ne "#[fg=colour1]· "
27 else
28 echo -ne "#[fg=colour8]· "
29 fi
30 done
31 echo
32 }
33
34 bat_status_small() {
35 if [[ "$charging_status" = *Charging* ]]; then
36 echo -ne "+$bat_status%"
37 else
38 echo -ne "$bat_status%"
39 fi
40 }
41
42 [ -z "$1" ] && {
43 bat_status_small
44 }
45
46 while getopts qi options
47 do
48 case $options in
49 i)
50 bat_status_small
51 ;;
52 q)
53 if [[ "$charging_status" = *Charging* ]]; then
54 echo -ne "+ $(health)"
55 else
56 health
57 fi
58 esac
59 done
60 ''