Nix builds

While it is possible to install dependencies with platform specific tools (such as apt on Debian, etc), it is far more recommended to use nix to build instead.

While the actual build isn't handled by nix (yet), it makes aquiring the dependencies a lot easier. Follow the instructions on how to install nix on your platform here

Fetch dependencies

The shell.nix in the repo root defines dependencies. Fetch them into your environment by running nix-shell in the repo root (this might take a while).

Afterwards you can simple run cargo build --bin qaul-hubd --release to build a new hubd binary.

The output artefact will be written to ./target/release/qaul-hubd.

Lorri & direnv

You can enable automatic environment loading when you enter the repository, by configuring lorri and direnv on your system.

 ❤ (uwu) ~/p/code> cd
direnv: loading ~/projects/code/
direnv: export +AR +AR_FOR_TARGET +AS +AS_FOR_TARGET +CC
        // ... snip ...
 ❤ (uwu) ~/p/c/> cargo build                           lorri-keep-env-hack-qaul