38 lines
707 B
Nix
38 lines
707 B
Nix
|
{
|
||
|
lib,
|
||
|
config,
|
||
|
namespace,
|
||
|
...
|
||
|
}:
|
||
|
let
|
||
|
inherit (lib) mkIf;
|
||
|
inherit (lib.${namespace}) mkEnableModule;
|
||
|
|
||
|
cfg = config.${namespace}.programs.ssh;
|
||
|
in
|
||
|
{
|
||
|
options = mkEnableModule "programs.ssh";
|
||
|
|
||
|
config = mkIf cfg.enable {
|
||
|
programs.ssh = {
|
||
|
enable = true;
|
||
|
|
||
|
# Equivalent of ~/.ssh/config
|
||
|
# %d - local user's home directory
|
||
|
# %r - remote username
|
||
|
matchBlocks = {
|
||
|
"tty.marleycentre" = {
|
||
|
hostname = "10.10.10.69";
|
||
|
identityFile = "%d/.ssh/%r@marleycentre";
|
||
|
};
|
||
|
|
||
|
"tty.marleynet" = {
|
||
|
hostname = "10.69.69.2";
|
||
|
port = 222;
|
||
|
identityFile = "%d/.ssh/%r@marleynet";
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
}
|