From 682c8327c2286c6f3afb6d8cc5cb6ceff2005fff Mon Sep 17 00:00:00 2001 From: Sridhar Ratnakumar Date: Fri, 15 May 2026 10:36:20 -0400 Subject: [PATCH] route ssh user=pu via socks5 proxy --- configurations/nixos/pureintent/devbox.nix | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/configurations/nixos/pureintent/devbox.nix b/configurations/nixos/pureintent/devbox.nix index 5fc5185..9fbab3a 100644 --- a/configurations/nixos/pureintent/devbox.nix +++ b/configurations/nixos/pureintent/devbox.nix @@ -43,9 +43,15 @@ in pu ]; - # pu writes per-instance ssh_config files under ~/.pu-state//. - # Including them lets `ssh ` work directly without `pu connect`. - home-manager.users.${flake.config.me.username}.programs.ssh.includes = [ - "~/.pu-state/*/ssh_config" - ]; + # pu writes per-instance ssh_config files under ~/.pu-state//. Including + # them lets `ssh ` work directly. The inner ssh those configs spawn goes + # to `pu@` which is only reachable via vanjaram — route any ssh to + # user `pu` through the SOCKS5 proxy. + home-manager.users.${flake.config.me.username}.programs.ssh = { + includes = [ "~/.pu-state/*/ssh_config" ]; + matchBlocks."pu-jumphost" = { + match = "user pu"; + proxyCommand = "${pkgs.netcat-openbsd}/bin/nc -X 5 -x 127.0.0.1:${toString socksPort} %h %p"; + }; + }; }