6b5729b98a9dc9b32c59b6167d2eb22df3810e2f
The access policy was a separate fleet declaration mapping each machine to a role and a client key, which the module looked up by hostname to derive what to authorize. Authorizing a key needs the key text and nothing else, so the per-machine names, the hostname lookup and the role existed only to reconstruct a grouping that two lists already are. The module now exposes those two lists and the set a machine admits, and a host declares what it draws from in its own file. The fleet declaration is gone, and with it a single-file directory at the repository root. `authorizedKeys` defaults to the workstation keys. An option of a list type is not mandatory the way a scalar one is: undeclared, it yields the empty list rather than failing, and a machine admitting no key is unreachable. The default makes the safe case the silent one. Verified to produce the same system as the design it replaces, and against the running machine in both directions.
Description
My NixOS configuration(s)
Languages
Nix
50.5%
TypeScript
48%
Shell
1.2%
Lua
0.3%