2021-02-07 16:08:11 +01:00
{ lib , . . . }:
let
inherit ( import <niveum/lib> ) kieran ;
enableDefaults = lib . recursiveUpdate {
mbsync = {
enable = true ;
create = " b o t h " ;
expunge = " b o t h " ;
} ;
msmtp . enable = true ;
notmuch . enable = true ;
} ;
2021-02-07 22:00:32 +01:00
settings = {
fastmail = {
smtp = {
host = " s m t p . f a s t m a i l . c o m " ;
port = 465 ;
tls . enable = true ;
} ;
imap = {
host = " i m a p . f a s t m a i l . c o m " ;
port = 993 ;
tls . enable = true ;
} ;
} ;
cock = {
smtp = {
host = " m a i l . c o c k . l i " ;
port = 587 ;
tls = {
enable = true ;
useStartTls = true ;
} ;
} ;
imap = {
host = " m a i l . c o c k . l i " ;
port = 993 ;
tls . enable = true ;
} ;
} ;
posteo = {
smtp = {
host = " p o s t e o . d e " ;
port = 587 ;
tls = {
enable = true ;
useStartTls = true ;
} ;
} ;
imap = {
host = " p o s t e o . d e " ;
port = 993 ;
tls . enable = true ;
} ;
} ;
hu-berlin = {
smtp = {
host = " m a i l h o s t . c m s . h u - b e r l i n . d e " ;
port = 25 ;
tls = {
enable = true ;
useStartTls = true ;
} ;
} ;
imap = {
host = " m a i l b o x . c m s . h u - b e r l i n . d e " ;
port = 993 ;
tls . enable = true ;
} ;
} ;
} ;
2021-02-07 16:08:11 +01:00
# turns out we have to escape $ because, if the password contains a $, it will get interpolated as a variable by the msmtp `passwordeval` which does: `bash -c "COMMAND; echo"`
pass_ = file : " e c h o ${ lib . escape [ " $ " ] ( lib . escapeShellArg ( lib . strings . fileContents file ) ) } " ;
in
{
fysi = enableDefaults {
primary = false ;
userName = " k i e r a n @ f y s i . t e c h " ;
address = " k i e r a n @ f y s i . t e c h " ;
realName = kieran . name ;
passwordCommand = pass_ <secrets/mail/fastmail> ;
2021-02-07 22:00:32 +01:00
inherit ( settings . fastmail ) imap smtp ;
2021-02-07 16:08:11 +01:00
} ;
cock = enableDefaults {
primary = false ;
userName = " 2 2 1 0 @ c o c k . l i " ;
address = " 2 2 1 0 @ c o c k . l i " ;
realName = " 2 2 1 0 " ;
passwordCommand = pass_ <secrets/mail/cock> ;
2021-02-07 22:00:32 +01:00
inherit ( settings . cock ) imap smtp ;
2021-02-07 16:08:11 +01:00
} ;
kieran-gmail = enableDefaults {
primary = false ;
flavor = " g m a i l . c o m " ;
address = " k i e r a n . m e i n h a r d t @ g m a i l . c o m " ;
realName = kieran . name ;
userName = " k i e r a n . m e i n h a r d t " ;
passwordCommand = pass_ <secrets/mail/gmail/kieran.meinhardt> ;
folders = {
drafts = " [ G m a i l ] / E n t w & A P w - r f e " ;
sent = " [ G m a i l ] / G e s e n d e t " ;
trash = " [ G m a i l ] / P a p i e r k o r b " ;
} ;
} ;
amroplay = enableDefaults {
primary = false ;
flavor = " g m a i l . c o m " ;
address = " a m r o p l a y @ g m a i l . c o m " ;
realName = kieran . name ;
userName = " a m r o p l a y " ;
passwordCommand = pass_ <secrets/mail/gmail/amroplay> ;
folders = {
drafts = " [ G m a i l ] / D r a f t s " ;
sent = " [ G m a i l ] / S e n t M a i l " ;
trash = " [ G m a i l ] / B i n " ;
} ;
} ;
posteo = enableDefaults {
primary = true ;
address = " k i e r a n . m e i n h a r d t @ p o s t e o . n e t " ;
realName = kieran . name ;
userName = " k i e r a n . m e i n h a r d t @ p o s t e o . n e t " ;
passwordCommand = pass_ <secrets/mail/posteo> ;
2021-02-07 22:00:32 +01:00
inherit ( settings . posteo ) imap smtp ;
2021-02-07 16:08:11 +01:00
} ;
hu-berlin = enableDefaults {
primary = false ;
address = " m e i n h a r k @ h u - b e r l i n . d e " ;
realName = kieran . name ;
userName = " m e i n h a r k " ;
passwordCommand = pass_ <secrets/eduroam/password> ;
2021-02-07 22:00:32 +01:00
inherit ( settings . hu-berlin ) imap smtp ;
2021-02-07 16:08:11 +01:00
} ;
hu-berlin-work = enableDefaults {
primary = false ;
address = " m e i n h a k i @ h u - b e r l i n . d e " ;
realName = kieran . name ;
userName = " m e i n h a k i " ;
passwordCommand = pass_ <secrets/mail/meinhaki> ;
2021-02-07 22:00:32 +01:00
inherit ( settings . hu-berlin ) imap smtp ;
2021-02-07 16:08:11 +01:00
} ;
}