some nice programs using the rofi interface
Go to file
Nathan Dwarshuis d66f9ffaa8 ADD pinentry-rofi skeleton 2021-06-25 23:42:29 -04:00
app ADD pinentry-rofi skeleton 2021-06-25 23:42:29 -04:00
lib ADD dbus interface to get a specific password 2021-02-14 13:17:17 -05:00
scripts ADD systemd unit templates 2021-02-14 19:40:08 -05:00
.gitignore init commit 2020-04-23 23:32:29 -04:00
.stylish-haskell.yaml REF update stylish haskell 2021-06-25 23:42:06 -04:00
LICENSE init commit 2020-04-23 23:32:29 -04:00
README.md FIX typo 2020-05-26 15:12:46 -04:00
install_deps ENH don't use rofi-git 2021-06-12 01:35:10 -04:00
package.yaml ADD pinentry-rofi skeleton 2021-06-25 23:42:29 -04:00
stack.yaml init commit 2020-04-23 23:32:29 -04:00
stack.yaml.lock init commit 2020-04-23 23:32:29 -04:00

README.md

rofi-extras

These are some personal programs that use the rofi interface.

Rofi-Bitwarden

Bitwarden is an open-source password management server and this program functions as a client. Unlike many other similar clients, this only presents a simple lookup interface for usernames and passwords in the vault; editing and creating entries is not in the intendend scope.

Usage

This operates in a client/daemon fashion (locally, not with respect to the bitwarden server). The daemon holds the session key and the client presents the interface for username/password lookup.

Make sure bw-cli is properly configured to contact your bitwarden server using bw config server url.of.your.server.

Start the daemon in xinitrc or similar. This will start the deamon with a 60 second timeout for the session key (after which you would need to enter a new password):

rofi-bw -d 60

Then launch the client to browse through the vault.

rofi-bw -c

Any options after -c will be passed to rofi.

Dependencies

Rofi-Devices

This is a manual mounting helper for removable drives, MTP devices, and fstab entries. It will transparently handle mountpoint creation/destruction.

Usage

Launch the device manager:

rofi-dev

Any options after -- will be passed to rofi.

Select a device to mount/unmount it. Asterisks indicate that the device is mounted and that selecting it will unmount it. Removable devices will be mounted at the default for usdisksctl (usually /run/media/USER) and everything else will be mounted in /media/USER unless the -d option is specified (see rofi-dev -h). In the latter case the directory should be owned by the user.

Fstab entries should specify the users mount option (not user) to enable non-root users to mount and unmount. The mountpoint should either be in /media/USER (or whatever is specified by -d) or already exist.

Credentials

For fstab entries, rofi-dev will attempt to obtain a password if no options are supplied in the mount options (eg keyfiles for sshfs or credential files for cifs).

To specifify that /media/USER/foo should use secret-tool to find its password, specify the -s option. This would lookup a password for the entry whose username is bar and hostname is example.com:

rofi-dev -s '/media/USER/foo:username=bar,hostname=example.com'

To simply prompt for a password, use the -p option:

rofi-dev -p '/media/USER/foo'

Dependencies

  • udisks2: removable drive mounting
  • sshfs: mounting network devices in fstab over ssh
  • cifs-utils: mounting network devices in fstab using CIFS/Samba
  • jmtpfs: mounting MTP devices
  • libnotify: desktop notifications
  • libsecret: password lookup with secret-tool