email setup using emacs and notmuch
This commit is contained in:
parent
15c81b97d5
commit
4d77f320a6
3 changed files with 421 additions and 1 deletions
364
afew.config
Normal file
364
afew.config
Normal file
|
|
@ -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<section>.*).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]
|
||||
|
|
@ -178,7 +178,7 @@
|
|||
|
||||
:email
|
||||
;;(mu4e +org +gmail)
|
||||
;;notmuch
|
||||
(notmuch +org +afew)
|
||||
;;(wanderlust +gmail)
|
||||
|
||||
:app
|
||||
|
|
|
|||
56
home.nix
56
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;
|
||||
};
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue