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