[user]
name = Ruben Beltran del Rio
email = git@r.bdr.sh
- signingkey = 85D81B97D96211C7
+ signingkey = ~/.ssh/git.pub
[sendemail]
smtpserver = smtp.fastmail.com
smtpuser = r@bdr.sh
rebase = false
[commit]
gpgsign = true
+[gpg]
+ format = ssh
[init]
defaultBranch = main
[diff]
source "${ZDOTDIR:-$HOME}/.dotfiles/zsh/functions/status.zsh"
source "${ZDOTDIR:-$HOME}/.dotfiles/zsh/functions/sync-repos.zsh"
source "${ZDOTDIR:-$HOME}/.dotfiles/zsh/functions/check-repos.zsh"
+source "${ZDOTDIR:-$HOME}/.dotfiles/zsh/functions/ssh-key-helpers.zsh"
################################################################################
# Load Modules
--- /dev/null
+#!/usr/bin/env zsh
+
+set-git-signing-key() {
+ local key_path="$1"
+
+ if [[ -z "$key_path" ]]; then
+ echo "Error: Please provide a path to the private key to use to sign git commits." >&2
+ return 1
+ fi
+
+ # Check if key exists
+ if [[ ! -f "$key_path" ]]; then
+ echo "Error: Key file does not exist: $key_path" >&2
+ return 1
+ fi
+
+ local absolute_path=$(readlink -f "$key_path")
+
+ ln -sf "$absolute_path" ~/.ssh/git
+ ln -sf "${absolute_path}.pub" ~/.ssh/git.pub
+
+ if [[ $? -eq 0 ]]; then
+ echo "Successfully linked git signing key"
+ return 0
+ else
+ echo "Error: Failed to create symbolic link" >&2
+ return 1
+ fi
+}
+
+generate-ssh-key() {
+ local key_name="$1"
+ local key_description="$2"
+
+ if [[ -z "$key_name" ]]; then
+ echo "Error: Please provide a name for the key." >&2
+ return 1
+ fi
+
+ if [[ -z "$key_description" ]]; then
+ echo "Error: Please provide a description for the key." >&2
+ return 1
+ fi
+
+ ssh-keygen -t ed25519 -f ~/.ssh/id_ed25519_${key_name}_$(date +%Y-%m-%d) -C ${key_description}
+}