atlas-engineer / nyxt

Nyxt - the hacker's browser.
https://nyxt-browser.com/
9.91k stars 413 forks source link

In manual, Password management, document how to set up password-store #3079

Open johanwiden opened 1 year ago

johanwiden commented 1 year ago

Is your feature request related to a problem? Please describe. Missing setup documentation for password-store

Describe the solution you'd like Add following to manual section Password management: To configure Password Store interface, you might need to add something like this snippet to your config (this assumes that Password Store keeps passwords in ~/.password-store/, or is defined by environment variable PASSWORD_STORE_DIR):

(define-configuration nyxt/mode/password:password-mode ((nyxt/mode/password:password-interface (make-instance 'password:password-store-interface))))

(define-configuration buffer ((default-modes (append (list 'nyxt/mode/password:password-mode) %slot-value%))))

Describe alternatives you've considered A clear and concise description of any alternative solutions or features you've considered. I had no success with KeePassXC in nyxt: Handling the master password. With Password Store this is a no-brainer, if the user has already set up gpg, and created a default key. I tried to implement a defmethod initialize-instance for password:password-store-interface, but got the following error: The symbol "PASSWORD-DIRECTORY" is not external in the PASSWORD package.

aadcg commented 1 year ago

The symbol "PASSWORD-DIRECTORY" is not external in the PASSWORD package.

If you really need to, you can refer to it as password::password-directory. But, as you can imagine, we design our APIs ensuring that end-users don't need to resource to unexported symbols for their most basic needs.

Honestly, I have never used password-mode so others may have a better overview.

johanwiden commented 1 year ago

Regarding the error message: I only wanted to point out that there is a bug there. When one looks at the class defintions for the two password manager interfaces, it is clear that the declaration of the class variables do not have the same structure in the password-store class, compared to the keepassxc class.

I, and I believe, most users, do not need to create a defmethod initialize-instance for password-store. One can use the default directory, or define the directory path in an environment variable.

On Wed, Jul 12, 2023, 18:40 André A. Gomes @.***> wrote:

The symbol "PASSWORD-DIRECTORY" is not external in the PASSWORD package.

If you really need to, you can refer to it as password::password-directory. But, as you can imagine, we design our APIs ensuring that end-users don't need to resource to unexported symbols for their most basic needs.

Honestly, I have never used password-mode so others may have a better overview.

— Reply to this email directly, view it on GitHub https://github.com/atlas-engineer/nyxt/issues/3079#issuecomment-1632869959, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAOF7OIOCQECKEQYWY3OXYTXP3HQJANCNFSM6AAAAAA2HWKPBY . You are receiving this because you authored the thread.Message ID: @.***>

aadcg commented 1 year ago

@jmercouris do you use password-mode?

jmercouris commented 1 year ago

I do use it, yes, however I didn't need to do any configuration because I am using a different backend I believe.