# An example config file for the mr(1) command.
 
+[DEFAULT]
+# Teach mr how to run svn cleanup.
+cleanup = if [ -d "$MR_REPO"/.svn ]; then svn cleanup ; fi
+# Tests used in the skips below.
+# - wantsrc checks whether I probably want a full source checkout (quite
+#   large)
+# - private are hosts I trust private data to
+# - mylaptop only succeeds if it's on my main development laptop, which 
+#   gets lots of extra cruft
+# - kite only succeeds on kite
+lib =                                                          \
+       wantsrc() {                                             \
+               test "$(whoami)" = joey                         \
+       }                                                       \
+       private() {                                             \
+               if [ "$(whoami)" = joey ]; then                 \
+                       case "$(hostname)" in                   \
+                       wren|kodama|dragon|dodo|bluebird)       \
+                               return 0                        \
+                       ;;                                      \
+                       esac                                    \
+               fi                                              \
+               return 1                                        \
+       }                                                       \
+       mylaptop() {                                            \
+               test "$(hostname)" = kodama                     \
+       }                                                       \
+       kite() {                                                \
+               test "$(hostname)" = wren                       \
+       }
+
 [src/mr]
-checkout = git clone ssh://kitenet.net/srv/git/kitenet.net/mr
+checkout = git clone ssh://git.kitenet.net/srv/git/kitenet.net/mr
+skip = ! wantsrc
 
 [src/linux-2.6]
 checkout = git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
-# I only check this out on kodama, otherwise skip it.
-skip = test $(hostname) != kodama
+skip = ! mylaptop || ! wantsrc
 
 [src/dpkg]
 # A merge of the upstream dpkg git repo and my own personal branch.
 checkout = \
        git clone git://git.debian.org/git/dpkg/dpkg.git && \
        cd dpkg && \
-       git remote add kite ssh://kitenet.net/srv/git/kitenet.net/dpkg && \
+       git remote add kite ssh://git.kitenet.net/srv/git/kitenet.net/dpkg && \
        git fetch kite && \
        git checkout -b sourcev3 kite/sourcev3
 update = git pull origin master && git pull kite sourcev3
 commit = git push kite
+skip = ! wantsrc
 
 [html/www.debian.org]
 # Still in CVS..urk!
 # and only rarely
 update = echo "skipping cvs update (too slow)"
 status = echo "skipping cvs status (too ugly)"
+skip = ! mylaptop || ! wantsrc
+
+[src/packages/uqm]
+checkout = git clone ssh://git.kitenet.net/srv/git/kitenet.net/uqm
+skip = ! wantsrc
+
+[src/packages/uqm-content]
+checkout = git clone ssh://git.kitenet.net/srv/git/kitenet.net/uqm-content
+skip = ! wantsrc
+
+[src/packages/uqm-voice]
+checkout = git clone ssh://git.kitenet.net/srv/git/kitenet.net/uqm-voice
+skip = ! wantsrc
+
+[src/packages/uqm-music]
+checkout = git clone ssh://git.kitenet.net/srv/git/kitenet.net/uqm-music
+skip = ! wantsrc
 
 # My home directory, which I keep in svn.
 []
 # run svnfix after each update
 update = svn update && svnfix
 
-[default]
-# Teach mr how to run svn cleanup.
-cleanup = if [ -d "$MR_REPO"/.svn ]; then svn cleanup ; fi
+[mail]
+checkout = git clone ssh://git.kitenet.net/srv/git/kitenet.net/joey/private/mail
+skip = ! private
+
+[doc]
+checkout = git clone ssh://git.kitenet.net/srv/git/kitenet.net/joey/private/doc
+skip = ! private