Browse Source

Merge branch 'dev' into logos

nvim: fix lsp count in statusline (deprecation)
mail: add mutt + mbsync + msmtp configs
      add mailo account
      enhance scan for new mails
      change keybindings to switch mailboxes

!!!BREAKING git: change default signing key
logos
David JULIEN 5 months ago
parent
commit
2cafd49a44
Signed by: swytch
GPG Key ID: 498590A3AA82A06F
  1. 4
      .config/git/config
  2. 78
      .config/mbsync/config
  3. 32
      .config/msmtp/config
  4. 49
      .config/mutt/accounts/3-david.julien@mailo.com.muttrc
  5. 2
      .config/mutt/accounts/mailo.signature
  6. 6
      .config/mutt/muttrc
  7. 7
      .config/nvim/lua/statusline.lua
  8. 2
      .local/bin/mailsync
  9. 5
      .local/bin/statusbar/sb-mailbox

4
.config/git/config

@ -1,7 +1,7 @@
[user]
email = swy7ch@protonmail.com
email = swytch@mailo.com
name = David JULIEN
signingKey = D9D47382
signingKey = AA82A06F
[gpg]
program = gpg2
[init]

78
.config/mbsync/config

@ -0,0 +1,78 @@
# Personnal - Critical
IMAPStore david.julien@posteo.net-remote
Host posteo.de
Port 993
User david.julien@posteo.net
PassCmd "pass david.julien@posteo.net"
AuthMechs LOGIN
SSLType IMAPS
CertificateFile /etc/ssl/certs/ca-certificates.crt
MaildirStore david.julien@posteo.net-local
Subfolders Verbatim
Path /home/swytch/.local/share/mail/david.julien@posteo.net/
Inbox /home/swytch/.local/share/mail/david.julien@posteo.net/INBOX
Channel david.julien@posteo.net
Expunge Both
Far :david.julien@posteo.net-remote:
Near :david.julien@posteo.net-local:
Patterns * !"[Gmail]/All Mail"
Create Both
SyncState *
MaxMessages 0
ExpireUnread no
# End Profile
# University
IMAPStore david.julien@ens-lyon.fr-remote
Host imaps.ens-lyon.fr
Port 993
User djulien
PassCmd "pass ens-lyon.fr/djulien"
AuthMechs LOGIN
SSLType IMAPS
CertificateFile /etc/ssl/certs/ca-certificates.crt
MaildirStore david.julien@ens-lyon.fr-local
Subfolders Verbatim
Path /home/swytch/.local/share/mail/david.julien@ens-lyon.fr/
Inbox /home/swytch/.local/share/mail/david.julien@ens-lyon.fr/INBOX
Channel david.julien@ens-lyon.fr
Expunge Both
Far :david.julien@ens-lyon.fr-remote:
Near :david.julien@ens-lyon.fr-local:
Patterns * !"[Gmail]/All Mail"
Create Both
SyncState *
MaxMessages 0
ExpireUnread no
# End Profile
# Personnal
IMAPStore david.julien@mailo.com-remote
Host mail.mailo.com
Port 993
User david.julien@mailo.com
PassCmd "pass david.julien@mailo.com"
AuthMechs LOGIN
SSLType IMAPS
CertificateFile /etc/ssl/certs/ca-certificates.crt
MaildirStore david.julien@mailo.com-local
Subfolders Verbatim
Path /home/swytch/.local/share/mail/david.julien@mailo.com/
Inbox /home/swytch/.local/share/mail/david.julien@mailo.com/INBOX
Channel david.julien@mailo.com
Expunge Both
Far :david.julien@mailo.com-remote:
Near :david.julien@mailo.com-local:
Patterns * !"[Gmail]/All Mail"
Create Both
SyncState *
MaxMessages 0
ExpireUnread no
# End Profile

32
.config/msmtp/config

@ -0,0 +1,32 @@
account david.julien@posteo.net
host posteo.de
port 587
from david.julien@posteo.net
user david.julien@posteo.net
passwordeval "pass david.julien@posteo.net"
auth on
tls on
tls_trust_file /etc/ssl/certs/ca-certificates.crt
logfile /home/swytch/.config/msmtp/msmtp.log
account david.julien@ens-lyon.fr
host smtp.ens-lyon.fr
port 587
from david.julien@ens-lyon.fr
user djulien
passwordeval "pass ens-lyon.fr/djulien"
auth on
tls on
tls_trust_file /etc/ssl/certs/ca-certificates.crt
logfile /home/swytch/.config/msmtp/msmtp.log
account david.julien@mailo.com
host mail.mailo.com
port 587
from david.julien@mailo.com
user david.julien@mailo.com
passwordeval "pass david.julien@mailo.com"
auth on
tls on
tls_trust_file /etc/ssl/certs/ca-certificates.crt
logfile /home/swytch/.config/msmtp/msmtp.log

49
.config/mutt/accounts/3-david.julien@mailo.com.muttrc

@ -0,0 +1,49 @@
# vim: filetype=neomuttrc
# muttrc file for account email@adress.you
set realname = "David JULIEN"
set from = "david.julien@mailo.com"
set sendmail = "msmtp -a david.julien@mailo.com"
alias me david.julien <david.julien@mailo.com>
set folder = "/home/swytch/.local/share/mail/david.julien@mailo.com"
set header_cache = /home/swytch/.cache/mutt/david.julien@mailo.com/headers
set message_cachedir = /home/swytch/.cache/mutt/david.julien@mailo.com/bodies
set mbox_type = Maildir
set crypt_autosign = yes
set pgp_sign_as = "0x86C2FBBE4A4F0F7F"
bind index,pager gg noop
bind index,pager g noop
bind index,pager M noop
bind index,pager C noop
bind index gg first-entry
unmailboxes *
unalternates *
set signature="/home/swytch/.config/mutt/accounts/mailo.signature"
unmacro index o
macro index o "<shell-escape>mailsync<enter>" "run mbsync to sync david.julien@mailo.com"
mailboxes "=sent" "=draftbox" "=trash" "=INBOX" "=farigoule" "=promo_fanfare"
set record = "+sent"
macro index,pager gs "<change-folder>=sent<enter>" "go to sent"
macro index,pager Ms ";<save-message>=sent<enter>" "move mail to sent"
macro index,pager Cs ";<copy-message>=sent<enter>" "copy mail to sent"
set postponed = "+draftbox"
macro index,pager gd "<change-folder>=draftbox<enter>" "go to drafts"
macro index,pager Md ";<save-message>=draftbox<enter>" "move mail to drafts"
macro index,pager Cd ";<copy-message>=draftbox<enter>" "copy mail to drafts"
macro index,pager gt "<change-folder>=trash<enter>" "go to trash"
macro index,pager Mt ";<save-message>=trash<enter>" "move mail to trash"
macro index,pager Ct ";<copy-message>=trash<enter>" "copy mail to trash"
set trash = "+trash"
macro index,pager gi "<change-folder>=INBOX<enter>" "go to inbox"
macro index,pager Mi ";<save-message>=INBOX<enter>" "move mail to inbox"
macro index,pager Ci ";<copy-message>=INBOX<enter>" "copy mail to inbox"
set spoolfile = "+INBOX"
macro index,pager gf "<change-folder>=farigoule<enter>" "go to farigoule"
macro index,pager Mf ";<save-message>=farigoule<enter>" "move mail to farigoule"
macro index,pager Cf ";<copy-message>=farigoule<enter>" "copy mail to farigoule"
macro index,pager gp "<change-folder>=promo_fanfare<enter>" "go to promo_fanfare"
macro index,pager Mp ";<save-message>=promo_fanfare<enter>" "move mail to promo_fanfare"
macro index,pager Cp ";<copy-message>=promo_fanfare<enter>" "copy mail to promo_fanfare"

2
.config/mutt/accounts/mailo.signature

@ -0,0 +1,2 @@
David JULIEN

6
.config/mutt/muttrc

@ -0,0 +1,6 @@
# vim: filetype=neomuttrc
source /home/swytch/.config/mutt/neomutt.muttrc
macro index,pager ip '<sync-mailbox><enter-command>source /home/swytch/.config/mutt/accounts/1-david.julien@posteo.net.muttrc<enter><change-folder>!<enter>;<check-stats>' "switch to david.julien@posteo.net"
macro index,pager is '<sync-mailbox><enter-command>source /home/swytch/.config/mutt/accounts/2-david.julien@ens-lyon.fr.muttrc<enter><change-folder>!<enter>;<check-stats>' "switch to david.julien@ens-lyon.fr"
macro index,pager im '<sync-mailbox><enter-command>source /home/swytch/.config/mutt/accounts/3-david.julien@mailo.com.muttrc<enter><change-folder>!<enter>;<check-stats>' "switch to david.julien@mailto.com"
source /home/swytch/.config/mutt/accounts/2-david.julien@ens-lyon.fr.muttrc

7
.config/nvim/lua/statusline.lua

@ -109,7 +109,12 @@ local function get_lsp_diagnostics(bufnr)
}
for k, level in pairs(levels) do
result[k] = vim.lsp.diagnostic.get_count(bufnr, level)
local count = 0
local diags = vim.diagnostic.get(bufnr, { severity = level })
for _, _ in pairs(diags) do
count = count + 1
end
result[k] = count
end
return result

2
.local/bin/mailsync

@ -40,7 +40,7 @@ messageinfo() {
syncandnotify() {
acc="$(echo "$account" | sed "s/.*\///")"
mbsync "$acc"
new="$(find "${XDG_DATA_HOME:-$HOME/.local/share}"/mail/$acc/[Ii][Nn][Bb][Oo][Xx]/new/* -type f -newer "${XDG_CONFIG_HOME:-$HOME/.config}/mutt/.mailsynclastrun" 2>/dev/null)"
new="$(find "${XDG_DATA_HOME:-$HOME/.local/share}"/mail/$acc/*/new/ -type f -newer "${XDG_CONFIG_HOME:-$HOME/.config}/mutt/.mailsynclastrun" | grep -iv "trash" 2>/dev/null)"
newcount=$(echo "$new" | sed '/^\s*$/d' | wc -l)
if [ "$newcount" -gt "0" ]; then
for file in $new; do

5
.local/bin/statusbar/sb-mailbox

@ -13,10 +13,11 @@
unread=""
for acc in $(ls "${XDG_DATA_HOME:-$HOME/.local/share}"/mail/)
do
new="$(find "${XDG_DATA_HOME:-$HOME/.local/share}"/mail/$acc/[Ii][Nn][Bb][Oo][Xx]/new/* -type f | wc -l 2>/dev/null)"
new="$(find "${XDG_DATA_HOME:-$HOME/.local/share}"/mail/$acc/*/new/ -type f | grep -iv "trash" | wc -l 2>/dev/null)"
if [ $new -gt 0 ]; then
[ -n "$(echo "$acc" | sed -n '/@ens/p')" ] && box=""
[ -n "$(echo "$acc" | sed -n '/@posteo/p')" ] && box=""
[ -n "$(echo "$acc" | sed -n '/@mailo/p')" ] && box=""
[ -n "$(echo "$acc" | sed -n '/@posteo/p')" ] && box=""
unread="$unread/$box$new"
fi
done

Loading…
Cancel
Save