]> git.immae.eu Git - perso/Immae/Config/Nix.git/blobdiff - nixops/scripts/with_env
Add dry-run patch for morph
[perso/Immae/Config/Nix.git] / nixops / scripts / with_env
index a442ced2091ed8fe1c643f8fccd85cd930188c8a..f8e5537b43423b3ac0362d79bb8b9226f502d3ac 100755 (executable)
@@ -1,31 +1,28 @@
-#!/bin/bash
+#!/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"
 
 "$@"