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:
parent
e774ce5d1c
commit
eaf42b68c2
5 changed files with 64 additions and 21 deletions
21
configs/shared/gpg/.gnupg/export.sh
Executable file
21
configs/shared/gpg/.gnupg/export.sh
Executable 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")
|
||||
13
configs/shared/gpg/.gnupg/import.sh
Normal file
13
configs/shared/gpg/.gnupg/import.sh
Normal 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
|
||||
|
|
@ -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'
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue