From d5f72ee2fd4c9162b44bd083d28e8a955af117d8 Mon Sep 17 00:00:00 2001 From: Sam Date: Sun, 21 Jul 2024 01:03:28 +0100 Subject: [PATCH] Added dwm scripts for battery-status and notification --- home/common/optional/desktop/dwm/default.nix | 2 ++ .../desktop/dwm/scripts/battery-status.nix | 16 ++++++++++++++++ .../scripts/dunstify-battery-notification.nix | 9 +++++++++ 3 files changed, 27 insertions(+) create mode 100644 home/common/optional/desktop/dwm/scripts/battery-status.nix create mode 100644 home/common/optional/desktop/dwm/scripts/dunstify-battery-notification.nix diff --git a/home/common/optional/desktop/dwm/default.nix b/home/common/optional/desktop/dwm/default.nix index 88996b6..eb87bf8 100644 --- a/home/common/optional/desktop/dwm/default.nix +++ b/home/common/optional/desktop/dwm/default.nix @@ -20,6 +20,7 @@ # Notification scripts ./scripts/dunstify-volume-notification.nix + ./scripts/dunstify-battery-notification.nix # Helper scripts ./scripts/emoji-picker.nix @@ -29,6 +30,7 @@ ./scripts/git-commit-ai.nix ./scripts/aichat-wrapper.nix ./scripts/dmenu-wifi.nix + ./scripts/battery-status.nix ]; home.packages = [ diff --git a/home/common/optional/desktop/dwm/scripts/battery-status.nix b/home/common/optional/desktop/dwm/scripts/battery-status.nix new file mode 100644 index 0000000..4159417 --- /dev/null +++ b/home/common/optional/desktop/dwm/scripts/battery-status.nix @@ -0,0 +1,16 @@ +{ pkgs, ... }: +{ + home.packages = [ + (pkgs.writeShellScriptBin "battery-status" '' + status=$(${pkgs.acpi}/bin/acpi) + bat_name=$(echo "$status" | grep -o -e "^[Aa-Zz]*\s[0-9]:") + bat_status=$(echo $status | grep -o -e "[A-Z][a-z]*," | sed "s/,//") + bat_pct=$(echo $status | grep -o -e "[0-9]*%") + bat_time=$(echo $status | grep -o -e "[0-9]*:[0-9]*:[0-9]* [a-z].*") + power=$(cat /sys/class/power_supply/BAT0/power_now) + power_watts=$(${pkgs.bc}/bin/bc <<< "scale=3; $power / 1000000") + + echo -e "$bat_name ($bat_status)\nCharge: $bat_pct\nTime: $bat_time\nPower consumption: $power_watts W " + '') + ]; +} diff --git a/home/common/optional/desktop/dwm/scripts/dunstify-battery-notification.nix b/home/common/optional/desktop/dwm/scripts/dunstify-battery-notification.nix new file mode 100644 index 0000000..e05f865 --- /dev/null +++ b/home/common/optional/desktop/dwm/scripts/dunstify-battery-notification.nix @@ -0,0 +1,9 @@ +{ pkgs, ... }: +{ + home.packages = [ + (pkgs.writeShellScriptBin "dunstify-battery-notification" '' + msgTag="battery-notify" + ${pkgs.dunst}/bin/dunstify -a "batteryNotify" -u critical -i battery-notify -h string:x-dunst-stack-tag:$msgTag "Battery Status" "$(battery-status)" -t 5000 + '') + ]; +}