mirror of
https://github.com/moons-14/dotfiles.git
synced 2026-10-06 08:28:11 +09:00
51 lines
1.1 KiB
Nix
51 lines
1.1 KiB
Nix
{
|
|
pkgs,
|
|
lib,
|
|
config,
|
|
...
|
|
}:
|
|
let
|
|
cfg = config.my.applications.ssh;
|
|
hmCfg = config.my.applications.ssh.homeManager;
|
|
in
|
|
{
|
|
options.my.applications.ssh.homeManager = {
|
|
enable = lib.mkEnableOption "SSH home-manager configuration";
|
|
};
|
|
|
|
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 = true;
|
|
|
|
home.sessionVariables = {
|
|
SSH_AUTH_SOCK = "\${XDG_RUNTIME_DIR}/ssh-agent";
|
|
};
|
|
|
|
programs.ssh = {
|
|
enable = true;
|
|
enableDefaultConfig = false;
|
|
|
|
settings = cfg.matchBlocks // {
|
|
"github.com" = {
|
|
IdentityFile = cfg.githubIdentityFiles;
|
|
AddKeysToAgent = cfg.addKeysToAgent;
|
|
};
|
|
|
|
"*" = {
|
|
IdentityFile = cfg.defaultIdentityFile;
|
|
AddKeysToAgent = cfg.addKeysToAgent;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
}
|
|
];
|
|
}
|