summaryrefslogtreecommitdiff
path: root/Biz/Ide/push.sh
blob: 6729c2f5b04caec68bb314fb22cb9ce471cbaff6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#!/usr/bin/env bash
# Eventually convert to haskell, see:
# - https://github.com/awakesecurity/nix-deploy/blob/master/src/Main.hs
# - http://www.haskellforall.com/2018/08/nixos-in-production.html
prefix=${PWD/$CODEROOT}
if [[ "$prefix" == "" ]]
then
  target="$1"
else
  target="$prefix.$1"
fi
what=$(realpath "${CODEROOT:?}/_/nix/$target")
# hack: get the domain from the activation script. there does not seem
# to be a way to get it from nix-instantiate
where=$(rg -r '$2' -e '(domainname ")(.*)(")' "$what/activate")
nix copy --to ssh://root@"$where" "$what"
ssh root@"$where" "$what"/bin/switch-to-configuration switch
ssh root@"$where" nix-env --profile /nix/var/nix/profiles/system --set "$what"
echo "${GRN}good:  push:  $target${NC}"