From 64fffd21bcdfae9579d127d7e51874162db392bd Mon Sep 17 00:00:00 2001 From: Ivan Bushchik Date: Mon, 4 Jul 2022 17:07:17 +0300 Subject: [PATCH] Add git configurator --- tools/git.sh | 44 ++++++++++++++++++++++++++++++++++++++++++++ tools/install.sh | 4 ++++ 2 files changed, 48 insertions(+) create mode 100644 tools/git.sh diff --git a/tools/git.sh b/tools/git.sh new file mode 100644 index 0000000..3bd1bf1 --- /dev/null +++ b/tools/git.sh @@ -0,0 +1,44 @@ +#!/bin/sh + +GREEN="\033[32m" +RED="\033[31m" +DEFAULTC="\033[0m" + +echo "${GREEN}Setting up git$DEFAULTC" +read -p "Enter your name for commits: " GITNAME +git config --global user.name "$GITNAME" +read -p "Enter your email for commits: " GITEMAIL +git config --global user.email "$GITEMAIL" +read -p "Configure GPG signing for git? (y/N): " answer + +if [[ $answer = [Yy] ]]; then + git config --global commit.gpgsign true + git config --global gpg.program gpg2 + read -p "Enter your GPG key ID: " GPGKEYID + git config --global user.signingkey "${GPGKEYID}" +else + git config --global commit.gpgsign false +fi + +# configure git for merge +git config --global pull.rebase false +read -p "Enter your preferred editor (default: nvim): " GITEDITOR + +if [ $GITEDITOR = ""] +then + GITEDITOR="nvim" +fi +git config --global core.editor $GITEDITOR + +echo "\n${RED}Git configured with:$DEFAULTC" +echo "${GREEN}user.name: ${DEFAULTC}$GITNAME" +echo "${GREEN}user.email: ${DEFAULTC}$GITEMAIL" +echo "${GREEN}core.editor: ${DEFAULTC}$GITEDITOR" +if [[ $answer = [Yy] ]] +then +echo "${GREEN}commit.codesign: ${DEFAULTC}true" +echo "${GREEN}gpg.program: ${DEFAULTC}gpg2" +echo "${GREEN}user.signingkey: ${DEFAULTC}$GPGKEYID" +else +echo "${GREEN}commit.codesign: ${DEFAULTC}false" +fi \ No newline at end of file diff --git a/tools/install.sh b/tools/install.sh index 4ee384c..a061d82 100644 --- a/tools/install.sh +++ b/tools/install.sh @@ -33,3 +33,7 @@ sh $HOME/.dotfiles/tools/relink.sh cd $CURRENTDIR echo "${GREEN}Dotfiles installed and linked.$DEFAULTC" +read -p "Would you like to configure git? (y/N): " answer +if [[ $answer = [Yy] ]]; then + sh tools/git.sh +fi \ No newline at end of file