rofi-1p
is a 1password integration with rofi. Its power resides on the ability to scan through all your items no matter the type, allowing you to access not only your username
and password
for every account, but your notes
, identities
, etc. Inspired by rofi-1pass :)
- Secure login (via pinentry)
- Distinct
categories
support:- Logins
- Secure notes
- Credit cards
- Identities
- Passwords
- Scheduled deauthorization process (via at) as seen in the web integration.
2FA
withinrofi-1p
- Open item
url
Currently there’s no package available, so a manual installation is required.
-
Install and
login
to your 1password account following the steps described in their page: Getting started -
Verify you have a
~/.op
folder with aconfig
file like these:# ~/.op/config { "latest_signin": "my", "device": "XXXXXXXXXXXXXXXXXXXXX", "accounts": [ { "shorthand": "my", "url": "https://my.1password.com", "email": "an@email.com", "accountKey": "XX-XXXXXX-XXXXXX-XXXXX-XXXXX-XXXXX-XXXXX", "userUUID": "XXXXXXXXXXXXXXXXXXXXXXXXXX" } ] }
-
Download the source code
git clone https://github.com/jaimecgomezz/rofi-1p.git && cd rofi-1p
-
Symlink
therofi-1p
script to some place accessible by yourPATH
variable# Assuming you download the rofi-1p source code in your root folder: ~/ # Available to your account sudo ln -s ~/rofi-op/rofi-1p /usr/local/bin # Available to every account on your computer sudo ln -s ~/rofi-op/rofi-1p /usr/bin # Adding the folder path to your PATH variable export $PATH="$PATH:~/rofi-1p"
-
Verify you have the required dependencies:
./check # No output means everything ok
-
Run rofi with
rofi-1p
as amodi
rofi -modi 1P:rofi-1p -show 1P
# Comment the following lines:
# DEATHORIZATION-PROCESS
# prevent_previous_timeouts
# set_auth_timeout
The scheduled deauthorization process
emulates the web browser integration (10 minutes). Even if you decide to disable it, the op client will revoke your access every 30 minutes.
Every PR
is welcomed:)
Code released under the MIT license.