From c9bc68920341b606aefc83d7f250c796929b1362 Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Thu, 19 Feb 2015 16:54:45 -0500 Subject: emacs: Make org-mode PDF export work with texlive-libre --- .config/emacs/custom.el | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/.config/emacs/custom.el b/.config/emacs/custom.el index 26eb2ae..d81ac98 100644 --- a/.config/emacs/custom.el +++ b/.config/emacs/custom.el @@ -9,6 +9,26 @@ ("9f443833deb3412a34d2d2c912247349d4bd1b09e0f5eaba11a3ea7872892000" "bb08c73af94ee74453c90422485b29e5643b73b05e8de029a6909af6a3fb3f58" "82d2cac368ccdec2fcc7573f24c3f79654b78bf133096f9b40c20d97ec1d8016" "1b8d67b43ff1723960eb5e0cba512a2c7a2ad544ddb2533a90101fd1852b426e" "628278136f88aa1a151bb2d6c8a86bf2b7631fbea5f0f76cba2a0079cd910f7d" "06f0b439b62164c6f8f84fdda32b62fb50b6d00e8b01c2208e55543a6337433a" "1e7e097ec8cb1f8c3a912d7e1e0331caeed49fef6cff220be63bd2a6ba4cc365" "71b172ea4aad108801421cc5251edb6c792f3adbaecfa1c52e94e3d99634dee7" "fc5fcb6f1f1c1bc01305694c59a1a861b008c534cae8d0e48e4d5e81ad718bc6" default))) '(erc-nick "lukeshu") '(explicit-shell-file-name "/bin/bash") + '(org-latex-default-packages-alist + (quote + (("" "fontspec" t) + ("" "fixltx2e" nil) + ("" "graphicx" t) + ("" "longtable" nil) + ("" "float" nil) + ("" "wrapfig" nil) + ("" "rotating" nil) + ("normalem" "ulem" t) + ("" "amsmath" t) + ("" "textcomp" t) + ("" "marvosym" t) + ("" "wasysym" t) + ("" "amssymb" t) + ("" "hyperref" nil) + "\\tolerance=1000"))) + '(org-latex-pdf-process + (quote + ("xelatex -interaction nonstopmode -output-directory %o %f" "xelatex -interaction nonstopmode -output-directory %o %f" "xelatex -interaction nonstopmode -output-directory %o %f"))) '(scroll-bar-mode nil) '(send-mail-function (quote smtpmail-send-it)) '(smtpmail-smtp-server "plus.smtp.mail.yahoo.com") -- cgit v1.2.3 From 80d7c725190260ad3a12c0c62360cafda7e1bfed Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Thu, 19 Feb 2015 16:55:10 -0500 Subject: emacs: Update my list of packages --- .config/emacs/init.el | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/.config/emacs/init.el b/.config/emacs/init.el index 5429c08..5f399a0 100644 --- a/.config/emacs/init.el +++ b/.config/emacs/init.el @@ -95,6 +95,7 @@ (smart-tabs-mode 1) (apply 'smart-tabs-insinuate (mapcar 'car smart-tabs-insinuate-alist)))) ;; Major modes + (:name bison-mode :type elpa) (:name coffee-mode :type elpa :after (add-hook 'coffee-mode-hook '(lambda () @@ -102,6 +103,7 @@ (set (make-local-variable 'indent-tabs-mode) nil) ))) (:name graphviz-dot-mode :type elpa) + (:name haml-mode :type elpa) (:name markdown-mode :type elpa :after (add-to-list 'auto-mode-alist '("\\.ronn\\'" . markdown-mode))) (:name nginx-mode :type elpa @@ -113,15 +115,19 @@ (el-get 'sync '(el-get ;; Minor modes dtrt-indent - smart-tabs-mode page-break-lines + smart-tabs-mode ;; Major modes - apel flim semi wanderlust + ;;apel flim semi wanderlust ; wanderlust is huge, only use on emailing boxes + ;;nxhtml ; nxhtml is invasive, only enable if actively using + bison-mode + coffee-mode graphviz-dot-mode + haml-mode markdown-mode nginx-mode - ;;nxhtml ; nxhtml is invasive, only enable if actively using php-mode-improved + scss-mode )) -- cgit v1.2.3 From bd78927c133be4303d0fe2688bce27d989ec894f Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Thu, 19 Feb 2015 16:55:45 -0500 Subject: ssh: Fix --- .config/ssh/config | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/.config/ssh/config b/.config/ssh/config index 07240a6..cc796ed 100644 --- a/.config/ssh/config +++ b/.config/ssh/config @@ -6,10 +6,8 @@ Host * # Purdue ################################################### -Host lore - HostName lore.cs.purdue.edu -Host data - HostName data.cs.purdue.edu +Host data lore borg* xinu* sac* sslab* + HostName %h.cs.purdue.edu Host *.cs.purdue.edu User shumakl @@ -25,16 +23,14 @@ Host lukeshu.com Port 1863 User lukeshu +Match host build64-par exec "host %n.lan." + HostName build64-par + Port 22 + ForwardX11 yes + ForwardX11Trusted yes Host build64-par User luke - HostName lukeshu.com Port 1864 ForwardX11 no ForwardX11Trusted no - - Match host %h.lan. - HostName build64-par - Port 22 - ForwardX11 yes - ForwardX11Trusted yes -- cgit v1.2.3 From 39275eb848ec838cb25b8b827b3aa6d72f30ea38 Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Thu, 19 Feb 2015 16:56:42 -0500 Subject: wmii: fix stuff --- .config/wmii-hg/config.sh | 1 + .config/wmii-hg/rbar_wifi | 1 + 2 files changed, 2 insertions(+) diff --git a/.config/wmii-hg/config.sh b/.config/wmii-hg/config.sh index 64596a8..ac0a349 100644 --- a/.config/wmii-hg/config.sh +++ b/.config/wmii-hg/config.sh @@ -52,6 +52,7 @@ Event() { done < <(lstags) ;; WmiircQuit) ## No args + trap - EXIT echo ' ==> Stopping wmiirc' exit;; WmiircMount) ## No args diff --git a/.config/wmii-hg/rbar_wifi b/.config/wmii-hg/rbar_wifi index 195df7c..eaf0137 100755 --- a/.config/wmii-hg/rbar_wifi +++ b/.config/wmii-hg/rbar_wifi @@ -38,6 +38,7 @@ right-click() { fi done + IFS=$' \t\n' item=$(wmii9menu -i "$cur" "${list[@]}") case "$item" in '') -- cgit v1.2.3 From db32e22df76eaa0b1c3eed59c64232a724d26913 Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Thu, 19 Feb 2015 16:56:56 -0500 Subject: wmii rules: remove things I don't use anymore --- .config/wmii-hg/rules | 3 --- 1 file changed, 3 deletions(-) diff --git a/.config/wmii-hg/rules b/.config/wmii-hg/rules index 3576983..6334a7c 100644 --- a/.config/wmii-hg/rules +++ b/.config/wmii-hg/rules @@ -1,8 +1,5 @@ /wimenu/ floating=always /panel/ tags=/.*/ floating=always -/xfce4-notifyd/ tags=/.*/ floating=always - -/nm-applet/ floating=off /^FLTK:FLTK:/ floating=always -- cgit v1.2.3 From ea93427777b2368a204215469f66a6a9afa7c06f Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Thu, 26 Mar 2015 15:22:21 -0400 Subject: clean up emacs init --- .config/emacs/init.el | 42 +++++++++++++++++++++++++----------------- 1 file changed, 25 insertions(+), 17 deletions(-) diff --git a/.config/emacs/init.el b/.config/emacs/init.el index 5f399a0..eddd0b7 100644 --- a/.config/emacs/init.el +++ b/.config/emacs/init.el @@ -1,4 +1,5 @@ ;; This config requires Emacs 24.4(+?) +;; Hey, Emacs: -*- Indent-tabs-mode: nil -*- ;; Without (advice-add) it should work in older versions of Emacs 24. ;;;; Use XDG-ish locations ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (setq xdg-cache-home (file-name-as-directory (or (getenv "XDG_CACHE_HOME") "~/.cache"))) @@ -88,12 +89,14 @@ (:name dtrt-indent :type elpa ;; Detect indent style for existing files :after (dtrt-indent-mode 1)) (:name page-break-lines :type elpa ;; Display form-feeds pretty - :before (advice-add 'page-break-lines-mode-maybe :override #'page-break-lines-mode) + :before (advice-add 'page-break-lines-mode-maybe + :override #'page-break-lines-mode) :after (global-page-break-lines-mode 1)) (:name smart-tabs-mode :type elpa ;; Indent with tabs, align with spaces :after (progn (smart-tabs-mode 1) - (apply 'smart-tabs-insinuate (mapcar 'car smart-tabs-insinuate-alist)))) + (apply 'smart-tabs-insinuate + (mapcar 'car smart-tabs-insinuate-alist)))) ;; Major modes (:name bison-mode :type elpa) (:name coffee-mode :type elpa @@ -112,23 +115,28 @@ )) ;; What packages el-get should install, both from above, and it's ;; internal list of sources. -(el-get 'sync '(el-get +(el-get 'sync (append + '(el-get) ;; Minor modes - dtrt-indent - page-break-lines - smart-tabs-mode + '(dtrt-indent + page-break-lines + smart-tabs-mode + ) ;; Major modes - ;;apel flim semi wanderlust ; wanderlust is huge, only use on emailing boxes - ;;nxhtml ; nxhtml is invasive, only enable if actively using - bison-mode - coffee-mode - graphviz-dot-mode - haml-mode - markdown-mode - nginx-mode - php-mode-improved - scss-mode - )) + (if (file-exists-p "~/Maildir") ; wanderlust is huge, only use on emailing boxes + '(apel flim semi wanderlust) + '()) + '( + ;;nxhtml ; nxhtml is invasive, only enable if actively using + bison-mode + coffee-mode + graphviz-dot-mode + haml-mode + markdown-mode + nginx-mode + php-mode-improved + scss-mode + ))) ;; Misc. crap -- cgit v1.2.3 From 75f0cdaf8b4c0605d3b12bd2de4080c68915c6e1 Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Thu, 26 Mar 2015 15:22:34 -0400 Subject: Yahoo's fingerprint change... again --- .config/offlineimaprc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.config/offlineimaprc b/.config/offlineimaprc index 36b382c..4b3d4e3 100644 --- a/.config/offlineimaprc +++ b/.config/offlineimaprc @@ -17,7 +17,7 @@ folderfilter = lambda folder: folder in [ 'Inbox', 'Bulk Mail' ] [Repository Remote-SBCGlobal] type = IMAP ssl = yes -cert_fingerprint = 9751f610c2631b3d4e63afcd096e5eb94c1f6fc8 +cert_fingerprint = a920541d377a4249259bcc59846a1faf621b4287 remotehost = imap.mail.yahoo.com remoteuser = lukeshu@sbcglobal.net folderfilter = lambda folder: folder in [ 'Inbox', 'Bulk Mail' ] -- cgit v1.2.3 From cbcae827a5a827ec741a0f28cb69fcc65cac7bd5 Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Thu, 26 Mar 2015 15:23:24 -0400 Subject: tidy up mail filters --- .config/maildirproc/att.rc | 8 ++++++++ .config/maildirproc/purdue.rc | 11 +++++++++-- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/.config/maildirproc/att.rc b/.config/maildirproc/att.rc index 6b31260..4bbd297 100644 --- a/.config/maildirproc/att.rc +++ b/.config/maildirproc/att.rc @@ -77,8 +77,10 @@ def handle_incoming_unknown(mail): or is_to_or_from(mail, "parabola.nu") or is_to_or_from(mail, "parabolagnulinux.org") or mail["From"] == "MAILER-DAEMON@yahoo.com" + or mail["From"] == "3174451635@mms.att.net" or mail["From"].contains("@facebookmail.com>") or mail["From"].contains("@gandi.net") + or mail["From"].contains("@github.com>") or mail["From"].contains("@goodwillindy.org>") or mail["From"].contains("@lpi.org>") or mail["From"].contains("@msdlt.k12.in.us>") @@ -86,6 +88,7 @@ def handle_incoming_unknown(mail): or mail["From"].contains("@post.oreilly.com>") or mail["From"].contains("@scouting.org>") or mail["From"].contains("@wolframalpha.com>") + or mail["From"].contains("margieshu@sbcglobal.net") or mail["From"].contains("parabolagnulinux.org") or mail["List-Id"].matches(".*\.(gnu|gnome|archlinux|parabolagnulinuxlibre)\.org") or mail["List-Id"].matches(".*\.parabola\.nu") @@ -287,6 +290,10 @@ def my_filters(mail): move_ham(mail,".School.Robotics") return + if mail["Subject"].contains("[Quizroom]"): + move_ham(mail,".School.CS408") + return + # Sort mail from software people for address in [ "@archlinux.org", @@ -301,6 +308,7 @@ def my_filters(mail): "@gnu.org", "@ietf.org", "@kde.org", + "@nongnu.org", "@sourceforge.com", "@thyrsus.com", "trustees@core3.amsl.com", diff --git a/.config/maildirproc/purdue.rc b/.config/maildirproc/purdue.rc index b1f64af..e74a071 100644 --- a/.config/maildirproc/purdue.rc +++ b/.config/maildirproc/purdue.rc @@ -104,6 +104,10 @@ def my_filters(mail): mail.move("INBOX.work.2013.Comcast") return + if is_to_or_from(mail,"@Cartus.com"): + mail.move("INBOX.work.2015.qualcomm") + return + if ( False or mail["Subject"].contains("[CS Opportunity Update]") @@ -265,10 +269,13 @@ def my_filters(mail): return # CS448 (Databases) if piazza_topic(mail, "CS 44800"): - mail.move("INBOX.classes.2015.1.CS448") + mail.move("INBOX.classes.2015-1.CS448") return # ME297 (FRC) - if mail["Subject"].contains("[ME297]"): + if (False + or mail["Subject"].contains("[ME297]") + or is_to_or_from(mail, "heller5@purdue.edu") + ): mail.move("INBOX.classes.2015-1.ME297") return # SOC324 (Criminology) -- cgit v1.2.3 From 062265f08cbb511e3ffcd10c3ae55f732293ea26 Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Thu, 26 Mar 2015 15:23:50 -0400 Subject: Log maildirproc into the journal instead of log files --- .config/maildirproc/att.rc | 1 - .config/maildirproc/purdue.rc | 1 - .config/systemd/user/maildirproc@.service | 2 +- 3 files changed, 1 insertion(+), 3 deletions(-) diff --git a/.config/maildirproc/att.rc b/.config/maildirproc/att.rc index 4bbd297..7ee5f42 100644 --- a/.config/maildirproc/att.rc +++ b/.config/maildirproc/att.rc @@ -7,7 +7,6 @@ import datetime 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): """ diff --git a/.config/maildirproc/purdue.rc b/.config/maildirproc/purdue.rc index e74a071..d1505f9 100644 --- a/.config/maildirproc/purdue.rc +++ b/.config/maildirproc/purdue.rc @@ -5,7 +5,6 @@ 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): """ diff --git a/.config/systemd/user/maildirproc@.service b/.config/systemd/user/maildirproc@.service index bdca746..9c4181c 100644 --- a/.config/systemd/user/maildirproc@.service +++ b/.config/systemd/user/maildirproc@.service @@ -3,7 +3,7 @@ Description=maildirproc mail filter [Service] Type=simple -ExecStart=/usr/bin/maildirproc -r ${HOME}/.config/maildirproc/%I.rc +ExecStart=/usr/bin/maildirproc --rcfile=${HOME}/.config/maildirproc/%I.rc --logfile=- Restart=on-failure [Install] -- cgit v1.2.3 From 0712c9d148075e4f19b650aa675942f2a413b55e Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Thu, 26 Mar 2015 15:24:12 -0400 Subject: config-path: work around slow Unicode handling in Bash --- .local/bin/config-path | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.local/bin/config-path b/.local/bin/config-path index 1d4d4d1..e81a986 100755 --- a/.local/bin/config-path +++ b/.local/bin/config-path @@ -43,6 +43,9 @@ var_done() { } main() { + export LC_ALL=C # Work around brokenly slow Unicode handling + # in Bash + IFS=: # Import existing values var_init PATH -- cgit v1.2.3 From 931a4c914bc2c23177faab05fc76232fdd254076 Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Thu, 26 Mar 2015 15:31:11 -0400 Subject: emacs: have org src fontify natively --- .config/emacs/custom.el | 1 + 1 file changed, 1 insertion(+) diff --git a/.config/emacs/custom.el b/.config/emacs/custom.el index d81ac98..1fdb0d3 100644 --- a/.config/emacs/custom.el +++ b/.config/emacs/custom.el @@ -29,6 +29,7 @@ '(org-latex-pdf-process (quote ("xelatex -interaction nonstopmode -output-directory %o %f" "xelatex -interaction nonstopmode -output-directory %o %f" "xelatex -interaction nonstopmode -output-directory %o %f"))) + '(org-src-fontify-natively t) '(scroll-bar-mode nil) '(send-mail-function (quote smtpmail-send-it)) '(smtpmail-smtp-server "plus.smtp.mail.yahoo.com") -- cgit v1.2.3 From 66a3f7b35ca796b5b85442feadd9c8b2d2a28cf0 Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Thu, 26 Mar 2015 15:31:27 -0400 Subject: add a sane default git ignore list --- .config/git/ignore | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.config/git/ignore b/.config/git/ignore index e69de29..d0f607c 100644 --- a/.config/git/ignore +++ b/.config/git/ignore @@ -0,0 +1,3 @@ +#*# +.#* +*~ -- cgit v1.2.3 From e0f08aa75393b20cd1dbc14a3484f3a367108948 Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Thu, 26 Mar 2015 15:32:06 -0400 Subject: wmii/rbar: remove dead code --- .config/wmii-hg/rbar | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.config/wmii-hg/rbar b/.config/wmii-hg/rbar index 9aaa485..b95f9c4 100755 --- a/.config/wmii-hg/rbar +++ b/.config/wmii-hg/rbar @@ -1,8 +1,4 @@ #!/bin/bash -IFS=: -read -r name prefix DISPLAY <<<"$1" -export DISPLAY - id=$1 name=${id#[0-9][0-9]_} -- cgit v1.2.3 From aaeb38790673d3e86207d4a5de45bde0e794805e Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Thu, 26 Mar 2015 15:32:20 -0400 Subject: rbar_wifi: sort the wifis --- .config/wmii-hg/rbar_wifi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.config/wmii-hg/rbar_wifi b/.config/wmii-hg/rbar_wifi index eaf0137..f83d921 100755 --- a/.config/wmii-hg/rbar_wifi +++ b/.config/wmii-hg/rbar_wifi @@ -29,7 +29,7 @@ right-click() { IFS='' while read -r line; do list+=("$line") - done < <({ netctl-auto list; printf '> %s\n' 'New Network' 'Disable All' 'Enable All';} | sed 's,$,$,' | column -s '$' -t) + done < <({ netctl-auto list | sort -k1.2; printf '> %s\n' 'New Network' 'Disable All' 'Enable All';} | sed 's,$,$,' | column -s '$' -t) cur='' for item in "${list[@]}"; do -- cgit v1.2.3 From 4e5135eee28a7895dbc5fd74b0f49314a0f2397e Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Thu, 26 Mar 2015 15:32:39 -0400 Subject: config-path: add .npm-prefix --- .local/bin/config-path | 1 + 1 file changed, 1 insertion(+) diff --git a/.local/bin/config-path b/.local/bin/config-path index e81a986..4b7cccb 100755 --- a/.local/bin/config-path +++ b/.local/bin/config-path @@ -8,6 +8,7 @@ prefixes=( "$HOME/.prefix.$(uname -m)" "$HOME/.prefix" "$HOME"/.gem/ruby/* + "$HOME"/.npm-prefix ) in_array() { -- cgit v1.2.3 From 8b283d6f76ffd82770e65026cad21adc11b98e42 Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Mon, 13 Apr 2015 14:31:41 -0400 Subject: X11: Arch's default xserverrc no longer looks at XDG_VTNR --- .config/X11/serverrc | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) mode change 120000 => 100644 .config/X11/serverrc diff --git a/.config/X11/serverrc b/.config/X11/serverrc deleted file mode 120000 index ce14133..0000000 --- a/.config/X11/serverrc +++ /dev/null @@ -1 +0,0 @@ -/etc/X11/xinit/xserverrc \ No newline at end of file diff --git a/.config/X11/serverrc b/.config/X11/serverrc new file mode 100644 index 0000000..6b57eeb --- /dev/null +++ b/.config/X11/serverrc @@ -0,0 +1,6 @@ +#!/bin/sh +if [ -z "$XDG_VTNR" ]; then + exec /usr/bin/X -nolisten tcp "$@" +else + exec /usr/bin/X -nolisten tcp "$@" vt$XDG_VTNR +fi -- cgit v1.2.3 From c0a9c2902e60cc980343a65f5519e7c9e2dcd081 Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Mon, 13 Apr 2015 14:32:52 -0400 Subject: xdg.sh: include XDG_VTNR --- .config/login.d/01_xdg.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.config/login.d/01_xdg.sh b/.config/login.d/01_xdg.sh index 4464764..c9f789c 100644 --- a/.config/login.d/01_xdg.sh +++ b/.config/login.d/01_xdg.sh @@ -9,6 +9,10 @@ [ -n "$XDG_DATA_DIRS" ] || export XDG_DATA_DIRS="/usr/local/share/:/usr/share/" [ -n "$XDG_CONFIG_DIRS" ] || export XDG_CONFIG_DIRS="/etc/xdg" [ -n "$XDG_CACHE_HOME" ] || export XDG_CACHE_HOME="$HOME/.cache" +[ -n "$XDG_VTNR" ] || export XDG_VTNR="$(tty 2>/dev/null | sed -n 's,^/dev/tty,,p')" + +# Check if XDG_VTNR got set to empty +[ -n "$XDG_VTNR" ] || unset XDG_VTNR # Check if XDG_RUNTIME_DIR is set, but has a bogus setting if [ -n "$XDG_RUNTIME_DIR" ] && [ ! -d "$XDG_RUNTIME_DIR" ]; then -- cgit v1.2.3 From 969410c5af909199724973b8851fcb6bf19eaba2 Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Mon, 13 Apr 2015 14:34:02 -0400 Subject: clean up XDG_RUNTIME_DIR handling --- .config/X11/clientrc | 1 + .config/login.d/01_xdg.sh | 27 -------------------------- .config/login.d/02_tmpdir.sh | 2 -- .config/login.d/02_xdg_runtime_dir.sh | 28 +++++++++++++++++++++++++++ .config/login.d/03_tmpdir.sh | 4 ++++ .config/login.d/90_dot-runtime.sh | 4 ---- .config/login.d/90_symlink_xdg_runtime_dir.sh | 4 ++++ .config/ssh/config | 2 +- 8 files changed, 38 insertions(+), 34 deletions(-) delete mode 100644 .config/login.d/02_tmpdir.sh create mode 100644 .config/login.d/02_xdg_runtime_dir.sh create mode 100644 .config/login.d/03_tmpdir.sh delete mode 100644 .config/login.d/90_dot-runtime.sh create mode 100644 .config/login.d/90_symlink_xdg_runtime_dir.sh diff --git a/.config/X11/clientrc b/.config/X11/clientrc index 4773ea4..2c965da 100755 --- a/.config/X11/clientrc +++ b/.config/X11/clientrc @@ -17,6 +17,7 @@ if [ -f "$usermodmap" ]; then xmodmap "$usermodmap" fi +[ -n "$XDG_RUNTIME_DIR" ] || exit 1 trap "rm -f $(printf '%q' "${XDG_RUNTIME_DIR}/x11-wm@${DISPLAY}")" EXIT mkfifo "${XDG_RUNTIME_DIR}/x11-wm@${DISPLAY}" diff --git a/.config/login.d/01_xdg.sh b/.config/login.d/01_xdg.sh index c9f789c..22bbc01 100644 --- a/.config/login.d/01_xdg.sh +++ b/.config/login.d/01_xdg.sh @@ -18,30 +18,3 @@ 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" ] && type flock &>/dev/null; then - _diy_xdg_runtime_login() { - export XDG_RUNTIME_DIR="$XDG_CACHE_HOME/xdg-runtime-dir/$HOSTNAME" - # There's a race condition here, between the `ln -s` and `flock`. - # But it's not like I'll be hammering a box with logins. - if [ ! -d "$XDG_RUNTIME_DIR" ]; then - local tmp="$(mktemp -d --tmpdir -- "${USER}@${HOSTNAME}-runtime.XXXXXXXXXX")" - mkdir -p -- "$XDG_CACHE_HOME/xdg-runtime-dir" - ln -sfT -- "$tmp" "$XDG_RUNTIME_DIR" - fi - if ! [ /dev/fd/7 -ef "$XDG_CACHE_HOME/xdg-runtime-dir/.lock" ]; then - exec 7>"$XDG_CACHE_HOME/xdg-runtime-dir/.lock" - if flock -sn 7; then - # Unfortunately this doesn't survive across exec(1). - trap _diy_xdg_runtime_logout EXIT - fi - fi - } - _diy_xdg_runtime_logout() { - if flock -xn 7; then - rm -rf -- "$(readlink "$XDG_RUNTIME_DIR")" - fi - } - _diy_xdg_runtime_login -fi diff --git a/.config/login.d/02_tmpdir.sh b/.config/login.d/02_tmpdir.sh deleted file mode 100644 index c0d5f18..0000000 --- a/.config/login.d/02_tmpdir.sh +++ /dev/null @@ -1,2 +0,0 @@ -mkdir -p -- "$XDG_RUNTIME_DIR/tmpdir" -export TMPDIR="$XDG_RUNTIME_DIR/tmpdir" diff --git a/.config/login.d/02_xdg_runtime_dir.sh b/.config/login.d/02_xdg_runtime_dir.sh new file mode 100644 index 0000000..6d93359 --- /dev/null +++ b/.config/login.d/02_xdg_runtime_dir.sh @@ -0,0 +1,28 @@ +# This should be readable by /bin/sh + +# Set XDG_RUNTIME_DIR if we can +if [ -z "$XDG_RUNTIME_DIR" ] && shopt -q login_shell && type flock &>/dev/null; then + _diy_xdg_runtime_login() { + export XDG_RUNTIME_DIR="$XDG_CACHE_HOME/xdg-runtime-dir/$HOSTNAME" + # There's a race condition here, between the `ln -s` and `flock`. + # But it's not like I'll be hammering a box with logins. + if [ ! -d "$XDG_RUNTIME_DIR" ]; then + local tmp="$(mktemp -d --tmpdir -- "${USER}@${HOSTNAME}-runtime.XXXXXXXXXX")" + mkdir -p -- "$XDG_CACHE_HOME/xdg-runtime-dir" + ln -sfT -- "$tmp" "$XDG_RUNTIME_DIR" + fi + if ! [ /dev/fd/7 -ef "$XDG_CACHE_HOME/xdg-runtime-dir/.lock" ]; then + exec 7>"$XDG_CACHE_HOME/xdg-runtime-dir/.lock" + if flock -sn 7; then + # Unfortunately this doesn't survive across exec(1). + trap _diy_xdg_runtime_logout EXIT + fi + fi + } + _diy_xdg_runtime_logout() { + if flock -xn 7; then + rm -rf -- "$(readlink "$XDG_RUNTIME_DIR")" + fi + } + _diy_xdg_runtime_login +fi diff --git a/.config/login.d/03_tmpdir.sh b/.config/login.d/03_tmpdir.sh new file mode 100644 index 0000000..b94ef1a --- /dev/null +++ b/.config/login.d/03_tmpdir.sh @@ -0,0 +1,4 @@ +if [ -n "$XDG_RUNTIME_DIR" ]; then + mkdir -p -- "$XDG_RUNTIME_DIR/tmpdir" + export TMPDIR="$XDG_RUNTIME_DIR/tmpdir" +fi diff --git a/.config/login.d/90_dot-runtime.sh b/.config/login.d/90_dot-runtime.sh deleted file mode 100644 index 87d30ec..0000000 --- a/.config/login.d/90_dot-runtime.sh +++ /dev/null @@ -1,4 +0,0 @@ -# This is really only needed for ssh ControlPath; as I don't have a -# way to communicate XD -mkdir -p -- ~/.runtime -ln -sfT -- "$XDG_RUNTIME_DIR" ~/.runtime/"$HOSTNAME" diff --git a/.config/login.d/90_symlink_xdg_runtime_dir.sh b/.config/login.d/90_symlink_xdg_runtime_dir.sh new file mode 100644 index 0000000..b89f7b1 --- /dev/null +++ b/.config/login.d/90_symlink_xdg_runtime_dir.sh @@ -0,0 +1,4 @@ +# This is really only needed for ssh ControlPath; as I don't have a +# way to communicate XDG_RUNTIME_DIR +mkdir -p -- "$XDG_CACHE_HOME/xdg-runtime-dir" +ln -sfT -- "$XDG_RUNTIME_DIR" "$XDG_CACHE_HOME/xdg-runtime-dir/$HOSTNAME" diff --git a/.config/ssh/config b/.config/ssh/config index cc796ed..5ea36ba 100644 --- a/.config/ssh/config +++ b/.config/ssh/config @@ -1,7 +1,7 @@ Host * Protocol 2 ControlMaster auto - ControlPath ~/.runtime/%l/ssh-%r@%h:%p + ControlPath ~/.cache/xdg-runtime-dir/%l/ssh-%r@%h:%p Compression yes # Purdue ################################################### -- cgit v1.2.3 From 35e5363eec303944b902b9f1603e38392ca4558b Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Mon, 13 Apr 2015 14:34:24 -0400 Subject: fix up Purdue hosts in ssh/config --- .config/ssh/config | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.config/ssh/config b/.config/ssh/config index 5ea36ba..84df253 100644 --- a/.config/ssh/config +++ b/.config/ssh/config @@ -6,8 +6,9 @@ Host * # Purdue ################################################### -Host data lore borg* xinu* sac* sslab* +Host data lore borg?? xinu?? sac?? sslab?? HostName %h.cs.purdue.edu + User shumakl Host *.cs.purdue.edu User shumakl -- cgit v1.2.3 From 479e2d7bcdc352626a7c4f0289d8f0c75360a978 Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Mon, 13 Apr 2015 15:09:22 -0400 Subject: Makefile: don't error if there are no Maildir folders --- .config/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.config/Makefile b/.config/Makefile index 909486d..c4cd5d0 100644 --- a/.config/Makefile +++ b/.config/Makefile @@ -15,7 +15,7 @@ clean: rm -f $(targets) ${HOME}/.folders: ${HOME}/Maildir $(MAKEFILE_LIST) - find $< -mindepth 2 -maxdepth 2 \( -type f -name "maildirfolder" -o -type d -name new -o -type d -name tmp -o -type d -name cur \) -printf '%P\0' | xargs -0 dirname -z -- | sort -zu | xargs -0 printf -- '.%s\n' >'$@' + find $< -mindepth 2 -maxdepth 2 \( -type f -name "maildirfolder" -o -type d -name new -o -type d -name tmp -o -type d -name cur \) -printf '%P\0' | xargs -r0 dirname -z -- | sort -zu | xargs -0 printf -- '.%s\n' >'$@' ${GIT_DIR}/info/exclude: ${HOME}/.git.info.exclude.in $(shell echo .??*/) ( cat $<; find $^ -type f -name 'CACHEDIR.TAG' -printf '%h\n'|sed 's@^\./@/@' ) > $@ -- cgit v1.2.3 From 9f5efa128ef0c1177856682659969e2bc8accfd2 Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Mon, 13 Apr 2015 15:09:56 -0400 Subject: Makefile: Don't require to be run from a login shell --- .config/Makefile | 7 ++++++- .config/cron/make-config | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/.config/Makefile b/.config/Makefile index c4cd5d0..c530806 100644 --- a/.config/Makefile +++ b/.config/Makefile @@ -1,5 +1,9 @@ #!/usr/bin/make -f - +ifeq ($(XDG_CACHE_HOME),) +default: all; @: +%: + . ~/.profile && $(MAKE) '$@' +else SHELL = /bin/bash GIT_DIR = ${HOME}/.git @@ -39,3 +43,4 @@ ${HOME}/Maildir/%: | ${HOME}/Maildir .PHONY: FORCE PHONY FORCE: ; PHONY: ; +endif diff --git a/.config/cron/make-config b/.config/cron/make-config index d079c92..6a7e9d6 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 * * * * cronic make -C ~/.config -- cgit v1.2.3 From 3295c5fd9b09fe0af48e11222c41d69f5bae5dbe Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Mon, 13 Apr 2015 15:10:22 -0400 Subject: login.sh: Do a better job of handling if variables aren't set --- .config/login.d/90_symlink_xdg_runtime_dir.sh | 6 ++++-- .config/login.sh | 4 ++++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/.config/login.d/90_symlink_xdg_runtime_dir.sh b/.config/login.d/90_symlink_xdg_runtime_dir.sh index b89f7b1..bc6109d 100644 --- a/.config/login.d/90_symlink_xdg_runtime_dir.sh +++ b/.config/login.d/90_symlink_xdg_runtime_dir.sh @@ -1,4 +1,6 @@ # This is really only needed for ssh ControlPath; as I don't have a # way to communicate XDG_RUNTIME_DIR -mkdir -p -- "$XDG_CACHE_HOME/xdg-runtime-dir" -ln -sfT -- "$XDG_RUNTIME_DIR" "$XDG_CACHE_HOME/xdg-runtime-dir/$HOSTNAME" +if [ -n "$XDG_RUNTIME_DIR" ]; then + mkdir -p -- "$XDG_CACHE_HOME/xdg-runtime-dir" + ln -sfT -- "$XDG_RUNTIME_DIR" "$XDG_CACHE_HOME/xdg-runtime-dir/$HOSTNAME" +fi diff --git a/.config/login.sh b/.config/login.sh index b2cc80a..538920a 100644 --- a/.config/login.sh +++ b/.config/login.sh @@ -11,6 +11,10 @@ # the default umask is set in /etc/profile; for setting the umask # for ssh logins, install and configure the libpam-umask package. +if [ -z "$HOME" ]; then + eval 'HOME=~' + export HOME +fi for file in "${XDG_CONFIG_HOME:-$HOME/.config}/login.d/"*.sh; do . "$file" done -- cgit v1.2.3 From 39c0d7a5c7538350e96fc135147f56cdb7d45093 Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Mon, 13 Apr 2015 15:59:10 -0400 Subject: There's a really silly restriction for the path length of domain sockets. --- .config/ssh/config | 2 +- .config/symlinks | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.config/ssh/config b/.config/ssh/config index 84df253..8649e61 100644 --- a/.config/ssh/config +++ b/.config/ssh/config @@ -1,7 +1,7 @@ Host * Protocol 2 ControlMaster auto - ControlPath ~/.cache/xdg-runtime-dir/%l/ssh-%r@%h:%p + ControlPath ~/.runtime/%l/ssh-%r@%h:%p Compression yes # Purdue ################################################### diff --git a/.config/symlinks b/.config/symlinks index 37a7267..af0f1af 100644 --- a/.config/symlinks +++ b/.config/symlinks @@ -32,6 +32,7 @@ # Directories .cache/maildirproc/ .maildirproc +.cache/xdg-runtime-dir/ .runtime .config/arduino/ .arduino .config/bazaar/ .bazaar -- cgit v1.2.3 From 971fb829748b8c1727825c03cfc8b8ef6e3fea35 Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Sun, 12 Apr 2015 02:58:06 -0400 Subject: maildirproc: work on filters --- .config/maildirproc/att.rc | 152 ++++++++++++++++++++++++--------------------- 1 file changed, 82 insertions(+), 70 deletions(-) diff --git a/.config/maildirproc/att.rc b/.config/maildirproc/att.rc index 7ee5f42..c94ac8d 100644 --- a/.config/maildirproc/att.rc +++ b/.config/maildirproc/att.rc @@ -89,7 +89,7 @@ def handle_incoming_unknown(mail): or mail["From"].contains("@wolframalpha.com>") or mail["From"].contains("margieshu@sbcglobal.net") or mail["From"].contains("parabolagnulinux.org") - or mail["List-Id"].matches(".*\.(gnu|gnome|archlinux|parabolagnulinuxlibre)\.org") + or mail["List-Id"].matches(".*\.(gnu|gnome|archlinux|parabolagnulinuxlibre|fedorahosted)\.org") or mail["List-Id"].matches(".*\.parabola\.nu") or mail["Subject"].contains("[Dev]") or mail["Subject"].contains("[Maintenance]") @@ -115,36 +115,66 @@ 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', 'bug-gnuzilla', 'bug-librejs' ]: + # https://lists.gnu.org/mailman/options/bug-librejs/lukeshu@sbcglobal.net + #m = mail["List-Id"].matches("(.*<)?([^<]*)\.gnu\.org") + #if m: + # move_ham(mail,".software.gnu."+m.group(2)) + # return + + for list in [ 'bug-librejs', + 'bug-make', + 'help-grub', + 'help-make', + 'social', + 'social-discuss', + 'stow-devel', + 'bug-gnuzilla', + 'bug-gsrc' ]: if ( False or mail["List-Id"].matches(list+"\.gnu\.org") or mail["Subject"].contains('['+list+']') ): - move_ham(mail,".software."+list) + import pdb; pdb.set_trace() + move_ham(mail,".software.gnu."+list) return - - # Sort mail from other software mailing lists - if ( - False - or mail["List-Id"].matches("social-discuss\.gnu\.org") - or mail["Subject"].contains("social-discuss") - ): - move_ham(mail,".software.social") - return - - if mail["List-Id"].matches("networkmanager-list\.gnome\.org"): - move_ham(mail,".software.networkmanager") + # Sort mail from non-GNU mailing lists + # https://lists.nongnu.org/mailman/options/libreboot/lukeshu@sbcglobal.net + for list in [ 'libreboot', + 'libreboot-dev', + 'librefm-announce', + 'social-announce', + 'gnu-linux-libre' ]: + if ( + False + or mail["List-Id"].matches(list+"\.nongnu\.org") + or mail["Subject"].contains('['+list+']') + ): + import pdb; pdb.set_trace() + move_ham(mail,".software.nongnu."+list) + return + # Sort mail from Gnome mailing lists + # https://mail.gnome.org/mailman/options/networkmanager-list/lukeshu@sbcglobal.net + for list in [ 'networkmanager-list' ]: + if mail["List-Id"].matches(list+"\.gnome\.org"): + move_ham(mail,".software.gnome."+list) + return + # Sort mail from Arch Linux mailing lists + for list in [ 'arch-projects', 'pacman-dev' ]: + if mail["List-Id"].matches(list+"\.archlinux\.org"): + move_ham(mail,".software.archlinux."+list) + return + # Sort mail from other mailing lists + if (mail["List-Id"].matches("systemd-devel.lists.freedesktop.org") or is_to_or_from(mail, "systemd-devel@lists.freedesktop.org")): + move_ham(mail,".software.systemd-devel") return - - if mail["List-Id"].matches("maintenance\.lists\.parabola(gnulinux\.org|\.nu)"): + # Sort mail from Parabola mailing lists + if mail["List-Id"].matches("maintenance\.lists\.parabola\.nu"): move_ham(mail,".software.parabola.maintenance") return - - if is_to_or_from(mail, "labs@parabola.nu"): + if mail["List-Id"].matches("labs\.parabola\.nu"): move_ham(mail,".software.parabola.labs") return - if ( False or mail["List-Id"].matches("parabolagnulinux\.org") @@ -159,21 +189,6 @@ def my_filters(mail): else: move_ham(mail,".software.parabola.dev") return - - if (mail["List-Id"].matches("pacman-dev.archlinux.org")): - move_ham(mail,".software.pacman-dev") - return - - if (mail["List-Id"].matches("systemd-devel.lists.freedesktop.org") or is_to_or_from(mail, "systemd-devel@lists.freedesktop.org")): - move_ham(mail,".software.systemd-devel") - return - - for subject_re in [ - "\[Stow-[^\]]*\].*", - ]: - if mail["Subject"].matches(subject_re): - move_ham(mail,".software") - return # Sort mail from some social websites if mail["From"].matches("facebook(|mail)\.com"): @@ -256,12 +271,27 @@ def my_filters(mail): return # Sort mail from FRC people + # Generic + for address in [ "@ni.com", "@usfirst.org" ]: + if is_to_or_from(mail,address): + move_ham(mail,".FRC") + return + # FRC 829 + for address in [ + "wcxctrack829@aim.com", # Pat + "william.walk@gmail.com", + ]: + if is_to_or_from(mail,address): + move_ham(mail,".FRC.829") + return + if mail["Subject"].matches("\b829\b"): + move_hame(mail,".FRC.829") + return + # FRC 1024 for address in [ - "@ni.com", - "@usfirst.org", "BBonahoom@stanleyworks.com", - "allison.m.babcock@gmail.com", "bryanbonahoom@gmail.com", + "allison.m.babcock@gmail.com", "cdewalt3@yahoo.com", "dave.nelson@ecolab.com", "dickaustin190@yahoo.com", @@ -273,24 +303,23 @@ def my_filters(mail): "silioso@gmail.com", "skiplittell@comcast.net", "tswilson4801@att.net", - "wcxctrack829@aim.com", # Pat - "william.walk@gmail.com", ]: if is_to_or_from(mail,address): - move_ham(mail,".School.Robotics") + move_ham(mail,".FRC.1024") return - for subject_re in [ - "robotics", - "\b1024\b", - "\b4272\b", - "kil-?a-?bytes", - ]: + for subject_re in [ "\b1024\b", "kil-?a-?bytes" ]: if mail["Subject"].matches(subject_re): - move_ham(mail,".School.Robotics") + move_ham(mail,".FRC.1024") return + # FRC 4272 + if mail["Subject"].matches("\b4272\b"): + move_hame(mail,".FRC.4272") + return + # Catch BS things because of CS classes before the general + # software filters if mail["Subject"].contains("[Quizroom]"): - move_ham(mail,".School.CS408") + mail.delete() return # Sort mail from software people @@ -298,6 +327,8 @@ def my_filters(mail): "@archlinux.org", "@canonical.org", "@cnuk.org", + "@core3.amsl.com", + "@defectivebydesign.org", "@eff.org", "@foocorp.net", "@fsf.org", @@ -310,39 +341,20 @@ def my_filters(mail): "@nongnu.org", "@sourceforge.com", "@thyrsus.com", - "trustees@core3.amsl.com", ]: if is_to_or_from(mail,address): move_ham(mail,".software") return - # Sort mail from the school newspaper if ( False or is_to_or_from(mail, "@lnnorthstar.org") or is_to_or_from(mail, "lnnorthstar.org@tigertech.net") ): - move_ham(mail,".School.Newspaper") - return - - # Sort mail from various employers/people who pay me - if is_to_or_from(mail, "@precisepath.com"): - move_ham(mail,".Work.PrecisePath") + move_ham(mail,".HighSchool.Newspaper") return - if is_to_or_from(mail,"susyphil@aol.com"): - move_ham(mail,".Work.PMCH") - - for address in [ - "d.farrar@comcast.net", - "dfarrar@avacoustics.net", - "@vmware.com", - ]: - if is_to_or_from(mail,address): - move_ham(mail,".Work.FAST") - return - # Sort misc newsletters if ( False @@ -370,7 +382,7 @@ def my_filters(mail): or mail["Subject"].contains("NHS") or mail["Subject"].contains("National Honor Society") ): - move_ham(mail,".School") + move_ham(mail,".HighSchool") return # from college stuff -- cgit v1.2.3 From 7b1858b944e6f9e6fa225bbf4c32d2bf8238233b Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Mon, 13 Apr 2015 16:06:01 -0400 Subject: Makefile: exclude old FOLDERS in ~/.folders --- .config/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.config/Makefile b/.config/Makefile index 909486d..18672b0 100644 --- a/.config/Makefile +++ b/.config/Makefile @@ -15,7 +15,7 @@ clean: rm -f $(targets) ${HOME}/.folders: ${HOME}/Maildir $(MAKEFILE_LIST) - find $< -mindepth 2 -maxdepth 2 \( -type f -name "maildirfolder" -o -type d -name new -o -type d -name tmp -o -type d -name cur \) -printf '%P\0' | xargs -0 dirname -z -- | sort -zu | xargs -0 printf -- '.%s\n' >'$@' + find $< -mindepth 2 -maxdepth 2 \( -type f -name "maildirfolder" -o -type d -name new -o -type d -name tmp -o -type d -name cur \) -printf '%P\0' | xargs -0 dirname -z -- | sort -zu | xargs -0 printf -- '.%s\n' | grep -vP '^\.FOLDERS.Ham.20(?!15)' > '$@' ${GIT_DIR}/info/exclude: ${HOME}/.git.info.exclude.in $(shell echo .??*/) ( cat $<; find $^ -type f -name 'CACHEDIR.TAG' -printf '%h\n'|sed 's@^\./@/@' ) > $@ -- cgit v1.2.3 From a0df355c33eec18158e4e87800992f50e4eff3a8 Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Mon, 13 Apr 2015 16:07:38 -0400 Subject: track ~/.gnupg separately --- .config/gpg/gpg.conf | 242 --------------------------------------------------- .config/symlinks | 3 - 2 files changed, 245 deletions(-) delete mode 100644 .config/gpg/gpg.conf diff --git a/.config/gpg/gpg.conf b/.config/gpg/gpg.conf deleted file mode 100644 index f43a58e..0000000 --- a/.config/gpg/gpg.conf +++ /dev/null @@ -1,242 +0,0 @@ -# Options for GnuPG -# Copyright 1998, 1999, 2000, 2001, 2002, 2003, -# 2010 Free Software Foundation, Inc. -# -# This file is free software; as a special exception the author gives -# unlimited permission to copy and/or distribute it, with or without -# modifications, as long as this notice is preserved. -# -# This file is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the -# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# -# Unless you specify which option file to use (with the command line -# option "--options filename"), GnuPG uses the file ~/.gnupg/gpg.conf -# by default. -# -# An options file can contain any long options which are available in -# GnuPG. If the first non white space character of a line is a '#', -# this line is ignored. Empty lines are also ignored. -# -# See the man page for a list of options. - -# Uncomment the following option to get rid of the copyright notice - -no-greeting - -# If you have more than 1 secret key in your keyring, you may want to -# uncomment the following option and set your preferred keyid. - -default-key D4FFBFC9 - -# If you do not pass a recipient to gpg, it will ask for one. Using -# this option you can encrypt to a default key. Key validation will -# not be done in this case. The second form uses the default key as -# default recipient. - -#default-recipient some-user-id -#default-recipient-self - -# Use --encrypt-to to add the specified key as a recipient to all -# messages. This is useful, for example, when sending mail through a -# mail client that does not automatically encrypt mail to your key. -# In the example, this option allows you to read your local copy of -# encrypted mail that you've sent to others. - -#encrypt-to some-key-id - -# By default GnuPG creates version 4 signatures for data files as -# specified by OpenPGP. Some earlier (PGP 6, PGP 7) versions of PGP -# require the older version 3 signatures. Setting this option forces -# GnuPG to create version 3 signatures. - -#force-v3-sigs - -# Because some mailers change lines starting with "From " to ">From " -# it is good to handle such lines in a special way when creating -# cleartext signatures; all other PGP versions do it this way too. - -#no-escape-from-lines - -# If you do not use the Latin-1 (ISO-8859-1) charset, you should tell -# GnuPG which is the native character set. Please check the man page -# for supported character sets. This character set is only used for -# metadata and not for the actual message which does not undergo any -# translation. Note that future version of GnuPG will change to UTF-8 -# as default character set. In most cases this option is not required -# as GnuPG is able to figure out the correct charset at runtime. - -charset utf-8 - -# Group names may be defined like this: -# group mynames = paige 0x12345678 joe patti -# -# Any time "mynames" is a recipient (-r or --recipient), it will be -# expanded to the names "paige", "joe", and "patti", and the key ID -# "0x12345678". Note there is only one level of expansion - you -# cannot make an group that points to another group. Note also that -# if there are spaces in the recipient name, this will appear as two -# recipients. In these cases it is better to use the key ID. - -#group mynames = paige 0x12345678 joe patti - -# Lock the file only once for the lifetime of a process. If you do -# not define this, the lock will be obtained and released every time -# it is needed, which is usually preferable. - -#lock-once - -# GnuPG can send and receive keys to and from a keyserver. These -# servers can be HKP, email, or LDAP (if GnuPG is built with LDAP -# support). -# -# Example HKP keyserver: -# hkp://keys.gnupg.net -# hkp://subkeys.pgp.net -# -# Example email keyserver: -# mailto:pgp-public-keys@keys.pgp.net -# -# Example LDAP keyservers: -# ldap://keyserver.pgp.com -# -# Regular URL syntax applies, and you can set an alternate port -# through the usual method: -# hkp://keyserver.example.net:22742 -# -# Most users just set the name and type of their preferred keyserver. -# Note that most servers (with the notable exception of -# ldap://keyserver.pgp.com) synchronize changes with each other. Note -# also that a single server name may actually point to multiple -# servers via DNS round-robin. hkp://keys.gnupg.net is an example of -# such a "server", which spreads the load over a number of physical -# servers. To see the IP address of the server actually used, you may use -# the "--keyserver-options debug". - -#keyserver hkp://keys.gnupg.net -#keyserver mailto:pgp-public-keys@keys.nl.pgp.net -#keyserver ldap://keyserver.pgp.com - -#keyserver hkps://keys.indymedia.org -#keyserver-options ca-cert-file=/etc/ssl/certs/cacert.org.pem - -keyserver hkps://zimmermann.mayfirst.org -keyserver-options ca-cert-file=/home/luke/.gnupg/mfpl.crt - -# Common options for keyserver functions: -# -# include-disabled : when searching, include keys marked as "disabled" -# on the keyserver (not all keyservers support this). -# -# no-include-revoked : when searching, do not include keys marked as -# "revoked" on the keyserver. -# -# verbose : show more information as the keys are fetched. -# Can be used more than once to increase the amount -# of information shown. -# -# use-temp-files : use temporary files instead of a pipe to talk to the -# keyserver. Some platforms (Win32 for one) always -# have this on. -# -# keep-temp-files : do not delete temporary files after using them -# (really only useful for debugging) -# -# http-proxy="proxy" : set the proxy to use for HTTP and HKP keyservers. -# This overrides the "http_proxy" environment variable, -# if any. -# -# auto-key-retrieve : automatically fetch keys as needed from the keyserver -# when verifying signatures or when importing keys that -# have been revoked by a revocation key that is not -# present on the keyring. -# -# no-include-attributes : do not include attribute IDs (aka "photo IDs") -# when sending keys to the keyserver. - -#keyserver-options auto-key-retrieve - -# Display photo user IDs in key listings - -# list-options show-photos - -# Display photo user IDs when a signature from a key with a photo is -# verified - -# verify-options show-photos - -# Use this program to display photo user IDs -# -# %i is expanded to a temporary file that contains the photo. -# %I is the same as %i, but the file isn't deleted afterwards by GnuPG. -# %k is expanded to the key ID of the key. -# %K is expanded to the long OpenPGP key ID of the key. -# %t is expanded to the extension of the image (e.g. "jpg"). -# %T is expanded to the MIME type of the image (e.g. "image/jpeg"). -# %f is expanded to the fingerprint of the key. -# %% is %, of course. -# -# If %i or %I are not present, then the photo is supplied to the -# viewer on standard input. If your platform supports it, standard -# input is the best way to do this as it avoids the time and effort in -# generating and then cleaning up a secure temp file. -# -# If no photo-viewer is provided, GnuPG will look for xloadimage, eog, -# or display (ImageMagick). On Mac OS X and Windows, the default is -# to use your regular JPEG image viewer. -# -# Some other viewers: -# photo-viewer "qiv %i" -# photo-viewer "ee %i" -# -# This one saves a copy of the photo ID in your home directory: -# photo-viewer "cat > ~/photoid-for-key-%k.%t" -# -# Use your MIME handler to view photos: -# photo-viewer "metamail -q -d -b -c %T -s 'KeyID 0x%k' -f GnuPG" - -# Passphrase agent -# -# We support the old experimental passphrase agent protocol as well as -# the new Assuan based one (currently available in the "newpg" package -# at ftp.gnupg.org/gcrypt/alpha/aegypten/). To make use of the agent, -# you have to run an agent as daemon and use the option -# -use-agent -# -# which tries to use the agent but will fallback to the regular mode -# if there is a problem connecting to the agent. The normal way to -# locate the agent is by looking at the environment variable -# GPG_AGENT_INFO which should have been set during gpg-agent startup. -# In certain situations the use of this variable is not possible, thus -# the option -# -# --gpg-agent-info=::1 -# -# may be used to override it. - -# Automatic key location -# -# GnuPG can automatically locate and retrieve keys as needed using the -# auto-key-locate option. This happens when encrypting to an email -# address (in the "user@example.com" form), and there are no -# user@example.com keys on the local keyring. This option takes the -# following arguments, in the order they are to be tried: -# -# cert = locate a key using DNS CERT, as specified in RFC-4398. -# GnuPG can handle both the PGP (key) and IPGP (URL + fingerprint) -# CERT methods. -# -# pka = locate a key using DNS PKA. -# -# ldap = locate a key using the PGP Universal method of checking -# "ldap://keys.(thedomain)". For example, encrypting to -# user@example.com will check ldap://keys.example.com. -# -# keyserver = locate a key using whatever keyserver is defined using -# the keyserver option. -# -# You may also list arbitrary keyservers here by URL. -# -# Try CERT, then PKA, then LDAP, then hkp://subkeys.net: -#auto-key-locate cert pka ldap hkp://subkeys.pgp.net diff --git a/.config/symlinks b/.config/symlinks index 37a7267..7e791f8 100644 --- a/.config/symlinks +++ b/.config/symlinks @@ -15,9 +15,6 @@ .config/bash/login.sh .bash_login .config/bash/logout.sh .bash_logout -# Files plucked out of multi-purpose directories -.config/gpg/gpg.conf .gnupg/gpg.conf - # Individual config files .config/abs.conf .abs.conf .config/conkerorrc .conkerorrc -- cgit v1.2.3 From 7ee9aaeaa18608bbeb01c4fdb8e69d9772eebeb6 Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Mon, 13 Apr 2015 16:10:41 -0400 Subject: .maildirproc must exist, even though it is not used --- .config/symlinks | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.config/symlinks b/.config/symlinks index 7e791f8..24bd5fe 100644 --- a/.config/symlinks +++ b/.config/symlinks @@ -28,8 +28,6 @@ .cache/offlineimap .offlineimap # Directories -.cache/maildirproc/ .maildirproc - .config/arduino/ .arduino .config/bazaar/ .bazaar .config/cpan/ .cpan @@ -43,6 +41,9 @@ .config/wmii-hg/ .wmii-hg .config/wmii/ .wmii # +# .maildirproc is not used, but must exist +/tmp/ .maildirproc + # KDE .config/ .kde/share/apps # .config/ .kde/share/config # -- cgit v1.2.3 From f181c08119e7bf00ce6520331afb737321f350ad Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Mon, 13 Apr 2015 16:11:24 -0400 Subject: maildirproc: update filters --- .config/maildirproc/att.rc | 101 ++++++++++++++---------------------------- .config/maildirproc/purdue.rc | 16 ++++++- 2 files changed, 48 insertions(+), 69 deletions(-) diff --git a/.config/maildirproc/att.rc b/.config/maildirproc/att.rc index c94ac8d..98ef8ae 100644 --- a/.config/maildirproc/att.rc +++ b/.config/maildirproc/att.rc @@ -4,10 +4,26 @@ import os import os.path import subprocess import datetime +import re processor.maildir_base = "~/Maildir" processor.auto_reload_rcfile = True +def mailman_domain(mail, domain): + """ + Return a string that is the list-name for a mailman domain + """ + m = mail["List-Id"].matches("(.*<)?([^<]*)\."+re.escape(domain)) + if m: + if mail["Subject"].contains("["+m.group(2)+"]"): + return m.group(2) + for hdr in [ 'To', 'Cc', 'From' ]: + m = mail[hdr].matches("(\w*)@"+re.escape(domain)) + if m: + if mail["Subject"].contains("["+m.group(1)+"]"): + return m.group(2) + return None + def is_to_or_from(mail,address): """ Return true if [mail] is to or from an address that contains [address]. @@ -114,81 +130,30 @@ def handle_incoming_unknown(mail): return def my_filters(mail): - # Sort mail from GNU mailing lists + # Sort mail from various mailing lists # https://lists.gnu.org/mailman/options/bug-librejs/lukeshu@sbcglobal.net - #m = mail["List-Id"].matches("(.*<)?([^<]*)\.gnu\.org") - #if m: - # move_ham(mail,".software.gnu."+m.group(2)) - # return - - for list in [ 'bug-librejs', - 'bug-make', - 'help-grub', - 'help-make', - 'social', - 'social-discuss', - 'stow-devel', - 'bug-gnuzilla', - 'bug-gsrc' ]: - if ( - False - or mail["List-Id"].matches(list+"\.gnu\.org") - or mail["Subject"].contains('['+list+']') - ): - import pdb; pdb.set_trace() - move_ham(mail,".software.gnu."+list) - return - # Sort mail from non-GNU mailing lists # https://lists.nongnu.org/mailman/options/libreboot/lukeshu@sbcglobal.net - for list in [ 'libreboot', - 'libreboot-dev', - 'librefm-announce', - 'social-announce', - 'gnu-linux-libre' ]: - if ( - False - or mail["List-Id"].matches(list+"\.nongnu\.org") - or mail["Subject"].contains('['+list+']') - ): - import pdb; pdb.set_trace() - move_ham(mail,".software.nongnu."+list) - return - # Sort mail from Gnome mailing lists # https://mail.gnome.org/mailman/options/networkmanager-list/lukeshu@sbcglobal.net - for list in [ 'networkmanager-list' ]: - if mail["List-Id"].matches(list+"\.gnome\.org"): - move_ham(mail,".software.gnome."+list) + for pair in [ [ 'gnu.org', 'gnu' ], + [ 'nongnu.org', 'nongnu' ], + [ 'gnome.org', 'gnome' ], + [ 'archlinux.org', 'archlinux' ], + [ 'lists.freedesktop.org', 'freedesktop' ], + [ 'lists.fedorahosted.org', 'fedorahosted' ], + [ 'lists.parabola.nu', 'parabola' ], + [ 'parabola.nu', 'parabola' ] ]: + list = mailman_domain(mail, pair[0]) + if list: + move_ham(mail,".software."+pair[1]+"."+list) return - # Sort mail from Arch Linux mailing lists - for list in [ 'arch-projects', 'pacman-dev' ]: - if mail["List-Id"].matches(list+"\.archlinux\.org"): - move_ham(mail,".software.archlinux."+list) - return - # Sort mail from other mailing lists - if (mail["List-Id"].matches("systemd-devel.lists.freedesktop.org") or is_to_or_from(mail, "systemd-devel@lists.freedesktop.org")): - move_ham(mail,".software.systemd-devel") - return - # Sort mail from Parabola mailing lists - if mail["List-Id"].matches("maintenance\.lists\.parabola\.nu"): - move_ham(mail,".software.parabola.maintenance") - return - if mail["List-Id"].matches("labs\.parabola\.nu"): - move_ham(mail,".software.parabola.labs") - return if ( False - or mail["List-Id"].matches("parabolagnulinux\.org") - or mail["List-Id"].matches("parabola\.nu") - 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") + or is_to_or_from(mail, "parabolagnulinux.org") + or is_to_or_from(mail, "parabola.nu") + or is_to_or_from(mail, "kiwwwi.com.ar") ): - if mail["Subject"].contains("[Django]"): - move_ham(mail,".software.parabola.maintenance.django") - return - else: - move_ham(mail,".software.parabola.dev") - return + move_ham(mail,".software.parabola") + return # Sort mail from some social websites if mail["From"].matches("facebook(|mail)\.com"): diff --git a/.config/maildirproc/purdue.rc b/.config/maildirproc/purdue.rc index d1505f9..f086eee 100644 --- a/.config/maildirproc/purdue.rc +++ b/.config/maildirproc/purdue.rc @@ -103,7 +103,12 @@ def my_filters(mail): mail.move("INBOX.work.2013.Comcast") return - if is_to_or_from(mail,"@Cartus.com"): + if ( + False + or is_to_or_from(mail,"@qualcomm.com") + or is_to_or_from(mail,"@Cartus.com") + or is_to_or_from(mail,"@quicinc.com") + ): mail.move("INBOX.work.2015.qualcomm") return @@ -268,6 +273,9 @@ def my_filters(mail): return # CS448 (Databases) if piazza_topic(mail, "CS 44800"): + mail.move("INBOX.classes.2015-1.CS448.Piazza") + return + if mail["Subject"].matches("CS *448"): mail.move("INBOX.classes.2015-1.CS448") return # ME297 (FRC) @@ -278,6 +286,12 @@ def my_filters(mail): mail.move("INBOX.classes.2015-1.ME297") return # SOC324 (Criminology) + if mail["Subject"].contains("spring-2015-soc-32400"): + mail.move("INBOX.classes.2015-1.SOC324") + return + + # Everything else ##################################################### + mail.move("INBOX.ham"); handle_mapping = { "INBOX": my_filters, -- cgit v1.2.3 From 8fd263648f772783767ab6eab0ee25ac8772dcab Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Mon, 20 Apr 2015 19:25:41 -0400 Subject: bash: aliases should just be a regular rc module --- .config/bash/aliases.sh | 54 -------------------------------------------- .config/bash/rc.d/aliases.sh | 54 ++++++++++++++++++++++++++++++++++++++++++++ .config/bash/rc.sh | 5 ---- 3 files changed, 54 insertions(+), 59 deletions(-) delete mode 100644 .config/bash/aliases.sh create mode 100644 .config/bash/rc.d/aliases.sh diff --git a/.config/bash/aliases.sh b/.config/bash/aliases.sh deleted file mode 100644 index 28b9923..0000000 --- a/.config/bash/aliases.sh +++ /dev/null @@ -1,54 +0,0 @@ -#!/bin/bash -# The above line probably should never be *used* in this file, but it -# lets text editors know that this is BASH syntax. - -###################################################################### -# Set up colors and settings for ls/dir/vdir # -###################################################################### -if [ -x "`which dircolors`" ]; then - eval "$(dircolors -p | cat - "${XDG_CONFIG_HOME}/dir_colors" | - 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 -else - alias ls='ls -1v' - alias dir='dir -v' - alias vdir='vdir -v' -fi - -###################################################################### -# Set up the standard aliases for ls # -###################################################################### -alias ll='ls -l' -alias la='ls -a' -alias l='ls -CF' - -###################################################################### -# Some preferences for miscellaneous stuff # -###################################################################### -#alias rm='gvfs-trash' -#alias sed='sed --follow-symlinks' # breaks sed 4.2.2 -alias tree='tree --charset utf8' -alias cd=pushd -alias gitk='gitk --all --date-order' -alias userctl='systemctl --user' - -###################################################################### -# Some almost-function aliases # -###################################################################### -alias lock="clear; away -C 'This terminal is locked'" -alias plock="term-title Terminal Locked;lock" -mvln() { mv $1 $2; ln -s $2 $1; } -jarls() { jar tf "$1" | sed -n 's/\.class$//p' | LC_ALL=C sort | xargs -r -d $'\n' javap -classpath "$1"; } -tarls() { local file; for file in "$@"; do bsdtar tf "$file" | sed "s|^|$file:|"; done; } -jarmain() { jarls "$1" 2>/dev/null | grep -E '(^[a-z]|public static void main\(java\.lang\.String\[\]\))' | grep -B1 '^ '; } diff --git a/.config/bash/rc.d/aliases.sh b/.config/bash/rc.d/aliases.sh new file mode 100644 index 0000000..28b9923 --- /dev/null +++ b/.config/bash/rc.d/aliases.sh @@ -0,0 +1,54 @@ +#!/bin/bash +# The above line probably should never be *used* in this file, but it +# lets text editors know that this is BASH syntax. + +###################################################################### +# Set up colors and settings for ls/dir/vdir # +###################################################################### +if [ -x "`which dircolors`" ]; then + eval "$(dircolors -p | cat - "${XDG_CONFIG_HOME}/dir_colors" | + 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 +else + alias ls='ls -1v' + alias dir='dir -v' + alias vdir='vdir -v' +fi + +###################################################################### +# Set up the standard aliases for ls # +###################################################################### +alias ll='ls -l' +alias la='ls -a' +alias l='ls -CF' + +###################################################################### +# Some preferences for miscellaneous stuff # +###################################################################### +#alias rm='gvfs-trash' +#alias sed='sed --follow-symlinks' # breaks sed 4.2.2 +alias tree='tree --charset utf8' +alias cd=pushd +alias gitk='gitk --all --date-order' +alias userctl='systemctl --user' + +###################################################################### +# Some almost-function aliases # +###################################################################### +alias lock="clear; away -C 'This terminal is locked'" +alias plock="term-title Terminal Locked;lock" +mvln() { mv $1 $2; ln -s $2 $1; } +jarls() { jar tf "$1" | sed -n 's/\.class$//p' | LC_ALL=C sort | xargs -r -d $'\n' javap -classpath "$1"; } +tarls() { local file; for file in "$@"; do bsdtar tf "$file" | sed "s|^|$file:|"; done; } +jarmain() { jarls "$1" 2>/dev/null | grep -E '(^[a-z]|public static void main\(java\.lang\.String\[\]\))' | grep -B1 '^ '; } diff --git a/.config/bash/rc.sh b/.config/bash/rc.sh index 7df0373..ae55d5c 100644 --- a/.config/bash/rc.sh +++ b/.config/bash/rc.sh @@ -71,11 +71,6 @@ unset make_prompt ################################################################################ -# Load my aliases -if [[ -f ${XDG_CONFIG_HOME}/bash/aliases.sh ]]; then - . ${XDG_CONFIG_HOME}/bash/aliases.sh -fi - # Include modular config files if [[ -d ${XDG_CONFIG_HOME}/bash/rc.d ]]; then for file in "${XDG_CONFIG_HOME}/bash/rc.d"/*.sh; do -- cgit v1.2.3 From 2f2900213cc8157590f11dcc7988c1a3bb7dc887 Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Mon, 20 Apr 2015 19:31:17 -0400 Subject: Be careful about shebangs, which shells are used, and what gets executed Use - #!/hint/bash for bash that gets sourced (non-executable) - #!/hint/sh for sh(1) that gets sourced (non-executable) - #!/bin/sh for sh(1) that gets executed - #!/usr/bin/env bash for bash that gets executed To this end, also - Clean up a couple of related comments - Fix a couple of bash-isms that I noticed in sh(1) files - Fix permissions on a couple of files that get sourced --- .config/X11/clientrc | 2 +- .config/X11/login | 9 ++------- .config/X11/serverrc | 2 +- .config/bash/login.sh | 5 ++--- .config/bash/logout.sh | 3 ++- .config/bash/rc.d/aliases.sh | 4 +--- .config/bash/rc.d/emacs.sh | 2 +- .config/bash/rc.sh | 4 +++- .config/login.d/00_coredumps.sh | 1 + .config/login.d/00_path.sh | 1 + .config/login.d/00_umask.sh | 1 + .config/login.d/01_xdg.sh | 2 +- .config/login.d/02_xdg_runtime_dir.sh | 2 +- .config/login.d/03_tmpdir.sh | 1 + .config/login.d/10_gpg.sh | 1 + .config/login.d/10_java.sh | 1 + .config/login.d/10_less.sh | 1 + .config/login.d/10_selected-editor.sh | 3 ++- .config/login.d/10_spell-check.sh | 3 ++- .config/login.d/10_xauthority.sh | 3 ++- .config/login.d/90_symlink_xdg_runtime_dir.sh | 1 + .config/login.sh | 17 ++++++----------- .config/symlinks | 1 + .config/wmii-hg/config.sh | 2 +- .config/wmii-hg/help-events | 2 +- .config/wmii-hg/help-keys | 2 +- .config/wmii-hg/include.sh | 2 +- .config/wmii-hg/quit | 2 +- .config/wmii-hg/rbar | 2 +- .config/wmii-hg/rbar.sh | 2 +- .config/wmii-hg/rbar_acpi | 2 +- .config/wmii-hg/rbar_clock | 2 +- .config/wmii-hg/rbar_wifi | 2 +- .config/wmii-hg/theme-solarized | 1 + .config/wmii-hg/theme-solarized-dark | 2 +- .config/wmii-hg/theme-tango | 1 + .config/wmii-hg/theme-tango-dark | 2 +- .config/wmii-hg/util.sh | 2 +- .config/wmii-hg/wmiirc | 2 +- 39 files changed, 52 insertions(+), 48 deletions(-) mode change 100755 => 100644 .config/X11/clientrc diff --git a/.config/X11/clientrc b/.config/X11/clientrc old mode 100755 new mode 100644 index 2c965da..88ae527 --- a/.config/X11/clientrc +++ b/.config/X11/clientrc @@ -1,4 +1,4 @@ -#!/bin/sh +#!/hint/sh # Load system xinit modules (disabled) # Remove "false &&" to enable diff --git a/.config/X11/login b/.config/X11/login index 84931df..d02088a 100755 --- a/.config/X11/login +++ b/.config/X11/login @@ -1,9 +1,4 @@ #!/bin/sh +# ~/.xsession: Executed by the XDM at login, maybe after sourcing ~/.xprofile -# -# ~/.xsession -# -# Executed by xdm/gdm/kdm at login -# - -exec bash --login -i ~/.xinitrc +exec bash --login ~/.xinitrc diff --git a/.config/X11/serverrc b/.config/X11/serverrc index 6b57eeb..e6f4c8f 100644 --- a/.config/X11/serverrc +++ b/.config/X11/serverrc @@ -1,4 +1,4 @@ -#!/bin/sh +#!/hint/sh if [ -z "$XDG_VTNR" ]; then exec /usr/bin/X -nolisten tcp "$@" else diff --git a/.config/bash/login.sh b/.config/bash/login.sh index 1269a03..08f26b8 100644 --- a/.config/bash/login.sh +++ b/.config/bash/login.sh @@ -1,6 +1,5 @@ -# ~/.bash_login: executed by bash(1) when login shell starts. - -# I think this is sane default behavior +#!/hint/bash +# ~/.bash_login: Sourced by bash(1) when login shell starts # Load user settings . "$HOME/.profile" diff --git a/.config/bash/logout.sh b/.config/bash/logout.sh index 5dd8f7d..623f0a0 100644 --- a/.config/bash/logout.sh +++ b/.config/bash/logout.sh @@ -1,4 +1,5 @@ -# ~/.bash_logout: sourced by bash(1) when login shell exits. +#!/hint/bash +# ~/.bash_logout: Sourced by bash(1) when login shell exits # Clear the screen for privacy's sake. clear diff --git a/.config/bash/rc.d/aliases.sh b/.config/bash/rc.d/aliases.sh index 28b9923..6b2460e 100644 --- a/.config/bash/rc.d/aliases.sh +++ b/.config/bash/rc.d/aliases.sh @@ -1,6 +1,4 @@ -#!/bin/bash -# The above line probably should never be *used* in this file, but it -# lets text editors know that this is BASH syntax. +#!/hint/bash ###################################################################### # Set up colors and settings for ls/dir/vdir # diff --git a/.config/bash/rc.d/emacs.sh b/.config/bash/rc.d/emacs.sh index bb6454b..d8e1d80 100644 --- a/.config/bash/rc.d/emacs.sh +++ b/.config/bash/rc.d/emacs.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/hint/bash if [[ $TERM == eterm* ]]; then SELECTED_EDITOR='emacsclient' diff --git a/.config/bash/rc.sh b/.config/bash/rc.sh index ae55d5c..70f1ce4 100644 --- a/.config/bash/rc.sh +++ b/.config/bash/rc.sh @@ -1,4 +1,6 @@ -# ~/.bashrc: executed by bash(1) for interactive non-login shells. +#!/hint/bash +# ~/.bashrc: Sourced 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. diff --git a/.config/login.d/00_coredumps.sh b/.config/login.d/00_coredumps.sh index 8fcc61b..45d19b8 100644 --- a/.config/login.d/00_coredumps.sh +++ b/.config/login.d/00_coredumps.sh @@ -1 +1,2 @@ +#!/hint/sh ulimit -c unlimited # save core dumps diff --git a/.config/login.d/00_path.sh b/.config/login.d/00_path.sh index f4ca3a6..2d5f4a5 100644 --- a/.config/login.d/00_path.sh +++ b/.config/login.d/00_path.sh @@ -1,3 +1,4 @@ +#!/hint/sh if type config-path &>/dev/null; then config_path=config-path else diff --git a/.config/login.d/00_umask.sh b/.config/login.d/00_umask.sh index 8e71ad5..c6187dd 100644 --- a/.config/login.d/00_umask.sh +++ b/.config/login.d/00_umask.sh @@ -1 +1,2 @@ +#!/hint/sh umask 022 diff --git a/.config/login.d/01_xdg.sh b/.config/login.d/01_xdg.sh index 22bbc01..ed17ddb 100644 --- a/.config/login.d/01_xdg.sh +++ b/.config/login.d/01_xdg.sh @@ -1,4 +1,4 @@ -# This should be readable by /bin/sh +#!/hint/sh # Sets up XDG environmental variables, so programs using them don't have to # worry about checking if they are set. diff --git a/.config/login.d/02_xdg_runtime_dir.sh b/.config/login.d/02_xdg_runtime_dir.sh index 6d93359..6700669 100644 --- a/.config/login.d/02_xdg_runtime_dir.sh +++ b/.config/login.d/02_xdg_runtime_dir.sh @@ -1,4 +1,4 @@ -# This should be readable by /bin/sh +#!/hint/sh # Set XDG_RUNTIME_DIR if we can if [ -z "$XDG_RUNTIME_DIR" ] && shopt -q login_shell && type flock &>/dev/null; then diff --git a/.config/login.d/03_tmpdir.sh b/.config/login.d/03_tmpdir.sh index b94ef1a..62413a7 100644 --- a/.config/login.d/03_tmpdir.sh +++ b/.config/login.d/03_tmpdir.sh @@ -1,3 +1,4 @@ +#!/hint/sh if [ -n "$XDG_RUNTIME_DIR" ]; then mkdir -p -- "$XDG_RUNTIME_DIR/tmpdir" export TMPDIR="$XDG_RUNTIME_DIR/tmpdir" diff --git a/.config/login.d/10_gpg.sh b/.config/login.d/10_gpg.sh index cf3c88c..c1c5f82 100644 --- a/.config/login.d/10_gpg.sh +++ b/.config/login.d/10_gpg.sh @@ -1,3 +1,4 @@ +#!/hint/sh if [[ -z $GPGKEY ]] && [[ -f "${HOME}/.gnupg/gpg.conf" ]]; then export GPGKEY=`sed -nr 's/^\s*default-key\s+//p' "${GNUPG_HOME:-${HOME}/.gnupg}/gpg.conf"` fi diff --git a/.config/login.d/10_java.sh b/.config/login.d/10_java.sh index 3c49368..94452a9 100644 --- a/.config/login.d/10_java.sh +++ b/.config/login.d/10_java.sh @@ -1,3 +1,4 @@ +#!/hint/sh _JAVA_OPTIONS='' _JAVA_OPTIONS+=' -Dawt.useSystemAAFontSettings=on' _JAVA_OPTIONS+=' -Dswing.aatext=true' diff --git a/.config/login.d/10_less.sh b/.config/login.d/10_less.sh index c5934d6..314a8b9 100644 --- a/.config/login.d/10_less.sh +++ b/.config/login.d/10_less.sh @@ -1,2 +1,3 @@ +#!/hint/sh export LESSHISTFILE="$XDG_CACHE_HOME/less/histfile" mkdir -p -- "${LESSHISTFILE%/*}" diff --git a/.config/login.d/10_selected-editor.sh b/.config/login.d/10_selected-editor.sh index f176b8a..52696cd 100644 --- a/.config/login.d/10_selected-editor.sh +++ b/.config/login.d/10_selected-editor.sh @@ -1,4 +1,5 @@ -if [[ -f "$HOME/.selected_editor" ]]; then +#!/hint/sh +if [ -f "$HOME/.selected_editor" ]; then . "$HOME/.selected_editor" export SELECTED_EDITOR export ALTERNATE_EDITOR diff --git a/.config/login.d/10_spell-check.sh b/.config/login.d/10_spell-check.sh index 9a24b7e..3f67b8f 100644 --- a/.config/login.d/10_spell-check.sh +++ b/.config/login.d/10_spell-check.sh @@ -1,3 +1,4 @@ -if [[ -z "$DICTIONARY" ]] && [[ -n "$LANG" ]]; then +#!/hint/sh +if [ -z "$DICTIONARY" ] && [ -n "$LANG" ]; then export DICTIONARY="${LANG%%.*}" fi diff --git a/.config/login.d/10_xauthority.sh b/.config/login.d/10_xauthority.sh index a27202c..787b6ed 100644 --- a/.config/login.d/10_xauthority.sh +++ b/.config/login.d/10_xauthority.sh @@ -1,4 +1,5 @@ +#!/hint/sh # This was needed once with SSH and Fedora boxes. -if [[ -z $XAUTHORITY ]]; then +if [ -z $XAUTHORITY ]; then export XAUTHORITY="$HOME/.Xauthority" fi diff --git a/.config/login.d/90_symlink_xdg_runtime_dir.sh b/.config/login.d/90_symlink_xdg_runtime_dir.sh index bc6109d..7ee4bba 100644 --- a/.config/login.d/90_symlink_xdg_runtime_dir.sh +++ b/.config/login.d/90_symlink_xdg_runtime_dir.sh @@ -1,3 +1,4 @@ +#!/hint/sh # This is really only needed for ssh ControlPath; as I don't have a # way to communicate XDG_RUNTIME_DIR if [ -n "$XDG_RUNTIME_DIR" ]; then diff --git a/.config/login.sh b/.config/login.sh index 538920a..9499299 100644 --- a/.config/login.sh +++ b/.config/login.sh @@ -1,15 +1,10 @@ -#!/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. +#!/hint/sh +# ~/.profile: Sourced by the command interpreter for login shells # -# This file should be executable by /bin/sh, but I'm going to assume bash(1) -# -# This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login -# exists. - -# the default umask is set in /etc/profile; for setting the umask -# for ssh logins, install and configure the libpam-umask package. +# Other ~/.*profile scripts may take precedence, or be used instead +# (for example: ~/.bash_{profile,login} takes precidence, and +# ~/.xprofile is used for graphical logins). I dislike duplication, +# so I have them all configured to source this. if [ -z "$HOME" ]; then eval 'HOME=~' diff --git a/.config/symlinks b/.config/symlinks index af0f1af..066a7e0 100644 --- a/.config/symlinks +++ b/.config/symlinks @@ -26,6 +26,7 @@ .config/irbrc .irbrc .config/linphonerc .linphonerc # .config/selected_editor .selected_editor +.config/X11/login .vnc/xstartup .config/offlineimaprc .offlineimaprc .cache/offlineimap .offlineimap diff --git a/.config/wmii-hg/config.sh b/.config/wmii-hg/config.sh index ac0a349..6846920 100644 --- a/.config/wmii-hg/config.sh +++ b/.config/wmii-hg/config.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/hint/bash MODKEY=Mod4 # "super" UP=p diff --git a/.config/wmii-hg/help-events b/.config/wmii-hg/help-events index 08abd18..9aeb3e9 100755 --- a/.config/wmii-hg/help-events +++ b/.config/wmii-hg/help-events @@ -1,3 +1,3 @@ -#!/bin/bash +#!/usr/bin/env bash . include.sh scansection Event | xmessage -file - diff --git a/.config/wmii-hg/help-keys b/.config/wmii-hg/help-keys index 6f4bd1c..f7a975e 100755 --- a/.config/wmii-hg/help-keys +++ b/.config/wmii-hg/help-keys @@ -1,3 +1,3 @@ -#!/bin/bash +#!/usr/bin/env bash . include.sh scansection Key | xmessage -file - diff --git a/.config/wmii-hg/include.sh b/.config/wmii-hg/include.sh index f9e3078..4e86276 100644 --- a/.config/wmii-hg/include.sh +++ b/.config/wmii-hg/include.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/hint/bash if [[ -z "$WMII_NAMESPACE" ]]; then export WMII_NAMESPACE="$(wmiir namespace)" diff --git a/.config/wmii-hg/quit b/.config/wmii-hg/quit index 341468e..b34a913 100755 --- a/.config/wmii-hg/quit +++ b/.config/wmii-hg/quit @@ -1,4 +1,4 @@ -#!/bin/bash +#!/usr/bin/env bash if type systemctl &>/dev/null; then systemctl --user stop "wmii@$DISPLAY.service" else diff --git a/.config/wmii-hg/rbar b/.config/wmii-hg/rbar index b95f9c4..0709ed3 100755 --- a/.config/wmii-hg/rbar +++ b/.config/wmii-hg/rbar @@ -1,4 +1,4 @@ -#!/bin/bash +#!/usr/bin/env bash id=$1 name=${id#[0-9][0-9]_} diff --git a/.config/wmii-hg/rbar.sh b/.config/wmii-hg/rbar.sh index 8bff558..0c9efa6 100644 --- a/.config/wmii-hg/rbar.sh +++ b/.config/wmii-hg/rbar.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/hint/bash setup_trap() { trap "rm -f -- \"\${XDG_RUNTIME_DIR}\"/n/wmii*/rbar/${1}" EXIT } diff --git a/.config/wmii-hg/rbar_acpi b/.config/wmii-hg/rbar_acpi index bdcdf0f..6348873 100755 --- a/.config/wmii-hg/rbar_acpi +++ b/.config/wmii-hg/rbar_acpi @@ -1,4 +1,4 @@ -#!/bin/bash +#!/usr/bin/env bash update() { id=$1 diff --git a/.config/wmii-hg/rbar_clock b/.config/wmii-hg/rbar_clock index a09f016..e84d5c3 100755 --- a/.config/wmii-hg/rbar_clock +++ b/.config/wmii-hg/rbar_clock @@ -1,4 +1,4 @@ -#!/bin/bash +#!/usr/bin/env bash update() { id=$1 diff --git a/.config/wmii-hg/rbar_wifi b/.config/wmii-hg/rbar_wifi index f83d921..dad4e61 100755 --- a/.config/wmii-hg/rbar_wifi +++ b/.config/wmii-hg/rbar_wifi @@ -1,4 +1,4 @@ -#!/bin/bash +#!/usr/bin/env bash iwinfo() { local interface=$1 diff --git a/.config/wmii-hg/theme-solarized b/.config/wmii-hg/theme-solarized index 5dc830d..8c40e4d 100644 --- a/.config/wmii-hg/theme-solarized +++ b/.config/wmii-hg/theme-solarized @@ -1,3 +1,4 @@ +#!/hint/bash SOL_BASE03='#002b36' SOL_BASE02='#073642' SOL_BASE01='#586e75' diff --git a/.config/wmii-hg/theme-solarized-dark b/.config/wmii-hg/theme-solarized-dark index fde361b..fc74b6c 100644 --- a/.config/wmii-hg/theme-solarized-dark +++ b/.config/wmii-hg/theme-solarized-dark @@ -1,4 +1,4 @@ -#!/bin/sh +#!/hint/bash # Solarized-dark . theme-solarized diff --git a/.config/wmii-hg/theme-tango b/.config/wmii-hg/theme-tango index f4c20a2..6ba744f 100644 --- a/.config/wmii-hg/theme-tango +++ b/.config/wmii-hg/theme-tango @@ -1,3 +1,4 @@ +#!/hint/bash TANGO_butter=("#fce94f" "#edd400" "#c4a000") TANGO_orange=("#fcaf3e" "#f57900" "#ce5c00") TANGO_choc=( "#e9b96e" "#c17d11" "#8f5902") diff --git a/.config/wmii-hg/theme-tango-dark b/.config/wmii-hg/theme-tango-dark index 04a9fa6..efea1e9 100644 --- a/.config/wmii-hg/theme-tango-dark +++ b/.config/wmii-hg/theme-tango-dark @@ -1,4 +1,4 @@ -#!/bin/bash +#!/hint/bash # Tango-tark . theme-tango diff --git a/.config/wmii-hg/util.sh b/.config/wmii-hg/util.sh index b28a3b6..55344b2 100644 --- a/.config/wmii-hg/util.sh +++ b/.config/wmii-hg/util.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/hint/bash ################################################################################ # Added shell features # diff --git a/.config/wmii-hg/wmiirc b/.config/wmii-hg/wmiirc index 6fd348f..260aaa1 100755 --- a/.config/wmii-hg/wmiirc +++ b/.config/wmii-hg/wmiirc @@ -1,4 +1,4 @@ -#!/bin/bash +#!/usr/bin/env bash unset WMII_NAMESPACE unset WMII_DIR -- cgit v1.2.3 From fcd53ef17d77057e51eb8e54e41c3e5d4b51ce3c Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Mon, 20 Apr 2015 19:32:13 -0400 Subject: Teach Emacs about X11/modmap --- .config/X11/modmap | 2 ++ .config/emacs/init.el | 10 ++++++++++ 2 files changed, 12 insertions(+) diff --git a/.config/X11/modmap b/.config/X11/modmap index 1736e09..b332204 100644 --- a/.config/X11/modmap +++ b/.config/X11/modmap @@ -1,3 +1,5 @@ +! -*- Mode: Xmodmap -*- + ! 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 diff --git a/.config/emacs/init.el b/.config/emacs/init.el index eddd0b7..7b9be85 100644 --- a/.config/emacs/init.el +++ b/.config/emacs/init.el @@ -237,6 +237,16 @@ sh-script.el is broken." (smerge-mode 1)))) (add-hook 'find-file-hook 'try-smerge-mode t) +;; http://www.emacswiki.org/emacs/XModMapMode +(when (not (fboundp 'xmodmap-mode)) + (define-generic-mode 'xmodmap-mode + '(?!) + '("add" "clear" "keycode" "keysym" "pointer" "remove") + nil + '("[xX]modmap\\(rc\\)?\\'") + nil + "Simple mode for xmodmap files.")) + ;; All my weird mode-specific settings ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -- cgit v1.2.3 From b0fc73174a1142ff0ff30d187944aa5b86eb3595 Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Mon, 20 Apr 2015 19:32:43 -0400 Subject: Emacs: minor tweaks --- .config/emacs/custom.el | 1 + .config/emacs/init.el | 1 + 2 files changed, 2 insertions(+) diff --git a/.config/emacs/custom.el b/.config/emacs/custom.el index 1fdb0d3..55af402 100644 --- a/.config/emacs/custom.el +++ b/.config/emacs/custom.el @@ -9,6 +9,7 @@ ("9f443833deb3412a34d2d2c912247349d4bd1b09e0f5eaba11a3ea7872892000" "bb08c73af94ee74453c90422485b29e5643b73b05e8de029a6909af6a3fb3f58" "82d2cac368ccdec2fcc7573f24c3f79654b78bf133096f9b40c20d97ec1d8016" "1b8d67b43ff1723960eb5e0cba512a2c7a2ad544ddb2533a90101fd1852b426e" "628278136f88aa1a151bb2d6c8a86bf2b7631fbea5f0f76cba2a0079cd910f7d" "06f0b439b62164c6f8f84fdda32b62fb50b6d00e8b01c2208e55543a6337433a" "1e7e097ec8cb1f8c3a912d7e1e0331caeed49fef6cff220be63bd2a6ba4cc365" "71b172ea4aad108801421cc5251edb6c792f3adbaecfa1c52e94e3d99634dee7" "fc5fcb6f1f1c1bc01305694c59a1a861b008c534cae8d0e48e4d5e81ad718bc6" default))) '(erc-nick "lukeshu") '(explicit-shell-file-name "/bin/bash") + '(graphviz-dot-auto-indent-on-semi nil) '(org-latex-default-packages-alist (quote (("" "fontspec" t) diff --git a/.config/emacs/init.el b/.config/emacs/init.el index 7b9be85..e14d0f5 100644 --- a/.config/emacs/init.el +++ b/.config/emacs/init.el @@ -297,3 +297,4 @@ sh-script.el is broken." (add-to-list 'auto-mode-alist '("PKGBUILD" . sh-mode)) (add-to-list 'auto-mode-alist '("SRCBUILD" . sh-mode)) +(add-to-list 'auto-mode-alist '("\\.jad\\'" . java-mode)) -- cgit v1.2.3 From b780c946dc5d61cd00988a62aa281155ffb89363 Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Thu, 11 Jun 2015 09:05:31 -0600 Subject: fix XDG_RUNTIME_DIR management --- .config/login.d/02_xdg_runtime_dir.sh | 17 +++++++++-------- .config/login.d/90_dot-runtime.sh | 4 ++++ .config/login.d/90_symlink_xdg_runtime_dir.sh | 7 ------- .config/symlinks | 2 -- 4 files changed, 13 insertions(+), 17 deletions(-) create mode 100644 .config/login.d/90_dot-runtime.sh delete mode 100644 .config/login.d/90_symlink_xdg_runtime_dir.sh diff --git a/.config/login.d/02_xdg_runtime_dir.sh b/.config/login.d/02_xdg_runtime_dir.sh index 6700669..864eadd 100644 --- a/.config/login.d/02_xdg_runtime_dir.sh +++ b/.config/login.d/02_xdg_runtime_dir.sh @@ -4,22 +4,23 @@ if [ -z "$XDG_RUNTIME_DIR" ] && shopt -q login_shell && type flock &>/dev/null; then _diy_xdg_runtime_login() { export XDG_RUNTIME_DIR="$XDG_CACHE_HOME/xdg-runtime-dir/$HOSTNAME" - # There's a race condition here, between the `ln -s` and `flock`. - # But it's not like I'll be hammering a box with logins. - if [ ! -d "$XDG_RUNTIME_DIR" ]; then - local tmp="$(mktemp -d --tmpdir -- "${USER}@${HOSTNAME}-runtime.XXXXXXXXXX")" - mkdir -p -- "$XDG_CACHE_HOME/xdg-runtime-dir" - ln -sfT -- "$tmp" "$XDG_RUNTIME_DIR" - fi if ! [ /dev/fd/7 -ef "$XDG_CACHE_HOME/xdg-runtime-dir/.lock" ]; then exec 7>"$XDG_CACHE_HOME/xdg-runtime-dir/.lock" - if flock -sn 7; then + if flock -xn 7; then + if [ ! -d "$XDG_RUNTIME_DIR" ]; then + local tmp="$(mktemp -d --tmpdir -- "${USER}@${HOSTNAME}-runtime.XXXXXXXXXX")" + mkdir -p -- "$XDG_CACHE_HOME/xdg-runtime-dir" + ln -sfT -- "$tmp" "$XDG_RUNTIME_DIR" + fi # Unfortunately this doesn't survive across exec(1). trap _diy_xdg_runtime_logout EXIT + flock -sn 7 fi fi } _diy_xdg_runtime_logout() { + exec 7>&- + exec 7>"$XDG_CACHE_HOME/xdg-runtime-dir/.lock" if flock -xn 7; then rm -rf -- "$(readlink "$XDG_RUNTIME_DIR")" fi diff --git a/.config/login.d/90_dot-runtime.sh b/.config/login.d/90_dot-runtime.sh new file mode 100644 index 0000000..d06568f --- /dev/null +++ b/.config/login.d/90_dot-runtime.sh @@ -0,0 +1,4 @@ +# This is really only needed for ssh ControlPath; as I don't have a +# way to communicate XDG_RUNTIME_DIR to it otherwise. +mkdir -p -- ~/.runtime +ln -sfT -- "$XDG_RUNTIME_DIR" ~/.runtime/"$HOSTNAME" diff --git a/.config/login.d/90_symlink_xdg_runtime_dir.sh b/.config/login.d/90_symlink_xdg_runtime_dir.sh deleted file mode 100644 index 7ee4bba..0000000 --- a/.config/login.d/90_symlink_xdg_runtime_dir.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/hint/sh -# This is really only needed for ssh ControlPath; as I don't have a -# way to communicate XDG_RUNTIME_DIR -if [ -n "$XDG_RUNTIME_DIR" ]; then - mkdir -p -- "$XDG_CACHE_HOME/xdg-runtime-dir" - ln -sfT -- "$XDG_RUNTIME_DIR" "$XDG_CACHE_HOME/xdg-runtime-dir/$HOSTNAME" -fi diff --git a/.config/symlinks b/.config/symlinks index 80cffc1..9896e0c 100644 --- a/.config/symlinks +++ b/.config/symlinks @@ -44,8 +44,6 @@ # .maildirproc is not used, but must exist /tmp/ .maildirproc -# There's a silly maximum length on Domain Sockets, so alias -.cache/xdg-runtime-dir/ .runtime # KDE .config/ .kde/share/apps # -- cgit v1.2.3 From ad70cc9c05bda02de3bd06c910cec54863e8c024 Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Thu, 11 Jun 2015 09:05:48 -0600 Subject: Don't put CPAN in .config --- .config/symlinks | 1 - 1 file changed, 1 deletion(-) diff --git a/.config/symlinks b/.config/symlinks index 9896e0c..c99afba 100644 --- a/.config/symlinks +++ b/.config/symlinks @@ -31,7 +31,6 @@ # Directories .config/arduino/ .arduino .config/bazaar/ .bazaar -.config/cpan/ .cpan .config/emacs/ .emacs.d .config/icons/ .icons .config/mozilla/ .mozilla # -- cgit v1.2.3 From dd24df5f3765e0771d91892824298349c367fddb Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Thu, 11 Jun 2015 09:08:29 -0600 Subject: set MAKEFLAGS to -j$(nproc) on login --- .config/login.d/10_makeflags.sh | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 .config/login.d/10_makeflags.sh diff --git a/.config/login.d/10_makeflags.sh b/.config/login.d/10_makeflags.sh new file mode 100644 index 0000000..671c6d3 --- /dev/null +++ b/.config/login.d/10_makeflags.sh @@ -0,0 +1,2 @@ +#!/hint/sh +export MAKEFLAGS="-j$(nproc)" -- cgit v1.2.3 From f97389c74b4642da8a8c313a48e907e014a6ed50 Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Sun, 19 Jul 2015 19:10:14 -0600 Subject: cron/make-config: use moreutils chronic --- .config/cron/make-config | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.config/cron/make-config b/.config/cron/make-config index 6a7e9d6..a4a3480 100644 --- a/.config/cron/make-config +++ b/.config/cron/make-config @@ -1,2 +1,2 @@ #m h dom mon dow command -*/5 * * * * cronic make -C ~/.config +*/5 * * * * chronic make -C ~/.config -- cgit v1.2.3 From 369f1aeccf80323edddde34b4a5f3cd7d5234432 Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Sun, 19 Jul 2015 19:10:43 -0600 Subject: ssh: recognize moore$N as Purdue boxes --- .config/ssh/config | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.config/ssh/config b/.config/ssh/config index 8649e61..dc32703 100644 --- a/.config/ssh/config +++ b/.config/ssh/config @@ -6,7 +6,7 @@ Host * # Purdue ################################################### -Host data lore borg?? xinu?? sac?? sslab?? +Host data lore borg?? xinu?? sac?? sslab?? moore?? HostName %h.cs.purdue.edu User shumakl Host *.cs.purdue.edu -- cgit v1.2.3 From bcdc8591d20f23e3f4a1645a7ccfc473b2916c3e Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Wed, 22 Apr 2015 16:19:24 -0400 Subject: X11/clientrc: properly escape $DISPLAY for systemd --- .config/X11/clientrc | 9 +++++---- .config/X11/modmap.new | 4 ++++ 2 files changed, 9 insertions(+), 4 deletions(-) create mode 100644 .config/X11/modmap.new diff --git a/.config/X11/clientrc b/.config/X11/clientrc index 88ae527..ac0d5a8 100644 --- a/.config/X11/clientrc +++ b/.config/X11/clientrc @@ -18,9 +18,10 @@ if [ -f "$usermodmap" ]; then fi [ -n "$XDG_RUNTIME_DIR" ] || exit 1 -trap "rm -f $(printf '%q' "${XDG_RUNTIME_DIR}/x11-wm@${DISPLAY}")" EXIT -mkfifo "${XDG_RUNTIME_DIR}/x11-wm@${DISPLAY}" +_DISPLAY="$(systemd-escape -- "$DISPLAY")" +trap "rm -f $(printf '%q' "${XDG_RUNTIME_DIR}/x11-wm@${_DISPLAY}")" EXIT +mkfifo "${XDG_RUNTIME_DIR}/x11-wm@${_DISPLAY}" -cat "${XDG_RUNTIME_DIR}/x11-wm@${DISPLAY}" & -systemctl --user start "wm@${DISPLAY}.target" & +cat "${XDG_RUNTIME_DIR}/x11-wm@${_DISPLAY}" & +systemctl --user start "wm@${_DISPLAY}.target" & wait diff --git a/.config/X11/modmap.new b/.config/X11/modmap.new new file mode 100644 index 0000000..c902b52 --- /dev/null +++ b/.config/X11/modmap.new @@ -0,0 +1,4 @@ +keycode 135 = Super_R + +clear mod4 +add mod4 = Super_L Super_R Hyper_L Hyper_R Menu -- cgit v1.2.3 From 93420febe072e47be485fda291e00a41a504e3af Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Wed, 22 Apr 2015 16:20:11 -0400 Subject: Update mail filters --- .config/maildirproc/att.rc | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.config/maildirproc/att.rc b/.config/maildirproc/att.rc index 98ef8ae..43cec78 100644 --- a/.config/maildirproc/att.rc +++ b/.config/maildirproc/att.rc @@ -15,10 +15,9 @@ def mailman_domain(mail, domain): """ m = mail["List-Id"].matches("(.*<)?([^<]*)\."+re.escape(domain)) if m: - if mail["Subject"].contains("["+m.group(2)+"]"): - return m.group(2) + return m.group(2) for hdr in [ 'To', 'Cc', 'From' ]: - m = mail[hdr].matches("(\w*)@"+re.escape(domain)) + m = mail[hdr].matches("((\w|-)*)@"+re.escape(domain)) if m: if mail["Subject"].contains("["+m.group(1)+"]"): return m.group(2) @@ -295,6 +294,7 @@ def my_filters(mail): "@core3.amsl.com", "@defectivebydesign.org", "@eff.org", + "@fedorahosted.org", "@foocorp.net", "@fsf.org", "@github.com", @@ -303,6 +303,7 @@ def my_filters(mail): "@gnu.org", "@ietf.org", "@kde.org", + "@lists.fedorahosted.org", "@nongnu.org", "@sourceforge.com", "@thyrsus.com", -- cgit v1.2.3 From 4fbcd8769a06ddb9e53b7b647c3e1416b8d9962f Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Wed, 22 Apr 2015 16:21:08 -0400 Subject: wmii: Use systemd-notify instead of hitting the socket manually --- .config/wmii-hg/config.sh | 4 +--- .config/wmii-hg/wmiirc | 4 +--- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/.config/wmii-hg/config.sh b/.config/wmii-hg/config.sh index 6846920..4b968b0 100644 --- a/.config/wmii-hg/config.sh +++ b/.config/wmii-hg/config.sh @@ -68,9 +68,7 @@ Event() { ## WMII-meta events Quit) ## No args trap - EXIT - if [ -S "$NOTIFY_SOCKET" ]; then - echo STOPPING=1 | socat STDIO UNIX-SENDTO:"$NOTIFY_SOCKET" - fi + systemd-notify STOPPING=1 || true Event WmiircUnmount Event WmiircQuit;; Warning) ## $@=string diff --git a/.config/wmii-hg/wmiirc b/.config/wmii-hg/wmiirc index 260aaa1..379de79 100755 --- a/.config/wmii-hg/wmiirc +++ b/.config/wmii-hg/wmiirc @@ -13,9 +13,7 @@ wmiir xwrite /event WmiircQuit # close any existing wmiirc's Event WmiircStart # Notify systemd that we're ready -if [ -S "$NOTIFY_SOCKET" ]; then - echo READY=1 | socat STDIO UNIX-SENDTO:"$NOTIFY_SOCKET" -fi +systemd-notify READY=1 || true trap "Event Quit" EXIT -- cgit v1.2.3 From 3d872ce1c678e5d829d5e324f92b50eef02877fb Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Wed, 22 Apr 2015 16:24:55 -0400 Subject: libretools configuration --- .config/libretools/.gitignore | 1 - .config/libretools/libretools.conf | 4 ++++ 2 files changed, 4 insertions(+), 1 deletion(-) delete mode 100644 .config/libretools/.gitignore create mode 100644 .config/libretools/libretools.conf diff --git a/.config/libretools/.gitignore b/.config/libretools/.gitignore deleted file mode 100644 index 1881962..0000000 --- a/.config/libretools/.gitignore +++ /dev/null @@ -1 +0,0 @@ -blacklist.txt diff --git a/.config/libretools/libretools.conf b/.config/libretools/libretools.conf new file mode 100644 index 0000000..a2f2c24 --- /dev/null +++ b/.config/libretools/libretools.conf @@ -0,0 +1,4 @@ +HOOKPOSTRELEASE=":" +if [[ -n "${ONLY_ARCH:-}" ]]; then + ARCHES=("$ONLY_ARCH") +fi -- cgit v1.2.3 From b575e899e72f78a0f810be8fc614b018f6926f6d Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Sun, 19 Jul 2015 19:23:39 -0600 Subject: .config/Makefile: better error handling --- .config/Makefile | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/.config/Makefile b/.config/Makefile index 94d0cca..ffac989 100644 --- a/.config/Makefile +++ b/.config/Makefile @@ -4,8 +4,8 @@ default: all; @: %: . ~/.profile && $(MAKE) '$@' else -SHELL = /bin/bash +SHELL = /bin/bash -o pipefail GIT_DIR = ${HOME}/.git targets = \ @@ -16,7 +16,8 @@ targets = \ all: $(targets) clean: - rm -f $(targets) + rm -f -- $(targets) +.PHONY: all clean ${HOME}/.folders: ${HOME}/Maildir $(MAKEFILE_LIST) find $< -mindepth 2 -maxdepth 2 \( -type f -name "maildirfolder" -o -type d -name new -o -type d -name tmp -o -type d -name cur \) -printf '%P\0' | xargs -r0 dirname -z -- | sort -zu | xargs -0 printf -- '.%s\n' | grep -vP '^\.FOLDERS.Ham.20(?!15)' > '$@' @@ -40,7 +41,5 @@ ${HOME}/Maildir/%: | ${HOME}/Maildir touch '$@'/maildirfolder .DELETE_ON_ERROR: -.PHONY: FORCE PHONY -FORCE: ; -PHONY: ; +.SECONDARY: endif -- cgit v1.2.3 From 9211c8a57ec13be6c9ebe0333aa8d3ad65c8cdbe Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Sun, 19 Jul 2015 19:24:11 -0600 Subject: Makefile: .folders: recognize symlinks --- .config/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.config/Makefile b/.config/Makefile index ffac989..9ee3115 100644 --- a/.config/Makefile +++ b/.config/Makefile @@ -20,7 +20,7 @@ clean: .PHONY: all clean ${HOME}/.folders: ${HOME}/Maildir $(MAKEFILE_LIST) - find $< -mindepth 2 -maxdepth 2 \( -type f -name "maildirfolder" -o -type d -name new -o -type d -name tmp -o -type d -name cur \) -printf '%P\0' | xargs -r0 dirname -z -- | sort -zu | xargs -0 printf -- '.%s\n' | grep -vP '^\.FOLDERS.Ham.20(?!15)' > '$@' + find -L $< -mindepth 2 -maxdepth 2 \( -type f -name "maildirfolder" -o -type d -name new -o -type d -name tmp -o -type d -name cur \) -printf '%P\0' | xargs -r0 dirname -z -- | sort -zu | xargs -0 printf -- '.%s\n' | grep -vP '^\.FOLDERS.Ham.20(?!15)' > '$@' ${GIT_DIR}/info/exclude: ${HOME}/.git.info.exclude.in $(shell echo .??*/) ( cat $<; find $^ -type f -name 'CACHEDIR.TAG' -printf '%h\n'|sed 's@^\./@/@' ) > $@ -- cgit v1.2.3 From f58b1d0d6467ee0e0fe460cbc51b507b6ca404f5 Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Sun, 19 Jul 2015 19:26:11 -0600 Subject: tidy --- .config/X11/modmap.new | 4 ---- .config/pacman/makepkg.conf | 2 +- 2 files changed, 1 insertion(+), 5 deletions(-) delete mode 100644 .config/X11/modmap.new diff --git a/.config/X11/modmap.new b/.config/X11/modmap.new deleted file mode 100644 index c902b52..0000000 --- a/.config/X11/modmap.new +++ /dev/null @@ -1,4 +0,0 @@ -keycode 135 = Super_R - -clear mod4 -add mod4 = Super_L Super_R Hyper_L Hyper_R Menu diff --git a/.config/pacman/makepkg.conf b/.config/pacman/makepkg.conf index 8389fb5..dc3c5ba 100644 --- a/.config/pacman/makepkg.conf +++ b/.config/pacman/makepkg.conf @@ -1,4 +1,4 @@ -#!/phony/bash +#!/hint/bash PKGDEST="${LIBREHOME:-$HOME}/packages/pkgdest" SRCDEST="${LIBREHOME:-$HOME}/packages/srcdest" -- cgit v1.2.3 From 83431d32040061990874bebd6150eeab80aa0322 Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Sun, 19 Jul 2015 19:26:23 -0600 Subject: mail filters --- .config/maildirproc/att.rc | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.config/maildirproc/att.rc b/.config/maildirproc/att.rc index 43cec78..792b42c 100644 --- a/.config/maildirproc/att.rc +++ b/.config/maildirproc/att.rc @@ -13,14 +13,14 @@ def mailman_domain(mail, domain): """ Return a string that is the list-name for a mailman domain """ - m = mail["List-Id"].matches("(.*<)?([^<]*)\."+re.escape(domain)) + m = mail["List-Id"].matches("^(.*<|)([^<]*)\."+re.escape(domain)) if m: return m.group(2) for hdr in [ 'To', 'Cc', 'From' ]: m = mail[hdr].matches("((\w|-)*)@"+re.escape(domain)) if m: if mail["Subject"].contains("["+m.group(1)+"]"): - return m.group(2) + return m.group(1) return None def is_to_or_from(mail,address): @@ -96,6 +96,7 @@ def handle_incoming_unknown(mail): or mail["From"].contains("@gandi.net") or mail["From"].contains("@github.com>") or mail["From"].contains("@goodwillindy.org>") + or mail["From"].contains("@kickstarter.com>") or mail["From"].contains("@lpi.org>") or mail["From"].contains("@msdlt.k12.in.us>") or mail["From"].contains("@parabola.nu") -- cgit v1.2.3 From 4c94dd5c044d3e3456937919e48481d8b3bb00cb Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Sun, 19 Jul 2015 19:27:08 -0600 Subject: bash aliases: change mvln --- .config/bash/rc.d/aliases.sh | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/.config/bash/rc.d/aliases.sh b/.config/bash/rc.d/aliases.sh index 6b2460e..cd2cfd8 100644 --- a/.config/bash/rc.d/aliases.sh +++ b/.config/bash/rc.d/aliases.sh @@ -46,7 +46,18 @@ alias userctl='systemctl --user' ###################################################################### alias lock="clear; away -C 'This terminal is locked'" alias plock="term-title Terminal Locked;lock" -mvln() { mv $1 $2; ln -s $2 $1; } +mvln() { + if [[ ! -L "$1" ]]; then + libremessages error 'Not a soft link: %s' "$1" + fi + target=$(readlink -f -- "$1") + ln -srT -- "$target" "$2" + if cmp -- "$1" "$2"; then + rm -f -- "$1" + else + libremessages error 'Failed moving link: %s -> %s' "$1" "$2" + fi +} jarls() { jar tf "$1" | sed -n 's/\.class$//p' | LC_ALL=C sort | xargs -r -d $'\n' javap -classpath "$1"; } tarls() { local file; for file in "$@"; do bsdtar tf "$file" | sed "s|^|$file:|"; done; } jarmain() { jarls "$1" 2>/dev/null | grep -E '(^[a-z]|public static void main\(java\.lang\.String\[\]\))' | grep -B1 '^ '; } -- cgit v1.2.3