-#!/bin/bash
+#!/usr/bin/env bash
set -euo pipefail
-MAKEFILE_DIR="$( cd "$( dirname $( dirname "${BASH_SOURCE[0]}" ))" >/dev/null 2>&1 && pwd )"
-
if ! which nix 2>/dev/null >/dev/null; then
cat <<-EOF
nix is needed, please install it:
exit 1
fi
+if ! which direnv 2>/dev/null >/dev/null; then
+ cat <<-EOF
+ direnv is needed, please install it
+ EOF
+ exit 1
+fi
+
+if [ -z "$NIXOPS_ENV_LOADED" ]; then
+ cat <<-EOF
+ direnv environment needs to be loaded
+ EOF
+ exit 1
+fi
+
+if [ "$(git config --get include.path)" != "../.gitconfig" ]; then
+ cat <<-EOF
+ it is recommended to include the .gitconfig file into (local) git configuration:
+ git config --local include.path '../.gitconfig'
+ Run this command? [y/N]
+ EOF
+ read y
+ if [ "$y" = "y" -o "$y" = "Y" ]; then
+ git config --local include.path '../.gitconfig'
+ fi
+fi
+
gpg_keys=$(pass ls Nixops/GPGKeys | sed -e "1d" | cut -d" " -f2)
for key in $gpg_keys; do
content=$(pass show Nixops/GPGKeys/$key)
read y
fi
-if ! make -C $MAKEFILE_DIR deployment_is_set 2>/dev/null >/dev/null; then
- cat <<-EOF
- Importing deployment file into nixops:
- Continue? [y/N]
- EOF
- read y
- if [ "$y" = "y" -o "$y" = "Y" ]; then
- make -C $MAKEFILE_DIR pull_deployment
- else
- echo "Aborting"
- exit 1
- fi
-fi
-
cat <<-EOF
All set up.
Please make sure you’re using make commands when deploying