{ config, lib, ... }:

with lib;

let
  cfg = config.settings.applications.ssh;
in {
  options = {
    settings.applications.ssh.enable = lib.mkOption {
      type = lib.types.bool;
      description = ''
        Enable ssh and configure some endpoints
      '';
    };
  };

  config = mkIf cfg.enable {
    programs.ssh = {
      enable = true;
      matchBlocks = {
        archserver = {
          hostname = "192.168.1.20";
          user = "xeovalyte";
          identityFile = "~/.ssh/archserver";
        };

        "gitea.xeovalyte.dev" = {
          hostname = "gitea.xeovalyte.dev";
          port = 2222;
          user = "git";
          identityFile = "~/.ssh/gitea";
        };
      };
      addKeysToAgent = "yes";
    };
  };
}
