diff options
author | awy <awy@awy.one> | 2025-08-16 17:38:41 +0300 |
---|---|---|
committer | awy <awy@awy.one> | 2025-08-16 17:38:41 +0300 |
commit | 2f233ca560720f1fb48616f2dadfbc3871078a0f (patch) | |
tree | 4ec8efc57c7da3295861131a0437d78838ff05b0 | |
parent | 4a773aa74bd9da4ff609eafbacc504661d33705c (diff) |
-rw-r--r-- | README.md | 6 | ||||
-rwxr-xr-x | bin/mailsync | 4 | ||||
-rwxr-xr-x | bin/mw | 15 | ||||
-rw-r--r-- | mw.1 | 6 | ||||
-rw-r--r-- | share/imapnotify-temp | 2 | ||||
-rw-r--r-- | share/mbsync-temp | 2 | ||||
-rw-r--r-- | share/mpop-temp | 2 | ||||
-rw-r--r-- | share/msmtp-temp | 2 | ||||
-rw-r--r-- | share/online-temp | 2 |
9 files changed, 20 insertions, 21 deletions
@@ -34,7 +34,7 @@ Specifically, this wizard: - `curl` - tests connections (required at install). - `isync` - downloads and syncs the mail (required if storing IMAP mail locally). - `msmtp` - sends the email. -- `pass` - safely encrypts passwords (required at install). +- `gopass` - safely encrypts passwords (required at install). - `ca-certificates` - required for SSL. Probably installed already. - `gettext` - writes config files. Probably installed already. @@ -84,7 +84,7 @@ The mutt-wizard runs via the command `mw`. Once setup is complete, you'll use - `mw -t 30` -- toggle automatic mailsync to every 30 minutes - `mw -T` -- toggle mailsync without specifying minutes (default is 10) - `mw -r` -- reorder account shortcut numbers -- `pass edit mw-your@email.com` -- revise an account's password +- `gopass edit mw-your@email.com` -- revise an account's password - `mailsync` -- sync all configured email accounts. Also gives notifications of new mail and indexes new mail with notmuch silently. - `mailsync your@email.com` -- sync a particular (or several) email account(s). @@ -175,7 +175,7 @@ systemctl enable --user goimapnotify@fulladdrs.service leaving a clean config folder. - msmtp configs moved to `~/.config/` and mail default location moved to `~/.local/share/mail/`, reducing mess in `~`. -- `pass` is used as a password manager instead of separately saving passwords. +- `gopass` is used as a password manager instead of separately saving passwords. - Script is POSIX sh compliant. - Error handling for the many people who don't read or follow directions. Fewer errors generally. diff --git a/bin/mailsync b/bin/mailsync index f52ead5..c7f133f 100755 --- a/bin/mailsync +++ b/bin/mailsync @@ -14,7 +14,7 @@ # Run only if not already running in other instance pgrep mbsync >/dev/null && { echo "mbsync is already running."; exit ;} -# First, we have to get the right variables for the mbsync file, the pass +# First, we have to get the right variables for the mbsync file, the gopass # archive, notmuch and the GPG home. This is done by searching common profile # files for variable assignments. This is ugly, but there are few options that # will work on the maximum number of machines. @@ -24,7 +24,7 @@ eval "$(grep -h -- \ "$HOME/.config/zsh/.zshenv" "$HOME/.bashrc" "$HOME/.zshrc" "$HOME/.config/zsh/.zshrc" \ "$HOME/.pam_environment" 2>/dev/null)" -# For non-interactive shell (e.g. cron job) run only when the GPG key (in $GNUPGHOME or pass --homedir) is unlocked +# For non-interactive shell (e.g. cron job) run only when the GPG key (in $GNUPGHOME or gopass --homedir) is unlocked tty -s || (echo "dummy" | gpg --sign --batch --yes -o /dev/null > /dev/null 2>&1) || exit export GPG_TTY="$(tty)" @@ -58,7 +58,7 @@ checkbasics() { command -V gpg >/dev/null 2>&1 && GPG="gpg" || GPG="gpg2" PASSWORD_STORE_DIR="${PASSWORD_STORE_DIR:-$HOME/.password-store}" [ -r "$PASSWORD_STORE_DIR/.gpg-id" ] || { - echo "First run \`pass init <yourgpgemail>\` to set up a password archive." + echo "First run \`gopass init <yourgpgemail>\` to set up a password archive." echo "(If you don't already have a GPG key pair, first run \`$GPG --full-generate-key\`.)" exit 1 } @@ -94,7 +94,6 @@ prepmutt() { envsubst <"$mutttemp" >"$accdir/$fulladdr.muttrc" [ ! -f "$muttrc" ] && echo "# vim: filetype=neomuttrc" >"$muttrc" ! grep -q "^source.*mutt-wizard.muttrc" "$muttrc" && echo "source $muttshare/mutt-wizard.muttrc" >>"$muttrc" - ! grep -q "^source.*nord.muttrc" "$muttrc" && echo "source $muttshare/nord.muttrc" >>"$muttrc" ! grep "^source.*.muttrc" "$muttrc" | grep -qv "$muttshare/mutt-wizard.muttrc" && echo "source $accdir/$fulladdr.muttrc" >>"$muttrc" echo "macro index,pager i$idnum '<sync-mailbox><enter-command>source $accdir/$fulladdr.muttrc<enter><change-folder>!<enter>;<check-stats>' \"switch to $fulladdr\"" >>"$muttrc" neomutt -v | grep -q lmdb && ! grep -q "^set header_cache_backend.*lmdb" "$muttrc" && echo "set header_cache_backend = \"lmdb\"" >>"$muttrc" @@ -160,7 +159,7 @@ delete() { rm -f "$msmtprc"bu sed -ibu "/account $fulladdr$/,/^\(\s*$\|account\)/d" "$mpoprc" 2>/dev/null rm -f "$mpoprc"bu - pass rm -f "$passprefix$fulladdr" >/dev/null 2>&1 + gopass rm -f "$passprefix$fulladdr" >/dev/null 2>&1 [ -n "${purge+x}" ] && safename="$(echo $fulladdr | sed 's/@/_/g')" && rm -rf "${cachedir:?}/${safename:?}" "${maildir:?}/${fulladdr:?}" } @@ -195,7 +194,7 @@ askinfo() { } insertpass() { - printf "%s" "$password" | pass insert -fe "$passprefix$fulladdr" + printf "%s" "$password" | gopass insert -fe "$passprefix$fulladdr" } errorexit() { @@ -214,15 +213,15 @@ Please be sure you either enable third-party applications, or create an app-spec } getpass() { while :; do - pass rm -f "$passprefix$fulladdr" >/dev/null 2>&1 - pass insert -f "$passprefix$fulladdr" && break + gopass rm -f "$passprefix$fulladdr" >/dev/null 2>&1 + gopass insert -f "$passprefix$fulladdr" && break done; } getboxes() { if [ -n "${force+x}" ]; then mailboxes="$(printf "INBOX\\nDrafts\\nJunk\\nTrash\\nSent\\nArchive")" else - info="$(curl --location-trusted -s -m 5 --user "$login:$(pass "$passprefix$fulladdr")" --url "${protocol:-imaps}://$imap:${iport:-993}")" + info="$(curl --location-trusted -s -m 5 --user "$login:$(gopass "$passprefix$fulladdr")" --url "${protocol:-imaps}://$imap:${iport:-993}")" [ -z "$info" ] && errorexit mailboxes="$(echo "$info" | grep -v HasChildren | sed "s/.*\" //;s/\"//g" | tr -d '\r')" fi @@ -306,7 +305,7 @@ Options allowed with -a: NOTE: Once at least one account is added, you can run \`mbsync -a\` to begin downloading mail. -To change an account's password, run \`pass edit '$passprefix'your@email.com\`. +To change an account's password, run \`gopass edit '$passprefix'your@email.com\`. EOF } @@ -15,7 +15,7 @@ This can include offline email with and configs for .B msmtp for sending mail, and also passwords automatically encrypted and stored with -.B pass. +.B gopass. .SH COMMANDS .TP .B -a your@email.com @@ -72,7 +72,7 @@ SMTP server port (assumed to be 465 if not specified) Account password. You will be prompted for the password interactively if this option is not given. .TP .B -P -Pass Prefix. The password will be stored using pass at <passprefix><email> +Pass Prefix. The password will be stored using gopass at <passprefix><email> .SH OTHER OPTIONS .TP .B -f @@ -160,7 +160,7 @@ Many universities and businesses might host their domain's email via Google or a .TP .B Password decryption mutt-wizard uses -.I pass +.I gopass and therefore .I gpg to decrypt your passwords. Provided your GPG key has a password, this might mean that you will be prompted for your GPG password the first time you sync or send mail in a session. Once your password is cached, it might also expire later as well. diff --git a/share/imapnotify-temp b/share/imapnotify-temp index a81cba2..48e2234 100644 --- a/share/imapnotify-temp +++ b/share/imapnotify-temp @@ -7,7 +7,7 @@ }, "username": "$login", "password": "", - "passwordCmd": "pass $passprefix$fulladdr", + "passwordCmd": "gopass $passprefix$fulladdr", "onNewMail": "mailsync", "onNewMailPost": "", "boxes": [ "INBOX" ] diff --git a/share/mbsync-temp b/share/mbsync-temp index 8496ff5..0db5202 100644 --- a/share/mbsync-temp +++ b/share/mbsync-temp @@ -2,7 +2,7 @@ IMAPStore $fulladdr-remote Host $imap Port $iport User $login -PassCmd "pass $passprefix$fulladdr" +PassCmd "gopass $passprefix$fulladdr" AuthMechs LOGIN TLSType $imapssl CertificateFile $sslcert diff --git a/share/mpop-temp b/share/mpop-temp index cc51d75..7429c98 100644 --- a/share/mpop-temp +++ b/share/mpop-temp @@ -5,4 +5,4 @@ host $imap port $iport timeout 10 delivery maildir $maildir/$fulladdr/INBOX -passwordeval pass $passprefix$fulladdr +passwordeval gopass $passprefix$fulladdr diff --git a/share/msmtp-temp b/share/msmtp-temp index 7333437..e1a5258 100644 --- a/share/msmtp-temp +++ b/share/msmtp-temp @@ -3,7 +3,7 @@ host $smtp port $sport from $fulladdr user $login -passwordeval "pass $passprefix$fulladdr" +passwordeval "gopass $passprefix$fulladdr" auth on tls on tls_trust_file $sslcert diff --git a/share/online-temp b/share/online-temp index 5fd385c..5cf125f 100644 --- a/share/online-temp +++ b/share/online-temp @@ -1,4 +1,4 @@ set imap_user = "$login" -set imap_pass = "`pass $passprefix$fulladdr`" +set imap_pass = "`gopass $passprefix$fulladdr`" set ssl_starttls = yes set ssl_force_tls = yes |