Files
dotfiles/modules/applications/ssh/home.nix
T
2026-07-07 21:41:05 +09:00

64 lines
1.4 KiB
Nix

{
pkgs,
lib,
config,
...
}:
let
hmCfg = config.my.applications.ssh.homeManager;
in
{
options.my.applications.ssh.homeManager = {
enable = lib.mkEnableOption "SSH home-manager configuration";
matchBlocks = lib.mkOption {
type = lib.types.attrs;
default = { };
description = "SSH match blocks";
};
};
config.home-manager.sharedModules = [
{
config = lib.mkIf hmCfg.enable {
home.packages = [
pkgs.openssh
];
systemd.user.sockets.gcr-ssh-agent.Install.WantedBy = lib.mkForce [ ];
services.ssh-agent.enable = lib.mkForce false;
programs.ssh = {
enable = true;
enableDefaultConfig = false;
settings = hmCfg.matchBlocks // {
"github.com" = {
HostName = "github.com";
User = "git";
AddKeysToAgent = "no";
};
"*.sfc.wide.ad.jp" = {
identityFile = "~/.ssh/id_ed25519_sk_rk";
identitiesOnly = true;
};
"*" = {
AddKeysToAgent = "no";
SetEnv = {
TERM = "xterm-256color";
};
};
};
extraConfig = ''
Match exec "test -S %d/.1password/agent.sock"
IdentityAgent %d/.1password/agent.sock
'';
};
};
}
];
}