home · contact · privacy
Fix.
authorChristian Heller <c.heller@plomlompom.de>
Mon, 25 Aug 2025 21:23:46 +0000 (23:23 +0200)
committerChristian Heller <c.heller@plomlompom.de>
Mon, 25 Aug 2025 21:23:46 +0000 (23:23 +0200)
trixie/copy/desktop/home/plom/.local/bin/setup_secrets [new file with mode: 0755]
trixie/copy/desktop/home/plom/.plomlib/abort_if_offline.sh [new symlink]
trixie/copy/desktop/home/plom/.plomlib/trapp.sh [new symlink]
trixie/scripts/lib/constants_repopaths.sh [deleted symlink]

diff --git a/trixie/copy/desktop/home/plom/.local/bin/setup_secrets b/trixie/copy/desktop/home/plom/.local/bin/setup_secrets
new file mode 100755 (executable)
index 0000000..d0fb34c
--- /dev/null
@@ -0,0 +1,57 @@
+#!/usr/bin/env dash
+set -e
+ROOT=$(dirname "$0")
+cd "${ROOT}"
+. lib/abort_if_exists
+. lib/abort_if_offline.sh
+. lib/constants_secrets  # PATH_SECRETS, PATH_SECRETS_KDBX, PATH_SECRETS_SSH, PATH_SECRETS_BORGKEYS, PATH_USER_KDBX
+. lib/constants_ssh.sh  # PATH_USER_SSH
+. lib/constants_user.sh  # USERNAME
+. lib/expect_n_args.sh
+. lib/retry_until
+. lib/trapp.sh
+
+prefixed_msg_init
+
+expect_n_args 1 1 "(device name, e.g. 'sda')" $@
+abort_if_offline
+abort_if_exists "${PATH_SECRETS}"
+abort_if_exists "${PATH_USER_SSH}"
+abort_if_exists "${PATH_REPOS}"
+
+mount_secrets "$1" # sets PASSPHRASE
+copy_and_unmount_secrets 'in'
+export BORG_PASSPHRASE="${PASSPHRASE}"
+
+prefixed_msg 'Copying passwords DB …'
+cp -a "${PATH_SECRETS_KDBX}" "${PATH_USER_KDBX}"
+
+prefixed_msg 'Setting up ~/.ssh …'
+cp -a "${PATH_SECRETS_SSH}" "${PATH_USER_SSH}"
+stty -echo
+trapp stty echo
+retry_until 1 'echo ""' 'ssh-add -q' 'prefixed_msg "Aborting due to ssh-add error"'
+stty echo
+trapp
+
+printf '\n'
+prefixed_msg 'Setting up ~/repos …'
+REPOS_SITE_LOGIN="${USERNAME}@${REPOS_SITE_DOMAIN}"
+mkdir "${PATH_REPOS}"
+cd "${PATH_REPOS}"
+ssh ${REPOS_SITE_LOGIN} "cd ${REMOTE_PATH_REPOS} && ls -1" | while read REPO_NAME; do
+    prefixed_msg "Cloning ${REPO_NAME} …"
+    git clone --quiet --recurse "${REPOS_SITE_LOGIN}:${REMOTE_PATH_REPOS}/${REPO_NAME}"
+done
+cd - > /dev/null
+
+prefixed_msg 'Setting up borg and pull in ~/org …'
+cd "${PATH_SECRETS_BORGKEYS}"
+ls -1 | while read _FILENAME; do
+    "${NAME_BORGAPP}" claim "${_FILENAME}"
+done
+cd -
+retry_until 2 '' "${NAME_BORGAPP} orgpull" "prefixed_msg 'Aborting due to unexpected ${NAME_BORGAPP} error.'" '' 'direct'
+prefixed_msg "${_OUTPUT}"
+
+prefixed_msg_exit
diff --git a/trixie/copy/desktop/home/plom/.plomlib/abort_if_offline.sh b/trixie/copy/desktop/home/plom/.plomlib/abort_if_offline.sh
new file mode 120000 (symlink)
index 0000000..c8415f4
--- /dev/null
@@ -0,0 +1 @@
+../../../../../scripts/lib/abort_if_offline.sh
\ No newline at end of file
diff --git a/trixie/copy/desktop/home/plom/.plomlib/trapp.sh b/trixie/copy/desktop/home/plom/.plomlib/trapp.sh
new file mode 120000 (symlink)
index 0000000..efe6d80
--- /dev/null
@@ -0,0 +1 @@
+../../../../../scripts/lib/trapp.sh
\ No newline at end of file
diff --git a/trixie/scripts/lib/constants_repopaths.sh b/trixie/scripts/lib/constants_repopaths.sh
deleted file mode 120000 (symlink)
index 5072dd0..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../../../bookworm/scripts/lib/constants_repopaths.sh
\ No newline at end of file