snowfield/home-manager-modules/ssh-client/default.nix

58 lines
1.2 KiB
Nix

{ config, lib, ... }:
let
cfg = config.luj.programs.ssh-client;
in
with lib;
{
options.luj.programs.ssh-client = {
enable = mkEnableOption "Enable ssh client";
};
config = mkIf cfg.enable {
programs.ssh = {
enable = true;
matchBlocks =
lib.mapAttrs (n: v: {
hostname = "${n}.${lib.snowfield.${n}.tld}";
user = v.sshUser;
port = v.sshPort;
}) lib.snowfield
// {
sas = {
hostname = "sas.eleves.ens.fr";
user = "jmalka";
};
router = {
hostname = "vpn.saumon.network";
};
mails = {
hostname = "192.168.0.76";
proxyJump = "router";
};
proxy-telecom = {
hostname = "ssh.enst.fr";
user = "jmalka";
};
lame24 = {
hostname = "lame24.enst.fr";
user = "jmalka";
proxyJump = "proxy-telecom";
};
epyc = {
hostname = "epyc.infra.newtype.fr";
user = "luj";
proxyJump = "tower";
};
exps = {
hostname = "192.168.0.240";
proxyJump = "router";
};
};
};
};
}