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
|
These are some personal programs that use the
|
||||||
[rofi](https://github.com/davatorium/rofi) interface.
|
[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
|
[Bitwarden](https://bitwarden.com/) is an open-source password management server
|
||||||
and this program functions as a client. Unlike many other similar clients, this
|
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
|
- dbus
|
||||||
- libnotify: desktop notifications
|
- libnotify: desktop notifications
|
||||||
|
|
||||||
## Rofi-Devices
|
## Device Mounting (rofi-dev)
|
||||||
|
|
||||||
This is a manual mounting helper for removable drives, MTP devices, and fstab
|
This is a manual mounting helper for removable drives, MTP devices, and fstab
|
||||||
entries. It will transparently handle mountpoint creation/destruction.
|
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
|
password, specify the `-s` option. This would lookup a password for the entry
|
||||||
whose `username` is `bar` and `hostname` is `example.com`:
|
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
|
``` sh
|
||||||
rofi-dev -s '/media/USER/foo:username=bar,hostname=example.com'
|
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
|
- udisks2: removable drive mounting
|
||||||
- sshfs: mounting network devices in fstab over ssh
|
- sshfs: mounting network devices in fstab over ssh
|
||||||
- cifs-utils: mounting network devices in fstab using CIFS/Samba
|
- cifs-utils: mounting network devices in fstab using CIFS/Samba
|
||||||
|
- veracrypt: to mount veracrypt vaults
|
||||||
- [jmtpfs](https://github.com/JasonFerrara/jmtpfs): mounting MTP devices
|
- [jmtpfs](https://github.com/JasonFerrara/jmtpfs): mounting MTP devices
|
||||||
- libnotify: desktop notifications
|
- libnotify: desktop notifications
|
||||||
- libsecret: password lookup with `secret-tool`
|
- 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