Add plugin: Password Store (pass)#863
Conversation
This comment was marked as duplicate.
This comment was marked as duplicate.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
1 similar comment
This comment was marked as duplicate.
This comment was marked as duplicate.
This comment was marked as duplicate.
This comment was marked as duplicate.
This comment was marked as resolved.
This comment was marked as resolved.
|
Do not add the registry file, that one gets updated automatically. |
… false and is NOT needed! (H) Line 1309: The repository field needs to point to the "https://github.com/noctalia-dev/noctalia-plugins" github repository! Signed-off-by: Bojan Arch Jovanovic <bojan@kortechs.io>
Done ✔️ |
spiros132
left a comment
There was a problem hiding this comment.
Some feedback about the PR! :)
| } | ||
|
|
||
| Component.onCompleted: { | ||
| LauncherProviderRegistry.registerPluginProvider(pluginApi.pluginId, _providerComponent, {}); |
There was a problem hiding this comment.
Do not add your launcher provider this way, create an object called LauncherProvider and provide that in the manifest itself. The plugins aren't the ones responsible with registering and unregistering their launcher providers from / to the shell.
There was a problem hiding this comment.
Thank you for the suggestions @spiros132 I tested the implementation and it functions accordingly.
| @@ -0,0 +1,20 @@ | |||
| { | |||
| "id": "pass", | |||
There was a problem hiding this comment.
pass might be a too small name I would say. Maybe password-store, or something similar like that.
|
|
||
| ## Installation | ||
|
|
||
| ### Manual Installation |
There was a problem hiding this comment.
If this is the only subsection in the Installation section, it might confuse users. I would suggest either skip the installation section or add a small part saying that they can just download the plugin from the noctalia settings.
There was a problem hiding this comment.
I did as you said I said install from the plugins page, or clone from the url. I can dumb it down further if you want.
|
Can I make feature requests here? I think it would be nice if this also worked with gopass. |
That's a bunch for the feedback! I will incorporate the changes these days and push back 🙇 |
Not sure about building the entry list, but I think you can just do it with "(go)pass ls". As for implementing this, only a drop-down menu for "gopass" or "pass" would be necessary, as gopass is compatible with pass commands. Not gonna lie, I think that even having a "pass" binary on path which is a symlink to "gopass" would be enough. I'll try that. |
Yep, that was it. And also setting the directory to "/home/YOUR_USER_HERE/.local/share/gopass/stores/root". The issue is that the plugin doesn't seem to be able to detect age-encrypted secrets. I entered one of my folders and found nothing. |
…r and provided that obj in the manifest itself. Also changed to a more meaningful id, not just pass. Also let claude fix the readme :)
@gs-101 There is a line that says: find *.gpg, the age secrets I think are a different extension, I don't use that encryption but if you want feel free to make a change test if it works on your box, and ill merge it in. |
|
Try something like this: |
|
Replacing all the code related to gpg with age did show the entries: But pressing Enter on an entry didn't prompt for a password (to unlock the store). Is that intended (sorry if it is, I haven't looked that much into this)? |
Gotcha! Ok that will be an issue with gpg too in case pinentry need to be opened to provide a password. Ive got them unprotected all locally so I never tested. Ill sort that out and you can test again :) Thanks |
Summary
Adds a launcher provider that integrates with pass (the standard Unix
password manager). Two search prefixes are supported from the
launcher:
password to clipboard
current TOTP code to clipboard
How it works
On init the plugin runs find against $PASSWORD_STORE_DIR (falling back
to ~/.password-store) to build the entry list. Search uses FuzzySort
from qs.Commons — same engine as the app launcher — so ranking is
consistent. Activation calls pass -c or pass otp -c ,
both of which clear the clipboard after 45 seconds per pass defaults.
Wayland clipboard (wl-copy) is handled automatically by pass when
$WAYLAND_DISPLAY is set.
Dependencies
Checklist
author, license, description, tags
launcher provider API)
pass setup
troubleshooting