diff --git a/.emacs.d/mail.el b/.emacs.d/mail.el index 4177b7b..88f2030 100644 --- a/.emacs.d/mail.el +++ b/.emacs.d/mail.el @@ -26,6 +26,9 @@ (my/use-colors (notmuch-wash-cited-text :foreground (doom-color 'yellow))) :config + (setq notmuch-fcc-dirs + '(("pvkorytov@etu.ru" . "pvkorytov_etu_mbox/Sent") + (".*" . "sent"))) (setq mail-specify-envelope-from t) (setq message-sendmail-envelope-from 'header) (setq mail-envelope-from 'header) diff --git a/Mail.org b/Mail.org index 5929044..b4ddbc5 100644 --- a/Mail.org +++ b/Mail.org @@ -92,12 +92,16 @@ pass show Job/Digital/Email/pvkorytov@etu.ru | head -n 1 #+begin_src conf-unix :tangle ~/.offlineimaprc :noweb yes [general] -accounts = pvkorytov +accounts = pvkorytov,pvkorytov-mbox [Account pvkorytov] localrepository = pvkorytov-local remoterepository = pvkorytov-remote +[Account pvkorytov-mbox] +localrepository = pvkorytov-mbox-local +remoterepository = pvkorytov-mbox-remote + [Repository pvkorytov-local] type = Maildir localfolders = ~/Mail/pvkorytov_etu/ @@ -111,6 +115,18 @@ remoteport = 1143 starttls = no ssl = no sslcacertfile = /etc/ssl/certs/ca-certificates.crt + +[Repository pvkorytov-mbox-local] +type = Maildir +localfolders = ~/Mail/pvkorytov_etu_mbox/ + +[Repository pvkorytov-mbox-remote] +type = IMAP +remotehost = mbox.etu.ru +remoteuser = <> +remotepass = <> +remoteport = 993 +cert_fingerprint = 07bdfab4eaa79f5fc8ab93cd9ad0ba025ea0b4e5 #+end_src * Notmuch | Guix dependency | @@ -194,6 +210,8 @@ So, here are the rules which match tags & folders: | etu | Etu | | etu.grad-school | Etu.Grad_School | +&BCMENAQwBDsENQQ9BD0ESwQ1- + And below is a noweb function, which generates the following commands for notmuch to execute: - /before/ sync: - =notmuch search --output files "NOT path:[PATH] AND tag:[TAG] AND tag:[ROOT_TAG]" | xargs -I ! mv ! [PATH]= @@ -225,23 +243,24 @@ These rules are getting included in the respective hooks. (unless (string-empty-p remove) (add-to-list 'rules - (format "notmuch tag -%s \"NOT path:%s/%s/cur/** AND tag:%s AND tag:%s\"" - tag root folder tag root_tag) + (format + "notmuch tag -%s \"NOT path:%s/%s/cur/** AND path:%s/** AND tag:%s AND tag:%s\"" + tag root folder root tag root_tag) t)) (unless (string-empty-p move) (add-to-list 'rules (concat - (format "notmuch search --output=files \"NOT path:%s/%s/cur/** AND tag:%s AND tag:%s\"" - root folder tag root_tag) + (format "notmuch search --output=files \"NOT path:%s/%s/cur/** AND path:%s/** AND tag:%s AND tag:%s\"" + root folder root tag root_tag) (format " | xargs -I ! mv ! %s/%s/%s/cur/" my/maildir-root root folder)) t)))) (unless (string-empty-p archive_root) (add-to-list 'rules (concat - (format "notmuch search --output=files \"NOT path:%s/%s/cur/** AND %s AND tag:%s\"" - root archive_root + (format "notmuch search --output=files \"NOT path:%s/%s/cur/** AND path:%s/** AND %s AND tag:%s\"" + root archive_root root (mapconcat (lambda (row) (format "NOT tag:%s" (car row))) @@ -264,11 +283,13 @@ It isn't necessary to run =cd= for offlineimap, but it's easier to write that wa #+end_src #+begin_src bash :tangle ~/Mail/.notmuch/hooks/pre-new :noweb yes -# GMI="/home/pavel/Programs/miniconda3/envs/mail/bin/gmi" +GMI="/home/pavel/Programs/miniconda3/envs/mail/bin/gmi" GMI="gmi" echo "Running pre-new filters" <> + +<> echo "Pre-new filters done" parallel --link -j0 "(cd /home/pavel/Mail/{1}/ && {2} {3})" ::: thexcloud progin6304 pvkorytov_etu ::: "$GMI" "$GMI" "offlineimap" ::: sync sync "" @@ -286,9 +307,14 @@ And this hook tags different mailboxes with different tags. notmuch tag +main "path:thexcloud/** AND tag:new" notmuch tag +progin "path:progin6304/** AND tag:new" notmuch tag +pvkorytov "path:pvkorytov_etu/** AND tag:new" +notmuch tag +pvkorytov "path:pvkorytov_etu_mbox/** AND tag:new" +notmuch tag +mbox "path:pvkorytov_etu_mbox/** AND tag:new" echo "Running post-new filters" <> + +<> + echo "Post-new filters done" notmuch tag -new "tag:new" #+end_src @@ -359,10 +385,11 @@ user progin6304@gmail.com passwordeval "pass show My_Online/ETU/progin6304@gmail.com | head -n 1" account pvkorytov -tls off -auth plain -host localhost -port 1025 +host mbox.etu.ru +port 465 +tls on +tls_starttls off +tls_fingerprint 87:1F:17:1C:12:A4:DE:82:6F:CF:E5:E6:9C:EE:F8:0B:D1:7D:B2:00:F9:7B:2C:96:21:65:FA:0A:F5:24:8E:0E from pvkorytov@etu.ru user pvkorytov passwordeval "pass show Job/Digital/Email/pvkorytov@etu.ru | head -n 1" @@ -417,6 +444,9 @@ And notmuch settings: (my/use-colors (notmuch-wash-cited-text :foreground (doom-color 'yellow))) :config + (setq notmuch-fcc-dirs + '(("pvkorytov@etu.ru" . "pvkorytov_etu_mbox/Sent") + (".*" . "sent"))) (setq mail-specify-envelope-from t) (setq message-sendmail-envelope-from 'header) (setq mail-envelope-from 'header) diff --git a/Mail/.notmuch/hooks/post-new b/Mail/.notmuch/hooks/post-new index 590b733..ae74b95 100755 --- a/Mail/.notmuch/hooks/post-new +++ b/Mail/.notmuch/hooks/post-new @@ -3,34 +3,64 @@ notmuch tag +main "path:thexcloud/** AND tag:new" notmuch tag +progin "path:progin6304/** AND tag:new" notmuch tag +pvkorytov "path:pvkorytov_etu/** AND tag:new" +notmuch tag +pvkorytov "path:pvkorytov_etu_mbox/** AND tag:new" +notmuch tag +mbox "path:pvkorytov_etu_mbox/** AND tag:new" echo "Running post-new filters" notmuch tag +inbox "path:pvkorytov_etu/INBOX/cur/** AND NOT tag:inbox" -notmuch tag -inbox "NOT path:pvkorytov_etu/INBOX/cur/** AND tag:inbox AND tag:pvkorytov" +notmuch tag -inbox "NOT path:pvkorytov_etu/INBOX/cur/** AND path:pvkorytov_etu/** AND tag:inbox AND tag:pvkorytov" notmuch tag +sent "path:pvkorytov_etu/Sent/cur/** AND NOT tag:sent" -notmuch tag -sent "NOT path:pvkorytov_etu/Sent/cur/** AND tag:sent AND tag:pvkorytov" +notmuch tag -sent "NOT path:pvkorytov_etu/Sent/cur/** AND path:pvkorytov_etu/** AND tag:sent AND tag:pvkorytov" notmuch tag +spam "path:pvkorytov_etu/Junk/cur/** AND NOT tag:spam" -notmuch tag -spam "NOT path:pvkorytov_etu/Junk/cur/** AND tag:spam AND tag:pvkorytov" +notmuch tag -spam "NOT path:pvkorytov_etu/Junk/cur/** AND path:pvkorytov_etu/** AND tag:spam AND tag:pvkorytov" notmuch tag +trash "path:pvkorytov_etu/Trash/cur/** AND NOT tag:trash" -notmuch tag -trash "NOT path:pvkorytov_etu/Trash/cur/** AND tag:trash AND tag:pvkorytov" +notmuch tag -trash "NOT path:pvkorytov_etu/Trash/cur/** AND path:pvkorytov_etu/** AND tag:trash AND tag:pvkorytov" notmuch tag +job.digital "path:pvkorytov_etu/Job_Digital/cur/** AND NOT tag:job.digital" -notmuch tag -job.digital "NOT path:pvkorytov_etu/Job_Digital/cur/** AND tag:job.digital AND tag:pvkorytov" +notmuch tag -job.digital "NOT path:pvkorytov_etu/Job_Digital/cur/** AND path:pvkorytov_etu/** AND tag:job.digital AND tag:pvkorytov" notmuch tag +job.digital.docs "path:pvkorytov_etu/Job_Digital.Docs/cur/** AND NOT tag:job.digital.docs" -notmuch tag -job.digital.docs "NOT path:pvkorytov_etu/Job_Digital.Docs/cur/** AND tag:job.digital.docs AND tag:pvkorytov" +notmuch tag -job.digital.docs "NOT path:pvkorytov_etu/Job_Digital.Docs/cur/** AND path:pvkorytov_etu/** AND tag:job.digital.docs AND tag:pvkorytov" notmuch tag +job.digital.support "path:pvkorytov_etu/Job_Digital.Support/cur/** AND NOT tag:job.digital.support" -notmuch tag -job.digital.support "NOT path:pvkorytov_etu/Job_Digital.Support/cur/** AND tag:job.digital.support AND tag:pvkorytov" +notmuch tag -job.digital.support "NOT path:pvkorytov_etu/Job_Digital.Support/cur/** AND path:pvkorytov_etu/** AND tag:job.digital.support AND tag:pvkorytov" notmuch tag +job.digital.superservice "path:pvkorytov_etu/Job_Digital.Superservice/cur/** AND NOT tag:job.digital.superservice" -notmuch tag -job.digital.superservice "NOT path:pvkorytov_etu/Job_Digital.Superservice/cur/** AND tag:job.digital.superservice AND tag:pvkorytov" +notmuch tag -job.digital.superservice "NOT path:pvkorytov_etu/Job_Digital.Superservice/cur/** AND path:pvkorytov_etu/** AND tag:job.digital.superservice AND tag:pvkorytov" notmuch tag +job.digital.applicants "path:pvkorytov_etu/Job_Digital.Applicants/cur/** AND NOT tag:job.digital.applicants" -notmuch tag -job.digital.applicants "NOT path:pvkorytov_etu/Job_Digital.Applicants/cur/** AND tag:job.digital.applicants AND tag:pvkorytov" +notmuch tag -job.digital.applicants "NOT path:pvkorytov_etu/Job_Digital.Applicants/cur/** AND path:pvkorytov_etu/** AND tag:job.digital.applicants AND tag:pvkorytov" notmuch tag +job.digital.testers "path:pvkorytov_etu/Job_Digital.Testers/cur/** AND NOT tag:job.digital.testers" -notmuch tag -job.digital.testers "NOT path:pvkorytov_etu/Job_Digital.Testers/cur/** AND tag:job.digital.testers AND tag:pvkorytov" +notmuch tag -job.digital.testers "NOT path:pvkorytov_etu/Job_Digital.Testers/cur/** AND path:pvkorytov_etu/** AND tag:job.digital.testers AND tag:pvkorytov" notmuch tag +job.moevm "path:pvkorytov_etu/Job_Moevm/cur/** AND NOT tag:job.moevm" -notmuch tag -job.moevm "NOT path:pvkorytov_etu/Job_Moevm/cur/** AND tag:job.moevm AND tag:pvkorytov" +notmuch tag -job.moevm "NOT path:pvkorytov_etu/Job_Moevm/cur/** AND path:pvkorytov_etu/** AND tag:job.moevm AND tag:pvkorytov" notmuch tag +etu "path:pvkorytov_etu/Etu/cur/** AND NOT tag:etu" -notmuch tag -etu "NOT path:pvkorytov_etu/Etu/cur/** AND tag:etu AND tag:pvkorytov" +notmuch tag -etu "NOT path:pvkorytov_etu/Etu/cur/** AND path:pvkorytov_etu/** AND tag:etu AND tag:pvkorytov" notmuch tag +etu.grad-school "path:pvkorytov_etu/Etu.Grad_School/cur/** AND NOT tag:etu.grad-school" -notmuch tag -etu.grad-school "NOT path:pvkorytov_etu/Etu.Grad_School/cur/** AND tag:etu.grad-school AND tag:pvkorytov" +notmuch tag -etu.grad-school "NOT path:pvkorytov_etu/Etu.Grad_School/cur/** AND path:pvkorytov_etu/** AND tag:etu.grad-school AND tag:pvkorytov" + +notmuch tag +inbox "path:pvkorytov_etu_mbox/INBOX/cur/** AND NOT tag:inbox" +notmuch tag -inbox "NOT path:pvkorytov_etu_mbox/INBOX/cur/** AND path:pvkorytov_etu_mbox/** AND tag:inbox AND tag:pvkorytov" +notmuch tag +sent "path:pvkorytov_etu_mbox/Sent/cur/** AND NOT tag:sent" +notmuch tag -sent "NOT path:pvkorytov_etu_mbox/Sent/cur/** AND path:pvkorytov_etu_mbox/** AND tag:sent AND tag:pvkorytov" +notmuch tag +spam "path:pvkorytov_etu_mbox/Junk/cur/** AND NOT tag:spam" +notmuch tag -spam "NOT path:pvkorytov_etu_mbox/Junk/cur/** AND path:pvkorytov_etu_mbox/** AND tag:spam AND tag:pvkorytov" +notmuch tag +trash "path:pvkorytov_etu_mbox/Trash/cur/** AND NOT tag:trash" +notmuch tag -trash "NOT path:pvkorytov_etu_mbox/Trash/cur/** AND path:pvkorytov_etu_mbox/** AND tag:trash AND tag:pvkorytov" +notmuch tag +job.digital "path:pvkorytov_etu_mbox/Job_Digital/cur/** AND NOT tag:job.digital" +notmuch tag -job.digital "NOT path:pvkorytov_etu_mbox/Job_Digital/cur/** AND path:pvkorytov_etu_mbox/** AND tag:job.digital AND tag:pvkorytov" +notmuch tag +job.digital.docs "path:pvkorytov_etu_mbox/Job_Digital.Docs/cur/** AND NOT tag:job.digital.docs" +notmuch tag -job.digital.docs "NOT path:pvkorytov_etu_mbox/Job_Digital.Docs/cur/** AND path:pvkorytov_etu_mbox/** AND tag:job.digital.docs AND tag:pvkorytov" +notmuch tag +job.digital.support "path:pvkorytov_etu_mbox/Job_Digital.Support/cur/** AND NOT tag:job.digital.support" +notmuch tag -job.digital.support "NOT path:pvkorytov_etu_mbox/Job_Digital.Support/cur/** AND path:pvkorytov_etu_mbox/** AND tag:job.digital.support AND tag:pvkorytov" +notmuch tag +job.digital.superservice "path:pvkorytov_etu_mbox/Job_Digital.Superservice/cur/** AND NOT tag:job.digital.superservice" +notmuch tag -job.digital.superservice "NOT path:pvkorytov_etu_mbox/Job_Digital.Superservice/cur/** AND path:pvkorytov_etu_mbox/** AND tag:job.digital.superservice AND tag:pvkorytov" +notmuch tag +job.digital.applicants "path:pvkorytov_etu_mbox/Job_Digital.Applicants/cur/** AND NOT tag:job.digital.applicants" +notmuch tag -job.digital.applicants "NOT path:pvkorytov_etu_mbox/Job_Digital.Applicants/cur/** AND path:pvkorytov_etu_mbox/** AND tag:job.digital.applicants AND tag:pvkorytov" +notmuch tag +job.digital.testers "path:pvkorytov_etu_mbox/Job_Digital.Testers/cur/** AND NOT tag:job.digital.testers" +notmuch tag -job.digital.testers "NOT path:pvkorytov_etu_mbox/Job_Digital.Testers/cur/** AND path:pvkorytov_etu_mbox/** AND tag:job.digital.testers AND tag:pvkorytov" +notmuch tag +job.moevm "path:pvkorytov_etu_mbox/Job_Moevm/cur/** AND NOT tag:job.moevm" +notmuch tag -job.moevm "NOT path:pvkorytov_etu_mbox/Job_Moevm/cur/** AND path:pvkorytov_etu_mbox/** AND tag:job.moevm AND tag:pvkorytov" +notmuch tag +etu "path:pvkorytov_etu_mbox/Etu/cur/** AND NOT tag:etu" +notmuch tag -etu "NOT path:pvkorytov_etu_mbox/Etu/cur/** AND path:pvkorytov_etu_mbox/** AND tag:etu AND tag:pvkorytov" +notmuch tag +etu.grad-school "path:pvkorytov_etu_mbox/Etu.Grad_School/cur/** AND NOT tag:etu.grad-school" +notmuch tag -etu.grad-school "NOT path:pvkorytov_etu_mbox/Etu.Grad_School/cur/** AND path:pvkorytov_etu_mbox/** AND tag:etu.grad-school AND tag:pvkorytov" + echo "Post-new filters done" notmuch tag -new "tag:new" # =post_new=:2 ends here diff --git a/Mail/.notmuch/hooks/pre-new b/Mail/.notmuch/hooks/pre-new index a9a8418..a747ee5 100755 --- a/Mail/.notmuch/hooks/pre-new +++ b/Mail/.notmuch/hooks/pre-new @@ -1,23 +1,38 @@ #!/usr/bin/env bash # [[file:../../../Mail.org::*=pre_new=][=pre_new=:2]] -# GMI="/home/pavel/Programs/miniconda3/envs/mail/bin/gmi" +GMI="/home/pavel/Programs/miniconda3/envs/mail/bin/gmi" GMI="gmi" echo "Running pre-new filters" -notmuch search --output=files "NOT path:pvkorytov_etu/INBOX/cur/** AND tag:inbox AND tag:pvkorytov" | xargs -I ! mv ! ~/Mail/pvkorytov_etu/INBOX/cur/ -notmuch search --output=files "NOT path:pvkorytov_etu/Sent/cur/** AND tag:sent AND tag:pvkorytov" | xargs -I ! mv ! ~/Mail/pvkorytov_etu/Sent/cur/ -notmuch search --output=files "NOT path:pvkorytov_etu/Junk/cur/** AND tag:spam AND tag:pvkorytov" | xargs -I ! mv ! ~/Mail/pvkorytov_etu/Junk/cur/ -notmuch search --output=files "NOT path:pvkorytov_etu/Trash/cur/** AND tag:trash AND tag:pvkorytov" | xargs -I ! mv ! ~/Mail/pvkorytov_etu/Trash/cur/ -notmuch search --output=files "NOT path:pvkorytov_etu/Job_Digital/cur/** AND tag:job.digital AND tag:pvkorytov" | xargs -I ! mv ! ~/Mail/pvkorytov_etu/Job_Digital/cur/ -notmuch search --output=files "NOT path:pvkorytov_etu/Job_Digital.Docs/cur/** AND tag:job.digital.docs AND tag:pvkorytov" | xargs -I ! mv ! ~/Mail/pvkorytov_etu/Job_Digital.Docs/cur/ -notmuch search --output=files "NOT path:pvkorytov_etu/Job_Digital.Support/cur/** AND tag:job.digital.support AND tag:pvkorytov" | xargs -I ! mv ! ~/Mail/pvkorytov_etu/Job_Digital.Support/cur/ -notmuch search --output=files "NOT path:pvkorytov_etu/Job_Digital.Superservice/cur/** AND tag:job.digital.superservice AND tag:pvkorytov" | xargs -I ! mv ! ~/Mail/pvkorytov_etu/Job_Digital.Superservice/cur/ -notmuch search --output=files "NOT path:pvkorytov_etu/Job_Digital.Applicants/cur/** AND tag:job.digital.applicants AND tag:pvkorytov" | xargs -I ! mv ! ~/Mail/pvkorytov_etu/Job_Digital.Applicants/cur/ -notmuch search --output=files "NOT path:pvkorytov_etu/Job_Digital.Testers/cur/** AND tag:job.digital.testers AND tag:pvkorytov" | xargs -I ! mv ! ~/Mail/pvkorytov_etu/Job_Digital.Testers/cur/ -notmuch search --output=files "NOT path:pvkorytov_etu/Job_Moevm/cur/** AND tag:job.moevm AND tag:pvkorytov" | xargs -I ! mv ! ~/Mail/pvkorytov_etu/Job_Moevm/cur/ -notmuch search --output=files "NOT path:pvkorytov_etu/Etu/cur/** AND tag:etu AND tag:pvkorytov" | xargs -I ! mv ! ~/Mail/pvkorytov_etu/Etu/cur/ -notmuch search --output=files "NOT path:pvkorytov_etu/Etu.Grad_School/cur/** AND tag:etu.grad-school AND tag:pvkorytov" | xargs -I ! mv ! ~/Mail/pvkorytov_etu/Etu.Grad_School/cur/ -notmuch search --output=files "NOT path:pvkorytov_etu/Archive/cur/** AND NOT tag:inbox AND NOT tag:sent AND NOT tag:spam AND NOT tag:trash AND NOT tag:job.digital AND NOT tag:job.digital.docs AND NOT tag:job.digital.support AND NOT tag:job.digital.superservice AND NOT tag:job.digital.applicants AND NOT tag:job.digital.testers AND NOT tag:job.moevm AND NOT tag:etu AND NOT tag:etu.grad-school AND tag:pvkorytov" | xargs -I ! mv ! ~/Mail/pvkorytov_etu/Archive/cur/ +notmuch search --output=files "NOT path:pvkorytov_etu/INBOX/cur/** AND path:pvkorytov_etu/** AND tag:inbox AND tag:pvkorytov" | xargs -I ! mv ! ~/Mail/pvkorytov_etu/INBOX/cur/ +notmuch search --output=files "NOT path:pvkorytov_etu/Sent/cur/** AND path:pvkorytov_etu/** AND tag:sent AND tag:pvkorytov" | xargs -I ! mv ! ~/Mail/pvkorytov_etu/Sent/cur/ +notmuch search --output=files "NOT path:pvkorytov_etu/Junk/cur/** AND path:pvkorytov_etu/** AND tag:spam AND tag:pvkorytov" | xargs -I ! mv ! ~/Mail/pvkorytov_etu/Junk/cur/ +notmuch search --output=files "NOT path:pvkorytov_etu/Trash/cur/** AND path:pvkorytov_etu/** AND tag:trash AND tag:pvkorytov" | xargs -I ! mv ! ~/Mail/pvkorytov_etu/Trash/cur/ +notmuch search --output=files "NOT path:pvkorytov_etu/Job_Digital/cur/** AND path:pvkorytov_etu/** AND tag:job.digital AND tag:pvkorytov" | xargs -I ! mv ! ~/Mail/pvkorytov_etu/Job_Digital/cur/ +notmuch search --output=files "NOT path:pvkorytov_etu/Job_Digital.Docs/cur/** AND path:pvkorytov_etu/** AND tag:job.digital.docs AND tag:pvkorytov" | xargs -I ! mv ! ~/Mail/pvkorytov_etu/Job_Digital.Docs/cur/ +notmuch search --output=files "NOT path:pvkorytov_etu/Job_Digital.Support/cur/** AND path:pvkorytov_etu/** AND tag:job.digital.support AND tag:pvkorytov" | xargs -I ! mv ! ~/Mail/pvkorytov_etu/Job_Digital.Support/cur/ +notmuch search --output=files "NOT path:pvkorytov_etu/Job_Digital.Superservice/cur/** AND path:pvkorytov_etu/** AND tag:job.digital.superservice AND tag:pvkorytov" | xargs -I ! mv ! ~/Mail/pvkorytov_etu/Job_Digital.Superservice/cur/ +notmuch search --output=files "NOT path:pvkorytov_etu/Job_Digital.Applicants/cur/** AND path:pvkorytov_etu/** AND tag:job.digital.applicants AND tag:pvkorytov" | xargs -I ! mv ! ~/Mail/pvkorytov_etu/Job_Digital.Applicants/cur/ +notmuch search --output=files "NOT path:pvkorytov_etu/Job_Digital.Testers/cur/** AND path:pvkorytov_etu/** AND tag:job.digital.testers AND tag:pvkorytov" | xargs -I ! mv ! ~/Mail/pvkorytov_etu/Job_Digital.Testers/cur/ +notmuch search --output=files "NOT path:pvkorytov_etu/Job_Moevm/cur/** AND path:pvkorytov_etu/** AND tag:job.moevm AND tag:pvkorytov" | xargs -I ! mv ! ~/Mail/pvkorytov_etu/Job_Moevm/cur/ +notmuch search --output=files "NOT path:pvkorytov_etu/Etu/cur/** AND path:pvkorytov_etu/** AND tag:etu AND tag:pvkorytov" | xargs -I ! mv ! ~/Mail/pvkorytov_etu/Etu/cur/ +notmuch search --output=files "NOT path:pvkorytov_etu/Etu.Grad_School/cur/** AND path:pvkorytov_etu/** AND tag:etu.grad-school AND tag:pvkorytov" | xargs -I ! mv ! ~/Mail/pvkorytov_etu/Etu.Grad_School/cur/ +notmuch search --output=files "NOT path:pvkorytov_etu/Archive/cur/** AND path:pvkorytov_etu/** AND NOT tag:inbox AND NOT tag:sent AND NOT tag:spam AND NOT tag:trash AND NOT tag:job.digital AND NOT tag:job.digital.docs AND NOT tag:job.digital.support AND NOT tag:job.digital.superservice AND NOT tag:job.digital.applicants AND NOT tag:job.digital.testers AND NOT tag:job.moevm AND NOT tag:etu AND NOT tag:etu.grad-school AND tag:pvkorytov" | xargs -I ! mv ! ~/Mail/pvkorytov_etu/Archive/cur/ + +notmuch search --output=files "NOT path:pvkorytov_etu_mbox/INBOX/cur/** AND path:pvkorytov_etu_mbox/** AND tag:inbox AND tag:pvkorytov" | xargs -I ! mv ! ~/Mail/pvkorytov_etu_mbox/INBOX/cur/ +notmuch search --output=files "NOT path:pvkorytov_etu_mbox/Sent/cur/** AND path:pvkorytov_etu_mbox/** AND tag:sent AND tag:pvkorytov" | xargs -I ! mv ! ~/Mail/pvkorytov_etu_mbox/Sent/cur/ +notmuch search --output=files "NOT path:pvkorytov_etu_mbox/Junk/cur/** AND path:pvkorytov_etu_mbox/** AND tag:spam AND tag:pvkorytov" | xargs -I ! mv ! ~/Mail/pvkorytov_etu_mbox/Junk/cur/ +notmuch search --output=files "NOT path:pvkorytov_etu_mbox/Trash/cur/** AND path:pvkorytov_etu_mbox/** AND tag:trash AND tag:pvkorytov" | xargs -I ! mv ! ~/Mail/pvkorytov_etu_mbox/Trash/cur/ +notmuch search --output=files "NOT path:pvkorytov_etu_mbox/Job_Digital/cur/** AND path:pvkorytov_etu_mbox/** AND tag:job.digital AND tag:pvkorytov" | xargs -I ! mv ! ~/Mail/pvkorytov_etu_mbox/Job_Digital/cur/ +notmuch search --output=files "NOT path:pvkorytov_etu_mbox/Job_Digital.Docs/cur/** AND path:pvkorytov_etu_mbox/** AND tag:job.digital.docs AND tag:pvkorytov" | xargs -I ! mv ! ~/Mail/pvkorytov_etu_mbox/Job_Digital.Docs/cur/ +notmuch search --output=files "NOT path:pvkorytov_etu_mbox/Job_Digital.Support/cur/** AND path:pvkorytov_etu_mbox/** AND tag:job.digital.support AND tag:pvkorytov" | xargs -I ! mv ! ~/Mail/pvkorytov_etu_mbox/Job_Digital.Support/cur/ +notmuch search --output=files "NOT path:pvkorytov_etu_mbox/Job_Digital.Superservice/cur/** AND path:pvkorytov_etu_mbox/** AND tag:job.digital.superservice AND tag:pvkorytov" | xargs -I ! mv ! ~/Mail/pvkorytov_etu_mbox/Job_Digital.Superservice/cur/ +notmuch search --output=files "NOT path:pvkorytov_etu_mbox/Job_Digital.Applicants/cur/** AND path:pvkorytov_etu_mbox/** AND tag:job.digital.applicants AND tag:pvkorytov" | xargs -I ! mv ! ~/Mail/pvkorytov_etu_mbox/Job_Digital.Applicants/cur/ +notmuch search --output=files "NOT path:pvkorytov_etu_mbox/Job_Digital.Testers/cur/** AND path:pvkorytov_etu_mbox/** AND tag:job.digital.testers AND tag:pvkorytov" | xargs -I ! mv ! ~/Mail/pvkorytov_etu_mbox/Job_Digital.Testers/cur/ +notmuch search --output=files "NOT path:pvkorytov_etu_mbox/Job_Moevm/cur/** AND path:pvkorytov_etu_mbox/** AND tag:job.moevm AND tag:pvkorytov" | xargs -I ! mv ! ~/Mail/pvkorytov_etu_mbox/Job_Moevm/cur/ +notmuch search --output=files "NOT path:pvkorytov_etu_mbox/Etu/cur/** AND path:pvkorytov_etu_mbox/** AND tag:etu AND tag:pvkorytov" | xargs -I ! mv ! ~/Mail/pvkorytov_etu_mbox/Etu/cur/ +notmuch search --output=files "NOT path:pvkorytov_etu_mbox/Etu.Grad_School/cur/** AND path:pvkorytov_etu_mbox/** AND tag:etu.grad-school AND tag:pvkorytov" | xargs -I ! mv ! ~/Mail/pvkorytov_etu_mbox/Etu.Grad_School/cur/ +notmuch search --output=files "NOT path:pvkorytov_etu_mbox/Archive/cur/** AND path:pvkorytov_etu_mbox/** AND NOT tag:inbox AND NOT tag:sent AND NOT tag:spam AND NOT tag:trash AND NOT tag:job.digital AND NOT tag:job.digital.docs AND NOT tag:job.digital.support AND NOT tag:job.digital.superservice AND NOT tag:job.digital.applicants AND NOT tag:job.digital.testers AND NOT tag:job.moevm AND NOT tag:etu AND NOT tag:etu.grad-school AND tag:pvkorytov" | xargs -I ! mv ! ~/Mail/pvkorytov_etu_mbox/Archive/cur/ echo "Pre-new filters done" parallel --link -j0 "(cd /home/pavel/Mail/{1}/ && {2} {3})" ::: thexcloud progin6304 pvkorytov_etu ::: "$GMI" "$GMI" "offlineimap" ::: sync sync ""