I don't like keeping my repository in ~/.local/etc/, especially since I have my own conventions for storing repositories that I frequently update.
SOURCE_DIR should be able to be set from both the command-line, and be read from a configuration file. (e.g. ~/.config/dots/source_dir)