{ lib, dbus, fetchFromGitHub, python3, }: python3.pkgs.buildPythonApplication rec { pname = "autosuspend"; version = "9.0.0"; pyproject = true; disabled = python3.pythonOlder "3.11"; src = fetchFromGitHub { owner = "languitar"; repo = "autosuspend"; tag = "v${version}"; hash = "sha256-JOH4QzoiLR1Pp/RVz0nrLxjQw92pDxXTu414jbpCMqk="; }; build-system = with python3.pkgs; [ setuptools ]; dependencies = with python3.pkgs; [ dbus-python icalendar jsonpath-ng lxml mpd2 portalocker psutil python-dateutil requests requests-file tzdata tzlocal ]; nativeCheckInputs = with python3.pkgs; [ dbus freezegun pytest-cov-stub pytest-datadir pytest-httpserver pytest-mock pytestCheckHook python-dbusmock ]; # Disable tests that need root disabledTests = [ "test_smoke" "test_multiple_sessions" ]; meta = { description = "Daemon to automatically suspend and wake up a system"; homepage = "https://autosuspend.readthedocs.io"; changelog = "https://github.com/languitar/autosuspend/releases/tag/${src.tag}"; license = lib.licenses.gpl2Only; maintainers = with lib.maintainers; [ bzizou anthonyroussel ]; mainProgram = "autosuspend"; platforms = lib.platforms.linux; }; }