@bremner @jani I’m wondering here, did ~=
in mutt do full body compare…
I’m also thinking that as aerc has this:
:query [-a <account>] [-n name] [-f] <notmuch query>
Create a virtual folder using the specified top-level notmuch query.
This command is ex clusive to the notmuch backend.
[man aerc]
Maybe one possibility would be feasible to implement directly into aerc :duplicate
which would similarly create a virtual folder for duplicates, which would then allow interactively decide the faith (as it is for filter and query). This could potentially then do full body compare as it was within the implementation in Go.
Now that I’m already using maildirs again, I could fulfill the lacking feature from #aerc (compared to #mutt) using #notmuch, which de-duplicates my emails:
#!/usr/bin/env bash
#
# Copyright (c) Jarkko Sakkinen 2024
# JSON queries ripped from https://github.com/esovetkin/notmuch-deduplicate
set -e
QUERY='*'
notmuch show \
--format=json \
--entire-thread=false \
--body=false \
"${QUERY}" | \
jq \
-n \
--stream 'fromstream(1 | truncate_stream(inputs))' | \
jq -r '.. | .filename? //empty | @tsv' | \
grep '\t' | \
awk -F'\t' '{for (i=2; i<=NF; i++) print $i}' | \
xargs -I{} rm -v "{}"
notmuch new
# vim: filetype=vim ts=2 sw=2 et
Improved my #email workflow a bit with #isync.
So the basic config in ~/.mbsyncrc
is:
IMAPAccount kapsi
Host mail.kapsi.fi
User jjs
PassCmd "pass show imap/mail.kapsi.fi"
SSLType IMAPS
IMAPStore kapsi-remote
Account kapsi
MaildirStore kapsi-local
SubFolders Verbatim
Path ~/.mail/kapsi/
Inbox ~/.mail/kapsi/INBOX
Channel kapsi
Far :kapsi-remote:
Near :kapsi-local:
Patterns *
Create Both
Expunge Both
SyncState *
Essentially only other change I had to do was repeal and replace sources in ~/.config/aerc/accounts.conf
(I was already using msmtp since many many years ago):
[personal]
source = maildir://~/.mail/kapsi
outgoing = msmtp -a iki.fi
default = INBOX
from = Jarkko Sakkinen <jarkko.sakkinen@iki.fi>
copy-to = Sent
[kernel]
source = maildir://~/.mail/kapsi
outgoing = msmtp -a iki.fi
default = INBOX
from = Jarkko Sakkinen <jarkko@kernel.org>
copy-to = Sent
folder-map = ~/.config/aerc/folder-maps/kernel.map
For the record kernel.map (also existed previously unrelated to this change) is just:
personal = INBOX
INBOX = kernel
I use this magic given that @kernel.org routes to a sub-address of the same account.
Have been planning to level up here for a long while so thought now is the time given tomorrow is first workday after holidays.