Gonimo - GOod NIght MOnitor
Please join us on Gitter, if you have any questions.
We will create more documentation as things mature. For frontend development have a look at the Gonimo Architecture, which describes how frontend code is supposed to be built (WIP).
Clone needed repos
First, we are going to need a fork of the reflex-platform. Clone it into a directory of your choice:
$ git clone -b gonimo firstname.lastname@example.org:eskimor/reflex-platform.git
Make sure you have the
gonimo branch, as specified in the above command.
Next we need to clone the Gonimo source code:
$ git clone -b develop email@example.com:gonimo/gonimo.git
Make sure you have the
develop branch, as specified in the above command.
Now we are ready to rumble.
Setting up nix and the nix binary cache
For avoiding long build times, I'd strongly recommend to add the following
lines to your
/etc/nix/nix.conf (create the file if it does not exist):
binary-caches = https://cache.nixos.org/ https://hydra.nixos.org/ https://nixcache.reflex-frp.org trusted-binary-caches = https://cache.nixos.org/ https://hydra.nixos.org/ https://nixcache.reflex-frp.org binary-cache-public-keys = cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY= hydra.nixos.org-1:CNHJZBh9K4tP3EKF6FkkgeVYsS3ohTl+oS0Qa8bezVs= ryantrinkle.com-1:JJiAKaRv9mWgpVAz8dwewnZe0AzzEAzPkagE9SP5NWI=
Now change to the checked out Gonimo repository.
$ ./cabal new-build gonimo-back
Please note the
./ before cabal, we are using a wrapper script around cabal which sets up a nix-shell.
Save the path of the resulting executable, which is printed at the end. We'll need it for executing it later on. (cabal new-run was broken, at the time of writing).
Warp Build of the Frontend
If you want quick builds, use this. You can build the warp based development frontend by typing:
$ ./cabal new-build gonimo-front-warp
Same as for the backend, save the path that is printed at the end.
GHCJS Build of the Frontend
The ghcjs version is built with:
$ ./cabal-ghcjs new-build gonimo-front-ghcjs
Once you've built the backend and either the warp frontend or the ghcjs one, we are ready for running Gonimo.
First start the backend, by executing the previously built executable. It has to be executed from the
gonimo directory. Then either start the warp frontend - in this case, you can connect to your running
Gonimo by visiting:
Or connect directly to the backend for accessing the ghcjs build: