Installing Nemo
Nemo can be obtained as a precompiled binary, as a nix flake or built from source. Note that precompiled binaries might not be available for all platforms.
Obtaining binaries
The Nemo Rule Engine is available as a precompiled binary for Windows, Linux, and macOS. You can download the latest version from the Nemo releases page.
The linux version depends on libssl
and libcrypto
, which are usually installed by default on most distributions
(for example via the libssl3
package on Ubuntu or openssl
on Fedora).
Using the Nix flake
Nemo is also available as a package for the nix package manager. This allows several different ways of using it. For example, you can directly run Nemo without installing it:
Instead of running it directly, you can also just start a shell that has nmo
in its path (again without installing it):
The nix flake also provides several other outputs, among it a package allowing you to add Nemo to, e.g., a system configuration or a home-manager. First, add Nemo a as a flake input:
Then, you can, e.g., add Nemo to a system configuration to have it installed permanently, where system
is the appropriate system type, e.g., x86_64-linux
.
There is also an overlay that can be applied to a nixpkgs
instance:
We also provide the Python and Javascript bindings as flake outputs (packages.*.nemo-python
, packages.*.nemo-wasm
). There are even pypthon
and nodejs
packages that have the respective bindings available, so you can, e.g., run a python
interpreter with Nemo bindings by executing
and, similarly, a nodejs
interpreter with Nemo bindings by executing
As with the main Nemo package, you can also start a shell with these interpreters in the path or add them to, e.g., a system configuration.
Lastly, for development on Nemo, the flake provides a devShell that has an appropriate rust toolchain and rust-analyzer
in its path. From the source directory, run:
Building from source
To build your own version from source, you need to have an up-to-date installation of (nightly) Rust. You can ensure you are on the latest version by running:
Moreover, Nemo requires the following dependency on Linux/Unix systems:
- OpenSSL development packages (e.g.,
libssl-dev
on Ubuntu oropenssl-devel
on Fedora)
Download the source code (from a release or this repository) and run
This will create the command-line client nmo in the directory ./target/release/
.