]> git.immae.eu Git - perso/Immae/Config/Nix.git/blobdiff - nixops/scripts/with_env
Use Makefile for some env/deploy scripts
[perso/Immae/Config/Nix.git] / nixops / scripts / with_env
diff --git a/nixops/scripts/with_env b/nixops/scripts/with_env
new file mode 100755 (executable)
index 0000000..a442ced
--- /dev/null
@@ -0,0 +1,31 @@
+#!/bin/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"
+  exit 1;
+fi
+
+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/^.* //')
+
+for file in $files; do
+  pass show "$NIXOPS_CONFIG_PASS_SUBTREE_PATH/Nixops/files/$file" > $TEMP/$file
+done
+$NIXOPS set-args --argstr privateFiles "$TEMP"
+
+"$@"