A Holochain edgenode
One conductor on one machine, built from the nixos-holochain modules. Generated by nix flake init -t github:Sensorica/nixos-holochain#minimal.
Files
flake.nix— inputs and theedgenodeNixOS configuration.configuration.nix— the machine: hostname, operator account,services.holochain-edgenode.hardware-configuration.nix— a placeholder so the flake evaluates before the machine exists.
First steps
- Paste your SSH public key into
users.users.operator.openssh.authorizedKeys.keysinconfiguration.nix. - On the target machine, replace the placeholder hardware configuration with the real one. Nothing in the placeholder needs keeping: the boot loader is set in
configuration.nix.sudo nixos-generate-config --show-hardware-config > hardware-configuration.nix - Check it evaluates, then deploy:
nix flake check --no-build sudo nixos-rebuild switch --flake .#edgenode - Give
operatora password on the console (sudo passwd operator) if you want it to use sudo over SSH.
Firmware assumption
configuration.nix boots with systemd-boot, which is what the NixOS installer sets up on a UEFI machine with its ESP at /boot. On a legacy-BIOS machine replace the two boot.loader lines with GRUB (boot.loader.grub = { enable = true; device = "/dev/sda"; };). The #fleet template carries a GRUB layout that boots the same disk under both firmwares, built for Holoports.
Installing a hApp at boot
Uncomment the happs block in configuration.nix. Bundles are installed once, on first boot, by an idempotent installer service; networkSeed puts the app on its own network.
services.holochain-edgenode.happs.my-app = {
src = ./my-app.happ;
networkSeed = "my-network-2026";
};
What is running
systemctl status holochain-conductor.service
hc client call --port 4444 list-apps
The admin interface listens on 4444 and the app interface on 8888, both on loopback. The admin port is never opened in the firewall; openFirewall = true opens the app port and, with metricsExporter.enable, the node_exporter port.
More
- Full option reference:
docs/module-options.md - Observability, an HTTP gateway and a five-node fleet:
nix flake init -t github:Sensorica/nixos-holochain#fleet