Update 3 files
- /local/provision.sh - /docs/CHEZMOI-INTRO.md - /home/.chezmoiscripts/universal/run_before_01-decrypt-age-key.tmpl
This commit is contained in:
parent
a4fe3b7e3a
commit
a70f707424
3 changed files with 34 additions and 23 deletions
|
@ -20,6 +20,14 @@ To use a fork (if you made modifications to the original project), set this equa
|
|||
|
||||
Note, this variable is used by the `bash <(curl -sSL https://install.doctor/start)` command and is not used anywhere in the project itself.
|
||||
|
||||
### Headless Install
|
||||
|
||||
Set to true if you would like all prompts to be bypassed. If you have not already set up
|
||||
your encryption keys, then the encryption process will be bypassed and default fallback
|
||||
files will be used. Set to any value to perform a headless installation.
|
||||
|
||||
* Environment variable: `HEADLESS_INSTALL`
|
||||
|
||||
### Work Environment
|
||||
|
||||
Set to true if you are setting up a work environment where things like Tor should
|
||||
|
|
|
@ -3,30 +3,33 @@
|
|||
{{ includeTemplate "universal/logg-before" }}
|
||||
{{ includeTemplate "universal/profile-before" }}
|
||||
|
||||
### Install Age via Homebrew if not present
|
||||
if ! command -v age > /dev/null; then
|
||||
if command -v brew > /dev/null; then
|
||||
logg info 'Running `brew install age`'
|
||||
brew install age
|
||||
else
|
||||
logg warn '`age` is not installed which is utilized in the decryption process'
|
||||
### Only run decryption process if HEADLESS_INSTALL variable is not set
|
||||
if [ -z "$HEADLESS_INSTALL" ]; then
|
||||
### Install Age via Homebrew if not present
|
||||
if ! command -v age > /dev/null; then
|
||||
if command -v brew > /dev/null; then
|
||||
logg info 'Running `brew install age`'
|
||||
brew install age
|
||||
else
|
||||
logg warn '`age` is not installed which is utilized in the decryption process'
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
### Decrypt private key if it is not already present
|
||||
if command -v age > /dev/null; then
|
||||
if [ ! -f "${XDG_CONFIG_HOME}/age/chezmoi.txt" ]; then
|
||||
mkdir -p "${XDG_CONFIG_HOME}/age"
|
||||
logg star '`PRESS ENTER` if you have not set up your encryption token yet'
|
||||
age --decrypt --output "${XDG_CONFIG_HOME}/age/chezmoi.txt" "{{ .chezmoi.sourceDir }}/key.txt.age" || EXIT_CODE=$?
|
||||
if [ -n "$EXIT_CODE" ]; then
|
||||
logg info 'Proceeding without decrypting age encryption key stored at `~/.local/share/chezmoi/home/key.txt.age`'
|
||||
logg info 'To have Chezmoi handle your encryption (so you can store your private files publicly) take a look at https://shorturl.at/jkpzG'
|
||||
logg info 'Removing all files that begin with encrypted_ because decryption failed'
|
||||
find "$HOME/.local/share/chezmoi" -type f -name "encrypted_*" | while read ENCRYPTED_FILE; do
|
||||
logg info "Removing $ENCRYPTED_FILE"
|
||||
rm -f "$ENCRYPTED_FILE"
|
||||
done
|
||||
### Decrypt private key if it is not already present
|
||||
if command -v age > /dev/null; then
|
||||
if [ ! -f "${XDG_CONFIG_HOME}/age/chezmoi.txt" ]; then
|
||||
mkdir -p "${XDG_CONFIG_HOME}/age"
|
||||
logg star '`PRESS ENTER` if you have not set up your encryption token yet'
|
||||
age --decrypt --output "${XDG_CONFIG_HOME}/age/chezmoi.txt" "{{ .chezmoi.sourceDir }}/key.txt.age" || EXIT_CODE=$?
|
||||
if [ -n "$EXIT_CODE" ]; then
|
||||
logg info 'Proceeding without decrypting age encryption key stored at `~/.local/share/chezmoi/home/key.txt.age`'
|
||||
logg info 'To have Chezmoi handle your encryption (so you can store your private files publicly) take a look at https://shorturl.at/jkpzG'
|
||||
logg info 'Removing all files that begin with encrypted_ because decryption failed'
|
||||
find "$HOME/.local/share/chezmoi" -type f -name "encrypted_*" | while read ENCRYPTED_FILE; do
|
||||
logg info "Removing $ENCRYPTED_FILE"
|
||||
rm -f "$ENCRYPTED_FILE"
|
||||
done
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
|
|
@ -453,7 +453,7 @@ if [ "$DEBUG_MODE" == 'true' ]; then
|
|||
else
|
||||
DEBUG_MODIFIER=""
|
||||
fi
|
||||
if [ -n "$FORCE_CHEZMOI" ]; then
|
||||
if [ -n "$HEADLESS_INSTALL" ]; then
|
||||
if command -v unbuffer > /dev/null; then
|
||||
unbuffer -p chezmoi apply $DEBUG_MODIFIER -k --force 2>&1 | tee "${XDG_DATA_HOME:-$HOME/.local/share}/megabyte-labs/betelgeuse.$(date +%s).log"
|
||||
else
|
||||
|
|
Loading…
Reference in a new issue