{ config, pkgs, ... }: let server = ({ hostname, user ? "asonix", port ? 22, proxyJump ? true }: { hostname = hostname; user = user; identitiesOnly = true; identityFile = "/home/asonix/.ssh/kube-rsa"; port = port; proxyJump = if proxyJump then "router" else null; }); in { programs.ssh = { enable = true; matchBlocks = { "github.com" = { hostname = "github.com"; user = "git"; identitiesOnly = true; identityFile = "/home/asonix/.ssh/github"; port = 22; }; "gitlab.com" = { hostname = "gitlab.com"; user = "git"; identitiesOnly = true; identityFile = "/home/asonix/.ssh/gitlab"; port = 22; }; "git.asonix.dog" = { hostname = "git.asonix.dog"; user = "git"; identitiesOnly = true; identityFile = "/home/asonix/.ssh/gitea-key"; port = 22; }; "router" = server { hostname = "ssh.asonix.dog"; port = 3128; proxyJump = false; }; "mc1" = server { hostname = "192.168.20.100"; }; "build2" = server { hostname = "192.168.20.99"; }; "bluestar" = server { hostname = "192.168.20.36"; }; "nextcloud" = server { hostname = "192.168.20.21"; }; "nextcloud2" = server { hostname = "192.168.20.28"; }; "lionheart" = server { hostname = "192.168.5.6"; }; "redtail" = server { hostname = "192.168.20.23"; }; "redtail2" = server { hostname = "192.168.20.24"; }; "whitestorm" = server { hostname = "192.168.20.11"; }; "whitestorm2" = server { hostname = "192.168.20.26"; }; "gluster2" = server { hostname = "192.168.20.19"; user = "kube"; }; "gluster3" = server { hostname = "192.168.20.25"; }; "gluster4" = server { hostname = "192.168.20.33"; }; "k8s1" = server { hostname = "192.168.20.13"; user = "ubuntu"; }; "k8s2" = server { hostname = "192.168.20.16"; user = "ubuntu"; }; "k8s3" = server { hostname = "192.168.20.14"; user = "ubuntu"; }; "k8s4" = server { hostname = "192.168.20.18"; user = "ubuntu"; }; "k8s5" = server { hostname = "192.168.20.15"; user = "ubuntu"; }; "k8s6" = server { hostname = "192.168.20.20"; }; "k8s7" = server { hostname = "192.168.20.10"; }; "k8s8" = server { hostname = "192.168.20.27"; }; "k8s9" = server { hostname = "192.168.20.22"; }; "k8s10" = server { hostname = "192.168.20.34"; }; "q64b1" = server { hostname = "192.168.20.116"; }; }; }; }