2022-08-12 00:31:42 +02:00
|
|
|
{ config, pkgs, ... }:
|
|
|
|
let
|
|
|
|
mbsyncConf = ./mbsyncrc;
|
|
|
|
in
|
|
|
|
{
|
|
|
|
environment.systemPackages = with pkgs; [
|
|
|
|
isync
|
|
|
|
msmtp
|
|
|
|
neomutt
|
|
|
|
notmuch
|
|
|
|
pass
|
|
|
|
w3m
|
|
|
|
];
|
|
|
|
|
|
|
|
sops.secrets = {
|
|
|
|
"mail/oxapentane.com" = {
|
|
|
|
owner = config.users.users.grue.name;
|
|
|
|
};
|
|
|
|
"mail/shipunov.xyz" = {
|
|
|
|
owner = config.users.users.grue.name;
|
|
|
|
};
|
|
|
|
"mail/dvb.solutions" = {
|
|
|
|
owner = config.users.users.grue.name;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
programs.msmtp = {
|
|
|
|
enable = true;
|
|
|
|
setSendmail = true;
|
2022-08-12 01:33:11 +02:00
|
|
|
extraConfig = ''
|
|
|
|
account mail@oxapentane.com
|
|
|
|
host smtp.migadu.com
|
|
|
|
port 587
|
|
|
|
from *@oxapentane.com
|
|
|
|
user mail@oxapentane.com
|
|
|
|
passwordeval cat ${config.sops.secrets."mail/oxapentane.com".path}
|
|
|
|
auth on
|
|
|
|
tls on
|
|
|
|
tls_trust_file /etc/ssl/certs/ca-certificates.crt
|
|
|
|
logfile ~/.msmtp.log
|
|
|
|
|
|
|
|
account grigory@shipunov.xyz
|
|
|
|
host smtp.migadu.com
|
|
|
|
port 587
|
|
|
|
from *@shipunov.xyz
|
|
|
|
user grigory@shipunov.xyz
|
|
|
|
passwordeval cat ${config.sops.secrets."mail/shipunov.xyz".path}
|
|
|
|
auth on
|
|
|
|
tls on
|
|
|
|
tls_trust_file /etc/ssl/certs/ca-certificates.crt
|
|
|
|
logfile ~/.msmtp.log
|
|
|
|
|
|
|
|
account dump@dvb.solutions
|
|
|
|
host smtp.migadu.com
|
|
|
|
port 587
|
|
|
|
from dump@dvb.solutions
|
|
|
|
user dump@dvb.solutions
|
|
|
|
passwordeval cat ${config.sops.secrets."mail/dvb.solutions".path}
|
|
|
|
auth on
|
|
|
|
tls on
|
|
|
|
tls_trust_file /etc/ssl/certs/ca-certificates.crt
|
|
|
|
logfile ~/.msmtp.log
|
|
|
|
'';
|
2022-08-12 00:31:42 +02:00
|
|
|
};
|
2022-08-12 01:33:11 +02:00
|
|
|
|
|
|
|
|
2022-08-12 01:04:16 +02:00
|
|
|
systemd.user = {
|
2022-08-12 00:31:42 +02:00
|
|
|
|
|
|
|
services.mbsync = {
|
|
|
|
enable = true;
|
|
|
|
after = [ "graphical.target" "network-online.target" ];
|
|
|
|
script = ''
|
2022-08-13 14:08:09 +02:00
|
|
|
${pkgs.isync}/bin/mbsync -q -a --config=${mbsyncConf}
|
2022-08-12 00:31:42 +02:00
|
|
|
'';
|
|
|
|
serviceConfig = {
|
|
|
|
Type = "oneshot";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
timers.mbsync = {
|
|
|
|
enable = true;
|
|
|
|
wantedBy = [ "timers.target" ];
|
|
|
|
timerConfig = {
|
|
|
|
Unit = "mbsync.service";
|
|
|
|
OnUnitInactiveSec = "11m";
|
|
|
|
Persistent = true;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
};
|
|
|
|
}
|