From 34f3845769670dc5799d60d5201ed8ca637968a5 Mon Sep 17 00:00:00 2001 From: Marc Coquand Date: Sun, 22 Dec 2024 11:07:36 +0100 Subject: . --- home/dots/.emacs.d/BOGO-dark-theme.el | 2 + home/dots/.emacs.d/BOGO-theme.el | 2 + home/dots/.local/bin/sync-mail | 7 +++ home/dots/.notmuch-config | 83 ++++++++++++++++++++++++++++++++++ home/dots/mail/.notmuch/hooks/post-new | 13 ++++++ home/dots/mail/.notmuch/hooks/pre-new | 8 ++++ 6 files changed, 115 insertions(+) create mode 100755 home/dots/.local/bin/sync-mail create mode 100644 home/dots/.notmuch-config create mode 100755 home/dots/mail/.notmuch/hooks/post-new create mode 100755 home/dots/mail/.notmuch/hooks/pre-new diff --git a/home/dots/.emacs.d/BOGO-dark-theme.el b/home/dots/.emacs.d/BOGO-dark-theme.el index 187f022..7be4377 100644 --- a/home/dots/.emacs.d/BOGO-dark-theme.el +++ b/home/dots/.emacs.d/BOGO-dark-theme.el @@ -37,6 +37,7 @@ '(font-lock-type-face ((t (:foreground "#fffff8")))) '(magit-section-heading ((t (:weight bold)))) '(font-lock-variable-name-face ((t (:foreground "#fffff8")))) + '(org-property-value ((t nil))) '(fringe ((t nil))) '(header-line ((t (:inherit default :foreground "grey80" :box (:line-width (12 . 12) :color "#1d1d1d") :underline (:color "gray20" :style line :position 0) :family "Iosevka Aile" :height 1.0)))) '(highlight ((t (:background "gray20")))) @@ -58,6 +59,7 @@ '(message-header-cc ((t nil))) '(message-cited-text-1 ((t (:foreground "gray50")))) '(gnus-header-name ((t (:weight bold)))) + '(notmuch-tag-face ((t nil))) '(gnus-header-content ((t nil))) '(gnus-header-subject ((t (:slant italic)))) '(gnus-header-from ((t (:weight bold)))) diff --git a/home/dots/.emacs.d/BOGO-theme.el b/home/dots/.emacs.d/BOGO-theme.el index ecdfca6..d68a25a 100644 --- a/home/dots/.emacs.d/BOGO-theme.el +++ b/home/dots/.emacs.d/BOGO-theme.el @@ -30,6 +30,7 @@ '(git-gutter:modified ((t nil))) '(git-gutter:deleted ((t (:foreground "red")))) '(font-lock-function-name-face ((t nil))) + '(notmuch-tag-face ((t nil))) '(font-lock-keyword-face ((t nil))) '(shr-h1 ((t (:weight bold)))) '(shr-h2 ((t (:weight bold)))) @@ -85,6 +86,7 @@ '(org-imminent-deadline ((t (:foreground "DarkOrange3" :weight bold)))) '(org-agenda-date-today ((t (:weight bold)))) '(org-agenda-date-weekend ((t nil))) + '(org-property-value ((t nil))) '(help-key-binding ((t (:weight semibold :background "#EEEEE8" :box (:line-width (1 . -1) :color "#AAAAA8"))))) '(org-agenda-done ((t (:strike-through t :inherit org-time-grid :extend nil)))) '(org-agenda-structure-filter ((t (:slant italic)))) diff --git a/home/dots/.local/bin/sync-mail b/home/dots/.local/bin/sync-mail new file mode 100755 index 0000000..575d849 --- /dev/null +++ b/home/dots/.local/bin/sync-mail @@ -0,0 +1,7 @@ +#!/usr/bin/env bash +set -e +#sh ~/mail/.notmuch/hooks/pre-sync +mbsync -a +notmuch new + + diff --git a/home/dots/.notmuch-config b/home/dots/.notmuch-config new file mode 100644 index 0000000..20b3f85 --- /dev/null +++ b/home/dots/.notmuch-config @@ -0,0 +1,83 @@ +# .notmuch-config - Configuration file for the notmuch mail system +# +# For more information about notmuch, see https://notmuchmail.org +# Database configuration +# +# The only value supported here is 'path' which should be the top-level +# directory where your mail currently exists and to where mail will be +# delivered in the future. Files should be individual email messages. +# Notmuch will store its database within a sub-directory of the path +# configured here named ".notmuch". +# +[show] +extra_headers=X-Mailer,User-Agent +[database] +# User configuration +# +# Here is where you can let notmuch know how you would like to be +# addressed. Valid settings are +# +# name Your full name. +# primary_email Your primary email address. +# other_email A list (separated by ';') of other email addresses +# at which you receive email. +# +# Notmuch will use the various email addresses configured here when +# formatting replies. It will avoid including your own addresses in the +# recipient list of replies, and will set the From address based on the +# address to which the original email was addressed. +# +[user] +name=Marc Coquand +primary_email=marc@coquand.email +other_email=marc.coquand@piva.earth;marcc@fastmail.fr;marc@mccd.space; +# Configuration for "notmuch new" +# +# The following options are supported here: +# +# tags A list (separated by ';') of the tags that will be +# added to all messages incorporated by "notmuch new". +# +# ignore A list (separated by ';') of file and directory names +# that will not be searched for messages by "notmuch new". +# +# NOTE: *Every* file/directory that goes by one of those +# names will be ignored, independent of its depth/location +# in the mail store. +# +[new] +# Search configuration +# +# The following option is supported here: +# +# exclude_tags +# A ;-separated list of tags that will be excluded from +# search results by default. Using an excluded tag in a +# query will override that exclusion. +# +tags=new +[search] +exclude_tags=deleted;spam;junk +# Maildir compatibility configuration +# +# The following option is supported here: +# +# synchronize_flags Valid values are true and false. +# +# If true, then the following maildir flags (in message filenames) +# will be synchronized with the corresponding notmuch tags: +# +# Flag Tag +# ---- ------- +# D draft +# F flagged +# P passed +# R replied +# S unread (added when 'S' flag is not present) +# +# The "notmuch new" command will notice flag changes in filenames +# and update tags, while the "notmuch tag" and "notmuch restore" +# commands will notice tag changes and update flags in filenames +# +synchronize_flags=true +[maildir] diff --git a/home/dots/mail/.notmuch/hooks/post-new b/home/dots/mail/.notmuch/hooks/post-new new file mode 100755 index 0000000..ef985c0 --- /dev/null +++ b/home/dots/mail/.notmuch/hooks/post-new @@ -0,0 +1,13 @@ +#!/run/current-system/profile/bin/bash + +notmuch tag +work -- folder:/work/ +notmuch tag +home -- folder:/home/ +notmuch tag +receipt -- path:/home/Archive/Receipt/ +notmuch tag +important -- path:/home/Archive/Important/ +notmuch tag +ticket -- path:/home/Archive/Tickets/ +notmuch tag +flight -- path:/home/Archive/Flight/ + +afew --tag --new + + + diff --git a/home/dots/mail/.notmuch/hooks/pre-new b/home/dots/mail/.notmuch/hooks/pre-new new file mode 100755 index 0000000..949d909 --- /dev/null +++ b/home/dots/mail/.notmuch/hooks/pre-new @@ -0,0 +1,8 @@ +#!/run/current-system/profile/bin/bash +notmuch search --output=files "path:/.*/INBOX/" tag:home and tag:deleted | while IFS= read -r f; do mv -v $f $(echo $f | sed 's/INBOX/Trash/' | sed 's/,U=[0-9]*:/:/'); done + +notmuch search --output=files "path:/.*/INBOX/" tag:home and tag:receipt and not tag:inbox | while IFS= read -r f; do mv -v $f $(echo $f | sed 's/INBOX/Archive\/Receipt/' | sed 's/,U=[0-9]*:/:/'); done + +notmuch search --output=files "path:/.*/INBOX/" tag:home and tag:flight and not tag:inbox | while IFS= read -r f; do mv -v $f $(echo $f | sed 's/INBOX/Archive\/Flight/' | sed 's/,U=[0-9]*:/:/'); done + +notmuch search --output=files "path:/.*/INBOX/" tag:home and not tag:inbox | while IFS= read -r f; do mv -v $f $(echo $f | sed 's/INBOX/Archive/' | sed 's/,U=[0-9]*:/:/'); done -- cgit v1.2.3