config/users/pbsds/home/profiles/ssh.nix

145 lines
5.8 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 '\*')" 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;
"git.*".forwardX11 = false;
"gitea.*".forwardX11 = false;
"github.com".forwardX11 = false;
"gogs.*".forwardX11 = false;
"*.pbsds.net".forwardX11 = true;
"*.pbsds.net".forwardX11Trusted = true;
"*.tail9aac63.ts.net".forwardX11 = true;
"*.tail9aac63.ts.net".forwardX11Trusted = true;
"*.ntnu.no".user = "pederbs";
"*.pvv.org".user = "pederbs";
"*.pvv.org !login.pvv.org".proxyJump = "login.pvv.ntnu.no";
"*.pvv.ntnu.no !login.pvv.ntnu.no".proxyJump = "login.pvv.ntnu.no";
"*.hpc.ntnu.no".proxyJump = "login.pvv.ntnu.no";
"*.idi.ntnu.no".proxyJump = "login.pvv.ntnu.no";
# me
"garp.pbsds.net".proxyJump = "login.pvv.ntnu.no";
"eple.pbsds.net".proxyJump = "login.pvv.ntnu.no";
"bolle.pbsds.net".proxyJump = "login.pvv.ntnu.no";
"pederbs.idi.ntnu.no" = {};
"brumlebasse.pbsds.net".port = 2222;
"knut.pbsds.net".port = 23;
"nord.pbsds.net".port = 24;
"sopp.pbsds.net".port = 26;
"noximilien.pbsds.net" = {};
"rocm.pbsds.net".proxyJump = "login.pvv.ntnu.no";
# nixos org
#"aarch64.nixos.community" = {};
# nix-community
#"darwin-build-box.nix-community.org" = {};
# ntnu
"garmr.idi.ntnu.no".forwardX11 = true;
"heid.idi.ntnu.no" = {}; #.forwardX11 = true;
"idun.hpc.ntnu.no" = {};
"login.stud.ntnu.no" = {};
"malvik.idi.ntnu.no" = {};
"oppdal.idi.ntnu.no" = {};
"selbu.idi.ntnu.no" = {};
"snotra.idi.ntnu.no" = {};
"stud.ntnu.no".hostname = "login.stud.ntnu.no";
/* "idun-login1.hpc.ntnu.no" = {}; */
/* "idun-login2.hpc.ntnu.no" = {}; */
/* "snotra-login1.idi.ntnu.no" = {}; */
"clab01.idi.ntnu.no".proxyJump = "snotra-login1.idi.ntnu.no";
"clab02.idi.ntnu.no".proxyJump = "snotra-login1.idi.ntnu.no";
"clab03.idi.ntnu.no".proxyJump = "snotra-login1.idi.ntnu.no";
"clab04.idi.ntnu.no".proxyJump = "snotra-login1.idi.ntnu.no";
"clab05.idi.ntnu.no".proxyJump = "snotra-login1.idi.ntnu.no";
"clab06.idi.ntnu.no".proxyJump = "snotra-login1.idi.ntnu.no";
"clab07.idi.ntnu.no".proxyJump = "snotra-login1.idi.ntnu.no";
"clab08.idi.ntnu.no".proxyJump = "snotra-login1.idi.ntnu.no";
"clab09.idi.ntnu.no".proxyJump = "snotra-login1.idi.ntnu.no";
"clab10.idi.ntnu.no".proxyJump = "snotra-login1.idi.ntnu.no";
"clab11.idi.ntnu.no".proxyJump = "snotra-login1.idi.ntnu.no";
"clab12.idi.ntnu.no".proxyJump = "snotra-login1.idi.ntnu.no";
"clab13.idi.ntnu.no".proxyJump = "snotra-login1.idi.ntnu.no";
"clab14.idi.ntnu.no".proxyJump = "snotra-login1.idi.ntnu.no";
"clab15.idi.ntnu.no".proxyJump = "snotra-login1.idi.ntnu.no";
"clab16.idi.ntnu.no".proxyJump = "snotra-login1.idi.ntnu.no";
"clab17.idi.ntnu.no".proxyJump = "snotra-login1.idi.ntnu.no";
"clab18.idi.ntnu.no".proxyJump = "snotra-login1.idi.ntnu.no";
"clab19.idi.ntnu.no".proxyJump = "snotra-login1.idi.ntnu.no";
"clab20.idi.ntnu.no".proxyJump = "snotra-login1.idi.ntnu.no";
"clab21.idi.ntnu.no".proxyJump = "snotra-login1.idi.ntnu.no";
"clab22.idi.ntnu.no".proxyJump = "snotra-login1.idi.ntnu.no";
"clab23.idi.ntnu.no".proxyJump = "snotra-login1.idi.ntnu.no";
"clab24.idi.ntnu.no".proxyJump = "snotra-login1.idi.ntnu.no";
"clab25.idi.ntnu.no".proxyJump = "snotra-login1.idi.ntnu.no";
"clab26.idi.ntnu.no".proxyJump = "snotra-login1.idi.ntnu.no";
/* "clab27.idi.ntnu.no".proxyJump = "snotra-login1.idi.ntnu.no"; */
/* "clab28.idi.ntnu.no".proxyJump = "snotra-login1.idi.ntnu.no"; */
# NVG
"nvg.ntnu.no".hostname = "login.stud.ntnu.no";
"login.stud.ntnu.no" = {};
# pvv
"balduzius.pvv.ntnu.no".user = "root";
"bekkalokk.pvv.ntnu.no" = {}; # pvv-web pvv-wiki pvv-webmail
"bicep.pvv.ntnu.no" = {}; # pvv-databases pvv-synapse
"brzeczyszczykiewicz.pvv.ntnu.no" = {};
"demiurgen.pvv.ntnu.no" = {};
"drolsum.pvv.ntnu.no" = {};
"dvask-mgmt.pvv.ntnu.no".user = "root";
"eirin.pvv.ntnu.no" = {};
"georg.pvv.ntnu.no" = {};
"git.pvv.ntnu.no" = {};
"login.pvv.ntnu.no" = {};
"orchid.pvv.ntnu.no" = {};
"wegonke.pvv.ntnu.no" = {};
"hildring.pvv.ntnu.no" = {};
"innovation.pvv.ntnu.no".user = "root";
"isvegg.pvv.ntnu.no" = {};
"lommel.pvv.ntnu.no" = {};
"microbel.pvv.ntnu.no" = {};
"principal.pvv.ntnu.no".user = "root";
"shark.pvv.ntnu.no" = {};
"skrott.pvv.ntnu.no".user = "root";
"sleipner.pvv.ntnu.no".user = "root";
"tallulah.pvv.ntnu.no" = {};
"tom.pvv.ntnu.no" = {};
"toriel.pvv.ntnu.no".user = "root";
/* "alphys.pvv.ntnu.no".user = "root"; */
/* "dash8.pvv.ntnu.no" = {}; */
/* "essendrop.pvv.ntnu.no" = {}; */
/* "fenris.pvv.ntnu.no".user = "root"; */
/* "hasub.pvv.ntnu.no" = {}; */
/* "knakelibrak.pvv.ntnu.no" = {}; */
/* "monty.pvv.ntnu.no" = {}; */
/* "nsa.pvv.ntnu.no" = {}; */
/* "skrotnisse.pvv.ntnu.no" = {}; */
/* "spikkjeposche.pvv.ntnu.no" = {}; */
/* "tim.pvv.ntnu.no" = {}; */
# fyrkat
#"fyrkat.no".hostname = "fridge.fyrkat.no";
#"*.fyrkat.no".proxyJump = "login.pvv.ntnu.no";
"fridge.fyrkat.no".port = 222;
/* "fil.fyrkat.no" = {}; */
};
}