Something went wrong. Try again.
lol
Something went wrong. Try again.
1.7 kB · 73 lines
Nix
at master
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374{ lib, buildPythonPackage, fetchFromGitHub, gnupg, keyring, pass, poetry-core,}:buildPythonPackage rec { pname = "keyring-pass"; version = "0.9.3";
pyproject = true;
src = fetchFromGitHub { owner = "nazarewk"; repo = "keyring_pass"; tag = "v${version}"; hash = "sha256-EsM+RUhYtelslRpxR5NQbqpOt8KaeCsFqkqZ1ZFx0I0="; };
postPatch = '' substituteInPlace keyring_pass/__init__.py \ --replace-fail 'pass_binary = "pass"' 'pass_binary = "${lib.getExe pass}"' '';
build-system = [ poetry-core ];
nativeCheckInputs = [ keyring gnupg ];
checkPhase = '' export HOME="$TMPDIR"
# generate temporary GPG identity cat <<EOF | gpg --gen-key --batch /dev/stdin %no-protection %transient-key Key-Type: 1 Key-Length: 1024 Subkey-Type: 1 Subkey-Length: 1024 Name-Real: test Name-Email: test@example.com Expire-Date: 1 EOF
# configure password store ${lib.getExe pass} init test@example.com
# Configure `keyring` CLI # first make sure `keyring-pass` is in "$PYTHONPATH" [[ "$PYTHONPATH" == *"$out"/lib/python*/site-packages* ]] export PYTHON_KEYRING_BACKEND="keyring_pass.PasswordStoreBackend"
# confirm set/get/del works keyring set test-service test-username <<<"test-password" test "$(keyring get test-service test-username)" == "test-password" keyring del test-service test-username '';
pythonImportsCheck = [ "keyring_pass" ];
meta = { description = "Password Store (pass) backend for python's keyring"; homepage = "https://github.com/nazarewk/keyring_pass"; license = lib.licenses.mit; maintainers = [ lib.maintainers.nazarewk ]; };}