diff --git a/utils/deploy b/utils/deploy new file mode 100755 index 0000000..0e7a87c --- /dev/null +++ b/utils/deploy @@ -0,0 +1,14 @@ +#!/usr/bin/env bash + +set -e +set -o pipefail + +if [ -z "$1" ] +then + echo "usage: deploy " + exit 1 +fi + +git push + +gen-config $1 | ssh "${host}".dadada.li 'sudo cat - > /etc/nixos/configuration.nix && (nixos-rebuild test && nixos-rebuild switch) || (nixos-rebuild switch --rollback && exit 1)' diff --git a/deploy b/utils/gen-config similarity index 76% rename from deploy rename to utils/gen-config index 10dc47e..dc13b7b 100755 --- a/deploy +++ b/utils/gen-config @@ -1,16 +1,5 @@ #!/usr/bin/env bash -set -e -set -o pipefail - -if [ -z "$1" ] -then - echo "usage: deploy " - exit 1 -fi - -git push - function hash { archive="$(mktemp /tmp/nix-config.XXX.tar.gz)" git archive "$1" | gzip > "$archive" @@ -18,11 +7,17 @@ function hash { rm "$archive" } +if [ -z "$1" ] +then + echo "usage: deploy " + exit 1 +fi + host="${1}" rev="$(git rev-parse HEAD)" sha256=$(hash "$rev") -cat < /etc/nixos/configuration.nix && (nixos-rebuild test && nixos-rebuild switch) || (nixos-rebuild switch --rollback && exit 1)' +cat <