summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--init.el54
1 files changed, 46 insertions, 8 deletions
diff --git a/init.el b/init.el
index 77d4e9e..7cd5d81 100644
--- a/init.el
+++ b/init.el
@@ -137,6 +137,12 @@
:bind (("M-g a a" . 'avy-goto-char-timer)
("M-g a l" . 'avy-goto-line)))
+(use-package cal-invite
+ :after (:all mu4e org-msg)
+ :load-path "~/workspace/cal-invite"
+ :config
+ (require 'cal-invite))
+
(use-package cargo-mode
:ensure t)
@@ -310,6 +316,25 @@
("M-$" . 'jinx-correct)
("C-M-$" . 'jinx-languages)))
+(use-package ledger-mode
+ :mode ("\\.ledger\\'" "\\.hledger\\'")
+ :custom
+ (ledger-binary-path "hledger")
+ (ledger-mode-should-check-version nil)
+ (ledger-report-use-native-highlighting nil)
+ (ledger-report-auto-width nil)
+ (ledger-report-links-in-register nil)
+ (ledger-reports
+ '(("bal" "%(binary) -f %(ledger-file) bal --tree")
+ ("bs" "%(binary) -f %(ledger-file) bs --tree")
+ ("is" "%(binary) -f %(ledger-file) is --tree")
+ ("is-monthly" "%(binary) -f %(ledger-file) is -M --tree")
+ ("cf" "%(binary) -f %(ledger-file) cf")
+ ("reg" "%(binary) -f %(ledger-file) reg")
+ ("expenses" "%(binary) -f %(ledger-file) is --tree --depth 3")
+ ("account" "%(binary) -f %(ledger-file) reg %(account)")
+ ("payee" "%(binary) -f %(ledger-file) reg @%(payee)"))))
+
(use-package lsp-mode
:ensure t
:commands lsp
@@ -349,17 +374,29 @@
(use-package mu4e
:ensure nil
- :bind (("C-c M" . mu4e)
+ :bind (("C-c M m" . mu4e)
+ ("C-c M i c" . cal-invite-create)
+ ("C-c M i u" . cal-invite-update)
+ ("C-c M i x" . cal-invite-cancel)
+ ("C-c M i v" . cal-invite-view)
("C-x m" . mu4e-compose-new))
:hook (mu4e-compose-mode . (lambda () (use-hard-newlines -1)))
:init
(setq mail-user-agent 'mu4e-user-agent)
:config
- (defun my/email-to-display-name (email)
- "Derive a display name from EMAIL, e.g. jane.doe@x.com -> Jane Doe."
- (mapconcat #'capitalize
- (split-string (car (split-string email "@")) "[._-]")
- " "))
+ (defun my/mu4e-refile-folder-skip-sent (msg)
+ "Refile to Archive, but keep sent messages in place."
+ (let ((maildir (mu4e-message-field msg :maildir)))
+ (if (string-match-p "/Sent\\'" maildir)
+ maildir
+ (let ((account (replace-regexp-in-string "^/\\([^/]+\\)/.*" "\\1" maildir)))
+ (concat "/" account "/Archive")))))
+
+(defun my/email-to-display-name (email)
+ "Derive a display name from EMAIL, e.g. jane.doe@x.com -> Jane Doe."
+ (mapconcat #'capitalize
+ (split-string (car (split-string email "@")) "[._-]")
+ " "))
;; (setq mu4e-compose-format-flowed t) ;; this handled by org-msg
(setq message-citation-line-function 'message-insert-formatted-citation-line)
@@ -389,10 +426,11 @@
(defvar my/mu4e-account-maildirs
'((mu4e-drafts-folder . "Drafts")
(mu4e-sent-folder . "Sent")
- (mu4e-refile-folder . "Archive")
(mu4e-trash-folder . "Trash"))
"Common subfolder names shared across all accounts.")
+ (setq mu4e-refile-folder #'my/mu4e-refile-folder-skip-sent)
+
(defvar my/mu4e-account-shortcuts
'(("Inbox" . ?i)
("Archive" . ?a)
@@ -497,7 +535,7 @@
(setq-local org-msg-enforce-css
(expand-file-name "org-msg-style.css" user-emacs-directory)))
- (setq org-msg-options "html-postamble:nil H:5 num:nil ^:{} toc:nil author:nil email:nil tex:dvipng"
+ (setq org-msg-options "html-postamble:nil H:5 num:nil ^:{} toc:nil author:nil email:nil tex:dvipng \\n:t"
org-msg-startup "hidestars indent inlineimages"
org-msg-greeting-fmt "\n"
org-msg-greeting-name-limit 3