Copyright | (c) 2014 Igor Babuschkin Antoine R. Dumont |
---|---|
License | BSD3-style (see LICENSE) |
Maintainer | Antoine R. Dumont <eniotna.t@gmail.com> |
Stability | unstable |
Portability | unportable |
Safe Haskell | None |
Language | Haskell98 |
A thin wrapper around the standard pass(1)
UNIX utility.
This module provides several prompts to ease password manipulation (generate, read, edit, remove); all of them benefit from the completion system provided by XMonad.Prompt. Specifically, we provide
two functions to lookup passwords in the password-store:
passPrompt
copies the password directly to the clipboard.passTypePrompt
usesxdotool
to type the password directly.
passGeneratePrompt
generates a password for a given password label that the user inputs.passEditPrompt
edits a password for a given password label that the user inputs.passRemovePrompt
deletes a stored password for a given password label that the user inputs.
The password store is setup through an environment variable
$PASSWORD_STORE_DIR
, or $HOME/.password-store
if it is unset.
The editor is determined from the environment variable $EDITOR
.
Source:
- The password store implementation is here.
- Inspired by http://babushk.in/posts/combining-xmonad-and-pass.html
Synopsis
- passPrompt :: XPConfig -> X ()
- passTypePrompt :: XPConfig -> X ()
- passEditPrompt :: XPConfig -> X ()
- passRemovePrompt :: XPConfig -> X ()
- passGeneratePrompt :: XPConfig -> X ()
- passGenerateAndCopyPrompt :: XPConfig -> X ()
- passOTPPrompt :: XPConfig -> X ()
Usage
You can use this module with the following in your ~/.xmonad/xmonad.hs
:
import XMonad.Prompt.Pass
Then add a keybinding for passPrompt
, passGeneratePrompt
,
passRemovePrompt
, passEditPrompt
or passTypePrompt
:
, ((modMask , xK_p) , passPrompt def) , ((modMask .|. controlMask, xK_p) , passGeneratePrompt def) , ((modMask .|. shiftMask, xK_p) , passEditPrompt def) , ((modMask .|. controlMask .|. shiftMask, xK_p), passRemovePrompt def)
For detailed instructions on:
- editing your key bindings, see XMonad.Doc.Extending.
- how to setup the password store, see http://git.zx2c4.com/password-store/about/
or
man 1 pass
.
Retrieving passwords
passPrompt :: XPConfig -> X () Source #
A prompt to retrieve a password from a given entry.
passTypePrompt :: XPConfig -> X () Source #
A prompt to type in a password for a given entry. This doesn't touch the clipboard.
Editing passwords
passEditPrompt :: XPConfig -> X () Source #
A prompt to edit a given entry. This doesn't touch the clipboard.
passRemovePrompt :: XPConfig -> X () Source #
A prompt to remove a password for a given entry. (Beware that no confirmation is asked)
passGeneratePrompt :: XPConfig -> X () Source #
A prompt to generate a password for a given entry. This can be used to override an already stored entry. (Beware that no confirmation is asked)
passGenerateAndCopyPrompt :: XPConfig -> X () Source #
A prompt to generate a password for a given entry and immediately copy it to the clipboard. This can be used to override an already stored entry. (Beware that no confirmation is asked)