2019-10-24 02:20:38 +02:00
|
|
|
# fetches mails for me
|
2019-12-20 05:54:26 +01:00
|
|
|
{ lib, pkgs, config, ... }: {
|
2020-01-16 09:42:57 +01:00
|
|
|
|
|
|
|
backup.all.restic.dirs = [ config.users.users.mailUser.home ];
|
|
|
|
|
2019-10-24 02:20:38 +02:00
|
|
|
users.users.mailUser = {
|
|
|
|
isNormalUser = true;
|
|
|
|
description = "collects mails for me";
|
|
|
|
hashedPassword = "!";
|
|
|
|
name = "mailfetcher";
|
2019-12-20 05:54:26 +01:00
|
|
|
openssh.authorizedKeys.keyFiles =
|
|
|
|
config.users.users.root.openssh.authorizedKeys.keyFiles;
|
2019-10-24 02:20:38 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
# configure passwords
|
|
|
|
krops.userKeys = {
|
|
|
|
"gmail.palipalo9" = {
|
|
|
|
user = config.users.users.mailUser.name;
|
|
|
|
source = toString <secrets/mail/gmail/palipalo9>;
|
2019-12-20 05:54:26 +01:00
|
|
|
requiredBy = [ "fetchmail.service" ];
|
2019-10-24 02:20:38 +02:00
|
|
|
};
|
|
|
|
"gmx.palo_van_dalo" = {
|
|
|
|
user = config.users.users.mailUser.name;
|
|
|
|
source = toString <secrets/mail/gmx/palo_van_dalo>;
|
2019-12-20 05:54:26 +01:00
|
|
|
requiredBy = [ "fetchmail.service" ];
|
2019-10-24 02:20:38 +02:00
|
|
|
};
|
|
|
|
"gmx.ingolf_wagner" = {
|
|
|
|
user = config.users.users.mailUser.name;
|
|
|
|
source = toString <secrets/mail/gmx/ingolf.wagner>;
|
2019-12-20 05:54:26 +01:00
|
|
|
requiredBy = [ "fetchmail.service" ];
|
2019-10-24 02:20:38 +02:00
|
|
|
};
|
|
|
|
"web.pali_palo" = {
|
|
|
|
user = config.users.users.mailUser.name;
|
|
|
|
source = toString <secrets/mail/web.de/pali_palo>;
|
2019-12-20 05:54:26 +01:00
|
|
|
requiredBy = [ "fetchmail.service" ];
|
2019-10-24 02:20:38 +02:00
|
|
|
};
|
|
|
|
"siteground.contact" = {
|
|
|
|
user = config.users.users.mailUser.name;
|
|
|
|
source = toString <secrets/mail/siteground/contact>;
|
2019-12-20 05:54:26 +01:00
|
|
|
requiredBy = [ "fetchmail.service" ];
|
2019-10-24 02:20:38 +02:00
|
|
|
};
|
2019-11-29 06:01:03 +01:00
|
|
|
"gaykraft.root" = {
|
|
|
|
user = config.users.users.mailUser.name;
|
|
|
|
source = toString <secrets/mail/gaykraft/root>;
|
2019-12-20 05:54:26 +01:00
|
|
|
requiredBy = [ "fetchmail.service" ];
|
2019-11-29 06:01:03 +01:00
|
|
|
};
|
2019-10-30 18:23:45 +01:00
|
|
|
"c-base.palo" = {
|
|
|
|
user = config.users.users.mailUser.name;
|
|
|
|
source = toString <secrets/mail/c-base/palo>;
|
2019-12-20 05:54:26 +01:00
|
|
|
requiredBy = [ "fetchmail.service" ];
|
2019-10-30 18:23:45 +01:00
|
|
|
};
|
2019-10-24 02:20:38 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
environment.systemPackages = [ pkgs.muchsync ];
|
|
|
|
|
|
|
|
# configure accounts
|
|
|
|
home-manager.users.mailUser.accounts.email = {
|
|
|
|
accounts = {
|
|
|
|
palo_van_dalo-gmx = {
|
|
|
|
primary = false;
|
|
|
|
address = "palo_van_dalo@gmx.de";
|
|
|
|
aliases = [ ];
|
|
|
|
realName = "Ingolf Wagner";
|
|
|
|
userName = "palo_van_dalo@gmx.de";
|
2019-12-20 05:54:26 +01:00
|
|
|
passwordCommand =
|
|
|
|
"cat ${toString config.krops.userKeys."gmx.palo_van_dalo".target}";
|
2019-10-24 02:20:38 +02:00
|
|
|
imap = {
|
|
|
|
host = "imap.gmx.net";
|
|
|
|
port = 993;
|
|
|
|
};
|
|
|
|
mbsync = {
|
|
|
|
enable = true;
|
|
|
|
create = "both";
|
|
|
|
};
|
|
|
|
notmuch.enable = true;
|
|
|
|
};
|
|
|
|
ingolf-wagner-gmx = {
|
|
|
|
primary = false;
|
|
|
|
address = "ingolf.wagner@gmx.de";
|
|
|
|
aliases = [ ];
|
|
|
|
realName = "Ingolf Wagner";
|
|
|
|
userName = "ingolf.wagner@gmx.de";
|
2019-12-20 05:54:26 +01:00
|
|
|
passwordCommand =
|
|
|
|
"cat ${toString config.krops.userKeys."gmx.ingolf_wagner".target}";
|
2019-10-24 02:20:38 +02:00
|
|
|
|
|
|
|
imap = {
|
|
|
|
host = "imap.gmx.net";
|
|
|
|
port = 993;
|
|
|
|
};
|
|
|
|
mbsync = {
|
|
|
|
enable = true;
|
|
|
|
create = "both";
|
|
|
|
};
|
|
|
|
notmuch.enable = true;
|
|
|
|
};
|
2019-11-29 06:01:03 +01:00
|
|
|
#gaykraft = {
|
|
|
|
# primary = false;
|
|
|
|
# address = "root@gaykraft.com";
|
|
|
|
# aliases = [ ];
|
|
|
|
# realName = "Ingolf Wagner";
|
|
|
|
# userName = "root@gaykraft.com";
|
|
|
|
# passwordCommand = "cat ${toString config.krops.userKeys."gaykraft.root".target}";
|
|
|
|
# imap = {
|
|
|
|
# host = "mail.gaykraft.com";
|
|
|
|
# port = 993;
|
|
|
|
# tls.certificatesFile =
|
|
|
|
# pkgs.writeText "gaykraft.pem" ''
|
|
|
|
# -----BEGIN CERTIFICATE-----
|
|
|
|
# MIIDfzCCAmcCFBMAAMjIQnhYR9w+KIlfG8zLhM06MA0GCSqGSIb3DQEBCwUAMH8x
|
|
|
|
# CzAJBgNVBAYTAlVLMRUwEwYDVQQIDAxXYXJ3aWNrc2hpcmUxEzARBgNVBAcMCkxl
|
|
|
|
# YW1pbmd0b24xEDAOBgNVBAoMB09yZ05hbWUxHDAaBgNVBAsME1NlY3VyaXR5IERl
|
|
|
|
# cGFydG1lbnQxFDASBgNVBAMMC2V4YW1wbGUuY29tMB4XDTE5MTEyNzAxNTU1NloX
|
|
|
|
# DTE5MTEyODAxNTU1NloweTELMAkGA1UEBhMCVUsxFTATBgNVBAgMDFdhcndpY2tz
|
|
|
|
# aGlyZTETMBEGA1UEBwwKTGVhbWluZ3RvbjEQMA4GA1UECgwHT3JnTmFtZTEWMBQG
|
|
|
|
# A1UECwwNSVQgRGVwYXJ0bWVudDEUMBIGA1UEAwwLZXhhbXBsZS5jb20wggEiMA0G
|
|
|
|
# CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDAJwAMze7u3I3D2z2cT7IrBeyDHfdu
|
|
|
|
# 5kCK9jZbYoU4wT7kNz/hD3BVe8BvUSNAEVJk/oPaE6v5PuFT2hAasoOhEEEr5Tt4
|
|
|
|
# xp1MRItjxu+SUs7uZ+LpocZC4NNGb6/LPcmgthC4w8jj/JtZmcoStFqAAOqkdb6d
|
|
|
|
# tuf5lYHPxdFKRw2wgc/4pQo2PeeWder8NFoILC7Yh12zab7H2camobbbJl4tZPvJ
|
|
|
|
# z1FBk0WfeZLsUZ+2tdtginTOszsjPngygsUdQVnxfQeWBkVFXcZTHg/fELaW5uwV
|
|
|
|
# E4WIE5PZASlVwYV+gRqwM0312VW8zGF/JnwMT9hlcA27mwLBK8C4KoxRAgMBAAEw
|
|
|
|
# DQYJKoZIhvcNAQELBQADggEBAIBWcdnQbRdgxI3DXCi+IY+u+0nGrt/dduDzSqlt
|
|
|
|
# y0AFpRat4CImtgaG0jb7BDDEWTCycYFB+ABqUovQcJ5jjR/aq8Rfj2QD3nqIButg
|
|
|
|
# PyQvyYn5Z5Rx6h9aF7IOu5Eo/r/a73zJXK6iOLoLhD/e2mSIsNCW8hfbSLgPdEHH
|
|
|
|
# S14BxfacU0u1Pyh1WNprZ0C1HkJPJ/A0MZYRy4bJ5tYSO+ddcmYHbj8/ds728i8U
|
|
|
|
# L6/ijQaZ0q+lO/IXUFYODLkRcFAitg3fp/rj6D0lRMGlZKdMgI1OT6ziZm/Y074I
|
|
|
|
# yRo1wgUnGy6BOCZeHnZ9xa/q6huv9QZZGt6VtQFgnKpNNOY=
|
|
|
|
# -----END CERTIFICATE-----
|
|
|
|
# '';
|
|
|
|
# };
|
|
|
|
# mbsync = {
|
|
|
|
# enable = true;
|
|
|
|
# create = "both";
|
|
|
|
# };
|
|
|
|
# notmuch.enable = true;
|
|
|
|
#};
|
2019-10-24 02:20:38 +02:00
|
|
|
pali_palo = {
|
|
|
|
primary = false;
|
|
|
|
address = "pali_palo@web.de";
|
|
|
|
aliases = [ ];
|
|
|
|
realName = "Ingolf Wagner";
|
|
|
|
userName = "pali_palo@web.de";
|
2019-12-20 05:54:26 +01:00
|
|
|
passwordCommand =
|
|
|
|
"cat ${toString config.krops.userKeys."web.pali_palo".target}";
|
2019-10-24 02:20:38 +02:00
|
|
|
imap = {
|
|
|
|
host = "imap.web.de";
|
|
|
|
port = 993;
|
|
|
|
};
|
|
|
|
mbsync = {
|
|
|
|
enable = true;
|
|
|
|
create = "both";
|
|
|
|
};
|
|
|
|
notmuch.enable = true;
|
|
|
|
};
|
2019-10-30 18:23:45 +01:00
|
|
|
c-base = {
|
|
|
|
primary = false;
|
|
|
|
address = "palo@c-base.org";
|
|
|
|
aliases = [ ];
|
|
|
|
realName = "Ingolf Wagner";
|
|
|
|
userName = "palo";
|
2019-12-20 05:54:26 +01:00
|
|
|
passwordCommand =
|
|
|
|
"cat ${toString config.krops.userKeys."c-base.palo".target}";
|
2019-10-30 18:23:45 +01:00
|
|
|
imap = {
|
|
|
|
host = "c-mail.c-base.org";
|
|
|
|
port = 993;
|
|
|
|
# fetched using : nix-shell -p openssl --run "openssl s_client -connect c-mail.c-base.org:993 -showcerts"
|
2019-12-20 05:54:26 +01:00
|
|
|
tls.certificatesFile = pkgs.writeText "c-base.pem" ''
|
|
|
|
-----BEGIN CERTIFICATE-----
|
|
|
|
MIIFKDCCAxCgAwIBAgIDAtwrMA0GCSqGSIb3DQEBDQUAMFQxFDASBgNVBAoTC0NB
|
|
|
|
Y2VydCBJbmMuMR4wHAYDVQQLExVodHRwOi8vd3d3LkNBY2VydC5vcmcxHDAaBgNV
|
|
|
|
BAMTE0NBY2VydCBDbGFzcyAzIFJvb3QwHhcNMTkxMTA5MDgzMjUyWhcNMjExMTA4
|
|
|
|
MDgzMjUyWjBhMQswCQYDVQQGEwJERTEPMA0GA1UECBMGQmVybGluMQ8wDQYDVQQH
|
|
|
|
EwZCZXJsaW4xFDASBgNVBAoTC2MtYmFzZSBlLlYuMRowGAYDVQQDExFjLW1haWwu
|
|
|
|
Yy1iYXNlLm9yZzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKR3XBxJ
|
|
|
|
72MayCS0D5GCoHcY0TQLs1DQSohCCobRdSowFJzNQw/2lL6bb+Q2rmevZQXuM4vP
|
|
|
|
YbFytvTDmY5y5MNXEqGLfi8D5TcaP/RdXWQU++yUunE6yMdqZNheeXPjM//PnoXG
|
|
|
|
DyT236BovEi3YipUUsLXFiRj+cAjrQE7a2YUs3fjV3P6grMH0V06J6P6+JJvRgp2
|
|
|
|
K33uhKhnKyb3s1tbdbu1KeGozx2ws9lg79XV+Py6PXxP6jTZ2PCsaxs3BThSdmsl
|
|
|
|
vQyk/zoW7tA1m2ntRCoyFHZqfOHsN3UOS/HDRlXqgSf0ah8cPYPsl0ayXhgOv0Tu
|
|
|
|
1PSMt4Ve2GajX8MCAwEAAaOB9TCB8jAMBgNVHRMBAf8EAjAAMA4GA1UdDwEB/wQE
|
|
|
|
AwIDqDA0BgNVHSUELTArBggrBgEFBQcDAgYIKwYBBQUHAwEGCWCGSAGG+EIEAQYK
|
|
|
|
KwYBBAGCNwoDAzAzBggrBgEFBQcBAQQnMCUwIwYIKwYBBQUHMAGGF2h0dHA6Ly9v
|
|
|
|
Y3NwLmNhY2VydC5vcmcvMDgGA1UdHwQxMC8wLaAroCmGJ2h0dHA6Ly9jcmwuY2Fj
|
|
|
|
ZXJ0Lm9yZy9jbGFzczMtcmV2b2tlLmNybDAtBgNVHREEJjAkghFjLW1haWwuYy1i
|
|
|
|
YXNlLm9yZ4IPbWFpbC5jLWJhc2Uub3JnMA0GCSqGSIb3DQEBDQUAA4ICAQBjTIa1
|
|
|
|
xdhUYXJidv1U0qaqSV1DzumakFY20OM4QCV0Qvlq+SQUqroGBTIGodxhTnjG5o01
|
|
|
|
4xBAnsTcMRNycXHu0j6XYqDS4QhaFcGdFmXP0EQfAFbvhwZdbvgiRHuUTSGEbcLp
|
|
|
|
Vk8sP8dpzx+zMAZ6PL7XMwPFPTHm7vw40qmTyCuUcnhIwHgwGxu4yu0tdsU+VwRD
|
|
|
|
RVsdZO4V2GhFTz8oRcHvmC2wmx+Zwx0RXWPXSN5yRDDZWwY4WbECa2MvojH1HlJG
|
|
|
|
YJkokq7nbYJix/RipSkAXgurcgppVmM5cf7uYgSrltW8pm3IMMPrlaFrlzMMMtdq
|
|
|
|
SYFk+FDp296B7CDyWpQhDcVjnGQ70JfMWT5S3Lsi8DnI2pul9ljxPOt+Q8XFh1oz
|
|
|
|
Ofr7y5Qjm72YToOX1j7N8ppCh0RJH4lOsouTPVdp859ch9FxZdceq+nC744wv+Nt
|
|
|
|
TQPw15Gk3RY5mVYBE/Cw2T7j7qDmBaEUKxkfW7q8t287FXM4XX6C+cKYr6jYx6s1
|
|
|
|
5/2p4gCuOALYqJ7kD2xjci0VTWu77H4J2QKEZF8AgdI36dIYr7GY0e/+xb/CScwr
|
|
|
|
uvu2R9jfPOMVu6CiavPGUtcvju4A+qMUDqIyH9dNwkMQRffAtmsF6KR4nMYxhr45
|
|
|
|
nKY1BaufWLD1UWrjaR1IF6L5qDHOXeMJEChYkg==
|
|
|
|
-----END CERTIFICATE-----'';
|
2019-10-30 18:23:45 +01:00
|
|
|
};
|
|
|
|
mbsync = {
|
|
|
|
enable = true;
|
|
|
|
create = "both";
|
|
|
|
};
|
|
|
|
notmuch.enable = true;
|
|
|
|
};
|
2019-10-24 02:20:38 +02:00
|
|
|
gmail = {
|
|
|
|
# for google accounts you have to allow 'less secure apps' in accounts.google.com
|
|
|
|
primary = true;
|
|
|
|
address = "palipalo9@googlemail.com";
|
|
|
|
aliases = [ ];
|
|
|
|
realName = "Ingolf Wagner";
|
|
|
|
userName = "palipalo9@googlemail.com";
|
2019-12-20 05:54:26 +01:00
|
|
|
passwordCommand =
|
|
|
|
"cat ${toString config.krops.userKeys."gmail.palipalo9".target}";
|
2019-10-24 02:20:38 +02:00
|
|
|
imap = {
|
|
|
|
host = "imap.gmail.com";
|
|
|
|
port = 993;
|
|
|
|
};
|
|
|
|
mbsync = {
|
|
|
|
enable = true;
|
|
|
|
create = "both";
|
|
|
|
};
|
|
|
|
notmuch.enable = true;
|
|
|
|
};
|
2019-12-06 06:21:32 +01:00
|
|
|
ingolf-wagner-de = {
|
2019-10-24 02:20:38 +02:00
|
|
|
primary = false;
|
|
|
|
address = "contact@ingolf-wagner.de";
|
|
|
|
aliases = [ ];
|
|
|
|
realName = "Ingolf Wagner";
|
|
|
|
userName = "contact@ingolf-wagner.de";
|
2019-12-20 05:54:26 +01:00
|
|
|
passwordCommand =
|
|
|
|
"cat ${toString config.krops.userKeys."siteground.contact".target}";
|
2019-10-24 02:20:38 +02:00
|
|
|
imap = {
|
|
|
|
host = "securees5.sgcpanel.com";
|
|
|
|
port = 143;
|
|
|
|
tls.useStartTls = true;
|
|
|
|
};
|
2019-12-06 06:21:32 +01:00
|
|
|
# make sure the upstream mail is deleted
|
|
|
|
getmail = {
|
2019-10-24 02:20:38 +02:00
|
|
|
enable = true;
|
2019-12-06 06:21:32 +01:00
|
|
|
delete = true;
|
2019-12-06 22:09:09 +01:00
|
|
|
readAll = false;
|
2019-12-06 06:21:32 +01:00
|
|
|
mailboxes = [ "ALL" ];
|
2019-10-24 02:20:38 +02:00
|
|
|
};
|
2019-12-06 06:21:32 +01:00
|
|
|
#mbsync = {
|
|
|
|
# enable = true;
|
|
|
|
# create = "both";
|
|
|
|
#};
|
2019-10-24 02:20:38 +02:00
|
|
|
notmuch.enable = true;
|
|
|
|
};
|
2019-12-06 06:21:32 +01:00
|
|
|
#ingolf-wagner = {
|
|
|
|
# primary = false;
|
|
|
|
# address = "contact@ingolf-wagner.de";
|
|
|
|
# aliases = [ ];
|
|
|
|
# realName = "Ingolf Wagner";
|
|
|
|
# userName = "contact@ingolf-wagner.de";
|
|
|
|
# passwordCommand = "cat ${toString config.krops.userKeys."siteground.contact".target}";
|
|
|
|
# imap = {
|
|
|
|
# host = "securees5.sgcpanel.com";
|
|
|
|
# port = 143;
|
|
|
|
# tls.useStartTls = true;
|
|
|
|
# };
|
|
|
|
# mbsync = {
|
|
|
|
# enable = true;
|
|
|
|
# create = "both";
|
|
|
|
# };
|
|
|
|
# notmuch.enable = true;
|
|
|
|
#};
|
2019-10-24 02:20:38 +02:00
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
# configure mbsync
|
|
|
|
home-manager.users.mailUser.programs.mbsync.enable = true;
|
2020-01-23 11:07:28 +01:00
|
|
|
|
|
|
|
# re-tag everything once a day
|
|
|
|
systemd.services.retagmail = {
|
|
|
|
enable = true;
|
|
|
|
serviceConfig = { User = config.users.users.mailUser.name; };
|
|
|
|
environment.NOTMUCH_CONFIG =
|
|
|
|
"${config.users.users.mailUser.home}/.config/notmuch/notmuchrc";
|
|
|
|
script = ''
|
|
|
|
echo "run afew"
|
|
|
|
${pkgs.afew}/bin/afew --all --tag -v
|
|
|
|
'';
|
|
|
|
};
|
|
|
|
systemd.timers.retagmail = {
|
|
|
|
enable = true;
|
|
|
|
timerConfig = {
|
|
|
|
OnCalendar = "daily";
|
|
|
|
Persistent = "true";
|
|
|
|
};
|
|
|
|
wantedBy = [ "multi-user.target" ];
|
|
|
|
};
|
|
|
|
|
|
|
|
# fetch mails every 10 minutes
|
2019-10-24 02:20:38 +02:00
|
|
|
systemd.services.fetchmail = {
|
|
|
|
enable = true;
|
2019-12-20 05:54:26 +01:00
|
|
|
serviceConfig = { User = config.users.users.mailUser.name; };
|
|
|
|
environment.NOTMUCH_CONFIG =
|
|
|
|
"${config.users.users.mailUser.home}/.config/notmuch/notmuchrc";
|
2019-10-24 02:20:38 +02:00
|
|
|
script = ''
|
|
|
|
echo "run mbsync"
|
|
|
|
${pkgs.isync}/bin/mbsync \
|
|
|
|
--all
|
2019-12-06 06:21:32 +01:00
|
|
|
|
|
|
|
echo "run getmail"
|
2019-12-06 22:09:09 +01:00
|
|
|
${pkgs.getmail}/bin/getmail \
|
|
|
|
--quiet \
|
|
|
|
--rcfile getmailingolf-wagner-de
|
2019-12-06 06:21:32 +01:00
|
|
|
|
2019-10-24 02:20:38 +02:00
|
|
|
echo "run notmuch"
|
|
|
|
${pkgs.notmuch}/bin/notmuch new
|
|
|
|
echo "run afew"
|
|
|
|
${pkgs.afew}/bin/afew --new --tag -v
|
2019-12-20 05:54:26 +01:00
|
|
|
'';
|
2019-10-24 02:20:38 +02:00
|
|
|
};
|
|
|
|
systemd.timers.fetchmail = {
|
|
|
|
enable = true;
|
|
|
|
# timerConfig.OnCalendar = " *-*-* *:00:00";
|
|
|
|
timerConfig.OnCalendar = "*:0/10";
|
2019-12-20 05:54:26 +01:00
|
|
|
wantedBy = [ "multi-user.target" ];
|
2019-10-24 02:20:38 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
# configure notmuch
|
|
|
|
home-manager.users.mailUser.programs.notmuch = {
|
|
|
|
enable = true;
|
|
|
|
new.tags = [ "unread" "inbox" "new" ];
|
|
|
|
};
|
|
|
|
home-manager.users.mailUser.home.file."notmuch" = {
|
|
|
|
source = "${config.users.users.mailUser.home}/.config/notmuch/notmuchrc";
|
|
|
|
target = ".notmuch-config";
|
|
|
|
};
|
|
|
|
|
|
|
|
# a few config
|
|
|
|
home-manager.users.mailUser.programs.afew = {
|
2019-12-20 05:54:26 +01:00
|
|
|
enable = true;
|
|
|
|
extraConfig = with lib;
|
|
|
|
let
|
2019-10-24 02:20:38 +02:00
|
|
|
|
2019-12-20 05:54:26 +01:00
|
|
|
template = index:
|
|
|
|
{ tags, query, message ? "generic", ... }: ''
|
|
|
|
[Filter.${toString index}]
|
|
|
|
query = ${query}
|
|
|
|
tags = ${concatStringsSep ";" tags}
|
|
|
|
message = ${message}
|
|
|
|
'';
|
2019-10-24 02:20:38 +02:00
|
|
|
|
|
|
|
filters = [
|
|
|
|
|
2019-12-20 05:54:26 +01:00
|
|
|
{
|
|
|
|
query = "from:linkedin.com";
|
|
|
|
tags = [ "+linked" "+jobs" ];
|
|
|
|
}
|
|
|
|
{
|
|
|
|
query = "from:computerfutures.com OR from:computerfutures.de";
|
|
|
|
tags = [ "+jobs" "-inbox" ];
|
|
|
|
}
|
|
|
|
{
|
2020-01-16 09:42:57 +01:00
|
|
|
query = "from:seek.com.au or from:seek.co.nz";
|
2019-12-20 05:54:26 +01:00
|
|
|
tags = [ "+jobs" ];
|
|
|
|
}
|
|
|
|
{
|
|
|
|
query = "from:xing.com";
|
|
|
|
tags = [ "+jobs" "-inbox" ];
|
|
|
|
}
|
2019-11-25 23:09:32 +01:00
|
|
|
|
2019-12-20 05:54:26 +01:00
|
|
|
{
|
|
|
|
query = "from:no-reply@backtrace.io";
|
|
|
|
tags = [ "+sononym" "-inbox" "-unread" ];
|
|
|
|
}
|
|
|
|
{
|
|
|
|
query = "from:ebay.com OR from:ebay.de OR from:ebay.net";
|
|
|
|
tags = [ "+ebay" "+shop" "+billing" ];
|
|
|
|
}
|
|
|
|
{
|
|
|
|
query = "from:bahn.de";
|
|
|
|
tags = [ "+billing" "+bahn" ];
|
|
|
|
}
|
|
|
|
{
|
|
|
|
query =
|
|
|
|
"from:fysitech.atlassian.net OR to:engiadina-pwa@noreply.github.com";
|
|
|
|
tags = [ "+mia" "+work" "-unread" "-inbox" ];
|
|
|
|
}
|
2020-01-27 23:25:46 +01:00
|
|
|
{
|
|
|
|
query = "from:turners.co.nz";
|
|
|
|
tags = [ "+junk" "-unread" "-inbox" ];
|
|
|
|
}
|
|
|
|
{
|
|
|
|
query = "from:codepen.io";
|
|
|
|
tags = [ "+junk" "-unread" "-inbox" ];
|
|
|
|
}
|
|
|
|
{
|
|
|
|
query = "from:mailings.web.de";
|
|
|
|
tags = [ "+junk" "-unread" "-inbox" ];
|
|
|
|
}
|
2019-12-20 05:54:26 +01:00
|
|
|
{
|
|
|
|
query =
|
|
|
|
"from:circleci.com OR (from:noreply@github.com AND to:audio-overlay@googlegroups.com)";
|
|
|
|
tags = [ "-inbox" "-unread" "+junk" ];
|
|
|
|
}
|
|
|
|
{
|
|
|
|
query = "from:getdigital.de";
|
|
|
|
tags = [ "-inbox" "-unread" "+junk" ];
|
|
|
|
}
|
|
|
|
{
|
|
|
|
query = "from:digitalo.de";
|
|
|
|
tags = [ "-inbox" "-unread" "+junk" ];
|
|
|
|
}
|
|
|
|
{
|
|
|
|
query = "from:puppet.com";
|
|
|
|
tags = [ "-inbox" "-unread" "+junk" ];
|
|
|
|
}
|
|
|
|
{
|
|
|
|
query = "from:mixcloudmail.com AND subject:Weekly Update";
|
|
|
|
tags = [ "-inbox" "-unread" "+junk" ];
|
|
|
|
}
|
|
|
|
{
|
|
|
|
query = "from:facebook.com OR from:facebookmail.com";
|
|
|
|
tags = [ "-inbox" "-unread" "+junk" ];
|
|
|
|
}
|
|
|
|
{
|
|
|
|
query = "from:getpocket.com";
|
|
|
|
tags = [ "-inbox" "-unread" "+junk" ];
|
|
|
|
}
|
|
|
|
{
|
|
|
|
query = "from:oknotify2.com";
|
|
|
|
tags = [ "+okcupid" ];
|
|
|
|
}
|
|
|
|
{
|
|
|
|
query = "from:oknotify2.com AND NOT subject:New message";
|
|
|
|
tags = [ "-inbox" "-unread" "+junk" ];
|
|
|
|
}
|
|
|
|
{
|
|
|
|
query = "from:paulaschoice.com";
|
|
|
|
tags = [ "-inbox" "-unread" "+junk" ];
|
|
|
|
}
|
|
|
|
{
|
|
|
|
query =
|
|
|
|
"from:samplemagic.com OR from:wavealchemy.co.uk OR from:creators.gumroad.com";
|
|
|
|
tags = [ "-inbox" "-unread" "+junk" ];
|
|
|
|
}
|
|
|
|
{
|
|
|
|
query = "from:immobilienscout24.de";
|
|
|
|
tags = [ "-inbox" "-unread" "+junk" ];
|
|
|
|
}
|
|
|
|
{
|
|
|
|
query = "from:magix.net";
|
|
|
|
tags = [ "-inbox" "-unread" "+junk" ];
|
|
|
|
}
|
|
|
|
{
|
|
|
|
query = "from:booking.com";
|
|
|
|
tags = [ "-inbox" "-unread" "+junk" ];
|
|
|
|
}
|
|
|
|
{
|
|
|
|
query = "from:hackster.io";
|
|
|
|
tags = [ "-inbox" "-unread" "+junk" ];
|
|
|
|
}
|
|
|
|
{
|
|
|
|
query = "from:trade4less.de";
|
|
|
|
tags = [ "-inbox" "-unread" "+junk" ];
|
|
|
|
}
|
|
|
|
{
|
|
|
|
query = "from:taxback.de OR to:taxback.de";
|
|
|
|
tags = [ "+steuer" ];
|
|
|
|
}
|
|
|
|
{
|
|
|
|
query = "from:campact.de";
|
|
|
|
tags = [ "+campact" "+politics" ];
|
|
|
|
}
|
|
|
|
{
|
|
|
|
query = "from:menospese.com";
|
|
|
|
tags = [ "+junk" "-unread" "-inbox" ];
|
|
|
|
}
|
|
|
|
{
|
|
|
|
query = "from:aliexpress.com";
|
|
|
|
tags = [ "+shop" "+aliexpress" ];
|
|
|
|
}
|
|
|
|
{
|
|
|
|
query = "from:congstar.de";
|
|
|
|
tags = [ "+billing" "+congstar" "-inbox" "-unread" ];
|
|
|
|
}
|
|
|
|
{
|
|
|
|
query = "from:congstarnews.de";
|
|
|
|
tags = [ "+congstar" "-inbox" "-unread" "+junk" ];
|
|
|
|
}
|
|
|
|
{
|
|
|
|
query = "from:fitnessfirst.de";
|
|
|
|
tags = [ "-inbox" "-unread" "+junk" ];
|
|
|
|
}
|
|
|
|
{
|
|
|
|
query =
|
|
|
|
"from:steampowered.com AND NOT ( subject:purchase OR subject:received )";
|
|
|
|
tags = [ "-inbox" "-unread" ];
|
|
|
|
}
|
|
|
|
{
|
|
|
|
query =
|
|
|
|
"from:steampowered.com AND ( subject:purchase OR subject:received )";
|
|
|
|
tags = [ "+billing" "+steam" ];
|
|
|
|
}
|
|
|
|
{
|
|
|
|
query = "from:gog.com AND NOT subject:Bestellung";
|
|
|
|
tags = [ "-inbox" "-unread" ];
|
|
|
|
}
|
|
|
|
{
|
|
|
|
query = "from:gog.com AND subject:Bestellung";
|
|
|
|
tags = [ "+billing" "+gog" ];
|
|
|
|
}
|
|
|
|
{
|
|
|
|
query = "from:drive-now.com";
|
|
|
|
tags = [ "+billing" "+drivenow" "-inbox" "-unread" ];
|
|
|
|
}
|
2020-01-25 07:13:03 +01:00
|
|
|
{
|
|
|
|
query = "from:tinc-vpn.org";
|
|
|
|
tags = [ "+tinc" ];
|
|
|
|
}
|
2019-12-20 05:54:26 +01:00
|
|
|
{
|
|
|
|
query = "from:mindfactory.de";
|
|
|
|
tags = [ "+shop" "+billing" ];
|
|
|
|
}
|
|
|
|
{
|
|
|
|
query = "from:zalando.de";
|
|
|
|
tags = [ "+shop" "+billing" "+zalando" ];
|
|
|
|
}
|
|
|
|
{
|
|
|
|
query = "from:ing.de";
|
|
|
|
tags = [ "+bank" "+ingdiba" ];
|
|
|
|
}
|
|
|
|
{
|
|
|
|
query = "from:nab.com.au";
|
|
|
|
tags = [ "+bank" "+nab" "-inbox" "-unread" ];
|
|
|
|
}
|
|
|
|
{
|
|
|
|
query = "from:dkb.de";
|
|
|
|
tags = [ "+bank" "+dkb" ];
|
|
|
|
}
|
|
|
|
{
|
|
|
|
query = "from:o2online.de";
|
|
|
|
tags = [ "+billing" "+o2" ];
|
|
|
|
}
|
|
|
|
{
|
|
|
|
query = "from:betfair.com";
|
|
|
|
tags = [ "+work" "+betfair" ];
|
|
|
|
}
|
|
|
|
{
|
|
|
|
query = "from:ghostinspector.com";
|
|
|
|
tags = [ "-unread" "-inbox" "+junk" ];
|
|
|
|
}
|
|
|
|
{
|
|
|
|
query = "from:travis-ci.org AND subject:csv-to-qif";
|
|
|
|
tags = [ "+development" "+csv-to-qif" ];
|
|
|
|
}
|
|
|
|
{
|
|
|
|
query = "to:proaudio@lists.tuxfamily.org";
|
|
|
|
tags = [ "-inbox" "-unread" ];
|
|
|
|
}
|
|
|
|
{
|
2020-01-23 11:07:28 +01:00
|
|
|
query = "from:nixos1@discoursemail.com";
|
2019-12-20 05:54:26 +01:00
|
|
|
tags = [ "+nixos" "+discourse" ];
|
|
|
|
}
|
|
|
|
{
|
|
|
|
query = "from:limebike.com AND (subject:Funds OR subject:Receipt)";
|
|
|
|
tags = [ "-inbox" "-unread" "+billing" "+limebike" ];
|
|
|
|
}
|
|
|
|
{
|
|
|
|
query = "from:hetzner.com OR from:hetzner.de";
|
|
|
|
tags = [ "+hetzner" ];
|
|
|
|
}
|
|
|
|
{
|
|
|
|
query = "from:freemusicarchive.org";
|
|
|
|
tags = [ "+FMA" ];
|
|
|
|
}
|
|
|
|
{
|
|
|
|
query = "from:namecheap.com";
|
|
|
|
tags = [ "+namecheap" "+billing" ];
|
|
|
|
}
|
|
|
|
{
|
|
|
|
query = "from:nintendo.com";
|
|
|
|
tags = [ "+nintendo" "+billing" ];
|
|
|
|
}
|
|
|
|
{
|
|
|
|
query = "from:oculus.com AND subject:receipt";
|
|
|
|
tags = [ "+oculus" "+billing" ];
|
|
|
|
}
|
|
|
|
{
|
|
|
|
query = "from:vstbuzz.com";
|
|
|
|
tags = [ "+junk" "-inbox" ];
|
|
|
|
}
|
|
|
|
{
|
|
|
|
query = "from:runtastic.com";
|
|
|
|
tags = [ "+junk" "-inbox" ];
|
|
|
|
}
|
|
|
|
{
|
|
|
|
query = "from:letterboxd.com";
|
|
|
|
tags = [ "+junk" "-inbox" ];
|
|
|
|
}
|
|
|
|
{
|
|
|
|
query = "from::microsoftstoreemail.com";
|
|
|
|
tags = [ "+junk" "-inbox" ];
|
|
|
|
}
|
|
|
|
{
|
|
|
|
query = "from:car2go.com";
|
|
|
|
tags = [ "-inbox" "-unread" ];
|
|
|
|
}
|
|
|
|
{
|
|
|
|
query = "from:sixt.de";
|
|
|
|
tags = [ "-inbox" "-unread" ];
|
|
|
|
}
|
|
|
|
{
|
|
|
|
query = "from:meetup.com";
|
|
|
|
tags = [ "-inbox" "-unread" "+meetup" ];
|
|
|
|
}
|
|
|
|
{
|
|
|
|
query = "from:slack.com";
|
|
|
|
tags = [ "+slack" ];
|
|
|
|
}
|
|
|
|
{
|
|
|
|
query = "from:keybase.io";
|
|
|
|
tags = [ "+keybase" ];
|
|
|
|
}
|
|
|
|
{
|
|
|
|
query = "from:tumblr.com";
|
|
|
|
tags = [ "+junk" "-inbox" "-unread" ];
|
|
|
|
}
|
|
|
|
{
|
|
|
|
query = "from:jobs2web.com";
|
|
|
|
tags = [ "+newzealand" "+jobs" "-inbox" ];
|
|
|
|
}
|
|
|
|
{
|
|
|
|
query = "from:mailings.gmx.net";
|
|
|
|
tags = [ "+junk" "-inbox" "-unread" ];
|
|
|
|
}
|
|
|
|
{
|
|
|
|
query = "from:paypal.de AND subject:Bestätigung";
|
|
|
|
tags = [ "-unread" "+paypal" "+billing" ];
|
|
|
|
}
|
|
|
|
{
|
|
|
|
query = "to:c-base.org";
|
|
|
|
tags = [ "+cbase" ];
|
|
|
|
}
|
|
|
|
{
|
|
|
|
query = "to:c-base.org AND subject=[auto-report]";
|
|
|
|
tags = [ "-unread" "-inbox" ];
|
|
|
|
}
|
2019-10-24 02:20:38 +02:00
|
|
|
|
|
|
|
{
|
2019-12-20 05:54:26 +01:00
|
|
|
query =
|
|
|
|
"to:renoise@ingolf-wagner.de OR to:root@renoise.com OR from:renoise.com OR to:admin@renoise.com";
|
|
|
|
tags = [ "+renoise" ];
|
|
|
|
}
|
|
|
|
{
|
|
|
|
query = "from:amazon.de OR from:amazon.com AND NOT to:renoise.com";
|
|
|
|
tags = [ "+shop" "+amazon" "+billing" ];
|
|
|
|
}
|
|
|
|
{
|
|
|
|
query =
|
|
|
|
"to:renoise.com AND NOT ( from:renoise.com OR from:root OR from:hetzner.com OR from:hetzner.de OR from:amazon.com OR from:gmail.com )";
|
2019-10-24 02:20:38 +02:00
|
|
|
tags = [ "-inbox" "-unread" "+junk" "+renoise" ];
|
|
|
|
}
|
|
|
|
|
|
|
|
# final rules to make imap sync stuff easier
|
|
|
|
# there can only be one output folder tag, and theses rules are prioritized
|
2019-12-20 05:54:26 +01:00
|
|
|
{
|
|
|
|
query = "tag:fraud";
|
|
|
|
tags = [ "-inbox" "-archive" "-junk" "-unread" ];
|
|
|
|
message = "clean up tag fraud";
|
|
|
|
}
|
|
|
|
{
|
|
|
|
query = "tag:junk";
|
|
|
|
tags = [ "-inbox" "-archive" "-fraud" "-unread" ];
|
|
|
|
message = "clean up tag junk";
|
|
|
|
}
|
|
|
|
{
|
|
|
|
query = "tag:archive";
|
|
|
|
tags = [ "-inbox" "-junk" "-fraud" "-unread" ];
|
|
|
|
message = "clean up tag archive";
|
|
|
|
}
|
|
|
|
{
|
|
|
|
query = "tag:inbox";
|
|
|
|
tags = [ "-archive" "-junk" "-fraud" ];
|
|
|
|
message = "clean up inbox";
|
|
|
|
}
|
|
|
|
{
|
|
|
|
query = "tag:killed";
|
|
|
|
tags = [ "-inbox" "-unread" ];
|
|
|
|
message = "clean up tag killed";
|
|
|
|
}
|
2019-10-24 02:20:38 +02:00
|
|
|
|
|
|
|
# remove new tag at the end
|
2019-12-20 05:54:26 +01:00
|
|
|
{
|
|
|
|
query = "tag:new";
|
|
|
|
tags = [ "-new" ];
|
|
|
|
message = "remove new tag at the end";
|
|
|
|
}
|
2019-10-24 02:20:38 +02:00
|
|
|
|
|
|
|
];
|
|
|
|
|
2019-12-20 05:54:26 +01:00
|
|
|
in ''
|
|
|
|
# Tag mails which are mailing lists
|
|
|
|
[ListMailsFilter]
|
2019-10-24 02:20:38 +02:00
|
|
|
|
2019-12-20 05:54:26 +01:00
|
|
|
# Tag mails as killed if the thread has been marked as "killed"
|
|
|
|
[KillThreadsFilter]
|
2019-10-24 02:20:38 +02:00
|
|
|
|
2019-12-20 05:54:26 +01:00
|
|
|
${concatStringsSep "\n" (imap0 template filters)}
|
2019-10-24 02:20:38 +02:00
|
|
|
|
|
|
|
'';
|
|
|
|
};
|
|
|
|
|
|
|
|
}
|