configs/daily-use-pcs/setup-git.bash
2024-04-17 21:41:40 -05:00

53 lines
1.6 KiB
Bash
Executable file

#!/usr/bin/env bash
# Exit if there's an error
set -e
# Modify constants as needed
GIT_NAME="askiiart"
GIT_EMAIL="dev@askiiart.net"
KEY_ID="CFCF6723A8ED791C5FD25CB5858969DCCC2E792D"
# Note: This waits until enter is pressed
# read -p "Press Enter to continue" < /dev/tty
if [ $(whoami) == "root" ]; then
echo "Run as a normal user, not root"
exit 1
fi
command_exists() { type "$1" &>/dev/null; }
if command_exists "apt-get"; then
sudo apt-get install git -y
elif command_exists "yum"; then
sudo yum install git -y
elif command_exists "pacman"; then
sudo pacman -S git --noconfirm --needed
elif command_exists "zypp"; then
sudo zypper install git -y
elif command_exists "emerge"; then
sudo echo Not yet supported, exiting...
elif command_exists "apk"; then
sudo apk add git
else
echo "Unsupported: unknown package manager and distro"
fi
############################################
# Do GPG key stuff for commit verification #
############################################
git config --global user.name "${GIT_NAME}"
git config --global user.email "${GIT_EMAIL}"
git config --global commit.gpgsign true
git config --global user.signingkey ${KEY_ID}
# From https://superuser.com/a/954639
# Archived at https://web.archive.org/web/20230606153856/https://superuser.com/a/954639
echo Fixing .gnupg/ permissions
# Set ownership to your own user and primary group
chown -R "$USER:$(id -gn)" ~/.gnupg
# Set permissions to read, write, execute for only yourself, no others
chmod 700 ~/.gnupg
# Set permissions to read, write for only yourself, no others
chmod 600 ~/.gnupg/*
# Fixes dirmngr stuff (for Arch)
sudo chmod 700 $(ls -d $HOME/.gnupg/*/)