System/home-manager/common/programs/ssh.nix

71 lines
1.9 KiB
Nix

{ config, lib, pkgs, inputs, ... }:
with lib; {
config = mkMerge [
(mkIf config.nathan.programs.util.ssh {
#########################
## SSH Configuration
#########################
programs.ssh = {
# SSH configuration
enable = true;
# extra config to set the ciphers
extraConfig = ''
Ciphers aes128-gcm@openssh.com,aes256-gcm@openssh.com,chacha20-poly1305@openssh.com,aes256-ctr,aes192-ctr,aes128-ctr
'';
# Enable compression
compression = true;
# enable session reuse
controlMaster = "auto";
controlPersist = "10m";
# Configure known hosts
matchBlocks = {
"levitation" = {
forwardAgent = true;
user = "nathan";
hostname = "100.119.205.155";
};
"perception" = {
forwardAgent = true;
user = "nathan";
hostname = "100.104.25.128";
};
"oracles" = {
forwardAgent = true;
user = "nathan";
hostname = "100.123.211.72";
};
"tounge" = {
forwardAgent = true;
user = "nathan";
hostname = "100.89.216.133";
};
"universe" = {
forwardAgent = true;
user = "nathan";
hostname = "100.75.76.143";
};
"shadowchild" = {
forwardAgent = true;
user = "nathan";
hostname = "172.23.217.149";
};
"fusion" = {
forwardAgent = true;
user = "nathan";
hostname = "100.91.102.137";
};
"pendulum" = {
forwardAgent = true;
user = "nathan";
hostname = "100.105.41.106";
};
"de1955" = {
user = "de1955";
hostname = "de1955.rsync.net";
};
};
};
})
];
}