From: Ismaƫl Bouya Date: Fri, 24 May 2019 11:55:43 +0000 (+0200) Subject: Build nixops_custom on the fly X-Git-Url: https://git.immae.eu/?p=perso%2FImmae%2FConfig%2FNix.git;a=commitdiff_plain;h=db4f87d640a090c4b469595737503f4189923c45 Build nixops_custom on the fly --- diff --git a/nix_path_env b/nix_path_env index 901cd69..19f7cca 100644 --- a/nix_path_env +++ b/nix_path_env @@ -9,3 +9,9 @@ fi nixpkgsPrevious="$nixpkgs" nixpkgsNext="$nixpkgs" export NIX_PATH="nixpkgs=$nixpkgs:nixpkgsNext=$nixpkgsNext:nixpkgsPrevious=$nixpkgsPrevious" + +nixops_custom () { + DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" + d=$(nix-build --no-out-link -E "with import { overlays = builtins.attrValues (import $DIR/overlays); }; nixops") + ${d}/bin/nixops "$@" +} diff --git a/nixops/custom_nixops.nix b/nixops/custom_nixops.nix deleted file mode 100644 index f024a4d..0000000 --- a/nixops/custom_nixops.nix +++ /dev/null @@ -1,2 +0,0 @@ -with import { overlays = builtins.attrValues (import ../overlays); }; -nixops diff --git a/nixops/scripts/nixops_wrap b/nixops/scripts/nixops_wrap index 9cf3388..e75fa2f 100755 --- a/nixops/scripts/nixops_wrap +++ b/nixops/scripts/nixops_wrap @@ -9,14 +9,13 @@ 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 finish() { rm -rf "$TEMP" - $nixops set-args --unset privateFiles + nixops_custom set-args --unset privateFiles } trap finish EXIT @@ -27,6 +26,6 @@ files=$(pass ls $NIXOPS_CONFIG_PASS_SUBTREE_PATH/Nixops/files | sed -e '1d' -e ' 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_custom set-args --argstr privateFiles "$TEMP" -$nixops "$@" +nixops_custom "$@" diff --git a/nixops/scripts/pull_deployment b/nixops/scripts/pull_deployment index 10f71fe..ef0f221 100755 --- a/nixops/scripts/pull_deployment +++ b/nixops/scripts/pull_deployment @@ -9,18 +9,17 @@ 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" export NIXOPS_STATE="$(dirname $DIR)/state/eldiron.nixops" -if $nixops info -d $DeploymentUuid 2>/dev/null >/dev/null; then +if nixops_custom info -d $DeploymentUuid 2>/dev/null >/dev/null; then cat </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" -$nixops export | pass insert -m $NIXOPS_CONFIG_PASS_SUBTREE_PATH/Nixops/Deployment +nixops_custom export | pass insert -m $NIXOPS_CONFIG_PASS_SUBTREE_PATH/Nixops/Deployment diff --git a/nixops/scripts/setup b/nixops/scripts/setup index 58dbf55..72b19c0 100755 --- a/nixops/scripts/setup +++ b/nixops/scripts/setup @@ -95,11 +95,10 @@ fi DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" source $(dirname $(dirname $DIR))/nix_path_env -nixops="$(nix-build --no-out-link "$(dirname $DIR)/custom_nixops.nix")/bin/nixops" export NIXOPS_STATE="$(dirname $DIR)/state/eldiron.nixops" export NIXOPS_DEPLOYMENT="$DeploymentUuid" -if ! $nixops info 2>/dev/null >/dev/null; then +if ! nixops_custom info 2>/dev/null >/dev/null; then cat <<-EOF Importing deployment file into nixops: Continue? [y/N] @@ -107,9 +106,9 @@ if ! $nixops info 2>/dev/null >/dev/null; then read y if [ "$y" = "y" -o "$y" = "Y" ]; then deployment=$(pass show $NIXOPS_CONFIG_PASS_SUBTREE_PATH/Nixops/Deployment) - echo "$deployment" | $nixops import + echo "$deployment" | nixops_custom import - $nixops modify "$(dirname $DIR)/eldiron.nix" + nixops_custom modify "$(dirname $DIR)/eldiron.nix" else echo "Aborting" exit 1