# passgo This repository includes Go code to interact with pass, the Unix password manager. Library code is provided to open a password store, list saved passwords, and decrypt specified passwords. The library provides a simple passphrase input function, or, if gpg-agent is running (on MacOS), it will connect automatically to request your GPG passphrase. On Android, `passgo` connects to OpenKeychain. MacOS and Android users can also ask passgo to copy a password directly to the clipboard. ```go store := passgo.Store{} // directory defaults to ~/.password-store, or set it manually here: // store.Dir = "/home/me/.pw-store" err := passgo.GetStore(&store) if err != nil { ... } passlist := store.List() for _,x := range passlist { if x.Pathname == "myPass" { p, err := store.Decrypt(x.Pathname) if err == nil { passgo.Clip(p) // put on the clipboard } else { log.Fatal("Cannot decrypt ", x.Pathname) } } } /// or just do: p, err := store.Decrypt("myPass") ... ``` Also included is a simple GUI front-end using [Gio](https://gioui.org) that works on MacOS and Android. See `cmd/passgo-gui`.