adding some basic email support

This commit is contained in:
JesseBot 2022-11-28 18:04:28 +01:00
parent d1fefdf74b
commit 028232bc2b
5 changed files with 190 additions and 28 deletions

View file

@ -5,6 +5,8 @@
# -------------------------------------------------------------------------- #
# General #
# -------------------------------------------------------------------------- #
#
export W3M_IMG2SIXEL=/usr/local/bin/img2sixel
# this is for my specific locale, so that perl is chill about everything
export LC_ALL=en_US.UTF-8

View file

@ -1,18 +1,33 @@
# thank you to: https://cheatsheets.stephane.plus/productivity/neomutt/
# thank you to stephane for giving out a super easy to understand base config:
# https://cheatsheets.stephane.plus/productivity/neomutt/
# sources secret variables: $my_user, $my_pass, and $my_name
# ----------------- Email address, Password, and Name ------------------ #
# sources secret variables from a file that looks like (without the comments):
#
# $my_user="You@yourprovider.tld"
# if using protonmail, this should be the password from protonmail-bridge
# $my_pass="Your Password"
# $my_name="Your Name"
#
source ~/.config/neomutt/keys
# --------------------------- Char encoding --------------------------- #
# Character set on sent messages:
set send_charset="utf-8"
# If there is no charset given on incoming msg, its probably windows:
set assumed_charset="iso-8859-1"
# --------------------------- Colors --------------------------- #
# extremely neon color theme
source ~/.config/neomutt/themes/neonwolf/mutt-colors-neonwolf-256.muttrc
# --------------------------- IMAP settings --------------------------- #
# Local protonmail-bridge host server: 127.0.0.1
# Protonmail-bridge imap port: 1143
# --------------------------------------------------------------------- #
set imap_user = $my_user
set imap_pass = $my_pass
# ("+" substitutes for `folder`)
set mbox_type = Maildir
@ -24,11 +39,6 @@ set spoolfile = +INBOX
mailboxes = +INBOX
set mail_check = 5 # seconds
# Local protonmail-bridge host server: 127.0.0.1
# Protonmail-bridge imap port: 1143
set imap_user = $my_user
set imap_pass = $my_pass
# Store message headers locally to speed things up.
# If hcache is a folder, Mutt will create sub cache folders for each account
# which may speeds things up even more:
@ -53,14 +63,14 @@ set mail_check = 360
# --------------------------- SMTP settings --------------------------- #
# Local protonmail-bridge host server: 127.0.0.1
# Protonmail-bridge smtp port: 1025
# --------------------------------------------------------------------- #
set smtp_pass = $my_pass
set realname = #my_name
set realname = $my_name
set from = $my_user
set use_from = yes
# Local protonmail-bridge host server: 127.0.0.1
# Protonmail-bridge smtp port: 1025
set smtp_url = smtp://$my_user:$smtp_pass@127.0.0.1:1025
set ssl_force_tls = yes
set ssl_starttls = yes

View file

@ -0,0 +1,113 @@
# Neonwolf Color Scheme for Mutt
# Based mostly on the colors from the badwolf lightline theme
# Project: https://gitlab.com/h3xx/mutt-colors-neonwolf
# custom body highlights -----------------------------------------------
# custom index highlights ----------------------------------------------
# for background in 16 color terminal, valid background colors include:
# base03, bg, black, any of the non brights
# style notes:
# when bg=235, that's a highlighted message
# normal bg=233
# basic colors ---------------------------------------------------------
color error color196 color235 # message line error text
color tilde color81 color233 # vi-like tildes marking blank lines
color message color82 color235
color markers brightcolor232 color222 # wrapped-line /^\+/ markers
color attachment brightcolor165 color235 # attachment headers
color search color232 color154 # search patterns in pager
color status brightcolor232 color39
color indicator brightcolor232 color154 # selected email in index
color tree brightcolor165 color233 # arrow in threads (`-->')
# basic monochrome screen
mono bold bold
mono underline underline
mono indicator reverse
mono error bold
mono header bold "^(From|Subject|Date|To|Cc|Bcc):"
mono quoted bold
# index ----------------------------------------------------------------
color index color160 color233 "~A" # all messages
color index color166 color233 "~E" # expired messages
color index brightcolor154 color233 "~N" # new messages
color index color154 color233 "~O" # old messages
color index color244 color233 "~R" # read messages
color index brightcolor39 color233 "~Q" # messages that have been replied to
color index brightcolor154 color233 "~U" # unread messages
color index brightcolor154 color233 "~U~$" # unread, unreferenced messages
color index color222 color233 "~v" # messages part of a collapsed thread
color index color222 color233 "~P" # messages from me
#color index color39 color233 "~p!~F" # messages to me
#color index color39 color233 "~N~p!~F" # new messages to me
#color index color39 color233 "~U~p!~F" # unread messages to me
#color index color244 color233 "~R~p!~F" # messages to me
color index brightcolor165 color233 "~F" # flagged messages
color index brightcolor165 color233 "~F~p" # flagged messages to me
color index brightcolor165 color233 "~N~F" # new flagged messages
color index brightcolor165 color233 "~N~F~p" # new flagged messages to me
color index brightcolor165 color233 "~U~F~p" # new flagged messages to me
color index color232 color196 "!~N ~D" # deleted messages
color index color232 color196 "~N ~D" # deleted new messages
color index color244 color233 "~v~(!~N)" # collapsed thread with no unread
color index color81 color233 "~v~(~N)" # collapsed thread with some unread
color index color81 color233 "~N~v~(~N)" # collapsed thread with unread parent
# statusbg used to indicated flagged when foreground color shows other status
# for collapsed thread
color index color160 color233 "~v~(~F)!~N" # collapsed thread with flagged, no unread
color index color81 color233 "~v~(~F~N)" # collapsed thread with some unread & flagged
color index color81 color233 "~N~v~(~F~N)" # collapsed thread with unread parent & flagged
color index color81 color233 "~N~v~(~F)" # collapsed thread with unread parent, no unread inside, but some flagged
color index color39 color233 "~v~(~p)" # collapsed thread with unread parent, no unread inside, some to me directly
color index color81 color160 "~v~(~D)" # thread with deleted (doesn't differentiate between all or partial)
color index color222 color233 "~T" # tagged messages
color index brightcolor222 color233 "~T~F" # tagged, flagged messages
color index brightcolor222 color233 "~T~N" # tagged, new messages
color index brightcolor222 color233 "~T~U" # tagged, unread messages
# message headers ------------------------------------------------------
color hdrdefault brightcolor222 color235
color header brightcolor39 color235 "^(From|To|Cc|Bcc)"
color header brightcolor165 color235 "^(Subject|Date)"
# body -----------------------------------------------------------------
color quoted color39 color235
color quoted1 color165 color235
color quoted2 color39 color235
color quoted3 color222 color235
color quoted4 color166 color235
color signature color81 color235 # everything below /^--\s*$/
color bold color255 color233
color underline color233 color244
color normal color244 color233
## pgp
color body color160 color233 "(BAD signature)"
color body color39 color233 "(Good signature)"
color body color235 color233 "^gpg: Good signature .*"
color body color241 color233 "^gpg: "
color body color241 color160 "^gpg: BAD signature from.*"
mono body bold "^gpg: Good signature"
mono body bold "^gpg: BAD signature from.*"
# yes, an insane URL regex
color body brightcolor39 color233 "([a-z][a-z0-9+-]*://(((([a-z0-9_.!~*'();:&=+$,-]|%[0-9a-f][0-9a-f])*@)?((([a-z0-9]([a-z0-9-]*[a-z0-9])?)\\.)*([a-z]([a-z0-9-]*[a-z0-9])?)\\.?|[0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+)(:[0-9]+)?)|([a-z0-9_.!~*'()$,;:@&=+-]|%[0-9a-f][0-9a-f])+)(/([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*(;([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*)*(/([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*(;([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*)*)*)?(\\?([a-z0-9_.!~*'();/?:@&=+$,-]|%[0-9a-f][0-9a-f])*)?(#([a-z0-9_.!~*'();/?:@&=+$,-]|%[0-9a-f][0-9a-f])*)?|(www|ftp)\\.(([a-z0-9]([a-z0-9-]*[a-z0-9])?)\\.)*([a-z]([a-z0-9-]*[a-z0-9])?)\\.?(:[0-9]+)?(/([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*(;([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*)*(/([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*(;([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*)*)*)?(\\?([-a-z0-9_.!~*'();/?:@&=+$,]|%[0-9a-f][0-9a-f])*)?(#([-a-z0-9_.!~*'();/?:@&=+$,]|%[0-9a-f][0-9a-f])*)?)[^].,:;!)? \t\r\n<>\"]"
# and a heavy handed email regex
color body brightcolor39 color233 "((@(([0-9a-z-]+\\.)*[0-9a-z-]+\\.?|#[0-9]+|\\[[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\]),)*@(([0-9a-z-]+\\.)*[0-9a-z-]+\\.?|#[0-9]+|\\[[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\]):)?[0-9a-z_.+%$-]+@(([0-9a-z-]+\\.)*[0-9a-z-]+\\.?|#[0-9]+|\\[[0-2]?[0-9]?[0-9]\\.[0-2]?[0-9]?[0-9]\\.[0-2]?[0-9]?[0-9]\\.[0-2]?[0-9]?[0-9]\\])"
# simplified regex for URL & email
#color body magenta default "(ftp|https?|gopher|news|telnet|finger)://[^ \"\t\r\n]+"
#color body magenta default "[-a-z_0-9.]+@[-a-z_0-9.]+"
# vi: ft=muttrc ts=4 sw=4 sts=4 et

2
.mailcap Normal file
View file

@ -0,0 +1,2 @@
image/*; (clear && img2sixel %s); needsterminal
text/html; w3m -sixel -o auto_image=TRUE -o display_image=1 -o display_link_number=1 -F -T text/html %s; edit=vim; compose=vim; nametemplate=%s.html; copiousoutput; needsterminal

View file

@ -1,6 +1,6 @@
# Dot Files for `onboardme`
These started as my personal dot files, but then they became the sensible defaults for
These started as my personal dot files, but then they became the sensible defaults for
[`onboardme`](https://github.com/jessebot/onboardme), which started out as a script
to manage my dot files. Funny how these things work. :shrug:
@ -137,6 +137,35 @@ to manage my dot files. Funny how these things work. :shrug:
</details>
<details>
<summary>neomutt</summary>
<blockquote>
Files:
- [`~/.config/neomutt/neomuttrc`](.config/neomutt/neomuttrc)
- [`~/.config/neomutt/themes/neonwolf/mutt-colors-neonwolf-256.muttrc`](.config/neomutt/themes/neonwolf/mutt-colors-neonwolf-256.muttrc)
Config file for [neomutt], a terminal based email client. Config includes:
- sets [neonwolf colorscheme]
- sets character set to be utf-8 (emojis :))
- sets basic IMAP and SMTP settings
- sets tls by default
- sets header_cache and message_cachedir to be "~/.cache/mutt"
You'll still need to create `~/.config/neomutt/keys` with the following info:
```neomutt
set my_user=you@youremail.com
set my_name="Your Name"
# if you're using protonmail this is the password from protonmail-bridge
set my_pass="areallycoolpasswordfordogs"
```
</blockquote>
</details>
<details>
<summary>nvim</summary>
@ -218,8 +247,8 @@ to manage my dot files. Funny how these things work. :shrug:
<blockquote>
Configuration files for [powerline], a status line for [BASH] and [tmux]. We enable a
[space-chalk] color theme, as well as laptop battery information, git status
Configuration files for [powerline], a status line for [BASH] and [tmux]. We enable a
[space-chalk] color theme, as well as laptop battery information, git status
information, and local IP address.
Files for colors:
@ -362,10 +391,10 @@ to manage my dot files. Funny how these things work. :shrug:
<summary>.gitignore</summary>
<blockquote>
Git ignore file for all sorts of things in your home directory that should
never get committed if this repo is used as your home directory dot files.
</blockquote>
</details>
@ -374,9 +403,9 @@ to manage my dot files. Funny how these things work. :shrug:
<summary>.hyper.js</summary>
<blockquote>
Sensible defaults for the [hyper](https://hyper.is) terminal emulator.
</blockquote>
</details>
@ -385,9 +414,9 @@ to manage my dot files. Funny how these things work. :shrug:
<summary>.iterm2_shell_integration.bash</summary>
<blockquote>
This is for installing the [iterm2] shell integration for macOS.
</blockquote>
</details>
@ -409,7 +438,7 @@ Config file for [tmux]. Currently, it will:
<summary>.zshrc</summary>
<blockquote>
Config files for zsh that a friend wrote for me once, and I never removed :)
Who knows what lives there. :shrug:
@ -418,7 +447,9 @@ Config file for [tmux]. Currently, it will:
</details>
<!-- ♡ ♡ ♡ ♡ ♡ ♡ ♡ ♡ ♡ Link References ♡ ♡ ♡ ♡ ♡ ♡ ♡ ♡ ♡ -->
<!-- ♡ ♡ ♡ ♡ ♡ ♡ ♡ ♡ ♡ Link References ♡ ♡ ♡ ♡ ♡ ♡ ♡ ♡ ♡ -->
<!-- general -->
[asciinema]: https://asciinema.org/ "asciinema"
[BASH]: https://en.wikipedia.org/wiki/Brian_Fox_(computer_programmer) "BASH"
[github-cli]: https://cli.github.com/ "github cli"
@ -427,26 +458,30 @@ Config file for [tmux]. Currently, it will:
[rich-cli]: https://github.com/Textualize/rich-cli "rich cli"
[tmux]: https://github.com/tmux/tmux "tmux"
<!-- ♡ ♡ ♡ ♡ ♡ ♡ ♡ ♡ ♡ Fonts and Colors ♡ ♡ ♡ ♡ ♡ ♡ ♡ ♡ ♡ -->
<!-- ------------------------ Fonts and Colors -------------------------- -->
[nerdfonts]: https://www.nerdfonts.com/ "nerdfonts"
[powerline fonts]: https://github.com/powerline/fonts "powerline fonts"
[space-chalk]: https://github.com/jessebot/space-chalk "space-chalk colorscheme"
<!-- ♡ ♡ ♡ ♡ ♡ ♡ ♡ ♡ ♡ ♡ ♡ Kubernetes ♡ ♡ ♡ ♡ ♡ ♡ ♡ ♡ ♡ ♡ ♡ -->
<!-- ------------------------------- Kubernetes --------------------------- -->
[krew]: https://krew.sigs.k8s.io/ "krew, plugin manager for kubectl"
[kubectl]: https://kubernetes.io/docs/reference/kubectl/kubectl/ "cli for kubernetes"
<!-- ♡ ♡ ♡ ♡ ♡ ♡ ♡ ♡ Terminal emulators ♡ ♡ ♡ ♡ ♡ ♡ ♡ ♡ -->
<!-- ---------------------- Terminal emulators ---------------------- -->
[iterm2]: https://iterm2.com/ "iterm2"
[kitty]: https://sw.kovidgoyal.net/kitty/ "kitty, a terminal emulator"
[DinkDonk]: https://github.com/DinkDonk/kitty-icon "kitty-icon"
<!-- ♡ ♡ ♡ ♡ ♡ ♡ ♡ ♡ File browsers/listers ♡ ♡ ♡ ♡ ♡ ♡ ♡ ♡ -->
<!-- ---------------------- File browsers/listers ---------------------- -->
[ls]: https://linux.die.net/man/1/ls "gnu tool: ls"
[lsd]: https://github.com/Peltoche/lsd "lsd, ls alternative"
[ranger]: https://github.com/ranger/ranger "ranger file manager"
<!-- ♡ ♡ ♡ ♡ ♡ ♡ ♡ ♡ ♡ Vim and Neovim ♡ ♡ ♡ ♡ ♡ ♡ ♡ ♡ ♡ ♡ ♡ -->
<!-- ---------------------------- Email -------------------------------- -->
[neomutt]: https://neomutt.org "neomutt"
[neonwolf colorscheme]: https://gitlab.com/h3xx/mutt-colors-neonwolf "neonwolf neomutt colorscheme"
<!-- ------------------------- Vim and Neovim ---------------------------- -->
[airline]: https://github.com/vim-airline/vim-airline "airline"
[ale]: https://github.com/dense-analysis/ale "ale: asynchonous linting engine"
[dashboard]: https://github.com/glepnir/dashboard-nvim "dashboard.nvim"