https://github.com/rjekker/password-store-menu
A better, more complete user interface for password-store
https://github.com/rjekker/password-store-menu
emacs pass password-store
Last synced: 7 months ago
JSON representation
A better, more complete user interface for password-store
- Host: GitHub
- URL: https://github.com/rjekker/password-store-menu
- Owner: rjekker
- License: gpl-3.0
- Created: 2024-08-16T20:35:16.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-01-27T15:03:24.000Z (9 months ago)
- Last Synced: 2025-03-24T09:11:23.967Z (8 months ago)
- Topics: emacs, pass, password-store
- Language: Emacs Lisp
- Homepage:
- Size: 1.52 MB
- Stars: 25
- Watchers: 1
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.org
- License: LICENSE
Awesome Lists containing this project
- awesome-password-store - passwordstore-menu.el - store with friendly user interface. (Interfaces / All other extensions)
README
* Password-store-menu
** A more convenient UI for password-store.el
This emacs package improves on the user interface for password-store.el (see https://www.passwordstore.org/), adding a friendly transient pop-up.
Here's what that looks like:
[[./screenshot.png]]
** Features
The package adds a bunch of useful features, including:
- A minor mode for editing/inserting password files
- Changes to password files are auto-committed to git
- Easy browsing and viewing of entries
- Inserting multi-line passwords
- Generating passwords with arguments (e.g. length, no-symbols)
- Showing password QR code inside emacs in text or image format
- Generating QR Codes for fields as well as secrets
- Grep with support for emacs grep mode
** Features to be added
I have some plans to support the following in the future:
- otp
- multiple password folders
- adding files to the password store
- add command to close all buffers visiting password entries
** QR Code support
On some systems the command-line utility ~qrencode~ is automatically
installed with ~pass~. If ~qrencode~ is in your path, this will be
detected and used.
If you dont have ~qrencode~ or prefer elisp-native encoding, you can
install [[https://github.com/ruediger/qrencode-el/tree/main][qrencode.el]] instead, and that will be used.
** Setup
This package is available through MELPA. You can use "package-install" to install it.
After installing, make sure to "require" the package and call
"password-store-menu-enable", which will install the keybinding for
password-store-menu, and make sure that your password files will be
opened in a special edit mode.
#+begin_src elisp
(require 'password-store-menu)
(setopt
;; Optionally set a custom key, default is C-c p
password-store-menu-key "C-c p"
;; Auto commit can be turned off, default is t
password-store-menu-edit-auto-commit t)
;; Binds the key and enables password-store-menu-edit-mode
(password-store-menu-enable)
#+end_src
** Use-package
With use-package it looks like this:
#+begin_src elisp
(use-package password-store-menu
:ensure t
:config (password-store-menu-enable)
:custom (password-store-menu-key "C-c p"))
#+end_src
** Usage
By default, the password-store popup menu will be bound to the key
=C-c p=. You can configure this (see above).
The following menu items are available:
** Use
| Key | Name | Description |
|--------+-----------------+------------------------------------------------------------------------|
| b | Browse | Open the URL field in a browser and |
| c or p | Copy Secret | Copy the secret into the clipboard |
| f | Copy Field | Select a field from the entry and copy it |
| o | Browse and Copy | Open the URL field in a browser and copy the secret into the clipboard |
| v | View | Open entry in view-mode |
| q | QR Code | View QR code for secret in an Emacs buffer |
** Change
| Key | Name | Description |
|-----+------------------+---------------------------------------------------------------|
| D | Delete | Delete password entry |
| e | Edit | Edit entry by visiting it |
| E | Edit (pass) | Edit entry by calling "pass edit" |
| i | Insert | Insert a new password entry (single line: secret only) |
| I | Insert multiline | Insert a new entry - open a buffer to create a multiline file |
| g | Generate | Generate a new password |
| r | Rename | Rename an entry |
** VC
| Key | Name | Description |
| V= | Diff | Show VC diff |
| Vp | Pull | Pull from VC |
| VP | Push | Push to VC |
** Discover
| Key | Name | Description |
| d | Dired | Open password store folder with dired |
| G | Grep | Search password entries for text patterns |