diff options
33 files changed, 292 insertions, 62 deletions
@@ -0,0 +1,31 @@ +#!/bin/sh + +eval `/usr/local/bin/defaultpaths -sh` + +eval `xrdb -global -symbols | sed -ne '/=/!d;s/^-D//;p'` + +host=`/usr/local/bin/shorthostname | sed -e 'h;s/.//;x;s/\(.\).*/\1/;y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/;G;s/\n//'` + +# For OpenWindows apps +if [ -d /usr/openwin ]; then + OPENWINHOME=/usr/openwin; export OPENWINHOME + HELPPATH=$OPENWINHOME/lib/help; export HELPPATH + PATH=${PATH}:/usr/openwin/bin +fi + +# load .Xresources and .Xdefaults into the X resource database +for i in $HOME/.Xresources $HOME/.Xdefaults; do + [ -f $i ] && xrdb -merge $i +done + +# do these in a subshell so they don't become zombies on exit +( + xscreensaver & + fvwm & # window manager + xterm -geometry 80x24-0+257 -T "$host" -n "$host" & +) + +# only grab the actual console when we're running on a local display +[ "$SERVERHOST" != "lore.cs.purdue.edu" -a "$SERVERHOST" = "$CLIENTHOST" ] && consflag=-C +# kill this xterm to end your session +exec xterm $consflag -geometry 80x14-0+15 -T console -n console -fg darkslategray -bg burlywood3 diff --git a/.Xresources b/.Xresources new file mode 100644 index 0000000..2b8f856 --- /dev/null +++ b/.Xresources @@ -0,0 +1,20 @@ +xscreensaver.timeout: 0:10:00 +xscreensaver.cycle: 0:10:00 +xscreensaver.lock: True +xscreensaver.lockTimeout: 0:00:00 +xscreensaver.passwdTimeout: 0:01:00 +xscreensaver.passwdTimeoutEnable: True +xscreensaver.dpmsEnabled: True +xscreensaver.dpmsStandby: 0:10:00 +xscreensaver.dpmsSuspend: 0:10:00 +xscreensaver.dpmsOff: 0:10:00 + +XTerm*iconic: off +XTerm*loginShell: on +XTerm*reverseWrap: on +XTerm*saveLines: 200 +XTerm*scrollBar: on +XTerm*visualBell: off +XTerm*font: 7x13 + +Dtterm*loginShell: on diff --git a/.config/X11/clientrc b/.config/X11/clientrc index 4773ea4..4478db0 100755 --- a/.config/X11/clientrc +++ b/.config/X11/clientrc @@ -17,6 +17,8 @@ if [ -f "$usermodmap" ]; then xmodmap "$usermodmap" fi +exec gnome-session + trap "rm -f $(printf '%q' "${XDG_RUNTIME_DIR}/x11-wm@${DISPLAY}")" EXIT mkfifo "${XDG_RUNTIME_DIR}/x11-wm@${DISPLAY}" diff --git a/.config/X11/defaults b/.config/X11/defaults index fca1914..b9a0582 100644 --- a/.config/X11/defaults +++ b/.config/X11/defaults @@ -12,7 +12,7 @@ URxvt.color12: #729FCF URxvt.scrollstyle: plain URxvt.scrollBar_floating: true -URxvt.font: xft:Monospace-8 +URxvt.font: xft:DejaVu Sans Mono-8 URxvt.cursorBlink: true URxvt.pastableTabs: true diff --git a/.config/bash/rc.d/emacs.sh b/.config/bash/rc.d/emacs.sh index bb6454b..354c8f3 100644 --- a/.config/bash/rc.d/emacs.sh +++ b/.config/bash/rc.d/emacs.sh @@ -1,7 +1,7 @@ #!/bin/bash if [[ $TERM == eterm* ]]; then - SELECTED_EDITOR='emacsclient' + SELECTED_EDITOR="emacsclient -f '$HOME/.emacs.d/server-$HOSTNAME/server'" EDITOR=$SELECTED_EDITOR VISUAL=$SELECTED_EDITOR export SELECTED_EDITOR EDITOR VISUAL @@ -11,7 +11,7 @@ if [[ $TERM == eterm* ]]; then # _emacs_run LISP _emacs_run() { - emacsclient -a false -e "$*" 2>/dev/null + emacsclient -f "$HOME/.emacs.d/server-$HOSTNAME/server" -a false -e "$*" 2>/dev/null } # _emacs_quote UNQUOTED_STRING _emacs_quote() { diff --git a/.config/bash/rc.sh b/.config/bash/rc.sh index ab690cf..15a9865 100644 --- a/.config/bash/rc.sh +++ b/.config/bash/rc.sh @@ -1,4 +1,7 @@ # ~/.bashrc: executed by bash(1) for interactive 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. @@ -78,3 +81,10 @@ if [[ -d ${XDG_CONFIG_HOME}/bash/rc.d ]]; then . "$file" done 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 +fi diff --git a/.config/cron/make-config b/.config/cron/make-config index d079c92..30985df 100644 --- a/.config/cron/make-config +++ b/.config/cron/make-config @@ -1,2 +1,2 @@ #m h dom mon dow command -*/5 * * * * cronic bash -l -c 'make -C "$XDG_CONFIG_HOME"' +*/5 * * * * $HOME/.local/bin/cronic bash -l -c 'make -C "$XDG_CONFIG_HOME"' diff --git a/.config/emacs/custom.el b/.config/emacs/custom.el index 26eb2ae..aca35b0 100644 --- a/.config/emacs/custom.el +++ b/.config/emacs/custom.el @@ -9,7 +9,16 @@ ("9f443833deb3412a34d2d2c912247349d4bd1b09e0f5eaba11a3ea7872892000" "bb08c73af94ee74453c90422485b29e5643b73b05e8de029a6909af6a3fb3f58" "82d2cac368ccdec2fcc7573f24c3f79654b78bf133096f9b40c20d97ec1d8016" "1b8d67b43ff1723960eb5e0cba512a2c7a2ad544ddb2533a90101fd1852b426e" "628278136f88aa1a151bb2d6c8a86bf2b7631fbea5f0f76cba2a0079cd910f7d" "06f0b439b62164c6f8f84fdda32b62fb50b6d00e8b01c2208e55543a6337433a" "1e7e097ec8cb1f8c3a912d7e1e0331caeed49fef6cff220be63bd2a6ba4cc365" "71b172ea4aad108801421cc5251edb6c792f3adbaecfa1c52e94e3d99634dee7" "fc5fcb6f1f1c1bc01305694c59a1a861b008c534cae8d0e48e4d5e81ad718bc6" default))) '(erc-nick "lukeshu") '(explicit-shell-file-name "/bin/bash") + '(global-whitespace-mode nil) + '(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) + '(safe-local-variable-values (quote ((Nginx-indent-tabs-mode) (Nginx-indent-level . 4) (Nginx-indent-level . 8)))) '(scroll-bar-mode nil) + '(scss-compile-at-save nil) '(send-mail-function (quote smtpmail-send-it)) '(smtpmail-smtp-server "plus.smtp.mail.yahoo.com") '(smtpmail-smtp-service 587) diff --git a/.config/emacs/init.el b/.config/emacs/init.el index fabe70e..08b356f 100644 --- a/.config/emacs/init.el +++ b/.config/emacs/init.el @@ -40,7 +40,8 @@ ;;;; Early settings ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; This isn't particularly important, but set it before doing a whole ;; lot (loading packages), so there isn't a weird change in text size. -(set-face-attribute 'default nil :height 80) +(setq notify-method 'notify-via-libnotify) +(set-face-attribute 'default nil :height 93) ;;;; Bootstrap el-get ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; @@ -76,7 +77,8 @@ ;; This is also nice because I can do event-base programming for what ;; to do once a package is loaded, using :after. -(add-to-list 'package-archives '("melpa" . "http://melpa.milkbox.net/packages/")) +(add-to-list 'package-archives '("ELPA" . "http://tromey.com/elpa/")) +(add-to-list 'package-archives '("marmalade" . "http://marmalade-repo.org/packages/")) (setq package-enable-at-startup nil) ;; What packages el-get should get from ELPA (if it gets them at all) @@ -213,6 +215,10 @@ sh-script.el is broken." ediff-split-window-function 'split-window-horizontally ) +(set-default 'truncate-lines t) +(setq inhibit-startup-screen t + server-use-tcp t) + ;; Automatically load smerge mode for merge files (defun try-smerge-mode () (save-excursion diff --git a/.config/git/config b/.config/git/config index 71c68f6..e5593c6 100644 --- a/.config/git/config +++ b/.config/git/config @@ -1,6 +1,6 @@ [user] name = Luke Shumaker - email = lukeshu@sbcglobal.net + email = shumakl@purdue.edu [color] ui = auto [sendemail] diff --git a/.config/login.d/01_locale.sh b/.config/login.d/01_locale.sh new file mode 100644 index 0000000..2e4f3c4 --- /dev/null +++ b/.config/login.d/01_locale.sh @@ -0,0 +1,3 @@ +if { [[ $LANG = C ]] || [[ -z $LANG ]]; } && grep '^en_US.UTF-8\s' /etc/locale.gen &>/dev/null; then + export LANG=en_US.UTF-8 +fi diff --git a/.config/login.d/02_tmpdir.sh b/.config/login.d/02_tmpdir.sh index d0079aa..293064e 100644 --- a/.config/login.d/02_tmpdir.sh +++ b/.config/login.d/02_tmpdir.sh @@ -1,3 +1,21 @@ -mkdir -p -- "$XDG_RUNTIME_DIR/tmpdir" -export TMPDIR="$XDG_RUNTIME_DIR/tmpdir" -ln -sfT -- "$TMPDIR" "$HOME/tmp" +if [[ ! -d "$HOME/tmp/$HOSTNAME" ]]; then + tmp="$(mktemp --tmpdir -d "$USER@$HOSTNAME-tmpdir.XXXXXXXXXXXXXXXXXXX")" + mkdir -p -- "$HOME/tmp" + ln -sf "$tmp" "$HOME/tmp/$HOSTNAME" + unset tmp +fi +export TMPDIR="$HOME/tmp/$HOSTNAME" +if type flock &>/dev/null; then + if [[ "$(readlink -f /dev/fd/7)" != "$(readlink -f "$TMPDIR/.uselock")" ]]; then + exec 7>"$TMPDIR/.uselock" + fi + if flock -sn 7; then + _logout_tmpdir_cleanup() { + if flock -xn 7; then + rm -rf -- "$(readlink -f "$TMPDIR")" + rm -- "$TMPDIR" + fi + } + trap _logout_tmpdir_cleanup EXIT + fi +fi diff --git a/.config/login.d/10_goroot.sh b/.config/login.d/10_goroot.sh new file mode 100644 index 0000000..89d1037 --- /dev/null +++ b/.config/login.d/10_goroot.sh @@ -0,0 +1,3 @@ +if [[ -z $GOROOT ]]; then + export GOROOT=/homes/shumakl/.prefix.$(uname -m)/go +fi diff --git a/.config/login.d/10_selected-editor.sh b/.config/login.d/10_selected-editor.sh index f176b8a..c1c18fb 100644 --- a/.config/login.d/10_selected-editor.sh +++ b/.config/login.d/10_selected-editor.sh @@ -1,3 +1,7 @@ +# PAM seems to be setting EDITOR... +if [[ $EDITOR = /usr/bin/vi ]]; then + unset EDITOR +fi if [[ -f "$HOME/.selected_editor" ]]; then . "$HOME/.selected_editor" export SELECTED_EDITOR diff --git a/.config/login.d/90_dot-runtime.sh b/.config/login.d/90_dot-runtime.sh index d597cc7..fb7ecd6 100644 --- a/.config/login.d/90_dot-runtime.sh +++ b/.config/login.d/90_dot-runtime.sh @@ -1 +1,2 @@ -ln -sfT -- "$XDG_RUNTIME_DIR" ~/.runtime +mkdir -p -- ~/.runtime +ln -sfT -- "$XDG_RUNTIME_DIR" ~/.runtime/"$HOSTNAME" diff --git a/.config/login.sh b/.config/login.sh index b2cc80a..353861a 100644 --- a/.config/login.sh +++ b/.config/login.sh @@ -1,4 +1,3 @@ -#!/bin/bash # ~/.profile: executed by the command interpreter for login shells. # I like that graphical login scripts be configured to load this, so # it always runs, graphical or not. diff --git a/.config/selected_editor b/.config/selected_editor index 1cc76a7..6c700da 100644 --- a/.config/selected_editor +++ b/.config/selected_editor @@ -1,7 +1,6 @@ -# Generated by /usr/bin/select-editor -SELECTED_EDITOR="emacsclient -c" +SELECTED_EDITOR="emacsclient -f '$HOME/.emacs.d/server-$HOSTNAME/server' -c" if [[ -n $SSH_CONNECTION ]]; then SELECTED_EDITOR+=' -nw' fi -ALTERNATE_EDITOR='nano' +ALTERNATE_EDITOR='/usr/bin/vim' VISUAL="$SELECTED_EDITOR" diff --git a/.config/ssh/authorized_keys b/.config/ssh/authorized_keys new file mode 100644 index 0000000..18f94ff --- /dev/null +++ b/.config/ssh/authorized_keys @@ -0,0 +1,3 @@ +ssh-dss AAAAB3NzaC1kc3MAAACBAP1prJhR7vEDJczVYK2otEMX3yiQTh35qwzQl0gKqIoaK/kkh36DHtMgGw1XyIG+LsowgxWGTi8wGxFwEbNVUDPVxnZrBsZq8RhhltFH1i6xLzAa8yAFfRC5Y9Rg5i27//GwfjaZggiMnI9QpvJFuuFVSXY7n2hymZtm8HzaXLuNAAAAFQDsncdoWgp33q+9uq4Bvk+of5ABEQAAAIEAl55Q6bFiGvnyDauH0dsYOu80MdF6xSPu3T8UORsblmNJzhhFcHpTsqK78jFtfKoirZgzTN481gmzi9GHOcfdEHRGkou4xKw9bFPxOpDLxpVd9HI8KYGi2CfoQNb3uAcIPZGEUNGliBbsWdmanv59aNLt4BVmgcVO2AWMqdkPd6UAAACBAJmLZckCmMKLAQtpl/A9dC5Ny8WtaNHjTdhc6qt5rFG9h0XQ0NO54s0JF3mE9DO/6JYzK2RJsBeSucCBSaAkmJkGt7EI3BvZn7qbzDv4AatFDJs0SG/S89Qu4KrDsogGSiI37Kpa69QpK7sBUyCf9Si7/kxF008QzwU/ufzNmvTV shumakl@cs.purdue.edu +ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA1OwEmbhtgmjcH/rPTSCEXHCOHyz9YbbeMF0sGzGpx5aaQWfiRWzHDHXj8in7Ub8M1K0G+J1yzjxXyWfmg4DUgt8HQkLRkHVSZOg3LVxGY99ZJ6EsM4nCq4VO4LEff/9ZCGDk4x/MvGoDh33VIHI2c3KY7Aky2MKHIaWjojhtMIcFzrNU5ALqAVfJn6+CYJje0ZJKM7cFscnnyXP1AzC1amR9vHHWgsgmCE9olKbrVelZgYjBJL8+8jIxjQZLRhBz/KAa5tGwvgVCxR8zrBHVrEwXzzzHYEMocW4LVjlyZIcUNu/HBO1NHZSCbDoUuLmquSaH4QDJ7dscDdoTBrtvEw== lukeshu@sbcglobal.net +ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4whVF7SZiCftlpqXonUZ4q1H3DdQuTn3Dd0rCd1bzkfI8UMZ9oq4EcG8TmdhV8CMUJ1ze7S7OwlFMseQpgAU2DE5vuNgl6Z33u53qbMn5okWYe5Y+B4jk4BE/bm07ekTXM49D8zG0gFtz1rgbv14iYSBAylSRJaEFCAsFTzX1fo/ZE7DpIX84HakIkFzSFRDFuo+EgTdXV58A/eiWjqG1d55pR/CGcQlxt4kJ3ujakYFoJLXRlsxA0nckbw+fK/FzKugvx3rwuh3vrs9nyoOUgzqywNVHfMJAJWzhJDdFEr0ZP3nwuhHQUTY5t0gEx6qGG95PZJN9AayiV9XIS9bJ lukeshu@lukeshu-gluglugt60 diff --git a/.config/ssh/config b/.config/ssh/config index 7bab06d..4a58c28 100644 --- a/.config/ssh/config +++ b/.config/ssh/config @@ -1,7 +1,7 @@ Host * Protocol 2 ControlMaster auto - ControlPath ~/.runtime/ssh-%r@%h:%p + ControlPath ~/.runtime/%l/ssh-%r@%h:%p Compression yes # Purdue ################################################### diff --git a/.config/ssh/known_hosts b/.config/ssh/known_hosts new file mode 100644 index 0000000..2c36c25 --- /dev/null +++ b/.config/ssh/known_hosts @@ -0,0 +1,13 @@ +gitorious.org,87.238.52.168 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAwurz6NXf01Lc2HTGvPGN2RRIjW5zZ4qI8dCTdhr6R241VXO30X29EpBPRFTe3K9Zx7BXAM1XzQaV093xT8jX6X0gP/vJD2y+vDN2IDx2GeLX1k0cevhCj2mn8Su3ZWw5s9bBhVvpSvrE9uLRho2Qe/x5hJt2804KDyRGWn3esVP2dYRbf4r4TBLX/oWziDv64x5G0SkY8YsX2ZbKSX1Biw4oQXSx5jKOaCjNS+ryJFVmiIBqHa7Voi3LgJT/lHZV39sKbMNcnsQNjtkB1eqzzvdwO5RPfF0YbwjFQ5SywmrtkAqYmDOOPUDrvDChbbrS7hge4rDK/oeVjwdV718jVw== +github.com,207.97.227.239 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ== +[lukeshu.ath.cx]:6422,[128.211.198.17]:6422 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBIAGyEB6rfXZc71rZ/p+9wh50VZOC3KHlqJiLtbK9KWMFkBmSOqm3FvuqA0fl7Z1+XqxZY69vJ2ZmQ8G/UIZtIw= +192.30.252.128 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ== +192.30.252.129 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ== +192.30.252.131 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ== +[lukeshu.com]:1863,[199.180.255.147]:1863 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBJ7RUMtkyw4vL6AnDaTe9BQnJcrfZ3wgE1Y2zOaQ7IN76faZ0NhlKPSmwykEZxAHRD3f/2RgFDN/nWsJO7rwZSU= +[parabolagnulinux.org]:1863,[142.4.205.9]:1863 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBHkqv9ewWyXjrO6P5iYiUYfEYP8ALBg9C2GxA7yOJDa/vwDtx6OS3KMNRkUgx6vL/6/D555Xdypys+lwLmcdmnM= +parabolagnulinux.org,142.4.205.9 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBHkqv9ewWyXjrO6P5iYiUYfEYP8ALBg9C2GxA7yOJDa/vwDtx6OS3KMNRkUgx6vL/6/D555Xdypys+lwLmcdmnM= +[lukeshu.com]:1864,[199.180.255.147]:1864 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBIAGyEB6rfXZc71rZ/p+9wh50VZOC3KHlqJiLtbK9KWMFkBmSOqm3FvuqA0fl7Z1+XqxZY69vJ2ZmQ8G/UIZtIw= +[repo.parabolagnulinux.org]:1863,[80.87.131.252]:1863 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBK4pzgrqj2qrklFpDZrg56bjVHJyodEtvdU/QUQNPgErfjfn0BJRi4N2zL19VK5ab3kJ6zJrfY7YWOv/Ky+MqUw= +192.30.252.130 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ== +parabola.nu,80.87.131.232 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBMADiqJyJfjxXv+8FC3JxSfGBFmhevhHTWJEoe1gc5TVEOuvPD8XXy2o5EN9IzBLLFGlZbAEKYdt3apAFPJtwfE= diff --git a/.config/symlinks b/.config/symlinks index 030954c..37a7267 100644 --- a/.config/symlinks +++ b/.config/symlinks @@ -8,6 +8,7 @@ .config/X11/clientrc .xinitrc .config/X11/serverrc .xserverrc .config/X11/login .xsession +.config/login.sh .xprofile # Bash .config/bash/rc.sh .bashrc diff --git a/.config/wmii-hg/config.sh b/.config/wmii-hg/config.sh index 64596a8..7ef8305 100644 --- a/.config/wmii-hg/config.sh +++ b/.config/wmii-hg/config.sh @@ -58,10 +58,10 @@ Event() { echo " -> Creating mountpoint WMII_DIR=$WMII_DIR..." mkdir -p "$WMII_DIR" echo " -> Mounting WMII_DIR=$WMII_DIR..." - 9mount -i "unix!$WMII_NAMESPACE/wmii" "$WMII_DIR";; + 9pfuse "unix!$WMII_NAMESPACE/wmii" "$WMII_DIR";; WmiircUnmount) ## No args echo " -> Unmounting WMII_DIR=$WMII_DIR..." - 9umount "$WMII_DIR" + fusermount -u "$WMII_DIR" echo " -> Removing mountpoint WMII_DIR=$WMII_DIR..." rmdir -p "$WMII_DIR" 2>/dev/null;; ## WMII-meta events @@ -0,0 +1,18 @@ +# this file is processed on every csh invocation + +# set PATH and MANPATH based on machine type +eval `/usr/local/bin/defaultpaths -csh` + +# set default file/directory creation protection +umask 027 + +setenv ENTOMB yes + +# skip the rest if the shell is non-interactive, i.e. is running a script +if ( ! $?prompt ) exit + +set prompt = "`shorthostname` \! % " +set history = 50 +set notify = on + +alias mail mailx @@ -0,0 +1,4 @@ + + +[Desktop] +Session=mate diff --git a/.git.info.exclude.in b/.git.info.exclude.in index 2d09032..44bcbd3 100644 --- a/.git.info.exclude.in +++ b/.git.info.exclude.in @@ -45,3 +45,8 @@ lock *~ .#* \#*# +/.prefix*/ +/.local/share/gvfs-metadata/ +/.local/share/Trash/ +/.config/chromium/ +/.config/dconf/ @@ -0,0 +1,10 @@ +# this file is processed on each invocation of ksh + +# skip the rest if the shell is non-interactive, i.e. is running a script +[[ "$-" != *i* ]] && return + +PS1="`shorthostname` ! $ " +HISTSIZE=50 +HISTFILE=$HOME/.sh_history # pdksh doesn't set this by default + +alias mail=mailx diff --git a/.local.sun4u/bin/grep b/.local.sun4u/bin/grep new file mode 100755 index 0000000..481a7a9 --- /dev/null +++ b/.local.sun4u/bin/grep @@ -0,0 +1,2 @@ +#/bin/bash +ggrep "$@" diff --git a/.local.sun4u/bin/make b/.local.sun4u/bin/make new file mode 100755 index 0000000..fff3f2d --- /dev/null +++ b/.local.sun4u/bin/make @@ -0,0 +1,2 @@ +#/bin/bash +gmake "$@" diff --git a/.local.sun4u/bin/sed b/.local.sun4u/bin/sed new file mode 100755 index 0000000..3707eb6 --- /dev/null +++ b/.local.sun4u/bin/sed @@ -0,0 +1,2 @@ +#/bin/bash +gsed "$@" diff --git a/.local/bin/config-path b/.local/bin/config-path index f4c2342..7cd1fcd 100755 --- a/.local/bin/config-path +++ b/.local/bin/config-path @@ -1,22 +1,14 @@ #!/bin/bash -the_guts() { - # Add generic prefixes - add_prefix "$HOME" - add_prefix "$HOME/.local.$(uname -m)" - add_prefix "$HOME/.local" - add_prefix "$HOME/.prefix.$(uname -m)" - add_prefix "$HOME/.prefix" - - # Add rubygem prefixes - local dir - for dir in "$HOME"/.gem/*; do - # Only add it if we have that type of ruby - if type "${dir##*/}" &>/dev/null; then - add_prefix "$dir"/* - fi - done -} +# 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 @@ -28,41 +20,55 @@ in_array() { return 1 } -add_prefix() { - local prefix=$1 - local dir +var_init() { + eval "ary_$1=(\$$1)" +} - # PATH - dir="$prefix/bin" - if [[ -d "$dir" ]] && ! in_array "$dir" "${paths[@]}"; then - paths=("$dir" "${paths[@]}") - fi +var_add() { + local varname=ary_$1; shift + local var_all="${varname}[@]" + local dirs=("$@") - # RUBYLIB - dir="$prefix/lib" - if [[ -d "$dir" ]] && ! in_array "$dir" "${rubylibs[@]}"; then - rubylibs=("$dir" "${rubylibs[@]}") - fi + local dir + for dir in "${dirs[@]}"; do + if [[ -d "$dir" ]] && ! in_array "$dir" "${!var_all}"; then + eval "$varname=(\"\$dir\" \"\${$var_all}\")" + fi + done +} + +var_done() { + eval "$1=\"\${ary_$1[*]}\"" + declare -p $1 } main() { + IFS=: # Import existing values - declare -ga paths rubylibs - IFS=: paths=($PATH) - IFS=: rubylibs=($RUBYLIB) - - the_guts + var_init PATH + var_init MANPATH + var_init LD_LIBRARY_PATH + var_init RUBYLIB + var_init PERL5LIB - # Put our values into the env variables - IFS=: PATH="${paths[*]}" - IFS=: RUBYLIB="${rubylibs[*]}" + # Scan through prefixes + for prefix in "${prefixes[@]}"; do + var_add PATH "$prefix/bin" "$prefix/sbin" + var_add MANPATH "$prefix/share/man" + var_add LD_LIBRARY_PATH "$prefix"/lib{,32,64} + var_add RUBYLIB "$prefix"/lib{,32,64} + var_add PERL5LIB "$prefix"/lib{,32,64}/perl5 + done # Finally, print the values - # The sed bit here is the only time we call an external program + # The `sed` bit here is the only time we call an external program { - declare -p PATH - declare -p RUBYLIB + var_done PATH + var_done MANPATH + var_done LD_LIBRARY_PATH + var_done RUBYLIB + var_done PERL5LIB } | sed 's/^declare \(-\S* \)*//' } -main +main "$@" diff --git a/.local/bin/config-symlinks b/.local/bin/config-symlinks index 0831ca3..7d889f0 100755 --- a/.local/bin/config-symlinks +++ b/.local/bin/config-symlinks @@ -1,6 +1,8 @@ #!/bin/bash -sed -e '/^\s*$/d' -e '/#/d' symlinks | while read _target _link; do +declare -i ret=0 + +while read _target _link; do target="$(sed -rn 's|[^/]+/|../|g;s|/[^/]+$|/|p' <<<"$_link")${_target}" link="$HOME/$_link" if [[ -L "$link" ]]; then @@ -8,8 +10,11 @@ sed -e '/^\s*$/d' -e '/#/d' symlinks | while read _target _link; do fi if [[ -e "$link" ]]; then echo "ERROR: file exists: $link" >> /dev/stderr + ret=1 else mkdir -p "${link%/*}" ln -s "$target" "$link" fi -done +done < <(sed -e '/^\s*$/d' -e '/#/d' "$XDG_CONFIG_HOME/symlinks") + +exit $ret diff --git a/.local/bin/cronic b/.local/bin/cronic new file mode 100755 index 0000000..8536f29 --- /dev/null +++ b/.local/bin/cronic @@ -0,0 +1,48 @@ +#!/bin/bash + +# Cronic v2 - cron job report wrapper +# Copyright 2007 Chuck Houpt. No rights reserved, whatsoever. +# Public Domain CC0: http://creativecommons.org/publicdomain/zero/1.0/ + +set -eu + +OUT=/tmp/cronic.out.$$ +ERR=/tmp/cronic.err.$$ +TRACE=/tmp/cronic.trace.$$ + +set +e +"$@" >$OUT 2>$TRACE +RESULT=$? +set -e + +PATTERN="^${PS4:0:1}\\+${PS4:1}" +if grep -aq "$PATTERN" $TRACE +then + ! grep -av "$PATTERN" $TRACE > $ERR +else + ERR=$TRACE +fi + +if [ $RESULT -ne 0 -o -s "$ERR" ] + then + echo "Cronic detected failure or error output for the command:" + echo "$@" + echo + echo "RESULT CODE: $RESULT" + echo + echo "ERROR OUTPUT:" + cat "$ERR" + echo + echo "STANDARD OUTPUT:" + cat "$OUT" + if [ $TRACE != $ERR ] + then + echo + echo "TRACE-ERROR OUTPUT:" + cat "$TRACE" + fi +fi + +rm -f "$OUT" +rm -f "$ERR" +rm -f "$TRACE" @@ -0,0 +1,6 @@ +# this file is processed only when csh is running as a login (top-level) shell +# and should contain commands to be run once per session, e.g. setting +# environment variables and terminal-specific settings + +setenv EDITOR vi +setenv PAGER less |