mirror of
https://github.com/sstent/vmimages.git
synced 2026-01-25 14:41:44 +00:00
46 lines
1.0 KiB
Nix
46 lines
1.0 KiB
Nix
{
|
|
lib,
|
|
pkgs,
|
|
config,
|
|
...
|
|
}:
|
|
with lib; let
|
|
cfg = config.custom.ssh-proxy;
|
|
in {
|
|
options.custom.ssh-proxy = {
|
|
enable = mkOption {
|
|
type = types.bool;
|
|
default = false;
|
|
description = ''
|
|
Enable ssh-proxy for WSL
|
|
'';
|
|
};
|
|
};
|
|
|
|
config = mkIf cfg.enable {
|
|
home.packages = with pkgs; [
|
|
npiperelay
|
|
socat
|
|
];
|
|
|
|
systemd.user = {
|
|
startServices = true;
|
|
|
|
services.ssh-proxy = {
|
|
Unit = {
|
|
Description = "WSL Proxy";
|
|
After = "sops-nix.service";
|
|
};
|
|
Install = {WantedBy = ["default.target"];};
|
|
Service = {
|
|
ExecStart = "${pkgs.writeShellScript "start-proxy" ''
|
|
set -x -o xtrace # print commands
|
|
${pkgs.coreutils}/bin/rm -f /home/sstent/.ssh/wsl-ssh-agent.sock
|
|
${pkgs.util-linux}/bin/setsid ${pkgs.socat}/bin/socat UNIX-LISTEN:/home/sstent/.ssh/wsl-ssh-agent.sock,fork EXEC:"${pkgs.npiperelay}/bin/npiperelay.exe -ei -s //./pipe/openssh-ssh-agent",nofork
|
|
''}";
|
|
};
|
|
};
|
|
};
|
|
};
|
|
}
|