There is a Nix shell defined in flake.nix
that can be accessed with nix develop
. This includes everything to build the client and the server.
The client is built with NodeJS 20.
A live development version can be started with npm run start:dev
in client/
.
Production JS can be built with nix build .#incredible-client
or npm run build
in client/
.
The server is built with GHC 9.6.4.
To build and run the webserver with Cabal, cabal run incredible-server
or with Nix, nix run .#incredible:exe:incredible-server
.
There is also an executable for generating puzzles, cabal run incredible-gen
or with Nix, nix run .#incredible:exe:incredible-gen
.
You can build a Nix VM with the frontend and backend built with the configuration in /config
with nixos-rebuild build-vm --flake .#incredible-vm
.
The VM can then be run with ./result/bin/run-nixos-vm
.