nyxt
nyxt copied to clipboard
password-manager/password-secret-service: Implement and document
An interface to https://specifications.freedesktop.org/secret-service
Description
Implement a password interface that uses Secret Service: https://specifications.freedesktop.org/secret-service
One can normally use this service without having to provide a master password at each interaction.
Depends on two python packages, and three script files:
- Password entries are retrieved using python package SecretStorage. This package may be provided by your linux distribution. In Ubuntu python3-secretstorage.
- Password entries are written using python package keyring. This package may be provided by your linux distribution. In Ubuntu python3-keyring.
- The three extra command line scripts are documented in the interface lisp file. They may also be retrieved from secret-service-scripts
Fixes # (issue) No issue has currently been created.
Discussion
A current limitation of the interface, is that it does not generate a new password, if the user saves an empty password. The user must use some other facility to generate a new password.
Checklist:
Everything in this checklist is required for each PR. Please do not approve a PR that does not have all of these items.
- [v] Git hygiene:
- I have pulled from master before submitting this PR yes
- There are no merge conflicts. yes
- [v] I've added the new dependencies as:
- ASDF dependencies, yes, in nyxt.asd
- Git submodules,
cd /path/to/nyxt/checkout git submodule add https://gitlab.common-lisp.net/nyxt/py-configparser _build/py-configparser
- and Guix dependencies.
- [v] My code follows the style guidelines for Common Lisp code. See:
- [v] I have performed a self-review of my own code.
- [ ] My code has been reviewed by at least one peer. (The peer review to approve a PR counts. The reviewer must download and test the code.)
- [v] Documentation:
- All my code has docstrings and
:documentation
s written in the aforementioned style. (It's OK to skip the docstring for really trivial parts.) Docstrings are provided by the super class: password.lisp - I have updated the existing documentation to match my changes. yes
- I have commented my code in hard-to-understand areas. yes
- I have updated the
changelog.lisp
with my changes if it's anything user-facing (new features, important bug fix, compatibility breakage). no- Changelog update should be a separate commit.
- I have added a
migration.lisp
entry for all compatibility-breaking changes. It is not compatibility-breaking. - (If this changes something about the features showcased on Nyxt website) I have these changes described in the new/existing article at Nyxt website or will notify one of maintainters to do so.
- All my code has docstrings and
- [ ] Compilation and tests:
- My changes generate no new warnings.
- I have added tests that prove my fix is effective or that my feature works. (If possible.) no
- I ran the tests locally (
(asdf:test-system :nyxt)
and(asdf:test-system :nyxt/gi-gtk)
) and they pass.
I have created issue #3084 for this pull request.
Really cool, thank you for this PR! I'll have to install password secret service to give it a try! :-)
This might be related to #1996.
Not a priority @jmercouris, but it would be nice to have a conclusion on this one at me point.
Yes, just need to install that software...