diff options
author | Luke Shumaker <lukeshu@sbcglobal.net> | 2015-04-13 17:11:18 -0400 |
---|---|---|
committer | Luke Shumaker <lukeshu@sbcglobal.net> | 2015-04-13 17:11:18 -0400 |
commit | 278000a3b8a64fd000ddd8198f76bd2bf78e4557 (patch) | |
tree | 678dd30356203871af1a3c62ef087de9a3981637 /.config | |
parent | 596fe4b1610df0a7f5a0ea174d136d179ee08440 (diff) | |
parent | 39db29c39dcca6d47fbc56dffd8c0c7bf63beb51 (diff) |
Merge branch 'master' into build64-par/master
Diffstat (limited to '.config')
-rw-r--r-- | .config/Makefile | 9 | ||||
-rwxr-xr-x | .config/X11/clientrc | 1 | ||||
-rw-r--r--[l---------] | .config/X11/serverrc | 7 | ||||
-rw-r--r-- | .config/cron/make-config | 2 | ||||
-rw-r--r-- | .config/gpg/gpg.conf | 242 | ||||
-rw-r--r-- | .config/login.d/01_xdg.sh | 31 | ||||
-rw-r--r-- | .config/login.d/02_tmpdir.sh | 2 | ||||
-rw-r--r-- | .config/login.d/02_xdg_runtime_dir.sh | 28 | ||||
-rw-r--r-- | .config/login.d/03_tmpdir.sh | 4 | ||||
-rw-r--r-- | .config/login.d/90_dot-runtime.sh | 4 | ||||
-rw-r--r-- | .config/login.d/90_symlink_xdg_runtime_dir.sh | 6 | ||||
-rw-r--r-- | .config/login.sh | 4 | ||||
-rw-r--r-- | .config/maildirproc/att.rc | 159 | ||||
-rw-r--r-- | .config/maildirproc/purdue.rc | 16 | ||||
-rw-r--r-- | .config/ssh/config | 3 | ||||
-rw-r--r-- | .config/symlinks | 10 |
16 files changed, 151 insertions, 377 deletions
diff --git a/.config/Makefile b/.config/Makefile index 909486d..94d0cca 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 @@ -15,7 +19,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' | 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@^\./@/@' ) > $@ @@ -39,3 +43,4 @@ ${HOME}/Maildir/%: | ${HOME}/Maildir .PHONY: FORCE PHONY FORCE: ; PHONY: ; +endif 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/X11/serverrc b/.config/X11/serverrc index ce14133..6b57eeb 120000..100644 --- a/.config/X11/serverrc +++ b/.config/X11/serverrc @@ -1 +1,6 @@ -/etc/X11/xinit/xserverrc
\ No newline at end of file +#!/bin/sh +if [ -z "$XDG_VTNR" ]; then + exec /usr/bin/X -nolisten tcp "$@" +else + exec /usr/bin/X -nolisten tcp "$@" vt$XDG_VTNR +fi 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 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=<path>:<pid>: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/login.d/01_xdg.sh b/.config/login.d/01_xdg.sh index 4464764..22bbc01 100644 --- a/.config/login.d/01_xdg.sh +++ b/.config/login.d/01_xdg.sh @@ -9,35 +9,12 @@ [ -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 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..bc6109d --- /dev/null +++ b/.config/login.d/90_symlink_xdg_runtime_dir.sh @@ -0,0 +1,6 @@ +# 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/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 diff --git a/.config/maildirproc/att.rc b/.config/maildirproc/att.rc index 7ee5f42..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]. @@ -89,7 +105,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]") @@ -114,66 +130,30 @@ def handle_incoming_unknown(mail): return 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' ]: - if ( - False - or mail["List-Id"].matches(list+"\.gnu\.org") - or mail["Subject"].contains('['+list+']') - ): - move_ham(mail,".software."+list) + # Sort mail from various mailing lists + # https://lists.gnu.org/mailman/options/bug-librejs/lukeshu@sbcglobal.net + # https://lists.nongnu.org/mailman/options/libreboot/lukeshu@sbcglobal.net + # https://mail.gnome.org/mailman/options/networkmanager-list/lukeshu@sbcglobal.net + 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 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") - return - - if mail["List-Id"].matches("maintenance\.lists\.parabola(gnulinux\.org|\.nu)"): - move_ham(mail,".software.parabola.maintenance") - return - - if is_to_or_from(mail, "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 - - if (mail["List-Id"].matches("pacman-dev.archlinux.org")): - move_ham(mail,".software.pacman-dev") + move_ham(mail,".software.parabola") 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 +236,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 +268,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 +292,8 @@ def my_filters(mail): "@archlinux.org", "@canonical.org", "@cnuk.org", + "@core3.amsl.com", + "@defectivebydesign.org", "@eff.org", "@foocorp.net", "@fsf.org", @@ -310,39 +306,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 +347,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 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, diff --git a/.config/ssh/config b/.config/ssh/config index cc796ed..8649e61 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 diff --git a/.config/symlinks b/.config/symlinks index 37a7267..83f6a2f 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 @@ -31,8 +28,6 @@ .cache/offlineimap .offlineimap # Directories -.cache/maildirproc/ .maildirproc - .config/arduino/ .arduino .config/bazaar/ .bazaar .config/cpan/ .cpan @@ -46,6 +41,11 @@ .config/wmii-hg/ .wmii-hg .config/wmii/ .wmii # +# .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 # .config/ .kde/share/config # |