Copyright (c) 2014 Igor Babuschkin Antoine R. Dumont BSD3-style (see LICENSE) Antoine R. Dumont unstable unportable Safe-Inferred Haskell2010

Description

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 uses xdotool 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:

Synopsis

# 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)

You can also use the versions that let you specify a custom prompt:

  , ((modMask , xK_p)                              , passPrompt' "Ask 'pass' for" def)

Note that, by default, we do not use fuzzy matching in this module. To enable this feature, import the XMonad.Prompt.FuzzyMatch module and add the relevant functions to your prompt configuration:

myXPConfig :: XPConfig
myXPConfig = def
{ searchPredicate = fuzzyMatch
, sorter          = fuzzySort
}

, ((modMask , xK_p), passPrompt myXPConfig)

For detailed instructions on:

A prompt to retrieve a password from a given entry.

The same as passPrompt but with a user-specified prompt.

A prompt to type in a password for a given entry. This doesn't touch the clipboard.

A prompt to edit a given entry. This doesn't touch the clipboard.

The same as passEditPrompt but with a user-specified prompt.

A prompt to remove a password for a given entry. (Beware that no confirmation is asked)

The same as passRemovePrompt but with a user-specified prompt.

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)

The same as passGeneratePrompt but with a user-specified prompt.

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)

The same as passGenerateAndCopyPrompt but with a user-specified prompt.

# Misc

A prompt to retrieve a OTP from a given entry. Note that you will need to use the pass-otp extension for this to work.