added passwurrd - passmenu clone
This commit is contained in:
parent
b32de22855
commit
9adec53b26
2 changed files with 41 additions and 0 deletions
13
passwurrd/passwurrd.nimble
Normal file
13
passwurrd/passwurrd.nimble
Normal file
|
@ -0,0 +1,13 @@
|
|||
# Package
|
||||
|
||||
version = "0.1.0"
|
||||
author = "Paul Wilde"
|
||||
description = "A new awesome nimble package"
|
||||
license = "MIT"
|
||||
srcDir = "src"
|
||||
bin = @["passwurrd"]
|
||||
|
||||
|
||||
# Dependencies
|
||||
|
||||
requires "nim >= 1.6.6"
|
28
passwurrd/src/passwurrd.nim
Normal file
28
passwurrd/src/passwurrd.nim
Normal file
|
@ -0,0 +1,28 @@
|
|||
import ../../globurrl.nim
|
||||
import std/[os,osproc,re,strutils]
|
||||
|
||||
const pw_store = getHomeDir() & ".password-store/"
|
||||
var passwords: seq[string] = @[]
|
||||
let gpg_re = re("(" & pw_store & "|\\.gpg)")
|
||||
proc getPasswords(): seq[string] =
|
||||
for dir in walkDir(pw_store):
|
||||
if dir.kind == pcFile:
|
||||
continue
|
||||
for file in walkDir(dir.path):
|
||||
if file.path.endsWith(".gpg"):
|
||||
let pw = replace(file.path,gpg_re,"")
|
||||
passwords.add(pw)
|
||||
return passwords
|
||||
|
||||
proc passwordToClipboard(password: string) =
|
||||
discard execCmd("pass show -c " & password)
|
||||
|
||||
proc main() =
|
||||
var info = newInfo("Passwurrd")
|
||||
var pws = getPasswords()
|
||||
let output = outputData(info,pws)
|
||||
if output in passwords:
|
||||
passwordToClipboard(output)
|
||||
|
||||
when isMainModule:
|
||||
main()
|
Loading…
Reference in a new issue