#!/usr/bin/env bash
-if [ -z "$NIXOPS" ]; then
- echo "Please set NIXOPS to the nixops command"
- exit 1;
-fi
-
-if [ -z "$NIXOPS_CONFIG_PASS_SUBTREE_PATH" ]; then
- echo "Please set NIXOPS_CONFIG_PASS_SUBTREE_PATH to the password-store subtree path"
+if [ -z "$NIXOPS_ENV_LOADED" ]; then
+ echo "Please load the environment with direnv"
exit 1;
fi
+umask 0077
TEMP=$(mktemp -d /tmp/XXXXXX-nixops-files)
chmod go-rwx $TEMP
finish() {
rm -rf "$TEMP"
- $NIXOPS set-args --unset privateFiles
}
trap finish EXIT
# pass cannot "just" list files in a directory without showing a tree :(
-files=$(pass ls $NIXOPS_CONFIG_PASS_SUBTREE_PATH/Nixops/files | sed -e '1d' -e 's/^.* //')
+files=$(pass ls Nixops/files | sed -e '1d' -e 's/^.* //')
for file in $files; do
- pass show "$NIXOPS_CONFIG_PASS_SUBTREE_PATH/Nixops/files/$file" > $TEMP/$file
+ pass show "Nixops/files/$file" > $TEMP/$file
done
-$NIXOPS set-args --argstr privateFiles "$TEMP"
+
+export NIX_PATH="privateFiles=$TEMP:$NIX_PATH"
+export SSH_IDENTITY_FILE="$TEMP/id_ed25519"
"$@"