26 lines
557 B
Nix
26 lines
557 B
Nix
{
|
|
outputs,
|
|
lib,
|
|
...
|
|
}:
|
|
let
|
|
nixosConfigs = builtins.attrNames outputs.nixosConfigurations;
|
|
homeConfigs = map (n: lib.last (lib.splitString "@" n)) (
|
|
builtins.attrNames outputs.homeConfigurations
|
|
);
|
|
allHosts = lib.unique (homeConfigs ++ nixosConfigs);
|
|
hostsWithKeys = lib.filter (
|
|
hostname: builtins.pathExists ../../hosts/${hostname}/ssh_host.pub
|
|
) allHosts;
|
|
in
|
|
{
|
|
programs.ssh = {
|
|
enable = true;
|
|
enableDefaultConfig = false;
|
|
|
|
matchBlocks = lib.genAttrs hostsWithKeys (hostname: {
|
|
host = hostname;
|
|
});
|
|
};
|
|
}
|