{ lib, writers, gopass, writeScript, mutt , realName ? "aszlig" , emailAddr ? "aszlig@nix.build" , gopassEntry ? "misc/mailfresser" }: let askYes = { __askYes = true; }; askNo = { __askNo = true; }; execCommand = cmd: { __execCmd = cmd; }; passwd = execCommand "${gopass}/bin/gopass show -o ${gopassEntry}"; userRaw = "`${gopass}/bin/gopass show ${gopassEntry} username`"; serverRaw = "`${gopass}/bin/gopass show ${gopassEntry} server`"; config = { folder.__raw = "\"imap://${serverRaw}/\""; imap_user.__raw = "\"${userRaw}\""; imap_pass = passwd; smtp_url.__raw = "\"smtp://${userRaw}@${serverRaw}/\""; smtp_pass = passwd; spoolfile = "+INBOX"; imap_idle = true; imap_delim_chars = "/"; record = "+sent-mail"; postponed = "+Drafts"; send_multipart_alternative = askYes; send_multipart_alternative_filter = writers.writePython3 "multipart" { flakeIgnore = [ "E111" "E121" ]; } '' import string import sys DELAY_SEC = 20 in_escape = False original = "" for c in sys.stdin.read(): if c == "'": original += r"\'" elif c == "\\": original += r"\\" elif c in "\n<>" or (in_escape and c in string.hexdigits): original += r'\{:X}'.format(ord(c)) in_escape = True continue else: original += c in_escape = False style = '''.join([ '#liar::after{content:"... okay, I lied. Here\'s the text:"}', "#original::after{content:'" + original + "'}", '#content{', f'-webkit-animation:dontbesocruelwk 0s {DELAY_SEC}s forwards;', f'-moz-animation:dontbesocruelmoz 0s {DELAY_SEC}s forwards;', f'-o-animation:dontbesocruelo 0s {DELAY_SEC}s forwards;', f'animation:dontbesocruel 0s {DELAY_SEC}s forwards', '}', '@-webkit-keyframes dontbesocruelwk{to{visibility:visible}}', '@-moz-keyframes dontbesocruelmoz{to{visibility:visible}}', '@-o-keyframes dontbesocruelo{to{visibility:visible}}', '@keyframes dontbesocruel{to{visibility:visible}}', ]) document = '''.join([ '', '
', '', 'This email can only be read in ', 'plain text.', '
', '