diff --git a/lib/fudo/ssh.nix b/lib/fudo/ssh.nix index 11f6f55..ba40724 100644 --- a/lib/fudo/ssh.nix +++ b/lib/fudo/ssh.nix @@ -27,6 +27,8 @@ let ''; }; + read-lines = filename: splitString "\n" (fileContents filename); + host-cfg = config.fudo.hosts.${hostname}; in { @@ -42,12 +44,12 @@ in { host-keypairs); hosts = mapAttrs (hostname: keypairs: { - ssh-pubkeys = map (keypair: keypair.public-key) keypairs; + ssh-pubkeys = concatMap (keypair: keypair.public-key) keypairs; ssh-fingerprints = map (keypair: let fingerprint-derivation = dns-sshfp-records hostname keypair; filename = sshfp-filename hostname keypair; - in builtins.readFile "${fingerprint-derivation}/${filename}") keypairs; + in read-lines "${fingerprint-derivation}/${filename}") keypairs; }) config.fudo.secrets.files.host-ssh-keypairs;