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

187 lines
5 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 = {
channels.trash = {
nearPattern = "Trash";
farPattern = "Gel&APY-schte Elemente";
extraConfig.Create = "near";
};
channels.sent = {
nearPattern = "Sent";
farPattern = "Gesendete Elemente";
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;
mailboxName = "--rouven@rfive.de--";
extraMailboxes = [ "Sent" "Trash" "Junk-E-Mail" "Drafts" ];
};
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
};
thunderbird.enable = true;
2023-01-27 00:24:24 +01:00
mbsync = {
enable = true;
create = "maildir";
expunge = "both";
groups.tud = {
channels.trash = {
nearPattern = "Trash";
farPattern = "Gel&APY-schte Elemente";
extraConfig.Create = "near";
};
channels.sent = {
nearPattern = "Sent";
farPattern = "Gesendete Elemente";
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;
mailboxName = "--TU Dresden-------";
2023-01-27 12:09:49 +01:00
# mbsync can't handle umlauts, crap
extraMailboxes = [ "Opal" "Sent" "Trash" "Junk-E-Mail" "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 = {
channels.trash = {
nearPattern = "Trash";
farPattern = "[Gmail]/Papierkorb";
extraConfig.Create = "near";
};
channels.sent = {
nearPattern = "Sent";
farPattern = "[Gmail]/Gesendet";
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;
mailboxName = "--gmail------------";
extraMailboxes = [ "Sent" "Trash" "[Gmail]/Spam" "Drafts" ];
2023-01-01 21:30:41 +01:00
};
};
};
2023-01-27 12:32:08 +01:00
home.file.".urlview".text = ''
COMMAND google-chrome-stable %s &> /dev/null
'';
2023-01-01 21:30:41 +01:00
}