Keyboard shortcuts

Press ? to show this help

Press Esc to hide this help

Installation & Setup

This chapter shows the required setup and the standard project entry points.

Prerequisites

Hull requires Nix with Flakes enabled.

1. Install Nix

Install Nix by following https://nixos.org/download/.

2. Enable Flakes

Enable Flakes in the Nix configuration file.

The location of this file depends on your system:

  • On NixOS: /etc/nixos/configuration.nix.
  • On Linux (multi-user install) or macOS: ~/.config/nix/nix.conf (create the file and directory if they do not exist).

Add the following lines to your configuration file:

experimental-features = nix-command flakes

Restart the Nix daemon if required.

sudo systemctl restart nix-daemon

Verify the setup with:

nix flake --version

Creating a New Problem

Using an AI agent is the recommended way to create a Hull problem. Point an agent that supports Agent Skills to the Hull skill index. Ask it to use author-hull-problems. The skill archive is also available directly.

You can give the agent only an idea, a partial problem, an existing problem, or an existing Hull workspace. Ask it to complete omitted details. Ask it to initialize the basic template when needed. Ask it to implement and verify the problem in your workspace.

To create a problem manually, use the Hull template.

Run this command in the target directory:

nix flake init -t github:rindag-devs/hull#basic

Entering the Development Environment

Enter the development shell:

cd myProblem
nix develop

Inside this shell:

  • The hull command-line interface (CLI) is available in your PATH.
  • Compilers such as wasm32-wasi-wasip1-clang++ produce WASI Preview 1 source WASM modules for Hull’s Wasmtime-backed runner.
  • Environment variables are configured for integration with libraries such as cplib.

Run Hull commands inside this shell.