summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Shumaker <LukeShu@sbcglobal.net>2013-10-12 14:41:33 -0400
committerLuke Shumaker <LukeShu@sbcglobal.net>2013-10-12 14:41:33 -0400
commitb0cdbb3da2c2b36d3c65b00db4eaf5a0d29c2cd6 (patch)
tree6815d1584f909fd52a87f04de26fc179ae7c163e
parent5f7de477be298f158369862c1a3cc80286fc7e32 (diff)
parent9413cf45dfc7601ace8d448a026a24073b6d73b4 (diff)
Merge branch 'thinkpenguin-par'
l---------.Xdefaults1
l---------.arduino1
l---------.bash_login1
l---------.bash_logout1
l---------.bashrc1
l---------.bazaar1
-rw-r--r--.bootstrap.min.sh7
-rw-r--r--.config/Makefile40
-rw-r--r--.config/X11/defaults11
-rw-r--r--.config/X11/modmap11
-rw-r--r--.config/bash/aliases.sh31
-rw-r--r--.config/bash/rc.sh16
-rw-r--r--.config/cron/crontab3
-rw-r--r--.config/cron/make-config2
-rw-r--r--.config/dunst/dunstrc92
-rw-r--r--.config/emacs/custom.el19
-rw-r--r--.config/emacs/init.el33
-rw-r--r--.config/emacs/wl.el (renamed from .wl)19
-rw-r--r--.config/git/config (renamed from .gitconfig)0
-rw-r--r--.config/git/ignore (renamed from .gitignore)0
-rw-r--r--.config/gpg/gpg.conf (renamed from .gnupg/gpg.conf)0
-rw-r--r--.config/gtk-2.0/.gitignore1
-rw-r--r--.config/gtk-2.0/gtkfilechooser.ini12
-rw-r--r--.config/gtk-3.0/settings.ini3
-rw-r--r--.config/hgk59
-rw-r--r--.config/hgrc2
-rw-r--r--.config/icons/default/index.theme (renamed from .icons/default/index.theme)0
-rw-r--r--.config/irbrc4
-rw-r--r--.config/login.sh (renamed from .profile)49
-rw-r--r--.config/lxpanel/default/config3
-rw-r--r--.config/lxpanel/default/panels/panel5
-rw-r--r--.config/maildirproc/att.rc (renamed from .config/maildirproc/default.rc)28
-rw-r--r--.config/maildirproc/purdue.rc77
-rw-r--r--.config/offlineimaprc4
-rw-r--r--.config/selected_editor (renamed from .selected_editor)0
-rw-r--r--.config/ssh/config (renamed from .ssh/config)22
-rw-r--r--.config/symlinks44
-rwxr-xr-x.config/wmii-hg/autostart12
-rw-r--r--.config/wmii-hg/config.sh (renamed from .config/wmii/config.sh)23
-rw-r--r--.config/wmii-hg/ctl-init (renamed from .config/wmii/ctl-init)0
-rw-r--r--.config/wmii-hg/fixes.sh (renamed from .config/wmii/fixes.sh)0
-rwxr-xr-x.config/wmii-hg/help-events (renamed from .config/wmii/help-events)2
-rwxr-xr-x.config/wmii-hg/help-keys (renamed from .config/wmii/help-keys)2
-rw-r--r--.config/wmii-hg/include.sh11
-rwxr-xr-x.config/wmii-hg/quit (renamed from .config/wmii/quit)2
-rwxr-xr-x.config/wmii-hg/rbar_battery9
-rwxr-xr-x.config/wmii-hg/rbar_clock9
-rwxr-xr-x.config/wmii-hg/rbar_cpu (renamed from .config/wmii/rbar_cpu)4
-rwxr-xr-x.config/wmii-hg/rbar_wifi9
-rw-r--r--.config/wmii-hg/rules8
-rw-r--r--.config/wmii-hg/theme-solarized (renamed from .config/wmii/theme-solarized)0
-rw-r--r--.config/wmii-hg/theme-solarized-dark (renamed from .config/wmii/theme-solarized-dark)2
-rw-r--r--.config/wmii-hg/theme-tango10
-rw-r--r--.config/wmii-hg/theme-tango-dark11
-rw-r--r--.config/wmii-hg/util.sh (renamed from .config/wmii/util.sh)4
-rwxr-xr-x.config/wmii-hg/wmiirc (renamed from .config/wmii/wmiirc)5
-rw-r--r--.config/wmii/include.sh11
-rwxr-xr-x.config/wmii/rbar_battery9
-rwxr-xr-x.config/wmii/rbar_clock9
-rwxr-xr-x.config/wmii/rbar_wifi9
-rw-r--r--.config/wmii/tagrules3
-rw-r--r--.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-notifyd.xml6
l---------.conkeror.mozdev.org1
l---------.conkerorrc1
l---------.cpan1
l---------.emacs.d1
l---------.gconf1
l---------.gconfd1
l---------.gimp-2.61
l---------.gimp-2.81
-rw-r--r--.git.info.exclude.in65
-rw-r--r--.gtkrc-2.02
-rw-r--r--.gtkrc-2.0.mine2
l---------.hgrc1
-rw-r--r--.irbrc1
-rw-r--r--.kde/.gitignore1
l---------.kde/share/apps1
l---------.kde/share/config1
l---------.kde41
l---------.linphonerc1
-rwxr-xr-x.local/bin/config-path51
-rwxr-xr-x.local/bin/config-symlinks (renamed from .config/symlinks.sh)6
-rwxr-xr-x.local/bin/notifyd14
-rw-r--r--.local/lib/path.sh9
-rw-r--r--.local/lib/xdg.sh23
l---------.maildirproc1
l---------.mplayer1
l---------.nanorc1
l---------.netbeans1
l---------.offlineimaprc1
l---------.purple1
l---------.subversion1
l---------.wmii1
l---------.xinitrc1
l---------.xserverrc1
l---------.xsession1
-rw-r--r--Makefile34
97 files changed, 676 insertions, 329 deletions
diff --git a/.Xdefaults b/.Xdefaults
deleted file mode 120000
index 7588317..0000000
--- a/.Xdefaults
+++ /dev/null
@@ -1 +0,0 @@
-.config/X11/defaults \ No newline at end of file
diff --git a/.arduino b/.arduino
deleted file mode 120000
index a7ade0f..0000000
--- a/.arduino
+++ /dev/null
@@ -1 +0,0 @@
-.config/arduino/ \ No newline at end of file
diff --git a/.bash_login b/.bash_login
deleted file mode 120000
index 31231da..0000000
--- a/.bash_login
+++ /dev/null
@@ -1 +0,0 @@
-.config/bash/login.sh \ No newline at end of file
diff --git a/.bash_logout b/.bash_logout
deleted file mode 120000
index d8117ff..0000000
--- a/.bash_logout
+++ /dev/null
@@ -1 +0,0 @@
-.config/bash/logout.sh \ No newline at end of file
diff --git a/.bashrc b/.bashrc
deleted file mode 120000
index 18faac1..0000000
--- a/.bashrc
+++ /dev/null
@@ -1 +0,0 @@
-.config/bash/rc.sh \ No newline at end of file
diff --git a/.bazaar b/.bazaar
deleted file mode 120000
index 71ca147..0000000
--- a/.bazaar
+++ /dev/null
@@ -1 +0,0 @@
-.config/bazaar/ \ No newline at end of file
diff --git a/.bootstrap.min.sh b/.bootstrap.min.sh
deleted file mode 100644
index eed85b5..0000000
--- a/.bootstrap.min.sh
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/sh
-
-files='.bashrc .bash_aliases .gitconfig .profile'
-for file in $files; do
- rm -f $file
- wget http://gitorious.org/lukeshu-dotfiles/lukeshu-dotfiles/blobs/raw/master/$file;
-done
diff --git a/.config/Makefile b/.config/Makefile
new file mode 100644
index 0000000..829b820
--- /dev/null
+++ b/.config/Makefile
@@ -0,0 +1,40 @@
+#!/usr/bin/make -f
+
+SHELL = /bin/bash
+
+GITDIR = ${HOME}/.git
+
+targets = \
+ ${GITDIR}/info/exclude \
+ ${HOME}/.folders \
+ ${XDG_CACHE_HOME}/config-symlinks/cookie \
+ ${XDG_CACHE_HOME}/cron/cookie
+
+all: $(targets)
+clean:
+ rm -f $(targets)
+
+${HOME}/.folders: ${HOME}/Maildir
+ ( echo '..'; find $< -maxdepth 2 -type f -name "maildirfolder" -printf '%h\n'|sed -r 's@.*/(.*\.)(.*)@.\1\2@' )|sort>'$@'
+${GITDIR}/info/exclude: ${HOME}/.git.info.exclude.in $(shell echo .??*/)
+ ( cat $<; find $^ -type f -name 'CACHEDIR.TAG' -printf '%h\n'|sed 's@^\./@/@' ) > $@
+
+${XDG_CACHE_HOME}/cron/cookie: ${XDG_CONFIG_HOME}/cron
+ -(cat $^/*; echo) | crontab - 2>/dev/null
+ mkdir -p '$(@D)'
+ date > '$@'
+
+${XDG_CACHE_HOME}/config-symlinks/cookie: ${XDG_CONFIG_HOME}/symlinks
+ config-symlinks
+ mkdir -p '$(@D)'
+ date > '$@'
+
+${HOME}/Maildir:
+ mkdir -p '$@'/{cur,new,tmp}
+${HOME}/Maildir/%: | ${HOME}/Maildir
+ mkdir -p '$@'/{cur,new,tmp}
+ touch '$@'/maildirfolder
+
+.PHONY: FORCE PHONY
+FORCE: ;
+PHONY: ;
diff --git a/.config/X11/defaults b/.config/X11/defaults
index 07d35b4..252170c 100644
--- a/.config/X11/defaults
+++ b/.config/X11/defaults
@@ -1,12 +1,17 @@
-URxvt.background: #000000
-URxvt.foreground: #CCCCCC
+# -*- Mode: Conf-xdefaults -*-
+
+# "native" colors
+#URxvt.background: #000000
+#URxvt.foreground: #CCCCCC
+# Tango-dark
+URxvt.background: #2E3436
+URxvt.foreground: #EEEEEC
URxvt.scrollstyle: plain
URxvt.scrollBar_floating: true
URxvt.font: xft:Monospace-8
URxvt.cursorBlink: true
-URxvt.termName: xterm-256color
URxvt.pastableTabs: true
URxvt.scrollTtyOutput: false
diff --git a/.config/X11/modmap b/.config/X11/modmap
index e4ade24..1736e09 100644
--- a/.config/X11/modmap
+++ b/.config/X11/modmap
@@ -1,7 +1,12 @@
+! My desktop doesn't have a super key, so I map Caps_Lock to Super_L
+! Also, use Caps_Lock for the compose key
remove lock = Caps_Lock
-keysym Caps_Lock = Super_L
-
-keycode 135 = Super_R
+keysym Caps_Lock = Super_L Multi_key
+! All of these are my "super". Silly I have so many...
clear mod4
add mod4 = Super_L Super_R Hyper_L Hyper_R Menu
+
+
+! Note to future me:
+! The modifiers are: << Shift, Lock, Control, Mod{1..5} >> and are NOT case sensitive
diff --git a/.config/bash/aliases.sh b/.config/bash/aliases.sh
index 0964a83..aabd073 100644
--- a/.config/bash/aliases.sh
+++ b/.config/bash/aliases.sh
@@ -6,23 +6,23 @@
# Set up colors and settings for ls/dir/vdir #
######################################################################
if [ -x "`which dircolors`" ]; then
- eval "`dircolors -b`"
- alias ls='ls -1v --color=auto'
- alias dir='dir -v --color=auto'
- alias vdir='vdir -v--color=auto'
+ eval "`dircolors -b`"
+ alias ls='ls -1v --color=auto'
+ alias dir='dir -v --color=auto'
+ alias vdir='vdir -v--color=auto'
- for xgrep in ${PATH//:/\/*grep }/*grep; do
- if [ -f "$xgrep" ]; then
- xgrep=`basename "$xgrep"`
- if [ "$xgrep" != pgrep ]; then
- alias $xgrep="$xgrep --color=auto"
- fi
- fi
- done
+ for xgrep in ${PATH//:/\/*grep }/*grep; do
+ if [ -f "$xgrep" ]; then
+ xgrep=`basename "$xgrep"`
+ if [ "$xgrep" != pgrep ]; then
+ alias $xgrep="$xgrep --color=auto"
+ fi
+ fi
+ done
else
- alias ls='ls -1v'
- alias dir='dir -v'
- alias vdir='vdir -v'
+ alias ls='ls -1v'
+ alias dir='dir -v'
+ alias vdir='vdir -v'
fi
######################################################################
@@ -36,7 +36,6 @@ alias l='ls -CF'
# Some preferences for miscellaneous stuff #
######################################################################
#alias rm='gvfs-trash'
-alias ssh='ssh -XC'
#alias sed='sed --follow-symlinks' # breaks sed 4.2.2
alias tree='tree --charset utf8'
alias cd=pushd
diff --git a/.config/bash/rc.sh b/.config/bash/rc.sh
index faf8116..447796a 100644
--- a/.config/bash/rc.sh
+++ b/.config/bash/rc.sh
@@ -1,15 +1,10 @@
-# ~/.bashrc: executed by bash(1) for non-login shells.
+# ~/.bashrc: executed by bash(1) for interactive non-login shells.
# 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
[[ $- != *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
-
# Why is this not on by default?
# "We have a cached value, but it isn't valid anymore. Should we trash it?"
# "Duh, yes!"
@@ -45,11 +40,10 @@ term-title() {
}
make_prompt() {
- local _CHROOT='${debian_chroot:+($debian_chroot)}'
- echo "${BOLD}${_CHROOT}${GREEN}\u@\h${RESET}${BOLD}${BLUE}:\w${RESET}"
+ echo "${BOLD}${GREEN}\u@\h${BLUE}:\w${RESET}"
}
-if [[ -x /usr/bin/tput ]] && tput setaf 1 >&/dev/null; then
+if 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.)
@@ -60,13 +54,13 @@ if [[ -x /usr/bin/tput ]] && tput setaf 1 >&/dev/null; then
BLUE="$(tput setaf 4)"
_STATUS="${BOLD}["
- _STATUS+='$(v=$?; if [[ $v = 0 ]]; then c='"'${GREEN}'"'; else c='"${RED}"'; fi; printf %s%03i $c $v)'
+ _STATUS+="\$(v=\$?; [[ \$v = 0 ]] && c='${GREEN}' || c='${RED}'; printf %s%03i \$c \$v)"
_STATUS+="${RESET}${BOLD}]${RESET}"
else
_STATUS='[$?]'
fi
PS1="${_STATUS} $(make_prompt)"'\n\$ '
-unset RESET BOLD RED GREEN BLUE _STATUS use_color
+unset RESET BOLD RED GREEN BLUE _STATUS
PS1="$(term-title $(make_prompt))$PS1"
unset make_prompt
diff --git a/.config/cron/crontab b/.config/cron/crontab
deleted file mode 100644
index e396cef..0000000
--- a/.config/cron/crontab
+++ /dev/null
@@ -1,3 +0,0 @@
-# m h dom mon dow command
-*/5 * * * * cd $HOME/.config && make
-*/5 * * * * offlineimap-runner 2 -u quiet
diff --git a/.config/cron/make-config b/.config/cron/make-config
new file mode 100644
index 0000000..448475b
--- /dev/null
+++ b/.config/cron/make-config
@@ -0,0 +1,2 @@
+# m h dom mon dow command
+*/5 * * * * . $HOME/.local/lib/path.sh && . $HOME/.local/lib/xdg.sh && make -C $XDG_CONFIG_HOME
diff --git a/.config/dunst/dunstrc b/.config/dunst/dunstrc
new file mode 100644
index 0000000..fc93a12
--- /dev/null
+++ b/.config/dunst/dunstrc
@@ -0,0 +1,92 @@
+# -*- Mode: conf -*-
+[global]
+
+ # Markup syntax:
+ # http://developer.gnome.org/pango/stable/PangoMarkupFormat.html
+ # Format string variables:
+ # %a appname
+ # %s summary
+ # %b body
+ # %i iconname (including its path)
+ # %I iconname (without its path)
+ # %p progress value if set ([ 0%] to [100%]) or nothing
+
+ # Message format
+ format = "<b>%s</b>\n%b"
+ allow_markup = yes
+ ignore_newline = no
+ # Message word-wrap/scroll
+ word_wrap = yes # Split lines...
+ bounce_freq = 0 # ...or scroll long lines?
+ # Window settings
+ monitor = 0 # Default monitor
+ follow = mouse # Follow monitors? (mouse/keyboard/none)
+ geometry = "300x5-0+16" # [{width}]x{height}][+/-{x}+/-{y}]
+ transparency = 10
+ # Layout settings
+ padding = 8 # Vertical padding
+ horizontal_padding = 8 # Horizontal padding
+ separator_height = 2 # Height of line between notifications
+ separator_color = frame # (auto/foreground/frame/<X color>)
+ # Font settings
+ font = Monospace 8
+ line_height = 0 # if less than font height, font height is used
+ allignment = left # (left/center/right)
+ # Misc.
+ sort = yes # Sort messages by urgency
+ indicate_hidden = yes
+ show_age_threshold = 60 # -1 to disable
+ idle_threshold = 120 # Don't timeout messages if the user is gone
+ sticky_history = yes # Don't timeout messages popped up from history
+ startup_notification = false # mostly for debugging
+ # External programs
+ dmenu = wimenu -p dunst:
+ browser = v-www-browser
+
+[frame]
+ width = 1
+ color = "#eeeeec"
+
+[shortcuts]
+ close = ctrl+space
+ close_all = ctrl+shift+space
+ history = ctrl+grave
+ context = ctrl+shift+period
+
+[urgency_low]
+ background = "#2e3436"
+ foreground = "#babdb6"
+ timeout = 10
+
+[urgency_normal]
+ background = "#555753"
+ foreground = "#eeeeec"
+ timeout = 10
+
+[urgency_critical]
+ background = "#cc0000"
+ foreground = "#eeeeec"
+ timeout = 0
+
+
+# Every section that isn't one of the above is interpreted as a rules
+# to override settings for certain messages.
+
+# Filters: (shell-like globbing will get expanded)
+# appname
+# summary
+# body
+# icon
+# Overrides:
+# timeout
+# urgency
+# foreground
+# background
+# format (blank to not display)
+# Scripting:
+# If you set 'script=', the value will be called like:
+# script appname summary body icon urgency
+# Where urgency can be "LOW", "NORMAL" or "CRITICAL".
+#
+# NOTE: It might be helpful to run dunst -print in a terminal in order to find
+# fitting options for filters.
diff --git a/.config/emacs/custom.el b/.config/emacs/custom.el
index dad3d8d..47bf654 100644
--- a/.config/emacs/custom.el
+++ b/.config/emacs/custom.el
@@ -3,11 +3,16 @@
;; 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 (zenburn)))
- '(custom-safe-themes (quote ("1e7e097ec8cb1f8c3a912d7e1e0331caeed49fef6cff220be63bd2a6ba4cc365" "71b172ea4aad108801421cc5251edb6c792f3adbaecfa1c52e94e3d99634dee7" "fc5fcb6f1f1c1bc01305694c59a1a861b008c534cae8d0e48e4d5e81ad718bc6" default)))
+ '(ansi-color-faces-vector [default bold shadow italic underline bold bold-italic bold])
+ '(ansi-color-names-vector (vector "#ffffff" "#ff9da4" "#d1f1a9" "#ffeead" "#bbdaff" "#ebbbff" "#99ffff" "#002451"))
+ '(custom-enabled-themes (quote (tango-dark)))
+ '(custom-safe-themes (quote ("9f443833deb3412a34d2d2c912247349d4bd1b09e0f5eaba11a3ea7872892000" "bb08c73af94ee74453c90422485b29e5643b73b05e8de029a6909af6a3fb3f58" "82d2cac368ccdec2fcc7573f24c3f79654b78bf133096f9b40c20d97ec1d8016" "1b8d67b43ff1723960eb5e0cba512a2c7a2ad544ddb2533a90101fd1852b426e" "628278136f88aa1a151bb2d6c8a86bf2b7631fbea5f0f76cba2a0079cd910f7d" "06f0b439b62164c6f8f84fdda32b62fb50b6d00e8b01c2208e55543a6337433a" "1e7e097ec8cb1f8c3a912d7e1e0331caeed49fef6cff220be63bd2a6ba4cc365" "71b172ea4aad108801421cc5251edb6c792f3adbaecfa1c52e94e3d99634dee7" "fc5fcb6f1f1c1bc01305694c59a1a861b008c534cae8d0e48e4d5e81ad718bc6" default)))
'(erc-nick "lukeshu")
'(explicit-shell-file-name "/bin/bash")
+ '(fci-rule-color "#00346e")
+ '(global-whitespace-mode nil)
'(inhibit-startup-screen t)
+ '(maildir-mail-dir "~/Maildir")
'(mdmua-maildir "~/Maildir")
'(minibuffer-prompt-properties (quote (read-only t point-entered minibuffer-avoid-prompt face minibuffer-prompt)))
'(page-break-lines-char 45)
@@ -15,8 +20,16 @@
'(ruby-deep-indent-paren nil)
'(safe-local-variable-values (quote ((Nginx-indent-tabs-mode) (Nginx-indent-level . 4) (Nginx-indent-level . 8))))
'(scroll-bar-mode nil)
+ '(send-mail-function (quote smtpmail-send-it))
'(sh-basic-offset 8)
- '(sh-indent-comment t))
+ '(sh-indent-comment t)
+ '(smtpmail-smtp-server "plus.smtp.mail.yahoo.com")
+ '(smtpmail-smtp-service 587)
+ '(vc-annotate-background "#2b2b2b")
+ '(vc-annotate-color-map (quote ((20 . "#bc8383") (40 . "#cc9393") (60 . "#dfaf8f") (80 . "#d0bf8f") (100 . "#e0cf9f") (120 . "#f0dfaf") (140 . "#5f7f5f") (160 . "#7f9f7f") (180 . "#8fb28f") (200 . "#9fc59f") (220 . "#afd8af") (240 . "#bfebbf") (260 . "#93e0e3") (280 . "#6ca0a3") (300 . "#7cb8bb") (320 . "#8cd0d3") (340 . "#94bff3") (360 . "#dc8cc3"))))
+ '(vc-annotate-very-old-color "#dc8cc3")
+ '(wl-init-file "~/.emacs.d/wl.el")
+ '(wl-score-files-directory "~/.emacs.d/elmo"))
(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 402957a..2a7645f 100644
--- a/.config/emacs/init.el
+++ b/.config/emacs/init.el
@@ -1,6 +1,6 @@
;; Preliminary settings ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-(set-face-attribute 'default nil :height 75)
+(set-face-attribute 'default nil :height 80)
(setq notify-method 'notify-via-libnotify)
(add-to-list 'load-path "~/.emacs.d/")
(add-to-list 'load-path "~/.emacs.d/el-get/el-get")
@@ -91,11 +91,12 @@
;(load "mdmua")
(load "emacsutils")
+(set-default 'truncate-lines t)
(tool-bar-mode -1)
(ido-mode t)
(show-paren-mode 1)
-(setq org-hide-leading-stars t)
(setq org-log-done 'time)
+(setq gamegrid-user-score-file-directory "/var/games/emacs/")
;(xclip-mode 1)
(load "whitespace")
@@ -201,6 +202,8 @@
(add-to-list 'auto-mode-alist '("PKGBUILD" . sh-mode))
(add-to-list 'auto-mode-alist '("SRCBUILD" . sh-mode))
+(add-to-list 'auto-mode-alist '("\\.md\\'" . markdown-mode))
+(add-to-list 'auto-mode-alist '("\\.ronn\\'" . markdown-mode))
;(require 'flymake)
;(add-hook 'php-mode-hook (lambda() (flymake-mode 1)))
@@ -209,3 +212,29 @@
;(setq tramp-debug-buffer t)
;(setq tramp-verbose 10)
+
+;; (add-to-list 'load-path "/usr/share/emacs/site-lisp/mu4e")
+;; (require 'mu4e)
+;; (require 'mu4e-speedbar)
+
+;; (setq
+;; mu4e-maildir "~/Maildir" ;; top-level Maildir
+;; mu4e-sent-folder "/.Sent" ;; folder for sent messages
+;; mu4e-drafts-folder "/.Draft" ;; unfinished messages
+;; mu4e-trash-folder "/.Trash" ;; trashed messages
+;; mu4e-refile-folder "/archive") ;; saved messages
+;; (setq mu4e-get-mail-command "offlineimap")
+;; (setq mu4e-use-fancy-chars "t")
+;; ;; enable inline images
+;; (setq mu4e-view-show-images t)
+;; ;; use imagemagick, if available
+;; (when (fboundp 'imagemagick-register-types)
+;; (imagemagick-register-types))
+
+
+(defun sm-try-smerge ()
+ (save-excursion
+ (goto-char (point-min))
+ (when (re-search-forward "^<<<<<<< " nil t)
+ (smerge-mode 1))))
+(add-hook 'find-file-hook 'sm-try-smerge t)
diff --git a/.wl b/.config/emacs/wl.el
index f28f6ed..a169249 100644
--- a/.wl
+++ b/.config/emacs/wl.el
@@ -2,19 +2,20 @@
(setq user-mail-address "lukeshu@sbcglobal.net")
-;; wanderlust
+;; wanderlust
(setq
;; Misc ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- wl-local-domain "lukeshu.ath.cx"
+ wl-local-domain "lukeshu.ath.cx"
wl-icon-directory "~/.emacs.d/el-get/wanderlust/icons"
-
+
;; Network ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; This only deals with sending--I use offlineimap to fetch
wl-draft-send-mail-function 'wl-draft-send-mail-with-smtp
;; The following settings are Yahoo!'s SMTP servers:
wl-smtp-connection-type (quote ssl)
- wl-smtp-authenticate-type "login"
+ wl-smtp-authenticate-type "login"
wl-smtp-posting-server "plus.smtp.mail.yahoo.com"
+ ;wl-smtp-posting-server "outbound.att.net"
wl-smtp-posting-port 465
wl-smtp-posting-user user-mail-address
wl-message-id-domain user-mail-address
@@ -24,10 +25,10 @@
elmo-cache-directory "~/.emacs.d/elmo-cache" ;; where elmo keeps all its stuff
elmo-maildir-folder-path "~/Maildir" ;; where I store my mail
- ;; note: all below are dirs (Maildirs) under elmo-maildir-folder-path
+ ;; note: all below are dirs (Maildirs) under elmo-maildir-folder-path
;; the '.'-prefix is for marking them as maildirs
wl-fcc "..Sent" ;; sent msgs go to the "sent"-folder
- wl-default-folder "..Ham" ;; my main inbox
+ wl-default-folder "..Ham" ;; my main inbox
wl-draft-folder "..Draft" ;; store drafts in 'postponed'
wl-trash-folder "..Trash" ;; put trash in 'trash'
wl-spam-folder "..Bulk Mail" ;; put spam in 'Bulk Mail'
@@ -45,16 +46,16 @@
"^'$")
;; Writing
- wl-from (concat user-full-name " <" user-mail-address ">") ;; From: line
+ wl-from (concat user-full-name " <" user-mail-address ">") ;; From: line
;;wl-organization "Foo Corp"
wl-fcc-force-as-read t ;; mark sent messages as read
mime-edit-split-message nil ;; don't split long messages
;; Reading ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
wl-stay-folder-window t ;; show the folder pane (left)
- wl-folder-window-width 35 ;;
+ wl-folder-window-width 35 ;;
wl-message-auto-reassemble-message/partial t ;; reasemble split messages
-
+
wl-message-ignored-field-list '("^.*:") ;; default to hiding all headers
wl-message-visible-field-list ;; but then display these
'("^\\(To\\|Cc\\):"
diff --git a/.gitconfig b/.config/git/config
index 218b006..218b006 100644
--- a/.gitconfig
+++ b/.config/git/config
diff --git a/.gitignore b/.config/git/ignore
index e69de29..e69de29 100644
--- a/.gitignore
+++ b/.config/git/ignore
diff --git a/.gnupg/gpg.conf b/.config/gpg/gpg.conf
index f43a58e..f43a58e 100644
--- a/.gnupg/gpg.conf
+++ b/.config/gpg/gpg.conf
diff --git a/.config/gtk-2.0/.gitignore b/.config/gtk-2.0/.gitignore
new file mode 100644
index 0000000..67b1609
--- /dev/null
+++ b/.config/gtk-2.0/.gitignore
@@ -0,0 +1 @@
+gtkfilechooser.ini
diff --git a/.config/gtk-2.0/gtkfilechooser.ini b/.config/gtk-2.0/gtkfilechooser.ini
deleted file mode 100644
index 7cb92de..0000000
--- a/.config/gtk-2.0/gtkfilechooser.ini
+++ /dev/null
@@ -1,12 +0,0 @@
-[Filechooser Settings]
-LastFolderUri=file:///home/luke
-LocationMode=filename-entry
-ShowHidden=false
-ShowSizeColumn=true
-GeometryX=287
-GeometryY=99
-GeometryWidth=792
-GeometryHeight=585
-SortColumn=name
-SortOrder=ascending
-StartupMode=recent
diff --git a/.config/gtk-3.0/settings.ini b/.config/gtk-3.0/settings.ini
index b0443ec..9801ab0 100644
--- a/.config/gtk-3.0/settings.ini
+++ b/.config/gtk-3.0/settings.ini
@@ -1,6 +1,7 @@
[Settings]
-gtk-theme-name=Raleigh
+gtk-theme-name=oxygen-gtk
gtk-icon-theme-name=oxygen
+gtk-fallback-icon-theme=gnome
gtk-font-name=Sans 10
gtk-cursor-theme-name=Vanilla-DMZ
gtk-cursor-theme-size=0
diff --git a/.config/hgk b/.config/hgk
new file mode 100644
index 0000000..f767058
--- /dev/null
+++ b/.config/hgk
@@ -0,0 +1,59 @@
+set mainfont {Helvetica 9}
+set curidfont {Helvetica 9 bold italic underline}
+set textfont {Courier 9}
+set findmergefiles 0
+set gaudydiff 0
+set maxgraphpct 50
+set maxwidth 16
+set geometry(width) 1364
+set geometry(height) 690
+set geometry(canv1) 321
+set geometry(canv2) 66
+set geometry(canv3) 947
+set geometry(canvh) 256
+set geometry(ctextw) 90
+set geometry(cflistw) 84
+#
+# main window position:
+set posx 1
+set posy 61
+#
+# authorcolors format:
+#
+# zero or more sublists of
+#
+# { regex color }
+#
+# followed by a list of colors
+#
+# If the commit author matches a regex in a sublist,
+# the commit will be colored by that color
+# otherwise the next unused entry from the list of colors
+# will be assigned to this commit and also all other commits
+# of the same author. When the list of colors is exhausted,
+# the last entry will be reused.
+#
+set authorcolors {
+ black blue deeppink mediumorchid blue burlywood4 goldenrod slateblue red2 navy dimgrey
+}
+#
+# The background color in the text windows
+set bgcolor white
+#
+# The text color used in the diff and file list view
+set fgcolor black
+#
+# Color to display + lines in diffs
+set diffaddcolor #00a000
+#
+# Color to display - lines in diffs
+set diffremcolor red
+#
+# Merge diffs: Color to signal lines from first parent
+set diffmerge1color red
+#
+# Merge diffs: Color to signal lines from second parent
+set diffmerge2color blue
+#
+# Hunkseparator (@@ -lineno,lines +lineno,lines @@) color
+set hunksepcolor blue
diff --git a/.config/hgrc b/.config/hgrc
index 96fce82..cf595e3 100644
--- a/.config/hgrc
+++ b/.config/hgrc
@@ -1,2 +1,4 @@
[ui]
username = Luke Shumaker <lukeshu@sbcglobal.net>
+[extensions]
+hgk =
diff --git a/.icons/default/index.theme b/.config/icons/default/index.theme
index dd26337..dd26337 100644
--- a/.icons/default/index.theme
+++ b/.config/icons/default/index.theme
diff --git a/.config/irbrc b/.config/irbrc
new file mode 100644
index 0000000..27cce66
--- /dev/null
+++ b/.config/irbrc
@@ -0,0 +1,4 @@
+require 'rubygems' unless defined? Gem # only needed in 1.8
+require 'irb/ext/save-history'
+IRB.conf[:SAVE_HISTORY] = 5000
+IRB.conf[:HISTORY_FILE] = "#{ENV['XDG_CACHE_HOME']}/irb/history" \ No newline at end of file
diff --git a/.profile b/.config/login.sh
index 2d6f370..3dad752 100644
--- a/.profile
+++ b/.config/login.sh
@@ -1,3 +1,4 @@
+#!/bin/bash
# ~/.profile: executed by the command interpreter for login shells.
# Should be whether logging in graphically or not.
#
@@ -12,25 +13,25 @@ umask 022
## Paths #############################################################
-# Unix
-bins=($HOME/bin $HOME/.local.`uname -m`/bin $HOME/.local/bin $HOME/.prefix.`uname -m`/bin $HOME/.prefix/bin $HOME/.gem/ruby/*/bin)
-for dir in "${bins[@]}"; do
- if [ -d "$dir" ]; then
- export PATH="$dir:$PATH"
- fi
-done
+. "$HOME/.local/lib/path.sh"
-# Ruby
-for dir in $HOME/.prefix/lib; do
- if [ -d "$dir" ]; then
- export RUBYLIB="$dir"
- fi
-done
+# TMPDIR #############################################################
+
+if [[ ! -d "$HOME/tmp" ]]; then
+ tmp="$(mktemp --tmpdir -d "$USER-tmpdir.XXXXXXXXXXXXXXXXXXX")"
+ ln -sf "$tmp" "$HOME/tmp"
+ unset tmp
+fi
+export TMPDIR="$HOME/tmp"
+
+# XDG ################################################################
+
+. "$HOME/.local/lib/xdg.sh"
# Settings ###########################################################
# Text editor
-if [ -f "$HOME/.selected_editor" ]; then
+if [[ -f "$HOME/.selected_editor" ]]; then
. "$HOME/.selected_editor"
export SELECTED_EDITOR
export ALTERNATE_EDITOR
@@ -39,14 +40,14 @@ if [ -f "$HOME/.selected_editor" ]; then
fi
# GPG
-if [ -z "$GPGKEY" ] && [ -f "${HOME}/.gnupg/gpg.conf" ]; then
+if [[ -z $GPGKEY ]] && [[ -f "${HOME}/.gnupg/gpg.conf" ]]; then
export GPGKEY=`sed -nr 's/^\s*default-key\s+//p' "${HOME}/.gnupg/gpg.conf"`
fi
-if [ -z "$(pgrep -u `whoami` gpg-agent)" ]; then
- mkdir -p ${XDG_RUNTIME_DIR}/sessions
+if [[ -z "$(pgrep -u `whoami` gpg-agent)" ]] && [[ -n $XDG_RUNTIME_DIR ]] && type gpg-agent &>/dev/null; then
+ mkdir -p "${XDG_RUNTIME_DIR}/sessions"
gpg-agent --daemon --write-env-file "${XDG_RUNTIME_DIR}/sessions/gpg" &>/dev/null
fi
-if [ -f "${XDG_RUNTIME_DIR}/sessions/gpg" ]; then
+if [[ -f "${XDG_RUNTIME_DIR}/sessions/gpg" ]]; then
. "${XDG_RUNTIME_DIR}/sessions/gpg"
export GPG_AGENT_INFO
#export SSH_AUTH_SOCK
@@ -57,18 +58,18 @@ _JAVA_OPTIONS=''
_JAVA_OPTIONS+=' -Dawt.useSystemAAFontSettings=on'
_JAVA_OPTIONS+=' -Dswing.aatext=true'
_JAVA_OPTIONS+=' -Dswing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel'
-if [ -n "$TMPDIR" ]; then
+if [[ -n $TMPDIR ]]; then
_JAVA_OPTIONS+=" -Djava.io.tmpdir=$TMPDIR"
fi
export _JAVA_OPTIONS
# X11
-if [ -z "$XAUTHORITY" ]; then
- export XAUTHORITY=$HOME/.Xauthority
+if [[ -z $XAUTHORITY ]]; then
+ export XAUTHORITY="$HOME/.Xauthority"
fi
# D-Bus
-if [ -z "$DBUS_SESSION_BUS_ADDRESS" ]; then
+if [[ -z $DBUS_SESSION_BUS_ADDRESS ]] && type dbus-launch &>/dev/null; then
# I want a separate instance for each login
#dbus-launch > "${HOME}/.cache/sessions/dbus"
#. "${HOME}/.cache/sessions/dbus"
@@ -79,6 +80,6 @@ if [ -z "$DBUS_SESSION_BUS_ADDRESS" ]; then
fi
# Load any box-specific stuff
-if [ -f "$HOME/.profile.local" ]; then
- . "$HOME/.profile.local"
+if [[ -f "$XDG_CONFIG_HOME/login.local.sh" ]]; then
+ . "$XDG_CONFIG_HOME/login.local.sh"
fi
diff --git a/.config/lxpanel/default/config b/.config/lxpanel/default/config
index 3ac287f..e19a7d1 100644
--- a/.config/lxpanel/default/config
+++ b/.config/lxpanel/default/config
@@ -1,3 +1,4 @@
[Command]
FileManager=v-editor %s
-Terminal=urxvt
+Terminal=urxvt -c %s
+Logout=bash -c 'echo quit >> $WMII_DIR/ctl'
diff --git a/.config/lxpanel/default/panels/panel b/.config/lxpanel/default/panels/panel
index e89a833..304f201 100644
--- a/.config/lxpanel/default/panels/panel
+++ b/.config/lxpanel/default/panels/panel
@@ -9,7 +9,7 @@ Global {
width=100
height=16
transparent=1
- tintcolor=#002b36
+ tintcolor=#555753
alpha=255
autohide=0
heightwhenhidden=2
@@ -17,11 +17,12 @@ Global {
setpartialstrut=1
usefontcolor=1
fontsize=10
- fontcolor=#839496
+ fontcolor=#eeeeec
usefontsize=0
background=0
backgroundfile=/usr/share/lxpanel/images/background.png
iconsize=16
+ loglevel=2
}
Plugin {
diff --git a/.config/maildirproc/default.rc b/.config/maildirproc/att.rc
index ecea80f..e862b3f 100644
--- a/.config/maildirproc/default.rc
+++ b/.config/maildirproc/att.rc
@@ -1,9 +1,11 @@
-# -*- mode: python; -*-
+# -*- mode: python; indent-tabs-mode: t -*-
+import os
import subprocess
processor.maildir_base = "~/Maildir"
processor.auto_reload_rcfile = True
+processor.logfile = os.getenv('XDG_CACHE_HOME', "~/.cache")+"/maildirproc/att.log"
def is_to_or_from(mail,address):
"""
@@ -78,7 +80,7 @@ def my_filters(mail):
if (
False
or mail["List-Id"].matches(list+"\.gnu\.org")
- or mail["Subject"].contains(list)
+ or mail["Subject"].contains('['+list+']')
):
mail.move(".software."+list)
return
@@ -97,14 +99,31 @@ def my_filters(mail):
return
if mail["List-Id"].matches("maintenance.lists.parabolagnulinux.org"):
+ if mail["From"].contains("monit@"):
+ if mail["Message-Id"].contains("@repo.parabolagnulinux.org"):
+ mail.move(".software.parabola-maintenance.monit-repo")
+ return
+ if mail["Message-Id"].contains("@rshg054.dnsready.net"):
+ mail.move(".software.parabola-maintenance.monit-rshg054")
+ return
+ if mail["Subject"].matches("Cron <.*@repo>"):
+ mail.move(".software.parabola-maintenance.cron-repo")
+ return
+ if mail["Subject"].matches("Cron <.*@rshg054>"):
+ mail.move(".software.parabola-maintenance.cron-rshg054")
+ return
mail.move(".software.parabola-maintenance")
return
+
+ if is_to_or_from(mail, "parabola.nu"):
+ mail.move(".software.parabola-labs")
+ return
+
if (
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")
return
@@ -175,7 +194,7 @@ def my_filters(mail):
"parsonstjade@gmail.com",
"jadparso@umail.iu.edu",
]:
- if mail["From"].contains(address):
+ if is_to_or_from(mail,address):
mail.move(".misc.Jade")
return
@@ -221,7 +240,6 @@ def my_filters(mail):
mail.move(".School.Robotics")
return
for subject_re in [
- "FIRST",
"robotics",
"1024",
"kil-?a-?bytes",
diff --git a/.config/maildirproc/purdue.rc b/.config/maildirproc/purdue.rc
index 9a759f5..0ffc1e6 100644
--- a/.config/maildirproc/purdue.rc
+++ b/.config/maildirproc/purdue.rc
@@ -1,9 +1,11 @@
-# -*- mode: python; -*-
+# -*- mode: python; indent-tabs-mode: t -*-
+import os
import subprocess
processor.maildir_base = "~/Maildir.purdue"
processor.auto_reload_rcfile = True
+processor.logfile = os.getenv('XDG_CACHE_HOME', "~/.cache")+"/maildirproc/purdue.log"
def is_to_or_from(mail,address):
"""
@@ -29,7 +31,12 @@ def piazza_topic(mail, topic):
def my_filters(mail):
# Generic stuff ########################################################
- if mail["Subject"].contains("[PASE]"):
+ if (
+ False
+ or mail["Subject"].contains("[PASE]")
+ or is_to_or_from(mail,"Purduealumni@purdue.edu")
+ or is_to_or_from(mail,"pase@purdue.edu")
+ ):
mail.move("INBOX.PASE")
return
@@ -37,12 +44,45 @@ def my_filters(mail):
mail.move("INBOX.PLUG")
return
+ if mail["From"].matches(".*bursar.*@purdue\.edu"):
+ mail.move("INBOX.tuition")
+ return
+
+ if mail["From"].contains("mailhub-admin@purdue.edu"):
+ mail.move("INBOX.mailhub-admin")
+ return
+
+ if mail["From"].matches("pmx-.*@purdue.edu"):
+ mail.move("INBOX.spam")
+ return
+
if is_to_or_from(mail,"linkedin.com"):
mail.move("INBOX.LinkedIn")
return
if (
False
+ or is_to_or_from(mail,"@edrtrust.com")
+ or is_to_or_from(mail,"@propertysolutions.com")
+ or is_to_or_from(mail,"collegestationapartments@gmail.com")
+ ):
+ mail.move("INBOX.CollegeStation")
+ return
+
+ if mail["From"].matches("facebook(|mail)\.com"):
+ mail.move("INBOX.Facebook")
+ return
+
+ if (
+ False
+ or is_to_or_from(mail,"@cable.comcast.com")
+ or is_to_or_from(mail,"@apexsystemsinc.com")
+ ):
+ mail.move("INBOX.Comcast")
+ return
+
+ if (
+ False
or mail["Subject"].contains("[CS Opportunity Update]")
or mail["Subject"].contains("[CS Majors]")
):
@@ -65,15 +105,44 @@ def my_filters(mail):
# Spring 2013 ##########################################################
+ if mail["Subject"].contains("[CS240] Submission result for"):
+ mail.move("INBOX.classes.2013-1.CS240.autograder")
+ return
if mail["Subject"].contains("[CS240]") or mail["Subject"].contains("Spring-2013-CS-24000"):
mail.move("INBOX.classes.2013-1.CS240")
return
if piazza_topic(mail, "CS 240"):
mail.move("INBOX.classes.2013-1.CS240.Piazza")
return
+ if mail["Subject"].matches(".*(PHYS|CHIP)\s*220.*") or is_to_or_from(mail,"srdas@purdue.edu"):
+ mail.move("INBOX.classes.2013-1.PHYS220")
+ return
+ if mail["Subject"].contains("Spring-2013-SOC-22000"):
+ mail.move("INBOX.classes.2013-1.SOC220")
+ return
- if mail["Subject"].contains("Spring-2013-CS-18200"):
- mail.move("INBOX.classes.2013-1.CS182")
+ # Fall 2013 ############################################################
+
+ if mail["Subject"].contains("Fall-2013-CS-25000"):
+ mail.move("INBOX.classes.2013-2.CS250")
+ return
+ if piazza_topic(mail, "CS 250") or piazza_topic(mail, "CS 250-FALL2013"):
+ mail.move("INBOX.classes.2013-2.CS250.Piazza")
+ return
+ if mail["Subject"].contains("Fall-2013-CS-25100"):
+ mail.move("INBOX.classes.2013-2.CS251")
+ return
+ if piazza_topic(mail, "CS 251"):
+ mail.move("INBOX.classes.2013-2.CS251.Piazza")
+ return
+ if mail["Subject"].contains("Fall-2013-SPAN-10100"):
+ mail.move("INBOX.classes.2013-2.SPAN101")
+ return
+ if mail["Subject"].contains("Fall-2013-MA-26100"):
+ mail.move("INBOX.classes.2013-2.MA261")
+ return
+ if mail["Subject"].contains("Fall-2013-MA-26500"):
+ mail.move("INBOX.classes.2013-2.MA265")
return
handle_mapping = {
diff --git a/.config/offlineimaprc b/.config/offlineimaprc
index 8ea8f30..d027001 100644
--- a/.config/offlineimaprc
+++ b/.config/offlineimaprc
@@ -19,7 +19,7 @@ nametrans = lambda foldername: re.sub('^$', 'Inbox', re.sub('^'+re.escape('%(sep
[Repository Remote-SBCGlobal]
type = IMAP
ssl = yes
-cert_fingerprint = 700d84baa7e852240178dc2de18e7e528a2854df
+cert_fingerprint = a6ee8d759eb76dafacffffc47c4507d51f444984
remotehost = imap.mail.yahoo.com
remoteuser = lukeshu@sbcglobal.net
folderfilter = lambda foldername: not re.search('(Trash|Del)', foldername)
@@ -43,7 +43,7 @@ folderfilter = lambda foldername: re.search('INBOX', foldername)
[Repository Remote-Purdue]
type = IMAP
ssl = yes
-cert_fingerprint = 32bdd134cad8da1bea57aa379b98b1cff692e4fd
+cert_fingerprint = 2189e7d568d93352fcdccaa24137856191703c4a
remotehost = mymail.purdue.edu
remoteuser = shumakl
folderfilter = lambda foldername: re.search('INBOX', foldername)
diff --git a/.selected_editor b/.config/selected_editor
index 7631487..7631487 100644
--- a/.selected_editor
+++ b/.config/selected_editor
diff --git a/.ssh/config b/.config/ssh/config
index 63519e1..894af44 100644
--- a/.ssh/config
+++ b/.config/ssh/config
@@ -4,12 +4,22 @@ Host *
ControlPath ~/.ssh/master-%r@%h:%p
Compression yes
-# Parabola Repo Server
-Host parabola
- Port 1863
- HostName repo.parabolagnulinux.org
- User repo
-
Host lore
HostName lore.cs.purdue.edu
User shumakl
+
+Host data
+ HostName data.cs.purdue.edu
+ User shumakl
+
+Host repo
+ Port 1863
+ HostName repo.parabolagnulinux.org
+
+Host rshg054
+ Port 1863
+ HostName parabolagnulinux.org
+
+Host lukeshu
+ Port 1863
+ HostName 199.180.255.147
diff --git a/.config/symlinks b/.config/symlinks
index 3d87984..dfd06d4 100644
--- a/.config/symlinks
+++ b/.config/symlinks
@@ -1,35 +1,53 @@
+# target link
+
+# Generic
+.config/login.sh .profile
+
+# X11
.config/X11/defaults .Xdefaults
.config/X11/clientrc .xinitrc
.config/X11/serverrc .xserverrc
.config/X11/login .xsession
+# Bash
.config/bash/rc.sh .bashrc
.config/bash/login.sh .bash_login
.config/bash/logout.sh .bash_logout
+# Files plucked out of multi-purpose directories
+.config/ssh/config .ssh/config
+.config/gpg/gpg.conf .gnupg/gpg.conf
+
+# Individual config files
+.config/conkerorrc .conkerorrc
+.config/hgrc .hgrc
+.config/hgk .hgk
+.config/irbrc .irbrc
+.config/linphonerc .linphonerc
+.config/selected_editor .selected_editor
+
+.cache/offlineimap .offlineimap
+.config/offlineimaprc .offlineimaprc
+
+# Directories
+.cache/maildirproc/ .maildirproc
+.config/icons/ .icons
.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/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/wmii/ .wmii #
+.config/wmii-hg/ .wmii-hg
+# KDE
.config/ .kde/share/apps
.config/ .kde/share/config
-
.kde/ .kde4
+
+# Alias for conkeror
.mozilla/ .conkeror.mozdev.org
diff --git a/.config/wmii-hg/autostart b/.config/wmii-hg/autostart
new file mode 100755
index 0000000..9c47a9d
--- /dev/null
+++ b/.config/wmii-hg/autostart
@@ -0,0 +1,12 @@
+#!/bin/bash
+. include.sh
+
+daemon xcompmgr &> /dev/null
+daemon lxpanel &> /dev/null
+daemon nm-applet &> /dev/null
+daemon dunst &> /dev/null
+
+#Action rbar_cpu 01 &
+#Action rbar_wifi 97 &
+#Action rbar_battery 98 &
+Action rbar_clock 99 &
diff --git a/.config/wmii/config.sh b/.config/wmii-hg/config.sh
index 1dac0ad..3ddc8d5 100644
--- a/.config/wmii/config.sh
+++ b/.config/wmii-hg/config.sh
@@ -6,10 +6,11 @@ DOWN=n
LEFT=b
RIGHT=f
-HIST="`conffile history`"
+HIST="$XDG_CACHE_HOME/wmii/history"
+mkdir -p "${HIST%/*}"
# Colors tuples: "<text> <background> <border>"
-. `conffile theme-solarized-dark`
+. theme-tango-dark
Event() {
event=$1; shift;
@@ -32,11 +33,11 @@ Event() {
Event WmiircMount
# Configure wmii
- < "`conffile tagrules`" expand_variables >> $WMII_DIR/tagrules
+ < "`conffile rules`" expand_variables >> $WMII_DIR/rules
< "`conffile ctl-init`" expand_variables >> $WMII_DIR/ctl
scansection Key | cut -sf2 >> $WMII_DIR/keys
# Configure X11
- xsetroot -solid "$WMII_BACKGROUND"
+ hsetroot -solid "$WMII_BACKGROUND"
# Clear the LBar and RBar
find $WMII_DIR/{l,r}bar -type f -delete
@@ -133,17 +134,17 @@ Event() {
## Tag events
CreateTag) ## $1=tag
- echo "$WMII_NORMCOLORS" $@ >> $WMII_DIR/lbar/$1;;
+ echo label "$*" >> $WMII_DIR/lbar/$1;;
DestroyTag) ## $1=tag
rm $WMII_DIR/lbar/$1;;
FocusTag) ## $1=tag
- echo "$WMII_FOCUSCOLORS" $1 >> $WMII_DIR/lbar/$1;;
+ echo colors "$WMII_FOCUSCOLORS" >> $WMII_DIR/lbar/$1;;
UnfocusTag) ## $1=tag
- echo "$WMII_NORMCOLORS" $1 >> $WMII_DIR/lbar/$1;;
+ echo colors "$WMII_NORMCOLORS" >> $WMII_DIR/lbar/$1;;
UrgentTag) ## $1=tag $2=[Manager|Client]
- echo "$WMII_URGENTCOLORS" $1 >> $WMII_DIR/lbar/$1;;
+ echo "$WMII_URGENTCOLORS" >> $WMII_DIR/lbar/$1;;
NotUrgentTag) ## $1=tag $2=[Manager|Client]
- echo "$WMII_NORMCOLORS" $1 >> $WMII_DIR/lbar/$1;;
+ echo "$WMII_NORMCOLORS" >> $WMII_DIR/lbar/$1;;
## LeftBar events (usually tag buttons)
LeftBarMouseDown) ## $1=button $2=bar_item
@@ -219,9 +220,9 @@ Key() {
$MODKEY-a) ## Open wmii actions menu
Action $(path_ls $WMII_CONFPATH | wimenu -h "${HIST}.actions" -n 5000) & ;;
$MODKEY-x) ## Open program menu
- setsid $(path_ls $PATH | wimenu -h "${HIST}.progs" -n 5000) & ;;
+ PATH=$_PATH setsid $(path_ls $PATH | wimenu -h "${HIST}.progs" -n 5000) & ;;
$MODKEY-Return) ## Launch a terminal
- setsid x-terminal-emulator & ;;
+ PATH=$_PATH setsid x-terminal-emulator & ;;
## Tag actions
$MODKEY-t) ## Change to another tag
diff --git a/.config/wmii/ctl-init b/.config/wmii-hg/ctl-init
index 026c0d5..026c0d5 100644
--- a/.config/wmii/ctl-init
+++ b/.config/wmii-hg/ctl-init
diff --git a/.config/wmii/fixes.sh b/.config/wmii-hg/fixes.sh
index aa09157..aa09157 100644
--- a/.config/wmii/fixes.sh
+++ b/.config/wmii-hg/fixes.sh
diff --git a/.config/wmii/help-events b/.config/wmii-hg/help-events
index 25b7d41..08abd18 100755
--- a/.config/wmii/help-events
+++ b/.config/wmii-hg/help-events
@@ -1,3 +1,3 @@
#!/bin/bash
-. "$HOME/.wmii/include.sh"
+. include.sh
scansection Event | xmessage -file -
diff --git a/.config/wmii/help-keys b/.config/wmii-hg/help-keys
index c6e7038..6f4bd1c 100755
--- a/.config/wmii/help-keys
+++ b/.config/wmii-hg/help-keys
@@ -1,3 +1,3 @@
#!/bin/bash
-. "$HOME/.wmii/include.sh"
+. include.sh
scansection Key | xmessage -file -
diff --git a/.config/wmii-hg/include.sh b/.config/wmii-hg/include.sh
new file mode 100644
index 0000000..38551aa
--- /dev/null
+++ b/.config/wmii-hg/include.sh
@@ -0,0 +1,11 @@
+#!/bin/bash
+
+if [[ -z "$WMII_NAMESPACE" ]]; then
+ export WMII_NAMESPACE="`wmiir namespace`"
+fi
+if [[ -z "$WMII_DIR" ]]; then
+ export WMII_DIR="$HOME/n/wmii"
+fi
+
+. util.sh
+. config.sh
diff --git a/.config/wmii/quit b/.config/wmii-hg/quit
index 876a60e..27d9052 100755
--- a/.config/wmii/quit
+++ b/.config/wmii-hg/quit
@@ -1,3 +1,3 @@
#!/bin/bash
-. "$HOME/.wmii/include.sh"
+. include.sh
echo quit >> $WMII_DIR/ctl
diff --git a/.config/wmii-hg/rbar_battery b/.config/wmii-hg/rbar_battery
new file mode 100755
index 0000000..f632f7e
--- /dev/null
+++ b/.config/wmii-hg/rbar_battery
@@ -0,0 +1,9 @@
+#!/bin/bash
+. include.sh
+
+priority=$1
+
+while connected_to_x_server; do
+ printf 'label %s\n' "$(acpi -b)" >> "$WMII_DIR/rbar/${priority}_battery"
+ sleep 1
+done
diff --git a/.config/wmii-hg/rbar_clock b/.config/wmii-hg/rbar_clock
new file mode 100755
index 0000000..6aecb92
--- /dev/null
+++ b/.config/wmii-hg/rbar_clock
@@ -0,0 +1,9 @@
+#!/bin/bash
+. include.sh
+
+priority=$1
+
+while connected_to_x_server; do
+ printf 'label %s\n' "$(date)" >> "$WMII_DIR/rbar/${priority}_clock"
+ sleep .5
+done
diff --git a/.config/wmii/rbar_cpu b/.config/wmii-hg/rbar_cpu
index 22da985..5531e60 100755
--- a/.config/wmii/rbar_cpu
+++ b/.config/wmii-hg/rbar_cpu
@@ -1,5 +1,5 @@
#!/bin/bash
-. "$HOME/.wmii/include.sh"
+. include.sh
priority=$1
@@ -7,6 +7,6 @@ while connected_to_x_server; do
# This doesn't work for me, it shows capacity
#echo -n 'Core MHz:' $(cat /proc/cpuinfo | grep 'cpu MHz' | sed 's/.*: //g; s/\..*//g;') >> "$WMII_DIR/rbar/${priority}_cpu"
# This actually displays %idle
- echo 'CPU: [ '$(tail -n3 ~/tmp/cputime|sed -ur 's/\s\s+/\t/g'|cut -f2,11|sed 's/\t\(.*\)/(\1)/')' ]' >> "$WMII_DIR/rbar/${priority}_cpu"
+ echo 'label CPU: [ '$(tail -n3 ~/tmp/cputime|sed -ur 's/\s\s+/\t/g'|cut -f2,11|sed 's/\t\(.*\)/(\1)/')' ]' >> "$WMII_DIR/rbar/${priority}_cpu"
sleep 1
done
diff --git a/.config/wmii-hg/rbar_wifi b/.config/wmii-hg/rbar_wifi
new file mode 100755
index 0000000..18395a3
--- /dev/null
+++ b/.config/wmii-hg/rbar_wifi
@@ -0,0 +1,9 @@
+#!/bin/bash
+. include.sh
+
+priority=$1
+
+while connected_to_x_server; do
+ echo 'label Wlan0:' $(iwconfig wlan0 | sed 's/ /\n/g' | grep Quality) >> "$WMII_DIR/rbar/${priority}_wifi"
+ sleep 1
+done
diff --git a/.config/wmii-hg/rules b/.config/wmii-hg/rules
new file mode 100644
index 0000000..cf735c9
--- /dev/null
+++ b/.config/wmii-hg/rules
@@ -0,0 +1,8 @@
+/wimenu/ floating=always
+/panel/ tags=/.*/ floating=always
+/xfce4-notifyd/ tags=/.*/ floating=always
+
+/nm-applet/ floating=off
+
+/Emacs|Navigator/ force-tags=+sel floating=never
+/.*/ floating=off
diff --git a/.config/wmii/theme-solarized b/.config/wmii-hg/theme-solarized
index 5dc830d..5dc830d 100644
--- a/.config/wmii/theme-solarized
+++ b/.config/wmii-hg/theme-solarized
diff --git a/.config/wmii/theme-solarized-dark b/.config/wmii-hg/theme-solarized-dark
index 83285ba..fde361b 100644
--- a/.config/wmii/theme-solarized-dark
+++ b/.config/wmii-hg/theme-solarized-dark
@@ -1,7 +1,7 @@
#!/bin/sh
# Solarized-dark
-. $HOME/.wmii/theme-solarized
+. theme-solarized
WMII_BACKGROUND="$SOL_BASE02"
diff --git a/.config/wmii-hg/theme-tango b/.config/wmii-hg/theme-tango
new file mode 100644
index 0000000..e0e35d4
--- /dev/null
+++ b/.config/wmii-hg/theme-tango
@@ -0,0 +1,10 @@
+TANGO_butter=("#fce94f" "#edd400" "#c4a000")
+TANGO_orange=("#fcaf3e" "#f57900" "#ce5c00")
+TANGO_choc=( "#e9b96e" "#c17d11" "#8f5902")
+TANGO_cham=( "#8ae234" "#73d216" "#4e9a06")
+TANGO_blue=( "#729fcf" "#3465a4" "#204a87")
+TANGO_plum=( "#ad7fa8" "#75507b" "#5c3566")
+TANGO_red=( "#ef2929" "#cc0000" "#a40000")
+TANGO_alum=( "#eeeeec" "#d3d7cf" "#babdb6"
+ "#888a85" "#555753" "#2e3436")
+
diff --git a/.config/wmii-hg/theme-tango-dark b/.config/wmii-hg/theme-tango-dark
new file mode 100644
index 0000000..04a9fa6
--- /dev/null
+++ b/.config/wmii-hg/theme-tango-dark
@@ -0,0 +1,11 @@
+#!/bin/bash
+# Tango-tark
+
+. theme-tango
+
+WMII_BACKGROUND="${TANGO_alum[5]}"
+
+# ="<text> <background> <border>"
+WMII_NORMCOLORS="${TANGO_alum[0]} ${TANGO_alum[4]} ${TANGO_alum[3]}"
+WMII_FOCUSCOLORS="${TANGO_alum[5]} ${TANGO_alum[1]} ${TANGO_alum[0]}"
+WMII_URGENTCOLORS="${TANGO_orange[0]} ${TANGO_alum[4]} ${TANGO_orange[4]}"
diff --git a/.config/wmii/util.sh b/.config/wmii-hg/util.sh
index 43d7d4a..a4c4bb4 100644
--- a/.config/wmii/util.sh
+++ b/.config/wmii-hg/util.sh
@@ -1,7 +1,7 @@
#!/bin/bash
# I moved "fixes" into a separate file because it isn't so much configuration...
-. "$HOME/.wmii/fixes.sh"
+. fixes.sh
################################################################################
# Added shell features #
@@ -124,5 +124,5 @@ scansection() {
# Usage: conffile FILE
##
conffile() {
- echo "$HOME/.wmii/$@"
+ echo "$HOME/.wmii-hg/$@"
}
diff --git a/.config/wmii/wmiirc b/.config/wmii-hg/wmiirc
index 1f1ea18..a6bc4b4 100755
--- a/.config/wmii/wmiirc
+++ b/.config/wmii-hg/wmiirc
@@ -1,5 +1,8 @@
#!/bin/bash
-. "$HOME/.wmii/include.sh"
+export _PATH="$PATH"
+export PATH="$WMII_CONFPATH:$PATH"
+
+. include.sh
wmiir xwrite /event WmiircQuit # close any existing wmiirc's
diff --git a/.config/wmii/include.sh b/.config/wmii/include.sh
deleted file mode 100644
index d4e58c3..0000000
--- a/.config/wmii/include.sh
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/bin/bash
-
-if [ -z "$WMII_NAMESPACE" ]; then
- export WMII_NAMESPACE="`wmiir namespace`"
-fi
-if [ -z "$WMII_DIR" ]; then
- export WMII_DIR="$HOME/n/wmii"
-fi
-
-. "$HOME/.wmii/util.sh"
-. "$HOME/.wmii/config.sh"
diff --git a/.config/wmii/rbar_battery b/.config/wmii/rbar_battery
deleted file mode 100755
index ae8980a..0000000
--- a/.config/wmii/rbar_battery
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/bin/bash
-. "$HOME/.wmii/include.sh"
-
-priority=$1
-
-while connected_to_x_server; do
- acpi -b >> "$WMII_DIR/rbar/${priority}_battery"
- sleep 1
-done
diff --git a/.config/wmii/rbar_clock b/.config/wmii/rbar_clock
deleted file mode 100755
index 18c4493..0000000
--- a/.config/wmii/rbar_clock
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/bin/bash
-. "$HOME/.wmii/include.sh"
-
-priority=$1
-
-while connected_to_x_server; do
- date >> "$WMII_DIR/rbar/${priority}_clock"
- sleep .5
-done
diff --git a/.config/wmii/rbar_wifi b/.config/wmii/rbar_wifi
deleted file mode 100755
index 2ada834..0000000
--- a/.config/wmii/rbar_wifi
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/bin/bash
-. "$HOME/.wmii/include.sh"
-
-priority=$1
-
-while connected_to_x_server; do
- echo 'Wlan0:' $(iwconfig wlan0 | sed 's/ /\n/g' | grep Quality) >> "$WMII_DIR/rbar/${priority}_wifi"
- sleep 1
-done
diff --git a/.config/wmii/tagrules b/.config/wmii/tagrules
deleted file mode 100644
index 990151f..0000000
--- a/.config/wmii/tagrules
+++ /dev/null
@@ -1,3 +0,0 @@
-/Emacs|Navigator/ -> +sel
-/Eclipse/ -> +sel
-/panel/ -> /.*/
diff --git a/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-notifyd.xml b/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-notifyd.xml
new file mode 100644
index 0000000..2dd5c11
--- /dev/null
+++ b/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-notifyd.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<channel name="xfce4-notifyd" version="1.0">
+ <property name="notify-location" type="uint" value="2"/>
+ <property name="initial-opacity" type="double" value="1.000000"/>
+</channel>
diff --git a/.conkeror.mozdev.org b/.conkeror.mozdev.org
deleted file mode 120000
index 49c36a2..0000000
--- a/.conkeror.mozdev.org
+++ /dev/null
@@ -1 +0,0 @@
-.mozilla/ \ No newline at end of file
diff --git a/.conkerorrc b/.conkerorrc
deleted file mode 120000
index 6a56807..0000000
--- a/.conkerorrc
+++ /dev/null
@@ -1 +0,0 @@
-.config/conkerorrc \ No newline at end of file
diff --git a/.cpan b/.cpan
deleted file mode 120000
index cc99f72..0000000
--- a/.cpan
+++ /dev/null
@@ -1 +0,0 @@
-.config/cpan/ \ No newline at end of file
diff --git a/.emacs.d b/.emacs.d
deleted file mode 120000
index d45c316..0000000
--- a/.emacs.d
+++ /dev/null
@@ -1 +0,0 @@
-.config/emacs/ \ No newline at end of file
diff --git a/.gconf b/.gconf
deleted file mode 120000
index 770d32f..0000000
--- a/.gconf
+++ /dev/null
@@ -1 +0,0 @@
-.config/gconf \ No newline at end of file
diff --git a/.gconfd b/.gconfd
deleted file mode 120000
index 33f7f91..0000000
--- a/.gconfd
+++ /dev/null
@@ -1 +0,0 @@
-.cache/gconfd \ No newline at end of file
diff --git a/.gimp-2.6 b/.gimp-2.6
deleted file mode 120000
index bc9fb52..0000000
--- a/.gimp-2.6
+++ /dev/null
@@ -1 +0,0 @@
-.config/gimp-2.6/ \ No newline at end of file
diff --git a/.gimp-2.8 b/.gimp-2.8
deleted file mode 120000
index fd36916..0000000
--- a/.gimp-2.8
+++ /dev/null
@@ -1 +0,0 @@
-.config/gimp-2.8/ \ No newline at end of file
diff --git a/.git.info.exclude.in b/.git.info.exclude.in
index 0c5ce40..2d09032 100644
--- a/.git.info.exclude.in
+++ b/.git.info.exclude.in
@@ -1,18 +1,17 @@
# Defualt to ignoring all files
/*
+# except these:
-# Except dotfiles
-!.*
+# The things I actually want to track
+!/.config
+!/.local*
-# Or Makefile
-!Makefile
+# The file that generates this one
+!/.git.info.exclude.in
-# Ignore these for privacy
-.ssh/*
-!.ssh/config
-.gnupg/*
-!.gnupg/gpg.conf
-.netrc
+# The relevent programs do not like symlinks for these:
+!/.gtkrc-2.0
+!/.gtkrc-2.0.mine
# Ignore temp/log/history files
*.log
@@ -46,49 +45,3 @@ lock
*~
.#*
\#*#
-
-
-# Ignore these special-purpose cache/temp files
-.camel_certs
-.compiz/session/*
-.config/RecentDocuments/*
-.dbus/session-bus/*
-.ddd/sessions
-.esd_auth
-.evolution/.*
-.gconfd/saved_state
-.gnash-media
-.gnash/SharedObjects/*
-.lesshst
-.link*/*.his
-.local/share/Trash/*
-.local/share/gvfs-metadata/*
-.local/share/icons/*
-.local/share/recently-used.xbel
-.pki
-.pulse
-.pulse-cookie
-.recently-used
-.recently-used.xbel*
-.setroubleshoot
-.shotwell/thumbs/*
-.sudo_as_admin_successful
-.thumbnails/*
-.wireshark/recent*
-.xsession-errors*
-
-# Ignore files that are autogenerated
-.folders
-.git.info.exclude
-
-# Ignore these files for no good reason
-.bogofilter
-.gem
-.gitk
-.offlineimap
-.prefix
-.prefix.*
-.wine*
-
-# Ignore these files that if I tracked them, would be a separate repo
-.mozilla
diff --git a/.gtkrc-2.0 b/.gtkrc-2.0
index 39ee122..06fa847 100644
--- a/.gtkrc-2.0
+++ b/.gtkrc-2.0
@@ -1,7 +1,7 @@
# DO NOT EDIT! This file will be overwritten by LXAppearance.
# Any customization should be done in ~/.gtkrc-2.0.mine instead.
-gtk-theme-name="Raleigh"
+gtk-theme-name="oxygen-gtk"
gtk-icon-theme-name="oxygen"
gtk-font-name="Sans 10"
gtk-cursor-theme-name="Vanilla-DMZ"
diff --git a/.gtkrc-2.0.mine b/.gtkrc-2.0.mine
index 8b13789..4e2ef9a 100644
--- a/.gtkrc-2.0.mine
+++ b/.gtkrc-2.0.mine
@@ -1 +1 @@
-
+gtk-fallback-icon-theme="gnome"
diff --git a/.hgrc b/.hgrc
deleted file mode 120000
index d74298e..0000000
--- a/.hgrc
+++ /dev/null
@@ -1 +0,0 @@
-.config/hgrc \ No newline at end of file
diff --git a/.irbrc b/.irbrc
deleted file mode 100644
index 7596d96..0000000
--- a/.irbrc
+++ /dev/null
@@ -1 +0,0 @@
-require 'rubygems' unless defined? Gem # only needed in 1.8
diff --git a/.kde/.gitignore b/.kde/.gitignore
deleted file mode 100644
index 3e3f239..0000000
--- a/.kde/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-socket-* \ No newline at end of file
diff --git a/.kde/share/apps b/.kde/share/apps
deleted file mode 120000
index 231b1b5..0000000
--- a/.kde/share/apps
+++ /dev/null
@@ -1 +0,0 @@
-../../.config/ \ No newline at end of file
diff --git a/.kde/share/config b/.kde/share/config
deleted file mode 120000
index 231b1b5..0000000
--- a/.kde/share/config
+++ /dev/null
@@ -1 +0,0 @@
-../../.config/ \ No newline at end of file
diff --git a/.kde4 b/.kde4
deleted file mode 120000
index f9d3b5c..0000000
--- a/.kde4
+++ /dev/null
@@ -1 +0,0 @@
-.kde/ \ No newline at end of file
diff --git a/.linphonerc b/.linphonerc
deleted file mode 120000
index aa45b66..0000000
--- a/.linphonerc
+++ /dev/null
@@ -1 +0,0 @@
-.config/linphonerc \ No newline at end of file
diff --git a/.local/bin/config-path b/.local/bin/config-path
new file mode 100755
index 0000000..6b9019c
--- /dev/null
+++ b/.local/bin/config-path
@@ -0,0 +1,51 @@
+#!/bin/bash
+
+# All the prefixes to consider
+prefixes=(
+ "$HOME"
+ "$HOME/.local.`uname -m`"
+ "$HOME/.local"
+ "$HOME/.prefix.`uname -m`"
+ "$HOME/.prefix"
+ "$HOME"/.gem/ruby/*
+)
+
+######################################################################
+
+in_array() {
+ local needle=$1; shift
+ local haystack=("$@")
+ local straw
+ for straw in "${haystack[@]}"; do
+ [[ "$needle" == "$straw" ]] && return 0
+ done
+ return 1
+}
+
+# Import existing values
+IFS=: paths=($PATH)
+IFS=: rubylibs=($RUBYLIB)
+
+# Scan through prefixes
+for prefix in "${prefixes[@]}"; do
+ # PATH
+ dir="$prefix/bin"
+ if [[ -d "$dir" ]] && ! in_array "$dir" "${paths[@]}"; then
+ paths=("$dir" "${paths[@]}")
+ fi
+ # RUBYLIB
+ dir="$prefix/lib"
+ if [[ -d "$dir" ]] && ! in_array "$dir" "${rubylibs[@]}"; then
+ rubylibs=("$dir" "${rubylibs[@]}")
+ fi
+done
+
+# Finally, print our values
+IFS=: PATH="${paths[*]}"
+IFS=: RUBYLIB="${rubylibs[*]}"
+
+# The sed bit here is the only time we call an external program
+{
+ declare -p PATH
+ declare -p RUBYLIB
+} | sed 's/^declare \(-\S* \)*//'
diff --git a/.config/symlinks.sh b/.local/bin/config-symlinks
index a3db6ae..0831ca3 100755
--- a/.config/symlinks.sh
+++ b/.local/bin/config-symlinks
@@ -1,7 +1,7 @@
#!/bin/bash
-sed -e '/^\s*$/d' -e '/#/d' symlinks | while read _path _link; do
- path="$(sed -rn 's|[^/]+/|../|g;s|/[^/]+$|/|p' <<<"$_link")${_path}"
+sed -e '/^\s*$/d' -e '/#/d' symlinks | while read _target _link; do
+ target="$(sed -rn 's|[^/]+/|../|g;s|/[^/]+$|/|p' <<<"$_link")${_target}"
link="$HOME/$_link"
if [[ -L "$link" ]]; then
rm -f "$link"
@@ -10,6 +10,6 @@ sed -e '/^\s*$/d' -e '/#/d' symlinks | while read _path _link; do
echo "ERROR: file exists: $link" >> /dev/stderr
else
mkdir -p "${link%/*}"
- ln -s "$path" "$link"
+ ln -s "$target" "$link"
fi
done
diff --git a/.local/bin/notifyd b/.local/bin/notifyd
deleted file mode 100755
index ddd5971..0000000
--- a/.local/bin/notifyd
+++ /dev/null
@@ -1,14 +0,0 @@
-#!/bin/bash
-
-connected_to_x_server() {
- xdpyinfo &>/dev/null
- return $?
-}
-
-start_backend() {
- /usr/lib/xfce4/notifyd/xfce4-notifyd
-}
-
-while connected_to_x_server; do
- start_backend
-done
diff --git a/.local/lib/path.sh b/.local/lib/path.sh
new file mode 100644
index 0000000..a45f8fd
--- /dev/null
+++ b/.local/lib/path.sh
@@ -0,0 +1,9 @@
+#!/bin/sh
+
+if type config-path &>/dev/null; then
+ config_path=config-path
+else
+ # Bootstrap finding config-path
+ config_path="$HOME/.local/bin/config-path"
+fi
+eval "$("$config_path" | sed 's/^/export /')"
diff --git a/.local/lib/xdg.sh b/.local/lib/xdg.sh
new file mode 100644
index 0000000..44aeee2
--- /dev/null
+++ b/.local/lib/xdg.sh
@@ -0,0 +1,23 @@
+#!/bin/bash
+# This should be readable by /bin/sh, but I'm going to assume bash.
+
+# Sets up XDG environmental variables, so programs using them don't have to
+# worry about checking if they are set.
+# http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html
+
+[[ -n $XDG_DATA_HOME ]] || export XDG_DATA_HOME="$HOME/.local/share"
+[[ -n $XDG_CONFIG_HOME ]] || export XDG_CONFIG_HOME="$HOME/.config"
+[[ -n $XDG_DATA_DIRS ]] || export XDG_DATA_DIRS="/usr/local/share/:/usr/share/"
+[[ -n $XDG_CONFIG_IRS ]] || export XDG_CONFIG_DIRS="/etc/xdg"
+[[ -n $XDG_CACHE_HOME ]] || export XDG_CACHE_HOME="$HOME/.cache"
+
+# Check if XDG_RUNTIME_DIR is set, but has a bogus setting
+if [[ -n $XDG_RUNTIME_DIR ]] && [[ ! -d $XDG_RUNTIME_DIR ]]; then
+ unset XDG_RUNTIME_DIR
+fi
+
+# Set XDG_RUNTIME_DIR if we can
+if [[ -z $XDG_RUNTIME_DIR ]] && [[ -n $TMPDIR ]]; then
+ export XDG_RUNTIME_DIR="$TMPDIR/xdg-runtime"
+ install -dm0700 "$XDG_RUNTIME_DIR"
+fi
diff --git a/.maildirproc b/.maildirproc
deleted file mode 120000
index f29b6d2..0000000
--- a/.maildirproc
+++ /dev/null
@@ -1 +0,0 @@
-.config/maildirproc/ \ No newline at end of file
diff --git a/.mplayer b/.mplayer
deleted file mode 120000
index 577c445..0000000
--- a/.mplayer
+++ /dev/null
@@ -1 +0,0 @@
-.config/mplayer/ \ No newline at end of file
diff --git a/.nanorc b/.nanorc
deleted file mode 120000
index 52dfc45..0000000
--- a/.nanorc
+++ /dev/null
@@ -1 +0,0 @@
-.config/nanorc \ No newline at end of file
diff --git a/.netbeans b/.netbeans
deleted file mode 120000
index 3ca44ab..0000000
--- a/.netbeans
+++ /dev/null
@@ -1 +0,0 @@
-.config/netbeans/ \ No newline at end of file
diff --git a/.offlineimaprc b/.offlineimaprc
deleted file mode 120000
index 85b605c..0000000
--- a/.offlineimaprc
+++ /dev/null
@@ -1 +0,0 @@
-.config/offlineimaprc \ No newline at end of file
diff --git a/.purple b/.purple
deleted file mode 120000
index c08b730..0000000
--- a/.purple
+++ /dev/null
@@ -1 +0,0 @@
-.config/purple/ \ No newline at end of file
diff --git a/.subversion b/.subversion
deleted file mode 120000
index 4e66627..0000000
--- a/.subversion
+++ /dev/null
@@ -1 +0,0 @@
-.config/subversion/ \ No newline at end of file
diff --git a/.wmii b/.wmii
deleted file mode 120000
index 4d13294..0000000
--- a/.wmii
+++ /dev/null
@@ -1 +0,0 @@
-.config/wmii/ \ No newline at end of file
diff --git a/.xinitrc b/.xinitrc
deleted file mode 120000
index c0f7e1c..0000000
--- a/.xinitrc
+++ /dev/null
@@ -1 +0,0 @@
-.config/X11/clientrc \ No newline at end of file
diff --git a/.xserverrc b/.xserverrc
deleted file mode 120000
index f46e3e3..0000000
--- a/.xserverrc
+++ /dev/null
@@ -1 +0,0 @@
-.config/X11/serverrc \ No newline at end of file
diff --git a/.xsession b/.xsession
deleted file mode 120000
index ee16887..0000000
--- a/.xsession
+++ /dev/null
@@ -1 +0,0 @@
-.config/X11/login \ No newline at end of file
diff --git a/Makefile b/Makefile
deleted file mode 100644
index 5e4fb21..0000000
--- a/Makefile
+++ /dev/null
@@ -1,34 +0,0 @@
-SHELL = /bin/bash
-
-NANO_BIN_PREFIX = $(patsubst %/bin/nano,%,$(shell which nano))
-NANO_CHECK = $(HOME)/.prefix:$(HOME):/usr/local:/usr:$(NANO_BIN_PREFIX)
-NANO_SHARE = $(firstword $(wildcard $(addsuffix /share/nano,$(subst :, ,$(NANO_CHECK)))))
-
-targets=.nanorc .folders .crontab.cookie .git.info.exclude
-all: $(targets)
-clean:
- rm -f $(targets)
-
-.config/nanorc: .config/nanorc.in $(NANO_SHARE)
- cat '$<' > '$@'
- for file in $(NANO_SHARE)/*.nanorc; do echo "include \"$$file\""; done >> '$@'
-
-.folders: Maildir
- ( echo '..'; find ~/Maildir -maxdepth 2 -type f -name "maildirfolder" -printf '%h\n'|sed -r 's@.*/(.*\.)(.*)@.\1\2@' )|sort>'$@'
-.git.info.exclude: .git.info.exclude.in $(shell echo .??*/)
- ( cat $<; find $^ -type f -name 'CACHEDIR.TAG' -printf '%h\n'|sed 's@^\./@/@' ) > $@
-
-.cache/cron/cookie: .config/cron
- -(cat $^/*; echo) | crontab - 2>/dev/null
- mkdir -p '$(@D)'
- date > '$@'
-
-Maildir:
- mkdir -p '$@'/{cur,new,tmp}
-Maildir/%: | Maildir
- mkdir -p '$@'/{cur,new,tmp}
- touch '$@'/maildirfolder
-
-.PHONY: FORCE PHONY
-FORCE: ;
-PHONY: ;