Operand

one point!? Oh.

gram: relay

> ./README.md

Lenses
(coming soon!)


# Relay

Looking ahead, `relay` is a basis for Operand Company's apps, running:

* on-line, using [deno].
* on [Android] and [iOS], using [capacitor].
* on Linux, Windows, and Apple OS X, based on [tauri].

[deno]: https://deno.com
[capacitor]: https://capacitorjs.com
[tauri]: https://tauri.app

Relay uses [nix] to manage dependencies,
and [AtomVM] for peer communication.

[nix]: https://nixos.org
[AtomVM]: https://atomvm.org

## Hook up Nix

[Begin here.](https://nixos.org/download/)

You'll likely need a small alias for Nix dev shells,
Using [Nushell](https://nushell.sh):

```nushell
mkdir ~/.config/nix
"experimental-features = nix-command flakes" | save -a ~/.config/nix/nix.conf

def nd --wrapped [...command: string] {
  if $command == [] { nix develop
  } else { nix develop --command ...($command) }
}
```

or using [Bash](https://www.gnu.org/software/bash/):

```bash
mkdir -p ~/.config/nix
echo "experimental-features = nix-command flakes" >> ~/.config/nix/nix.conf
alias nd='nix develop --command '
```

## Run locally

Web, @ <http://127.0.0.1:1420>:

```
nd deno task dev
```

Local app:

```
nd deno task tauri dev
```

Mobile app:

```
# soon, I'm sure.
```