about summary refs log tree commit diff
path: root/pkgs/profpatsch/display-infos
diff options
context:
space:
mode:
authorProfpatsch <mail@profpatsch.de>2016-10-04 02:54:00 +0200
committerProfpatsch <mail@profpatsch.de>2016-10-04 02:56:19 +0200
commite0abe1dbbda54c1f048b5d38df05e1a3289216a6 (patch)
tree90632cfd9fa638d00ee9bd8a5e3bd19e9be60c2c /pkgs/profpatsch/display-infos
parent0b5beb71d988d4ee39bda95bee947c1c41b3c9df (diff)
pkgs/profpatsch/display-infos: init
A script to display current time & battery.
Diffstat (limited to 'pkgs/profpatsch/display-infos')
-rw-r--r--pkgs/profpatsch/display-infos/default.nix38
1 files changed, 38 insertions, 0 deletions
diff --git a/pkgs/profpatsch/display-infos/default.nix b/pkgs/profpatsch/display-infos/default.nix
new file mode 100644
index 00000000..d213241c
--- /dev/null
+++ b/pkgs/profpatsch/display-infos/default.nix
@@ -0,0 +1,38 @@
+{ lib, runCommand, python3, libnotify }:
+
+let
+  name = "display-infos-0.1.0";
+  script = builtins.toFile (name + "-script") ''
+    #!@python3@
+
+    import sys
+    import glob
+    import subprocess as sub
+    import os.path as path
+    import statistics as st
+
+    full = 0
+    now  = 0
+    for bat in glob.iglob("/sys/class/power_supply/BAT*"):
+        def readint(fn):
+            with open(fn, 'r') as f:
+                return int(f.read())
+
+        full += readint(path.join(bat, "energy_full"))
+        now  += readint(path.join(bat, "energy_now" ))
+
+    bat = round( now/full, 2 )
+    date = sub.run(["date", "+%d.%m. %a %T"], stdout=sub.PIPE).stdout.strip().decode()
+    notify = "BAT: {}% | {}".format(int(bat*100), date)
+    sub.run(["@notify-send@", notify])
+  '';
+
+in
+  with lib; runCommand "display-infos" {
+    meta.description = "Script to display time & battery";
+  } ''
+    substitute ${script} script \
+      --replace "@python3@" "${getBin python3}/bin/python3" \
+      --replace "@notify-send@" "${getBin libnotify}/bin/notify-send"
+    install -D script $out/bin/display-infos
+  ''