{"id":13649730,"url":"https://github.com/jle64/gnome-pass-search-provider","last_synced_at":"2025-04-22T15:30:41.496Z","repository":{"id":46742327,"uuid":"84943602","full_name":"jle64/gnome-pass-search-provider","owner":"jle64","description":"Pass password manager search provider for gnome-shell","archived":false,"fork":false,"pushed_at":"2024-03-03T10:56:51.000Z","size":18329,"stargazers_count":82,"open_issues_count":1,"forks_count":15,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-08-02T02:02:21.480Z","etag":null,"topics":["bitwarden","gnome","gnome-shell","gnome-shell-extension","pass","password-manager","password-store","passwordstore","vaultwarden"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jle64.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2017-03-14T11:55:06.000Z","updated_at":"2024-07-19T06:40:56.000Z","dependencies_parsed_at":"2024-01-14T12:17:36.613Z","dependency_job_id":"e9571950-6ea3-46e9-867f-452dc09d209c","html_url":"https://github.com/jle64/gnome-pass-search-provider","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jle64%2Fgnome-pass-search-provider","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jle64%2Fgnome-pass-search-provider/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jle64%2Fgnome-pass-search-provider/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jle64%2Fgnome-pass-search-provider/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jle64","download_url":"https://codeload.github.com/jle64/gnome-pass-search-provider/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223900372,"owners_count":17222028,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bitwarden","gnome","gnome-shell","gnome-shell-extension","pass","password-manager","password-store","passwordstore","vaultwarden"],"created_at":"2024-08-02T02:00:23.689Z","updated_at":"2024-11-10T00:31:40.998Z","avatar_url":"https://github.com/jle64.png","language":"Python","funding_links":[],"categories":["Interfaces","Python"],"sub_categories":["All other extensions"],"readme":"A search provider for GNOME Shell that adds support for searching in:\n\n* zx2c4/[pass](https://www.passwordstore.org/)\n* compatible alternatives such as [gopass](https://www.gopass.pw/)\n* or the [rbw](https://github.com/doy/rbw) Bitwarden/Vaultwarden client\n\nNames of entries will show up in GNOME Shell searches, choosing one will copy the corresponding content to the clipboard.\n\nSupports:\n\n* using the [GPaste](https://github.com/Keruspe/GPaste) clipboard manager\n* OTP with the [pass-otp](https://github.com/tadfisher/pass-otp) extension\n* fields (cf below for syntax)\n\n![Sreencapture](misc/screencapture.gif)\n\n# Installation\n[![Packaging status](https://repology.org/badge/vertical-allrepos/gnome-pass-search-provider.svg)](https://repology.org/project/gnome-pass-search-provider/versions)\n\n## Arch Linux\nInstall `gnome-pass-search-provider-git` from the AUR.\n\n## Debian, Ubuntu and derivatives\nIf a package is available for your distribution version (see above for packaging status), just install `gnome-pass-search-provider` through APT:\n\n```\napt install gnome-pass-search-provider\n```\n\n## Fedora\n\n[![Copr build status](https://copr.fedorainfracloud.org/coprs/jle64/gnome-pass-search-provider/package/gnome-pass-search-provider/status_image/last_build.png)](https://copr.fedorainfracloud.org/coprs/jle64/gnome-pass-search-provider/package/gnome-pass-search-provider/)\n\nEnable the copr repo and install the package with DNF:\n\n```\ndnf copr enable jle64/gnome-pass-search-provider\ndnf install gnome-pass-search-provider\n```\n\n## Manual\n\nEnsure that python\u003e=3.7 as well as the dbus, gobject and thefuzz (formerly fuzzywuzzy, might still be packaged under that name in your distribution) Python modules are installed. They should all be packaged under python-name or python3-name depending on your distribution.\n\nClone this repository and run the installation script as root:\n```\ngit clone https://github.com/jle64/gnome-pass-search-provider.git\ncd gnome-pass-search-provider\nsudo ./install.sh\n```\n\n# Post-installation\n\nLog out and reopen your GNOME session.\n\nThe search provider will be loaded automatically when doing a search.\n\nYou should see it enabled in GNOME Settings, in the Search pane. This is also where you can move it up or down in the list of results relatively to other search providers.\n\n# Advanced usage\n\n## OTP\n\nThe [pass-otp](https://github.com/tadfisher/pass-otp) extension is supported. Searches starting with `otp` will copy the otp token to the clipboard.\n\n## Fields\n\nTo copy other values than the password in the first line from a pass file, start the search with `:NAME search...`. The field name must be a full but case insensitive match. This requires `GPaste`.\n\nFor example with a pass file like:\n```\nSUPERSECRETPASSWORD\nuser: username\npin: 123456\n```\n\nTo copy the pin start the search with `:pin` and for the username with `:user`.\n\n## Disabling notifications\n\nSet the `DISABLE_NOTIFICATIONS` environment variable to `True`.\n\n# Alternative password providers\n\n## Gopass and other pass-compatible tools\n\nIf you want to use [gopass](https://www.gopass.pw/) or another `pass` compatible tool instead of `pass`, you need to set the proper environment variables to point to the executable and password store directory to use.\n\nFor example, on a systemd-based OS, you can run `systemctl --user edit org.gnome.Pass.SearchProvider.service` and add in the file:\n\n```\n[Service]\nEnvironment=PASSWORD_EXECUTABLE=gopass\nEnvironment=PASSWORD_STORE_DIR=/home/jonathan/.local/share/gopass/stores/root\n```\n(be careful not leave a trailing \"/\" at the end of the `PASSWORD_STORE_DIR` path)\n\nThen save and restart the service with `systemctl --user restart org.gnome.Pass.SearchProvider.service`.\n\nOn other systems, you might want to use `~/.profile` or another mechanism to set these environment variables.\n\n## Bitwarden/Vaultwarden\n\nTo search in Bitwarden/Vaultwarden instead of `pass`, you will need to setup [rbw](https://github.com/doy/rbw). You'll also need to install `wl-clipboard` or another clipboard utility (such as `xclip`), unless you use GPaste.\n\nYou need to set the proper environment variables to point to the executables and specify to operate in Bitwarden mode.\n\nFor example, on a systemd-based OS, you can run `systemctl --user edit org.gnome.Pass.SearchProvider.service` and add in the file:\n\n```\n[Service]\nEnvironment=PASSWORD_EXECUTABLE=rbw\nEnvironment=PASSWORD_MODE=bw\nEnvironment=CLIPBOARD_EXECUTABLE=wl-copy\n```\nThen save and restart the service with `systemctl --user restart org.gnome.Pass.SearchProvider.service`.\n\nOn other systems, you might want to use `~/.profile` or another mechanism to set these environment variables.\n\n# Clipboard managers\n\nBy default, passwords are sent to the clipboard using `pass -c`, which defaults to expiration after 45 seconds.\n\nIf [GPaste](https://github.com/Keruspe/GPaste) is installed, passwords be sent to it marked as passwords through its API, thus ensuring they are not visible in the UI.\n\n# Compatibility\n\nThis implements the `org.gnome.Shell.SearchProvider2` D-Bus API and has been tested with GNOME Shell 3.22 to 42. This uses the `org.gnome.GPaste1` or `org.gnome.GPaste2` versions of the GPaste D-Bus API to add passwords to GPaste.\n\n# Troubleshooting\n\n## Environment variables have no effect\n\nIf you are configuring `pass` using environment variables, such as `PASSWORD_STORE_DIR`, make sure to set them in a way that will propagate to the search provider executable, not just in your shell.\n\nOn systemd-based OSes, you can directly set them in `~/.config/environment.d/*.conf` (see `man environment.d`). On other systems, setting them in `~/.profile` should be sufficient, but keep in mind that some shell-specific files such as `~/.bashrc` might be only loaded in non-login interactive shells and will thus not propagate to the script.\n\nIf your values have no effect, make sure they propagate to the script environment. You can check this by displaying the process environment with `ps` and looking for your values here:\n```\nps auxeww | grep [g]nome-pass-search-provider.py\n```\n\n## Passphrase is not requested to unlock store\n\nIf you don't see passphrase prompts when your key is locked, it might be because GPG is not using the right pinentry program. You can force gpg-agent to use pinentry-gnome3 by adding `pinentry-program /usr/bin/pinentry-gnome3` to `~/.gnupg/gpg-agent.conf`.\n\n## Other problems\n\nIf you encounter problems, make sure to look in the logs of GNOME and D-Bus. On systems that use systemd, you can do this using `journalctl --user`.\n\nDon't hesitate to open an issue.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjle64%2Fgnome-pass-search-provider","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjle64%2Fgnome-pass-search-provider","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjle64%2Fgnome-pass-search-provider/lists"}