{ config, osConfig, ... }: let certs = { uni = "${config.home.homeDirectory}/.ssh/tstraube@${osConfig.networking.hostName}"; personal = "${config.home.homeDirectory}/.ssh/till@${osConfig.networking.hostName}"; }; in { programs.ssh = { enable = true; enableDefaultConfig = false; matchBlocks = { "hrz login.server.uni-frankfurt.de" = { hostname = "login.server.uni-frankfurt.de"; user = "tstraube"; identityFile = certs.uni; }; geocom3 = { hostname = "141.2.194.220"; user = "tstraube"; identityFile = certs.uni; }; geocom2 = { hostname = "141.2.194.235"; user = "till"; identityFile = certs.uni; }; "gitlab gitlab.rz.uni-frankfurt.de" = { hostname = "gitlab.rz.uni-frankfurt.de"; user = "tstraube"; identityFile = certs.uni; }; "arielle (arielle|git).ktiu.net" = { hostname = "arielle.ktiu.net"; user = "till"; identityFile = certs.personal; }; "homer homer.fritz.box" = { hostname = "homer"; user = "till"; identityFile = certs.personal; }; "codeberg codeberg.org" = { hostname = "codeberg.org"; user = "git"; identityFile = certs.personal; }; "github github.com" = { hostname = "github.com"; user = "git"; identityFile = certs.personal; }; "mila" = { hostname = "mila"; user = "tstraube"; identityFile = certs.uni; }; }; }; }