Building & Packaging

Requirements

ISM is only tested and built in GNU/Linux environments. The only actively tested arch is x86_64, but other targets may also work. There is nothing blocking, e.g., aarch64 however less common targets, like POWER, might have issues.

We inherit isalink's requirement of AVX2 and CLMUL due to using simdjson-go under the hood.

ISM can be built with nix (strongly recommended) or by installing the dependencies directly:

Building

The build process is only tested for GNU/Linux on x86_64 with machines that have AVX 2 and CLMUL. The recommended way to build ism is to use nix with flakes.

To build the static binaries: nix develop -c make build

If you don't want to use nix you can also build it directly. Please note that this is not actively tested, it requires:

To build the static binaries without nix: make build

Deployment

We only support deployment on NixOS 24.05 (stable version). At the moment a NixOS module for ISM is available as nixosModules.ism in the outputs of this flake.