home/ssh: use %C for control socket paths

This commit is contained in:
Trolli Schmittlauch 2026-03-19 20:20:46 +01:00
parent a0b2f9da99
commit 2287685c2c

View file

@ -7,7 +7,7 @@
}:
let
inherit (lib) types;
controlSocket = "~/.ssh/controlmasters/%r@%n:%p.sock";
controlSocket = "~/.ssh/controlmasters/%C.sock";
proxyTagType = types.submodule (
{ name, ... }:
@ -93,10 +93,11 @@ in
tag: tagDef:
let
dependency = if tagDef.after != null then lib.hm.dag.entryAfter tagDef.after else lib.id;
escapeOpensshConfig = builtins.replaceStrings ["%"] ["%%"];
in
lib.nameValuePair "tagged-${tag}" {
match = ''tagged="${tag}"'';
proxyCommand = "${lib.getExe pkgs.fc-scripts.ssh-multi-proxy} -v -p connect --control-path='${controlSocket}'${lib.optionalString tagDef.noDirect " -n"} -i ${lib.concatStringsSep "," tagDef.connectType}${
proxyCommand = "${lib.getExe pkgs.fc-scripts.ssh-multi-proxy} -v -S ${config.programs.ssh.package}/bin/ssh -p connect${lib.optionalString tagDef.noDirect " -n"} --control-path='${escapeOpensshConfig controlSocket}' -i ${lib.concatStringsSep "," tagDef.connectType}${
lib.optionalString (tagDef.jumpHost != null) " -j ${tagDef.jumpHost}"
} %h %p";
extraOptions = {