ENH update readme
This commit is contained in:
parent
f84407b793
commit
cd53449266
108
README.md
108
README.md
|
@ -3,7 +3,25 @@
|
|||
These are some personal programs that use the
|
||||
[rofi](https://github.com/davatorium/rofi) interface.
|
||||
|
||||
## Rofi-Bitwarden
|
||||
## Installation
|
||||
|
||||
Clone this repo and run the following in the repo root.
|
||||
|
||||
Install packages needed for building:
|
||||
|
||||
```
|
||||
pacman -S --needed - < make_pkgs
|
||||
```
|
||||
|
||||
Build and install (choose individual targets as needed):
|
||||
|
||||
```
|
||||
stack install
|
||||
```
|
||||
|
||||
See individual sections for other dependencies to install.
|
||||
|
||||
## Bitwarden (rofi-bw)
|
||||
|
||||
[Bitwarden](https://bitwarden.com/) is an open-source password management server
|
||||
and this program functions as a client. Unlike many other similar clients, this
|
||||
|
@ -40,7 +58,7 @@ Any options after `-c` will be passed to rofi.
|
|||
- dbus
|
||||
- libnotify: desktop notifications
|
||||
|
||||
## Rofi-Devices
|
||||
## Device Mounting (rofi-dev)
|
||||
|
||||
This is a manual mounting helper for removable drives, MTP devices, and fstab
|
||||
entries. It will transparently handle mountpoint creation/destruction.
|
||||
|
@ -75,6 +93,19 @@ 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`:
|
||||
|
||||
### Veracrypt
|
||||
|
||||
This tool can mount veracrypt vaults...with some hacky effort. Since veracrypt
|
||||
works at the block device level, it needs root permissions to mount a volume
|
||||
(which actually involves mounting several devices). The easiest way to make sure
|
||||
this works is to give veracrypt sudo access like so:
|
||||
|
||||
```
|
||||
<user> ALL=(root) NOPASSWD: /usr/bin/veracrypt,/usr/bin/uptime
|
||||
```
|
||||
|
||||
No idea why `uptime` is also needed for this.
|
||||
|
||||
``` sh
|
||||
rofi-dev -s '/media/USER/foo:username=bar,hostname=example.com'
|
||||
```
|
||||
|
@ -89,6 +120,79 @@ rofi-dev -p '/media/USER/foo'
|
|||
- udisks2: removable drive mounting
|
||||
- sshfs: mounting network devices in fstab over ssh
|
||||
- cifs-utils: mounting network devices in fstab using CIFS/Samba
|
||||
- veracrypt: to mount veracrypt vaults
|
||||
- [jmtpfs](https://github.com/JasonFerrara/jmtpfs): mounting MTP devices
|
||||
- libnotify: desktop notifications
|
||||
- libsecret: password lookup with `secret-tool`
|
||||
- libnotify
|
||||
|
||||
## Autorandr (rofi-autorandr)
|
||||
|
||||
This allows selection of the
|
||||
[autorandr](https://github.com/phillipberndt/autorandr) configuration via a rofi
|
||||
menu.
|
||||
|
||||
### Dependencies
|
||||
|
||||
- autorandr
|
||||
|
||||
## Bluetooth (rofi-bw)
|
||||
|
||||
This presents a nice menu to select the current bluetooth device.
|
||||
|
||||
### Dependencies
|
||||
|
||||
- bluez (which should provide the dbus interface for this to work)
|
||||
|
||||
## ExpressVPN (rofi-evpn)
|
||||
|
||||
This presents a menu to select the current ExpressVPN gateway.
|
||||
|
||||
### Dependencies
|
||||
|
||||
- expressvpn (from AUR)
|
||||
- libnotify
|
||||
|
||||
## Pinentry (pinentry-rofi)
|
||||
|
||||
Analogous to the default [pinentry](https://github.com/gpg/pinentry) prompts,
|
||||
this presents a rofi prompt for a password with the GPG keyring is unlocked.
|
||||
|
||||
Requires the following in `gpg-agent.conf`:
|
||||
|
||||
```
|
||||
pinentry-program /path/to/pinentry-rofi
|
||||
```
|
||||
|
||||
Unlike the other pinentry programs, this one can integrate with bitwarden (via
|
||||
the above client) by retrieving the password for the gpg keyring if it is stored
|
||||
in bitwarden. This requires a yaml configuration in the gpg home directoring as
|
||||
such:
|
||||
|
||||
```
|
||||
bitwarden-name: <name of GPG bitwarden entry>
|
||||
```
|
||||
|
||||
### Dependencies
|
||||
|
||||
- rofi-bw (see above): bitwarden integration
|
||||
|
||||
## Putting Rofi on the correct screen (current-output)
|
||||
|
||||
This is a total hack...actually it isn't because it's written in Haskell and not
|
||||
bash.
|
||||
|
||||
The problem is that when used with xmonad, rofi doesn't place itself on the
|
||||
"current" workspace since the concept of a "workspace" is weird and specific to
|
||||
xmonad. The solution is to use this program to query `_NET_DESKTOP_VIEWPORT`
|
||||
(which my xmonad config sets) and use this determine the name of the active
|
||||
workspace which can then be fed to rofi using the `-m` flag.
|
||||
|
||||
See comments of this binary for details.
|
||||
|
||||
### Dependencies
|
||||
|
||||
- X11
|
||||
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue