more dotfiles

This commit is contained in:
Jason Swank 2023-05-18 23:01:50 -04:00
parent ef72ad61bd
commit 3298229166
30 changed files with 1290 additions and 0 deletions

21
LICENSE Normal file
View File

@ -0,0 +1,21 @@
MIT License
Copyright (c) 2023 Jason Swank
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

209
i3/.config/i3/config Normal file
View File

@ -0,0 +1,209 @@
# i3 config file (v4)
#
# Please see http://i3wm.org/docs/userguide.html for a complete reference!
set $mod Mod4
workspace_layout tabbed
new_window pixel 1
hide_edge_borders both
# colors
# class border bg text
#client.focused #39788a #39788a #c6c6c6
client.focused #002b36 #002b36 #c6c6c6
# Font for window titles. Will also be used by the bar unless a different font
# is used in the bar {} block below.
# This font is widely installed, provides lots of unicode glyphs, right-to-left
# text rendering and scalability on retina/hidpi displays (thanks to pango).
font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1
#font pango:DejaVu Sans Mono 8
# Before i3 v4.8, we used to recommend this one as the default:
# font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1
# The font above is very space-efficient, that is, it looks good, sharp and
# clear in small sizes. However, its unicode glyph coverage is limited, the old
# X core fonts rendering does not support right-to-left and this being a bitmap
# font, it doesnt scale on retina/hidpi displays.
# Use Mouse+$mod to drag floating windows to their wanted position
floating_modifier $mod
# start a terminal
bindsym $mod+Return exec i3-sensible-terminal
# kill focused window
bindsym $mod+Shift+q kill
# start dmenu (a program launcher)
bindsym $mod+space exec dmenu_run
# There also is the (new) i3-dmenu-desktop which only displays applications
# shipping a .desktop file. It is a wrapper around dmenu, so you need that
# installed.
# bindsym $mod+d exec --no-startup-id i3-dmenu-desktop
# change focus
bindsym $mod+h focus left
bindsym $mod+j focus down
bindsym $mod+k focus up
bindsym $mod+l focus right
bindsym $mod+Tab focus right
bindsym $mod+Shift+Tab focus left
# alternatively, you can use the cursor keys:
bindsym $mod+Left focus left
bindsym $mod+Down focus down
bindsym $mod+Up focus up
bindsym $mod+Right focus right
# move focused window
bindsym $mod+Shift+h move left
bindsym $mod+Shift+j move down
bindsym $mod+Shift+k move up
bindsym $mod+Shift+l move right
# alternatively, you can use the cursor keys:
bindsym $mod+Shift+Left move left
bindsym $mod+Shift+Down move down
bindsym $mod+Shift+Up move up
bindsym $mod+Shift+Right move right
# split in horizontal orientation
bindsym $mod+b split horizontal
# split in vertical orientation
bindsym $mod+v split vertical
# enter fullscreen mode for the focused container
bindsym $mod+f fullscreen
# change container layout (stacked, tabbed, toggle split)
bindsym $mod+s layout stacking
bindsym $mod+w layout tabbed
bindsym $mod+e layout toggle split
# toggle tiling / floating
bindsym $mod+Shift+space floating toggle
# change focus between tiling / floating windows
bindsym $mod+t focus mode_toggle
# focus the parent container
bindsym $mod+a focus parent
# focus the child container
#bindsym $mod+d focus child
# switch to workspace
bindsym $mod+1 workspace 1
bindsym $mod+2 workspace 2
bindsym $mod+3 workspace 3
bindsym $mod+4 workspace 4
bindsym $mod+5 workspace 5
bindsym $mod+6 workspace 6
bindsym $mod+7 workspace 7
bindsym $mod+8 workspace 8
bindsym $mod+9 workspace 9
bindsym $mod+0 workspace 10
# move focused container to workspace
bindsym $mod+Shift+1 move container to workspace 1
bindsym $mod+Shift+2 move container to workspace 2
bindsym $mod+Shift+3 move container to workspace 3
bindsym $mod+Shift+4 move container to workspace 4
bindsym $mod+Shift+5 move container to workspace 5
bindsym $mod+Shift+6 move container to workspace 6
bindsym $mod+Shift+7 move container to workspace 7
bindsym $mod+Shift+8 move container to workspace 8
bindsym $mod+Shift+9 move container to workspace 9
bindsym $mod+Shift+0 move container to workspace 10
# reload the configuration file
bindsym $mod+Shift+c reload
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
bindsym $mod+Shift+r restart
# exit i3 (logs you out of your X session)
#bindsym $mod+Shift+Escape exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -b 'Yes, exit i3' 'i3-msg exit'"
bindsym $mod+Shift+Escape exit
# resize window (you can also use the mouse for that)
mode "resize" {
# These bindings trigger as soon as you enter the resize mode
# Pressing left will shrink the windows width.
# Pressing right will grow the windows width.
# Pressing up will shrink the windows height.
# Pressing down will grow the windows height.
bindsym j resize shrink width 10 px or 10 ppt
bindsym k resize grow height 10 px or 10 ppt
bindsym l resize shrink height 10 px or 10 ppt
bindsym semicolon resize grow width 10 px or 10 ppt
# same bindings, but for the arrow keys
bindsym Left resize shrink width 10 px or 10 ppt
bindsym Down resize grow height 10 px or 10 ppt
bindsym Up resize shrink height 10 px or 10 ppt
bindsym Right resize grow width 10 px or 10 ppt
# back to normal: Enter or Escape
bindsym Return mode "default"
bindsym Escape mode "default"
}
bindsym $mod+r mode "resize"
# Start i3bar to display a workspace bar (plus the system information i3status
# finds out, if available)
bar {
tray_output LVDS
mode hide
status_command i3status
colors {
statusline #c6c6c6
background #073642
active_workspace #b58900 #b58900 #002b36
focused_workspace #b58900 #b58900 #002b36
inactive_workspace #073642 #073642 #586e75
}
}
# Review the lines below and append to ~/.config/.i3/config
## Volume control
# Path to volume control, without trailing slash
set $volumepath /usr/bin/i3-volume
# Command for the status line (used with -t, requires -u)
# ie: i3blocks, i3status
set $statuscmd i3status
# Signal used to update the status line (used with -u, requires -t)
# i3blocks uses SIGRTMIN+10 by default
# i3status uses SIGUSR1 by default
set $statussig SIGUSR1
# Amount to increase/decrease volume as a percentage (used with -i, -d)
set $volumestep 5
# pulseaudio-utils settings
#
# Symbolic name for sink (numeric index not supported) (used with -s $sinkname)
# Recommended: comment out this setting and omit the -s option to use default sink
# List sink names: pacmd list-sinks | awk -F "[<>]" '/^\s+name: <.*>/{print $2}'
#set $sinkname alsa_output.pci-0000_00_1b.0.analog-stereo
# Using pulseaudio-utils (append "-s $sinkname" without quotes to override default sink)
#bindsym XF86AudioRaiseVolume exec $volumepath up 10
bindsym Scroll_Lock exec $volumepath up 10
#bindsym Scroll_Lock exec $volumepath -np -i $volumestep -t $statuscmd -u $statussig up 10
#bindsym XF86AudioLowerVolume exec $volumepath down 10
bindsym Print exec $volumepath down 10
#bindsym Print exec $volumepath -np -d $volumestep -t $statuscmd -u $statussig down 10
#bindsym XF86AudioMute exec $volumepath -mn -t $statuscmd -u $statussig mute
bindsym Pause exec $volumepath -mn -t $statuscmd -u $statussig mute
bindsym F10 exec mpc toggle

View File

@ -0,0 +1,54 @@
general {
colors = true
interval = 5
}
#order = "ipv6"
#order += "disk /"
#order += "run_watch DHCP"
#order += "run_watch VPN"
#order += "wireless wlan0"
#order += "ethernet eth0"
order = "battery 1"
order += "cpu_temperature 0"
order += "load"
order += "time"
wireless wlan0 {
format_up = "W: (%quality at %essid) %ip"
format_down = "W: down"
}
ethernet eth0 {
# if you use %speed, i3status requires root privileges
format_up = "E: %ip (%speed)"
format_down = "E: down"
}
battery 1 {
format = "%status %percentage %remaining"
}
run_watch DHCP {
pidfile = "/var/run/dhclient*.pid"
}
run_watch VPN {
pidfile = "/var/run/vpnc/pid"
}
time {
format = "%Y-%m-%d %H:%M:%S"
}
load {
format = "%1min"
}
cpu_temperature 0 {
format = "T: %degrees °C"
}
disk "/" {
format = "%free"
}

3
mpd/.config/mpd/.gitignore vendored Normal file
View File

@ -0,0 +1,3 @@
socket
mpdstate
mpd.pid

407
mpd/.config/mpd/mpd.conf Normal file
View File

@ -0,0 +1,407 @@
# An example configuration file for MPD
# See the mpd.conf man page for a more detailed description of each parameter.
# Files and directories #######################################################
#
# This setting controls the top directory which MPD will search to discover the
# available audio files and add them to the daemon's online database. This
# setting defaults to the XDG directory, otherwise the music directory will be
# be disabled and audio files will only be accepted over ipc socket (using
# file:// protocol) or streaming files over an accepted protocol.
#
music_directory "/home/jswank/music"
#
# This setting sets the MPD internal playlist directory. The purpose of this
# directory is storage for playlists created by MPD. The server will use
# playlist files not created by the server but only if they are in the MPD
# format. This setting defaults to playlist saving being disabled.
#
playlist_directory "/home/jswank/.mpd/playlists"
#
# This setting sets the location of the MPD database. This file is used to
# load the database at server start up and store the database while the
# server is not up. This setting defaults to disabled which will allow
# MPD to accept files over ipc socket (using file:// protocol) or streaming
# files over an accepted protocol.
#
db_file "/home/jswank/.mpd/mpd.db"
#
# These settings are the locations for the daemon log files for the daemon.
# These logs are great for troubleshooting, depending on your log_level
# settings.
#
# The special value "syslog" makes MPD use the local syslog daemon. This
# setting defaults to logging to syslog, otherwise logging is disabled.
#
#log_file "/home/jswank/.mpd/mpd.log"
#
# This setting sets the location of the file which stores the process ID
# for use of mpd --kill and some init scripts. This setting is disabled by
# default and the pid file will not be stored.
#
pid_file "/home/jswank/.mpd/mpd.pid"
#
# This setting sets the location of the file which contains information about
# most variables to get MPD back into the same general shape it was in before
# it was brought down. This setting is disabled by default and the server
# state will be reset on server start up.
#
state_file "/home/jswank/.mpd/mpdstate"
#
# The location of the sticker database. This is a database which
# manages dynamic information attached to songs.
#
sticker_file "/home/jswank/.mpd/sticker.sql"
#
###############################################################################
# General music daemon options ################################################
#
# This setting specifies the user that MPD will run as. MPD should never run as
# root and you may use this setting to make MPD change its user ID after
# initialization. This setting is disabled by default and MPD is run as the
# current user.
#
#user "mpd"
#
# This setting specifies the group that MPD will run as. If not specified
# primary group of user specified with "user" setting will be used (if set).
# This is useful if MPD needs to be a member of group such as "audio" to
# have permission to use sound card.
#
#group "nogroup"
#
# This setting sets the address for the daemon to listen on. Careful attention
# should be paid if this is assigned to anything other then the default, any.
# This setting can deny access to control of the daemon.
#
# For network
bind_to_address "127.0.0.1"
#
# And for Unix Socket
bind_to_address "/home/jswank/.mpd/socket"
#
# This setting is the TCP port that is desired for the daemon to get assigned
# to.
#
port "6600"
#
# This setting controls the type of information which is logged. Available
# setting arguments are "default", "secure" or "verbose". The "verbose" setting
# argument is recommended for troubleshooting, though can quickly stretch
# available resources on limited hardware storage.
#
#log_level "default"
#
# If you have a problem with your MP3s ending abruptly it is recommended that
# you set this argument to "no" to attempt to fix the problem. If this solves
# the problem, it is highly recommended to fix the MP3 files with vbrfix
# (available from <http://www.willwap.co.uk/Programs/vbrfix.php>), at which
# point gapless MP3 playback can be enabled.
#
#gapless_mp3_playback "yes"
#
# This setting enables MPD to create playlists in a format usable by other
# music players.
#
#save_absolute_paths_in_playlists "no"
#
# This setting defines a list of tag types that will be extracted during the
# audio file discovery process. Optionally, 'comment' can be added to this
# list.
#
#metadata_to_use "artist,album,title,track,name,genre,date,composer,performer,disc"
#
# This setting enables automatic update of MPD's database when files in
# music_directory are changed.
#
#auto_update "yes"
#
# Limit the depth of the directories being watched, 0 means only watch
# the music directory itself. There is no limit by default.
#
#auto_update_depth "3"
#
###############################################################################
# Symbolic link behavior ######################################################
#
# If this setting is set to "yes", MPD will discover audio files by following
# symbolic links outside of the configured music_directory.
#
#follow_outside_symlinks "yes"
#
# If this setting is set to "yes", MPD will discover audio files by following
# symbolic links inside of the configured music_directory.
#
#follow_inside_symlinks "yes"
#
###############################################################################
# Zeroconf / Avahi Service Discovery ##########################################
#
# If this setting is set to "yes", service information will be published with
# Zeroconf / Avahi.
#
#zeroconf_enabled "yes"
#
# The argument to this setting will be the Zeroconf / Avahi unique name for
# this MPD server on the network.
#
#zeroconf_name "Music Player"
#
###############################################################################
# Permissions #################################################################
#
# If this setting is set, MPD will require password authorization. The password
# can setting can be specified multiple times for different password profiles.
#
#password "password@read,add,control,admin"
#
# This setting specifies the permissions a user has who has not yet logged in.
#
#default_permissions "read,add,control,admin"
#
###############################################################################
# Input #######################################################################
#
input {
plugin "curl"
# proxy "proxy.isp.com:8080"
# proxy_user "user"
# proxy_password "password"
}
#
###############################################################################
# Audio Output ################################################################
#
# MPD supports various audio output types, as well as playing through multiple
# audio outputs at the same time, through multiple audio_output settings
# blocks. Setting this block is optional, though the server will only attempt
# autodetection for one sound card.
#
# See <http://mpd.wikia.com/wiki/Configuration#Audio_Outputs> for examples of
# other audio outputs.
#
# An example of an ALSA output:
#
#audio_output {
# type "alsa"
# name "My ALSA Device"
# device "plug:default"
# format "44100:16:2" # optional
# mixer_type "hardware" # optional
# mixer_device "default" # optional
# mixer_control "PCM" # optional
# mixer_index "0" # optional
#}
#
# An example of an OSS output:
#
#audio_output {
# type "oss"
# name "My OSS Device"
## device "/dev/dsp" # optional
## format "44100:16:2" # optional
## mixer_type "hardware" # optional
## mixer_device "/dev/mixer" # optional
## mixer_control "PCM" # optional
#}
#
# An example of a shout output (for streaming to Icecast):
#
#audio_output {
# type "shout"
# encoding "ogg" # optional
# name "My Shout Stream"
# host "localhost"
# port "8000"
# mount "/mpd.ogg"
# password "hackme"
# quality "5.0"
# bitrate "128"
# format "44100:16:1"
## protocol "icecast2" # optional
## user "source" # optional
## description "My Stream Description" # optional
## genre "jazz" # optional
## public "no" # optional
## timeout "2" # optional
## mixer_type "software" # optional
#}
#
# An example of a recorder output:
#
#audio_output {
# type "recorder"
# name "My recorder"
# encoder "vorbis" # optional, vorbis or lame
# path "/var/lib/mpd/recorder/mpd.ogg"
## quality "5.0" # do not define if bitrate is defined
# bitrate "128" # do not define if quality is defined
# format "44100:16:1"
#}
#
# An example of a httpd output (built-in HTTP streaming server):
#
#audio_output {
# type "httpd"
# name "My Stream"
# encoder "lame" # optional, vorbis or lame
# port "2001"
# bind_to_address "0.0.0.0" # optional, IPv4 or IPv6
### quality "5.0" # do not define if bitrate is defined
# bitrate "256" # do not define if quality is defined
# format "44100:16:1"
# max_clients "1" # optional 0=no limit
#}
#
# An example of a pulseaudio output (streaming to a remote pulseaudio server)
#
#audio_output {
# type "pulse"
# name "My Pulse Output"
## server "remote_server" # optional
## sink "remote_server_sink" # optional
#}
#
## Example "pipe" output:
#
#audio_output {
# type "pipe"
# name "my pipe"
# command "aplay -f cd 2>/dev/null"
## Or if you're want to use AudioCompress
# command "AudioCompress -m | aplay -f cd 2>/dev/null"
## Or to send raw PCM stream through PCM:
# command "nc example.org 8765"
# format "44100:16:2"
#}
#
## An example of a null output (for no audio output):
#
#audio_output {
# type "null"
# name "My Null Output"
# mixer_type "none" # optional
#}
#
# This setting will change all decoded audio to be converted to the specified
# format before being passed to the audio outputs. By default, this setting is
# disabled.
#
#audio_output_format "44100:16:2"
#
# If MPD has been compiled with libsamplerate support, this setting specifies
# the sample rate converter to use. Possible values can be found in the
# mpd.conf man page or the libsamplerate documentation. By default, this is
# setting is disabled.
#
#samplerate_converter "Fastest Sinc Interpolator"
#
###############################################################################
# Normalization automatic volume adjustments ##################################
#
# This setting specifies the type of ReplayGain to use. This setting can have
# the argument "off", "album" or "track". See <http://www.replaygain.org>
# for more details. This setting is off by default.
#
#replaygain "album"
#
# This setting sets the pre-amp used for files that have ReplayGain tags. By
# default this setting is disabled.
#
#replaygain_preamp "0"
#
# This setting enables on-the-fly normalization volume adjustment. This will
# result in the volume of all playing audio to be adjusted so the output has
# equal "loudness". This setting is disabled by default.
#
#volume_normalization "no"
#
###############################################################################
# MPD Internal Buffering ######################################################
#
# This setting adjusts the size of internal decoded audio buffering. Changing
# this may have undesired effects. Don't change this if you don't know what you
# are doing.
#
#audio_buffer_size "2048"
#
# This setting controls the percentage of the buffer which is filled before
# beginning to play. Increasing this reduces the chance of audio file skipping,
# at the cost of increased time prior to audio playback.
#
#buffer_before_play "10%"
#
###############################################################################
# Resource Limitations ########################################################
#
# These settings are various limitations to prevent MPD from using too many
# resources. Generally, these settings should be minimized to prevent security
# risks, depending on the operating resources.
#
#connection_timeout "60"
#max_connections "10"
#max_playlist_length "16384"
#max_command_list_size "2048"
#max_output_buffer_size "8192"
#
###############################################################################
# Character Encoding ##########################################################
#
# If file or directory names do not display correctly for your locale then you
# may need to modify this setting.
#
#filesystem_charset "UTF-8"
#
# This setting controls the encoding that ID3v1 tags should be converted from.
#
#id3v1_encoding "ISO-8859-1"
#
###############################################################################
# SIDPlay decoder #############################################################
#
# songlength_database:
# Location of your songlengths file, as distributed with the HVSC.
# The sidplay plugin checks this for matching MD5 fingerprints.
# See http://www.c64.org/HVSC/DOCUMENTS/Songlengths.faq
#
# default_songlength:
# This is the default playing time in seconds for songs not in the
# songlength database, or in case you're not using a database.
# A value of 0 means play indefinitely.
#
# filter:
# Turns the SID filter emulation on or off.
#
#decoder {
# plugin "sidplay"
# songlength_database "/media/C64Music/DOCUMENTS/Songlengths.txt"
# default_songlength "120"
# filter "true"
#}
#
###############################################################################

BIN
mpd/.config/mpd/mpd.db Normal file

Binary file not shown.

View File

@ -0,0 +1 @@
http://216.246.37.218:80/kexp128.mp3

View File

@ -0,0 +1 @@
http://ice.somafm.com/480min

View File

@ -0,0 +1,2 @@
http://ice1.somafm.com/folkfwd-128-mp3
http://ice2.somafm.com/folkfwd-128-mp3

View File

@ -0,0 +1 @@
http://ice.somafm.com/groovesalad

View File

@ -0,0 +1 @@
http://ice.somafm.com/indiepop

View File

@ -0,0 +1 @@
http://ice.somafm.com/lush

View File

@ -0,0 +1 @@
http://ice.somafm.com/secretagent

View File

@ -0,0 +1 @@
http://ice.somafm.com/sonicuniverse

View File

@ -0,0 +1 @@
http://ice.somafm.com/suburbsofgoa

View File

@ -0,0 +1 @@
http://ice.somafm.com/xmasinfrisko

View File

@ -0,0 +1 @@
http://pubint.ic.llnwd.net/stream/pubint_weku

View File

@ -0,0 +1 @@
https://wrfl.fm/stream

BIN
mpd/.config/mpd/sticker.sql Normal file

Binary file not shown.

View File

@ -0,0 +1,155 @@
# vim: filetype=muttrc
#
#
# make sure that you are using mutt linked against slang, not ncurses, or
# suffer the consequences of weird color issues. use "mutt -v" to check this.
#
color header green default "^From:"
color header yellow default "^Subject:"
color header black default "^X-Mailer:"
# custom body highlights -----------------------------------------------
# highlight my name and other personally relevant strings
#color body yellow default "(ethan|schoonover)"
# custom index highlights ----------------------------------------------
# messages which mention my name in the body
#color index yellow default "~b \"phil(_g|\!| gregory| gold)|pgregory\" !~N !~T !~F !~p !~P"
#color index J_cream brightwhite "~b \"phil(_g|\!| gregory| gold)|pgregory\" ~N !~T !~F !~p !~P"
#color index yellow cyan "~b \"phil(_g|\!| gregory| gold)|pgregory\" ~T !~F !~p !~P"
#color index yellow J_magent "~b \"phil(_g|\!| gregory| gold)|pgregory\" ~F !~p !~P"
## messages which are in reference to my mails
#color index J_magent default "~x \"(mithrandir|aragorn)\\.aperiodic\\.net|thorin\\.hillmgt\\.com\" !~N !~T !~F !~p !~P"
#color index J_magent brightwhite "~x \"(mithrandir|aragorn)\\.aperiodic\\.net|thorin\\.hillmgt\\.com\" ~N !~T !~F !~p !~P"
#color index J_magent cyan "~x \"(mithrandir|aragorn)\\.aperiodic\\.net|thorin\\.hillmgt\\.com\" ~T !~F !~p !~P"
#color index J_magent red "~x \"(mithrandir|aragorn)\\.aperiodic\\.net|thorin\\.hillmgt\\.com\" ~F !~p !~P"
# for background in 16 color terminal, valid background colors include:
# base03, bg, black, any of the non brights
# basic colors ---------------------------------------------------------
color normal brightyellow default
color error red default
color tilde black default
color message cyan default
color markers red white
color attachment white default
color search brightmagenta default
#color status J_black J_status
color status brightyellow black
color indicator brightblack yellow
color tree yellow default # arrow in threads
# basic monocolor screen
mono bold bold
mono underline underline
mono indicator reverse
mono error bold
# index ----------------------------------------------------------------
#color index red default "~D(!~p|~p)" # deleted
#color index black default ~F # flagged
#color index brightred default ~= # duplicate messages
#color index brightgreen default "~A!~N!~T!~p!~Q!~F!~D!~P" # the rest
#color index J_base default "~A~N!~T!~p!~Q!~F!~D" # the rest, new
color index default default "~A" # all messages
#color index brightred default "~E" # expired messages
#color index blue default "~N" # new messages
#color index blue default "~O" # old messages
#color index brightmagenta default "~Q" # messages that have been replied to
#color index brightgreen default "~R" # read messages
#color index blue default "~U" # unread messages
#color index blue default "~U~$" # unread, unreferenced messages
#color index brightyellow default "~v" # messages part of a collapsed thread
#color index brightyellow default "~P" # messages from me
#color index cyan default "~p!~F" # messages to me
#color index cyan default "~N~p!~F" # new messages to me
#color index cyan default "~U~p!~F" # unread messages to me
#color index brightgreen default "~R~p!~F" # messages to me
#color index red default "~F" # flagged messages
#color index red default "~F~p" # flagged messages to me
#color index red default "~N~F" # new flagged messages
#color index red default "~N~F~p" # new flagged messages to me
#color index red default "~U~F~p" # new flagged messages to me
#color index brightcyan default "~v~(!~N)" # collapsed thread with no unread
#color index yellow default "~v~(~N)" # collapsed thread with some unread
#color index green default "~N~v~(~N)" # collapsed thread with unread parent
# statusbg used to indicated flagged when foreground color shows other status
# for collapsed thread
#color index red black "~v~(~F)!~N" # collapsed thread with flagged, no unread
#color index yellow black "~v~(~F~N)" # collapsed thread with some unread & flagged
#color index green black "~N~v~(~F~N)" # collapsed thread with unread parent & flagged
#color index green black "~N~v~(~F)" # collapsed thread with unread parent, no unread inside, but some flagged
#color index cyan black "~v~(~p)" # collapsed thread with unread parent, no unread inside, some to me directly
#color index yellow red "~v~(~D)" # thread with deleted (doesn't differentiate between all or partial)
#color index yellow default "~(~N)" # messages in threads with some unread
#color index green default "~S" # superseded messages
#color index red default "~T" # tagged messages
#color index brightred red "~=" # duplicated messages
# message headers ------------------------------------------------------
#color header brightgreen default "^"
color hdrdefault brightgreen default
#color header brightyellow default "^(From)"
#color header blue default "^(Subject)"
# body -----------------------------------------------------------------
color quoted blue default
color quoted1 cyan default
color quoted2 yellow default
color quoted3 red default
color quoted4 brightred default
color signature brightgreen default
color bold black default
color underline black default
color normal default default
#
color body brightcyan default "[;:][-o][)/(|]" # emoticons
color body brightcyan default "[;:][)(|]" # emoticons
color body brightcyan default "[*]?((N)?ACK|CU|LOL|SCNR|BRB|BTW|CWYL|\
|FWIW|vbg|GD&R|HTH|HTHBE|IMHO|IMNSHO|\
|IRL|RTFM|ROTFL|ROFL|YMMV)[*]?"
color body brightcyan default "[ ][*][^*]*[*][ ]?" # more emoticon?
color body brightcyan default "[ ]?[*][^*]*[*][ ]" # more emoticon?
## pgp
color body red default "(BAD signature)"
color body cyan default "(Good signature)"
color body brightblack default "^gpg: Good signature .*"
color body brightyellow default "^gpg: "
color body brightyellow red "^gpg: BAD signature from.*"
mono body bold "^gpg: Good signature"
mono body bold "^gpg: BAD signature from.*"
# yes, an insance URL regex
color body red default "([a-z][a-z0-9+-]*://(((([a-z0-9_.!~*'();:&=+$,-]|%[0-9a-f][0-9a-f])*@)?((([a-z0-9]([a-z0-9-]*[a-z0-9])?)\\.)*([a-z]([a-z0-9-]*[a-z0-9])?)\\.?|[0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+)(:[0-9]+)?)|([a-z0-9_.!~*'()$,;:@&=+-]|%[0-9a-f][0-9a-f])+)(/([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*(;([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*)*(/([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*(;([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*)*)*)?(\\?([a-z0-9_.!~*'();/?:@&=+$,-]|%[0-9a-f][0-9a-f])*)?(#([a-z0-9_.!~*'();/?:@&=+$,-]|%[0-9a-f][0-9a-f])*)?|(www|ftp)\\.(([a-z0-9]([a-z0-9-]*[a-z0-9])?)\\.)*([a-z]([a-z0-9-]*[a-z0-9])?)\\.?(:[0-9]+)?(/([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*(;([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*)*(/([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*(;([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*)*)*)?(\\?([-a-z0-9_.!~*'();/?:@&=+$,]|%[0-9a-f][0-9a-f])*)?(#([-a-z0-9_.!~*'();/?:@&=+$,]|%[0-9a-f][0-9a-f])*)?)[^].,:;!)? \t\r\n<>\"]"
# and a heavy handed email regex
#color body J_magent default "((@(([0-9a-z-]+\\.)*[0-9a-z-]+\\.?|#[0-9]+|\\[[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\]),)*@(([0-9a-z-]+\\.)*[0-9a-z-]+\\.?|#[0-9]+|\\[[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\]):)?[0-9a-z_.+%$-]+@(([0-9a-z-]+\\.)*[0-9a-z-]+\\.?|#[0-9]+|\\[[0-2]?[0-9]?[0-9]\\.[0-2]?[0-9]?[0-9]\\.[0-2]?[0-9]?[0-9]\\.[0-2]?[0-9]?[0-9]\\])"
# Various smilies and the like
#color body brightwhite default "<[Gg]>" # <g>
#color body brightwhite default "<[Bb][Gg]>" # <bg>
#color body yellow default " [;:]-*[})>{(<|]" # :-) etc...
# *bold*
#color body blue default "(^|[[:space:][:punct:]])\\*[^*]+\\*([[:space:][:punct:]]|$)"
#mono body bold "(^|[[:space:][:punct:]])\\*[^*]+\\*([[:space:][:punct:]]|$)"
# _underline_
#color body blue default "(^|[[:space:][:punct:]])_[^_]+_([[:space:][:punct:]]|$)"
#mono body underline "(^|[[:space:][:punct:]])_[^_]+_([[:space:][:punct:]]|$)"
# /italic/ (Sometimes gets directory names)
#color body blue default "(^|[[:space:][:punct:]])/[^/]+/([[:space:][:punct:]]|$)"
#mono body underline "(^|[[:space:][:punct:]])/[^/]+/([[:space:][:punct:]]|$)"
# Border lines.
#color body blue default "( *[-+=#*~_]){6,}"
#folder-hook . "color status J_black J_status "
#folder-hook gmail/inbox "color status J_black yellow "
#folder-hook gmail/important "color status J_black yellow "

44
mutt/.config/mutt/crypto Normal file
View File

@ -0,0 +1,44 @@
set pgp_decode_command="gpg %?p?--passphrase-fd 0? --no-verbose --batch --output - %f"
set pgp_verify_command="gpg --no-verbose --batch --output - --verify %s %f"
set pgp_decrypt_command="gpg --passphrase-fd 0 --no-verbose --batch --output - %f"
set pgp_sign_command="gpg --no-verbose --batch --output - --passphrase-fd 0 --armor --detach-sign --textmode %?a?-u %a? %f"
set pgp_clearsign_command="gpg --no-verbose --batch --output - --passphrase-fd 0 --armor --textmode --clearsign %?a?-u %a? %f"
set pgp_encrypt_only_command="pgpewrap gpg --batch --quiet --no-verbose --output - --encrypt --textmode --armor --always-trust -- -r %r -- %f"
set pgp_encrypt_sign_command="pgpewrap gpg --passphrase-fd 0 --batch --quiet --no-verbose --textmode --output - --encrypt --sign %?a?-u %a? --armor --always-trust --encrypt-to 0xC9C40C31 -- -r %r -- %f"
set pgp_import_command="gpg --no-verbose --import -v %f"
set pgp_export_command="gpg --no-verbose --export --armor %r"
set pgp_verify_key_command="gpg --no-verbose --batch --fingerprint --check-sigs %r"
set pgp_list_pubring_command="gpg --no-verbose --batch --with-colons --list-keys %r"
set pgp_list_secring_command="gpg --no-verbose --batch --with-colons --list-secret-keys %r"
# specify the uid to use when encrypting/signing
set pgp_sign_as=0x4AA1F538
# this set the number of seconds to keep in memory the passpharse used to encrypt/sign
# the more the less secure it will be
set pgp_timeout=1800
# it's a regexp used against the GPG output: if it matches some line of the output
# then mutt considers the message a good signed one (ignoring the GPG exit code)
set pgp_good_sign="^gpg: Good signature from"
# mutt uses by default PGP/GPG to sign/encrypt messages
unset smime_is_default
set pgp_auto_decode=yes
# automatically sign all outgoing messages
# set crypt_autosign
# sign only replies to signed messages
set crypt_replysign
# automatically encrypt outgoing messages
# set crypt_autoencrypt=yes
# encrypt only replies to signed messages
#set crypt_replyencrypt=yes
# encrypt and sign replies to encrypted messages
set crypt_replysignencrypted=yes
# automatically verify the sign of a message when opened
set crypt_verify_sig=yes
set pgp_use_gpg_agent = yes

View File

@ -0,0 +1,34 @@
# scalene.net
folder-hook . 'set folder=~/mail/fm/ from="Jason Swank <jason@scalene.net>" record=+Sent.`date +%Y`.`date +%m` postponed=+Drafts hostname=scalene.net'
folder-hook . 'save-hook .* +Received.`date +%Y`.`date +%m`'
folder-hook . 'set smtp_url="smtps://jswank@fastmail.fm@smtp.fastmail.com:465/" smtp_pass="7smmrklxlq3f4euz"
#folder-hook . 'set sendmail = "$HOME/bin/mymail"'
folder-hook ~/mail/fm 'set folder=~/mail/fm/ from="Jason Swank <jason@scalene.net>" record=+Sent.`date +%Y`.`date +%m` postponed=+Drafts hostname=scalene.net'
folder-hook ~/mail/fm 'save-hook .* +Received.`date +%Y`.`date +%m`'
folder-hook ~/mail/fm 'set smtp_url="smtps://jswank@fastmail.fm@smtp.fastmail.com:465/" smtp_pass="7smmrklxlq3f4euz"
#folder-hook ~/mail/fm 'set sendmail = "$HOME/bin/mymail"'
# personal markup
color index brightwhite default "~C jason@scalene.net"
color index cyan default "~f mfranzini@fastmail.fm"
# cub scouts
color index yellow default "~f Hayden"
# theo's school
color index yellow default "~f hcollins912@yahoo.com"
color index yellow default "~f kelly.gunn@fayette.kyschools.us"
color index yellow default "~f james.beers@fayette.kyschools.us"
color index yellow default "~f jemsky@twc.com"
color index yellow default "~f carla.pleasant@fayette.kyschools.us"
color index yellow default "~f laurie.fields@fayette.kyschools.us"
# ollies's school
color index yellow default "~f info@providencemontessoriky.org"
# quakers
color index green default "~f rjmq47@twc.com"
color index green default "~f Douglas_Griggs@georgetowncollege.edu"
color index green default "~f gmkpah@aol.com"
color index green default "~f bneale@twc.com"
color index green default "~f mmhill1951@gmail.com"
color index black green "~C info@lexingtonfriends.org"
#color index cyan default "~f Blancet"

97
mutt/.config/mutt/muttrc Normal file
View File

@ -0,0 +1,97 @@
#
# This file contains commands to change the keybindings in Mutt to be
# similar to those of PINE 3.95.
#
bind index v display-message
bind index p previous-undeleted
bind index ' ' next-page
bind index c mail
bind index g change-folder
bind index / search
bind index y print-message
bind index x sync-mailbox
bind index $ sort-mailbox
bind index a tag-prefix
#macro index G "!offlineimap -a fastmail-inbox,bantu-inbox,ako-inbox -u Quiet &<enter>"
# Not possible to simulate zoom-out...
macro index z ltagged\r
bind pager p previous-undeleted
bind pager ' ' next-page
bind pager g change-folder
bind pager c mail
bind pager w search
bind pager y print-message
bind pager \n noop # PINE prints "No default action for this menu."
bind pager k previous-line
bind pager j next-line
bind pager G bottom # just like vi and less
bind pager R group-reply
bind compose \cx send-message
macro index \cb |urlview\n
macro pager \cb |urlview\n
macro index,pager A |'abook --add-email'\n
macro editor \t \ct
set markers=no # fix multiline url wrapping
set query_command="abook --mutt-query '%s'"
set text_flowed=yes
set editor="nvim"
#set editor="vim -c \"setlocal tw=72 fo+=aw spell spelllang=en\"
#set save_address
set fast_reply
set hdr_format="%Z %3C %{%b %d} %-19.19L (%5c) %s"
set mbox_type=Maildir
set folder=~/mail/sonatype
set spoolfile=+INBOX
set hostname=sonatype.com
set use_domain
mailboxes ~/mail/sonatype/INBOX ~/mail/fm/INBOX
set mail_check=30
set timeout=15
set beep=yes
# sort mail in the order it is received
set sort=date-received
set delete=yes
set help = no
set move = no # don't ask me about mbox
set wait_key = no # don't ask me to press a key after shell commands
# these are the headers I want to see
ignore *
unignore from: date subject to cc reply-to x-mailer: user-agent:
unignore organization: organisation: x-mailer: x-newsreader: x-mailing-list:
hdr_order Date: From: To: Cc: Subject:
# html-ized mail
auto_view text/html
auto_view text/calendar
alternative_order text/enriched text/plain text/html text
source ~/.mutt/crypto
# colors
# source ~/.mutt/colorscheme
source ~/.mutt/fastmail
# colors are in the above- be sure that deleted message colors are correct
#color index black default ~= # dup-ed messages
#color index black default ~D # delete-ed messages
color index black default "~D" # deleted messages
set charset=utf-8

View File

@ -0,0 +1,46 @@
# sonatype folder hooks
folder-hook ~/mail/sonatype 'unset record'
folder-hook ~/mail/sonatype 'set folder=~/mail/sonatype from="Jason Swank <jswank@sonatype.com>" postponed="+drafts" hostname=sonatype.com'
folder-hook ~/mail/sonatype 'set smtp_url="smtp://jswank@sonatype.com@smtp.gmail.com:587/" smtp_pass="etfsjjivqcrnliuu"'
#folder-hook ~/mail/sonatype 'set sendmail = "$HOME/bin/mymail"'
# Sonatype markup
#color index grey default "~C jswank@sonatype.com"
color index yellow default "~f .*@sonatype.com"
color index cyan default "~t jswank@sonatype.com ~f .*@sonatype.com"
color index magenta default "~f peckman"
color index magenta default "~f franzini"
color index magenta default "~f bmayhew"
color index magenta default "~f tlevett"
color index magenta default "~f ncook"
color index magenta default "~f nblair"
color index magenta default "~f jyoung"
color index magenta default "~f khayen"
color index magenta default "~f kwitten"
color index magenta default "~f mprescott"
color index magenta default "~f bentmann"
color index magenta default "~f Damian"
color index magenta default "~f sangles"
color index magenta default "~f ajbrown"
color index white cyan "~f stecker"
color index white cyan "~f watson"
color index white cyan "~f briganti"
color index white cyan "~f jorlina"
color index white cyan "~f yanko"
color index white cyan "~f sprochi"
color index white cyan "~f ethompson"
color index white cyan "~f amengual"
color index white cyan "~f mporter"
color index white cyan "~f sanderson"
color index white cyan "~f tneeriemer"
color index brightred default "~f brianf@sonatype.com"
color index brightred default "~f mhansen@sonatype.com"
color index brightred default "~f wayne@sonatype.com"
color index brightred default "~f dmiller@sonatype.com"
color index brightred default "~f jwhitehouse@sonatype.com"
color index brightred default "~f dwright@sonatype.com"
color index white red "~t alerts@sonatype.com"
color index white red "~f PagerDuty"
color index white red "~C security@sonatype.com"

3
mutt/.mailcap Normal file
View File

@ -0,0 +1,3 @@
text/html; w3m -I %{charset} -T text/html; copiousoutput;
application/pdf; mupdf %s;
image/*; feh %s;

3
x11/.Xmodmap Normal file
View File

@ -0,0 +1,3 @@
remove Lock = Caps_Lock
keysym Caps_Lock = Control_L
add Control = Control_L

91
x11/.Xresources Normal file
View File

@ -0,0 +1,91 @@
!*XTerm*background: black
!*UXTerm*background: black
!*XTerm*foreground: gray90
!*UXTerm*foreground: gray90
!*XTerm*faceName: xft:Droid Sans Mono
*XTerm*faceName: xft:Liberation Mono
*UXTerm*faceName: xft:Liberation Mono
*XTerm*faceSize: 14
*UXTerm*faceSize: 14
!*XTerm*faceName: xft:Source Code Pro Medium
!*XTerm*faceSize: 14
*XTerm*visualBell: true
*UXTerm*visualBell: true
!*URxvt*font: xft:Inconsolata:pixelsize=16:antialias=true:hinting=true
!*URxvt*font: xft:Liberation Mono:pixelsize=16:antialias=true:hinting=true
*URxvt*font: xft:Droid Sans Mono:pixelsize=14:antialias=true:hinting=true
*URxvt*scrollBar: false
*URxvt*visualBell: true
! Solarized color scheme for the X Window System
!
! http://ethanschoonover.com/solarized
! Common
#define S_yellow #b58900
#define S_orange #cb4b16
#define S_red #dc322f
#define S_magenta #d33682
#define S_violet #6c71c4
#define S_blue #268bd2
#define S_cyan #2aa198
#define S_green #859900
! Dark
#define S_base03 #002b36
#define S_base02 #073642
#define S_base01 #586e75
#define S_base00 #657b83
#define S_base0 #839496
#define S_base1 #93a1a1
#define S_base2 #eee8d5
#define S_base3 #fdf6e3
! Light
! #define S_base03 #fdf6e3
! #define S_base02 #eee8d5
! #define S_base01 #93a1a1
! #define S_base00 #839496
! #define S_base0 #657b83
! #define S_base1 #586e75
! #define S_base2 #073642
! #define S_base3 #002b36
! To only apply colors to your terminal, for example, prefix
! the color assignment statement with its name. Example:
!
*background: S_base03
*foreground: S_base0
*fading: 40
*fadeColor: S_base03
*cursorColor: S_base1
*pointerColorBackground: S_base01
*pointerColorForeground: S_base1
*color0: S_base02
*color1: S_red
*color2: S_green
*color3: S_yellow
*color4: S_blue
*color5: S_magenta
*color6: S_cyan
*color7: S_base2
*color8: S_base03
*color9: S_orange
*color10: S_base01
*color11: S_base00
*color12: S_base0
*color13: S_violet
*color14: S_base1
*color15: S_base3

92
x11/.Xresources-outside Normal file
View File

@ -0,0 +1,92 @@
*XTerm*background: black
*UXTerm*background: black
*XTerm*foreground: green
*UXTerm*foreground: green
! *XTerm*foreground: gray90
!*XTerm*faceName: xft:Droid Sans Mono
*XTerm*faceName: xft:Liberation Mono
*UXTerm*faceName: xft:Liberation Mono
*XTerm*faceSize: 14
*UXTerm*faceSize: 14
!*XTerm*faceName: xft:Source Code Pro Medium
!*XTerm*faceSize: 14
*XTerm*visualBell: true
*UXTerm*visualBell: true
!*URxvt*font: xft:Inconsolata:pixelsize=16:antialias=true:hinting=true
!*URxvt*font: xft:Liberation Mono:pixelsize=16:antialias=true:hinting=true
*URxvt*font: xft:Droid Sans Mono:pixelsize=14:antialias=true:hinting=true
*URxvt*scrollBar: false
*URxvt*visualBell: true
! Solarized color scheme for the X Window System
!
! http://ethanschoonover.com/solarized
! Common
#define S_yellow #b58900
#define S_orange #cb4b16
#define S_red #dc322f
#define S_magenta #d33682
#define S_violet #6c71c4
#define S_blue #268bd2
#define S_cyan #2aa198
#define S_green #859900
! Dark
#define S_base03 #002b36
#define S_base02 #073642
#define S_base01 #586e75
#define S_base00 #657b83
#define S_base0 #839496
#define S_base1 #93a1a1
#define S_base2 #eee8d5
#define S_base3 #fdf6e3
! Light
! #define S_base03 #fdf6e3
! #define S_base02 #eee8d5
! #define S_base01 #93a1a1
! #define S_base00 #839496
! #define S_base0 #657b83
! #define S_base1 #586e75
! #define S_base2 #073642
! #define S_base3 #002b36
! To only apply colors to your terminal, for example, prefix
! the color assignment statement with its name. Example:
!
*background: S_base03
*foreground: S_base0
*fading: 40
*fadeColor: S_base03
*cursorColor: S_base1
*pointerColorBackground: S_base01
*pointerColorForeground: S_base1
*color0: S_base02
*color1: S_red
*color2: S_green
*color3: S_yellow
*color4: S_blue
*color5: S_magenta
*color6: S_cyan
*color7: S_base2
*color8: S_base03
*color9: S_orange
*color10: S_base01
*color11: S_base00
*color12: S_base0
*color13: S_violet
*color14: S_base1
*color15: S_base3

8
x11/.xinitrc Normal file
View File

@ -0,0 +1,8 @@
xrdb -merge ${HOME}/.Xresources
xmodmap ${HOME}/.Xmodmap
xset -b
/home/jswank/bin/dual-monitor &
# /usr/lib/notification-daemon-1.0/notification-daemon &
# /home/jswank/bin/new-mail-notification &
mpd &
exec i3

10
x11/.xsession Normal file
View File

@ -0,0 +1,10 @@
#!/bin/sh
#
# ~/.xsession
#
# Executed by xdm/gdm/kdm at login
#
/bin/bash --login -i ~/.xinitrc