X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=nixops%2Fscripts%2Fnixops_wrap;h=d03784e78c3fa575217f6d37a795aca0be72d171;hb=fdf6f74d3221e3dad853898f296149baea0aa476;hp=914f2cc79faf84d0225884a155f72fa4d7a43258;hpb=9fb4205e2ceadb79a93cbe44bd77ebebe8c94625;p=perso%2FImmae%2FConfig%2FNix.git diff --git a/nixops/scripts/nixops_wrap b/nixops/scripts/nixops_wrap index 914f2cc..d03784e 100755 --- a/nixops/scripts/nixops_wrap +++ b/nixops/scripts/nixops_wrap @@ -5,30 +5,32 @@ 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 +DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" +export NIXOPS_STATE="$(dirname $DIR)/state/eldiron.nixops" +export NIXOPS_DEPLOYMENT="$DeploymentUuid" +source $(dirname $(dirname $DIR))/nix_path_env +nixops="$(nix-build --no-out-link "$(dirname $DIR)/custom_nixops.nix")/bin/nixops" TEMP=$(mktemp -d /tmp/XXXXXX-nixops-files) chmod go-rwx $TEMP +# __noChroot: ssh-config-file requires relaxed +export NIX_PATH="ssh-config-file=$(dirname $DIR)/ssh/config:$NIX_PATH" + + finish() { rm -rf "$TEMP" - nixops set-args --unset privateFiles - nixops set-args --unset nixpkgsNext + $nixops set-args --unset privateFiles } trap finish EXIT -DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" -export NIXOPS_STATE="$(dirname $DIR)/state/eldiron.nixops" -export NIXOPS_DEPLOYMENT="$DeploymentUuid" - # 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" -nixops set-args --argstr nixpkgsNext "$HOME/.nix-defexpr/channels/immaeNixpkgsNext" +$nixops set-args --argstr privateFiles "$TEMP" -export NIX_PATH="ssh-config-file=$(dirname $DIR)/ssh/config:nixpkgs=$HOME/.nix-defexpr/channels/immaeNixpkgs" -nixops "$@" +$nixops "$@"