{ config, pkgs, lib, ... }: { environment.systemPackages = [ pkgs.python3Packages.rns ]; environment.etc."reticulum-config".text = '' [reticulum] enable_transport = True share_instance = Yes [interfaces] [[Private Backbone]] type = BackboneInterface enabled = yes mode = gateway listen_ip = 0.0.0.0 port = 25515 network_name = reudynet passphrase = makbrojojo3 ''; users.users.reticulum = { isSystemUser = true; group = "reticulum"; description = "Reticulum daemon user"; home = "/var/lib/reticulum"; createHome = true; }; users.groups.reticulum = {}; systemd.services.rnsd = { description = "Reticulum Network Stack daemon"; wantedBy = [ "multi-user.target" ]; after = [ "network.target" ]; preStart = '' mkdir -p /var/lib/reticulum/.reticulum cp /etc/reticulum-config /var/lib/reticulum/.reticulum/config chmod 600 /var/lib/reticulum/.reticulum/config ''; serviceConfig = { Type = "simple"; User = "reticulum"; ExecStart = "${pkgs.python3Packages.rns}/bin/rnsd"; Restart = "on-failure"; RestartSec = "5s"; Environment = "HOME=/var/lib/reticulum"; StateDirectory = "reticulum"; }; }; networking.firewall.allowedTCPPorts = [ 25515 ]; }