#!/bin/bash echo "Setting up SSH" # Extract the login details from enpass LABS=$(enpasscli -vault="$HOME/Documents/Enpass/Vaults/primary" -sort show "Scarif: Labs" 2>&1) LABSUN=$(echo "$LABS" | grep -Po "(?<=login: )\w+") LABSPW=$(echo "$LABS" | grep -Po "(?<=password: ).+(?=\")") SSHPATH="$HOME/.ssh/id_ed25519" # The path to the SSH key file TITLE="$USER@$(cat /etc/hostname)" # The title for the SSH key # Generate the SSH key if it does not exist [ ! -f $SSHPATH ] && ssh-keygen -t ed25519 -f "$SSHPATH" -N "" -q KEY=$(cat "$SSHPATH.pub") # A method to generate the parameters for creating an SSH key on gitea generate_post_data() { cat < /dev/null done fi fi # Save the new key in gitea curl -X POST \ -s -S \ -H "Accept: application/json" \ -H "Content-Type:application/json" \ --data "$(generate_post_data)" \ --url "$KEYS_URL" > /dev/null HTTP_REPLACE="s/https:\/\/labs\.scarif\.space\//git@labs.scarif.space:/" # for dir in $(ls "$HOME/.local/src"); do # dir="$HOME/.local/src/$dir" # if [ -d $dir ]; then # cd "$dir" # SSH_URL=$(git remote get-url origin | sed "$HTTP_REPLACE") # git remote set-url origin "$SSH_URL" # fi # done DOTFILES_SSH_URL=$(git --git-dir "$HOME/.config/dotfiles/.git" --work-tree="$HOME" remote get-url origin | sed "$HTTP_REPLACE") git --git-dir "$HOME/.config/dotfiles/.git" --work-tree="$HOME" remote set-url origin "$DOTFILES_SSH_URL"