dotfiles/homes/x86_64-linux/christopher@cobalt/email.nix

89 lines
1.8 KiB
Nix

{
pkgs,
config,
...
}: let
serverConfig = {
imap.host = "europium.gutentag.games";
smtp.host = "europium.gutentag.games";
userName = "christopher";
passwordCommand = "cat ${config.age.secrets.emailPassword.path}";
};
in {
programs = {
# TODO: Move this into its own file
irssi = {
enable = true;
networks."w3c" = {
server.address = "irc.w3c.org";
nick = "tophcodes";
channels."crdt4rdf".autoJoin = true;
};
};
# Syncs my mailbox for other programs to digest more easily
mbsync.enable = true;
# CLI-based email client
aerc = {
enable = true;
# This is necessary because `accounts.email` symlinks the configuration
# for aerc to use. Since there are no secrets in it, this is safe to do,
# so we need to tell aerc to ignore the "too lax" permissions on that file
extraConfig = {
general = {
unsafe-accounts-conf = true;
};
viewer = {
# pager = ''
# '';
};
filters = ''
text/plain=less
application/pdf=tdf $AERC_FORMAT
message/delivery-status=less
message/rfc822=less
text/html=reader
text/*=bat -fP
'';
};
};
# Query emails via CLI
notmuch = {
enable = true;
hooks = {
preNew = "mbsync --all";
};
};
};
home.packages = with pkgs; [
reader
tdf
];
accounts.email = {
accounts = {
europium =
{
primary = true;
realName = "Christopher Mühl";
address = "christopher@muehl.dev";
aerc.enable = true;
notmuch.enable = true;
mbsync = {
enable = true;
create = "maildir";
};
}
// serverConfig;
};
};
}