Compare commits
3 commits
Author | SHA1 | Date | |
---|---|---|---|
38bbd893d0 | |||
5886b3f5f2 | |||
7dc1f3cd9b |
30 changed files with 472 additions and 4408 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -3,4 +3,3 @@
|
||||||
vim/.vim/plugged
|
vim/.vim/plugged
|
||||||
vim/.vim/autoload
|
vim/.vim/autoload
|
||||||
zsh/.zsh/cache
|
zsh/.zsh/cache
|
||||||
gnupg
|
|
||||||
|
|
58
bash/.bashrc
58
bash/.bashrc
|
@ -16,6 +16,12 @@ export ALTERNATE_EDITOR=""
|
||||||
export PATH=".:~/bin:~/.local/bin:/usr/games:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin"
|
export PATH=".:~/bin:~/.local/bin:/usr/games:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin"
|
||||||
export LSCOLORS="ExGxBxDxCxEgEdxbxgxcxd"
|
export LSCOLORS="ExGxBxDxCxEgEdxbxgxcxd"
|
||||||
|
|
||||||
|
|
||||||
|
# XDG
|
||||||
|
export XDG_CONFIG_HOME="$HOME/.config"
|
||||||
|
export XDG_DATA_HOME="$HOME/.local/share"
|
||||||
|
|
||||||
|
|
||||||
# include doom in path if it exists
|
# include doom in path if it exists
|
||||||
if [ -d ~/.config/emacs/bin ]; then
|
if [ -d ~/.config/emacs/bin ]; then
|
||||||
export PATH="$HOME/.emacs.d/bin:$PATH"
|
export PATH="$HOME/.emacs.d/bin:$PATH"
|
||||||
|
@ -38,6 +44,9 @@ if [[ -x `which apt-get >/dev/null 2>&1` ]]; then
|
||||||
HAS_APT=1
|
HAS_APT=1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [[ -x `which gnome-shell >/dev/null 2>&1` ]]; then
|
||||||
|
HAS_GNOME=1
|
||||||
|
fi
|
||||||
|
|
||||||
# _
|
# _
|
||||||
# _ __ _ __ ___ _ __ ___ _ __ | |_
|
# _ __ _ __ ___ _ __ ___ _ __ | |_
|
||||||
|
@ -155,20 +164,26 @@ alias ..="cd .."
|
||||||
# empty the screen (or use C-l)
|
# empty the screen (or use C-l)
|
||||||
alias c="clear"
|
alias c="clear"
|
||||||
|
|
||||||
|
# why wouldn't you want human readable sizes?
|
||||||
|
alias df="df -h"
|
||||||
|
|
||||||
# get outta here!
|
# get outta here!
|
||||||
alias e="exit"
|
alias e="exit"
|
||||||
|
|
||||||
# ls is eza
|
# grep shortie
|
||||||
alias ls="eza"
|
alias g="grep --color=auto -i "
|
||||||
|
|
||||||
# shorter ls
|
# shorter ls
|
||||||
alias l="eza"
|
alias l="ls -G --color"
|
||||||
|
|
||||||
# list files with details
|
# list files with details
|
||||||
alias ll="eza -lh --git"
|
alias ll="ls -lh --color"
|
||||||
|
|
||||||
# list all files.
|
# list all files.
|
||||||
alias la="eza -lha --git"
|
alias la="ls -alh --color"
|
||||||
|
|
||||||
|
# List directories.
|
||||||
|
alias ld="ls --color -Gd */"
|
||||||
|
|
||||||
# add some color to grep.
|
# add some color to grep.
|
||||||
alias grep="grep --color=auto"
|
alias grep="grep --color=auto"
|
||||||
|
@ -188,6 +203,22 @@ alias pc='python -ic "from __future__ import division; from math import *"'
|
||||||
# Start nano with line numbering no wrapping and autoindenting
|
# Start nano with line numbering no wrapping and autoindenting
|
||||||
alias nano='nano -ciw '
|
alias nano='nano -ciw '
|
||||||
|
|
||||||
|
# shortcut for tmux command
|
||||||
|
alias tm="tmux new-session -A -s main"
|
||||||
|
|
||||||
|
# emacsclient
|
||||||
|
alias ec="emacsclient -n -c -a emacs"
|
||||||
|
|
||||||
|
if [[ HAS_GNOME ]]; then
|
||||||
|
alias nosleep="gnome-session-inhibit --inhibit-only"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# magic packets to wake up hosts
|
||||||
|
alias wake_richie="wakeonlan ec:b1:d7:44:91:40"
|
||||||
|
alias wake_ari="wakeonlan 3c:97:0e:97:32:84 6c:88:14:36:92:b0"
|
||||||
|
alias wake_uzi="wakeonlan f4:d4:88:7d:6a:e9 34:99:71:d8:a4:48"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# __ _ _
|
# __ _ _
|
||||||
# / _|_ _ _ __ ___| |_(_) ___ _ __ ___
|
# / _|_ _ _ __ ___| |_(_) ___ _ __ ___
|
||||||
|
@ -232,15 +263,9 @@ function archive-and-encrypt {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
# shortcut for tmux command
|
|
||||||
function tm {
|
|
||||||
tmux new-session -A -s main -x $(tput cols) -y $(tput lines)
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
# run mosh and tmux to a specific host
|
# run mosh and tmux to a specific host
|
||||||
function mt {
|
function mt {
|
||||||
mosh $1 -- tmux new-session -A -s main -x $(tput cols) -y $(tput lines)
|
mosh $1 -- tmux new-session -A -s main
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -264,15 +289,6 @@ if [ -d /usr/share/doc/fzf/examples ]; then
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Arch
|
|
||||||
if [ -d /usr/share/fzf ]; then
|
|
||||||
source /usr/share/fzf/key-bindings.bash
|
|
||||||
|
|
||||||
if [ -f /usr/share/fzf/completion.bash ]; then
|
|
||||||
source /usr/share/fzf/completion.bash
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
# MacOS
|
# MacOS
|
||||||
if [ -d /opt/homebrew/opt/fzf/shell ]; then
|
if [ -d /opt/homebrew/opt/fzf/shell ]; then
|
||||||
source /opt/homebrew/opt/fzf/shell/key-bindings.bash
|
source /opt/homebrew/opt/fzf/shell/key-bindings.bash
|
||||||
|
|
|
@ -1,15 +0,0 @@
|
||||||
configurations:
|
|
||||||
-
|
|
||||||
host: mail.amd.im
|
|
||||||
port: 993
|
|
||||||
tls: true
|
|
||||||
tlsOptions:
|
|
||||||
rejectUnauthorized: false
|
|
||||||
starttls: false
|
|
||||||
username: andrew@amd.im
|
|
||||||
passwordCMD: 'pass show email/amd.im/andrew'
|
|
||||||
boxes:
|
|
||||||
-
|
|
||||||
mailbox: INBOX
|
|
||||||
onNewMail: "/home/amd/.local/bin/sync_email.sh"
|
|
||||||
#onNewMailPost: 'notify-send --app-name neomutt --icon=mail-message-new --category=email.arrived "New email in inbox."'
|
|
|
@ -1,23 +0,0 @@
|
||||||
IMAPStore andrew@amd.im-remote
|
|
||||||
Host mail.amd.im
|
|
||||||
Port 993
|
|
||||||
User andrew@amd.im
|
|
||||||
PassCmd "pass email/amd.im/andrew"
|
|
||||||
TLSType IMAPS
|
|
||||||
CertificateFile /etc/ssl/certs/ca-certificates.crt
|
|
||||||
|
|
||||||
MaildirStore andrew@amd.im-local
|
|
||||||
Subfolders Verbatim
|
|
||||||
Path ~/.local/share/email/andrew@amd.im/
|
|
||||||
INBOX ~/.local/share/email/andrew@amd.im/INBOX
|
|
||||||
Flatten .
|
|
||||||
|
|
||||||
Channel andrew@amd.im
|
|
||||||
Far :andrew@amd.im-remote:
|
|
||||||
Near :andrew@amd.im-local:
|
|
||||||
Pattern * !dovecot/sieve
|
|
||||||
SyncState *
|
|
||||||
Create Both
|
|
||||||
Expunge Both
|
|
||||||
MaxMessages 0
|
|
||||||
|
|
|
@ -1,17 +0,0 @@
|
||||||
[addressbooks]
|
|
||||||
[[Nextcloud]]
|
|
||||||
path = ~/.local/share/vdirsyncer/nextcloud_contacts_local/contacts/
|
|
||||||
|
|
||||||
[general]
|
|
||||||
debug = no
|
|
||||||
default_action = list
|
|
||||||
editor = nvim
|
|
||||||
merge_editor = delta
|
|
||||||
|
|
||||||
[contact table]
|
|
||||||
display = first_name
|
|
||||||
show_nicknames = no
|
|
||||||
sort = last_name
|
|
||||||
|
|
||||||
[vcard]
|
|
||||||
search_in_source_files = yes
|
|
|
@ -1,2 +0,0 @@
|
||||||
text/html; w3m -sixel -o confirm_qq=false -o auto_image=TRUE -o display_image=1 -T text/html %s; nametemplate=%s.html; needsterminal
|
|
||||||
text/html; w3m -I %{charset} -T text/html -dump; copiousoutput;
|
|
|
@ -1,121 +0,0 @@
|
||||||
### Me
|
|
||||||
set from = "andrew@amd.im"
|
|
||||||
set realname = "Andrew Davidson"
|
|
||||||
|
|
||||||
|
|
||||||
#### Remote Connectivity
|
|
||||||
set imap_user = "andrew@amd.im"
|
|
||||||
set imap_pass = "`pass show email/amd.im/andrew`"
|
|
||||||
set smtp_url = "smtps://$imap_user:$imap_pass@mail.amd.im:465"
|
|
||||||
|
|
||||||
|
|
||||||
#### Remote email store
|
|
||||||
#### use this instead of the local storage section below.
|
|
||||||
#set folder = "imaps://mail.amd.im"
|
|
||||||
#set ssl_starttls = no
|
|
||||||
#set ssl_force_tls = yes
|
|
||||||
#set imap_check_subscribed # automatically check subscribed folders
|
|
||||||
#mailboxes +INBOX
|
|
||||||
|
|
||||||
|
|
||||||
#### Local storage of emails
|
|
||||||
#### Use this with isync/mbsync to store email locally
|
|
||||||
set mbox_type = Maildir
|
|
||||||
set folder = "~/.local/share/email/andrew@amd.im"
|
|
||||||
mailboxes =INBOX =Archive =Sent =Trash =Spam
|
|
||||||
mailboxes =Automatic.DMARC
|
|
||||||
mailboxes =Lists.Money\ Stuff =Lists.NYT =Lists.SWICG =Lists.Evergreen\ MBA
|
|
||||||
mailboxes =NeedleandFoot
|
|
||||||
macro index,pager <F6> "<shell-escape>~/.local/bin/sync_email.sh<enter>" "sync email"
|
|
||||||
macro index \\\\ "<vfolder-from-query>" "Search mail"
|
|
||||||
|
|
||||||
|
|
||||||
### Mailbox Locations
|
|
||||||
set spoolfile = "+INBOX"
|
|
||||||
set record = "=Sent"
|
|
||||||
set postponed = "=Drafts"
|
|
||||||
set trash = "=Trash"
|
|
||||||
|
|
||||||
|
|
||||||
### Local Folders
|
|
||||||
set header_cache = "~/.cache/neomutt/headers"
|
|
||||||
set message_cachedir = "~/.cache/neomutt/messages"
|
|
||||||
|
|
||||||
|
|
||||||
### Use `khard` for contact lookup
|
|
||||||
### To query an address use ctrl-t
|
|
||||||
set query_command= "khard email --parsable --search-in-source-files %s"
|
|
||||||
bind editor <Tab> complete-query
|
|
||||||
|
|
||||||
|
|
||||||
### Local Settings
|
|
||||||
set mail_check = 60 # check for mail every XX seconds
|
|
||||||
set imap_keepalive = 900 # does what it says on the tin, in seconds
|
|
||||||
set edit_headers # include headers when editing a message
|
|
||||||
set fast_reply # dont ask too many questions when replying
|
|
||||||
set pager_stop # stop scrolling pager at end of message
|
|
||||||
set pager_context # add 3 lines of context to message pager
|
|
||||||
set forward_quote # include message when forwarding
|
|
||||||
set forward_decode # decode message when forwarding
|
|
||||||
set reply_to # follow Reply to: header
|
|
||||||
set reverse_name # reply as the recipient address
|
|
||||||
set include # include message in replies as default
|
|
||||||
set text_flowed=yes # correct indentation
|
|
||||||
unset sig_dashes # no dashes before signature
|
|
||||||
set charset = "utf-8" # prefer utf-8
|
|
||||||
set send_charset = "utf-8:iso-8859-1:us-ascii" # send in utf-8
|
|
||||||
set editor = "nvim" # we know we want to edit in nvim
|
|
||||||
unset confirmappend # don't double check when moving messages
|
|
||||||
set reverse_alias # if an alias is set for a contact, use that
|
|
||||||
set pager_index_lines = 10 # Shows 10 lines of index when pager is active
|
|
||||||
set editor = nvim # use neovim, of course.
|
|
||||||
save-hook . '=Archive' # Save to archive folder by default
|
|
||||||
set wait_key=no # dont wait for a key after a command runs (like sync)
|
|
||||||
set delete=yes # automatically expunge when syncing
|
|
||||||
|
|
||||||
|
|
||||||
### Multipart handling
|
|
||||||
set mailcap_path = "~/.config/neomutt/mailcap"
|
|
||||||
auto_view text/html
|
|
||||||
alternative_order text/plain text/enriched text/html
|
|
||||||
macro attach 'V' "<pipe-entry>iconv -c --to-code=UTF8 > ~/.cache/mutt-mail.html<enter><shell-escape>librewolf ~/.cache/mutt-mail.html<enter>"
|
|
||||||
|
|
||||||
|
|
||||||
### Message threading
|
|
||||||
set sort_re # changes method by which threads are sorted
|
|
||||||
set sort = reverse-threads # sort by threads
|
|
||||||
set sort_aux = last-date-received # secondarily sory by most recent message received in thread
|
|
||||||
|
|
||||||
|
|
||||||
### Sidebar
|
|
||||||
set sidebar_visible # show the sidebar
|
|
||||||
set sidebar_short_path # simplify paths in sidebar
|
|
||||||
unset sidebar_folder_indent # indent mailboxes in sidebar
|
|
||||||
set sidebar_format = "%B %* [%?N?%N/?%S]" # what should the sidebar display
|
|
||||||
set sidebar_sort_method = path
|
|
||||||
set mail_check_stats # check mailbox statistics for sidebar view
|
|
||||||
|
|
||||||
|
|
||||||
### Colorscheme
|
|
||||||
source "./nord.theme"
|
|
||||||
|
|
||||||
|
|
||||||
### Keybindings
|
|
||||||
bind index j next-entry
|
|
||||||
bind index k previous-entry
|
|
||||||
bind pager j next-line
|
|
||||||
bind pager k previous-line
|
|
||||||
|
|
||||||
bind index,pager <F5> sync-mailbox
|
|
||||||
|
|
||||||
bind attach,index,pager \CD next-page
|
|
||||||
bind attach,index,pager \CU previous-page
|
|
||||||
bind pager g top
|
|
||||||
bind pager G bottom
|
|
||||||
bind attach,index g first-entry
|
|
||||||
bind attach,index G last-entry
|
|
||||||
|
|
||||||
bind index,pager \CJ sidebar-next
|
|
||||||
bind index,pager \CK sidebar-prev
|
|
||||||
bind index,pager \CE sidebar-open
|
|
||||||
bind index,pager B sidebar-toggle-visible
|
|
|
@ -1,28 +0,0 @@
|
||||||
color normal default default # default colours
|
|
||||||
color index brightblue default ~N # new messages
|
|
||||||
color index red default ~F # flagged messages
|
|
||||||
color index blue default ~T # tagged messages
|
|
||||||
color index brightred default ~D # deleted messages
|
|
||||||
color body brightgreen default (https?|ftp)://[\-\.+,/%~_:?&=\#a-zA-Z0-9]+ # links
|
|
||||||
color body brightgreen default [\-\.+_a-zA-Z0-9]+@[\-\.a-zA-Z0-9]+ # email-addresses
|
|
||||||
color attachment magenta default # attachments
|
|
||||||
color signature brightwhite default # sigs
|
|
||||||
color search brightred black # highlight results
|
|
||||||
|
|
||||||
color indicator black cyan # currently highlighted message
|
|
||||||
color error red default # error messages
|
|
||||||
color status white brightblack # status line
|
|
||||||
color tree white default # thread tree arrows
|
|
||||||
color tilde cyan default # blank line padding
|
|
||||||
|
|
||||||
color hdrdefault brightblue default # default headers
|
|
||||||
color header cyan default "^From:"
|
|
||||||
color header cyan default "^Subject:"
|
|
||||||
|
|
||||||
color quoted cyan default # quote colours
|
|
||||||
color quoted1 brightcyan default
|
|
||||||
color quoted2 blue default
|
|
||||||
color quoted3 green default
|
|
||||||
color quoted4 yellow default
|
|
||||||
color quoted5 red default
|
|
||||||
|
|
|
@ -1,14 +0,0 @@
|
||||||
[Unit]
|
|
||||||
Description=start goimapnotify
|
|
||||||
# OnFailure=status-email-user@%n.service
|
|
||||||
After=local-fs.target
|
|
||||||
After=network.target
|
|
||||||
|
|
||||||
|
|
||||||
[Service]
|
|
||||||
Restart=always
|
|
||||||
RestartSec=300
|
|
||||||
ExecStart=/usr/bin/goimapnotify
|
|
||||||
|
|
||||||
[Install]
|
|
||||||
WantedBy=default.target
|
|
|
@ -1,19 +0,0 @@
|
||||||
[general]
|
|
||||||
status_path = "~/.local/share/vdirsyncer/status"
|
|
||||||
|
|
||||||
[pair nextcloud_contacts]
|
|
||||||
a = "nextcloud_contacts_local"
|
|
||||||
b = "nextcloud_contacts_remote"
|
|
||||||
collections = ["from a", "from b"]
|
|
||||||
metadata = ["displayname"]
|
|
||||||
|
|
||||||
[storage nextcloud_contacts_local]
|
|
||||||
type = "filesystem"
|
|
||||||
path = "~/.local/share/vdirsyncer/nextcloud_contacts_local/"
|
|
||||||
fileext = ".vcf"
|
|
||||||
|
|
||||||
[storage nextcloud_contacts_remote]
|
|
||||||
type = "carddav"
|
|
||||||
url = "https://cloud.andr3w.net/remote.php/dav/addressbooks/users/andrew/"
|
|
||||||
username = "andrew"
|
|
||||||
password.fetch = ["command", "pass", "nextcloud"]
|
|
|
@ -1,5 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
|
|
||||||
mbsync andrew@amd.im
|
|
||||||
notmuch new
|
|
||||||
vdirsyncer sync
|
|
|
@ -1,18 +0,0 @@
|
||||||
[database]
|
|
||||||
path=/home/amd/.local/share/email/andrew@amd.im/
|
|
||||||
|
|
||||||
|
|
||||||
[user]
|
|
||||||
name=Andrew Davidson
|
|
||||||
primary_email=andrew@amd.im
|
|
||||||
other_email=andrew@amdavidson.com amdavids@calpoly.edu amdavidson@gmail.com
|
|
||||||
|
|
||||||
[new]
|
|
||||||
tags=unread;inbox;
|
|
||||||
ignore=.uidvalidity;.mbsyncstate
|
|
||||||
|
|
||||||
[search]
|
|
||||||
exclude_tags=deleted;spam;
|
|
||||||
|
|
||||||
[maildir]
|
|
||||||
synchronize_flags=true
|
|
|
@ -1,2 +0,0 @@
|
||||||
[General]
|
|
||||||
LastCacheCheck=@Variant(\0\0\0\xe\0%\x8c\x41)
|
|
|
@ -1,27 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
|
|
||||||
<FCParameters>
|
|
||||||
<FCParamGroup Name="Root">
|
|
||||||
<FCParamGroup Name="Modules">
|
|
||||||
<FCParamGroup Name="Assembly">
|
|
||||||
<FCText Name="HelpIndex">Assembly/Help/index.html</FCText>
|
|
||||||
<FCText Name="WorkBenchName">Assembly</FCText>
|
|
||||||
<FCText Name="WorkBenchModule">AssemblyWorkbench.py</FCText>
|
|
||||||
</FCParamGroup>
|
|
||||||
<FCParamGroup Name="Path">
|
|
||||||
<FCText Name="HelpIndex">Path/Help/index.html</FCText>
|
|
||||||
<FCText Name="WorkBenchName">CAM</FCText>
|
|
||||||
<FCText Name="WorkBenchModule">PathWorkbench.py</FCText>
|
|
||||||
</FCParamGroup>
|
|
||||||
<FCParamGroup Name="Spreadsheet">
|
|
||||||
<FCText Name="HelpIndex">Spreadsheet/Help/index.html</FCText>
|
|
||||||
<FCText Name="WorkBenchName">Spreadsheet</FCText>
|
|
||||||
<FCText Name="WorkBenchModule">SpreadsheetWorkbench.py</FCText>
|
|
||||||
</FCParamGroup>
|
|
||||||
<FCParamGroup Name="Start">
|
|
||||||
<FCText Name="WorkBenchName">Start</FCText>
|
|
||||||
<FCText Name="WorkBenchModule">Start.py</FCText>
|
|
||||||
</FCParamGroup>
|
|
||||||
</FCParamGroup>
|
|
||||||
</FCParamGroup>
|
|
||||||
|
|
||||||
</FCParameters>
|
|
File diff suppressed because it is too large
Load diff
|
@ -1,7 +1,7 @@
|
||||||
[user]
|
[user]
|
||||||
name = Andrew Davidson
|
name = Andrew Davidson
|
||||||
email = andrew@amd.im
|
email = amd@amd.im
|
||||||
signingkey = /home/amd/.ssh/id_ed25519.pub
|
signingkey = /home/amd/.ssh/id_rsa
|
||||||
|
|
||||||
[color]
|
[color]
|
||||||
ui = auto
|
ui = auto
|
||||||
|
|
|
@ -1 +1,3 @@
|
||||||
pinentry-program /usr/bin/pinentry-kwallet
|
pinentry-program /usr/bin/pinentry
|
||||||
|
default-cache-ttl 600
|
||||||
|
max-cache-ttl 7200
|
||||||
|
|
32
khard/.config/khard/khard.conf
Normal file
32
khard/.config/khard/khard.conf
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
[addressbooks]
|
||||||
|
[[Default]]
|
||||||
|
path = ~/.contacts/Default
|
||||||
|
|
||||||
|
[general]
|
||||||
|
debug = no
|
||||||
|
default_action = list
|
||||||
|
editor = vim
|
||||||
|
merge_editor = vimdiff
|
||||||
|
|
||||||
|
[contact table]
|
||||||
|
# display names by first or last name: first_name / last_name
|
||||||
|
display = first_name
|
||||||
|
# group by address book: yes / no
|
||||||
|
group_by_addressbook = no
|
||||||
|
# reverse table ordering: yes / no
|
||||||
|
reverse = no
|
||||||
|
# append nicknames to name column: yes / no
|
||||||
|
show_nicknames = no
|
||||||
|
# show uid table column: yes / no
|
||||||
|
show_uids = no
|
||||||
|
# sort by first or last name: first_name / last_name
|
||||||
|
sort = last_name
|
||||||
|
# localize dates: yes / no
|
||||||
|
localize_dates = yes
|
||||||
|
|
||||||
|
[vcard]
|
||||||
|
# Look into source vcf files to speed up search queries: yes / no
|
||||||
|
search_in_source_files = no
|
||||||
|
# skip unparsable vcard files: yes / no
|
||||||
|
skip_unparsable = no
|
||||||
|
|
20
khard/.config/vdirsyncer/config
Normal file
20
khard/.config/vdirsyncer/config
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
[general]
|
||||||
|
status_path = "~/.vdirsyncer/status/"
|
||||||
|
|
||||||
|
[pair my_contacts]
|
||||||
|
a = "my_contacts_local"
|
||||||
|
b = "my_contacts_remote"
|
||||||
|
collections = ["from a", "from b"]
|
||||||
|
|
||||||
|
[storage my_contacts_local]
|
||||||
|
type = "filesystem"
|
||||||
|
path = "~/.contacts/"
|
||||||
|
fileext = ".vcf"
|
||||||
|
|
||||||
|
[storage my_contacts_remote]
|
||||||
|
type = "carddav"
|
||||||
|
|
||||||
|
url = "https://carddav.fastmail.com"
|
||||||
|
username.fetch = ["command", "~/bin/pw.sh", "CARDDAV_USERNAME"]
|
||||||
|
password.fetch = ["command", "~/bin/pw.sh", "CARDDAV_PASSWORD"]
|
||||||
|
|
94
konsole/.local/share/konsole/Dracula.colorscheme
Normal file
94
konsole/.local/share/konsole/Dracula.colorscheme
Normal file
|
@ -0,0 +1,94 @@
|
||||||
|
[Background]
|
||||||
|
Color=40,42,54
|
||||||
|
|
||||||
|
[BackgroundFaint]
|
||||||
|
Color=40,42,54
|
||||||
|
|
||||||
|
[BackgroundIntense]
|
||||||
|
Color=40,42,54
|
||||||
|
|
||||||
|
[Color0]
|
||||||
|
Color=189,147,249
|
||||||
|
|
||||||
|
[Color0Faint]
|
||||||
|
Color=189,147,249
|
||||||
|
|
||||||
|
[Color0Intense]
|
||||||
|
Color=189,147,249
|
||||||
|
|
||||||
|
[Color1]
|
||||||
|
Color=255,85,85
|
||||||
|
|
||||||
|
[Color1Faint]
|
||||||
|
Color=255,85,85
|
||||||
|
|
||||||
|
[Color1Intense]
|
||||||
|
Color=255,85,85
|
||||||
|
|
||||||
|
[Color2]
|
||||||
|
Color=80,250,123
|
||||||
|
|
||||||
|
[Color2Faint]
|
||||||
|
Color=80,250,123
|
||||||
|
|
||||||
|
[Color2Intense]
|
||||||
|
Color=80,250,123
|
||||||
|
|
||||||
|
[Color3]
|
||||||
|
Color=255,121,198
|
||||||
|
|
||||||
|
[Color3Faint]
|
||||||
|
Color=255,121,198
|
||||||
|
|
||||||
|
[Color3Intense]
|
||||||
|
Color=255,121,198
|
||||||
|
|
||||||
|
[Color4]
|
||||||
|
Color=139,233,253
|
||||||
|
|
||||||
|
[Color4Faint]
|
||||||
|
Color=139,233,253
|
||||||
|
|
||||||
|
[Color4Intense]
|
||||||
|
Color=139,233,253
|
||||||
|
|
||||||
|
[Color5]
|
||||||
|
Color=241,250,140
|
||||||
|
|
||||||
|
[Color5Faint]
|
||||||
|
Color=241,250,140
|
||||||
|
|
||||||
|
[Color5Intense]
|
||||||
|
Color=241,250,140
|
||||||
|
|
||||||
|
[Color6]
|
||||||
|
Color=98,114,164
|
||||||
|
|
||||||
|
[Color6Faint]
|
||||||
|
Color=98,114,164
|
||||||
|
|
||||||
|
[Color6Intense]
|
||||||
|
Color=98,114,164
|
||||||
|
|
||||||
|
[Color7]
|
||||||
|
Color=68,71,90
|
||||||
|
|
||||||
|
[Color7Faint]
|
||||||
|
Color=68,71,90
|
||||||
|
|
||||||
|
[Color7Intense]
|
||||||
|
Color=68,71,90
|
||||||
|
|
||||||
|
[Foreground]
|
||||||
|
Color=248,248,242
|
||||||
|
|
||||||
|
[ForegroundFaint]
|
||||||
|
Color=248,248,242
|
||||||
|
|
||||||
|
[ForegroundIntense]
|
||||||
|
Color=248,248,242
|
||||||
|
|
||||||
|
[General]
|
||||||
|
Description=Dracula
|
||||||
|
Opacity=1
|
||||||
|
Wallpaper=
|
6
mutt/.mailcap
Normal file
6
mutt/.mailcap
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
text/html; firefox %s && sleep 5; test=test -n "$DISPLAY";
|
||||||
|
text/html; links -html-numbered-links 1 -dump %s; nametemplate=%s.html; copiousoutput
|
||||||
|
#text/html; w3m -I %{charset} -T text/html; copiousoutput;
|
||||||
|
text/plain; vim %s;
|
||||||
|
|
||||||
|
|
172
mutt/.muttrc
Normal file
172
mutt/.muttrc
Normal file
|
@ -0,0 +1,172 @@
|
||||||
|
# Paths ---------------------
|
||||||
|
set folder = ~/.maildir
|
||||||
|
set alias_file = ~/.mutt/alias
|
||||||
|
set header_cache = ~/.mutt/cache/headers
|
||||||
|
set message_cachedir = ~/.mutt/cache/bodies
|
||||||
|
set certificate_file = ~/.mutt/certificates
|
||||||
|
set mailcap_path = ~/.mailcap
|
||||||
|
set tmpdir = ~/.mutt/temp
|
||||||
|
set signature = ~/.sig
|
||||||
|
|
||||||
|
# Options -------------------
|
||||||
|
set wait_key = no
|
||||||
|
set mbox_type = Maildir
|
||||||
|
set timeout = 3
|
||||||
|
set mail_check = 0
|
||||||
|
unset move
|
||||||
|
set delete
|
||||||
|
unset confirmappend
|
||||||
|
set quit
|
||||||
|
unset mark_old
|
||||||
|
set pipe_decode
|
||||||
|
set thorough_search
|
||||||
|
set charset = utf-8
|
||||||
|
set send_charset = utf-8
|
||||||
|
|
||||||
|
# Sidebar -------------------
|
||||||
|
set sidebar_visible = yes
|
||||||
|
set sidebar_width = 20
|
||||||
|
set sidebar_short_path = yes
|
||||||
|
set sidebar_format = "%B%?F? [%F]?%* %?N?%N/?%S"
|
||||||
|
color sidebar_new color221 color233
|
||||||
|
|
||||||
|
# Header Options ------------
|
||||||
|
ignore *
|
||||||
|
unignore from: reply-to: to: cc: bcc: date: subject: x-Spam-score: list-id:
|
||||||
|
unhdr_order *
|
||||||
|
hdr_order from: reply-to: to: cc: bcc: date: subject: x-Spam-score: list-id:
|
||||||
|
|
||||||
|
# Setup IMAP -------------------
|
||||||
|
set my_pass=`~/bin/pw.sh IMAP_PASSWORD`
|
||||||
|
set my_user=`~/bin/pw.sh IMAP_USERNAME`
|
||||||
|
set folder = "imaps://$my_user:$my_pass@imap.fastmail.com:993"
|
||||||
|
set spoolfile= "+INBOX"
|
||||||
|
set record = +Sent
|
||||||
|
set postponed = +Drafts
|
||||||
|
set trash = +Trash
|
||||||
|
set imap_check_subscribed = yes
|
||||||
|
bind index G imap-fetch-mail
|
||||||
|
|
||||||
|
# Setup SMTP -------------------
|
||||||
|
set smtp_url=smtp://$my_user:$my_pass@smtp.fastmail.com:587
|
||||||
|
set ssl_force_tls=yes
|
||||||
|
#set ssl_starttls=yes
|
||||||
|
|
||||||
|
|
||||||
|
# Mailboxes -----------------
|
||||||
|
# source ~/.mutt/mailboxes
|
||||||
|
|
||||||
|
# Index ---------------------
|
||||||
|
set date_format = "%m/%d"
|
||||||
|
set index_format = "[%Z] %D %-20.20F %s"
|
||||||
|
set sort = threads
|
||||||
|
set sort_aux = reverse-last-date-received
|
||||||
|
set uncollapse_jump
|
||||||
|
set sort_re
|
||||||
|
set reply_regexp = "^(([Rr][Ee]?(\[[0-9]+\])?: *)?(\[[^]]+\] *)?)*"
|
||||||
|
|
||||||
|
bind index R group-reply
|
||||||
|
bind index <tab> sync-mailbox
|
||||||
|
bind index <space> collapse-thread
|
||||||
|
|
||||||
|
macro index / "<enter-command>unset wait_key<enter><shell-escape>mutt-notmuch-py<enter><change-folder-readonly>~/.cache/mutt_results<enter>" \
|
||||||
|
"search mail (using notmuch)"
|
||||||
|
|
||||||
|
macro index \Cr "T~U<enter><tag-prefix><clear-flag>N<untag-pattern>.<enter>" "mark all messages as read"
|
||||||
|
|
||||||
|
macro index,pager o "<shell-escape>$HOME/bin/fastmail.sh<enter>" "run offlineimap to sync fastmail"
|
||||||
|
|
||||||
|
macro index,pager C "<copy-message>?<toggle-mailboxes>" "copy a message to a mailbox"
|
||||||
|
macro index,pager s "<save-message>?<toggle-mailboxes>" "move a message to a mailbox"
|
||||||
|
|
||||||
|
bind index D purge-message
|
||||||
|
|
||||||
|
bind index,pager <down> sidebar-next
|
||||||
|
bind index,pager <up> sidebar-prev
|
||||||
|
bind index,pager <right> sidebar-open
|
||||||
|
|
||||||
|
|
||||||
|
# Pager View -----------------
|
||||||
|
set pager_index_lines = 10 # number of index lines to show
|
||||||
|
set pager_context = 3 # number of context lines to show
|
||||||
|
set pager_stop # don't go to next message automatically
|
||||||
|
set menu_scroll # scroll in menus
|
||||||
|
set tilde # show tildes like in vim
|
||||||
|
unset markers # no ugly plus signs
|
||||||
|
|
||||||
|
set quote_regexp = "^( {0,4}[>|:#%]| {0,4}[a-z0-9]+[>|]+)+"
|
||||||
|
alternative_order text/plain text/enriched text/html
|
||||||
|
|
||||||
|
|
||||||
|
# Pager Bindings -------------
|
||||||
|
bind pager k previous-line
|
||||||
|
bind pager j next-line
|
||||||
|
bind pager R group-reply
|
||||||
|
|
||||||
|
# View attachments properly.
|
||||||
|
bind attach <return> view-mailcap
|
||||||
|
auto_view text/html
|
||||||
|
|
||||||
|
macro pager \Cu "|urlview<enter>" "call urlview to open links"
|
||||||
|
|
||||||
|
# Setup Identity
|
||||||
|
set realname="Andrew Davidson"
|
||||||
|
set from="andrew@amdavidson.com"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# Setup VIM for editing headers
|
||||||
|
set edit_headers
|
||||||
|
set editor="nvim +':set textwidth=0' +':set wrapmargin=0' +':set wrap' +':set linebreak' +':set nolist' +/^$ ++1"
|
||||||
|
|
||||||
|
# Contacts shortcuts
|
||||||
|
set query_command = "khard email --parsable --search-in-source-files '%s'"
|
||||||
|
bind editor <Tab> complete-query
|
||||||
|
bind editor ^T complete
|
||||||
|
macro index,pager A "<pipe-message>khard add-email<return>" "add the sender email address to khard"
|
||||||
|
|
||||||
|
# Some neat stuff.
|
||||||
|
set fcc_attach=yes # Forward attachments.
|
||||||
|
unset reply_self # Don't include myself when replying to all
|
||||||
|
set smart_wrap # wrap text smartly and don't clip words.
|
||||||
|
set forward_format='Fwd: %s' # make the forwarding subject line look more like other clients.
|
||||||
|
set forward_decode
|
||||||
|
set reply_to
|
||||||
|
set reverse_name
|
||||||
|
set include
|
||||||
|
set forward_quote
|
||||||
|
|
||||||
|
# Crypto stuff
|
||||||
|
set pgp_decode_command="gpg --pinentry-mode loopback %?p?--passphrase-fd 0? --no-verbose --batch --output - %f"
|
||||||
|
set pgp_verify_command="gpg --pinentry-mode loopback --no-verbose --batch --output - --verify %s %f"
|
||||||
|
set pgp_decrypt_command="gpg --pinentry-mode loopback --passphrase-fd 0 --no-verbose --batch --output - %f"
|
||||||
|
set pgp_sign_command="gpg --pinentry-mode loopback --no-verbose --batch --output - --passphrase-fd 0 --armor --detach-sign --textmode %?a?-u %a? %f"
|
||||||
|
set pgp_clearsign_command="gpg --pinentry-mode loopback --no-verbose --batch --output - --passphrase-fd 0 --armor --textmode --clearsign %?a?-u %a? %f"
|
||||||
|
set pgp_encrypt_only_command="/usr/lib/neomutt/pgpewrap gpg --batch --quiet --no-verbose --output - --encrypt --textmode --armor --always-trust --encrypt-to 0x49CF25C6 -- -r %r -- %f"
|
||||||
|
set pgp_encrypt_sign_command="/usr/lib/neomutt/pgpewrap gpg --passphrase-fd 0 --batch --quiet --no-verbose --textmode --output - --encrypt --sign %?a?-u %a? --armor --always-trust --encrypt-to 0x49CF25C6 -- -r %r -- %f"
|
||||||
|
set pgp_import_command="gpg --no-verbose --import -v %f"
|
||||||
|
set pgp_export_command="gpg --no-verbose --export --armor %r"
|
||||||
|
set pgp_verify_key_command="gpg --no-verbose --batch --fingerprint --check-sigs %r"
|
||||||
|
set pgp_list_pubring_command="gpg --no-verbose --batch --with-colons --list-keys %r"
|
||||||
|
set pgp_list_secring_command="gpg --no-verbose --batch --with-colons --list-secret-keys %r"
|
||||||
|
|
||||||
|
# Sign emails as me.
|
||||||
|
set pgp_sign_as=0x49CF25C6
|
||||||
|
|
||||||
|
# Automatically sign emails.
|
||||||
|
#set crypt_autosign
|
||||||
|
|
||||||
|
# Reply to signed emails with a signed email.
|
||||||
|
set crypt_replysign
|
||||||
|
|
||||||
|
# Encrypt and sign replies to signed emails.
|
||||||
|
# set crypt_replyencrypt=yes
|
||||||
|
|
||||||
|
# Encrypt and sign replies to encrypted emails.
|
||||||
|
set crypt_replysignencrypted=yes
|
||||||
|
|
||||||
|
# Time out of GPG after xx seconds.
|
||||||
|
set pgp_timeout=28800
|
||||||
|
|
||||||
|
# Automatically verify signatures.
|
||||||
|
set crypt_verify_sig=yes
|
5
offlineimap/.offlineimap.py
Normal file
5
offlineimap/.offlineimap.py
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
#! /usr/bin/env python2
|
||||||
|
from subprocess import check_output
|
||||||
|
|
||||||
|
def get_pass():
|
||||||
|
return check_output("~/bin/pw.sh IMAP_PASSWORD", shell=True).strip("\n")
|
37
offlineimap/.offlineimaprc_fastmail
Normal file
37
offlineimap/.offlineimaprc_fastmail
Normal file
|
@ -0,0 +1,37 @@
|
||||||
|
[general]
|
||||||
|
accounts = Personal
|
||||||
|
ui = basic
|
||||||
|
#ui = blinkenlights
|
||||||
|
maxsynaccounts = 1
|
||||||
|
pythonfile = ~/.offlineimap.py
|
||||||
|
|
||||||
|
[mbnames]
|
||||||
|
enabled = yes
|
||||||
|
filename = ~/.mutt/mailboxes
|
||||||
|
header = "mailboxes "
|
||||||
|
peritem = "+%(foldername)s"
|
||||||
|
sep = " "
|
||||||
|
footer = "\n"
|
||||||
|
|
||||||
|
[Account Personal]
|
||||||
|
localrepository = Local
|
||||||
|
remoterepository = Remote
|
||||||
|
postsynchook = notmuch new
|
||||||
|
# autorefresh = 1
|
||||||
|
# quick = 10
|
||||||
|
|
||||||
|
[Repository Local]
|
||||||
|
|
||||||
|
type = Maildir
|
||||||
|
localfolders = ~/.maildir
|
||||||
|
sep = .
|
||||||
|
restoreatime = no
|
||||||
|
|
||||||
|
[Repository Remote]
|
||||||
|
type = IMAP
|
||||||
|
remotehost = imap.fastmail.com
|
||||||
|
remoteuser = andrew@amdavidson.com
|
||||||
|
remotepasseval = get_pass()
|
||||||
|
maxconnections = 5
|
||||||
|
keepalive = 60
|
||||||
|
# holdconnectionopen = yes
|
24
offlineimap/bin/fastmail.sh
Executable file
24
offlineimap/bin/fastmail.sh
Executable file
|
@ -0,0 +1,24 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
if [[ "$OSTYPE" == "linux-gnu" ]]; then
|
||||||
|
echo "OS is linux"
|
||||||
|
DISTRO=$(. /etc/os-release; echo $NAME)
|
||||||
|
if [[ "$DISTRO" == "Fedora" ]]; then
|
||||||
|
echo "Distro is Fedora"
|
||||||
|
/usr/bin/offlineimap -k Repository_Remote:sslcacertfile=/etc/ssl/certs/ca-bundle.crt -c $HOME/.offlineimaprc_fastmail
|
||||||
|
elif [[ "$DISTRO" == "Ubuntu" ]]; then
|
||||||
|
echo "Distro is Ubuntu"
|
||||||
|
/usr/bin/offlineimap -k Repository_Remote:sslcacertfile=/etc/ssl/certs/ca-certificates.crt -c $HOME/.offlineimaprc_fastmail
|
||||||
|
elif [[ "$DISTRO" == "Debian GNU/Linux" ]]; then
|
||||||
|
echo "Distro is Debian"
|
||||||
|
/usr/bin/offlineimap -k Repository_Remote:sslcacertfile=/etc/ssl/certs/ca-certificates.crt -c $HOME/.offlineimaprc_fastmail
|
||||||
|
else
|
||||||
|
echo "Distro is unknown"
|
||||||
|
/usr/bin/offlineimap -k Repository_Remote:sslcacertfile=/etc/ssl/certs/ca-certificates.crt -c $HOME/.offlineimaprc_fastmail
|
||||||
|
fi
|
||||||
|
elif [[ "$OSTYPE" == "darwin"* ]]; then
|
||||||
|
echo "OS is darwin"
|
||||||
|
/usr/local/bin/offlineimap -k Repository_Remote:sslcacertfile=/usr/local/etc/openssl/cert.pem -c $HOME/.offlineimaprc_fastmail
|
||||||
|
else
|
||||||
|
echo "Offlineimap not configured to access Fastmail on $OSTYPE"
|
||||||
|
fi
|
5
scripts/bin/pw.sh
Executable file
5
scripts/bin/pw.sh
Executable file
|
@ -0,0 +1,5 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
source ~/.env
|
||||||
|
|
||||||
|
echo ${!1}
|
|
@ -1,6 +1,6 @@
|
||||||
# More logical (to me) split keys.
|
# More logical (to me) split keys.
|
||||||
bind - split-window -v -l 38%
|
bind - split-window -p 38 -v
|
||||||
bind | split-window -h -l 38%
|
bind | split-window -p 38 -h
|
||||||
|
|
||||||
set -g @plugin 'tmux-plugins/tpm'
|
set -g @plugin 'tmux-plugins/tpm'
|
||||||
set -g @plugin 'tmux-plugins/tmux-sensible'
|
set -g @plugin 'tmux-plugins/tmux-sensible'
|
||||||
|
|
29
vim/.config/nvim/ginit.vim
Normal file
29
vim/.config/nvim/ginit.vim
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
" Enable Mouse
|
||||||
|
set mouse=a
|
||||||
|
|
||||||
|
" Set Editor Font
|
||||||
|
if exists(':GuiFont')
|
||||||
|
" Use GuiFont! to ignore font errors
|
||||||
|
GuiFont Hack:10
|
||||||
|
endif
|
||||||
|
|
||||||
|
" Disable GUI Tabline
|
||||||
|
if exists(':GuiTabline')
|
||||||
|
GuiTabline 0
|
||||||
|
endif
|
||||||
|
|
||||||
|
" Disable GUI Popupmenu
|
||||||
|
if exists(':GuiPopupmenu')
|
||||||
|
GuiPopupmenu 0
|
||||||
|
endif
|
||||||
|
|
||||||
|
" Enable GUI ScrollBar
|
||||||
|
if exists(':GuiScrollBar')
|
||||||
|
GuiScrollBar 1
|
||||||
|
endif
|
||||||
|
|
||||||
|
" Right Click Context Menu (Copy-Cut-Paste)
|
||||||
|
nnoremap <silent><RightMouse> :call GuiShowContextMenu()<CR>
|
||||||
|
inoremap <silent><RightMouse> <Esc>:call GuiShowContextMenu()<CR>
|
||||||
|
xnoremap <silent><RightMouse> :call GuiShowContextMenu()<CR>gv
|
||||||
|
snoremap <silent><RightMouse> <C-G>:call GuiShowContextMenu()<CR>gv
|
File diff suppressed because it is too large
Load diff
12
vim/.vimrc
12
vim/.vimrc
|
@ -195,10 +195,6 @@ cmap w!! w !sudo tee > /dev/null %
|
||||||
" Disable F1 key
|
" Disable F1 key
|
||||||
nmap <F1> <nop>
|
nmap <F1> <nop>
|
||||||
|
|
||||||
" Go shortcuts just for .go files
|
|
||||||
autocmd FileType go nmap <leader>r <Plug>(go-run)
|
|
||||||
autocmd FileType go nmap <leader>t <Plug>(go-test)
|
|
||||||
|
|
||||||
" ==================== File searching ====================
|
" ==================== File searching ====================
|
||||||
set wildmenu
|
set wildmenu
|
||||||
set wildmode=list:full
|
set wildmode=list:full
|
||||||
|
@ -212,10 +208,10 @@ nnoremap <leader>t :tabfind *
|
||||||
|
|
||||||
" ==================== Fugitive ====================
|
" ==================== Fugitive ====================
|
||||||
nnoremap <leader>ga :Git add %:p<CR><CR>
|
nnoremap <leader>ga :Git add %:p<CR><CR>
|
||||||
nnoremap <leader>gs :Gstatus<CR>
|
nnoremap <leader>gs :Git status<CR>
|
||||||
nnoremap <leader>gp :Gpush<CR>
|
nnoremap <leader>gp :Git push<CR>
|
||||||
vnoremap <leader>gb :Gblame<CR>
|
vnoremap <leader>gb :Git blame<CR>
|
||||||
|
nnoremap <leader>gc :Git commit<CR>
|
||||||
|
|
||||||
" =================== nvim ====================
|
" =================== nvim ====================
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue