Add Fastmail email and calendar, multi-account neomutt
- mbsync: add Fastmail IMAP channel (rbw for credentials) - msmtp: add Fastmail SMTP account - neomutt: add fastmail account file, F2/F3 account switching macros - vdirsyncer + khal: Fastmail CalDAV calendar sync - zshrc: restore calsync alias Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -22,4 +22,31 @@ Patterns * !Junk !Deleted
|
|||||||
Create Near
|
Create Near
|
||||||
Sync All
|
Sync All
|
||||||
Expunge Near
|
Expunge Near
|
||||||
SyncState *
|
SyncState *
|
||||||
|
|
||||||
|
##
|
||||||
|
|
||||||
|
IMAPAccount fastmail
|
||||||
|
Host imap.fastmail.com
|
||||||
|
Port 993
|
||||||
|
User rob@rharbaugh.com
|
||||||
|
PassCmd "rbw get fastmail-app-password"
|
||||||
|
TLSType IMAPS
|
||||||
|
CertificateFile /etc/ssl/certs/ca-bundle.crt
|
||||||
|
|
||||||
|
IMAPStore fastmail-remote
|
||||||
|
Account fastmail
|
||||||
|
|
||||||
|
MaildirStore fastmail-local
|
||||||
|
SubFolders Verbatim
|
||||||
|
Path ~/mail/fastmail/
|
||||||
|
Inbox ~/mail/fastmail/Inbox/
|
||||||
|
|
||||||
|
Channel fastmail
|
||||||
|
Far :fastmail-remote:
|
||||||
|
Near :fastmail-local:
|
||||||
|
Patterns * !Spam
|
||||||
|
Create Near
|
||||||
|
Sync All
|
||||||
|
Expunge Near
|
||||||
|
SyncState *
|
||||||
|
|||||||
12
laptop/.config/khal/config
Normal file
12
laptop/.config/khal/config
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
[calendars]
|
||||||
|
[[fastmail]]
|
||||||
|
path = ~/.local/share/calendars/fastmail/*
|
||||||
|
color = light blue
|
||||||
|
|
||||||
|
[sqlite]
|
||||||
|
path = ~/.local/share/khal/db.sqlite
|
||||||
|
|
||||||
|
[locale]
|
||||||
|
timeformat = %H:%M
|
||||||
|
dateformat = %Y-%m-%d
|
||||||
|
datetimeformat = %Y-%m-%d %H:%M
|
||||||
@@ -1,14 +1,22 @@
|
|||||||
defaults
|
defaults
|
||||||
auth xoauth2
|
tls on
|
||||||
tls on
|
tls_trust_file /etc/ssl/certs/ca-bundle.crt
|
||||||
tls_trust_file /etc/ssl/certs/ca-bundle.crt
|
logfile ~/.local/share/msmtp/msmtp.log
|
||||||
logfile ~/.local/share/msmtp/msmtp.log
|
|
||||||
|
|
||||||
account outlook
|
account outlook
|
||||||
host smtp.office365.com
|
auth xoauth2
|
||||||
port 587
|
host smtp.office365.com
|
||||||
tls_starttls on
|
port 587
|
||||||
user robharbaugh@outlook.com
|
tls_starttls on
|
||||||
passwordeval python3 /usr/share/neomutt/oauth2/mutt_oauth2.py ~/.config/neomutt/outlook.tokens --decryption-pipe 'gpg --decrypt'
|
user robharbaugh@outlook.com
|
||||||
|
passwordeval python3 /usr/share/neomutt/oauth2/mutt_oauth2.py ~/.config/neomutt/outlook.tokens --decryption-pipe 'gpg --decrypt'
|
||||||
|
|
||||||
account default : outlook
|
account fastmail
|
||||||
|
auth plain
|
||||||
|
host smtp.fastmail.com
|
||||||
|
port 587
|
||||||
|
tls_starttls on
|
||||||
|
user rob@rharbaugh.com
|
||||||
|
passwordeval rbw get fastmail-app-password
|
||||||
|
|
||||||
|
account default : outlook
|
||||||
|
|||||||
17
laptop/.config/neomutt/accounts/fastmail
Normal file
17
laptop/.config/neomutt/accounts/fastmail
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
set realname = "Rob Harbaugh"
|
||||||
|
set from = "rob@rharbaugh.com"
|
||||||
|
|
||||||
|
set mbox_type = Maildir
|
||||||
|
set folder = ~/mail/fastmail
|
||||||
|
set spoolfile = +Inbox
|
||||||
|
set postponed = +Drafts
|
||||||
|
set trash = +Trash
|
||||||
|
|
||||||
|
set sendmail = "/usr/bin/msmtp -a fastmail"
|
||||||
|
set envelope_from = yes
|
||||||
|
set sendmail_wait = 0
|
||||||
|
|
||||||
|
set signature = ~/.config/neomutt/signature
|
||||||
|
|
||||||
|
unmailboxes *
|
||||||
|
mailboxes =Inbox =Drafts =Sent =Trash =Archive
|
||||||
@@ -8,8 +8,9 @@ set postponed = +Drafts
|
|||||||
set trash = +Trash
|
set trash = +Trash
|
||||||
|
|
||||||
set signature = ~/.config/neomutt/signature
|
set signature = ~/.config/neomutt/signature
|
||||||
set sendmail = "/usr/bin/msmtp"
|
set sendmail = "/usr/bin/msmtp -a outlook"
|
||||||
set envelope_from = yes
|
set envelope_from = yes
|
||||||
set sendmail_wait = 0
|
set sendmail_wait = 0
|
||||||
|
|
||||||
|
unmailboxes *
|
||||||
mailboxes =Inbox =Drafts =Sent =Archive =Trash =Church =Family =House =Work =Notes
|
mailboxes =Inbox =Drafts =Sent =Archive =Trash =Church =Family =House =Work =Notes
|
||||||
@@ -88,3 +88,7 @@ color body underline color111 color235 "<[^ ]+@[^ ]+>"
|
|||||||
|
|
||||||
# Sidebar toggle
|
# Sidebar toggle
|
||||||
bind index,pager B sidebar-toggle-visible
|
bind index,pager B sidebar-toggle-visible
|
||||||
|
|
||||||
|
# Account switching
|
||||||
|
macro index <F2> '<sync-mailbox><enter-command>source ~/.config/neomutt/accounts/personal<enter><change-folder>!<enter><refresh>' "Switch to Outlook"
|
||||||
|
macro index <F3> '<sync-mailbox><enter-command>source ~/.config/neomutt/accounts/fastmail<enter><change-folder>!<enter><refresh>' "Switch to Fastmail"
|
||||||
|
|||||||
18
laptop/.config/vdirsyncer/config
Normal file
18
laptop/.config/vdirsyncer/config
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
[general]
|
||||||
|
status_path = "~/.local/share/vdirsyncer/status/"
|
||||||
|
|
||||||
|
[pair fastmail_calendar]
|
||||||
|
a = "fastmail_calendar_local"
|
||||||
|
b = "fastmail_calendar_remote"
|
||||||
|
collections = ["from a", "from b"]
|
||||||
|
|
||||||
|
[storage fastmail_calendar_local]
|
||||||
|
type = "filesystem"
|
||||||
|
path = "~/.local/share/calendars/fastmail/"
|
||||||
|
fileext = ".ics"
|
||||||
|
|
||||||
|
[storage fastmail_calendar_remote]
|
||||||
|
type = "caldav"
|
||||||
|
url = "https://caldav.fastmail.com/dav/"
|
||||||
|
username = "rob@rharbaugh.com"
|
||||||
|
password.fetch = ["command", "rbw", "get", "fastmail-app-password"]
|
||||||
@@ -20,6 +20,7 @@ export PATH="$HOME/.local/bin:$HOME/.cargo/bin:$HOME/go/bin:$HOME/.local/bin:$PA
|
|||||||
# Aliases
|
# Aliases
|
||||||
alias e="emacsclient -t -a \"\""
|
alias e="emacsclient -t -a \"\""
|
||||||
alias mbsync="mbsync -a"
|
alias mbsync="mbsync -a"
|
||||||
|
alias calsync="vdirsyncer sync"
|
||||||
alias c="clear"
|
alias c="clear"
|
||||||
alias cat="bat --paging=never --style=plain"
|
alias cat="bat --paging=never --style=plain"
|
||||||
alias cp="cp -riv"
|
alias cp="cp -riv"
|
||||||
|
|||||||
Reference in New Issue
Block a user