Better support GPG migrations

After yet another unpleasant experience starting up GPG on a new system, I
decided to encode my learnings and mistakes as aliases, functions, scripts,
hoping to protect my future me from myself. Fingers crossed!
This commit is contained in:
William Carroll 2019-03-11 18:00:03 +00:00
parent e774ce5d1c
commit eaf42b68c2
5 changed files with 64 additions and 21 deletions

View file

@ -0,0 +1,21 @@
#!/usr/bin/env bash
set -e
# Run this script to export all the information required to transport your GPG
# information.
# Usage: ./export.sh [directory]
# TODO: run this periodically as a job.
destination="${1:-$(mktemp -d)}"
if [ ! -d "$destination" ]; then
echo "$destination does not exist. Creating it..."
mkdir -p "$destination"
fi
gpg --armor --export >"$destination/public.asc"
gpg --armor --export-secret-keys >"$destination/secret.asc"
gpg --armor --export-ownertrust >"$destination/ownertrust.txt"
echo $(realpath "$destination")

View file

@ -0,0 +1,13 @@
#!/usr/bin/env bash
set -e
# Run this script to import all of the information exported by `export.sh`.
# Usage: ./export.sh path/to/directory
gpg --import "$1/public.asc"
gpg --import "$1/secret.asc"
gpg --import-ownertrust "$1/ownertrust.txt"
# Run this at the end to output some verification
gpg --list-keys

View file

@ -49,6 +49,12 @@ alias mdg="mix deps.get"
alias mdu="mix deps.update"
alias mdup="mix docker.up"
# GPG
alias gpged='gpg --edit-key wpcarro@gmail.com'
alias gpge='gpg --encrypt'
alias gpgd='gpg --decrypt'
alias gpgls='gpg --list-keys'
# Git
alias g="git"
alias glp='git log --graph --pretty=format:"%Cred%h%Creset -%Cblue %an %Creset - %C(yellow)%d%Creset %s %Cgreen(%cr)%Creset" --abbrev-commit --date=relative'

View file

@ -1,6 +1,7 @@
export TERMINAL=urxvtc
export EDITOR=emacsclient
export ALTERNATE_EDITOR=nvim
export GPG_TTY=$(tty) # "It is important that this environment variable always reflects the output of the tty command". Source: https://gnupg.org/documentation/manuals/gnupg-devel/Invoking-GPG_002dAGENT.html
BROWSER=google-chrome
NIXIFY="$HOME/programming/nixify"