From eaaf3290ad352d7889895622ad0a4bcf2159306f Mon Sep 17 00:00:00 2001 From: Martin Potier Date: Thu, 11 May 2017 12:35:47 +0200 Subject: [PATCH] offlineimap -> mbsync --- mail.nix | 35 ++++++++++++++++++++++------------- 1 file changed, 22 insertions(+), 13 deletions(-) diff --git a/mail.nix b/mail.nix index 75c93bb..182afba 100644 --- a/mail.nix +++ b/mail.nix @@ -1,11 +1,12 @@ # Mail stack: # Display maildirs and read emails -> neomutt # Write emails -> vim (should already be there) -# Receive emails & synchronize maildir -> offlineimap +# Receive emails & synchronize maildir -> mbsync (isync) # Submit emails to send -> msmtp # Deal with MIME encoded email packages -> ripmime # Display HTML emails -> w3m # Search maildirs -> mu +# Send encrypted email -> gpupg1orig # and various automation provided by systemd { config, pkgs, ... }: @@ -18,14 +19,27 @@ in ripmime mu-light w3m + isync + gnupg1orig ]; - services.offlineimap = { - enable = true; - onCalendar = "*:0/5"; - }; - systemd.user.services = { + mbsync = { + description = "IMAP mailbox sync"; + path = [ pkgs.isync ]; + script = "mbsync -c /home/eeva/.mutt/mbsyncrc -q -a"; + startAt = "*:0/3"; + wantedBy = [ "timers.target" ]; + serviceConfig = { + TimeoutStartSec = "2min"; + }; + preStart = '' + mkdir -p /home/eeva/mail/EEVA + mkdir -p /home/eeva/mail/MPO + mkdir -p /home/eeva/mail/LACL + ''; + }; + mu = { description = "Updating mail database"; path = [ mu-light ]; @@ -34,19 +48,14 @@ in wantedBy = [ "timers.target" ]; }; - offlineimap-fast = { - description = "Quick mail synchronization"; - path = [ pkgs.offlineimap ]; - script = "offlineimap -u quiet -q"; - }; - msmtp-runqueue = { description = "Flushing mail queue"; script = builtins.readFile "/home/eeva/prefix/bin/msmtp-runqueue"; preStart = "mkdir -p /home/eeva/.msmtpqueue"; + postStop = "rm -f /home/eeva/.msmtpqueue/.lock"; startAt = "*:0/10"; serviceConfig = { - Restart = "on-failure"; + TimeoutStartSec = "2min"; }; path = [ pkgs.msmtp ]; };