From e0abe1dbbda54c1f048b5d38df05e1a3289216a6 Mon Sep 17 00:00:00 2001 From: Profpatsch Date: Tue, 4 Oct 2016 02:54:00 +0200 Subject: pkgs/profpatsch/display-infos: init A script to display current time & battery. --- pkgs/profpatsch/display-infos/default.nix | 38 +++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 pkgs/profpatsch/display-infos/default.nix (limited to 'pkgs/profpatsch/display-infos') 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 + '' -- cgit 1.4.1