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