Files
nixpkgs/nixos/modules/services/networking/rnsd.md
2026-07-24 17:48:55 +02:00

1.8 KiB

RNSD

Reticulum Network Stack daemon (rnsd).

This module manages rnsd as a systemd service and stores runtime state under /var/lib/rnsd.

Quickstart

A minimal setup:

{
  services.rnsd.enable = true;
}

With custom settings and a persistent identity:

{
  services.rnsd = {
    enable = true;

    identityFile = "<path-to-rnsd-identity-file>";

    settings = {
      reticulum = {
        enable_transport = true;
        share_instance = true;
        instance_name = "default";
        shared_instance_type = "unix";
      };
      interfaces = {
        auto = {
          type = "AutoInterface";
          enabled = true;
        };
      };
      openMulticastPorts = true;
    };
  };
}

At startup, settings provided through services.rnsd.settings and services.rnsd.identityFile are copied into the service state directory with restrictive permissions.

Hardware Access

If rnsd must access serial devices (for example /dev/ttyACM0), add the service user to additional groups:

{
  services.rnsd = {
    enable = true;
    extraGroups = [ "dialout" ];
  };
}

See services.rnsd.extraGroups for details.

Health Check

You can optionally wait for rnsd to become responsive during startup using rnstatus:

{
  services.rnsd = {
    enable = true;

    healthCheck = {
      enable = true;
      intervalSeconds = 2;
      timeoutSeconds = 120;
    };
  };
}

When enabled, startup fails if rnstatus does not succeed before services.rnsd.healthCheck.timeoutSeconds.