This replaces the experimental flake-based Nix configuration with a classic Nix setup (`default.nix`, `shell.nix`, `module.nix`) per user request. Changes include: - Removing `flake.nix`. - Creating `default.nix` to package the python bridge. - Creating `shell.nix` for a reproducible development environment. - Creating `module.nix` for the NixOS systemd service. - The `module.nix` now uses systemd's `LoadCredential=` to safely expose the XMPP password to the bridge daemon running as a dynamic user, resolving permission issues. - `README.md` instructions have been fully rewritten to focus on classic Nix usage, answering user questions on secret management and repository cloning structure. Co-authored-by: jamessucla <2191476+jamessucla@users.noreply.github.com>
12 lines
236 B
Nix
12 lines
236 B
Nix
{ pkgs ? import <nixpkgs> {} }:
|
|
|
|
let
|
|
pythonEnv = pkgs.python3.withPackages (ps: with ps; [
|
|
meshtastic
|
|
slixmpp
|
|
]);
|
|
in
|
|
pkgs.writeScriptBin "sovereign-bridge" ''
|
|
#!${pythonEnv}/bin/python
|
|
${builtins.readFile ./bridge.py}
|
|
'' |