nix-configuration/config/nixpkgs/ssh.nix
2023-02-08 21:06:32 -06:00

73 lines
2.6 KiB
Nix

{ 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"; };
"k3s1" = server { hostname = "192.168.20.120"; };
"k3s2" = server { hostname = "192.168.20.121"; };
"k3s3" = server { hostname = "192.168.20.122"; };
"k3s4" = server { hostname = "192.168.20.123"; };
"k3s5" = server { hostname = "192.168.20.124"; };
"k3s6" = server { hostname = "192.168.20.125"; };
"k3s-rock1" = server { hostname = "192.168.20.20"; };
"k3s-rock2" = server { hostname = "192.168.20.111"; };
"k3s-rock3" = server { hostname = "192.168.20.112"; };
"k3s-rock4" = server { hostname = "192.168.20.113"; };
"k3s-rock5" = server { hostname = "192.168.20.114"; };
"k3s-quartza1" = server { hostname = "192.168.20.160"; };
"k3s-rockpro1" = server { hostname = "192.168.20.180"; };
};
};
}