summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--.gitattributes2
-rw-r--r--Xresources15
-rw-r--r--config/aerc/accounts.conf7
-rw-r--r--config/aerc/aerc.conf561
-rw-r--r--config/aerc/binds.conf136
-rw-r--r--config/qutebrowser/autoconfig.yml6
-rw-r--r--cwmrc7
-rwxr-xr-xgnupg/gpg-agent.conf4
-rwxr-xr-xgnupg/gpg.conf1
-rw-r--r--kshrc20
-rwxr-xr-xlocal/bin/capture16
-rwxr-xr-xlocal/bin/todo14
-rw-r--r--local/share/fonts/IosevkaSS13-Bold.ttfbin0 -> 1270864 bytes
-rw-r--r--local/share/fonts/IosevkaSS13-BoldItalic.ttfbin0 -> 1331992 bytes
-rw-r--r--local/share/fonts/IosevkaSS13-BoldOblique.ttfbin0 -> 1327108 bytes
-rw-r--r--local/share/fonts/IosevkaSS13-Extended.ttfbin0 -> 1289280 bytes
-rw-r--r--local/share/fonts/IosevkaSS13-ExtendedBold.ttfbin0 -> 1285428 bytes
-rw-r--r--local/share/fonts/IosevkaSS13-ExtendedBoldItalic.ttfbin0 -> 1343788 bytes
-rw-r--r--local/share/fonts/IosevkaSS13-ExtendedBoldOblique.ttfbin0 -> 1338336 bytes
-rw-r--r--local/share/fonts/IosevkaSS13-ExtendedExtraBold.ttfbin0 -> 1284528 bytes
-rw-r--r--local/share/fonts/IosevkaSS13-ExtendedExtraBoldItalic.ttfbin0 -> 1342916 bytes
-rw-r--r--local/share/fonts/IosevkaSS13-ExtendedExtraBoldOblique.ttfbin0 -> 1337808 bytes
-rw-r--r--local/share/fonts/IosevkaSS13-ExtendedExtraLight.ttfbin0 -> 1296832 bytes
-rw-r--r--local/share/fonts/IosevkaSS13-ExtendedExtraLightItalic.ttfbin0 -> 1350264 bytes
-rw-r--r--local/share/fonts/IosevkaSS13-ExtendedExtraLightOblique.ttfbin0 -> 1345096 bytes
-rw-r--r--local/share/fonts/IosevkaSS13-ExtendedHeavy.ttfbin0 -> 1287124 bytes
-rw-r--r--local/share/fonts/IosevkaSS13-ExtendedHeavyItalic.ttfbin0 -> 1342492 bytes
-rw-r--r--local/share/fonts/IosevkaSS13-ExtendedHeavyOblique.ttfbin0 -> 1337308 bytes
-rw-r--r--local/share/fonts/IosevkaSS13-ExtendedItalic.ttfbin0 -> 1348152 bytes
-rw-r--r--local/share/fonts/IosevkaSS13-ExtendedLight.ttfbin0 -> 1287748 bytes
-rw-r--r--local/share/fonts/IosevkaSS13-ExtendedLightItalic.ttfbin0 -> 1343544 bytes
-rw-r--r--local/share/fonts/IosevkaSS13-ExtendedLightOblique.ttfbin0 -> 1338064 bytes
-rw-r--r--local/share/fonts/IosevkaSS13-ExtendedMedium.ttfbin0 -> 1289884 bytes
-rw-r--r--local/share/fonts/IosevkaSS13-ExtendedMediumItalic.ttfbin0 -> 1348004 bytes
-rw-r--r--local/share/fonts/IosevkaSS13-ExtendedMediumOblique.ttfbin0 -> 1342708 bytes
-rw-r--r--local/share/fonts/IosevkaSS13-ExtendedOblique.ttfbin0 -> 1342648 bytes
-rw-r--r--local/share/fonts/IosevkaSS13-ExtendedSemiBold.ttfbin0 -> 1290220 bytes
-rw-r--r--local/share/fonts/IosevkaSS13-ExtendedSemiBoldItalic.ttfbin0 -> 1346084 bytes
-rw-r--r--local/share/fonts/IosevkaSS13-ExtendedSemiBoldOblique.ttfbin0 -> 1340864 bytes
-rw-r--r--local/share/fonts/IosevkaSS13-ExtendedThin.ttfbin0 -> 1301268 bytes
-rw-r--r--local/share/fonts/IosevkaSS13-ExtendedThinItalic.ttfbin0 -> 1356536 bytes
-rw-r--r--local/share/fonts/IosevkaSS13-ExtendedThinOblique.ttfbin0 -> 1351324 bytes
-rw-r--r--local/share/fonts/IosevkaSS13-ExtraBold.ttfbin0 -> 1273328 bytes
-rw-r--r--local/share/fonts/IosevkaSS13-ExtraBoldItalic.ttfbin0 -> 1333308 bytes
-rw-r--r--local/share/fonts/IosevkaSS13-ExtraBoldOblique.ttfbin0 -> 1328688 bytes
-rw-r--r--local/share/fonts/IosevkaSS13-ExtraLight.ttfbin0 -> 1277488 bytes
-rw-r--r--local/share/fonts/IosevkaSS13-ExtraLightItalic.ttfbin0 -> 1335216 bytes
-rw-r--r--local/share/fonts/IosevkaSS13-ExtraLightOblique.ttfbin0 -> 1329984 bytes
-rw-r--r--local/share/fonts/IosevkaSS13-Heavy.ttfbin0 -> 1271444 bytes
-rw-r--r--local/share/fonts/IosevkaSS13-HeavyItalic.ttfbin0 -> 1332568 bytes
-rw-r--r--local/share/fonts/IosevkaSS13-HeavyOblique.ttfbin0 -> 1327684 bytes
-rw-r--r--local/share/fonts/IosevkaSS13-Italic.ttfbin0 -> 1336272 bytes
-rw-r--r--local/share/fonts/IosevkaSS13-Light.ttfbin0 -> 1272596 bytes
-rw-r--r--local/share/fonts/IosevkaSS13-LightItalic.ttfbin0 -> 1330560 bytes
-rw-r--r--local/share/fonts/IosevkaSS13-LightOblique.ttfbin0 -> 1325428 bytes
-rw-r--r--local/share/fonts/IosevkaSS13-Medium.ttfbin0 -> 1271724 bytes
-rw-r--r--local/share/fonts/IosevkaSS13-MediumItalic.ttfbin0 -> 1330412 bytes
-rw-r--r--local/share/fonts/IosevkaSS13-MediumOblique.ttfbin0 -> 1325564 bytes
-rw-r--r--local/share/fonts/IosevkaSS13-Oblique.ttfbin0 -> 1331344 bytes
-rw-r--r--local/share/fonts/IosevkaSS13-Regular.ttfbin0 -> 1277388 bytes
-rw-r--r--local/share/fonts/IosevkaSS13-SemiBold.ttfbin0 -> 1272304 bytes
-rw-r--r--local/share/fonts/IosevkaSS13-SemiBoldItalic.ttfbin0 -> 1330020 bytes
-rw-r--r--local/share/fonts/IosevkaSS13-SemiBoldOblique.ttfbin0 -> 1325424 bytes
-rw-r--r--local/share/fonts/IosevkaSS13-Thin.ttfbin0 -> 1290164 bytes
-rw-r--r--local/share/fonts/IosevkaSS13-ThinItalic.ttfbin0 -> 1346888 bytes
-rw-r--r--local/share/fonts/IosevkaSS13-ThinOblique.ttfbin0 -> 1341348 bytes
-rw-r--r--profile32
-rw-r--r--vim/pack/downloads/opt/snippets/snippets.vim14
-rw-r--r--vimrc196
-rw-r--r--xdm/Xresources (renamed from xenodm/Xresources)10
-rwxr-xr-xxdm/Xsetup_05
-rwxr-xr-xxenodm/Xsetup_019
-rwxr-xr-xxsession16
73 files changed, 1023 insertions, 58 deletions
diff --git a/.gitattributes b/.gitattributes
new file mode 100644
index 0000000..5420057
--- /dev/null
+++ b/.gitattributes
@@ -0,0 +1,2 @@
+*.png binary
+*.ttf binary
diff --git a/Xresources b/Xresources
index 2fbfced..f8f34b3 100644
--- a/Xresources
+++ b/Xresources
@@ -1,5 +1,12 @@
-Xcursor.theme: Adwaita
-Xcursor.size: 34
-XTerm*faceSize: 7
-XTerm*faceName: Envy Code R
+#Xcursor*theme: Adwaita
+#Xcursor*size: 64
+XTerm*faceSize: 14
+XTerm*selectToClipboard: true
+XTerm*faceName: Iosevka SS13 Extended:style=light:antialias=true:hinting=false
+xterm*scrollBar: false
+xterm*rightScrollbar: false
XTerm.termName: xterm-256color
+XTerm*Background: #FEFFFA
+XTerm*Foreground: black
+XTerm*HiBackColor: #FEFFFA
+
diff --git a/config/aerc/accounts.conf b/config/aerc/accounts.conf
new file mode 100644
index 0000000..50ca8dc
--- /dev/null
+++ b/config/aerc/accounts.conf
@@ -0,0 +1,7 @@
+[Personal]
+source = maildir://~/mail-home
+outgoing = smtps+plain://marcc%40fastmail.fr@smtp.fastmail.com:465
+default = INBOX
+outgoing-cred-cmd = pass fastmail/marcc
+from = "Marc Coquand" <marc@mccd.space>
+copy-to = Sent
diff --git a/config/aerc/aerc.conf b/config/aerc/aerc.conf
new file mode 100644
index 0000000..a594cf6
--- /dev/null
+++ b/config/aerc/aerc.conf
@@ -0,0 +1,561 @@
+#
+# 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
+
+# Set the $TERM environment variable used for the embedded terminal.
+#
+# Default: xterm-256color
+
+# Display OSC8 strings in the embedded terminal
+#
+# Default: false
+enable-osc8=true
+
+[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: date<20,name<17,flags>4,subject<*
+#index-columns=date<20,name<17,flags>4,subject<*
+
+#
+# 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.
+#
+# Default settings
+#column-date={{.DateAutoFormat .Date.Local}}
+#column-name={{index (.From | names) 0}}
+#column-flags={{.Flags | join ""}}
+#column-subject={{.ThreadPrefix}}{{.Subject}}
+
+#
+# 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-01-02 03:04 PM (ISO 8601 + 12 hour time)
+#timestamp-format=2006-01-02 03:04 PM
+
+#
+# Index-only time format for messages that were received/sent today.
+# If this is not specified, timestamp-format is used instead.
+#
+#this-day-time-format=
+
+#
+# Index-only time format for messages that were received/sent within the last
+# 7 days. If this is not specified, timestamp-format is used instead.
+#
+#this-week-time-format=
+
+#
+# Index-only time format for messages that were received/sent this year.
+# If this is not specified, timestamp-format is used instead.
+#
+#this-year-time-format=
+
+#
+# Width of the sidebar, including the border.
+#
+# Default: 20
+sidebar-width=0
+
+#
+# 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)
+
+# Enable mouse events in the ui, e.g. clicking and scrolling with the mousewheel
+#
+# Default: false
+mouse-enabled=true
+
+#
+# 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}}
+
+# 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}}{{if .Exists}}{{humanReadable .Exists}}{{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=/usr/pkg/share/aerc/stylesets
+
+# Uncomment to use box-drawing characters for vertical and horizontal borders.
+#
+# Default: " "
+#border-char-vertical=" "
+#border-char-horizontal=" "
+
+# Sets the styleset to use for the aerc ui elements.
+#
+# Default: default
+#styleset-name=default
+
+# 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=true
+
+# How long to wait after the last input before auto-completion is triggered.
+#
+# Default: 250ms
+completion-delay=0ms
+
+# The minimum required characters to allow auto-completion to be triggered after
+# completion-delay.
+#
+# 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 mesage threads. Default order is the the intial
+# 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=true
+
+# 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
+
+#[ui:account=foo]
+#
+# 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=true
+
+# Force client-side thread building
+#
+# Default: false
+#force-client-threads=false
+
+# Debounce client-side thread building
+#
+# Default: 50ms
+#client-threads-delay=50ms
+
+[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={{.StatusInfo}} | {{.TrayInfo}}
+column-center={{.ContentInfo}}
+column-right={{.PendingKeys}}
+
+#
+# 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 -R
+pager=less -R
+
+#
+# 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
+
+# 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.
+
+#
+# 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
+
+#
+# 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 occurence of '%s'
+# in the file-picker-cmd will be replaced the argument <arg> to :attach -m
+# <arg>.
+#
+# The command must output the selected files to standard output, one file per
+# line.
+#file-picker-cmd=
+
+#
+# Allow to address yourself when replying
+#
+# Default: true
+#reply-to-self=true
+
+#
+# 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 appended to
+# the system $PATH to allow referencing filters from their name only:
+#
+# ${XDG_CONFIG_HOME:-~/.config}/aerc/filters
+# ${XDG_DATA_HOME:-~/.local/share}/aerc/filters
+# $PREFIX/share/aerc/filters
+# /usr/share/aerc/filters
+#
+# 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=less -r
+text/calendar=calendar
+message/delivery-status=colorize
+message/rfc822=colorize
+#text/html=pandoc -f html -t plain
+#text/html=w3m
+#application/octet-stream=zathura
+#text/*=bat -fP --file-name="$AERC_FILENAME"
+#application/x-sh=bat -fP -l sh
+# image/*=imgcat
+#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 to be opened. If it is not
+# encountered in the command, the temporary filename will be appened to the end
+# of the command.
+#
+# 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*=firefox
+# 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 "New mail from $AERC_FROM_NAME" "$AERC_SUBJECT"
+
+#
+# Executed when aerc starts
+#aerc-startup=aerc :terminal calcurse && aerc :next-tab
+
+#
+# Executed when aerc shuts down.
+#aerc-shutdown=
+
+[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=/usr/pkg/share/aerc/templates
+
+# 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/config/aerc/binds.conf b/config/aerc/binds.conf
new file mode 100644
index 0000000..db96bca
--- /dev/null
+++ b/config/aerc/binds.conf
@@ -0,0 +1,136 @@
+# 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-n> = :next-tab<Enter>
+<C-t> = :term<Enter>
+? = :help keys<Enter>
+
+[messages]
+q = :quit<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>
+K = :prev-folder<Enter>
+H = :collapse-folder<Enter>
+L = :expand-folder<Enter>
+
+v = :mark -t<Enter>
+V = :mark -v<Enter>
+
+
+T = :toggle-threads<Enter>
+
+<Enter> = :view<Enter>
+d = :prompt 'Really delete this message?' 'delete-message'<Enter>
+A = :archive flat<Enter>
+
+C = :compose<Enter>
+
+rr = :reply -a<Enter>
+rq = :reply -aq<Enter>
+Rr = :reply<Enter>
+Rq = :reply -q<Enter>
+
+m = :mv<space>
+c = :cf<space>
+$ = :term<space>
+! = :term<space>
+| = :pipe<space>
+
+/ = :search<space>
+\ = :filter<space>
+n = :next-result<Enter>
+N = :prev-result<Enter>
+<Esc> = :clear<Enter>
+
+[messages:folder=Drafts]
+<Enter> = :recall<Enter>
+
+[view]
+/ = :toggle-key-passthrough<Enter>/
+q = :close<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-j> = :next-part<Enter>
+J = :next<Enter>
+K = :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>
+<C-k> = :prev-field<Enter>
+<C-j> = :next-field<Enter>
+<A-p> = :switch-account -p<Enter>
+<A-n> = :switch-account -n<Enter>
+<tab> = :next-field<Enter>
+<backtab> = :prev-field<Enter>
+<C-p> = :prev-tab<Enter>
+<C-n> = :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-j> = :next-field<Enter>
+<C-p> = :prev-tab<Enter>
+<C-n> = :next-tab<Enter>
+
+[compose::review]
+# Keybindings used when reviewing a message to be sent
+y = :send<Enter>
+n = :abort<Enter>
+v = :preview<Enter>
+p = :postpone<Enter>
+q = :choose -o d discard abort -o p postpone postpone<Enter>
+e = :edit<Enter>
+a = :attach<space>
+d = :detach<space>
+
+[terminal]
+$noinherit = true
+$ex = <C-x>
+
+<C-p> = :prev-tab<Enter>
+<C-n> = :next-tab<Enter>
+
+[messages:account=Personal]
+D = :mv Trash<Enter>
+
+[messages:account=Work]
+D = :mv [Gmail]/Bin<Enter>
diff --git a/config/qutebrowser/autoconfig.yml b/config/qutebrowser/autoconfig.yml
index a578568..caac3e5 100644
--- a/config/qutebrowser/autoconfig.yml
+++ b/config/qutebrowser/autoconfig.yml
@@ -113,7 +113,7 @@ settings:
fonts.default_family:
global: Iosevka Aile
fonts.default_size:
- global: 7pt
+ global: 14pt
fonts.downloads:
global: default_size default_family
fonts.web.family.fantasy:
@@ -132,8 +132,12 @@ settings:
global: never
tabs.show:
global: switching
+ url.default_page:
+ global: https://kagi.com
url.searchengines:
global:
DEFAULT: https://kagi.com/search?q={}
+ url.start_pages:
+ global: https://kagi.com
zoom.default:
global: 150%
diff --git a/cwmrc b/cwmrc
index 5140e1d..ca20f5d 100644
--- a/cwmrc
+++ b/cwmrc
@@ -6,15 +6,15 @@ autogroup 0 xarclock, XClock
autogroup 0 clock, clock
autogroup 0 xclock, xterm
ignore xclock
+vtile 55
unbind-key all
-
color menufg "#FFFFFF" #black
color font "#000000" #black
color menubg "#F5E094" #white
color selfont "#000000" #black
-color activeborder "#559999"
-color inactiveborder "#E8E8E8"
+color activeborder "#777777"
+color inactiveborder "#DDDDDD"
bind-mouse 4-3 window-resize
bind-mouse 4-1 window-move
@@ -24,6 +24,7 @@ bind-key 4-e "xterm -e aerc"
bind-key 4-q window-close
bind-key 4-m window-fullscreen
bind-key 4-l window-vtile
+bind-key 4-y window-htile
bind-key 4-u window-vmaximize
bind-key 4-f window-move-right-big
bind-key 4S-f window-resize-right-big
diff --git a/gnupg/gpg-agent.conf b/gnupg/gpg-agent.conf
new file mode 100755
index 0000000..231e0ac
--- /dev/null
+++ b/gnupg/gpg-agent.conf
@@ -0,0 +1,4 @@
+default-cache-ttl 999999999
+max-cache-ttl 999999999
+allow-preset-passphrase
+pinentry-program /usr/pkg/bin/pinentry
diff --git a/gnupg/gpg.conf b/gnupg/gpg.conf
new file mode 100755
index 0000000..890c5f2
--- /dev/null
+++ b/gnupg/gpg.conf
@@ -0,0 +1 @@
+no-default-keyring
diff --git a/kshrc b/kshrc
index da9c5a0..b013f1d 100644
--- a/kshrc
+++ b/kshrc
@@ -1,19 +1,17 @@
-export GPG_TTY=/dev/pts/0
-export HISTFILE="$HOME/.history"
-alias grep="ugrep --exclude-dir=node-modules --exclude-dir=_build"
+#export HISTFILE="$HOME/.history"
+#alias grep="ugrep --exclude-dir=node-modules --exclude-dir=_build"
alias e="$EDITOR"
+alias go=go122
alias g="git"
-#alias sdf="sshpass -p $(pass sdf) ssh mccd@tty.sdf.org"
+alias grep="ugrep"
+alias tldr="NO_COLOR=1 tldr"
+alias fd="NO_COLOR=1 fdfind"
alias de='eval "$(direnv export bash)"'
alias f-commit="fossil commit && fossil git export"
alias jrnl='stitch -t :journal:'
-
-PS1='${PWD##*/} '
+alias bat='envstat -d acpibat0 | grep 'charge:' | awk "{print $6}"'
set -o emacs
-if [ -x "$(command -v opam)" ]; then
- eval $(opam env)
-fi
+PS1='${PWD##*/} '
-date
-apm
+eval "$(zoxide init posix --hook prompt)"
diff --git a/local/bin/capture b/local/bin/capture
new file mode 100755
index 0000000..c4cd844
--- /dev/null
+++ b/local/bin/capture
@@ -0,0 +1,16 @@
+#!/bin/sh
+
+DATE=$(date +'%y-%m-%d.%H:%M.%S')
+CAPTURE_FILE="/tmp/capture-$DATE"
+echo $DATE
+JRNL="$STITCH_DIRECTORY/$DATE.org"
+echo '* ' > $CAPTURE_FILE
+$EDITOR $CAPTURE_FILE +1
+if grep -q '^\*\s*$' $CAPTURE_FILE
+then
+ echo "Empty capture; ignoring"
+else
+ echo "Storing capture in $JRNL"
+ cat $CAPTURE_FILE > $JRNL
+fi
+
diff --git a/local/bin/todo b/local/bin/todo
new file mode 100755
index 0000000..f0a02b8
--- /dev/null
+++ b/local/bin/todo
@@ -0,0 +1,14 @@
+#!/bin/sh
+
+TODO_BASE='* TODO '
+JRNL="$STITCH_DIRECTORY/$(date +'%y-%m-%d.%H:%M.%S').org"
+echo '* TODO ' > /tmp/capture
+$EDITOR /tmp/capture +1
+if grep -q '^\* TODO\s*$' /tmp/capture
+then
+ echo "Empty capture"
+else
+ echo "Storing capture in $JRNL"
+ cat /tmp/capture > $JRNL
+fi
+
diff --git a/local/share/fonts/IosevkaSS13-Bold.ttf b/local/share/fonts/IosevkaSS13-Bold.ttf
new file mode 100644
index 0000000..5adc20b
--- /dev/null
+++ b/local/share/fonts/IosevkaSS13-Bold.ttf
Binary files differ
diff --git a/local/share/fonts/IosevkaSS13-BoldItalic.ttf b/local/share/fonts/IosevkaSS13-BoldItalic.ttf
new file mode 100644
index 0000000..65e4275
--- /dev/null
+++ b/local/share/fonts/IosevkaSS13-BoldItalic.ttf
Binary files differ
diff --git a/local/share/fonts/IosevkaSS13-BoldOblique.ttf b/local/share/fonts/IosevkaSS13-BoldOblique.ttf
new file mode 100644
index 0000000..58750b2
--- /dev/null
+++ b/local/share/fonts/IosevkaSS13-BoldOblique.ttf
Binary files differ
diff --git a/local/share/fonts/IosevkaSS13-Extended.ttf b/local/share/fonts/IosevkaSS13-Extended.ttf
new file mode 100644
index 0000000..8bf150f
--- /dev/null
+++ b/local/share/fonts/IosevkaSS13-Extended.ttf
Binary files differ
diff --git a/local/share/fonts/IosevkaSS13-ExtendedBold.ttf b/local/share/fonts/IosevkaSS13-ExtendedBold.ttf
new file mode 100644
index 0000000..f23643d
--- /dev/null
+++ b/local/share/fonts/IosevkaSS13-ExtendedBold.ttf
Binary files differ
diff --git a/local/share/fonts/IosevkaSS13-ExtendedBoldItalic.ttf b/local/share/fonts/IosevkaSS13-ExtendedBoldItalic.ttf
new file mode 100644
index 0000000..61b9973
--- /dev/null
+++ b/local/share/fonts/IosevkaSS13-ExtendedBoldItalic.ttf
Binary files differ
diff --git a/local/share/fonts/IosevkaSS13-ExtendedBoldOblique.ttf b/local/share/fonts/IosevkaSS13-ExtendedBoldOblique.ttf
new file mode 100644
index 0000000..8657c09
--- /dev/null
+++ b/local/share/fonts/IosevkaSS13-ExtendedBoldOblique.ttf
Binary files differ
diff --git a/local/share/fonts/IosevkaSS13-ExtendedExtraBold.ttf b/local/share/fonts/IosevkaSS13-ExtendedExtraBold.ttf
new file mode 100644
index 0000000..80d2dc7
--- /dev/null
+++ b/local/share/fonts/IosevkaSS13-ExtendedExtraBold.ttf
Binary files differ
diff --git a/local/share/fonts/IosevkaSS13-ExtendedExtraBoldItalic.ttf b/local/share/fonts/IosevkaSS13-ExtendedExtraBoldItalic.ttf
new file mode 100644
index 0000000..b6645bf
--- /dev/null
+++ b/local/share/fonts/IosevkaSS13-ExtendedExtraBoldItalic.ttf
Binary files differ
diff --git a/local/share/fonts/IosevkaSS13-ExtendedExtraBoldOblique.ttf b/local/share/fonts/IosevkaSS13-ExtendedExtraBoldOblique.ttf
new file mode 100644
index 0000000..88f9585
--- /dev/null
+++ b/local/share/fonts/IosevkaSS13-ExtendedExtraBoldOblique.ttf
Binary files differ
diff --git a/local/share/fonts/IosevkaSS13-ExtendedExtraLight.ttf b/local/share/fonts/IosevkaSS13-ExtendedExtraLight.ttf
new file mode 100644
index 0000000..22a7abe
--- /dev/null
+++ b/local/share/fonts/IosevkaSS13-ExtendedExtraLight.ttf
Binary files differ
diff --git a/local/share/fonts/IosevkaSS13-ExtendedExtraLightItalic.ttf b/local/share/fonts/IosevkaSS13-ExtendedExtraLightItalic.ttf
new file mode 100644
index 0000000..8fb491e
--- /dev/null
+++ b/local/share/fonts/IosevkaSS13-ExtendedExtraLightItalic.ttf
Binary files differ
diff --git a/local/share/fonts/IosevkaSS13-ExtendedExtraLightOblique.ttf b/local/share/fonts/IosevkaSS13-ExtendedExtraLightOblique.ttf
new file mode 100644
index 0000000..bd84354
--- /dev/null
+++ b/local/share/fonts/IosevkaSS13-ExtendedExtraLightOblique.ttf
Binary files differ
diff --git a/local/share/fonts/IosevkaSS13-ExtendedHeavy.ttf b/local/share/fonts/IosevkaSS13-ExtendedHeavy.ttf
new file mode 100644
index 0000000..8cc72d2
--- /dev/null
+++ b/local/share/fonts/IosevkaSS13-ExtendedHeavy.ttf
Binary files differ
diff --git a/local/share/fonts/IosevkaSS13-ExtendedHeavyItalic.ttf b/local/share/fonts/IosevkaSS13-ExtendedHeavyItalic.ttf
new file mode 100644
index 0000000..137df73
--- /dev/null
+++ b/local/share/fonts/IosevkaSS13-ExtendedHeavyItalic.ttf
Binary files differ
diff --git a/local/share/fonts/IosevkaSS13-ExtendedHeavyOblique.ttf b/local/share/fonts/IosevkaSS13-ExtendedHeavyOblique.ttf
new file mode 100644
index 0000000..e6a0cbc
--- /dev/null
+++ b/local/share/fonts/IosevkaSS13-ExtendedHeavyOblique.ttf
Binary files differ
diff --git a/local/share/fonts/IosevkaSS13-ExtendedItalic.ttf b/local/share/fonts/IosevkaSS13-ExtendedItalic.ttf
new file mode 100644
index 0000000..f15527d
--- /dev/null
+++ b/local/share/fonts/IosevkaSS13-ExtendedItalic.ttf
Binary files differ
diff --git a/local/share/fonts/IosevkaSS13-ExtendedLight.ttf b/local/share/fonts/IosevkaSS13-ExtendedLight.ttf
new file mode 100644
index 0000000..8694293
--- /dev/null
+++ b/local/share/fonts/IosevkaSS13-ExtendedLight.ttf
Binary files differ
diff --git a/local/share/fonts/IosevkaSS13-ExtendedLightItalic.ttf b/local/share/fonts/IosevkaSS13-ExtendedLightItalic.ttf
new file mode 100644
index 0000000..ac366b5
--- /dev/null
+++ b/local/share/fonts/IosevkaSS13-ExtendedLightItalic.ttf
Binary files differ
diff --git a/local/share/fonts/IosevkaSS13-ExtendedLightOblique.ttf b/local/share/fonts/IosevkaSS13-ExtendedLightOblique.ttf
new file mode 100644
index 0000000..5a90087
--- /dev/null
+++ b/local/share/fonts/IosevkaSS13-ExtendedLightOblique.ttf
Binary files differ
diff --git a/local/share/fonts/IosevkaSS13-ExtendedMedium.ttf b/local/share/fonts/IosevkaSS13-ExtendedMedium.ttf
new file mode 100644
index 0000000..903fca8
--- /dev/null
+++ b/local/share/fonts/IosevkaSS13-ExtendedMedium.ttf
Binary files differ
diff --git a/local/share/fonts/IosevkaSS13-ExtendedMediumItalic.ttf b/local/share/fonts/IosevkaSS13-ExtendedMediumItalic.ttf
new file mode 100644
index 0000000..48208ea
--- /dev/null
+++ b/local/share/fonts/IosevkaSS13-ExtendedMediumItalic.ttf
Binary files differ
diff --git a/local/share/fonts/IosevkaSS13-ExtendedMediumOblique.ttf b/local/share/fonts/IosevkaSS13-ExtendedMediumOblique.ttf
new file mode 100644
index 0000000..a1e0f00
--- /dev/null
+++ b/local/share/fonts/IosevkaSS13-ExtendedMediumOblique.ttf
Binary files differ
diff --git a/local/share/fonts/IosevkaSS13-ExtendedOblique.ttf b/local/share/fonts/IosevkaSS13-ExtendedOblique.ttf
new file mode 100644
index 0000000..b92a407
--- /dev/null
+++ b/local/share/fonts/IosevkaSS13-ExtendedOblique.ttf
Binary files differ
diff --git a/local/share/fonts/IosevkaSS13-ExtendedSemiBold.ttf b/local/share/fonts/IosevkaSS13-ExtendedSemiBold.ttf
new file mode 100644
index 0000000..02c954f
--- /dev/null
+++ b/local/share/fonts/IosevkaSS13-ExtendedSemiBold.ttf
Binary files differ
diff --git a/local/share/fonts/IosevkaSS13-ExtendedSemiBoldItalic.ttf b/local/share/fonts/IosevkaSS13-ExtendedSemiBoldItalic.ttf
new file mode 100644
index 0000000..d3a8451
--- /dev/null
+++ b/local/share/fonts/IosevkaSS13-ExtendedSemiBoldItalic.ttf
Binary files differ
diff --git a/local/share/fonts/IosevkaSS13-ExtendedSemiBoldOblique.ttf b/local/share/fonts/IosevkaSS13-ExtendedSemiBoldOblique.ttf
new file mode 100644
index 0000000..1a1d2de
--- /dev/null
+++ b/local/share/fonts/IosevkaSS13-ExtendedSemiBoldOblique.ttf
Binary files differ
diff --git a/local/share/fonts/IosevkaSS13-ExtendedThin.ttf b/local/share/fonts/IosevkaSS13-ExtendedThin.ttf
new file mode 100644
index 0000000..9b294a9
--- /dev/null
+++ b/local/share/fonts/IosevkaSS13-ExtendedThin.ttf
Binary files differ
diff --git a/local/share/fonts/IosevkaSS13-ExtendedThinItalic.ttf b/local/share/fonts/IosevkaSS13-ExtendedThinItalic.ttf
new file mode 100644
index 0000000..e2a0c10
--- /dev/null
+++ b/local/share/fonts/IosevkaSS13-ExtendedThinItalic.ttf
Binary files differ
diff --git a/local/share/fonts/IosevkaSS13-ExtendedThinOblique.ttf b/local/share/fonts/IosevkaSS13-ExtendedThinOblique.ttf
new file mode 100644
index 0000000..b9f5ee2
--- /dev/null
+++ b/local/share/fonts/IosevkaSS13-ExtendedThinOblique.ttf
Binary files differ
diff --git a/local/share/fonts/IosevkaSS13-ExtraBold.ttf b/local/share/fonts/IosevkaSS13-ExtraBold.ttf
new file mode 100644
index 0000000..91bdf22
--- /dev/null
+++ b/local/share/fonts/IosevkaSS13-ExtraBold.ttf
Binary files differ
diff --git a/local/share/fonts/IosevkaSS13-ExtraBoldItalic.ttf b/local/share/fonts/IosevkaSS13-ExtraBoldItalic.ttf
new file mode 100644
index 0000000..df36e15
--- /dev/null
+++ b/local/share/fonts/IosevkaSS13-ExtraBoldItalic.ttf
Binary files differ
diff --git a/local/share/fonts/IosevkaSS13-ExtraBoldOblique.ttf b/local/share/fonts/IosevkaSS13-ExtraBoldOblique.ttf
new file mode 100644
index 0000000..4e6fa98
--- /dev/null
+++ b/local/share/fonts/IosevkaSS13-ExtraBoldOblique.ttf
Binary files differ
diff --git a/local/share/fonts/IosevkaSS13-ExtraLight.ttf b/local/share/fonts/IosevkaSS13-ExtraLight.ttf
new file mode 100644
index 0000000..d26599e
--- /dev/null
+++ b/local/share/fonts/IosevkaSS13-ExtraLight.ttf
Binary files differ
diff --git a/local/share/fonts/IosevkaSS13-ExtraLightItalic.ttf b/local/share/fonts/IosevkaSS13-ExtraLightItalic.ttf
new file mode 100644
index 0000000..d9856c1
--- /dev/null
+++ b/local/share/fonts/IosevkaSS13-ExtraLightItalic.ttf
Binary files differ
diff --git a/local/share/fonts/IosevkaSS13-ExtraLightOblique.ttf b/local/share/fonts/IosevkaSS13-ExtraLightOblique.ttf
new file mode 100644
index 0000000..1accf09
--- /dev/null
+++ b/local/share/fonts/IosevkaSS13-ExtraLightOblique.ttf
Binary files differ
diff --git a/local/share/fonts/IosevkaSS13-Heavy.ttf b/local/share/fonts/IosevkaSS13-Heavy.ttf
new file mode 100644
index 0000000..24ae757
--- /dev/null
+++ b/local/share/fonts/IosevkaSS13-Heavy.ttf
Binary files differ
diff --git a/local/share/fonts/IosevkaSS13-HeavyItalic.ttf b/local/share/fonts/IosevkaSS13-HeavyItalic.ttf
new file mode 100644
index 0000000..4bdb262
--- /dev/null
+++ b/local/share/fonts/IosevkaSS13-HeavyItalic.ttf
Binary files differ
diff --git a/local/share/fonts/IosevkaSS13-HeavyOblique.ttf b/local/share/fonts/IosevkaSS13-HeavyOblique.ttf
new file mode 100644
index 0000000..f31bb9b
--- /dev/null
+++ b/local/share/fonts/IosevkaSS13-HeavyOblique.ttf
Binary files differ
diff --git a/local/share/fonts/IosevkaSS13-Italic.ttf b/local/share/fonts/IosevkaSS13-Italic.ttf
new file mode 100644
index 0000000..b83c3ad
--- /dev/null
+++ b/local/share/fonts/IosevkaSS13-Italic.ttf
Binary files differ
diff --git a/local/share/fonts/IosevkaSS13-Light.ttf b/local/share/fonts/IosevkaSS13-Light.ttf
new file mode 100644
index 0000000..34d4918
--- /dev/null
+++ b/local/share/fonts/IosevkaSS13-Light.ttf
Binary files differ
diff --git a/local/share/fonts/IosevkaSS13-LightItalic.ttf b/local/share/fonts/IosevkaSS13-LightItalic.ttf
new file mode 100644
index 0000000..1d034fa
--- /dev/null
+++ b/local/share/fonts/IosevkaSS13-LightItalic.ttf
Binary files differ
diff --git a/local/share/fonts/IosevkaSS13-LightOblique.ttf b/local/share/fonts/IosevkaSS13-LightOblique.ttf
new file mode 100644
index 0000000..2c2f1aa
--- /dev/null
+++ b/local/share/fonts/IosevkaSS13-LightOblique.ttf
Binary files differ
diff --git a/local/share/fonts/IosevkaSS13-Medium.ttf b/local/share/fonts/IosevkaSS13-Medium.ttf
new file mode 100644
index 0000000..25fa6e1
--- /dev/null
+++ b/local/share/fonts/IosevkaSS13-Medium.ttf
Binary files differ
diff --git a/local/share/fonts/IosevkaSS13-MediumItalic.ttf b/local/share/fonts/IosevkaSS13-MediumItalic.ttf
new file mode 100644
index 0000000..851ac47
--- /dev/null
+++ b/local/share/fonts/IosevkaSS13-MediumItalic.ttf
Binary files differ
diff --git a/local/share/fonts/IosevkaSS13-MediumOblique.ttf b/local/share/fonts/IosevkaSS13-MediumOblique.ttf
new file mode 100644
index 0000000..6fb550d
--- /dev/null
+++ b/local/share/fonts/IosevkaSS13-MediumOblique.ttf
Binary files differ
diff --git a/local/share/fonts/IosevkaSS13-Oblique.ttf b/local/share/fonts/IosevkaSS13-Oblique.ttf
new file mode 100644
index 0000000..fbc37e1
--- /dev/null
+++ b/local/share/fonts/IosevkaSS13-Oblique.ttf
Binary files differ
diff --git a/local/share/fonts/IosevkaSS13-Regular.ttf b/local/share/fonts/IosevkaSS13-Regular.ttf
new file mode 100644
index 0000000..88baaeb
--- /dev/null
+++ b/local/share/fonts/IosevkaSS13-Regular.ttf
Binary files differ
diff --git a/local/share/fonts/IosevkaSS13-SemiBold.ttf b/local/share/fonts/IosevkaSS13-SemiBold.ttf
new file mode 100644
index 0000000..6f22260
--- /dev/null
+++ b/local/share/fonts/IosevkaSS13-SemiBold.ttf
Binary files differ
diff --git a/local/share/fonts/IosevkaSS13-SemiBoldItalic.ttf b/local/share/fonts/IosevkaSS13-SemiBoldItalic.ttf
new file mode 100644
index 0000000..c321a3d
--- /dev/null
+++ b/local/share/fonts/IosevkaSS13-SemiBoldItalic.ttf
Binary files differ
diff --git a/local/share/fonts/IosevkaSS13-SemiBoldOblique.ttf b/local/share/fonts/IosevkaSS13-SemiBoldOblique.ttf
new file mode 100644
index 0000000..7c43381
--- /dev/null
+++ b/local/share/fonts/IosevkaSS13-SemiBoldOblique.ttf
Binary files differ
diff --git a/local/share/fonts/IosevkaSS13-Thin.ttf b/local/share/fonts/IosevkaSS13-Thin.ttf
new file mode 100644
index 0000000..d9d0c5f
--- /dev/null
+++ b/local/share/fonts/IosevkaSS13-Thin.ttf
Binary files differ
diff --git a/local/share/fonts/IosevkaSS13-ThinItalic.ttf b/local/share/fonts/IosevkaSS13-ThinItalic.ttf
new file mode 100644
index 0000000..1c1b60c
--- /dev/null
+++ b/local/share/fonts/IosevkaSS13-ThinItalic.ttf
Binary files differ
diff --git a/local/share/fonts/IosevkaSS13-ThinOblique.ttf b/local/share/fonts/IosevkaSS13-ThinOblique.ttf
new file mode 100644
index 0000000..3460e86
--- /dev/null
+++ b/local/share/fonts/IosevkaSS13-ThinOblique.ttf
Binary files differ
diff --git a/profile b/profile
index 88af8f3..f3c46fb 100644
--- a/profile
+++ b/profile
@@ -1,24 +1,42 @@
-# $OpenBSD: dot.profile,v 1.8 2022/08/10 07:40:37 tb Exp $
-#
-# sh/ksh initialization
+PATH=$HOME/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/X11R7/bin:/usr/pkg/bin
+
+PATH=${PATH}:/usr/pkg/sbin:/usr/games:/usr/local/bin:/usr/local/sbin
+PATH=${PATH}:/home/mccd/go/bin:/home/mccd/.local/bin
+XCURSOR_PATH="/usr/pkg/share/icons"
-PATH=$HOME/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/X11R6/bin:/usr/local/bin:/usr/local/sbin
export PATH HOME TERM
+export LANG="en_US.UTF-8"
+export XTERM_LOCALE=en_US.UTF-8
+export LC_ALL=en_US.UTF-8
+export XDG_CONFIG_HOME=/home/mccd/.config
export EDITOR="vim"
export GDK_DPI_SCALE="1.5"
export GDK_SCALE="1.5"
export XCURSOR_SIZE="32"
+export XCURSOR_PATH="/usr/pkg/share/icons"
+# So when you hover the desktop, it still uses Adwaita
+export XCURSOR_THEME="Adwaita"
export PF_INFO="ascii title os editor shell wm"
export PF_ALIGN="5"
export PF_COLOR="0"
export MOZ_ACCELERATED=1
+export GSETTINGS_SCHEMA_DIR=/usr/pkg/share/glib-2.0/schemas
-test -r /home/mccd/.opam/opam-init/init.sh && . /home/mccd/.opam/opam-init/init.sh > /dev/null 2> /dev/null || true
-export PATH=${PATH}:~/.local/bin
-export XDG_DATA_DIRS=${XDG_DATA_DIRS}:~/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share
+
+#test -r /home/mccd/.opam/opam-init/init.sh && . /home/mccd/.opam/opam-init/init.sh > /dev/null 2> /dev/null || true
+export XDG_DATA_DIRS=${XDG_DATA_DIRS}:~/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/pkg/share:/usr/local/share
export ENV=$HOME/.kshrc
export HISTSIZE=65535
export HISTFILE=$HOME/.history
export STITCH_DIRECTORY=/home/mccd/notes
export STITCH_GREP_CMD=ugrep
+
+if [ -e /home/mccd/.nix-profile/etc/profile.d/nix.sh ]; then . /home/mccd/.nix-profile/etc/profile.d/nix.sh; fi # added by Nix installer
+
+if [ -z $DISPLAY ] && [ $(tty) = /dev/tty1 ]; then
+ exec startx
+fi
+
+# opam configuration
+test -r /home/mccd/.opam/opam-init/init.sh && . /home/mccd/.opam/opam-init/init.sh > /dev/null 2> /dev/null || true
diff --git a/vim/pack/downloads/opt/snippets/snippets.vim b/vim/pack/downloads/opt/snippets/snippets.vim
new file mode 100644
index 0000000..d4c6e4e
--- /dev/null
+++ b/vim/pack/downloads/opt/snippets/snippets.vim
@@ -0,0 +1,14 @@
+
+autocmd FileType go
+ \ :iabbrev <buffer> err@ if err != nil {}<Left><Enter><Left>
+
+autocmd FileType go
+ \ :iabbrev <buffer> hand@ <Backspace><Esc>^ifunc <Esc>A(c *gin.Context) {
+
+autocmd FileType go
+ \ :iabbrev <buffer> fat@ log.Fatal(" %v", err)<Esc>F%i<Left>
+
+:autocmd FileType php,html.twig,html,javascript,typescript,vue,go
+ \ :iabbrev <buffer> if@ if() {<CR>}<Esc>%<Left><Left>i
+
+
diff --git a/vimrc b/vimrc
new file mode 100644
index 0000000..0431ea6
--- /dev/null
+++ b/vimrc
@@ -0,0 +1,196 @@
+packadd snippets
+
+" General
+set ignorecase
+
+" Indentation
+set tabstop=8
+set shiftround
+set nobackup
+set autoindent
+set smartindent
+set cindent
+set backspace=2
+
+" Theme
+syntax on
+set background=light
+set rnu
+set termguicolors
+colorscheme quiet
+set incsearch
+set matchpairs+=<:>
+set t_Co=256
+hi Normal guifg=black guibg=#FEFFFA
+"hi Keyword ctermfg=black cterm=bold
+set tgc
+hi SpellBad term=reverse cterm=underline ctermfg=124 ctermbg=white
+hi SpellCap term=reverse cterm=underline ctermfg=25 ctermbg=white
+hi SpellRare term=reverse cterm=underline ctermfg=30 ctermbg=white
+hi SpellLocal term=reverse cterm=underline ctermfg=90 ctermbg=white
+
+" Cursor - switch between line and full
+let &t_SI = "\<Esc>[6 q"
+let &t_SR = "\<Esc>[4 q"
+let &t_EI = "\<Esc>[2 q"
+
+" Pesky swap
+set backupdir=~/.vim/backup//
+set directory=~/.vim/swap//
+set undodir=~/.vim/undo//
+
+" Netrw
+let g:netrw_keepdir = 0
+let g:netrw_banner = 0
+let g:netrw_localcopydircmd = 'cp -r'
+hi! link netrwMarkFile Search
+nnoremap - :Explore<CR>
+
+" LSP
+packadd lsp
+
+if exists('g:loaded_lsp')
+ call LspOptionsSet(#{
+ \ aleSupport: v:false,
+ \ autoComplete: v:false,
+ \ autoHighlight: v:false,
+ \ autoHighlightDiags: v:true,
+ \ autoPopulateDiags: v:true,
+ \ completionMatcher: 'case',
+ \ completionMatcherValue: 1,
+ \ diagSignErrorText: 'E',
+ \ diagSignHintText: 'H',
+ \ diagSignInfoText: 'I',
+ \ diagSignWarningText: 'W',
+ \ echoSignature: v:false,
+ \ hideDisabledCodeActions: v:false,
+ \ highlightDiagInline: v:true,
+ \ hoverInPreview: v:false,
+ \ ignoreMissingServer: v:true,
+ \ keepFocusInDiags: v:true,
+ \ keepFocusInReferences: v:true,
+ \ completionTextEdit: v:true,
+ \ diagVirtualTextAlign: 'above',
+ \ diagVirtualTextWrap: 'default',
+ \ noNewlineInCompletion: v:false,
+ \ omniComplete: v:null,
+ \ outlineOnRight: v:true,
+ \ outlineWinSize: 20,
+ \ semanticHighlight: v:false,
+ \ showDiagInBalloon: v:true,
+ \ showDiagInPopup: v:true,
+ \ showDiagOnStatusLine: v:false,
+ \ showDiagWithSign: v:false,
+ \ showDiagWithVirtualText: v:false,
+ \ showInlayHints: v:false,
+ \ showSignature: v:true,
+ \ snippetSupport: v:false,
+ \ ultisnipsSupport: v:false,
+ \ useBufferCompletion: v:false,
+ \ usePopupInCodeAction: v:false,
+ \ useQuickfixForLocations: v:false,
+ \ vsnipSupport: v:false,
+ \ bufferCompletionTimeout: 100,
+ \ customCompletionKinds: v:false,
+ \ completionKinds: {},
+ \ filterCompletionDuplicates: v:false,
+ \ })
+end
+
+" Yaml
+autocmd Filetype yaml setlocal tabstop=2
+autocmd Filetype yaml setlocal shiftwidth=2
+autocmd Filetype yaml setlocal expandtab
+autocmd Filetype yaml setlocal smarttab
+
+
+" Ocaml
+if exists('g:loaded_lsp')
+ call LspAddServer([#{
+ \ name: 'caml',
+ \ filetype: ['ocaml'],
+ \ path: 'ocamllsp',
+ \ args: [],
+ \ syncInit: v:true
+ \ }])
+end
+autocmd Filetype ocaml autocmd BufWritePre <buffer> :LspFormat
+autocmd Filetype ocaml setlocal tabstop=2
+autocmd Filetype ocaml setlocal shiftwidth=2
+autocmd Filetype ocaml setlocal expandtab
+autocmd Filetype ocaml setlocal smarttab
+
+" Go
+if exists('g:loaded_lsp')
+ call LspAddServer([#{
+ \ name: 'golang',
+ \ filetype: ['go', 'gomod', 'gowork', 'gohtml'],
+ \ path: 'gopls',
+ \ args: ['serve'],
+ \ syncInit: v:true
+ \ }])
+end
+
+autocmd Filetype go set makeprg=go\ build
+"autocmd Filetype go autocmd BufWritePre <buffer> :LspFormat
+
+au BufRead,BufNewFile *.tmpl set filetype=gohtml
+autocmd Filetype gohtml setlocal tabstop=2
+" autocmd Filetype gohtml setlocal formatprg=djlint\ --profile=golang\ --reformat\ -
+
+" Nix
+if exists('g:loaded_lsp')
+ call LspAddServer([#{
+ \ name: 'nix',
+ \ filetype: ['nix'],
+ \ path: 'nixd',
+ \ args: [],
+ \ syncInit: v:true
+ \ }])
+end
+"autocmd Filetype nix autocmd BufWritePre <buffer> :LspFormat
+
+" Markdown
+if exists('g:loaded_lsp')
+ call LspAddServer([#{
+ \ name: 'marksman',
+ \ filetype: ['markdown'],
+ \ path: 'marksman',
+ \ args: ['server'],
+ \ syncInit: v:true }])
+end
+
+
+autocmd Filetype markdown setlocal spell
+
+
+
+" Keybindings
+let mapleader=" "
+noremap , :
+noremap <leader>e :e **/
+noremap <silent> gd mB:LspGotoDefinition<Enter>
+noremap <silent> ]d :LspDiagNext<Enter>
+noremap <silent> [d :LspDiagPrev<Enter>
+noremap <silent> gs mB:LspDocumentSymbol<Enter>
+noremap <silent> gr mB:LspGotoImpl<Enter>
+noremap <leader>ca :LspCodeAction<Enter>
+noremap <leader>cr :LspRename<Enter>
+noremap <leader>m :make<Enter>
+noremap <silent> <leader>k :LspDiagCurrent<Enter>
+noremap <silent> K :LspHover<Enter>
+nnoremap <leader>l :ls<CR>:b<space>
+nnoremap <silent> <leader>= :LspFormat<Enter>
+
+" Spell
+au BufEnter *.org set spell
+
+" Wildmenu
+set wildmenu
+set wildmode=longest:full,lastused
+set wildignore=_build/**,release/**,node_modules/**
+set wildoptions+=fuzzy
+
+" Grep
+set grepprg=git\ grep\ -nH
+
diff --git a/xenodm/Xresources b/xdm/Xresources
index acec2cc..aa8ffc8 100644
--- a/xenodm/Xresources
+++ b/xdm/Xresources
@@ -24,15 +24,15 @@ xlogin*namePrompt: Login:
xlogin*fail: Login incorrect
#if WIDTH > 800
-xlogin*greetFace: IosevkaAile-22:bold:italic:dpi=75
+xlogin*greetFace: Iosevka Aile-22:bold:italic:dpi=75
xlogin*face: IosevkaAile-16:dpi=75
xlogin*promptFace: IosevkaAile-16:bold:dpi=75
xlogin*failFace: IosevkaAile-16:bold:dpi=75
#else
-xlogin*greetFace: IosevkaAile-18:bold:italic:dpi=75
-xlogin*face: IosevkaAile-12:dpi=75
-xlogin*promptFace: IosevkaAile-12:bold:dpi=75
-xlogin*failFace: IosevkaAile-12:bold:dpi=75
+xlogin*greetFace: Iosevka Aile-18:bold:italic:dpi=75
+xlogin*face: Iosevka Aile-12:dpi=75
+xlogin*promptFace: Iosevka Aile-12:bold:dpi=75
+xlogin*failFace: Iosevka Aile-12:bold:dpi=75
#endif
#if !(defined(bpp1) || defined(bpp4) || defined(bpp8) || defined(bpp15))
diff --git a/xdm/Xsetup_0 b/xdm/Xsetup_0
new file mode 100755
index 0000000..4b317dc
--- /dev/null
+++ b/xdm/Xsetup_0
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+/usr/X11R7/bin/xsetroot -solid \#FFFFFF
+/usr/X11R7/bin/setxkbmap -layout us -variant colemak
+/usr/X11R7/bin/xset fp+ /usr/local/share/fonts
diff --git a/xenodm/Xsetup_0 b/xenodm/Xsetup_0
deleted file mode 100755
index ca12044..0000000
--- a/xenodm/Xsetup_0
+++ /dev/null
@@ -1,19 +0,0 @@
-#!/bin/sh
-# $OpenBSD: Xsetup_0.in,v 1.1 2021/08/30 15:38:27 matthieu Exp $
-
-prefix="/usr/X11R6"
-exec_prefix="${prefix}"
-
-${exec_prefix}/bin/xsetroot -solid \#FFFFFF
-
-/usr/X11R6/bin/xset fp+ /usr/local/share/fonts/iosevka
-
-# install package openbsd-backgrounds
-# then uncomment:
-#
-# if test -x /usr/local/bin/openbsd-wallpaper
-# then
-# /usr/local/bin/openbsd-wallpaper
-# fi
-
-# sxpm OpenBSD.xpm &
diff --git a/xsession b/xsession
index 614d452..fea1fbc 100755
--- a/xsession
+++ b/xsession
@@ -1,14 +1,14 @@
-. ~/.profile
+. /home/mccd/.profile
xrdb -load ~/.Xresources &
-xsetroot -solid '#484C54' &
-#xclock -digital -geometry +2250+1400 -face "Ttyp0:pixelsize=24:antialias=false:autohint=false" &
+xsetroot -solid '#EEEEEE' &
+xclock -digital -geometry +7+1400 -face "Iosevka Aile:pixelsize=18:style=Semibold Italic" -bg \#EEEEEE -fg \#444444 -strftime "%a %d %b %H:%M [Unix Machine]" &
gsettings set org.gnome.desktop.interface document-font-name 'Iosevka Aile' &
gsettings set org.gnome.desktop.interface font-name 'Iosevka Aile' &
gsettings set org.gnome.desktop.interface cursor-size 32 &
gsettings set org.gnome.desktop.interface cursor-theme Adwaita &
-ulimit -Sc 0 &
-xinput set-prop "/dev/wsmouse" "WS Pointer Wheel Emulation" 1 &
-xinput set-prop "/dev/wsmouse" "WS Pointer Wheel Emulation Button" 2 &
-xinput set-prop "/dev/wsmouse" "WS Pointer Wheel Emulation Axes" 6 7 4 5 &
-setxkbmap -layout us -variant colemak -option "caps:capslock" &
+#xinput set-prop "/dev/wsmouse" "WS Pointer Wheel Emulation" 1 &
+#xinput set-prop "/dev/wsmouse" "WS Pointer Wheel Emulation Button" 2 &
+#xinput set-prop "/dev/wsmouse" "WS Pointer Wheel Emulation Axes" 6 7 4 5 &
+xinput set-prop 6 271 0.3 & #Speed up cursor
+setxkbmap -layout us -variant colemak & # -option "caps:capslock" &
dbus-run-session cwm