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