config/users/pbsds/home/profiles/ssh.nix
2023-11-21 00:39:09 +01:00

97 lines
3.3 KiB
Nix

{ pkgs, ... }:
{
programs.bash.initExtra = ''
# ssh autocomplete
if test -f ~/.ssh/config; then
complete -W "$(cat ~/.ssh/config | grep "^Host " | cut -d" " -f2- | grep -v "\*")" ssh
complete -W "$(cat ~/.ssh/config | grep "^Host " | cut -d" " -f2- | grep -v "\*")" rssh
complete -W "$(cat ~/.ssh/config | grep "^Host " | cut -d" " -f2- | grep -v "\*")" vpn
complete -W "$(cat ~/.ssh/config | grep "^Host " | cut -d" " -f2- | grep -v "\*")" lvpn
complete -W "$(cat ~/.ssh/config | grep "^Host " | cut -d" " -f2- | grep -v "\*")" dvpn
complete -W "$(cat ~/.ssh/config | grep "^Host " | cut -d" " -f2- | grep -v "\*")" scp
complete -W "$(cat ~/.ssh/config | grep "^Host " | cut -d" " -f2- | grep -v "\*")" remote-init
complete -W "$(cat ~/.ssh/config | grep "^Host " | cut -d" " -f2- | grep -v "\*")" remote-add
fi
'';
programs.ssh.enable = true;
programs.ssh.controlMaster = "yes";
programs.ssh.compression = true;
programs.ssh.matchBlocks = {
"*".serverAliveInterval = 10;
"*".serverAliveCountMax = 3;
"github.com".forwardX11 = false;
"gitea.*".forwardX11 = false;
"gogs.*".forwardX11 = false;
"git.*".forwardX11 = false;
"*.pbsds.net".forwardX11 = true;
"*.pbsds.net".forwardX11Trusted = true;
"*.ntnu.no".user = "pederbs";
"*.pvv.org".user = "pederbs";
"*.hpc.ntnu.no".proxyJump = "microbel.pvv.ntnu.no";
"*.idi.ntnu.no".proxyJump = "microbel.pvv.ntnu.no";
# me
"garp.pbsds.net".proxyJump = "microbel.pvv.ntnu.no";
"eple.pbsds.net".proxyJump = "microbel.pvv.ntnu.no";
"bolle.pbsds.net".proxyJump = "microbel.pvv.ntnu.no";
"knut.pbsds.net".port = 23;
"nord.pbsds.net".port = 24;
"sopp.pbsds.net".port = 26;
"noximilien.pbsds.net" = {};
"rocm.pbsds.net".proxyJump = "microbel.pvv.ntnu.no";
# ntnu
"stud.ntnu.no".hostname = "login.stud.ntnu.no";
"login.stud.ntnu.no" = {};
"clab15.idi.ntnu.no" = {};
"idun-login1.hpc.ntnu.no" = {};
"snotra-login1.idi.ntnu.no" = {};
"oppdal.idi.ntnu.no" = {};
"selbu.idi.ntnu.no" = {};
"malvik.idi.ntnu.no" = {};
"heid.idi.ntnu.no" = {};
# NVG
"nvg.ntnu.no".hostname = "login.stud.ntnu.no";
# pvv
"alphys.pvv.ntnu.no".user = "root";
"balduzius.pvv.ntnu.no".user = "root";
"brzeczyszczykiewicz.pvv.ntnu.no" = {};
"dash8.pvv.ntnu.no" = {};
"demiurgen.pvv.ntnu.no" = {};
"dvask-mgmt.pvv.ntnu.no".user = "root";
"eirin.pvv.ntnu.no" = {};
"essendrop.pvv.ntnu.no" = {};
"fenris.pvv.ntnu.no".user = "root";
"git.pvv.ntnu.no" = {};
"hasub.pvv.ntnu.no" = {};
"hildring.pvv.ntnu.no" = {};
"innovation.pvv.ntnu.no".user = "root";
"isvegg.pvv.ntnu.no" = {};
"knakelibrak.pvv.ntnu.no" = {};
"lommel.pvv.ntnu.no" = {};
"microbel.pvv.ntnu.no" = {};
"monty.pvv.ntnu.no" = {};
"nsa.pvv.ntnu.no" = {};
"principal.pvv.ntnu.no".user = "root";
"skrotnisse.pvv.ntnu.no" = {};
"skrott.pvv.ntnu.no".user = "root";
"sleipner.pvv.ntnu.no" = {};
"sleipner.pvv.ntnu.no" = {};
"spikkjeposche.pvv.ntnu.no" = {};
"tallulah.pvv.ntnu.no" = {};
"tim.pvv.ntnu.no" = {};
"tom.pvv.ntnu.no" = {};
"toriel.pvv.ntnu.no".user = "root";
# fyrkat
"fyrkat.no".hostname = "fridge.fyrkat.no";
"fridge.fyrkat.no" = {};
"fil.fyrkat.no" = {};
};
}