diff --git a/flake.nix b/flake.nix index f17a0cd..b0f33f5 100644 --- a/flake.nix +++ b/flake.nix @@ -154,6 +154,7 @@ theme libHm systemConfig + systems ; }; users.${username} = import ./hosts/${hostName}/home-manager; diff --git a/shared/base/home-manager/ssh.nix b/shared/base/home-manager/ssh.nix index 742b3b3..babe10f 100644 --- a/shared/base/home-manager/ssh.nix +++ b/shared/base/home-manager/ssh.nix @@ -5,23 +5,25 @@ common, ... }: +with builtins; { programs.ssh = { enable = true; - matchBlocks = - let - block = hostname: { - port = 22; - user = systemConfig.username; - hostname = "${hostname}.dns.${common.domain}"; - }; - in - { - desktop = block "desktop"; - homelab = block "admin"; # TODO rename to homelab - pi4 = block "pi4"; - thinkpad = block "thinkpad"; - }; + matchBlocks = listToAttrs ( + map (system: { + name = system.hostName; + value = + let + # TODO rename desktop to homelab + hostName = if system.hostName == "homelab" then "admin" else system.hostName; + in + { + port = 22; + user = systemConfig.username; + hostname = "${hostName}.dns.${common.domain}"; + }; + }) systems + ); }; } diff --git a/shared/desktop/modules/security/ssh.nix b/shared/desktop/modules/security/ssh.nix index a025acb..2762f05 100644 --- a/shared/desktop/modules/security/ssh.nix +++ b/shared/desktop/modules/security/ssh.nix @@ -14,7 +14,9 @@ in map (system: { name = system.hostName; value = { - extraHostNames = [ "${system.hostName}.${domain}" ]; + extraHostNames = [ + "${system.hostName}.${domain}" + ]; publicKey = system.ssh.publicKey; }; }) systems