#!/usr/bin/env bash DOTFILES="$(dirname "$(readlink -fm "$0")")" force=1 mkln() { dirname="$(dirname $2)" filename="$(basename $2)" source=$(wslpath -w $DOTFILES/$1) target=$(wslpath -w $dirname)\\$filename cmd="cd ~; cmd /c mklink $target $source" if ls -la $dirname/ 2>/dev/null | grep -q $filename; then if [ $force = 1 ]; then cmd="cd ~; rm $target; cmd /c mklink $target $source" else echo "$filename already exists. Use -f to overwrite." return fi fi powershell.exe -c "$cmd" &>/dev/null echo "linked $2 --> $1" } show-warning() { gpgpath=$(wslpath -w "$(command -v gpg.exe)") gitgpg=$(git.exe config --system --get gpg.program) if [ "$gitgpg" = "$gpgpath" ]; then return fi printf "\n" printf "In order to use gpg with git for windows \n" printf "(and still share gitconfigs), you need to run\n" printf "the following command from an admin terminal:\n" printf "\n" printf "git.exe config --system gpg.program '%s' \n" "$(wslpath -w "$(command -v gpg.exe)")" printf "\n" } mkln ssh/win.config ~/win/.ssh/config mkln gitconfig ~/win/.gitconfig mkln gnupg/gpg.conf ~/win/AppData/Roaming/gnupg/gpg.conf mkln gnupg/gpg-agent.conf ~/win/AppData/Roaming/gnupg/gpg-agent.conf mkln gnupg/scdaemon.conf ~/win/AppData/Roaming/gnupg/scdaemon.conf mkln wt.json ~/win/AppData/Local/Packages/Microsoft.WindowsTerminalPreview_8wekyb3d8bbwe/LocalState/settings.json