1{ 2 lib, 3 buildPythonPackage, 4 fetchFromGitHub, 5 gobject-introspection, 6 gtk3, 7 imagemagick, 8 keyring, 9 librsvg, 10 pulseaudio, 11 pytest-asyncio, 12 pytest-lazy-fixture, 13 pytestCheckHook, 14 python-dateutil, 15 qtile, 16 requests, 17 setuptools-scm, 18 xorgserver, 19}: 20 21buildPythonPackage rec { 22 pname = "qtile-extras"; 23 version = "0.31.0"; 24 pyproject = true; 25 26 src = fetchFromGitHub { 27 owner = "elParaguayo"; 28 repo = "qtile-extras"; 29 tag = "v${version}"; 30 hash = "sha256-87xdSw4JKQyb/jpfTUkFDjHvKgPKzu+rKLGeaAzP8NI="; 31 }; 32 33 build-system = [ setuptools-scm ]; 34 35 dependencies = [ gtk3 ]; 36 37 nativeCheckInputs = [ 38 gobject-introspection 39 imagemagick 40 keyring 41 pulseaudio 42 pytest-asyncio 43 pytest-lazy-fixture 44 pytestCheckHook 45 python-dateutil 46 qtile 47 requests 48 xorgserver 49 # stravalib # marked as broken due to https://github.com/stravalib/stravalib/issues/379 50 ]; 51 52 disabledTests = [ 53 # Needs a running DBUS 54 "test_brightness_power_saving" 55 "test_global_menu" 56 "test_mpris2_popup" 57 "test_statusnotifier_menu" 58 # No network connection 59 "test_wifiicon_internet_check" 60 # Image difference is outside tolerance 61 "test_decoration_output" 62 # Needs Github token 63 "test_githubnotifications_reload_token" 64 # AttributeError: 'NoneType' object has no attribute 'theta' 65 "test_image_size_horizontal" 66 "test_image_size_vertical" 67 # flaky, timing sensitive 68 "test_visualiser" 69 ]; 70 71 disabledTestPaths = [ 72 # Needs a running DBUS 73 "test/widget/test_iwd.py" 74 "test/widget/test_upower.py" 75 # Marked as broken due to https://github.com/stravalib/stravalib/issues/379 76 "test/widget/test_strava.py" 77 ]; 78 79 preCheck = '' 80 export HOME=$(mktemp -d) 81 export GDK_PIXBUF_MODULE_FILE=${librsvg}/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache 82 sed -i 's#/usr/bin/sleep#sleep#' test/widget/test_snapcast.py 83 ''; 84 85 pythonImportsCheck = [ "qtile_extras" ]; 86 87 meta = with lib; { 88 description = "Extra modules and widgets for the Qtile tiling window manager"; 89 homepage = "https://github.com/elParaguayo/qtile-extras"; 90 changelog = "https://github.com/elParaguayo/qtile-extras/blob/${src.rev}/CHANGELOG"; 91 license = licenses.mit; 92 maintainers = with maintainers; [ arjan-s ]; 93 }; 94}