{ pkgs, lib, osConfig, ... }: let eduroam-active = pkgs.writeShellApplication { name = "eduroam-active"; runtimeInputs = with pkgs; [ networkmanager ]; text = '' nmcli -g GENERAL.STATE c s interface|grep -q -E '\bactiv' ''; }; in { programs.ssh = { enable = true; controlMaster = "auto"; matchBlocks = { "bmo.uio.no-on-eduroam" = ( lib.mkIf (osConfig.system.name == "magicman") ( lib.hm.dag.entryBefore [ "bmo.uio.no" ] { match = "host bmo.uio.no exec \"nmcli -g GENERAL.STATE c s eduroam|grep -q -E '\\bactiv'\""; hostname = "bmo.uio.no"; forwardAgent = false; } ) ); "bmo.uio.no" = { setEnv = { # TERM = "xterm-256color"; }; hostname = "bmo.uio.no"; forwardAgent = false; proxyJump = "torjus@rlogin.uio.no"; }; }; }; }