Skip to content


Repository files navigation



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.