2023-12-07 15:31:32 +01:00
|
|
|
{ config, lib, pkgs, ... }:
|
2021-03-13 01:02:28 +01:00
|
|
|
let
|
|
|
|
cfg = config.my.home.ssh;
|
|
|
|
in
|
2021-02-20 16:25:55 +01:00
|
|
|
{
|
2023-03-16 17:39:13 +01:00
|
|
|
options.my.home.ssh = with lib; {
|
|
|
|
enable = my.mkDisableOption "ssh configuration";
|
2023-12-07 15:31:32 +01:00
|
|
|
|
|
|
|
mosh = {
|
|
|
|
enable = my.mkDisableOption "mosh configuration";
|
|
|
|
|
|
|
|
package = mkPackageOption pkgs "mosh" { };
|
|
|
|
};
|
2021-03-13 01:02:28 +01:00
|
|
|
};
|
|
|
|
|
2023-12-07 15:29:59 +01:00
|
|
|
config = lib.mkIf cfg.enable (lib.mkMerge [
|
|
|
|
{
|
|
|
|
programs.ssh = {
|
|
|
|
enable = true;
|
|
|
|
|
|
|
|
includes = [
|
|
|
|
# Local configuration, not-versioned
|
|
|
|
"config.local"
|
|
|
|
];
|
|
|
|
|
|
|
|
matchBlocks = {
|
|
|
|
"github.com" = {
|
|
|
|
hostname = "github.com";
|
|
|
|
identityFile = "~/.ssh/shared_rsa";
|
|
|
|
user = "git";
|
|
|
|
};
|
|
|
|
|
|
|
|
"gitlab.com" = {
|
|
|
|
hostname = "gitlab.com";
|
|
|
|
identityFile = "~/.ssh/shared_rsa";
|
|
|
|
user = "git";
|
|
|
|
};
|
|
|
|
|
|
|
|
"git.sr.ht" = {
|
|
|
|
hostname = "git.sr.ht";
|
|
|
|
identityFile = "~/.ssh/shared_rsa";
|
|
|
|
user = "git";
|
|
|
|
};
|
|
|
|
|
|
|
|
"git.belanyi.fr" = {
|
|
|
|
hostname = "git.belanyi.fr";
|
|
|
|
identityFile = "~/.ssh/shared_rsa";
|
|
|
|
user = "git";
|
|
|
|
};
|
|
|
|
|
|
|
|
porthos = {
|
2024-03-05 00:45:31 +01:00
|
|
|
hostname = "37.187.146.15";
|
2023-12-07 15:29:59 +01:00
|
|
|
identityFile = "~/.ssh/shared_rsa";
|
|
|
|
user = "ambroisie";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
extraConfig = ''
|
|
|
|
AddKeysToAgent yes
|
|
|
|
'';
|
2021-02-20 16:25:55 +01:00
|
|
|
};
|
2023-12-07 15:29:59 +01:00
|
|
|
}
|
2023-12-07 15:31:32 +01:00
|
|
|
|
|
|
|
(lib.mkIf cfg.mosh.enable {
|
|
|
|
home.packages = [
|
|
|
|
cfg.mosh.package
|
|
|
|
];
|
|
|
|
})
|
2023-12-07 15:29:59 +01:00
|
|
|
]);
|
2021-02-20 16:25:55 +01:00
|
|
|
}
|