{ lib, python3Packages, fetchFromGitHub, callPackage}: with python3Packages; let pykeepass-cache = buildPythonPackage { pname = "pykeepass-cache"; version = "2.0.2"; propagatedBuildInputs = [ pykeepass rpyc python-daemon ]; doCheck = false; src = fetchFromGitHub { owner = "libkeepass"; repo = "pykeepass_cache"; rev = "8ccd94e"; hash = "sha256-2QbbjC/GyBHMCEEZOJimPe+MZpHr5Hs1QzHhXS8Hn0k="; }; pythonImportsCheck = [ "pykeepass_cache" ]; meta = with lib; { homepage = "https://github.com/libkeepass/pykeepass_cache/tree/master"; description = "database caching for PyKeePass"; license = licenses.gpl3Only; maintainers = [{ email = "ember@corviform.gay"; github = "Alch-Emi"; githubId = 38897201; name = "Ember Hearth"; }]; }; }; in buildPythonApplication rec { pname = "passhole"; version = "1.10.0"; propagatedBuildInputs = [ pynput pykeepass pykeepass-cache colorama future pyotp qrcode ]; src = fetchFromGitHub { owner = "Evidlo"; repo = "passhole"; rev = "v${version}"; hash = "sha256-SupFNFSgewpXogtZwfg1EvyLiLzE68CoJITWSG9NcwQ="; }; pythonImportsCheck = [ "passhole" ]; meta = with lib; { homepage = "https://github.com/Evidlo/passhole"; description = "CLI KeePass client with dmenu support"; license = licenses.gpl3Only; maintainers = [{ email = "ember@corviform.gay"; github = "Alch-Emi"; githubId = 38897201; name = "Ember Hearth"; }]; }; }