{ 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"; "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 = "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" = {}; }; }