diff --git a/bootstrap.sh b/bootstrap.sh index 8618570..f2ec3c6 100755 --- a/bootstrap.sh +++ b/bootstrap.sh @@ -269,39 +269,44 @@ else log "Not macOS. Xcode CLT install and license check skipped." fi -logn "Configuring Git:" -if [ -n "$STRAP_GIT_NAME" ] && ! git config user.name >/dev/null; then - git config --global user.name "$STRAP_GIT_NAME" -fi - -if [ -n "$STRAP_GIT_EMAIL" ] && ! git config user.email >/dev/null; then - git config --global user.email "$STRAP_GIT_EMAIL" -fi - -if [ -n "$STRAP_GITHUB_USER" ] && - [ "$(git config github.user)" != "$STRAP_GITHUB_USER" ]; then - git config --global github.user "$STRAP_GITHUB_USER" -fi - -# Set up GitHub HTTPS credentials -# shellcheck disable=SC2086 -if git credential-osxkeychain 2>&1 | grep $Q "git.credential-osxkeychain"; then - # Execute credential in case it's a wrapper script for credential-osxkeychain - if git "credential-$(git config --global credential.helper 2>/dev/null)" 2>&1 | - grep -v $Q "git.credential-osxkeychain"; then - git config --global credential.helper osxkeychain +configure_git() { + logn "Configuring Git:" + if [ "$STRAP_CI" -gt 0 ]; then + git config --global commit.gpgsign false + git config --global gpg.format openpgp fi - if [ -n "$STRAP_GITHUB_USER" ] && [ -n "$STRAP_GITHUB_TOKEN" ]; then - PROTOCOL="protocol=https\\nhost=github.com" - printf "%s\\n" "$PROTOCOL" | git credential reject - printf "%s\\nusername=%s\\npassword=%s\\n" \ - "$PROTOCOL" "$STRAP_GITHUB_USER" "$STRAP_GITHUB_TOKEN" | - git credential approve - else - log "Skipping Git credential setup." + if [ -n "$STRAP_GIT_NAME" ] && ! git config user.name >/dev/null; then + git config --global user.name "$STRAP_GIT_NAME" fi - logk -fi + if [ -n "$STRAP_GIT_EMAIL" ] && ! git config user.email >/dev/null; then + git config --global user.email "$STRAP_GIT_EMAIL" + fi + if [ -n "$STRAP_GITHUB_USER" ] && + [ "$(git config github.user)" != "$STRAP_GITHUB_USER" ]; then + git config --global github.user "$STRAP_GITHUB_USER" + fi + # Set up GitHub HTTPS credentials + # shellcheck disable=SC2086 + if git credential-osxkeychain 2>&1 | grep $Q "git.credential-osxkeychain"; then + # Execute credential in case it's a wrapper script for credential-osxkeychain + if git "credential-$(git config --global credential.helper 2>/dev/null)" 2>&1 | + grep -v $Q "git.credential-osxkeychain"; then + git config --global credential.helper osxkeychain + fi + if [ -n "$STRAP_GITHUB_USER" ] && [ -n "$STRAP_GITHUB_TOKEN" ]; then + PROTOCOL="protocol=https\\nhost=github.com" + printf "%s\\n" "$PROTOCOL" | git credential reject + printf "%s\\nusername=%s\\npassword=%s\\n" \ + "$PROTOCOL" "$STRAP_GITHUB_USER" "$STRAP_GITHUB_TOKEN" | + git credential approve + else + log "Skipping Git credential setup." + fi + logk + fi +} + +configure_git # Check for and install any remaining software updates logn "Checking for software updates:" @@ -342,6 +347,8 @@ log "Checking out $strap_dotfiles_branch_name in ~/.dotfiles." run_dotfile_scripts scripts/symlink.sh logk +configure_git + # shellcheck disable=SC2086 install_homebrew() { logn "Installing Homebrew:"