Draft: Factor out the configuration necessary for a monitored node into its own module.
This includes the host-based metrics collector, and the VPN client setup (including key deployment).
This is almost a pure refactoring. It change the order of some nixos module imports, which causes the order of environment.systemPackages
. I have verified that if I remove the offending environment.systemPackages
definitions (or force them to be combined in a specific order), the generated derivations are the identical, and I believe the output is the same without doing that (but this is a bit hard to verify, as the system path derivation hash[1] is embedded in a bunch of places, so diffs are hard to read).
[1] the hash depends only on the inputs, so changes when the order changes
Edited by Florian Sesser