blob: 035c4502aefe28cf6de0afe75e20259fbd453f57 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
|
function help() {
echo ""
echo "bizdev" | figlet | lolcat
echo ""
echo " bild compile code"
echo " deps manage dependencies with niv"
echo " ghci start ghci with correct options"
echo " help show this message"
echo " hero compile and start a dev server for herocomics.app"
echo " lint auto-lint all changed files"
echo " push send a namespace to the cloud"
echo " ship lint, bild, and push one (or all) namespace(s)"
}
function bild() {
runghc Biz.Bild $@
}
function deps() {
niv --sources-file $BIZ_ROOT/nix/sources.json $@
}
function ghci() {
ghci -i$BIZ_ROOT -ghci-script "$BIZ_ROOT/.ghci"
}
function hero() {
out="_bild/nix"
export HERO_PORT=3000
export HERO_NODE=$BIZ_ROOT/$out/Hero.Node/static
export HERO_KEEP=$BIZ_ROOT/_keep
export HERO_SKEY=$BIZ_ROOT/_skey
b="runghc Biz.Bild"
rg --files \
| entr -rcs \
"$b Hero.Host && $b Hero.Node && $out/Hero.Host/bin/mmc"
}
function lint() {
alias lint=$BIZ_ROOT/Biz/lint.py
}
# TODO: convert to haskell
function push() {
prefix=$(echo $PWD | sed -e "s|^$BIZ_ROOT/*||g" -e "s|/|.|g")
if [[ "$prefix" == "" ]]
then
target="$1"
else
target="$prefix.$1"
fi
what=$(realpath "$BIZ_ROOT/_bild/$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
}
# TODO: convert to haskell
function ship() {
set -ex
$BIZ_ROOT/Biz/lint.py
stuff=(${1})
if [[ ${#stuff[@]} -eq 0 ]]
then
stuff=(
Biz.Cloud
Biz.Dev
Que.Prod
Hero.Prod
)
fi
for thing in ${stuff[@]}
do
bild $thing
done
for thing in ${stuff[@]}
do
push $thing
done
}
help
|