aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore2
-rw-r--r--aerc/.config/aerc/Personal.qmap11
-rw-r--r--aerc/.config/aerc/accounts.conf42
-rw-r--r--aerc/.config/aerc/aerc.conf868
-rw-r--r--aerc/.config/aerc/binds.conf187
-rw-r--r--aerc/.config/aerc/stylesets/gruvbox162
-rw-r--r--aerc/.config/aerc/stylesets/gruvbox_material_dark_medium65
-rw-r--r--isync/.config/isyncrc78
-rw-r--r--newsboat/.config/newsboat/config56
-rw-r--r--newsboat/.config/newsboat/urls24
-rw-r--r--notmuch/.config/notmuch/default/config13
-rw-r--r--notmuch/.config/notmuch/dev/config17
l---------notmuch/.config/notmuch/dev/hooks1
-rwxr-xr-xnotmuch/.config/notmuch/hooks/post-insert3
-rwxr-xr-xnotmuch/.config/notmuch/hooks/post-new22
-rwxr-xr-xnotmuch/.config/notmuch/hooks/pre-new3
-rw-r--r--notmuch/.config/notmuch/job/config17
l---------notmuch/.config/notmuch/job/hooks1
-rw-r--r--notmuch/.config/notmuch/personal/config16
l---------notmuch/.config/notmuch/personal/hooks1
-rw-r--r--notmuch/.config/notmuch/testmail/config0
l---------notmuch/.config/notmuch/testmail/hooks1
-rw-r--r--nvim/.config/nvim/lua/custom/telescope.lua41
-rw-r--r--zsh/.config/zsh/.zprofile3
-rw-r--r--zsh/.config/zsh/.zshrc12
25 files changed, 1642 insertions, 4 deletions
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..01894e8
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,2 @@
+.zcompdump
+*.lock
diff --git a/aerc/.config/aerc/Personal.qmap b/aerc/.config/aerc/Personal.qmap
new file mode 100644
index 0000000..b9094ee
--- /dev/null
+++ b/aerc/.config/aerc/Personal.qmap
@@ -0,0 +1,11 @@
+info-gnu = tag:info-gnu
+info-guix = tag:info-guix
+sg7 = tag:sg7
+sg13 = tag:sg13
+sg14 = tag:sg14
+sg15 = tag:sg15
+sg16 = tag:sg16
+std-discussion = tag:std-discussion
+std-proposals = tag:std-proposals
+notmuch = tag:notmuch
+rjarry-aerc-discuss = tag:rjarry-aerc-discuss
diff --git a/aerc/.config/aerc/accounts.conf b/aerc/.config/aerc/accounts.conf
new file mode 100644
index 0000000..fdec2f1
--- /dev/null
+++ b/aerc/.config/aerc/accounts.conf
@@ -0,0 +1,42 @@
+check-mail-timeout = 20s
+copy-to = Sent
+
+[Personal]
+source = notmuch://~/Mail/personal
+outgoing = smtp://personal@rozanov.info@mail.rozanov.info:587
+default = INBOX
+from = Daniil Rozanov <personal@rozanov.info>
+maildir-store = ~/Mail/personal
+query-map = ~/.config/aerc/Personal.qmap
+outgoing-cred-cmd = pass Email/personal@rozanov.info
+check-mail-cmd = NOTMUCH_PROFILE=personal notmuch new
+
+[Development]
+source = notmuch://~/Mail/dev
+outgoing = smtp://dev@rozanov.info@mail.rozanov.info:587
+default = INBOX
+from = Daniil Rozanov <dev@rozanov.info>
+maildir-store = ~/Mail/dev
+# query-map = ~/.config/aerc/Development.qmap
+outgoing-cred-cmd = pass Email/dev@rozanov.info
+check-mail-cmd = NOTMUCH_PROFILE=dev notmuch new
+
+[Job]
+source = notmuch://~/Mail/job
+outgoing = smtp://job@rozanov.info@mail.rozanov.info:587
+default = INBOX
+from = Daniil Rozanov <job@rozanov.info>
+maildir-store = ~/Mail/job
+# query-map = ~/.config/aerc/Job.qmap
+outgoing-cred-cmd = pass Email/job@rozanov.info
+check-mail-cmd = NOTMUCH_PROFILE=job notmuch new
+
+[TestMail]
+source = notmuch://~/Mail/testmail
+outgoing = smtp://testmail@rozanov.info@mail.rozanov.info:587
+default = INBOX
+from = Daniil Rozanov <testmail@rozanov.info>
+maildir-store = ~/Mail/testmail
+# query-map = ~/.config/aerc/TestMail.qmap
+outgoing-cred-cmd = pass Email/testmail@rozanov.info
+check-mail-cmd = NOTMUCH_PROFILE=testmail notmuch new
diff --git a/aerc/.config/aerc/aerc.conf b/aerc/.config/aerc/aerc.conf
new file mode 100644
index 0000000..0cd144d
--- /dev/null
+++ b/aerc/.config/aerc/aerc.conf
@@ -0,0 +1,868 @@
+#
+# aerc main configuration
+
+[general]
+#
+# Used as a default path for save operations if no other path is specified.
+# ~ is expanded to the current user home dir.
+#
+#default-save-path=
+
+# If set to "gpg", aerc will use system gpg binary and keystore for all crypto
+# operations. If set to "internal", the internal openpgp keyring will be used.
+# If set to "auto", the system gpg will be preferred unless the internal
+# keyring already exists, in which case the latter will be used.
+#
+# Default: auto
+#pgp-provider=auto
+
+# By default, the file permissions of accounts.conf must be restrictive and
+# only allow reading by the file owner (0600). Set this option to true to
+# ignore this permission check. Use this with care as it may expose your
+# credentials.
+#
+# Default: false
+#unsafe-accounts-conf=false
+
+# Output log messages to specified file. A path starting with ~/ is expanded to
+# the user home dir. When redirecting aerc's output to a file using > shell
+# redirection, this setting is ignored and log messages are printed to stdout.
+#
+#log-file=
+
+# Only log messages above the specified level to log-file. Supported levels
+# are: trace, debug, info, warn and error. When redirecting aerc's output to
+# a file using > shell redirection, this setting is ignored and the log level
+# is forced to trace.
+#
+# Default: info
+#log-level=info
+
+# Disable IPC entirely. Don't run commands (including mailto:... and mbox:...)
+# in an existing aerc instance, and don't start an IPC server to allow
+# subsequent aerc instances to run commands in the current one.
+#
+# Default: false
+#disable-ipc=false
+
+# Don't run mailto:... commands over IPC; start a new aerc instance with the
+# composer instead.
+#
+# Default: false
+#disable-ipc-mailto=false
+#
+# Don't run mbox:... commands over IPC; start a new aerc instance with the mbox
+# file instead.
+#
+# Default: false
+#disable-ipc-mbox=false
+
+# Set the $TERM environment variable used for the embedded terminal.
+#
+# Default: xterm-256color
+#term=xterm-256color
+
+# Display OSC8 strings in the embedded terminal
+#
+# Default: false
+#enable-osc8=false
+
+# Default shell command to use for :menu. This will be executed with sh -c and
+# will run in an popover dialog.
+#
+# Any occurrence of %f will be replaced by a temporary file path where the
+# command is expected to write output lines to be consumed by :menu. Otherwise,
+# the lines will be read from the command's standard output.
+#
+# Examples:
+# default-menu-cmd=fzf
+# default-menu-cmd=fzf --multi
+# default-menu-cmd=dmenu -l 20
+# default-menu-cmd=ranger --choosefiles=%f
+#
+#default-menu-cmd=
+
+[ui]
+#
+# Describes the format for each row in a mailbox view. This is a comma
+# separated list of column names with an optional align and width suffix. After
+# the column name, one of the '<' (left), ':' (center) or '>' (right) alignment
+# characters can be added (by default, left) followed by an optional width
+# specifier. The width is either an integer representing a fixed number of
+# characters, or a percentage between 1% and 99% representing a fraction of the
+# terminal width. It can also be one of the '*' (auto) or '=' (fit) special
+# width specifiers. Auto width columns will be equally attributed the remaining
+# terminal width. Fit width columns take the width of their contents. If no
+# width specifier is set, '*' is used by default.
+#
+# Default: flags:4,name<20%,subject,date>=
+#index-columns=flags:4,name<20%,subject,date>=
+
+#
+# Each name in index-columns must have a corresponding column-$name setting.
+# All column-$name settings accept golang text/template syntax. See
+# aerc-templates(7) for available template attributes and functions.
+#
+# Here are some examples to show the To field instead of the From field for
+# an email (modifying column-name):
+#
+# 1. a generic one
+# column-name={{ .Peer | names | join ", " }}
+# 2. based upon the selected folder
+# column-name={{if match .Folder "^(Gesendet|Sent)$"}}{{index (.To | names) 0}}{{else}}{{index (.From | names) 0}}{{end}}
+#
+# Default settings
+#column-flags={{.Flags | join ""}}
+#column-name={{index (.From | names) 0}}
+#column-subject={{.ThreadPrefix}}{{.Subject}}
+#column-date={{.DateAutoFormat .Date.Local}}
+
+#
+# String separator inserted between columns. When the column width specifier is
+# an exact number of characters, the separator is added to it (i.e. the exact
+# width will be fully available for the column contents).
+#
+# Default: " "
+#column-separator=" "
+
+#
+# See time.Time#Format at https://godoc.org/time#Time.Format
+#
+# Default: 2006 Jan 02
+#timestamp-format=2006 Jan 02
+
+#
+# Index-only time format for messages that were received/sent today.
+# If this is empty, timestamp-format is used instead.
+#
+# Default: 15:04
+#this-day-time-format=15:04
+
+#
+# Index-only time format for messages that were received/sent within the last
+# 7 days. If this is empty, timestamp-format is used instead.
+#
+# Default: Jan 02
+#this-week-time-format=Jan 02
+
+#
+# Index-only time format for messages that were received/sent this year.
+# If this is empty, timestamp-format is used instead.
+#
+#Default: Jan 02
+#this-year-time-format=Jan 02
+
+#
+# Overrides timestamp-format for the message view.
+#
+# Default: 2006 Jan 02, 15:04 GMT-0700
+#message-view-timestamp-format=2006 Jan 02, 15:04 GMT-0700
+
+#
+# If set, overrides timestamp-format in the message view for messages
+# that were received/sent today.
+#
+#message-view-this-day-time-format=
+
+# If set, overrides timestamp-format in the message view for messages
+# that were received/sent within the last 7 days.
+#
+#message-view-this-week-time-format=
+
+#
+# If set, overrides *timestamp-format* in the message view for messages
+# that were received/sent this year.
+#
+#message-view-this-year-time-format=
+
+#
+# Width of the sidebar, including the border.
+#
+# Default: 22
+sidebar-width=30
+
+#
+# Default split layout for message list tabs. The syntax is:
+#
+# [<direction>] <size>
+#
+# <direction> is optional and defaults to horizontal. It can take one
+# of the following values: h, horiz, horizontal, v, vert, vertical.
+#
+# <size> is a positive integer representing the size (in terminal cells)
+# of the message list window.
+#
+#message-list-split=
+
+#
+# Message to display when viewing an empty folder.
+#
+# Default: (no messages)
+#empty-message=(no messages)
+
+# Message to display when no folders exists or are all filtered
+#
+# Default: (no folders)
+#empty-dirlist=(no folders)
+#
+# Value to set {{.Subject}} template to when subject is empty.
+#
+# Default: (no subject)
+#empty-subject=(no subject)
+
+# Enable mouse events in the ui, e.g. clicking and scrolling with the mousewheel
+#
+# Default: false
+#mouse-enabled=false
+
+#
+# Ring the bell when new messages are received
+#
+# Default: true
+#new-message-bell=true
+
+#
+# Template to use for Account tab titles
+#
+# Default: {{.Account}}
+#tab-title-account={{.Account}}
+
+#
+# Template to use for Composer tab titles
+#
+# Default: {{if .To}}to:{{index (.To | shortmboxes) 0}} {{end}}{{.SubjectBase}}
+#tab-title-composer={{if .To}}to:{{index (.To | shortmboxes) 0}} {{end}}{{.SubjectBase}}
+
+#
+# Template to use for Message Viewer tab titles
+#
+# Default: {{.Subject}}
+#tab-title-viewer={{.Subject}}
+
+
+# Marker to show before a pinned tab's name.
+#
+# Default: `
+#pinned-tab-marker='`'
+
+# Template for the left side of the directory list.
+# See aerc-templates(7) for all available fields and functions.
+#
+# Default: {{.Folder}}
+#dirlist-left={{.Folder}}
+
+# Template for the right side of the directory list.
+# See aerc-templates(7) for all available fields and functions.
+#
+# Default: {{if .Unread}}{{humanReadable .Unread}}{{end}}
+#dirlist-right={{if .Unread}}{{humanReadable .Unread}}{{end}}
+dirlist-right={{if .Unread}}{{humanReadable .Unread}}/{{end}}{{if .Exists}}{{humanReadable .Exists}}{{end}}
+
+# Delay after which the messages are actually listed when entering a directory.
+# This avoids loading messages when skipping over folders and makes the UI more
+# responsive. If you do not want that, set it to 0s.
+#
+# Default: 200ms
+#dirlist-delay=200ms
+
+# Display the directory list as a foldable tree that allows to collapse and
+# expand the folders.
+#
+# Default: false
+#dirlist-tree=false
+
+# If dirlist-tree is enabled, set level at which folders are collapsed by
+# default. Set to 0 to disable.
+#
+# Default: 0
+#dirlist-collapse=0
+
+# List of space-separated criteria to sort the messages by, see *sort*
+# command in *aerc*(1) for reference. Prefixing a criterion with "-r "
+# reverses that criterion.
+#
+# Example: "from -r date"
+#
+#sort=
+
+# Moves to next message when the current message is deleted
+#
+# Default: true
+#next-message-on-delete=true
+
+# Automatically set the "seen" flag when a message is opened in the message
+# viewer.
+#
+# Default: true
+#auto-mark-read=true
+
+# The directories where the stylesets are stored. It takes a colon-separated
+# list of directories. If this is unset or if a styleset cannot be found, the
+# following paths will be used as a fallback in that order:
+#
+# ${XDG_CONFIG_HOME:-~/.config}/aerc/stylesets
+# ${XDG_DATA_HOME:-~/.local/share}/aerc/stylesets
+# /usr/local/share/aerc/stylesets
+# /usr/share/aerc/stylesets
+#
+#stylesets-dirs=
+
+# Uncomment to use box-drawing characters for vertical and horizontal borders.
+#
+# Default: "│" and "─"
+#border-char-vertical="│"
+#border-char-horizontal="─"
+
+# Sets the styleset to use for the aerc ui elements.
+#
+# Default: default
+#styleset-name=default
+styleset-name=gruvbox_material_dark_medium
+
+# Activates fuzzy search in commands and their arguments: the typed string is
+# searched in the command or option in any position, and need not be
+# consecutive characters in the command or option.
+#
+# Default: false
+#fuzzy-complete=false
+
+# How long to wait after the last input before auto-completion is triggered.
+#
+# Default: 250ms
+#completion-delay=250ms
+
+# The minimum required characters to allow auto-completion to be triggered after
+# completion-delay.
+#
+# Setting this to "manual" disables automatic completion, leaving only the
+# manually triggered completion with the $complete key (see aerc-binds(5) for
+# more details).
+#
+# Default: 1
+#completion-min-chars=1
+
+#
+# Global switch for completion popovers
+#
+# Default: true
+#completion-popovers=true
+
+# Uncomment to use UTF-8 symbols to indicate PGP status of messages
+#
+# Default: ASCII
+#icon-unencrypted=
+#icon-encrypted=✔
+#icon-signed=✔
+#icon-signed-encrypted=✔
+#icon-unknown=✘
+#icon-invalid=⚠
+
+# Reverses the order of the message list. By default, the message list is
+# ordered with the newest (highest UID) message on top. Reversing the order
+# will put the oldest (lowest UID) message on top. This can be useful in cases
+# where the backend does not support sorting.
+#
+# Default: false
+#reverse-msglist-order = false
+
+# Reverse display of the message threads. Default order is the initial
+# message is on the top with all the replies being displayed below. The
+# reverse option will put the initial message at the bottom with the
+# replies on top.
+#
+# Default: false
+#reverse-thread-order=false
+
+# Positions the cursor on the last message in the message list (at the
+# bottom of the view) when opening a new folder.
+#
+# Default: false
+#select-last-message=false
+
+# Sort the thread siblings according to the sort criteria for the messages. If
+# sort-thread-siblings is false, the thread siblings will be sorted based on
+# the message UID in ascending order. This option is only applicable for
+# client-side threading with a backend that enables sorting. Note that there's
+# a performance impact when sorting is activated.
+#
+# Default: false
+#sort-thread-siblings=false
+
+# Set the scroll offset in number of lines from the top and bottom of the
+# message list.
+#
+# Default: 0
+#msglist-scroll-offset = 0
+
+#
+# Enable a threaded view of messages. If this is not supported by the backend
+# (IMAP server or notmuch), threads will be built by the client.
+#
+# Default: false
+#threading-enabled=false
+
+# Force client-side thread building
+#
+# Default: false
+#force-client-threads=false
+
+# If no References nor In-Reply-To headers can be matched to build client side
+# threads, fallback to similar subjects.
+#
+# Default: false
+#threading-by-subject=false
+
+# Show thread context enables messages which do not match the current query (or
+# belong to the current mailbox) to be shown for context. These messages can be
+# styled separately using "msglist_thread_context" in a styleset. This feature
+# is not supported by all backends
+#
+# Default: false
+#show-thread-context=false
+
+# Debounce client-side thread building
+#
+# Default: 50ms
+#client-threads-delay=50ms
+
+#
+# Thread prefix customization:
+
+#
+# Customize the thread prefix appearance by selecting the arrow head.
+#
+# Default: ">"
+#thread-prefix-tip = ">"
+
+#
+# Customize the thread prefix appearance by selecting the arrow indentation.
+#
+# Default: " "
+#thread-prefix-indent = " "
+
+#
+# Customize the thread prefix appearance by selecting the vertical extension of
+# the arrow.
+#
+# Default: "│"
+#thread-prefix-stem = "│"
+
+#
+# Customize the thread prefix appearance by selecting the horizontal extension
+# of the arrow.
+#
+# Default: ""
+#thread-prefix-limb = ""
+
+#
+# Customize the thread prefix appearance by selecting the folded thread
+# indicator.
+#
+# Default: "+"
+#thread-prefix-folded = "+"
+
+#
+# Customize the thread prefix appearance by selecting the unfolded thread
+# indicator.
+#
+# Default: ""
+#thread-prefix-unfolded = ""
+
+#
+# Customize the thread prefix appearance by selecting the first child connector.
+#
+# Default: ""
+#thread-prefix-first-child = ""
+
+#
+# Customize the thread prefix appearance by selecting the connector used if
+# the message has siblings.
+#
+# Default: "├─"
+#thread-prefix-has-siblings = "├─"
+
+#
+# Customize the thread prefix appearance by selecting the connector used if the
+# message has no parents and no children.
+#
+# Default: ""
+#thread-prefix-lone = ""
+
+#
+# Customize the thread prefix appearance by selecting the connector used if the
+# message has no parents and has children.
+#
+# Default: ""
+#thread-prefix-orphan = ""
+
+#
+# Customize the thread prefix appearance by selecting the connector for the last
+# sibling.
+#
+# Default: "└─"
+#thread-prefix-last-sibling = "└─"
+
+#
+# Customize the reversed thread prefix appearance by selecting the connector for
+# the last sibling.
+#
+# Default: "┌─"
+#thread-prefix-last-sibling-reverse = "┌─"
+
+#
+# Customize the thread prefix appearance by selecting the connector for dummy
+# thread.
+#
+# Default: "┬─"
+#thread-prefix-dummy = "┬─"
+
+#
+# Customize the reversed thread prefix appearance by selecting the connector for
+# dummy thread.
+#
+# Default: "┴─"
+#thread-prefix-dummy-reverse = "┴─"
+
+#
+# Customize the reversed thread prefix appearance by selecting the first child
+# connector.
+#
+# Default: ""
+#thread-prefix-first-child-reverse = ""
+
+#
+# Customize the reversed thread prefix appearance by selecting the connector
+# used if the message has no parents and has children.
+#
+# Default: ""
+#thread-prefix-orphan-reverse = ""
+
+[statusline]
+#
+# Describes the format for the status line. This is a comma separated list of
+# column names with an optional align and width suffix. See [ui].index-columns
+# for more details. To completely mute the status line except for push
+# notifications, explicitly set status-columns to an empty string.
+#
+# Default: left<*,center:=,right>*
+#status-columns=left<*,center:=,right>*
+
+#
+# Each name in status-columns must have a corresponding column-$name setting.
+# All column-$name settings accept golang text/template syntax. See
+# aerc-templates(7) for available template attributes and functions.
+#
+# Default settings
+#column-left=[{{.Account}}] {{.StatusInfo}}
+#column-center={{.PendingKeys}}
+#column-right={{.TrayInfo}} | {{cwd}}
+
+#
+# String separator inserted between columns.
+# See [ui].column-separator for more details.
+#
+#column-separator=" "
+
+# Specifies the separator between grouped statusline elements.
+#
+# Default: " | "
+#separator=" | "
+
+# Defines the mode for displaying the status elements.
+# Options: text, icon
+#
+# Default: text
+#display-mode=text
+
+[viewer]
+#
+# Specifies the pager to use when displaying emails. Note that some filters
+# may add ANSI codes to add color to rendered emails, so you may want to use a
+# pager which supports ANSI codes.
+#
+# Default: less -Rc
+pager=less -Rc
+
+#
+# If an email offers several versions (multipart), you can configure which
+# mimetype to prefer. For example, this can be used to prefer plaintext over
+# html emails.
+#
+# Default: text/plain,text/html
+#alternatives=text/plain,text/html
+
+#
+# Default setting to determine whether to show full headers or only parsed
+# ones in message viewer.
+#
+# Default: false
+#show-headers=false
+
+#
+# Layout of headers when viewing a message. To display multiple headers in the
+# same row, separate them with a pipe, e.g. "From|To". Rows will be hidden if
+# none of their specified headers are present in the message.
+#
+# Default: From|To,Cc|Bcc,Date,Subject
+#header-layout=From|To,Cc|Bcc,Date,Subject
+
+# Whether to always show the mimetype of an email, even when it is just a single part
+#
+# Default: false
+#always-show-mime=false
+
+# Define the maximum height of the mimetype switcher before a scrollbar is used.
+# The height of the mimetype switcher is restricted to half of the display
+# height. If the provided value for the height is zero, the number of parts will
+# be used as the height of the type switcher.
+#
+# Default: 0
+#max-mime-height = 0
+
+# Parses and extracts http links when viewing a message. Links can then be
+# accessed with the open-link command.
+#
+# Default: true
+#parse-http-links=true
+
+[compose]
+#
+# Specifies the command to run the editor with. It will be shown in an embedded
+# terminal, though it may also launch a graphical window if the environment
+# supports it. Defaults to $EDITOR, or vi.
+#editor=
+
+#
+# When set, aerc will create and read .eml files for composing that have
+# non-standard \n linebreaks. This is only relevant if the used editor does not
+# support CRLF linebreaks.
+#
+#lf-editor=false
+
+#
+# Default header fields to display when composing a message. To display
+# multiple headers in the same row, separate them with a pipe, e.g. "To|From".
+#
+# Default: To|From,Subject
+#header-layout=To|From,Subject
+
+#
+# Edit headers into the text editor instead than separate fields.
+#
+# When this is true, address-book-cmd is not supported and address completion
+# is left to the editor itself. Also, displaying multiple headers on the same
+# line is not possible.
+#
+# Default: false
+#edit-headers=false
+
+#
+# Sets focus to the email body when the composer window opens.
+#
+# Default: false
+#focus-body=false
+
+#
+# Specifies the command to be used to tab-complete email addresses. Any
+# occurrence of "%s" in the address-book-cmd will be replaced with what the
+# user has typed so far.
+#
+# The command must output the completions to standard output, one completion
+# per line. Each line must be tab-delimited, with an email address occurring as
+# the first field. Only the email address field is required. The second field,
+# if present, will be treated as the contact name. Additional fields are
+# ignored.
+#
+# This parameter can also be set per account in accounts.conf.
+#address-book-cmd=
+
+# Specifies the command to be used to select attachments. Any occurrence of
+# '%s' in the file-picker-cmd will be replaced with the argument <arg>
+# to :attach -m <arg>. Any occurrence of '%f' will be replaced by the
+# location of a temporary file, from which aerc will read the selected files.
+#
+# If '%f' is not present, the command must output the selected files to
+# standard output, one file per line. If it is present, then aerc does not
+# capture the standard output and instead reads the files from the temporary
+# file which should have the same format.
+#file-picker-cmd=
+
+#
+# Allow to address yourself when replying
+#
+# Default: true
+#reply-to-self=true
+
+# Warn before sending an email with an empty subject.
+#
+# Default: false
+#empty-subject-warning=false
+
+#
+# Warn before sending an email that matches the specified regexp but does not
+# have any attachments. Leave empty to disable this feature.
+#
+# Uses Go's regexp syntax, documented at https://golang.org/s/re2syntax. The
+# "(?im)" flags are set by default (case-insensitive and multi-line).
+#
+# Example:
+# no-attachment-warning=^[^>]*attach(ed|ment)
+#
+#no-attachment-warning=
+
+#
+# When set, aerc will generate "format=flowed" bodies with a content type of
+# "text/plain; format=flowed" as described in RFC3676. This format is easier to
+# handle for some mailing software, and generally just looks like ordinary
+# text. To actually make use of this format's features, you'll need support in
+# your editor.
+#
+#format-flowed=false
+
+[multipart-converters]
+#
+# Converters allow to generate multipart/alternative messages by converting the
+# main text/plain part into any other MIME type. Only exact MIME types are
+# accepted. The commands are invoked with sh -c and are expected to output
+# valid UTF-8 text.
+#
+# Example (obviously, this requires that you write your main text/plain body
+# using the markdown syntax):
+#text/html=pandoc -f markdown -t html --standalone
+
+[filters]
+#
+# Filters allow you to pipe an email body through a shell command to render
+# certain emails differently, e.g. highlighting them with ANSI escape codes.
+#
+# The commands are invoked with sh -c. The following folders are prepended to
+# the system $PATH to allow referencing filters from their name only:
+#
+# ${XDG_CONFIG_HOME:-~/.config}/aerc/filters
+# ~/.local/libexec/aerc/filters
+# ${XDG_DATA_HOME:-~/.local/share}/aerc/filters
+# $PREFIX/libexec/aerc/filters
+# $PREFIX/share/aerc/filters
+# /usr/libexec/aerc/filters
+# /usr/share/aerc/filters
+#
+# If you want to run a program in your default $PATH which has the same name
+# as a builtin filter (e.g. /usr/bin/colorize), use its absolute path.
+#
+# The following variables are defined in the filter command environment:
+#
+# AERC_MIME_TYPE the part MIME type/subtype
+# AERC_FORMAT the part content type format= parameter
+# AERC_FILENAME the attachment filename (if any)
+# AERC_SUBJECT the message Subject header value
+# AERC_FROM the message From header value
+#
+# The first filter which matches the email's mimetype will be used, so order
+# them from most to least specific.
+#
+# You can also match on non-mimetypes, by prefixing with the header to match
+# against (non-case-sensitive) and a comma, e.g. subject,text will match a
+# subject which contains "text". Use header,~regex to match against a regex.
+#
+text/plain=colorize
+text/calendar=calendar
+message/delivery-status=colorize
+message/rfc822=colorize
+#text/html=pandoc -f html -t plain | colorize
+text/html=! html
+#text/html=! w3m -T text/html -I UTF-8
+#text/*=bat -fP --file-name="$AERC_FILENAME"
+#application/x-sh=bat -fP -l sh
+#image/*=catimg -w $(tput cols) -
+#subject,~Git(hub|lab)=lolcat -f
+#from,thatguywhodoesnothardwraphismessages=wrap -w 100 | colorize
+
+# This special filter is only used to post-process email headers when
+# [viewer].show-headers=true
+# By default, headers are piped directly into the pager.
+#
+.headers=colorize
+
+[openers]
+#
+# Openers allow you to specify the command to use for the :open and :open-link
+# actions on a per-MIME-type basis. The :open-link URL scheme is used to
+# determine the MIME type as follows: x-scheme-handler/<scheme>.
+#
+# {} is expanded as the temporary filename or URL to be opened with proper
+# shell quoting. If it is not encountered in the command, the filename/URL will
+# be appended to the end of the command. The command will then be executed with
+# `sh -c`.
+#
+# Like [filters], openers support basic shell globbing. The first opener which
+# matches the part's MIME type (or URL scheme handler MIME type) will be used,
+# so order them from most to least specific.
+#
+# Examples:
+# x-scheme-handler/irc=hexchat
+# x-scheme-handler/http*=printf '%s' {} | wl-copy
+# text/html=surf -dfgms
+# text/plain=gvim {} +125
+# message/rfc822=thunderbird
+
+[hooks]
+#
+# Hooks are triggered whenever the associated event occurs.
+
+#
+# Executed when a new email arrives in the selected folder
+#mail-received=notify-send "[$AERC_ACCOUNT/$AERC_FOLDER] New mail from $AERC_FROM_NAME" "$AERC_SUBJECT"
+
+#
+# Executed when mail is deleted from a folder
+#mail-deleted=mbsync "$AERC_ACCOUNT:$AERC_FOLDER" &
+
+#
+# Executed when aerc adds mail to a folder
+#mail-added=mbsync "$AERC_ACCOUNT:$AERC_FOLDER" &
+
+#
+# Executed when aerc starts
+#aerc-startup=aerc :terminal calcurse && aerc :next-tab
+
+#
+# Executed when aerc shuts down.
+#aerc-shutdown=
+
+#
+# Executed when notmuch tags are modified.
+#tag-modified=
+
+#
+# Executed when flags are changed on a message.
+#flag-changed=mbsync "$AERC_ACCOUNT:$AERC_FOLDER" &
+
+[templates]
+# Templates are used to populate email bodies automatically.
+#
+
+# The directories where the templates are stored. It takes a colon-separated
+# list of directories. If this is unset or if a template cannot be found, the
+# following paths will be used as a fallback in that order:
+#
+# ${XDG_CONFIG_HOME:-~/.config}/aerc/templates
+# ${XDG_DATA_HOME:-~/.local/share}/aerc/templates
+# /usr/local/share/aerc/templates
+# /usr/share/aerc/templates
+#
+#template-dirs=
+
+# The default template to be used for new messages.
+#
+# default: new_message
+#new-message=new_message
+
+# The default template to be used for quoted replies.
+#
+# default: quoted_reply
+#quoted-reply=quoted_reply
+
+# The default template to be used for forward as body.
+#
+# default: forward_as_body
+#forwards=forward_as_body
diff --git a/aerc/.config/aerc/binds.conf b/aerc/.config/aerc/binds.conf
new file mode 100644
index 0000000..cebb942
--- /dev/null
+++ b/aerc/.config/aerc/binds.conf
@@ -0,0 +1,187 @@
+# Binds are of the form <key sequence> = <command to run>
+# To use '=' in a key sequence, substitute it with "Eq": "<Ctrl+Eq>"
+# If you wish to bind #, you can wrap the key sequence in quotes: "#" = quit
+<C-p> = :prev-tab<Enter>
+<C-PgUp> = :prev-tab<Enter>
+<C-n> = :next-tab<Enter>
+<C-PgDn> = :next-tab<Enter>
+\[t = :prev-tab<Enter>
+\]t = :next-tab<Enter>
+<C-t> = :term<Enter>
+? = :help keys<Enter>
+<C-c> = :prompt 'Quit?' quit<Enter>
+<C-q> = :prompt 'Quit?' quit<Enter>
+<C-z> = :suspend<Enter>
+
+[messages]
+q = :prompt 'Quit?' quit<Enter>
+<C-r> = :check-mail<Enter>
+
+j = :next<Enter>
+<Down> = :next<Enter>
+<C-d> = :next 50%<Enter>
+<C-f> = :next 100%<Enter>
+<PgDn> = :next 100%<Enter>
+
+k = :prev<Enter>
+<Up> = :prev<Enter>
+<C-u> = :prev 50%<Enter>
+<C-b> = :prev 100%<Enter>
+<PgUp> = :prev 100%<Enter>
+g = :select 0<Enter>
+G = :select -1<Enter>
+
+J = :next-folder<Enter>
+<C-Down> = :next-folder<Enter>
+K = :prev-folder<Enter>
+<C-Up> = :prev-folder<Enter>
+H = :collapse-folder<Enter>
+<C-Left> = :collapse-folder<Enter>
+L = :expand-folder<Enter>
+<C-Right> = :expand-folder<Enter>
+
+v = :mark -t<Enter>
+<Space> = :mark -t<Enter>:next<Enter>
+V = :mark -v<Enter>
+
+T = :toggle-threads<Enter>
+zc = :fold<Enter>
+zo = :unfold<Enter>
+za = :fold -t<Enter>
+zM = :fold -a<Enter>
+zR = :unfold -a<Enter>
+<tab> = :fold -t<Enter>
+
+zz = :align center<Enter>
+zt = :align top<Enter>
+zb = :align bottom<Enter>
+
+<Enter> = :view<Enter>
+d = :choose -o y 'Really delete this message' delete-message<Enter>
+D = :delete<Enter>
+a = :archive flat<Enter>
+A = :unmark -a<Enter>:mark -T<Enter>:archive flat<Enter>
+
+C = :compose<Enter>
+m = :compose<Enter>
+
+b = :bounce<space>
+
+rr = :reply -a<Enter>
+rq = :reply -aq<Enter>
+Rr = :reply<Enter>
+Rq = :reply -q<Enter>
+
+c = :cf<space>
+$ = :term<space>
+! = :term<space>
+| = :pipe<space>
+
+/ = :search<space>
+\ = :filter<space>
+n = :next-result<Enter>
+N = :prev-result<Enter>
+<Esc> = :clear<Enter>
+
+s = :split<Enter>
+S = :vsplit<Enter>
+
+pl = :patch list<Enter>
+pa = :patch apply <Tab>
+pd = :patch drop <Tab>
+pb = :patch rebase<Enter>
+pt = :patch term<Enter>
+ps = :patch switch <Tab>
+
+[messages:folder=Drafts]
+<Enter> = :recall<Enter>
+
+[view]
+/ = :toggle-key-passthrough<Enter>/
+q = :close<Enter>
+O = :open<Enter>
+o = :open<Enter>
+S = :save<space>
+| = :pipe<space>
+D = :delete<Enter>
+A = :archive flat<Enter>
+
+<C-l> = :open-link <space>
+
+f = :forward<Enter>
+rr = :reply -a<Enter>
+rq = :reply -aq<Enter>
+Rr = :reply<Enter>
+Rq = :reply -q<Enter>
+
+H = :toggle-headers<Enter>
+<C-k> = :prev-part<Enter>
+<C-Up> = :prev-part<Enter>
+<C-j> = :next-part<Enter>
+<C-Down> = :next-part<Enter>
+J = :next<Enter>
+<C-Right> = :next<Enter>
+K = :prev<Enter>
+<C-Left> = :prev<Enter>
+
+[view::passthrough]
+$noinherit = true
+$ex = <C-x>
+<Esc> = :toggle-key-passthrough<Enter>
+
+[compose]
+# Keybindings used when the embedded terminal is not selected in the compose
+# view
+$noinherit = true
+$ex = <C-x>
+$complete = <C-o>
+<C-k> = :prev-field<Enter>
+<C-Up> = :prev-field<Enter>
+<C-j> = :next-field<Enter>
+<C-Down> = :next-field<Enter>
+<A-p> = :switch-account -p<Enter>
+<C-Left> = :switch-account -p<Enter>
+<A-n> = :switch-account -n<Enter>
+<C-Right> = :switch-account -n<Enter>
+<tab> = :next-field<Enter>
+<backtab> = :prev-field<Enter>
+<C-p> = :prev-tab<Enter>
+<C-PgUp> = :prev-tab<Enter>
+<C-n> = :next-tab<Enter>
+<C-PgDn> = :next-tab<Enter>
+
+[compose::editor]
+# Keybindings used when the embedded terminal is selected in the compose view
+$noinherit = true
+$ex = <C-x>
+<C-k> = :prev-field<Enter>
+<C-Up> = :prev-field<Enter>
+<C-j> = :next-field<Enter>
+<C-Down> = :next-field<Enter>
+<C-p> = :prev-tab<Enter>
+<C-PgUp> = :prev-tab<Enter>
+<C-n> = :next-tab<Enter>
+<C-PgDn> = :next-tab<Enter>
+
+[compose::review]
+# Keybindings used when reviewing a message to be sent
+# Inline comments are used as descriptions on the review screen
+y = :send<Enter> # Send
+n = :abort<Enter> # Abort (discard message, no confirmation)
+s = :sign<Enter> # Toggle signing
+x = :encrypt<Enter> # Toggle encryption to all recipients
+v = :preview<Enter> # Preview message
+p = :postpone<Enter> # Postpone
+q = :choose -o d discard abort -o p postpone postpone<Enter> # Abort or postpone
+e = :edit<Enter> # Edit (body and headers)
+a = :attach<space> # Add attachment
+d = :detach<space> # Remove attachment
+
+[terminal]
+$noinherit = true
+$ex = <C-x>
+
+<C-p> = :prev-tab<Enter>
+<C-n> = :next-tab<Enter>
+<C-PgUp> = :prev-tab<Enter>
+<C-PgDn> = :next-tab<Enter>
diff --git a/aerc/.config/aerc/stylesets/gruvbox b/aerc/.config/aerc/stylesets/gruvbox
new file mode 100644
index 0000000..2c15329
--- /dev/null
+++ b/aerc/.config/aerc/stylesets/gruvbox
@@ -0,0 +1,162 @@
+# should work with any terminal colorscheme, but was designed for gruvbox
+# terminal colors are preferred, but hex is used for grayscale
+*.default=true
+*.normal=true
+
+# present in 'Send this email?' dialog
+title.fg=yellow
+title.bg=#303030
+title.bold=true
+
+# used in setup and in 'From:' etc
+header.bold=true
+header.fg=purple
+
+# decorative lines
+border.fg=blue
+
+# requires attention
+*error.bold=true
+*error.fg=red
+*error.blink=true
+*warning.fg=yellow
+*warning.blink=true
+*success.fg=green
+
+# statusline
+statusline_default.fg=gray
+statusline_*.bg=#303030
+
+# message list colors
+msglist_deleted.fg=gray
+#msglist_unread.fg=#ffffff
+msglist_unread.bold=true
+msglist_default.fg=#dedede
+msglist_marked.fg=yellow
+msglist_marked.reverse=true
+#msglist_flagged.fg=white
+msglist_flagged.bg=#ff0000
+msglist_flagged.bold=true
+
+# inbox etc
+dirlist_default.fg=#dedede
+dirlist_unread.fg=white
+dirlist_unread.bold=true
+
+# highlight selected item
+*.selected.bg=black
+*.selected.fg=yellow
+*.selected.bold=true
+
+# primarily used in account setup
+selector_default.fg=gray
+selector_chooser.bold=true
+selector_focused.bg=green
+selector_focused.bold=true
+
+# command completion
+completion_default.bg=#303030
+completion_gutter.bg=#303030
+completion_pill.bg=aqua
+
+# LATER MATCHES OVERRIDE PREVIOUS ONES!
+
+#dynamic
+"msglist_default.From,~/proycon@anaproy.nl/.italic" = true
+"msglist_default.From,~proycon.fg" = #497248
+
+
+#notifications
+"msglist_default.From,~notification.bg" = gray
+"msglist_default.From,~notificatie.bg" = gray
+"msglist_default.From,~notify.bg" = gray
+"msglist_default.From,~noreply.bg" = gray
+"msglist_default.From,~no-reply.bg" = gray
+"msglist_default.From,~not-reply.bg" = gray
+"msglist_default.From,~no_reply.bg" = gray
+"msglist_default.From,~automail.bg" = gray
+"msglist_default.From,~bounce.bg" = gray
+"msglist_default.From,~newsletter.bg" = gray
+"msglist_default.From,~nieuwsbrief.bg" = gray
+"msglist_default.From,~invitations.bg" = gray
+"msglist_default.From,~mailer.bg" = gray
+"msglist_default.Subject,~was added to your account.bg" = gray
+"msglist_default.Subject,~bericht voor je.bg" = gray
+"msglist_default.Subject,~build success.bg" = gray
+"msglist_default.Subject,~build fail.bg" = gray
+
+#lists
+"msglist_default.List-Id,~\w+.bg" = #291840
+"msglist_default.Subject,~PATCH.bg" = #3d0647
+"msglist_default.From,~outgoing@sr.ht.bg" = #291840
+
+
+#notifications by domain
+"msglist_default.From,~stripe.com.bg" = gray
+"msglist_default.From,~liberapay.bg" = gray
+"msglist_default.From,~paypal.bg" = gray
+"msglist_default.From,~primera.nl.bg" = gray
+"msglist_default.From,~asnbank.bg" = gray
+"msglist_default.From,~triodos.bg" = gray
+"msglist_default.From,~ftm.nl.bg" = gray
+"msglist_default.From,~ebay.com.bg" = gray
+
+#sourcehut
+"msglist_default.X-Sourcehut-Patchset-Update,~REJECTED.bg" = #3d0647
+"msglist_default.X-Sourcehut-Patchset-Update,~REJECTED.fg" = #ff0000
+"msglist_default.X-Sourcehut-Patchset-Update,~SUPERSEDED.bg" = #3d0647
+"msglist_default.X-Sourcehut-Patchset-Update,~SUPERSEDED.fg" = #a55c00
+"msglist_default.X-Sourcehut-Patchset-Update,~NEEDS\_REVISION.bg" = #3d0647
+"msglist_default.X-Sourcehut-Patchset-Update,~NEEDS\_REVISION.fg" = #ffff00
+"msglist_default.X-Sourcehut-Patchset-Update,~APPROVED.bg" = #3d0647
+"msglist_default.X-Sourcehut-Patchset-Update,~APPROVED.fg" = green
+"msglist_default.X-Sourcehut-Patchset-Update,~APPLIED.bg" = #3d0647
+"msglist_default.X-Sourcehut-Patchset-Update,~APPLIED.fg" = #00ff00
+
+#spam
+"msglist_default.X-Spam,~Yes.fg" = #000000
+
+#personal
+"msglist_default.From,~(anaxotic|gompel|wijck).bg" = #343205
+
+#work
+"msglist_default.From,~knaw.bg" = #052134
+"msglist_default.From,~@ru.nl.bg" = #0c0534
+"msglist_default.From,~@cls.ru.nl.bg" = #0c0534
+"msglist_default.From,~@science.ru.nl.bg" = #0c0534
+"msglist_default.From,~@let.ru.nl.bg" = #0c0534
+"msglist_default.To,~admin@cls.ru.nl.bg" = #0c0534
+
+#hobby
+"msglist_default.From,~unilang.bg" = #342305
+"msglist_default.To,~unilang.bg" = #342305
+
+#newletters
+"msglist_default.Subject,~nieuwsbrief.bg" = gray
+"msglist_default.Subject,~Nieuwsbrief.bg" = gray
+"msglist_default.Subject,~newsletter.bg" = gray
+
+#action
+msglist_answered.fg = #57cf53
+
+
+[viewer]
+header.fg=#d845c5
+header.bold=true
+signature.fg=3
+signature.dim=true
+diff_meta.fg=#45d0d8
+diff_meta.bold=true
+diff_chunk.dim=true
+diff_chunk_func.fg=#45d0d8
+diff_chunk_func.bold=true
+diff_add.fg=#00ff00
+diff_del.fg=#ff6060
+quote_1.fg=6
+quote_2.fg=7
+quote_3.fg=6
+quote_4.fg=7
+quote_3.dim=true
+quote_4.dim=true
+quote_x.fg=gray
+quote_x.dim=true
diff --git a/aerc/.config/aerc/stylesets/gruvbox_material_dark_medium b/aerc/.config/aerc/stylesets/gruvbox_material_dark_medium
new file mode 100644
index 0000000..b115337
--- /dev/null
+++ b/aerc/.config/aerc/stylesets/gruvbox_material_dark_medium
@@ -0,0 +1,65 @@
+#
+# aerc gruvbox styleset
+#
+# This styleset uses the terminal defaults as its fallback.
+# More information on how to configure the styleset can be found in
+# the aerc-stylesets(7) manpage. Please read the manual before
+# modifying or creating a styleset.
+#
+
+*.default=true
+
+default.bg=#282828
+
+title.reverse=true
+header.bold=true
+header.fg=#d4be98
+
+*error.bold=true
+error.fg=#ea6962
+warning.fg=#d8a657
+success.fg=#a9b665
+
+statusline*.default=true
+statusline_default.reverse=true
+statusline_error.fg=#ea6962
+statusline_error.reverse=true
+statusline_default.fg=#3c3836
+statusline_default.bg=#d8a657
+
+dirlist_default.selected.fg=#d4be98
+dirlist_default.selected.bg=#3c3836
+dirlist_recent.selected.fg=#3c3836
+dirlist_recent.selected.bg=#d4be98
+dirlist_unread.fg=#a9b665
+dirlist_unread.selected.fg=#a9b665
+dirlist_unread.selected.bg=#3c3836
+
+msglist_default.selected.fg=#3c3836
+msglist_default.selected.bg=#d4be98
+msglist_unread.bold=true
+msglist_unread.fg=#a9b665
+msglist_unread.selected.bg=#3c3836
+msglist_read.selected.fg=#d4be98
+msglist_read.selected.bg=#3c3836
+msglist_marked.fg=#d8a657
+msglist_marked.selected.fg=#d8a657
+msglist_marked.selected.bg=#3c3836
+msglist_deleted.fg=#ea6962
+msglist_result.fg=#d4be98
+msglist_result.selected.bg=#3c3836
+
+msglist_deleted.selected.reverse=toggle
+
+completion_pill.reverse=true
+
+tab.reverse=true
+border.reverse=true
+tab.bg=#d8a657
+tab.fg=#3c3836
+tab.selected.bg=#3c3836
+tab.selected.fg=#d8a657
+border.fg=#3c3836
+
+selector_focused.reverse=true
+selector_chooser.bold=true
diff --git a/isync/.config/isyncrc b/isync/.config/isyncrc
new file mode 100644
index 0000000..d382511
--- /dev/null
+++ b/isync/.config/isyncrc
@@ -0,0 +1,78 @@
+Create Both
+Expunge Both
+SyncState *
+
+
+IMAPStore personal-remote
+Host mail.rozanov.info
+Port 993
+User personal@rozanov.info
+PassCmd "pass Email/personal@rozanov.info"
+TLSType IMAPS
+CertificateFile /etc/ssl/certs/ca-certificates.crt
+
+MaildirStore personal-local
+Path ~/Mail/personal/
+Inbox ~/Mail/personal/INBOX
+SubFolders Verbatim
+
+Channel personal
+Far :personal-remote:
+Near :personal-local:
+Patterns *
+
+
+IMAPStore dev-remote
+Host mail.rozanov.info
+Port 993
+User dev@rozanov.info
+PassCmd "pass Email/dev@rozanov.info"
+TLSType IMAPS
+CertificateFile /etc/ssl/certs/ca-certificates.crt
+
+MaildirStore dev-local
+Path ~/Mail/dev/
+Inbox ~/Mail/dev/INBOX
+SubFolders Verbatim
+
+Channel dev
+Far :dev-remote:
+Near :dev-local:
+Patterns *
+
+
+IMAPStore job-remote
+Host mail.rozanov.info
+Port 993
+User job@rozanov.info
+PassCmd "pass Email/job@rozanov.info"
+TLSType IMAPS
+CertificateFile /etc/ssl/certs/ca-certificates.crt
+
+MaildirStore job-local
+Path ~/Mail/job/
+Inbox ~/Mail/job/INBOX
+SubFolders Verbatim
+
+Channel job
+Far :job-remote:
+Near :job-local:
+Patterns *
+
+IMAPStore testmail-remote
+Host mail.rozanov.info
+Port 993
+User testmail@rozanov.info
+PassCmd "pass Email/testmail@rozanov.info"
+TLSType IMAPS
+CertificateFile /etc/ssl/certs/ca-certificates.crt
+
+MaildirStore testmail-local
+Path ~/Mail/testmail/
+Inbox ~/Mail/testmail/INBOX
+SubFolders Verbatim
+
+Channel testmail
+Far :testmail-remote:
+Near :testmail-local:
+Patterns *
diff --git a/newsboat/.config/newsboat/config b/newsboat/.config/newsboat/config
new file mode 100644
index 0000000..8aa6490
--- /dev/null
+++ b/newsboat/.config/newsboat/config
@@ -0,0 +1,56 @@
+#show-read-feeds no
+auto-reload no
+
+browser "open %u >/dev/null 2>&1"
+external-url-viewer "urlscan -dc -r 'linkhandler {}'"
+
+bind-key j down
+bind-key k up
+# bind-key j next articlelist
+# bind-key k prev articlelist
+bind-key J next-feed articlelist
+bind-key K prev-feed articlelist
+bind-key G end
+bind-key g home
+bind-key d pagedown
+bind-key u pageup
+bind-key l open
+bind-key h quit
+bind-key a toggle-article-read
+bind-key n next-unread
+bind-key N prev-unread
+bind-key D pb-download
+bind-key U show-urls
+bind-key x pb-delete
+
+color listnormal cyan default
+color listfocus black yellow standout bold
+color listnormal_unread blue default
+color listfocus_unread yellow default bold
+color info red black bold
+color article white default bold
+
+browser linkhandler
+macro , open-in-browser
+macro t set browser "qndl" ; open-in-browser ; set browser linkhandler
+macro a set browser "tsp yt-dlp --embed-metadata -xic -f bestaudio/best --restrict-filenames" ; open-in-browser ; set browser linkhandler
+macro v set browser "setsid -f mpv" ; open-in-browser ; set browser linkhandler
+macro w set browser "lynx" ; open-in-browser ; set browser linkhandler
+macro d set browser "dmenuhandler" ; open-in-browser ; set browser linkhandler
+macro c set browser "echo %u | xclip -r -sel c" ; open-in-browser ; set browser linkhandler
+macro C set browser "youtube-viewer --comments=%u" ; open-in-browser ; set browser linkhandler
+macro p set browser "peertubetorrent %u 480" ; open-in-browser ; set browser linkhandler
+macro P set browser "peertubetorrent %u 1080" ; open-in-browser ; set browser linkhandler
+
+highlight all "---.*---" yellow
+highlight feedlist ".*(0/0))" black
+highlight article "(^Feed:.*|^Title:.*|^Author:.*)" cyan default bold
+highlight article "(^Link:.*|^Date:.*)" default default
+highlight article "https?://[^ ]+" green default
+highlight article "^(Title):.*$" blue default
+highlight article "\\[[0-9][0-9]*\\]" magenta default bold
+highlight article "\\[image\\ [0-9]+\\]" green default bold
+highlight article "\\[embedded flash: [0-9][0-9]*\\]" green default bold
+highlight article ":.*\\(link\\)$" cyan default
+highlight article ":.*\\(image\\)$" blue default
+highlight article ":.*\\(embedded flash\\)$" magenta default
diff --git a/newsboat/.config/newsboat/urls b/newsboat/.config/newsboat/urls
new file mode 100644
index 0000000..2ca9352
--- /dev/null
+++ b/newsboat/.config/newsboat/urls
@@ -0,0 +1,24 @@
+---People---
+https://herbsutter.com/feed blog
+https://lukesmith.xyz/index.xml blog
+
+---C++_organizations---
+https://cppcon.org/rss c++
+https://isocpp.org/blog/rss/category/news c++ news
+https://isocpp.org/blog/rss/category/product-news c++ news
+https://isocpp.org/blog/rss/category/articles-books c++
+https://isocpp.org/blog/rss/category/video-on-demand c++
+https://isocpp.org/blog/rss/category/events c++
+https://isocpp.org/blog/rss/category/training c++
+https://isocpp.org/blog/rss/category/standardization c++
+
+---Systems---
+https://guix.gnu.org/feeds/blog.atom
+
+---Projects---
+https://neovim.io/news.xml
+
+---YouTube---
+https://www.youtube.com/feeds/videos.xml?channel_id=UCvmBEbr9NZt7UEh9doI7n_A
+
+
diff --git a/notmuch/.config/notmuch/default/config b/notmuch/.config/notmuch/default/config
new file mode 100644
index 0000000..a0579a4
--- /dev/null
+++ b/notmuch/.config/notmuch/default/config
@@ -0,0 +1,13 @@
+[database]
+path=/home/chell/Mail
+[user]
+name=Daniil Rozanov
+[new]
+tags=inbox;unread
+ignore=.mbsyncstate;.uidvalidity
+[search]
+exclude_tags=deleted;spam;
+[maildir]
+synchronize_flags=true
+[crypto]
+gpg_path=gpg
diff --git a/notmuch/.config/notmuch/dev/config b/notmuch/.config/notmuch/dev/config
new file mode 100644
index 0000000..0876333
--- /dev/null
+++ b/notmuch/.config/notmuch/dev/config
@@ -0,0 +1,17 @@
+# vim: filetype=dosini
+
+[database]
+path=/home/chell/Mail/dev
+[user]
+name=Daniil Rozanov
+primary_email=dev@rozanov.info
+[new]
+tags=inbox;unread
+ignore=.mbsyncstate;.uidvalidity
+[search]
+exclude_tags=deleted;spam;
+[maildir]
+synchronize_flags=true
+[crypto]
+gpg_path=gpg
+
diff --git a/notmuch/.config/notmuch/dev/hooks b/notmuch/.config/notmuch/dev/hooks
new file mode 120000
index 0000000..f631275
--- /dev/null
+++ b/notmuch/.config/notmuch/dev/hooks
@@ -0,0 +1 @@
+../hooks \ No newline at end of file
diff --git a/notmuch/.config/notmuch/hooks/post-insert b/notmuch/.config/notmuch/hooks/post-insert
new file mode 100755
index 0000000..fa0c85b
--- /dev/null
+++ b/notmuch/.config/notmuch/hooks/post-insert
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+exit
diff --git a/notmuch/.config/notmuch/hooks/post-new b/notmuch/.config/notmuch/hooks/post-new
new file mode 100755
index 0000000..992e0b4
--- /dev/null
+++ b/notmuch/.config/notmuch/hooks/post-new
@@ -0,0 +1,22 @@
+#!/bin/sh
+
+notmuch tag +info-gnu -- cc:info-gnu@gnu.org or to:info-gnu@gnu.org
+notmuch tag +info-guix -- cc:info-guix@gnu.org or to:info-guix@gnu.org
+notmuch tag +sg7 -- cc:sg7@lists.isocpp.org or to:sg7@lists.isocpp.org
+notmuch tag +sg13 -- cc:sg13@lists.isocpp.org or to:sg13@lists.isocpp.org
+notmuch tag +sg14 -- cc:sg14@lists.isocpp.org or to:sg14@lists.isocpp.org
+notmuch tag +sg15 -- cc:sg15@lists.isocpp.org or to:sg15@lists.isocpp.org
+notmuch tag +sg16 -- cc:sg16@lists.isocpp.org or to:sg16@lists.isocpp.org
+notmuch tag +std-discussion -- cc:std-discussion@lists.isocpp.org or to:std-discussion@lists.isocpp.org
+notmuch tag +std-proposals -- cc:std-proposals@lists.isocpp.org or to:std-proposals@lists.isocpp.org
+notmuch tag +notmuch -- cc:notmuch@notmuchmail.org or to:notmuch@notmuchmail.org
+notmuch tag +rjarry-aerc-discuss -- cc:~rjarry/aerc-discuss@lists.sr.ht or to:~rjarry/aerc-discuss@lists.sr.ht
+
+# Some interesting trashing/trashed, Xing/Xed in general was mentioned
+
+notmuch tag -inbox -unread +trash -- folder:Trash
+notmuch tag -inbox -unread +spam -- folder:Spam
+notmuch tag -inbox -unread -draft +sent -- folder:Sent
+notmuch tag -inbox -unread +draft -- folder:Draft
+
+notmuch tag +inbox -- folder:INBOX
diff --git a/notmuch/.config/notmuch/hooks/pre-new b/notmuch/.config/notmuch/hooks/pre-new
new file mode 100755
index 0000000..e0b0535
--- /dev/null
+++ b/notmuch/.config/notmuch/hooks/pre-new
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+mbsync "$NOTMUCH_PROFILE"
diff --git a/notmuch/.config/notmuch/job/config b/notmuch/.config/notmuch/job/config
new file mode 100644
index 0000000..d43dbc9
--- /dev/null
+++ b/notmuch/.config/notmuch/job/config
@@ -0,0 +1,17 @@
+# vim: filetype=dosini
+
+[database]
+path=/home/chell/Mail/job
+[user]
+name=Daniil Rozanov
+primary_email=job@rozanov.info
+[new]
+tags=inbox;unread
+ignore=.mbsyncstate;.uidvalidity
+[search]
+exclude_tags=deleted;spam;
+[maildir]
+synchronize_flags=true
+[crypto]
+gpg_path=gpg
+
diff --git a/notmuch/.config/notmuch/job/hooks b/notmuch/.config/notmuch/job/hooks
new file mode 120000
index 0000000..f631275
--- /dev/null
+++ b/notmuch/.config/notmuch/job/hooks
@@ -0,0 +1 @@
+../hooks \ No newline at end of file
diff --git a/notmuch/.config/notmuch/personal/config b/notmuch/.config/notmuch/personal/config
new file mode 100644
index 0000000..161faf5
--- /dev/null
+++ b/notmuch/.config/notmuch/personal/config
@@ -0,0 +1,16 @@
+# vim: filetype=dosini
+
+[database]
+path=/home/chell/Mail/personal
+[user]
+name=Daniil Rozanov
+primary_email=personal@rozanov.info
+[new]
+tags=inbox;unread
+ignore=.mbsyncstate;.uidvalidity
+[search]
+exclude_tags=deleted;spam;
+[maildir]
+synchronize_flags=true
+[crypto]
+gpg_path=gpg
diff --git a/notmuch/.config/notmuch/personal/hooks b/notmuch/.config/notmuch/personal/hooks
new file mode 120000
index 0000000..f631275
--- /dev/null
+++ b/notmuch/.config/notmuch/personal/hooks
@@ -0,0 +1 @@
+../hooks \ No newline at end of file
diff --git a/notmuch/.config/notmuch/testmail/config b/notmuch/.config/notmuch/testmail/config
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/notmuch/.config/notmuch/testmail/config
diff --git a/notmuch/.config/notmuch/testmail/hooks b/notmuch/.config/notmuch/testmail/hooks
new file mode 120000
index 0000000..f631275
--- /dev/null
+++ b/notmuch/.config/notmuch/testmail/hooks
@@ -0,0 +1 @@
+../hooks \ No newline at end of file
diff --git a/nvim/.config/nvim/lua/custom/telescope.lua b/nvim/.config/nvim/lua/custom/telescope.lua
index ffe6ac0..219264b 100644
--- a/nvim/.config/nvim/lua/custom/telescope.lua
+++ b/nvim/.config/nvim/lua/custom/telescope.lua
@@ -12,6 +12,47 @@ require("telescope").setup {
require("telescope.themes").get_dropdown(),
},
},
+ defaults = {
+ -- configure to use ripgrep
+ vimgrep_arguments = {
+ "rg",
+ "--follow", -- Follow symbolic links
+ "--hidden", -- Search for hidden files
+ "--no-heading", -- Don't group matches by each file
+ "--with-filename", -- Print the file path with the matched lines
+ "--line-number", -- Show line numbers
+ "--column", -- Show column numbers
+ "--smart-case", -- Smart case search
+
+ -- Exclude some patterns from search
+ "--glob=!**/.git/*",
+ "--glob=!**/.idea/*",
+ "--glob=!**/.vscode/*",
+ "--glob=!**/build/*",
+ "--glob=!**/dist/*",
+ "--glob=!**/yarn.lock",
+ "--glob=!**/package-lock.json",
+ },
+ },
+ pickers = {
+ find_files = {
+ hidden = true,
+ -- needed to exclude some files & dirs from general search
+ -- when not included or specified in .gitignore
+ find_command = {
+ "rg",
+ "--files",
+ "--hidden",
+ "--glob=!**/.git/*",
+ "--glob=!**/.idea/*",
+ "--glob=!**/.vscode/*",
+ "--glob=!**/build/*",
+ "--glob=!**/dist/*",
+ "--glob=!**/yarn.lock",
+ "--glob=!**/package-lock.json",
+ },
+ },
+ },
}
pcall(require("telescope").load_extension, "fzf")
diff --git a/zsh/.config/zsh/.zprofile b/zsh/.config/zsh/.zprofile
index 08f137f..38df93c 100644
--- a/zsh/.config/zsh/.zprofile
+++ b/zsh/.config/zsh/.zprofile
@@ -1,3 +1,6 @@
+#
+export SSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crt
+
# User defaults
export EDITOR="nvim"
export PAGER="less"
diff --git a/zsh/.config/zsh/.zshrc b/zsh/.config/zsh/.zshrc
index 499f753..4b256ce 100644
--- a/zsh/.config/zsh/.zshrc
+++ b/zsh/.config/zsh/.zshrc
@@ -61,7 +61,6 @@ zstyle ':completion:*' list-colors "${(s.:.)LS_COLORS}"
zstyle ':completion:*' menu no
zstyle ':completion:*' use-cache on
zstyle ':completion:*' cache-path "$XDG_CACHE_HOME/zsh/.zcompcache"
-zstyle ':fzf-tab:*' fzf-command ftb-tmux-popup
zstyle ':fzf-tab:*' use-fzf-default-opts yes
zstyle ':fzf-tab:complete:*' fzf-bindings \
'ctrl-y:accept' \
@@ -110,7 +109,6 @@ bindkey '^e' edit-command-line
# Aliases
alias v=nvim
-alias vf='nvim $(fzf --preview="bat --color=always {}")'
alias ls="ls --color"
alias la="ls -la"
alias c='clear; tmux clear-history'
@@ -124,12 +122,18 @@ function fkill () {
}
## Unnecessary after pass -c will work
function cpass () {
- pass $1 | tr -d "[:space:]" | wl-copy --type text/plain
+ pass $1 | head -n 1 | tr -d "[:space:]" | wl-copy --type text/plain
}
alias guile='rlwrap guile'
-alias md='mkdir'
+alias md='mkdir -p'
alias rmd='rmdir'
alias gs='git status'
+alias ga='git add'
+alias gc='git commit --verbose'
+alias gpa='git remote | xargs -L1 -I R git push R'
+alias gl='git log'
+alias gsh='git show'
+alias gsw='git switch'
# Shell integrations