nixos-config/users/rouven/modules/accounts/default.nix

281 lines
7.6 KiB
Nix
Raw Normal View History

2023-01-27 12:09:49 +01:00
{ config, pkgs, ... }:
2023-01-01 21:30:41 +01:00
let
gpg-default-key = "116987A8DD3F78FF8601BF4DB95E8FE6B11C4D09";
in
{
2023-01-27 12:09:49 +01:00
home.packages = with pkgs; [
imv
w3m
2023-01-27 12:32:08 +01:00
urlview
2023-01-27 12:09:49 +01:00
];
services.mbsync.enable = true;
2023-01-27 00:24:24 +01:00
programs = {
neomutt = {
enable = true;
sidebar.enable = true;
2023-01-27 11:22:49 +01:00
checkStatsInterval = 30;
2023-01-27 00:24:24 +01:00
extraConfig = ''
2023-01-27 11:22:49 +01:00
bind pager <Space> noop
bind index,pager \Cp sidebar-prev
# Move the highlight to the next mailbox
bind index,pager \Cn sidebar-next
# Open the highlighted mailbox
bind index,pager <space><return> sidebar-open
2023-01-27 12:09:49 +01:00
set mailcap_path = ${./mailcap}
2023-01-27 12:32:08 +01:00
source ${./vim-keys.rc}
2023-01-27 00:24:24 +01:00
source ${./dracula.muttrc}
2023-01-27 11:22:49 +01:00
source ${./powerline.neomuttrc}
2023-01-27 00:24:24 +01:00
'';
};
mbsync.enable = true;
msmtp.enable = true;
};
2023-01-01 21:30:41 +01:00
accounts.email.accounts = {
"rouven@rfive.de" = rec {
primary = true;
address = "rouven@rfive.de";
gpg.key = gpg-default-key;
realName = "Rouven Seifert";
userName = address;
2023-01-27 12:09:49 +01:00
passwordCommand = "${pkgs.coreutils}/bin/cat /run/secrets/email/rfive";
2023-01-01 21:30:41 +01:00
imap = {
host = "pro1.mail.ovh.net";
port = 993;
};
smtp = {
host = "pro1.mail.ovh.net";
port = 587;
2023-01-02 13:18:57 +01:00
tls.useStartTls = true;
2023-01-01 21:30:41 +01:00
};
2023-01-27 11:22:49 +01:00
msmtp.enable = true;
2023-01-27 00:24:24 +01:00
mbsync = {
enable = true;
create = "maildir";
expunge = "both";
groups.rfive = {
2023-01-28 14:53:23 +01:00
channels.inbox = {
nearPattern = "INBOX";
farPattern = "INBOX";
extraConfig.Create = "near";
};
channels.trash = {
nearPattern = "Trash";
farPattern = "Gel&APY-schte Elemente";
extraConfig.Create = "near";
};
channels.sent = {
nearPattern = "Sent";
farPattern = "Gesendete Elemente";
extraConfig.Create = "near";
};
2023-01-28 14:53:23 +01:00
channels.junk = {
nearPattern = "Junk";
farPattern = "Junk-E-Mail";
extraConfig.Create = "near";
};
channels.drafts = {
nearPattern = "Drafts";
farPattern = "Entw&APw-rfe";
extraConfig.Create = "near";
};
};
2023-01-27 00:24:24 +01:00
extraConfig = {
account = {
AuthMechs = "Login";
};
};
};
neomutt = {
enable = true;
2023-02-25 22:28:04 +01:00
mailboxName = " 󰒋 rfive.de";
2023-01-28 14:53:23 +01:00
extraMailboxes = [ "Sent" "Trash" "Junk" "Drafts" ];
2023-01-27 00:24:24 +01:00
};
2023-01-01 21:30:41 +01:00
};
2023-01-27 00:24:24 +01:00
"TU-Dresden" = {
2023-01-01 21:30:41 +01:00
address = "rouven.seifert@mailbox.tu-dresden.de";
gpg.key = gpg-default-key;
realName = "Rouven Seifert";
2023-01-27 00:24:24 +01:00
userName = "rose159e";
2023-01-27 12:09:49 +01:00
passwordCommand = "${pkgs.coreutils}/bin/cat /run/secrets/email/tu-dresden";
2023-01-01 21:30:41 +01:00
imap = {
host = "msx.tu-dresden.de";
port = 993;
};
smtp = {
host = "msx.tu-dresden.de";
port = 587;
2023-01-02 13:18:57 +01:00
tls.useStartTls = true;
2023-01-01 21:30:41 +01:00
};
2023-01-27 00:24:24 +01:00
mbsync = {
enable = true;
create = "maildir";
expunge = "both";
groups.tud = {
2023-01-28 14:53:23 +01:00
channels.inbox = {
nearPattern = "INBOX";
farPattern = "INBOX";
extraConfig.Create = "near";
};
channels.opal = {
nearPattern = "Opal";
farPattern = "Opal";
extraConfig.Create = "near";
};
channels.trash = {
nearPattern = "Trash";
farPattern = "Gel&APY-schte Elemente";
extraConfig.Create = "near";
};
channels.sent = {
nearPattern = "Sent";
farPattern = "Gesendete Elemente";
extraConfig.Create = "near";
};
2023-01-28 14:53:23 +01:00
channels.junk = {
nearPattern = "Junk";
farPattern = "Junk-E-Mail";
extraConfig.Create = "near";
};
channels.drafts = {
nearPattern = "Drafts";
farPattern = "Entw&APw-rfe";
extraConfig.Create = "near";
};
};
2023-01-27 00:24:24 +01:00
extraConfig = {
account = {
AuthMechs = "Login";
};
};
2023-01-01 21:30:41 +01:00
};
2023-01-27 00:24:24 +01:00
msmtp.enable = true;
neomutt = {
enable = true;
2023-02-25 22:28:04 +01:00
mailboxName = " TU Dresden";
2023-01-28 14:53:23 +01:00
extraMailboxes = [ "Opal" "Sent" "Trash" "Junk" "Drafts" ];
2023-01-27 11:22:49 +01:00
};
};
2023-01-31 16:16:03 +01:00
"iFSR" = {
address = "rouven.seifert@ifsr.de";
gpg.key = gpg-default-key;
realName = "Rouven Seifert";
userName = "rouven.seifert";
passwordCommand = "${pkgs.coreutils}/bin/cat /run/secrets/email/ifsr";
imap = {
host = "mail.ifsr.de";
port = 143;
tls.useStartTls = true;
};
smtp = {
host = "mail.ifsr.de";
port = 587;
tls.useStartTls = true;
};
mbsync = {
enable = true;
create = "maildir";
expunge = "both";
groups.ifsr = {
channels.inbox = {
nearPattern = "INBOX";
farPattern = "INBOX";
extraConfig.Create = "near";
};
channels.trash = {
nearPattern = "Trash";
farPattern = "Trash";
extraConfig.Create = "near";
};
channels.sent = {
nearPattern = "Sent";
farPattern = "Sent";
extraConfig.Create = "near";
};
# There is a lot of spam around, maybe we should not include that folder
2023-02-02 12:31:38 +01:00
channels.junk = {
nearPattern = "Junk";
farPattern = "Public/Spam";
extraConfig.Create = "near";
};
2023-01-31 16:16:03 +01:00
channels.drafts = {
nearPattern = "Drafts";
farPattern = "Drafts";
extraConfig.Create = "near";
};
};
extraConfig = {
account = {
AuthMechs = "Login";
};
};
};
msmtp.enable = true;
neomutt = {
enable = true;
2023-02-25 22:28:04 +01:00
mailboxName = " iFSR";
2023-01-31 16:16:03 +01:00
extraMailboxes = [ "Sent" "Trash" "Drafts" ];
};
};
2023-01-27 11:22:49 +01:00
"gmail" = rec {
address = "seifertrouven@gmail.com";
realName = "Rouven Seifert";
userName = address;
2023-01-27 12:09:49 +01:00
passwordCommand = "${pkgs.coreutils}/bin/cat /run/secrets/email/google";
2023-01-27 11:22:49 +01:00
imap = {
host = "imap.gmail.com";
port = 993;
};
smtp = {
host = "smtp.gmail.com";
port = 465;
};
mbsync = {
enable = true;
create = "maildir";
expunge = "both";
groups.googlemail = {
2023-01-28 14:53:23 +01:00
channels.inbox = {
nearPattern = "INBOX";
farPattern = "INBOX";
extraConfig.Create = "near";
};
channels.trash = {
nearPattern = "Trash";
farPattern = "[Gmail]/Papierkorb";
extraConfig.Create = "near";
};
channels.sent = {
nearPattern = "Sent";
farPattern = "[Gmail]/Gesendet";
extraConfig.Create = "near";
};
2023-01-28 14:53:23 +01:00
channels.junk = {
nearPattern = "Junk";
farPattern = "[Gmail]/Spam";
extraConfig.Create = "near";
};
channels.drafts = {
nearPattern = "Drafts";
farPattern = "[Gmail]/Entw&APw-rfe";
extraConfig.Create = "near";
};
};
2023-01-27 11:22:49 +01:00
extraConfig = {
account = {
AuthMechs = "Login";
};
};
};
msmtp.enable = true;
neomutt = {
enable = true;
2023-02-25 22:28:04 +01:00
mailboxName = " 󰊫 gmail";
2023-01-28 14:53:23 +01:00
extraMailboxes = [ "Sent" "Trash" "Junk" "Drafts" ];
2023-01-01 21:30:41 +01:00
};
};
};
2023-01-27 12:32:08 +01:00
home.file.".urlview".text = ''
2023-02-04 22:46:46 +01:00
COMMAND qutebrowser %s &> /dev/null
2023-01-27 12:32:08 +01:00
'';
2023-01-01 21:30:41 +01:00
}