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