#!/usr/bin/env bash apply_dotfile() { directory_to_stow="${1}" stow --adopt -S -t "${HOME}" "${directory_to_stow}" } # Adopt will change the files in stow to match existing files. # We don't want this, we just want to handle existing files gracefully. # We simply adopt all the files and then at the end restore our git repo to undo changes restore_from_adoption() { git restore . } apply_dotfile bash apply_dotfile sh apply_dotfile readline apply_dotfile vim apply_dotfile ruby apply_dotfile python apply_dotfile ssh restore_from_adoption