X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=nixops%2Fscripts%2Fnixops_wrap;h=7cc409f79f602553307c77a68f016e0282109590;hb=3afed4fcd2cd4e4e8ca2979390fef202818be9db;hp=1de38f5a8879fd64573d127568cfea50a51f95e9;hpb=34c5871481ec3d8e8ceaf0b63a006bb5b2d8e8c8;p=perso%2FImmae%2FConfig%2FNix.git diff --git a/nixops/scripts/nixops_wrap b/nixops/scripts/nixops_wrap index 1de38f5..7cc409f 100755 --- a/nixops/scripts/nixops_wrap +++ b/nixops/scripts/nixops_wrap @@ -1,23 +1,35 @@ #!/bin/bash +DeploymentUuid="cef694f3-081d-11e9-b31f-0242ec186adf" 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 /tmp/XXXXXX-environment.nix) +TEMP=$(mktemp -d /tmp/XXXXXX-nixops-files) chmod go-rwx $TEMP finish() { - rm -f "$TEMP" - nixops set-args --unset environment + rm -rf "$TEMP" + nixops set-args --unset privateFiles } trap finish EXIT -pass show "$NIXOPS_CONFIG_PASS_SUBTREE_PATH/NixConfig" >> $TEMP -nixops set-args --argstr environment "$TEMP" - DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" -export NIX_PATH="ssh-config-file=$(dirname $DIR)/ssh/config:nixpkgs=$HOME/.nix-defexpr/channels/immaeNixpkgs" +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" + +nixpkgsNext="https://releases.nixos.org/nixos/19.03/nixos-19.03beta171840.23fd1394dc6/nixexprs.tar.xz" +nixpkgsPrevious="https://releases.nixos.org/nixos/18.09/nixos-18.09.1834.9d608a6f592/nixexprs.tar.xz" +nixpkgs="$nixpkgsNext" +export NIX_PATH="ssh-config-file=$(dirname $DIR)/ssh/config:nixpkgs=$nixpkgs:nixpkgsNext=$nixpkgsNext:nixpkgsPrevious=$nixpkgsPrevious" nixops "$@"