This is an alpha implementation of integration with the 1Password CLI.
- 1Password Subscription
- 1Password CLI
(use-package 1password
:elpaca (1password :host github :repo "justinbarclay/1password.el" :branch "main")
:init
(1password-enable-auth-source)
:custom
((1password-results-formatter . '1password-colour-formatter)))
- [X] auth-source integration for searching by title or id
- [X] Interactive `op items` commands
- [ ] Add support for transient
- [ ] Add list view for 1password entries
It’s important to remember that auth-source’s default behaviour is to cache items for 7200 seconds. So, if you don’t like your secrets sticking around in memory set auth-source-do-source
to nil or auth-source-cache-expiry
to a lower threshold.
This will add a new auth-source backend 1password
that let’s you query for things normally:
(auth-source-search :host "api.github.com")
Or if you want to query only from 1Password
(auth-source-search :type '1password :host "api.github.com")
If you have have multiple entries with the same name/host using the 1Password entry id allows for a more consistent experience. You can use 1password-search-id
command to find the id you’re looking for.
(1password-search-id) ;; => e5bqgijucvosdsfovxq5gglgiu
(auth-source-search :type '1password :host "e5bqgijucvozizovxq5qkulgiu")
- better handle situations where json module isn’t guaranteed
- add support for other 1password commands
- allow reading and editing of 1password documents in Emacs