diff --git a/afew.config b/afew.config new file mode 100644 index 0000000..8ce1a76 --- /dev/null +++ b/afew.config @@ -0,0 +1,364 @@ +[SpamFilter] + +[KillThreadsFilter] + +[HeaderMatchingFilter.1] +header = List-Id +pattern = main.agoranomic.groups.io +tags = +lists;+lists/agora-main-backup + +[HeaderMatchingFilter.2] +header = From +pattern = .*@noreply-pole-emploi.fr +tags = +lists;+lists/france-travail + +[HeaderMatchingFilter.3] +header = From +pattern = .*@stopkillinggames.com +tags = +lists;+lists/stop-killing-games + +[HeaderMatchingFilter.4] +header = From +pattern = newsletter@factorio.com +tags = +lists;+lists/factorio + +[HeaderMatchingFilter.5] +header = From +pattern = .*change.org +tags = +lists;+lists/change.org + +[HeaderMatchingFilter.6] +header = From +pattern = .*ea.com +tags = +lists;+lists/ea.com + +[HeaderMatchingFilter.7] +header = From +pattern = .*@roleplayingtips.com +tags = +lists;+lists/role-playing-tips + +[HeaderMatchingFilter.8] +header = From +pattern = .*@noreply.openstreetmap.org +tags = +lists;+lists/openstreetmap + +[HeaderMatchingFilter.9] +header = From +pattern = no-reply@(?P
.*).google.com +tags = +lists;+lists/google/{section} + +[HeaderMatchingFilter.10] +header = From +pattern = .*@welcometothejungle.com +tags = +lists;+lists/welcometothejungle + +[HeaderMatchingFilter.11] +header = From +pattern = .*@.*edenred.fr +tags = +lists;+lists/edenred + +[HeaderMatchingFilter.12] +header = From +pattern = .*@cnam-auvergnerhonealpes.com +tags = +lists;+lists/cnam;+lists/cnam/auvergnerhonealpes + +[HeaderMatchingFilter.13] +header = From +pattern = .*@.*.sncf.com +tags = +lists;+lists/sncf + +[HeaderMatchingFilter.14] +header = From +pattern = newsletters@trainzportal.com +tags = +lists;+lists/trainz + +[HeaderMatchingFilter.15] +header = From +pattern = .*@.*.xbox.com +tags = +lists;+lists/xbox + +[HeaderMatchingFilter.16] +header = From +pattern = jlfwong +tags = +lists;+lists/jlfwong + +[HeaderMatchingFilter.17] +header = From +pattern = noreply@webforce.life +tags = +lists;+lists/webforce3;+project/webforce3 + +[HeaderMatchingFilter.18] +header = From +pattern = infoemploi@wf3.fr +tags = +lists;+lists/webforce3;+project/webforce3 + +[HeaderMatchingFilter.19] +header = From +pattern = informatique@bm-grenoble.fr +tags = +lists;+lists/bibliotheques;+lists/bibliotheques/grenoble + +[HeaderMatchingFilter.20] +header = List-Id +pattern = public.listes.alolise.org +tags = +lists;+lists/alolise + +[HeaderMatchingFilter.21] +header = From +pattern = mail@typst.app +tags = +lists;+lists/typst + +[HeaderMatchingFilter.22] +header = From +pattern = noreply@discourse.doomemacs.org +tags = +lists;+lists/discourse;+lists/discours/doomemacs;+lists/doomemacs + +[HeaderMatchingFilter.23] +header = From +pattern = comic@mailing.xkcd.com +tags = +lists;+lists/comic;+lists/comic/xkcd + +[HeaderMatchingFilter.24] +header = From +pattern = info@info.alternatives-economiques.fr +tags = +lists;+lists/alternatives-economiques + +[HeaderMatchingFilter.25] +header = From +pattern = Email@CGPGrey.com +tags = +lists;+lists/cgp-grey + +[HeaderMatchingFilter.26] +header = From +pattern = roguelikecelebration@gmail.com +tags = +lists;+lists/roguelikecelebration + +[HeaderMatchingFilter.27] +header = From +pattern = googlealerts-noreply@google.com +tags = +lists;+lists/google/alerts + +[HeaderMatchingFilter.28] +header = List-Id +pattern = pmpc.community-emails.fsfe.org +tags = +lists;+lists/fsfe + +[HeaderMatchingFilter.29] +header = List-ID +pattern = logins.wakatime.com +tags = +lists;+lists/wakatime + +[HeaderMatchingFilter.30] +header = List-ID +pattern = end.of.year.report.wakatime.com +tags = +lists;+lists/wakatime + +[HeaderMatchingFilter.31] +header = List-Id +pattern = updates.wakatime.com +tags = +lists;+lists/wakatime + +[HeaderMatchingFilter.32] +header = From +pattern = do-no-reply@thangs.com +tags = +lists;+lists/thangs + +[HeaderMatchingFilter.33] +header = From +pattern = tinyprojectsdev@gmail.com +tags = +lists;+lists/tinyprojectsdev + +[HeaderMatchingFilter.34] +header = Subject +pattern = yearly.*report +tags = +report/yearly + +[HeaderMatchingFilter.35] +header = From +pattern = notifications@artstation.com +tags = +lists;+lists/artstation + +[HeaderMatchingFilter.36] +header = List-Id +pattern = troll.breizh-entropy.org +tags = +lists;+lists/breizh-entropy;+lists/breizh-entropy/troll + +[HeaderMatchingFilter.37] +header = From +pattern = robert@stuffwithstuff.com +tags = +lists;+lists/stuffwithstuff + +[HeaderMatchingFilter.38] +header = From +pattern = email@engage.windows.com +tags = +lists;+lists/microsoft + +[HeaderMatchingFilter.39] +header = From +pattern = support@worldbrain.io +tags = +lists;+lists/worldbrain;+lists/memex + +[HeaderMatchingFilter.40] +header = From +pattern = .*@.*mozilla.org +tags = +lists;+lists/mozilla + +[HeaderMatchingFilter.41] +header = From +pattern = googleaccount-noreply@google.com +tags = +lists;+lists/google/accounts + +[HeaderMatchingFilter.42] +header = From +pattern = .*@augobelinfarci.com +tags = +lists;+lists/gobelin-farci + +[HeaderMatchingFilter.43] +header = From +pattern = .*@pragmaticengineer.com +tags = +lists;+lists/pragmatic-engineer + +[HeaderMatchingFilter.44] +header = From +pattern = no-reply@youtube.com +tags = +lists;+lists/google/youtube + +[HeaderMatchingFilter.45] +header = From +pattern = .*@.*.cned.fr +tags = +lists;+lists/cned + +[HeaderMatchingFilter.46] +header = From +pattern = robert@lord.io +tags = +lists;+lists/lord + +[HeaderMatchingFilter.47] +header = From +pattern = crowdsource-noreply@google.com +tags = +lists;+lists/google/crowdsource + +[HeaderMatchingFilter.48] +header = From +pattern = .*@actux.eu.org +tags = +lists;+lists/actux + +[HeaderMatchingFilter.49] +header = List-Id +pattern = annonces.breizh-entropy.org +tags = +lists;+lists/breizh-entropy;+lists/breizh-entropy/annonces + +[ListMailsFilter] + +[ArchiveSentMailsFilter] + +[Filter.0] +message = Confirmation Codes +query = subject:"confirmation code" +tags = +confirmation-code + +[Filter.1] +message = Agora mail does not belong in the inbox +query = tag:(lists/agora-business lists/agora-official lists/agora-discussion) +tags = -new + +[Filter.2] +message = Someone signed in to your account +query = body:"Quelqu'un s'est connecté à votre compte" +tags = +notification;+notification/signin + +[Filter.3] +message = Roguelike Celebration +query = from:"Roguelike Celebration" +tags = +lists;+lists/roguelikecelebration + +[Filter.4] +message = Doctolib +query = from:no-reply@doctolib.fr +tags = +lists;+lists/doctolib;+medical + +[Filter.5] +message = Appointment Confirmed +query = subject:"RDV confirme" +tags = +appointment;+notification/appointment;+notification + +[Filter.6] +message = Linkedin +query = from:.*@linkedin.com +tags = +lists;+lists/linkedin;+subject:jobsearch + +[Filter.7] +message = Linkedin Invitation +query = from:invitations@linkedin.com +tags = +notification/linkedin/connection-request;+notification + +[Filter.8] +message = Bandcamp +query = from:noreply@bandcamp.com AND subject:"New release from" +tags = +notification/bandcamp/new-release;+notification;+lists;+lists/bandcamp + +[Filter.9] +message = BorgBase +query = from:support@borgbase.com +tags = +lists;+lists/borgbase + +[Filter.10] +message = BorgBase Monthly Report +query = from:support@borgbase.com AND subject:"Your monthly backup report" +tags = +report/borgbase/monthly + +[Filter.11] +message = Derin Edala +query = to:khais.colin+ttou@gmail.com +tags = +lists;+lists/derin-edala + +[Filter.12] +message = Charlie MacNamera +query = body:https://derinstories.com/2024/05/26/1-fuck-photography/ AND to:khais.colin+ttou@gmail.com AND tag:lists/derin-edala +tags = +stories;+stories/charlie-macnamera + +[Filter.13] +message = Amazon +query = from:.*@amazon.fr +tags = +lists;+lists/amazon + +[Filter.14] +message = Amazon Confirmation commande +tags = +notification;+notification/amazon;+notification/amazon/command-confirmation +query = from:confirmation-commande@amazon.fr + +[Filter.15] +message = New documents +tags = +task;+task/archive-document +query = subject:"Nouveaux documents partagés" subject:"Un document a été ajouté dans votre espace" + +[Filter.16] +message = From me +tags = +me +query = from:khais.colin@gmail.com from:kh.col@orange.fr from:logistic-bot@protonmail.com from:khais.colin@alolise.org + +[Filter.17] +message = 42 Le Havre +tags = +lists;+lists/42lehavre +query = from:no-reply@42lehavre.fr from:login@42lehavre.fr + +[Filter.18] +message = 42 event registration +tags = +notification;+notification/42lehavre;+notification/42lehavre/event/registration +query = from:no-reply@42lehavre.fr AND subject:"/^Inscription to.*/" + +[Filter.19] +message = 42 intra login +tags = +notification;+notification/42lehavre;+notification/42lehavre/intra/login +query = from:login@42lehavre.fr AND subject:"/^\[INTRA\]\[Sign In\] You signed in from.*/" + +[Filter.1000] +message = new tasks are todo +query = tag:task AND tag:new +tags = +todo + +[Filter.2000] +message = TEMP: Currently not reading derin edala stories +query = tag:lists/derin-edala +tags = -new + +[InboxFilter] diff --git a/doom.d/init.el b/doom.d/init.el index 5b947b9..d25432e 100644 --- a/doom.d/init.el +++ b/doom.d/init.el @@ -178,7 +178,7 @@ :email ;;(mu4e +org +gmail) - ;;notmuch + (notmuch +org +afew) ;;(wanderlust +gmail) :app diff --git a/home.nix b/home.nix index e0e9045..593d23f 100644 --- a/home.nix +++ b/home.nix @@ -35,6 +35,7 @@ in { discord # passwords bitwarden-desktop + bitwarden-cli # editors nixvim # make clipboard yanking work in neovim @@ -276,4 +277,59 @@ in { }; programs.rofi.enable = true; + + # email + programs.mbsync.enable = true; + programs.msmtp.enable = true; + + programs.lieer = { + enable = true; + }; + + accounts.email.accounts.gmail = { + address = "khais.colin@gmail.com"; + mbsync = { + enable = false; + create = "maildir"; + }; + lieer = { + enable = true; + settings.local_trash_tag = "killed"; + sync.enable = true; + }; + msmtp.enable = true; + notmuch.enable = true; + primary = true; + realName = "Khaïs COLIN"; + signature = { + text = '' + Cordialement, + -- Khaïs COLIN + ''; + showSignature = "append"; + }; + passwordCommand = "cat /home/khais/.home-manager-gmail-password"; + userName = "khais.colin@gmail.com"; + flavor = "gmail.com"; + }; + + programs.notmuch = { + enable = true; + new = { + tags = ["new" "unread"]; + }; + hooks = { + preNew = "gmi sync --path ~/Maildir/gmail; mbsync --all"; + postNew = "afew --verbose --tag --new"; + }; + search.excludeTags = [ + "killed" + "spam" + ]; + }; + + programs.afew = { + enable = true; + extraConfig = builtins.readFile ./afew.config; + }; }