38 lines
757 B
Nix
38 lines
757 B
Nix
{ config
|
|
, pkgs
|
|
, lib
|
|
, ...
|
|
}:
|
|
|
|
let
|
|
mkMatchBlock =
|
|
{ hostname }:
|
|
{
|
|
inherit hostname;
|
|
user = "lucy"; # Use dynamically retrieved user
|
|
identityFile = [
|
|
"/nix/persist/etc/ssh/id_ed25519"
|
|
];
|
|
port = 22;
|
|
};
|
|
in
|
|
|
|
{
|
|
# Enable SSH client in Home Manager
|
|
programs.ssh = {
|
|
enable = true;
|
|
|
|
# Define host-specific SSH configurations (match blocks)
|
|
matchBlocks = {
|
|
"shell.c-base.org" = mkMatchBlock { hostname = "shell.c-base.org"; };
|
|
"code.c-base.org" = mkMatchBlock { hostname = "code.c-base.org"; };
|
|
};
|
|
|
|
# Any extra SSH configuration options you want globally
|
|
extraConfig = ''
|
|
# Example of global settings
|
|
Compression yes
|
|
ServerAliveInterval 60
|
|
'';
|
|
};
|
|
}
|