diff --git a/deploy.sh b/deploy.sh index f425fce..065eb2b 100755 --- a/deploy.sh +++ b/deploy.sh @@ -12,15 +12,25 @@ fi mode="${1:-switch}" host="${2:-nuc}" -target="${3:-$host.c3h}" +target="${3:-c3h@$host.c3h}" + +if ! [ -d "hosts/$host" ] +then + echo "Host $host does not exist. Choose from:" + ls hosts + exit +fi echo "deploying $host to $target" sleep 1 -sources=$(nix-build nix/sources-dir.nix --no-out-link) +tmp=$(mktemp -d) +trap 'rm -rf "$tmp"' EXIT +sources="$tmp/sources" +cp -r $(nix-build nix/sources-dir.nix --no-out-link) $tmp/sources set -x -system_drv=$(nix-instantiate "" -I $sources -I "nixos-config=$PWD/hosts/$host/configuration.nix" | head -n1) +system_drv=$(nix-instantiate "" -A config.system.build.toplevel -I $sources -I "nixos-config=$PWD/hosts/$host/configuration.nix") nix-copy-closure --to $target $system_drv system=$(ssh $target "nix-store --realise $system_drv") ssh $target "sudo nix-env -p /nix/var/nix/profiles/system -i $system && sudo /nix/var/nix/profiles/system/bin/switch-to-configuration $mode"