1{ stdenv
2, buildPythonPackage
3, fetchPypi
4, requests
5, pytz
6, tzlocal
7
8, file
9, acpi
10, coreutils
11, alsaUtils
12, i3
13, procps
14, lm_sensors
15, libnotify
16, xorg
17}:
18
19buildPythonPackage rec {
20 pname = "py3status";
21 version = "3.12";
22 src = fetchPypi {
23 inherit pname version;
24 sha256 = "c9ef49f72c2d83976d2841ab7e70faee3c77f4d7dbb2d3390ef0f0509473ea9a";
25 };
26 doCheck = false;
27 propagatedBuildInputs = [ pytz requests tzlocal ];
28 buildInputs = [ file ];
29 prePatch = ''
30 sed -i -e "s|'file|'${file}/bin/file|" py3status/parse_config.py
31 sed -i -e "s|\[\"acpi\"|\[\"${acpi}/bin/acpi\"|" py3status/modules/battery_level.py
32 sed -i -e "s|notify-send|${libnotify}/bin/notify-send|" py3status/modules/battery_level.py
33 sed -i -e "s|/usr/bin/whoami|${coreutils}/bin/whoami|" py3status/modules/external_script.py
34 sed -i -e "s|'amixer|'${alsaUtils}/bin/amixer|" py3status/modules/volume_status.py
35 sed -i -e "s|'i3-nagbar|'${i3}/bin/i3-nagbar|" py3status/modules/pomodoro.py
36 sed -i -e "s|'free|'${procps}/bin/free|" py3status/modules/sysdata.py
37 sed -i -e "s|'sensors|'${lm_sensors}/bin/sensors|" py3status/modules/sysdata.py
38 sed -i -e "s|'setxkbmap|'${xorg.setxkbmap}/bin/setxkbmap|" py3status/modules/keyboard_layout.py
39 sed -i -e "s|'xset|'${xorg.xset}/bin/xset|" py3status/modules/keyboard_layout.py
40 '';
41
42 meta = with stdenv.lib; {
43 description = "Extensible i3status wrapper";
44 license = licenses.bsd3;
45 homepage = https://github.com/ultrabug/py3status;
46 maintainers = with maintainers; [ garbas ];
47 };
48}