A Nix flake for the Pint intent language.
Supports Linux & macOS.
-
Install Nix, easiest with the Determinate Systems installer.
-
Use Nix to enter a shell with the
pint
,pintc
andpintfmt
CLIs:nix shell github:essential-contributions/pint.nix
By default, this installs
pintc
with solving capabilities (via thepintWithSolver
package) by binding toscip
. To buildpintc
purely with constraint checking capabilities, you can use:nix shell github:essential-contributions/pint.nix#pint
-
Check that it works with:
pint -h
If you're working on the pint repo itself, the following command can be useful. It allows you to enter a development shell with all of the necessary dependencies and environment variables to build pint with solving enabled and run the tests. This includes, rust, scip, clang (for bindgen), etc.
nix develop github:essential-contributions/pint.nix
Now when you run cargo build
or cargo nextest run
, bindgen will bind to the
scip libraries installed by Nix (rather than downloading them at build time). We
can check this works with the following:
$ cd /path/to/pint
$ cargo nextest run