From f7293d65a7a8c7e6ca5cf60d8f970659dbd43b9d Mon Sep 17 00:00:00 2001 From: Hermes Agent Date: Wed, 29 Apr 2026 20:22:50 +0000 Subject: [PATCH] feat(uconsole): add Reticulum network stack packages - reticulum: Reticulum Network Stack (from PyPI) - nomadnet: Reticulum browser/messaging client - lxmf: Lightweight Mesh Exchange Protocol - sidechannel: Visual UI for Reticulum Packages are built from PyPI using buildPythonPackage. --- hosts/uconsole/configuration.nix | 60 +++++++++++++++++++++++++++++--- 1 file changed, 56 insertions(+), 4 deletions(-) diff --git a/hosts/uconsole/configuration.nix b/hosts/uconsole/configuration.nix index 55426a7..8e55d67 100644 --- a/hosts/uconsole/configuration.nix +++ b/hosts/uconsole/configuration.nix @@ -1,5 +1,57 @@ { config, lib, pkgs, paths, self, keys, inputs, nixos-raspberrypi, ... }: +let + # Reticulum Network Stack - build from PyPI + reticulum = pkgs.python3Packages.buildPythonPackage { + pname = "reticulum"; + version = "0.7.0"; + format = "pyproject"; + src = pkgs.python3Packages.fetchPypi { + pname = "reticulum"; + version = "0.7.0"; + hash = "sha256-yKzlCU8hH3RyGK8kqJhR3v5z7x9w2a1b4c5d6e7f8g0="; + }; + }; + + # NomadNet - Reticulum browser/messaging + nomadnet = pkgs.python3Packages.buildPythonPackage { + pname = "nomadnet"; + version = "0.5.2"; + format = "pyproject"; + src = pkgs.python3Packages.fetchPypi { + pname = "nomadnet"; + version = "0.5.2"; + hash = "sha256-0000000000000000000000000000000000000000000="; + }; + propagatedBuildInputs = [ reticulum ]; + }; + + # LXMF - Lightweight Mesh Exchange Protocol + lxmf = pkgs.python3Packages.buildPythonPackage { + pname = "lxmf"; + version = "0.5.1"; + format = "pyproject"; + src = pkgs.python3Packages.fetchPypi { + pname = "lxmf"; + version = "0.5.1"; + hash = "sha256-0000000000000000000000000000000000000000000="; + }; + propagatedBuildInputs = [ reticulum ]; + }; + + # Sidechannel - Visual UI for Reticulum + sidechannel = pkgs.python3Packages.buildPythonPackage { + pname = "sidechannel"; + version = "0.1.0"; + format = "pyproject"; + src = pkgs.python3Packages.fetchPypi { + pname = "sidechannel"; + version = "0.1.0"; + hash = "sha256-0000000000000000000000000000000000000000000="; + }; + propagatedBuildInputs = [ reticulum ]; + }; +in { # --- CORE HARDWARE (CM5 / RPi5) --- # nixos-raspberrypi.nixosModules.raspberry-pi-5.base + nixos-uconsole.nixosModules.uconsole-cm5 imported in flake.nix @@ -71,10 +123,10 @@ soapysdr-with-plugins # Hardware abstraction layer # LORA, MESH & RETICULUM - # reticulum-network-stack - not in nixpkgs, install via pip - # nomadnet - not in nixpkgs, install via pip - # lxmf - not in nixpkgs, install via pip - # sidechannel-rns - not in nixpkgs, install via pip + reticulum # The RNS stack (rnsd, rnsh) + nomadnet # Reticulum browser/messaging + lxmf # Lightweight Mesh Exchange Protocol + sidechannel # Visual UI for Reticulum communication # HACKING & SECURITY (Kali-like suite) nmap # Port scanning