dotfiles/.local/bin/setup_dotfiles.sh

27 lines
965 B
Bash
Executable File

#!/bin/zsh
# Set up dotfiles on a new machine.
setopt LOCAL_OPTIONS ERR_RETURN NO_UNSET PIPE_FAIL
local repo_address="https://schlomp.space/tastytea/dotfiles.git"
local tmp_git_command='git --git-dir=${HOME}/.dotfiles --work-tree=${HOME}'
if [[ -f ~/.ssh/noid_dotfiles ]]; then
print -P "%F{12}Using dotfiles SSH-key%f"
repo_address="git@schlomp.space:tastytea/dotfiles.git"
export GIT_SSH_COMMAND="ssh -i ~/.ssh/noid_dotfiles"
tmp_git_command="GIT_SSH_COMMAND=\"ssh -i ~/.ssh/noid_dotfiles\" ${tmp_git_command}"
else
print -P "%F{12}No dotfiles SSH-key found, using HTTP access%f"
fi
alias config=${tmp_git_command}
git clone --bare ${repo_address} ${HOME}/.dotfiles
config config --local status.showUntrackedFiles no
config config --local core.worktree ${HOME}
config config core.bare false
print -P "%F{12}Run%f" \
"%F{13}rm ${0} &&" \
"${tmp_git_command} checkout" \
"%F{12}to copy the files to your home directory.%f"