- New NixOS host 'uConsole' for ClockworkPi CM5 portable terminal - flake.nix: add nixos-uconsole and nixos-raspberrypi inputs - Imports: nixos-uconsole.nixosModules.uconsole-cm5, nixos-raspberrypi.nixosModules.raspberry-pi-5.base - Full package list: base tools, HAM radio, SDR/RF, mesh/LoRa, security tools, GPS/maps - Reticulum stack (rns 1.2.9, lxmf 0.9.8, nomadnet 1.1.1) built from PyPI via overlays/reticulum.nix - systemd services: rnsd (Reticulum daemon), kismet (Wi-Fi IDS) - Kernel modules for SDR (rtl-sdr, dvb) and USB WiFi - Follows existing host config conventions (cyt-pi as template)
78 lines
2.5 KiB
Nix
78 lines
2.5 KiB
Nix
final: prev: let
|
|
python3 = final.python3;
|
|
pyPkgs = python3.pkgs;
|
|
in {
|
|
reticulumStack = python3.pkgs.buildPythonApplication rec {
|
|
pname = "reticulum";
|
|
version = "1.2.9";
|
|
src = pyPkgs.fetchPypi {
|
|
pname = "rns";
|
|
inherit version;
|
|
sha256 = "554814231c237b9caacf8df669312e57dd7d3f84b6d4810125087d1a79a75d75";
|
|
};
|
|
propagatedBuildInputs = with pyPkgs; [ cryptography pyserial ];
|
|
doCheck = false;
|
|
pythonImportsCheck = [ "RNS" ];
|
|
meta = with final.lib; {
|
|
description = "Self-configuring, encrypted and resilient mesh networking stack";
|
|
homepage = "https://reticulum.network/";
|
|
license = licenses.mit;
|
|
platforms = platforms.linux;
|
|
};
|
|
};
|
|
|
|
lxmf = python3.pkgs.buildPythonApplication rec {
|
|
pname = "lxmf";
|
|
version = "0.9.8";
|
|
src = pyPkgs.fetchPypi {
|
|
inherit pname version;
|
|
sha256 = "30f39f3a975a049c12ee2cfceb3261d24cb5adec881c6821f7354464b3f3650c";
|
|
};
|
|
propagatedBuildInputs = [ final.reticulumStack ];
|
|
doCheck = false;
|
|
pythonImportsCheck = [ "LXMF" ];
|
|
meta = with final.lib; {
|
|
description = "Lightweight Extensible Message Format for Reticulum";
|
|
homepage = "https://github.com/markqvist/lxmf";
|
|
license = licenses.mit;
|
|
platforms = platforms.linux;
|
|
};
|
|
};
|
|
|
|
nomadnet = python3.pkgs.buildPythonApplication rec {
|
|
pname = "nomadnet";
|
|
version = "1.1.1";
|
|
src = pyPkgs.fetchPypi {
|
|
inherit pname version;
|
|
sha256 = "fa13b64a10e75b705a58024815ab72451700aa726af96d415ba99dec28dfc40a";
|
|
};
|
|
propagatedBuildInputs = with pyPkgs; [ final.reticulumStack final.lxmf urwid qrcode ];
|
|
doCheck = false;
|
|
pythonImportsCheck = [ "nomadnet" ];
|
|
meta = with final.lib; {
|
|
description = "Nomad Network — resilient mesh communications platform";
|
|
homepage = "https://github.com/markqvist/NomadNet";
|
|
license = licenses.mit;
|
|
platforms = platforms.linux;
|
|
};
|
|
};
|
|
|
|
rnsh = python3.pkgs.buildPythonApplication rec {
|
|
pname = "rnsh";
|
|
version = "0.1.7";
|
|
src = pyPkgs.fetchPypi {
|
|
inherit pname version;
|
|
sha256 = "9cb72f25abb1c6d300f8014b264184ff78f592fe88e36094938012990b797c93";
|
|
};
|
|
propagatedBuildInputs = [ final.reticulumStack ];
|
|
doCheck = false;
|
|
pythonImportsCheck = [ "rnsh" ];
|
|
meta = with final.lib; {
|
|
description = "Remote shell over Reticulum";
|
|
homepage = "https://github.com/acehoss/rnsh";
|
|
license = licenses.mit;
|
|
platforms = platforms.linux;
|
|
};
|
|
};
|
|
}
|