fundamentum-edge-proto 1.6.0

Bindings to Fundamentum Edge Daemon's gRPC API
Documentation
# Developer environment

## Linux

### Using `nix`

In case you want to use `nix`, it is possible to get all of the above system
dependencies automatically installed in your *developer environment* sandbox
without polluting your system.

 1. [Install `nix`]https://nixos.org/download.
 2. Enable flakes support either [temporarily][tempflakes] or [permanently][permflakes].
 3. Invoke `$ nix develop` from a terminal, at the root of this repository.

     -  All required commands should now be available from your terminal.
     -  *Pro tip*: Launch your editor from this terminal session (e.g.: `$
        code`). This will ensure that you editor and all of its extension have
        access to the required tools.
     -  *Pro tip*: It is even possible to skip the `nix develop` command if you
        [install `direnv`]https://direnv.net/#getting-started and 
        [extend it with `nix-direnv`]https://github.com/nix-community/nix-direnv#installation.
        We will however leave this as an exercise for the reader.

[tempflakes]: https://nixos.wiki/wiki/Flakes#Enable_flakes_temporarily
[permflakes]: https://nixos.wiki/wiki/Flakes#Enable_flakes_permanently_in_NixOS


### Manual install

Manually installing the system dependencies is not recommended as the package
versions you install might be incompatible with this project. Using the Nix
package manager as described above ensures that the proper version of each
required system dependencies is made available during your development process.
You'll thus avoid the classical "but it works on my machine" type of issue.

If you really want / need to
do that, you can manually install the software dependencies listed in
[`flake.nix`][nix-flake] using your distro package manager.


[nix-flake]: ../flake.nix