From f93b06dac7849c2de2cdc50b998db10c3adbd3da Mon Sep 17 00:00:00 2001 From: h7x4 Date: Mon, 31 Mar 2025 17:31:42 +0200 Subject: [PATCH] home/ssh: enable control master sockets --- home/programs/ssh/default.nix | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/home/programs/ssh/default.nix b/home/programs/ssh/default.nix index cbf8e80..93b271d 100644 --- a/home/programs/ssh/default.nix +++ b/home/programs/ssh/default.nix @@ -1,4 +1,8 @@ { config, ... }: +let + runtimeDir = "/run/user/${toString config.home.uid}"; + controlMastersDir = "${runtimeDir}/ssh-controlmasters"; +in { imports = [ ./home.nix @@ -16,5 +20,22 @@ config.sops.secrets."ssh/secret-config".path "mutable_config" ]; + + controlMaster = "auto"; + controlPersist = "10m"; + controlPath = "${controlMastersDir}/%r@%h:%p"; + }; + + systemd.user.services."ssh-create-controlmasters-dir" = { + Install.WantedBy = [ "default.target" ]; + Unit = { + Description = "Create directory to store SSH control master sockets"; + ConditionPathExists = "!${controlMastersDir}"; + }; + Service = { + Type = "oneshot"; + ExecStart = "mkdir ${controlMastersDir}"; + Restart = "on-abort"; + }; }; }