diff options
-rw-r--r-- | emacs-packages.nix | 1 | ||||
-rw-r--r-- | home.nix | 97 | ||||
-rwxr-xr-x | install.sh | 7 | ||||
-rw-r--r-- | msmtprc | 19 | ||||
-rw-r--r-- | notmuch | 104 | ||||
-rwxr-xr-x | notmuch-hook.sh (renamed from mutt/notmuch-hook.sh) | 8 | ||||
-rw-r--r-- | packages.nix | 2 |
7 files changed, 80 insertions, 158 deletions
diff --git a/emacs-packages.nix b/emacs-packages.nix index 76c90a2..ae881a0 100644 --- a/emacs-packages.nix +++ b/emacs-packages.nix @@ -46,6 +46,7 @@ org-plus-contrib org-pomodoro org-trello pass +pinentry projectile restclient s @@ -5,35 +5,38 @@ let homedir = builtins.getEnv "HOME"; in { - # Waiting for the accounts feature to land in the 18.03 release branch... - # - #accounts = { - # email = { - # maildirBasePath = "$HOME/Mail"; - # accounts = { - # "ben@bsima.me" = { - # primary = true; - # realName = "Ben Sima"; - # address = "ben@bsima.me"; - # folders = { - # inbox = "INBOX"; - # }; - # imap = { - # host = "mail.bsima.me"; - # port = 993; - # }; - # smtp = { - # host = "mail.bsima.me"; - # port = 587; - # }; - # userName = "ben@bsima.me"; - # mbsync.enable = true; - # notmuch.enable = true; - # passwordCommand = "pass bnet/helium/mail/ben"; - # }; - # }; - # }; - #}; + accounts = { + email = { + maildirBasePath = "${homedir}/Mail"; + accounts = { + "ben@bsima.me" = { + primary = true; + realName = "Ben Sima"; + address = "ben@bsima.me"; + folders = { + inbox = "INBOX"; + }; + imap = { + host = "mail.bsima.me"; + port = 993; + }; + smtp = { + host = "mail.bsima.me"; + port = 587; + }; + userName = "ben@bsima.me"; + mbsync = { + enable = true; + create = "both"; + expunge = "none"; + }; + notmuch.enable = true; + msmtp.enable = false; + passwordCommand = "pass bnet/helium/mail/ben"; + }; + }; + }; + }; home = { packages = import ./packages.nix { inherit pkgs; }; sessionVariables = { @@ -52,14 +55,6 @@ in source = ./mailcap; target = ".mailcap"; }; - msmtp = { - source = ./msmtprc; - target = ".msmtprc"; - }; - notmuch = { - source = ./notmuch; - target = ".notmuch-config"; - }; tmux = { source = ./tmux; target = ".tmux.conf"; @@ -149,6 +144,10 @@ in enable = true; defaultCacheTtl = 600; enableSshSupport = true; + extraConfig = '' + allow-emacs-pinentry + pinentry-program /home/ben/.nix-profile/bin/pinentry-tty + ''; }; }; @@ -271,6 +270,28 @@ in firefox = { enable = true; }; - }; + notmuch = { + enable = true; + new.tags = [ "unread" "inbox" ]; + hooks = { + preNew = "mbsync --all"; + postNew = builtins.readFile ./notmuch-hook.sh; + }; + extraConfig = { + search = { + exclude_tags = "deleted;spam;"; + }; + }; + }; + + mbsync = { + enable = true; + }; + + msmtp = { + enable = false; + extraConfig = builtins.readFile ./msmtprc; + }; + }; } @@ -11,3 +11,10 @@ nix-shell $HM_PATH -A install mkdir -p ~/.config [[ -L ~/config ]] && ln -s ~/config/home.nix ~/.config/nixpkgs/home.nix + +# The notmuch config location is by default ~/.notmuch-config, but home-manager +# puts it at ~/.config/notmuch/notmuchrc (which makes sense) and then sets +# NOTMUCH_CONFIG. However, if a program for some reason doesn't read +# NOTMUCH_CONFIG (emacs), then it won't find the right config file, so I +# override with a symlink. +[[ -L ~/.notmuch-config ]] && ln -s ~/.config/notmuch/notmuchrc ~/.notmuch-config @@ -1,15 +1,16 @@ -account bnet +account ben@bsima.me +auth on +from ben@bsima.me +host mail.bsima.me +user ben@bsima.me +passwordeval pass bnet/helium/mail/ben port 587 -tls on +tls on # Get the fingerprint with # $ msmtp --serverinfo --tls --tls-certcheck=off --host=mail.bsima.me tls_fingerprint 4A:61:06:B6:EE:ED:87:82:82:73:4A:09:10:DE:A4:A4:E8:42:EC:F9:A6:C7:A5:51:6E:AB:09:A0:BF:49:26:33 +#tls_starttls off +#tls_trust_file /etc/ssl/certs/ca-certificates.crt -host mail.bsima.me -from ben@bsima.me -auth on -user ben@bsima.me -passwordeval pass bnet/helium/mail/ben - -account default : bnet +account default : ben@bsima.me diff --git a/notmuch b/notmuch deleted file mode 100644 index a26c613..0000000 --- a/notmuch +++ /dev/null @@ -1,104 +0,0 @@ -# .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". -# - -[database] -path=/home/ben/Mail - -# 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=Ben Sima -primary_email=ben@bsima.me - -# 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. -# -other_email=bsima@me.com;bensima@gmail.com;bsima@icloud.com; - -[new] -tags=new -ignore= - -# 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. -# - -[search] -exclude_tags=deleted;spam; - -# 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 -# - -[maildir] -synchronize_flags=true - -# Cryptography related configuration -# -# The following option is supported here: -# -# gpg_path -# binary name or full path to invoke gpg. -# - -[crypto] -gpg_path=gpg diff --git a/mutt/notmuch-hook.sh b/notmuch-hook.sh index 15b9362..a55a2e1 100755 --- a/mutt/notmuch-hook.sh +++ b/notmuch-hook.sh @@ -1,10 +1,5 @@ #!/usr/bin/env sh -notmuch new - -# retag all "new" messages "inbox" and "unread" -notmuch tag +inbox +unread -new -- tag:new - # tag all messages from "me" as sent notmuch tag +sent -inbox -unread -- from:ben@bsima.me @@ -33,3 +28,6 @@ notmuch tag +jobs -inbox -- \ # tag github emails notmuch tag +github -inbox -- from:github.com + +# haskell-cafe +notmuch tag +haskell -- to:haskell-cafe@haskell.org diff --git a/packages.nix b/packages.nix index cceda60..caaddf2 100644 --- a/packages.nix +++ b/packages.nix @@ -34,8 +34,6 @@ pkgs.ncdu pkgs.neomutt # pkgs.networkmanager_vpnc #pkgs.nix-prefetch-scripts -#pkgs.notmuch -#pkgs.offlineimap pkgs.pass pkgs.pandoc # pkgs.pasystray |