# Prymn

[![status-badge](https://ci.nikos.gg/api/badges/nikos/prymn/status.svg)](https://ci.nikos.gg/nikos/prymn)

## Development

### Nix

The best way to setup your development environment is with
[Nix](https://nixos.org/download). As a pre-requisite, you need to install Nix
and enable the experimental features **nix-command** and **flakes**.

After installation,

- Clone the repo: `git clone git@git.nikos.gg:prymn/prymn.git && cd prymn`
- Run `nix develop` or `nix develop -c $SHELL` to use your shell
- Optionally, install [rust-analyzer](https://github.com/rust-lang/rust-analyzer/)
    - With nix: `nix profile install nixpkgs#rust-analyzer`

### Manual

Alternatively, you can install all the dependencies manually. Here's a (maybe
incomplete) list of packages to install:

- gcc
- inotify-tools
- Elixir (v1.16)
- Erlang (OTP 26)
- protobuf
- protoc-gen-elixir (via `mix escript.install hex protobuf`)
- Rust stable toolchain (v1.72)