summaryrefslogtreecommitdiff
path: root/Biz/Ide/push
blob: a0109e81eeee7fd20c9234dd26fc5592c2b45184 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#!/usr/bin/env bash
# TODO: 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=$(echo $PWD | sed -e "s|^$BIZ_ROOT/*||g")
if [[ "$prefix" == "" ]]
then
  target="$1"
else
  target="$prefix.$1"
fi
what=$(realpath "$BIZ_ROOT/_/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
printf "${GRN}good:  push:  $target${NC}"