summaryrefslogtreecommitdiff
path: root/nix/build.nix
diff options
context:
space:
mode:
authorBen Sima <ben@bsima.me>2020-07-25 14:49:11 -0700
committerBen Sima <ben@bsima.me>2020-07-25 14:49:11 -0700
commit6a6aa57afe94f8ffee3a648ca66aa16099714b94 (patch)
treeed4cee7997d9bf72e286d541abf380671ad785ce /nix/build.nix
parent3acaa1034b8d9da69acdc52d1fb8e03f50223488 (diff)
bild: port to haskell
Diffstat (limited to 'nix/build.nix')
-rw-r--r--nix/build.nix44
1 files changed, 37 insertions, 7 deletions
diff --git a/nix/build.nix b/nix/build.nix
index 7335159..6a12cf5 100644
--- a/nix/build.nix
+++ b/nix/build.nix
@@ -107,21 +107,51 @@ in {
nixpkgs.python37Packages.pylint
nixpkgs.wemux
];
+ EXAMPLE = "hi";
shellHook = ''
- echo "bizdev" | ${nixpkgs.figlet}/bin/figlet | ${nixpkgs.lolcat}/bin/lolcat
- echo "(be sure to run 'nix-shell' to get the build functions)"
- echo "-------------------------------------------------------"
- echo ""
+ function help() {
+ echo ""
+ echo "bizdev" | ${nixpkgs.figlet}/bin/figlet | ${nixpkgs.lolcat}/bin/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 TODO: convert to haskell"
+ echo " ./ship TODO: convert to haskell"
+ }
- function repl() {
- ghci -i$BIZ_ROOT -ghci-script "$BIZ_ROOT/.ghci"
+ function bild() {
+ runghc Biz.Bild $@
}
function deps() {
niv --sources-file $BIZ_ROOT/nix/sources.json $@
}
- alias lint=$BIZ_ROOT/Biz/lint.py
+ 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
+ }
+
+ help
'';
};