summaryrefslogtreecommitdiff
path: root/.config
diff options
context:
space:
mode:
Diffstat (limited to '.config')
-rw-r--r--.config/.gitignore19
-rw-r--r--.config/X11/defaults2
l---------[-rw-r--r--].config/X11/serverrc7
-rw-r--r--.config/bash/aliases.sh5
-rw-r--r--.config/bash/rc.sh103
-rw-r--r--.config/conkerorrc55
-rw-r--r--.config/cron/crontab3
-rw-r--r--.config/emacs/custom.el10
-rw-r--r--.config/emacs/init.el33
-rw-r--r--.config/gtk-3.0/settings.ini33
-rw-r--r--.config/hgrc2
-rw-r--r--.config/libretools/.gitignore1
-rw-r--r--.config/lxpanel/default/panels/panel20
-rw-r--r--.config/maildirproc/default.rc44
l---------.config/meld/meldrc.ini1
-rw-r--r--.config/nanorc233
-rw-r--r--.config/offlineimaprc49
-rw-r--r--.config/okular/.gitignore1
-rw-r--r--.config/symlinks35
-rwxr-xr-x.config/symlinks.sh15
20 files changed, 573 insertions, 98 deletions
diff --git a/.config/.gitignore b/.config/.gitignore
new file mode 100644
index 0000000..b5b3b3c
--- /dev/null
+++ b/.config/.gitignore
@@ -0,0 +1,19 @@
+/RecentDocuments
+
+# Ignore things I don't care enough about to track
+/Trolltech.conf
+/vlc
+/purple
+
+# some 3d graphics toolkit
+/Kitware
+# KDE color picker
+/colors
+# binary, not helpful to track
+/dconf/user
+
+# Ignore these files that if I tracked them, would be a separate repo
+/libreoffice
+/transmission
+/gimp-*
+/netbeans
diff --git a/.config/X11/defaults b/.config/X11/defaults
index ceabc5c..07d35b4 100644
--- a/.config/X11/defaults
+++ b/.config/X11/defaults
@@ -14,5 +14,5 @@ URxvt.scrollTtyKeypress: false
URxvt.scrollWithBuffer: true
URxvt.perl-ext-common: default,matcher
-URxvt.urlLauncher: v-www-browser
+URxvt.url-launcher: v-www-browser
URxvt.matcher.button: 1
diff --git a/.config/X11/serverrc b/.config/X11/serverrc
index d6c6ffc..ce14133 100644..120000
--- a/.config/X11/serverrc
+++ b/.config/X11/serverrc
@@ -1,6 +1 @@
-#!/bin/bash
-
-VT=vt07
-#VT=$(tty|sed 's@/dev/tty@vt@')
-
-exec /usr/bin/X -nolisten tcp "$VT" "$@"
+/etc/X11/xinit/xserverrc \ No newline at end of file
diff --git a/.config/bash/aliases.sh b/.config/bash/aliases.sh
index 8241b95..0964a83 100644
--- a/.config/bash/aliases.sh
+++ b/.config/bash/aliases.sh
@@ -37,7 +37,7 @@ alias l='ls -CF'
######################################################################
#alias rm='gvfs-trash'
alias ssh='ssh -XC'
-alias sed='sed --follow-symlinks'
+#alias sed='sed --follow-symlinks' # breaks sed 4.2.2
alias tree='tree --charset utf8'
alias cd=pushd
alias gitk='gitk --all --date-order'
@@ -53,7 +53,6 @@ unset redshift
######################################################################
# Some almost-function aliases #
######################################################################
-xterm-title() { echo "];$@"; } # Oh, wait this one *is* a function
alias lock="clear; away -C 'This terminal is locked'"
-alias plock="xterm-title Terminal Locked;lock"
+alias plock="term-title Terminal Locked;lock"
mvln() { mv $1 $2; ln -s $2 $1; }
diff --git a/.config/bash/rc.sh b/.config/bash/rc.sh
index ed55f75..faf8116 100644
--- a/.config/bash/rc.sh
+++ b/.config/bash/rc.sh
@@ -1,80 +1,85 @@
# ~/.bashrc: executed by bash(1) for non-login shells.
-# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
-# for examples
-
# I include this file for all interactive invocations of bash(1), whether
# they are login shells or not.
# If not running interactively, don't do anything
-[ -z "$PS1" ] && return
+[[ $- != *i* ]] && return
+
+# set variable identifying the chroot you work in (used in the prompt below)
+if [[ -z "$debian_chroot" ]] && [[ -r /etc/debian_chroot ]]; then
+ debian_chroot="$(cat /etc/debian_chroot)"
+fi
-# don't put duplicate lines in the history. See bash(1) for more options
+# Why is this not on by default?
+# "We have a cached value, but it isn't valid anymore. Should we trash it?"
+# "Duh, yes!"
+shopt -s checkhash
+
+################################################################################
+
+# History settings
export HISTCONTROL=ignoredups
export HISTFILE=${XDG_CACHE_HOME}/bash/history
export HISTTIMEFORMAT='[%Y-%m-%d %H:%M] '
+export HISTSIZE=5000
shopt -s histappend # append to the history file, don't overwrite it
+mkdir -p "${HISTFILE%/*}"
+# General settings
shopt -s checkwinsize # update the values of LINES and COLUMNS
shopt -s globstar # Let ** recursively scan directories
+PROMPT_COMMAND=''
-# Why is this not on by default?
-# "We have a cached value, but it isn't valid anymore. Should we trash it?"
-shopt -s checkhash
-
-# make less more friendly for non-text input files, see lesspipe(1)
-[ -x "`which lesspipe 2>/dev/null`" ] && eval "$(SHELL=/bin/sh lesspipe)"
+################################################################################
+# Overly complicated setting of PS1 #
+################################################################################
-# set variable identifying the chroot you work in (used in the prompt below)
-if [ -z "$debian_chroot" ] && [ -r /etc/debian_chroot ]; then
- debian_chroot=$(cat /etc/debian_chroot)
-fi
+# Belongs in aliases, but I use it here
+term-title() {
+ local fmt=''
+ case "$TERM" in
+ screen|tmux) fmt='\ek%s\e\\';;
+ xterm*|rxvt*) fmt='\e]0;%s\a';;
+ esac
+ printf "$fmt" "$*"
+}
make_prompt() {
- local RESET=''
- local BOLD=''
- local GREEN=''
- local BLUE=''
- if $1; then
- RESET="$(tput sgr0)"
- BOLD="$(tput bold)"
- GREEN="$(tput setaf 2)"
- BLUE="$(tput setaf 4)"
- fi
- local CHROOT='${debian_chroot:+($debian_chroot)}'
- echo "${RESET}${BOLD}${CHROOT}${GREEN}"'\u@\h'"${RESET}:${BOLD}${BLUE}"'\w'"${RESET}"
+ local _CHROOT='${debian_chroot:+($debian_chroot)}'
+ echo "${BOLD}${_CHROOT}${GREEN}\u@\h${RESET}${BOLD}${BLUE}:\w${RESET}"
}
-if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then
+if [[ -x /usr/bin/tput ]] && tput setaf 1 >&/dev/null; then
# We have color support; assume it's compliant with Ecma-48
# (ISO/IEC-6429). (Lack of such support is extremely rare, and such
# a case would tend to support setf rather than setaf.)
- PS1="$(make_prompt true )"'\n\$ '
+ RESET="$(tput sgr0)"
+ BOLD="$(tput bold)"
+ RED="$(tput setaf 1)"
+ GREEN="$(tput setaf 2)"
+ BLUE="$(tput setaf 4)"
+
+ _STATUS="${BOLD}["
+ _STATUS+='$(v=$?; if [[ $v = 0 ]]; then c='"'${GREEN}'"'; else c='"${RED}"'; fi; printf %s%03i $c $v)'
+ _STATUS+="${RESET}${BOLD}]${RESET}"
else
- PS1="$(make_prompt false)"'\n\$ '
+ _STATUS='[$?]'
fi
-
-# If this is an xterm set the title to user@host:dir
-case "$TERM" in
- xterm*|rxvt*)
- PS1="\[\e]0;$(make_prompt false)\a\]$PS1";;
-esac
-
+PS1="${_STATUS} $(make_prompt)"'\n\$ '
+unset RESET BOLD RED GREEN BLUE _STATUS use_color
+PS1="$(term-title $(make_prompt))$PS1"
unset make_prompt
-# Include modular config files
-if [ -d "${XDG_CONFIG_HOME}/rc.d" ]; then
- for file in "${XDG_CONFIG_HOME}/rc.d"/*.sh; do
- . "$file"
- done
-fi
+################################################################################
-if [ -f ${XDG_CONFIG_HOME}/bash/aliases.sh ]; then
+# Load my alaises
+if [[ -f ${XDG_CONFIG_HOME}/bash/aliases.sh ]]; then
. ${XDG_CONFIG_HOME}/bash/aliases.sh
fi
-# enable programmable completion features (you don't need to enable
-# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
-# sources /etc/bash.bashrc).
-if [ -f /etc/bash_completion ]; then
- . /etc/bash_completion
+# Include modular config files
+if [[ -d ${XDG_CONFIG_HOME}/bash/rc.d ]]; then
+ for file in "${XDG_CONFIG_HOME}/bash/rc.d"/*.sh; do
+ . "$file"
+ done
fi
diff --git a/.config/conkerorrc b/.config/conkerorrc
new file mode 100644
index 0000000..e33add1
--- /dev/null
+++ b/.config/conkerorrc
@@ -0,0 +1,55 @@
+/* -*- Mode: js -*- */
+session_pref("signon.rememberSignons", true);
+session_pref("signon.expireMasterPassword", false);
+session_pref("signon.SignonFileName", "signons.txt");
+
+define_webjump("ddg", "https://duckduckgo.com/?q=%s");
+
+// Load login manager
+Components.classes["@mozilla.org/login-manager;1"].getService(Components.interfaces.nsILoginManager);
+
+// Auto complete stuff
+minibuffer_auto_complete_default = true;
+url_completion_use_history = true; // should work since bf05c87405
+url_completion_use_bookmarks = true;
+
+// Prompt before closing
+//define_key(content_buffer_normal_keymap, "C-x C-c", "confirm-quit");
+//can_kill_last_buffer = false;
+
+// Workaround for scrollbar bug (issue351)
+add_hook("create_buffer_late_hook",
+ function (buffer) {
+ buffer.top_frame.scrollbars.visible = true;
+ });
+
+// load session module
+require("session.js");
+session_auto_save_auto_load = true; // auto-load session
+
+// Don't show a clock in the modeline
+remove_hook("mode_line_hook", mode_line_adder(clock_widget));
+
+// Add favicons to the modeline
+require("favicon");
+add_hook("mode_line_hook", mode_line_adder(buffer_icon_widget), true);
+read_buffer_show_icons = true;
+
+// load firebug lite
+define_variable("firebug_url",
+ "https://getfirebug.com/firebug-lite.js");
+
+function firebug (I) {
+ var doc = I.buffer.document;
+ var script = doc.createElement('script');
+ script.setAttribute('type', 'text/javascript');
+ script.setAttribute('src', firebug_url);
+ script.setAttribute('onload', 'firebug.init();');
+ doc.body.appendChild(script);
+}
+interactive("firebug", "open firebug lite", firebug);
+
+// Make middle-click open links in a new buffer
+require("clicks-in-new-buffer.js");
+clicks_in_new_buffer_target = OPEN_NEW_BUFFER_BACKGROUND;
+clicks_in_new_buffer_button = 1;
diff --git a/.config/cron/crontab b/.config/cron/crontab
new file mode 100644
index 0000000..e396cef
--- /dev/null
+++ b/.config/cron/crontab
@@ -0,0 +1,3 @@
+# m h dom mon dow command
+*/5 * * * * cd $HOME/.config && make
+*/5 * * * * offlineimap-runner 2 -u quiet
diff --git a/.config/emacs/custom.el b/.config/emacs/custom.el
index 5a3e67f..dad3d8d 100644
--- a/.config/emacs/custom.el
+++ b/.config/emacs/custom.el
@@ -3,16 +3,20 @@
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
- '(custom-enabled-themes (quote (wombat)))
- '(custom-safe-themes (quote ("71b172ea4aad108801421cc5251edb6c792f3adbaecfa1c52e94e3d99634dee7" "fc5fcb6f1f1c1bc01305694c59a1a861b008c534cae8d0e48e4d5e81ad718bc6" default)))
+ '(custom-enabled-themes (quote (zenburn)))
+ '(custom-safe-themes (quote ("1e7e097ec8cb1f8c3a912d7e1e0331caeed49fef6cff220be63bd2a6ba4cc365" "71b172ea4aad108801421cc5251edb6c792f3adbaecfa1c52e94e3d99634dee7" "fc5fcb6f1f1c1bc01305694c59a1a861b008c534cae8d0e48e4d5e81ad718bc6" default)))
'(erc-nick "lukeshu")
'(explicit-shell-file-name "/bin/bash")
'(inhibit-startup-screen t)
'(mdmua-maildir "~/Maildir")
'(minibuffer-prompt-properties (quote (read-only t point-entered minibuffer-avoid-prompt face minibuffer-prompt)))
+ '(page-break-lines-char 45)
'(ruby-deep-arglist nil)
'(ruby-deep-indent-paren nil)
- '(scroll-bar-mode nil))
+ '(safe-local-variable-values (quote ((Nginx-indent-tabs-mode) (Nginx-indent-level . 4) (Nginx-indent-level . 8))))
+ '(scroll-bar-mode nil)
+ '(sh-basic-offset 8)
+ '(sh-indent-comment t))
(custom-set-faces
;; custom-set-faces was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
diff --git a/.config/emacs/init.el b/.config/emacs/init.el
index 3cd2ea3..402957a 100644
--- a/.config/emacs/init.el
+++ b/.config/emacs/init.el
@@ -1,6 +1,6 @@
;; Preliminary settings ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-(set-face-attribute 'default nil :height 80)
+(set-face-attribute 'default nil :height 75)
(setq notify-method 'notify-via-libnotify)
(add-to-list 'load-path "~/.emacs.d/")
(add-to-list 'load-path "~/.emacs.d/el-get/el-get")
@@ -58,6 +58,36 @@
;; General settings ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+(require 'go-mode-load)
+
+(require 'mailcrypt)
+(mc-setversion "gpg")
+(add-hook 'wl-summary-mode-hook 'mc-install-read-mode)
+(add-hook 'wl-mail-setup-hook 'mc-install-write-mode)
+
+(defun mc-wl-verify-signature ()
+ (interactive)
+ (save-window-excursion
+ (wl-summary-jump-to-current-message)
+ (mc-verify)))
+
+(defun mc-wl-decrypt-message ()
+ (interactive)
+ (save-window-excursion
+ (wl-summary-jump-to-current-message)
+ (let ((inhibit-read-only t))
+ (mc-decrypt))))
+
+(eval-after-load "mailcrypt"
+ '(setq mc-modes-alist
+ (append
+ (quote
+ ((wl-draft-mode (encrypt . mc-encrypt-message)
+ (sign . mc-sign-message))
+ (wl-summary-mode (decrypt . mc-wl-decrypt-message)
+ (verify . mc-wl-verify-signature))))
+ mc-modes-alist)))
+
;(load "mdmua")
(load "emacsutils")
@@ -170,6 +200,7 @@
))
(add-to-list 'auto-mode-alist '("PKGBUILD" . sh-mode))
+(add-to-list 'auto-mode-alist '("SRCBUILD" . sh-mode))
;(require 'flymake)
;(add-hook 'php-mode-hook (lambda() (flymake-mode 1)))
diff --git a/.config/gtk-3.0/settings.ini b/.config/gtk-3.0/settings.ini
index 5c3cf6a..b0443ec 100644
--- a/.config/gtk-3.0/settings.ini
+++ b/.config/gtk-3.0/settings.ini
@@ -1,17 +1,16 @@
-[Settings]
-# DO NOT EDIT! This file will be overwritten by LXAppearance.
-gtk-theme-name = oxygen-gtk
-gtk-icon-theme-name = default.kde4
-gtk-font-name = Sans 10
-gtk-cursor-theme-name = Vanilla-DMZ
-gtk-cursor-theme-size = 0
-gtk-toolbar-style = GTK_TOOLBAR_BOTH
-gtk-toolbar-icon-size = GTK_ICON_SIZE_SMALL_TOOLBAR
-gtk-button-images = 0
-gtk-menu-images = 1
-gtk-enable-event-sounds = 1
-gtk-enable-input-feedback-sounds = 1
-gtk-xft-antialias = 1
-gtk-xft-hinting = 1
-gtk-xft-hintstyle = hintfull
-gtk-xft-rgba = rgb
+[Settings]
+gtk-theme-name=Raleigh
+gtk-icon-theme-name=oxygen
+gtk-font-name=Sans 10
+gtk-cursor-theme-name=Vanilla-DMZ
+gtk-cursor-theme-size=0
+gtk-toolbar-style=GTK_TOOLBAR_BOTH_HORIZ
+gtk-toolbar-icon-size=GTK_ICON_SIZE_SMALL_TOOLBAR
+gtk-button-images=0
+gtk-menu-images=1
+gtk-enable-event-sounds=1
+gtk-enable-input-feedback-sounds=1
+gtk-xft-antialias=1
+gtk-xft-hinting=1
+gtk-xft-hintstyle=hintfull
+gtk-xft-rgba=rgb
diff --git a/.config/hgrc b/.config/hgrc
new file mode 100644
index 0000000..96fce82
--- /dev/null
+++ b/.config/hgrc
@@ -0,0 +1,2 @@
+[ui]
+username = Luke Shumaker <lukeshu@sbcglobal.net>
diff --git a/.config/libretools/.gitignore b/.config/libretools/.gitignore
new file mode 100644
index 0000000..1881962
--- /dev/null
+++ b/.config/libretools/.gitignore
@@ -0,0 +1 @@
+blacklist.txt
diff --git a/.config/lxpanel/default/panels/panel b/.config/lxpanel/default/panels/panel
index 9d776bb..e89a833 100644
--- a/.config/lxpanel/default/panels/panel
+++ b/.config/lxpanel/default/panels/panel
@@ -25,6 +25,26 @@ Global {
}
Plugin {
+ type = menu
+ Config {
+ image=/usr/share/lxpanel/images/my-computer.png
+ system {
+ }
+ separator {
+ }
+ item {
+ command=run
+ }
+ separator {
+ }
+ item {
+ image=gnome-logout
+ command=logout
+ }
+ }
+}
+
+Plugin {
type = space
expand=1
Config {
diff --git a/.config/maildirproc/default.rc b/.config/maildirproc/default.rc
index c2ad6f2..ecea80f 100644
--- a/.config/maildirproc/default.rc
+++ b/.config/maildirproc/default.rc
@@ -10,7 +10,9 @@ def is_to_or_from(mail,address):
Return true if [mail] is to or from an address that contains [address].
"""
return (
- mail["From"].contains(address)
+ False
+ or mail["From"].contains(address)
+ or mail["Reply-To"].contains(address)
or mail.target.contains(address))
def is_to_or_from_re(mail,address):
"""
@@ -72,7 +74,7 @@ def handle_incoming_unknown(mail):
def my_filters(mail):
# Sort mail from GNU mailing lists
- for list in [ 'bug-gsrc', 'bug-make', 'help-make', 'social', 'help-grub' ]:
+ for list in [ 'bug-gsrc', 'bug-make', 'help-make', 'social', 'help-grub', 'bug-gnuzilla' ]:
if (
False
or mail["List-Id"].matches(list+"\.gnu\.org")
@@ -90,6 +92,10 @@ def my_filters(mail):
mail.move(".software.social")
return
+ if mail["List-Id"].matches("networkmanager-list\.gnome\.org"):
+ mail.move(".software.networkmanager")
+ return
+
if mail["List-Id"].matches("maintenance.lists.parabolagnulinux.org"):
mail.move(".software.parabola-maintenance")
return
@@ -97,6 +103,7 @@ def my_filters(mail):
False
or mail["List-Id"].matches("parabolagnulinux.org")
or is_to_or_from(mail, "parabolagnulinux.org")
+ or is_to_or_from(mail, "kiwwwi.com.ar")
or is_to_or_from(mail, "parabola.nu")
):
mail.move(".software.parabola-dev")
@@ -166,6 +173,7 @@ def my_filters(mail):
"justicejade10@aol.com",
"parsonsjade@aol.com",
"parsonstjade@gmail.com",
+ "jadparso@umail.iu.edu",
]:
if mail["From"].contains(address):
mail.move(".misc.Jade")
@@ -190,23 +198,24 @@ def my_filters(mail):
# Sort mail from FRC people
for address in [
- "jeffreysmith@msdlt.k12.in.us",
- "jason.zielke@gmail.com",
- "allison.m.babcock@gmail.com",
- "william.walk@gmail.com",
+ "@ni.com",
+ "@usfirst.org",
"BBonahoom@stanleyworks.com",
- "wcxctrack829@aim.com", # Pat
+ "allison.m.babcock@gmail.com",
+ "bryanbonahoom@gmail.com",
+ "cdewalt3@yahoo.com",
+ "dave.nelson@ecolab.com",
+ "dickaustin190@yahoo.com",
"djnels1@comcast.net", # Dave and Julie Nelson
+ "gamefreak207@gmail.com", # Brett Leedy
+ "jason.zielke@gmail.com",
+ "jeffreysmith@msdlt.k12.in.us",
"sarahlittell@comcast.net",
+ "silioso@gmail.com",
"skiplittell@comcast.net",
- "dave.nelson@ecolab.com",
- "@ni.com",
- "@usfirst.org",
- "gamefreak207@gmail.com", # Brett Leedy
"tswilson4801@att.net",
- "silioso@gmail.com",
- "cdewalt3@yahoo.com",
- "bryanbonahoom@gmail.com",
+ "wcxctrack829@aim.com", # Pat
+ "william.walk@gmail.com",
]:
if is_to_or_from(mail,address):
mail.move(".School.Robotics")
@@ -224,6 +233,7 @@ def my_filters(mail):
# Sort mail from software people
for address in [
"gnu.org",
+ "gnome.org",
"eff.org",
"gitorious.org",
"sourceforge.com",
@@ -306,10 +316,10 @@ def my_filters(mail):
return
if (
False
- or mail["From"].contains(".edu")
+ #or mail["From"].contains(".edu")
or mail["From"].contains("admissions@")
- or mail["From"].contains("college")
- or mail["From"].contains("university")
+ #or mail["From"].contains("college")
+ #or mail["From"].contains("university")
or mail["Subject"].contains("college")
# now we get to the BS
or mail["From"].contains("@dreamitdoitindiana.com")
diff --git a/.config/meld/meldrc.ini b/.config/meld/meldrc.ini
deleted file mode 120000
index dc1dc0c..0000000
--- a/.config/meld/meldrc.ini
+++ /dev/null
@@ -1 +0,0 @@
-/dev/null \ No newline at end of file
diff --git a/.config/nanorc b/.config/nanorc
new file mode 100644
index 0000000..b21e86b
--- /dev/null
+++ b/.config/nanorc
@@ -0,0 +1,233 @@
+## Please note that you must have configured nano with --enable-nanorc
+## for this file to be read! Also note that this file should not be in
+## DOS or Mac format, and that characters specially interpreted by the
+## shell should not be escaped here.
+##
+## To make sure a value is disabled, use "unset <option>".
+##
+## For the options that take parameters, the default value is given.
+## Other options are unset by default.
+##
+## Quotes inside string parameters don't have to be escaped with
+## backslashes. The last double quote in the string will be treated as
+## its end. For example, for the "brackets" option, ""')>]}" will match
+## ", ', ), >, ], and }.
+
+## Use auto-indentation.
+set autoindent
+
+## Backup files to filename~.
+# set backup
+
+## The directory to put unique backup files in.
+set backupdir "~/.nano-backup"
+
+## Do backwards searches by default.
+# set backwards
+
+## Use bold text instead of reverse video text.
+# set boldtext
+
+## The characters treated as closing brackets when justifying
+## paragraphs. They cannot contain blank characters. Only closing
+## punctuation, optionally followed by closing brackets, can end
+## sentences.
+##
+# set brackets ""')>]}"
+
+## Do case sensitive searches by default.
+# set casesensitive
+
+## Constantly display the cursor position in the statusbar. Note that
+## this overrides "quickblank".
+# set const
+
+## Use cut to end of line by default.
+# set cut
+
+## Set the line length for wrapping text and justifying paragraphs.
+## If fill is 0 or less, the line length will be the screen width less
+## this number.
+##
+# set fill -8
+
+## Enable ~/.nano_history for saving and reading search/replace strings.
+# set historylog
+
+## The opening and closing brackets that can be found by bracket
+## searches. They cannot contain blank characters. The former set must
+## come before the latter set, and both must be in the same order.
+##
+# set matchbrackets "(<[{)>]}"
+
+## Use the blank line below the titlebar as extra editing space.
+# set morespace
+
+## Enable mouse support, if available for your system. When enabled,
+## mouse clicks can be used to place the cursor, set the mark (with a
+## double click), and execute shortcuts. The mouse will work in the X
+## Window System, and on the console when gpm is running.
+##
+# set mouse
+
+## Allow multiple file buffers (inserting a file will put it into a
+## separate buffer). You must have configured with --enable-multibuffer
+## for this to work.
+##
+# set multibuffer
+
+## Don't convert files from DOS/Mac format.
+set noconvert
+
+## Don't follow symlinks when writing files.
+# set nofollow
+
+## Don't display the helpful shortcut lists at the bottom of the screen.
+# set nohelp
+
+## Don't add newlines to the ends of files.
+set nonewlines
+
+## Don't wrap text at all.
+# set nowrap
+
+## Set operating directory. nano will not read or write files outside
+## this directory and its subdirectories. Also, the current directory
+## is changed to here, so any files are inserted from this dir. A blank
+## string means the operating directory feature is turned off.
+##
+# set operatingdir ""
+
+## Preserve the XON and XOFF keys (^Q and ^S).
+# set preserve
+
+## The characters treated as closing punctuation when justifying
+## paragraphs. They cannot contain blank characters. Only closing
+## punctuation, optionally followed by closing brackets, can end
+## sentences.
+##
+# set punct "!.?"
+
+## Do quick statusbar blanking. Statusbar messages will disappear after
+## 1 keystroke instead of 26. Note that "const" overrides this.
+##
+# set quickblank
+
+## The email-quote string, used to justify email-quoted paragraphs.
+## This is an extended regular expression if your system supports them,
+## otherwise a literal string. Default:
+# set quotestr "^([ ]*[#:>\|}])+"
+## if you have extended regular expression support, otherwise:
+# set quotestr "> "
+
+## Fix Backspace/Delete confusion problem.
+# set rebinddelete
+
+## Fix numeric keypad key confusion problem.
+# set rebindkeypad
+
+## Do extended regular expression searches by default.
+# set regexp
+
+## Make the Home key smarter. When Home is pressed anywhere but at the
+## very beginning of non-whitespace characters on a line, the cursor
+## will jump to that beginning (either forwards or backwards). If the
+## cursor is already at that position, it will jump to the true
+## beginning of the line.
+set smarthome
+
+## Use smooth scrolling as the default.
+set smooth
+
+## Enable soft line wrapping (AKA full line display).
+set softwrap
+
+## Use this spelling checker instead of the internal one. This option
+## does not properly have a default value.
+##
+# set speller "aspell -x -c"
+
+## Allow nano to be suspended.
+# set suspend
+
+## Use this tab size instead of the default; it must be greater than 0.
+# set tabsize 8
+
+## Convert typed tabs to spaces.
+# set tabstospaces
+
+## Save automatically on exit, don't prompt.
+# set tempfile
+
+## Enable the new (EXPERIMENTAL) generic undo code, not just for line
+## cuts.
+# set undo
+
+## Disallow file modification. Why would you want this in an rcfile? ;)
+# set view
+
+## The two single-column characters used to display the first characters
+## of tabs and spaces. 187 in ISO 8859-1 (0000BB in Unicode) and 183 in
+## ISO-8859-1 (0000B7 in Unicode) seem to be good values for these.
+# set whitespace " "
+
+## Detect word boundaries more accurately by treating punctuation
+## characters as parts of words.
+# set wordbounds
+
+
+## Color setup
+##
+## Format:
+##
+## syntax "short description" ["filename regex" ...]
+##
+## The "none" syntax is reserved; specifying it on the command line is
+## the same as not having a syntax at all. The "default" syntax is
+## special: it takes no filename regexes, and applies to files that
+## don't match any other syntax's filename regexes.
+##
+## color foreground,background "regex" ["regex"...]
+## or
+## icolor foreground,background "regex" ["regex"...]
+##
+## "color" will do case sensitive matches, while "icolor" will do case
+## insensitive matches.
+##
+## Valid colors: white, black, red, blue, green, yellow, magenta, cyan.
+## For foreground colors, you may use the prefix "bright" to get a
+## stronger highlight.
+##
+## To use multi-line regexes, use the start="regex" end="regex"
+## [start="regex" end="regex"...] format.
+##
+## If your system supports transparency, not specifying a background
+## color will use a transparent color. If you don't want this, be sure
+## to set the background color to black or white.
+##
+## If you wish, you may put your syntaxes in separate files. You can
+## make use of such files (which can only include "syntax", "color", and
+## "icolor" commands) as follows:
+##
+## include "/path/to/syntax_file.nanorc"
+##
+## Unless otherwise noted, the name of the syntax file (without the
+## ".nanorc" extension) should be the same as the "short description"
+## name inside that file. These names are kept fairly short to make
+## them easier to remember and faster to type using nano's -Y option.
+##
+## All regexes should be extended regular expressions.
+
+## Key bindings
+## Please see nanorc(5) for more details on this
+##
+## Here are some samples to get you going
+##
+# bind M-W nowrap main
+# bind M-A casesens search
+# bind ^S research main
+
+## Set this if your backspace key sends delete most of the time (2.1.3+)
+# bind kdel backspace all
+
+
diff --git a/.config/offlineimaprc b/.config/offlineimaprc
new file mode 100644
index 0000000..8ea8f30
--- /dev/null
+++ b/.config/offlineimaprc
@@ -0,0 +1,49 @@
+# -*- Mode: Conf -*-
+[general]
+accounts = ATT,Purdue
+
+## AT&T ###############################################################
+
+[Account ATT]
+localrepository = Local-Main
+remoterepository = Remote-SBCGlobal
+
+[Repository Local-Main]
+type = Maildir
+localfolders = ~/Maildir
+sep = .
+folderfilter = lambda foldername: not re.search('(Trash|Del|-old|Draft)', foldername)
+# transforms local -> remote
+nametrans = lambda foldername: re.sub('^$', 'Inbox', re.sub('^'+re.escape('%(sep)s'), '', foldername))
+
+[Repository Remote-SBCGlobal]
+type = IMAP
+ssl = yes
+cert_fingerprint = 700d84baa7e852240178dc2de18e7e528a2854df
+remotehost = imap.mail.yahoo.com
+remoteuser = lukeshu@sbcglobal.net
+folderfilter = lambda foldername: not re.search('(Trash|Del)', foldername)
+
+# transforms remote -> local
+# we must assume that sep=/ on the remote IMAP server.
+nametrans = lambda foldername: '/'+re.sub('^Inbox$', '', foldername)
+
+## Purdue ############################################################
+
+[Account Purdue]
+localrepository = Local-Purdue
+remoterepository = Remote-Purdue
+
+[Repository Local-Purdue]
+type = Maildir
+localfolders = ~/Maildir.purdue
+sep = .
+folderfilter = lambda foldername: re.search('INBOX', foldername)
+
+[Repository Remote-Purdue]
+type = IMAP
+ssl = yes
+cert_fingerprint = 32bdd134cad8da1bea57aa379b98b1cff692e4fd
+remotehost = mymail.purdue.edu
+remoteuser = shumakl
+folderfilter = lambda foldername: re.search('INBOX', foldername)
diff --git a/.config/okular/.gitignore b/.config/okular/.gitignore
new file mode 100644
index 0000000..4e33b14
--- /dev/null
+++ b/.config/okular/.gitignore
@@ -0,0 +1 @@
+docdata
diff --git a/.config/symlinks b/.config/symlinks
new file mode 100644
index 0000000..3d87984
--- /dev/null
+++ b/.config/symlinks
@@ -0,0 +1,35 @@
+.config/X11/defaults .Xdefaults
+.config/X11/clientrc .xinitrc
+.config/X11/serverrc .xserverrc
+.config/X11/login .xsession
+
+.config/bash/rc.sh .bashrc
+.config/bash/login.sh .bash_login
+.config/bash/logout.sh .bash_logout
+
+.config/arduino/ .arduino
+.config/bazaar/ .bazaar
+.config/cpan/ .cpan
+.config/emacs/ .emacs.d
+.config/gimp-2.6/ .gimp-2.6
+.config/gimp-2.8/ .gimp-2.8
+.config/maildirproc/ .maildirproc
+.config/mozilla/ .mozilla #
+.config/mplayer/ .mplayer
+.config/nanorc .nanorc
+.config/netbeans/ .netbeans
+.config/purple/ .purple
+.config/ssh/ .ssh #
+.config/subversion/ .subversion
+.config/wmii/ .wmii
+
+.config/conkerorrc .conkerorrc
+.config/hgrc .hgrc
+.config/linphonerc .linphonerc
+.config/offlineimaprc .offlineimaprc
+
+.config/ .kde/share/apps
+.config/ .kde/share/config
+
+.kde/ .kde4
+.mozilla/ .conkeror.mozdev.org
diff --git a/.config/symlinks.sh b/.config/symlinks.sh
new file mode 100755
index 0000000..a3db6ae
--- /dev/null
+++ b/.config/symlinks.sh
@@ -0,0 +1,15 @@
+#!/bin/bash
+
+sed -e '/^\s*$/d' -e '/#/d' symlinks | while read _path _link; do
+ path="$(sed -rn 's|[^/]+/|../|g;s|/[^/]+$|/|p' <<<"$_link")${_path}"
+ link="$HOME/$_link"
+ if [[ -L "$link" ]]; then
+ rm -f "$link"
+ fi
+ if [[ -e "$link" ]]; then
+ echo "ERROR: file exists: $link" >> /dev/stderr
+ else
+ mkdir -p "${link%/*}"
+ ln -s "$path" "$link"
+ fi
+done