dotfiles/apply-dotfiles
Andrew R. M ddf5d19c51 Add gitconfig in xdg location
Recommendations came from this blog post:
    https://blog.gitbutler.com/how-git-core-devs-configure-git/

Let's see how this works out lol

Test
2025-04-05 16:38:28 -04:00

43 lines
1.0 KiB
Bash
Executable File

#!/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 screen
apply_dotfile git
apply_dotfile vim
apply_dotfile ruby
apply_dotfile python
# Only if inside a coder instance
if [ -n "${CODER}" ]; then
apply_dotfile gnupg
fi
# Check that SSH version is above 9.2 (where EnableEscapeCommandline was added) before conditionally adding
# a config file. This is then included in the main config
SSH_VERSION=$(ssh -V 2>&1 | cut -d',' -f 1 | cut -d '_' -f 2)
if [[ "${SSH_VERSION}" =~ ^9\.[1-9]{0,1}[2-9].*$ ]]; then
cat <<CONFIG > ssh/.ssh/extra.conf
EnableEscapeCommandline yes
CONFIG
fi
apply_dotfile ssh
restore_from_adoption