]> git.immae.eu Git - perso/Immae/Config/Nix.git/blobdiff - nixops/scripts/setup
Add dry-run patch for morph
[perso/Immae/Config/Nix.git] / nixops / scripts / setup
index 22f43ce0b8af983b39e6da0ea4a3ceadb504a812..9bdb8df2c684339f8240698f3af36c4500b79caf 100755 (executable)
@@ -1,9 +1,7 @@
-#!/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:
@@ -20,6 +18,32 @@ if [ "${NIX_STORE:-/nix/store}" != "/nix/store" ]; then
   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)
@@ -62,20 +86,6 @@ if nix show-config --json | jq -e '.sandbox.value == "true"' >/dev/null; then
   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