From f205170f72b010f5e6faaa54b73f0aae1ce83feb Mon Sep 17 00:00:00 2001 From: Andrea Ciceri Date: Wed, 13 Apr 2022 12:13:40 +0200 Subject: [PATCH] MBSync, Notmuch and emacs-notmuch --- .../emacs/emacs.d/config/config-emacs.el | 4 +- .../emacs/emacs.d/config/config-emails.el | 25 +++++++++- users/profiles/mails/default.nix | 49 +++++++++++++++++-- 3 files changed, 72 insertions(+), 6 deletions(-) diff --git a/users/profiles/emacs/emacs.d/config/config-emacs.el b/users/profiles/emacs/emacs.d/config/config-emacs.el index fe80404..b7b1511 100644 --- a/users/profiles/emacs/emacs.d/config/config-emacs.el +++ b/users/profiles/emacs/emacs.d/config/config-emacs.el @@ -3,6 +3,8 @@ delete-old-versions 6 kept-old-versions 2 version-control t - create-lockfiles nil) + create-lockfiles nil + native-comp-async-report-warnings-errors nil + ) (provide 'config-emacs) diff --git a/users/profiles/emacs/emacs.d/config/config-emails.el b/users/profiles/emacs/emacs.d/config/config-emails.el index bf37daa..6d232c5 100644 --- a/users/profiles/emacs/emacs.d/config/config-emails.el +++ b/users/profiles/emacs/emacs.d/config/config-emails.el @@ -1,7 +1,9 @@ (use-package notmuch :custom (notmuch-archive-tags '("-unread")) - (notmuch-show-indent-content nil) + ;;(notmuch-show-indent-content nil) + (notmuch-search-older-first nil) + (message-kill-buffer-on-exit t) (notmuch-hello-sections '(notmuch-hello-insert-header notmuch-hello-insert-saved-searches @@ -20,4 +22,25 @@ ("d" ("+deleted" "-inbox") "Delete"))) ) +(use-package message + :config + (setq message-send-mail-function 'message-send-mail-with-sendmail + message-sendmail-f-is-evil t + message-sendmail-envelope-from nil ; 'header + message-sendmail-extra-arguments '("--read-envelope-from")) + + (setq mml-secure-smime-sign-with-sender t) + (setq mml-secure-openpgp-sign-with-sender t) + + ;; Add signature by default + (add-hook 'message-setup-hook 'mml-secure-message-sign-pgpmime) + ;; Verify other's signatures + (setq mm-verify-option 'always)) + +(use-package sendmail + :config + (setq mail-specify-envelope-from nil + send-mail-function 'message-send-mail-with-sendmail + sendmail-program "msmtp")) + (provide 'config-emails) diff --git a/users/profiles/mails/default.nix b/users/profiles/mails/default.nix index 9236f5d..b5aec1b 100644 --- a/users/profiles/mails/default.nix +++ b/users/profiles/mails/default.nix @@ -16,30 +16,71 @@ in accounts.email.accounts = { personal = { + realName = "Andrea Ciceri"; address = "andrea.ciceri@autistici.org"; + primary = true; + flavor = "plain"; + passwordCommand = "pass show autistici/password"; #gpg = { # key = ""; # signByDefault = true; #}; - imap.host = "mail.autistici.org"; + imap = + { + host = "mail.autistici.org"; + port = 993; + tls.enable = true; + }; mbsync = { enable = true; create = "maildir"; }; msmtp.enable = true; notmuch.enable = true; - primary = true; - realName = "Andrea Ciceri"; #signature = { # text = '' # ''; # showSignature = "append"; #}; - passwordCommand = "pass show autistici/password"; smtp = { host = "smtp.autistici.org"; + port = 465; + tls.enable = true; }; userName = "andrea.ciceri@autistici.org"; }; }; + + systemd.user = + let + description = "Download mailboxes with mbsync and update notmuch db"; + in + { + services.mbsync-and-notmuch = + { + Unit = { + After = [ "network.target" ]; + Description = description; + }; + Service = { + Type = "simple"; + ExecStart = ''${pkgs.isync}/bin/mbsync -Va && ${pkgs.notmuch}/bin/notmuch new''; + }; + Install = { + WantedBy = [ "multi-user.target" ]; + }; + }; + timers.mbsync-and-notmuch = { + Unit = { + Description = "Timer to \"${description}\""; + }; + Timer = { + OnBootSec = "2m"; + OnUnitInactiveSec = "5m"; + }; + Install = { + WantedBy = [ "timers.target" ]; + }; + }; + }; }