# /nix/store//etc/ssh/ssh_config & /nix/store//etc/ssh/authorized_keys { systemConfig, systems, otherSystems, common, ... }: with builtins; let domain = "dns.${common.domain}"; allSystems = otherSystems ++ systems; in { programs.ssh.knownHosts = listToAttrs ( map (system: { name = system.hostName; value = { extraHostNames = [ "${system.hostName}.${domain}" ]; publicKey = system.ssh.publicKey; }; }) allSystems ); users.users.${systemConfig.username}.openssh.authorizedKeys.keys = ( map (system: system.ssh.publicKey) allSystems ); }