Wire the offline-first todo app (github: local /home/alex/code/todo) into
manatee, following the app-module convention:
- flake input `todo` (local git checkout for now; gitea URL commented) with
nixpkgs following.
- hosts/manatee/modules/todo: mod.todo option importing the app's NixOS module;
runs on 127.0.0.1:8091, secureCookies, token from agenix; the host owns the
nginx vhost (todo.ppp.pm, forceSSL + useACMEHost) and homepage card.
- mod.todo.enable = true.
- certs: todo.ppp.pm DNS-01 cert via hetzner.
- home-assistant DNS updater: add `todo` to the Hetzner subdomain list.
- secrets: todo-token.age (encrypted access token) + recipients in secrets.nix.
Add a start-limit (5 restarts / 5 min) to the romm, romm-db, romm-redis
and homeassistant podman services so a failing container enters a
`failed` state instead of retrying forever. A slow crash-loop (~5s per
attempt) stays under systemd's default 5-starts-per-10s limit, so a
longer window is needed to catch it.
Add a homepage module that generates a static landing page served on
port 9999 via nginx. Each service module registers itself via the shared
mod.homepage.services option, so enabling a module automatically adds
it to the page.