From da28a4e2afef21710f73860b26893fa18dd32858 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Isma=C3=ABl=20Bouya?= Date: Sat, 29 Aug 2020 18:37:54 +0200 Subject: Add environment file instead of hardcoding everything in makefiles --- nixops/Makefile | 28 +++++++++++----------------- nixops/scripts/with_env | 8 ++++---- 2 files changed, 15 insertions(+), 21 deletions(-) (limited to 'nixops') diff --git a/nixops/Makefile b/nixops/Makefile index a7b24cd..18d48eb 100644 --- a/nixops/Makefile +++ b/nixops/Makefile @@ -1,14 +1,8 @@ -export -PASSWORD_STORE_DIR = $(shell pwd)/secrets -NIXOPS_STATE ?= ./state/eldiron.nixops -NIXOPS_DEPLOYMENT = cef694f3-081d-11e9-b31f-0242ec186adf -nixpkgs ?= $(shell cat ../nix/sources.json | jq -r '."nixpkgs-nixops".url') -nixpkgsNext ?= $(shell cat ../nix/sources.json | jq -r '."nixpkgs-nixops-next".url') -nixpkgsPrevious ?= $(shell cat ../nix/sources.json | jq -r '."nixpkgs-nixops-previous".url') -NIX_PATH = nixpkgs=${nixpkgs}:nixpkgsNext=${nixpkgsNext}:nixpkgsPrevious=${nixpkgsPrevious} - -NIXOPS := $(shell NIX_PATH=$(NIX_PATH) nix-build --no-out-link -E "with import { overlays = builtins.attrValues (import ../overlays); }; nixops")/bin/nixops -NIXOPS_PRIV = ./scripts/with_env $(NIXOPS) +ifndef NIXOPS_ENV_LOADED + $(error "Please load environment with direnv") +endif + +NIXOPS_PRIV = ./scripts/with_env nixops ###### Current channel information nix-info: @@ -102,21 +96,21 @@ cleanup: delete-generations ###### Pull environment and deployment from remote pull_deployment: - @if $(NIXOPS) info -d $(NIXOPS_DEPLOYMENT) 2>/dev/null >/dev/null ; then \ + @if nixops info -d $(NIXOPS_DEPLOYMENT) 2>/dev/null >/dev/null ; then \ echo "This will remove your current deployment file and recreate it!. Continue? [y/N]" && \ read y && \ [ "$$y" = "y" -o "$$y" = "Y" ] && \ - $(NIXOPS) delete --force -d $(NIXOPS_DEPLOYMENT); \ + nixops delete --force -d $(NIXOPS_DEPLOYMENT); \ fi - pass show Nixops/Deployment | $(NIXOPS) import - $(NIXOPS) modify -d $(NIXOPS_DEPLOYMENT) "$$(pwd)/default.nix" + pass show Nixops/Deployment | nixops import + nixops modify -d $(NIXOPS_DEPLOYMENT) "$$(pwd)/default.nix" .PHONY: pull_deployment deployment_is_set: - $(NIXOPS) info -d $(NIXOPS_DEPLOYMENT) 2>/dev/null >/dev/null + nixops info -d $(NIXOPS_DEPLOYMENT) 2>/dev/null >/dev/null .PHONY: deployment_is_set ###### Push deployment information to password store push_deployment: - $(NIXOPS) export | pass insert -m Nixops/Deployment + nixops export | pass insert -m Nixops/Deployment .PHONY: push diff --git a/nixops/scripts/with_env b/nixops/scripts/with_env index 26e74b5..9882f78 100755 --- a/nixops/scripts/with_env +++ b/nixops/scripts/with_env @@ -1,7 +1,7 @@ #!/usr/bin/env bash -if [ -z "$NIXOPS" ]; then - echo "Please set NIXOPS to the nixops command" +if [ -z "$NIXOPS_ENV_LOADED" ]; then + echo "Please load the environment with direnv" exit 1; fi @@ -10,7 +10,7 @@ chmod go-rwx $TEMP finish() { rm -rf "$TEMP" - $NIXOPS set-args --unset privateFiles + nixops set-args --unset privateFiles } trap finish EXIT @@ -21,6 +21,6 @@ files=$(pass ls Nixops/files | sed -e '1d' -e 's/^.* //') for file in $files; do pass show "Nixops/files/$file" > $TEMP/$file done -$NIXOPS set-args --argstr privateFiles "$TEMP" +nixops set-args --argstr privateFiles "$TEMP" "$@" -- cgit v1.2.3