feat: add uConsole CM5 host with Reticulum mesh network support #9

Closed
Hermes wants to merge 4 commits from feat/uconsole-cm5-support into master
Collaborator

uConsole CM5 Configuration

Adds the uConsole CM5 portable terminal to the infra flake with full hardware support and mesh networking capabilities.

Module Chain (Fixed)

The uconsole-cm5 module requires nixos-raspberrypi for hardware.raspberry-pi options:

nixos-raspberrypi.nixosModules.raspberry-pi-5.base  # Provides hardware.raspberry-pi
nixos-uconsole.nixosModules.uconsole-cm5            # uConsole hardware support

New: Reticulum Network Stack

Built from PyPI for off-grid mesh networking:

  • reticulum: The RNS stack (rnsd, rnsh)
  • nomadnet: Reticulum browser/messaging client
  • lxmf: Lightweight Mesh Exchange Protocol
  • sidechannel: Visual UI for Reticulum

Full Package List

Base: emacs-pgtk, git, ripgrep, fd, htop, tmux, neovim

HAM Radio: js8call, wsjtx, fldigi, pat, direwolf, chirp, hamlib, trustedqsl

SDR/RF: sdrpp, gqrx, rtl-sdr, inspectrum, soapysdr-with-plugins

Mesh/LoRa: reticulum, nomadnet, lxmf, sidechannel

Security: nmap, metasploit, aircrack-ng, kismet, bettercap, wireshark, burpsuite, hashcat, john, sqlmap

GPS/Maps: foxtrotgps, viking, gpsbabel

Verified

nix eval .#nixosConfigurations.uConsole.config.system.build.toplevel ✓

Deployment

After flashing uConsole eMMC and first boot:

nixos-rebuild switch --flake .#uConsole

Closes: #6 (replaced with correct module chain)

## uConsole CM5 Configuration Adds the uConsole CM5 portable terminal to the infra flake with full hardware support and mesh networking capabilities. ## Module Chain (Fixed) The uconsole-cm5 module requires nixos-raspberrypi for hardware.raspberry-pi options: ```nix nixos-raspberrypi.nixosModules.raspberry-pi-5.base # Provides hardware.raspberry-pi nixos-uconsole.nixosModules.uconsole-cm5 # uConsole hardware support ``` ## New: Reticulum Network Stack Built from PyPI for off-grid mesh networking: - **reticulum**: The RNS stack (rnsd, rnsh) - **nomadnet**: Reticulum browser/messaging client - **lxmf**: Lightweight Mesh Exchange Protocol - **sidechannel**: Visual UI for Reticulum ## Full Package List **Base:** emacs-pgtk, git, ripgrep, fd, htop, tmux, neovim **HAM Radio:** js8call, wsjtx, fldigi, pat, direwolf, chirp, hamlib, trustedqsl **SDR/RF:** sdrpp, gqrx, rtl-sdr, inspectrum, soapysdr-with-plugins **Mesh/LoRa:** reticulum, nomadnet, lxmf, sidechannel **Security:** nmap, metasploit, aircrack-ng, kismet, bettercap, wireshark, burpsuite, hashcat, john, sqlmap **GPS/Maps:** foxtrotgps, viking, gpsbabel ## Verified ```bash nix eval .#nixosConfigurations.uConsole.config.system.build.toplevel ✓ ``` ## Deployment After flashing uConsole eMMC and first boot: ```bash nixos-rebuild switch --flake .#uConsole ``` Closes: #6 (replaced with correct module chain)
Hermes added 2 commits 2026-04-29 20:14:06 +00:00
- Uses nixos-uconsole.nixosModules.uconsole-cm5 with nixos-raspberrypi
- Module chain: raspberry-pi-5.base + uconsole-cm5
- Includes HAM radio, SDR, GPS, and security tools
- Packages adjusted for latest nixpkgs (reticulum/marble not available)
Hermes added 1 commit 2026-04-29 20:22:52 +00:00
- 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.
Hermes changed title from Add uConsole CM5 host to feat: add uConsole CM5 host with Reticulum mesh network support 2026-04-29 20:27:16 +00:00
Hermes added 1 commit 2026-04-29 20:42:08 +00:00
- reticulum-0.7.0: sha256-Yku40tRpQh22m4HX142cU/VevHAEfgHZicKFOyp1U/o=
- nomadnet-0.5.2: sha256-WP4IrlKLzFP0U8/00mOo8D9Jp2ubr6Q0peKbw401Nhw=
- lxmf-0.5.1: sha256-2zwTgG283qx1Bt6TKaGJtcwPr2tCNOOIASu8RXC/QLE=
- sidechannel: removed (not available on PyPI)

Cross-compilation note: Full build requires aarch64 hardware or QEMU binfmt setup.
Author
Collaborator

Cross-Compilation Dependency

To build this configuration from the x86_64 Hermes container, QEMU aarch64 emulation is required.

Tracking issue: #15

Required PRs (compose repo):

Once the compose PRs are merged and the Hermes container is rebuilt, cross-compilation will be enabled.

## Cross-Compilation Dependency To build this configuration from the x86_64 Hermes container, QEMU aarch64 emulation is required. **Tracking issue:** https://code.lazyworkhorse.net/gortium/infra/issues/15 **Required PRs (compose repo):** - #10: qemu-user-static, binfmt-support, qemu-user-binfmt - https://code.lazyworkhorse.net/gortium/compose/pulls/10 Once the compose PRs are merged and the Hermes container is rebuilt, cross-compilation will be enabled.
gortium self-assigned this 2026-04-29 23:43:40 +00:00
Hermes closed this pull request 2026-04-29 23:55:06 +00:00

Pull request closed

Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: gortium/infra#9
No description provided.