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