diff --git a/dotfiles/.functions.zsh b/dotfiles/.functions.zsh index 591cc1b..0ed7a20 100644 --- a/dotfiles/.functions.zsh +++ b/dotfiles/.functions.zsh @@ -1,10 +1,19 @@ -bw-init() { - bw login --check &>/dev/null || return 0 - bw sync &>/dev/null || return 0 - - bw unlock --raw > $HOME/.bw_session -} - bw-load() { export BW_SESSION=$(cat $HOME/.bw_session) } + +bw-init() { + if [ ! bw login --check &>/dev/null ]; then + bw login + fi + + bw sync &>/dev/null || return 1 + bw-load + + if [[ "$(bw status | jq -rc .status)" == "unlocked" ]]; then + return 0 + fi + + bw unlock --raw > $HOME/.bw_session + bw-load +} diff --git a/dotfiles/.mbsyncrc b/dotfiles/.mbsyncrc index 451eae4..5d1b1ee 100644 --- a/dotfiles/.mbsyncrc +++ b/dotfiles/.mbsyncrc @@ -1,7 +1,7 @@ IMAPAccount gmail Host imap.gmail.com User jadenprovost@gmail.com -PassCmd "export BW_SESSION=$(cat $HOME/.bw_session) && bw get password 'Emacs Gmail'" +PassCmd "bw --session $(cat $HOME/.bw_session) --nointeraction get password 'Emacs Gmail'" SSLType IMAPS SSLVersions TLSv1.2 AuthMechs PLAIN