add a first draft for offlineimap and mu4e
This commit is contained in:
parent
e1be43cb4d
commit
780d5051f3
|
@ -7,6 +7,7 @@
|
||||||
./software/czkawka
|
./software/czkawka
|
||||||
./software/dunst
|
./software/dunst
|
||||||
./software/emacs
|
./software/emacs
|
||||||
|
./software/email
|
||||||
./software/evince
|
./software/evince
|
||||||
./software/git
|
./software/git
|
||||||
./software/grobi
|
./software/grobi
|
||||||
|
|
|
@ -4,6 +4,7 @@
|
||||||
enable = true;
|
enable = true;
|
||||||
extraPackages = epkgs: with pkgs;[
|
extraPackages = epkgs: with pkgs;[
|
||||||
pandoc
|
pandoc
|
||||||
|
mu
|
||||||
epkgs.ace-window
|
epkgs.ace-window
|
||||||
epkgs.auctex
|
epkgs.auctex
|
||||||
epkgs.avy
|
epkgs.avy
|
||||||
|
|
|
@ -118,6 +118,9 @@ Evil-mode is a package which emulates Vim in Emacs.
|
||||||
(add-to-list 'evil-emacs-state-modes 'helpful-mode)
|
(add-to-list 'evil-emacs-state-modes 'helpful-mode)
|
||||||
(setq global-evil-search-highlight-persist t)
|
(setq global-evil-search-highlight-persist t)
|
||||||
|
|
||||||
|
;; Start these modes in insert mode
|
||||||
|
(evil-set-initial-state 'mu4e-compose-mode 'insert)
|
||||||
|
|
||||||
;; Add vim keybindings to the bookmark menu
|
;; Add vim keybindings to the bookmark menu
|
||||||
(evil-add-hjkl-bindings bookmark-bmenu-mode-map 'emacs
|
(evil-add-hjkl-bindings bookmark-bmenu-mode-map 'emacs
|
||||||
;; (kbd "/") 'evil-search-forward
|
;; (kbd "/") 'evil-search-forward
|
||||||
|
@ -153,6 +156,20 @@ Evil-mode is a package which emulates Vim in Emacs.
|
||||||
(kbd "C-u") 'evil-scroll-up
|
(kbd "C-u") 'evil-scroll-up
|
||||||
(kbd "C-w C-w") 'other-window)
|
(kbd "C-w C-w") 'other-window)
|
||||||
|
|
||||||
|
;; vim keybindings for mu4e
|
||||||
|
(evil-add-hjkl-bindings mu4e-headers-mode-map 'emacs
|
||||||
|
(kbd "/") 'evil-search-forward
|
||||||
|
(kbd "n") 'evil-search-next
|
||||||
|
(kbd "N") 'evil-search-previous
|
||||||
|
(kbd "C-d") 'evil-scroll-down
|
||||||
|
(kbd "C-u") 'evil-scroll-up
|
||||||
|
(kbd "C-w C-w") 'other-window)
|
||||||
|
|
||||||
|
(evil-add-hjkl-bindings mu4e-view-mode-map 'emacs
|
||||||
|
(kbd "C-d") 'evil-scroll-down
|
||||||
|
(kbd "C-u") 'evil-scroll-up
|
||||||
|
(kbd "C-w C-w") 'other-window)
|
||||||
|
|
||||||
;; evilificate calendar in org-mode
|
;; evilificate calendar in org-mode
|
||||||
(define-key org-read-date-minibuffer-local-map (kbd "M-h")
|
(define-key org-read-date-minibuffer-local-map (kbd "M-h")
|
||||||
(lambda ()
|
(lambda ()
|
||||||
|
@ -1247,6 +1264,99 @@ Enable direnv support.
|
||||||
(global-set-key (kbd "C-c C-f") #'nebucatnetzer/format-code)
|
(global-set-key (kbd "C-c C-f") #'nebucatnetzer/format-code)
|
||||||
(setq format-all-show-errors 'errors))
|
(setq format-all-show-errors 'errors))
|
||||||
#+end_src
|
#+end_src
|
||||||
|
* Email
|
||||||
|
|
||||||
|
Requires the following packages to be installed:
|
||||||
|
|
||||||
|
#+BEGIN_EXAMPLE
|
||||||
|
offlineimap mu4e w3m
|
||||||
|
#+END_EXAMPLE
|
||||||
|
|
||||||
|
After a fresh installation you have to first sync your emails with ~offlineimap
|
||||||
|
|
||||||
|
-o~. Afterwards run ~mu index --maildir=~/Maildir~.
|
||||||
|
|
||||||
|
#+BEGIN_SRC emacs-lisp
|
||||||
|
(when (boundp 'enable-email)
|
||||||
|
(use-package mu4e
|
||||||
|
:if (is-linux-p)
|
||||||
|
:config
|
||||||
|
(require 'smtpmail)
|
||||||
|
|
||||||
|
; smtp
|
||||||
|
(setq message-send-mail-function 'smtpmail-send-it
|
||||||
|
smtpmail-starttls-credentials
|
||||||
|
'(("mail.zweili.org" 587 nil nil))
|
||||||
|
smtpmail-default-smtp-server "mail.zweili.org"
|
||||||
|
smtpmail-smtp-server "mail.zweili.org"
|
||||||
|
smtpmail-smtp-service 587
|
||||||
|
smtpmail-debug-info t)
|
||||||
|
(setq send-mail-function (quote smtpmail-send-it))
|
||||||
|
|
||||||
|
(require 'mu4e)
|
||||||
|
(require 'org-mu4e)
|
||||||
|
|
||||||
|
(setq mu4e-completing-read-function (quote ivy-completing-read))
|
||||||
|
(setq mail-user-agent 'mu4e-user-agent)
|
||||||
|
|
||||||
|
(setq mu4e-drafts-folder "/personal/Drafts")
|
||||||
|
(setq mu4e-sent-folder "/personal/Sent")
|
||||||
|
(setq mu4e-trash-folder "/personal/Trash")
|
||||||
|
(setq mu4e-refile-folder "/personal/Archive")
|
||||||
|
|
||||||
|
(setq browse-url-browser-function 'browse-url-generic
|
||||||
|
browse-url-generic-program "firefox")
|
||||||
|
|
||||||
|
(require 'mu4e-contrib)
|
||||||
|
(setq mu4e-html2text-command 'mu4e-shr2text)
|
||||||
|
(add-to-list 'mu4e-view-actions
|
||||||
|
'("ViewInBrowser" . mu4e-action-view-in-browser) t)
|
||||||
|
|
||||||
|
(setq mu4e-headers-fields
|
||||||
|
'((:date . 10) ;; alternatively, use :human-date
|
||||||
|
(:flags . 5)
|
||||||
|
(:from . 22)
|
||||||
|
(:subject . nil))) ;; alternatively, use :thread-subject
|
||||||
|
|
||||||
|
(setq mu4e-get-mail-command "offlineimap -qo"
|
||||||
|
mu4e-headers-auto-update t
|
||||||
|
mu4e-compose-format-flowed t
|
||||||
|
mu4e-index-update-in-background t
|
||||||
|
mu4e-compose-dont-reply-to-self t
|
||||||
|
mu4e-attachment-dir "~/nextcloud/10_documents/01_inbox"
|
||||||
|
mu4e-compose-signature-auto-include nil)
|
||||||
|
|
||||||
|
(add-hook 'mu4e-view-mode-hook 'visual-line-mode)
|
||||||
|
|
||||||
|
(setq mu4e-maildir-shortcuts
|
||||||
|
'(("/personal/INBOX" . ?i)
|
||||||
|
("/personal/Sent" . ?s)
|
||||||
|
("/personal/Trash" . ?t)
|
||||||
|
("/personal/Archive" . ?a)
|
||||||
|
("/personal/Drafts" . ?d)))
|
||||||
|
|
||||||
|
;; show images
|
||||||
|
(setq mu4e-show-images t)
|
||||||
|
|
||||||
|
;; general emacs mail settings; used when composing e-mail
|
||||||
|
;; the non-mu4e-* stuff is inherited from emacs/message-mode
|
||||||
|
(setq mu4e-reply-to-address "andreas@zweili.ch")
|
||||||
|
|
||||||
|
(setq message-kill-buffer-on-exit t)
|
||||||
|
;; Don't ask for a 'context' upon opening mu4e
|
||||||
|
(setq mu4e-context-policy 'pick-first)
|
||||||
|
;; Don't ask to quit
|
||||||
|
(setq mu4e-confirm-quit nil)
|
||||||
|
|
||||||
|
;; spell check
|
||||||
|
(add-hook 'mu4e-compose-mode-hook
|
||||||
|
(defun my-do-compose-stuff ()
|
||||||
|
"My settings for message composition."
|
||||||
|
(setq mu4e-compose-format-flowed t)
|
||||||
|
(use-hard-newlines -1)
|
||||||
|
(turn-off-auto-fill)
|
||||||
|
(flyspell-mode)))))
|
||||||
|
#+END_SRC
|
||||||
|
|
||||||
* UI Changes
|
* UI Changes
|
||||||
|
|
||||||
|
@ -2427,7 +2537,7 @@ I defined ~C-c p~ to quickly jump to my personal org file.
|
||||||
;; My details
|
;; My details
|
||||||
|
|
||||||
(setq user-full-name "Andreas Zweili")
|
(setq user-full-name "Andreas Zweili")
|
||||||
(setq user-mail-address "andreas@2li.ch")
|
(setq user-mail-address "andreas@zweili.ch")
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
** Toggle window splits
|
** Toggle window splits
|
||||||
|
|
|
@ -7,3 +7,4 @@
|
||||||
(setq enable-ox-pandoc t)
|
(setq enable-ox-pandoc t)
|
||||||
(setq enable-emojis t)
|
(setq enable-emojis t)
|
||||||
(setq disable-fringe t)
|
(setq disable-fringe t)
|
||||||
|
(setq enable-email t)
|
||||||
|
|
34
home-manager/software/email/default.nix
Normal file
34
home-manager/software/email/default.nix
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
accounts.email.accounts."personal" = {
|
||||||
|
address = "andreas@zweili.ch";
|
||||||
|
realName = "Andreas Zweili";
|
||||||
|
userName = "andreas@zweili.ch";
|
||||||
|
primary = true;
|
||||||
|
passwordCommand = "cat /home/andreas/.imappass";
|
||||||
|
aliases = [
|
||||||
|
"andreas.zweili@gmail.com"
|
||||||
|
"andreas@2li.ch"
|
||||||
|
];
|
||||||
|
mu.enable = true;
|
||||||
|
offlineimap = {
|
||||||
|
enable = true;
|
||||||
|
extraConfig = {
|
||||||
|
account = { autorefresh = 15; };
|
||||||
|
local = { sync_deletes = true; };
|
||||||
|
};
|
||||||
|
};
|
||||||
|
imap = {
|
||||||
|
host = "mail.zweili.org";
|
||||||
|
port = 993;
|
||||||
|
tls.enable = true;
|
||||||
|
};
|
||||||
|
smtp = {
|
||||||
|
host = "mail.zweil.org";
|
||||||
|
port = 465;
|
||||||
|
tls.enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
programs.mu.enable = true;
|
||||||
|
programs.offlineimap.enable = true;
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user