2024-09-09 00:22:14 +00:00
|
|
|
{
|
2024-09-13 01:50:53 +00:00
|
|
|
config,
|
|
|
|
lib,
|
|
|
|
...
|
|
|
|
}:
|
|
|
|
with lib; let
|
|
|
|
cfg = config.custom.programs.ssh;
|
|
|
|
in {
|
|
|
|
options.custom.programs.ssh.enable = mkOption {default = false;};
|
2024-09-09 00:22:14 +00:00
|
|
|
|
|
|
|
config = mkIf cfg.enable {
|
|
|
|
# Disable prompt for new hosts
|
|
|
|
# MitM warning is still active
|
|
|
|
programs.ssh.extraConfig = ''
|
|
|
|
StrictHostKeyChecking no
|
|
|
|
'';
|
2024-09-25 20:05:04 +00:00
|
|
|
|
2024-09-25 20:14:23 +00:00
|
|
|
home-manager.users.${config.custom.username} = {
|
|
|
|
programs.ssh = {
|
|
|
|
enable = true;
|
2024-09-25 20:05:04 +00:00
|
|
|
|
2024-09-25 20:14:23 +00:00
|
|
|
extraConfig = ''
|
|
|
|
Host *
|
|
|
|
IdentityAgent ~/.1password/agent.sock
|
|
|
|
'';
|
|
|
|
};
|
|
|
|
|
|
|
|
# Work around FHS permissions
|
|
|
|
# https://github.com/nix-community/home-manager/issues/322#issuecomment-1856128020
|
|
|
|
home.file.".ssh/config" = {
|
|
|
|
target = ".ssh/config_source";
|
|
|
|
onChange = "cat ~/.ssh/config_source > ~/.ssh/config && chmod 400 ~/.ssh/config";
|
|
|
|
};
|
2024-09-25 20:05:04 +00:00
|
|
|
};
|
2024-09-09 00:22:14 +00:00
|
|
|
};
|
|
|
|
}
|