]> git.immae.eu Git - perso/Immae/Config/Nix.git/commitdiff
Add makefile and remove nixops dependency
authorIsmaël Bouya <ismael.bouya@normalesup.org>
Thu, 25 Apr 2019 17:41:41 +0000 (19:41 +0200)
committerIsmaël Bouya <ismael.bouya@normalesup.org>
Thu, 25 Apr 2019 17:41:41 +0000 (19:41 +0200)
nixops/Makefile [new file with mode: 0644]
nixops/scripts/pull_deployment
nixops/scripts/push_deployment
nixops/scripts/setup

diff --git a/nixops/Makefile b/nixops/Makefile
new file mode 100644 (file)
index 0000000..1d76a9c
--- /dev/null
@@ -0,0 +1,51 @@
+setup:
+       ./scripts/setup
+
+ssh-eldiron:
+       ./scripts/nixops_wrap ssh eldiron
+
+info:
+       ./scripts/nixops_wrap list
+       ./scripts/nixops_wrap info
+
+debug:
+       ./scripts/nixops_wrap deploy --build-only --show-trace
+
+dry-run:
+       ./scripts/nixops_wrap deploy --dry-run
+
+build:
+       ./scripts/nixops_wrap deploy --build-only
+
+upload:
+       ./scripts/nixops_wrap deploy --copy-only
+
+deploy:
+       ./scripts/nixops_wrap deploy
+
+push:
+       ./scripts/push_deployment
+       ./scripts/push_environment
+
+pull:
+       ./scripts/pull_environment
+
+pull-deployment:
+       ./scripts/pull_deployment
+
+profile = $(shell ./scripts/nixops_wrap info | grep "^Nix profile: " | sed -e "s/^Nix profile: //")
+GEN ?= "+3"
+
+list-generations:
+       nix-env -p $(profile) --list-generations
+       ./scripts/nixops_wrap ssh eldiron -- nix-env -p /nix/var/nix/profiles/system --list-generations
+
+delete-generations:
+       nix-env -p $(profile) --delete-generations $(GEN)
+       ./scripts/nixops_wrap ssh eldiron -- nix-env -p /nix/var/nix/profiles/system --delete-generations $(GEN)
+
+cleanup: delete-generations
+       nix-store --gc
+       ./scripts/nixops_wrap ssh eldiron -- nix-store --gc
+
+.PHONY: setup ssh-eldiron info debug dry-run build upload deploy push pull pull-deployment list-generations delete-generations cleanup
index 8ee9b75aac9b01a6f36824f5efafcfdd49ce7c87..d238434451176f0455846f1a082f51d60abcdbdf 100755 (executable)
@@ -8,16 +8,17 @@ if [ -z "$NIXOPS_CONFIG_PASS_SUBTREE_PATH" ]; then
 fi
 
 DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
+nixops="$(nix-build --no-out-link -A nixops "$(dirname $(dirname $DIR))")/bin/nixops"
 export NIXOPS_STATE="$(dirname $DIR)/state/eldiron.nixops"
 
-if nixops info -d $DeploymentUuid 2>/dev/null >/dev/null; then
+if $nixops info -d $DeploymentUuid 2>/dev/null >/dev/null; then
   cat <<EOF
 This will remove your current deployment file and recreate it!
 Continue? [y/N]
 EOF
   read y
   if [ "$y" = "y" -o "$y" = "Y" ]; then
-    nixops delete --force -d $DeploymentUuid
+    $nixops delete --force -d $DeploymentUuid
   else
     echo "Aborting"
     exit 1
@@ -26,6 +27,6 @@ fi
 
 deployment=$(pass show $NIXOPS_CONFIG_PASS_SUBTREE_PATH/Nixops/Deployment)
 
-echo "$deployment" | nixops import
+echo "$deployment" | $nixops import
 
-nixops modify -d "$DeploymentUuid" "$(dirname $DIR)/eldiron.nix"
+$nixops modify -d "$DeploymentUuid" "$(dirname $DIR)/eldiron.nix"
index e43b6be0fd9c443171151f509c2919cb7747df00..73084e40bdbf9f2c1082f39831bdd5059781ee3c 100755 (executable)
@@ -8,7 +8,8 @@ if [ -z "$NIXOPS_CONFIG_PASS_SUBTREE_PATH" ]; then
 fi
 
 DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
+nixops="$(nix-build --no-out-link -A nixops "$(dirname $(dirname $DIR))")/bin/nixops"
 export NIXOPS_STATE="$(dirname $DIR)/state/eldiron.nixops"
 export NIXOPS_DEPLOYMENT="$DeploymentUuid"
 
-nixops export | pass insert -m $NIXOPS_CONFIG_PASS_SUBTREE_PATH/Nixops/Deployment
+$nixops export | pass insert -m $NIXOPS_CONFIG_PASS_SUBTREE_PATH/Nixops/Deployment
index 4a76d3544f1ce436ae8da7b048622cb7eb6131ed..cfa8d64092365c3e513b86201fb9c3dac1ac920d 100755 (executable)
@@ -134,31 +134,12 @@ if nix show-config --json | jq -e '.sandbox.value == "true"' >/dev/null; then
   exit 1
 fi
 
-if ! which nixops 2>/dev/null >/dev/null; then
-  cat <<-EOF
-       nixops is needed:
-       > nix-env -i nixops
-       If it fails, please check that $HOME/.nix-profile/bin is in your PATH.
-       Continue? [y/N]
-       EOF
-  read y
-  if [ "$y" = "y" -o "$y" = "Y" ]; then
-    nix-env -i nixops
-    if ! which nixops 2>/dev/null >/dev/null; then
-      echo "Installation failed, please check that $HOME/.nix-profile/bin is in your path."
-      exit 1
-    fi
-  else
-    echo "Aborting"
-    exit 1
-  fi
-fi
-
 DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
+nixops="$(nix-build --no-out-link -A nixops "$(dirname $(dirname $DIR))")/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 info 2>/dev/null >/dev/null; then
   cat <<-EOF
        Importing deployment file into nixops:
        Continue? [y/N]
@@ -166,9 +147,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 import
 
-    nixops modify "$(dirname $DIR)/eldiron.nix"
+    $nixops modify "$(dirname $DIR)/eldiron.nix"
   else
     echo "Aborting"
     exit 1