{
  lib,
  config,
  ...
}: let
  cfg = config.marleyos.programs.ssh;
in {
  options.marleyos.programs.ssh.enable = lib.mkEnableOption "ssh";

  config = lib.mkIf cfg.enable {
    programs.ssh = {
      enable = true;

      # Equivalent of ~/.ssh/config
      #   %d - local user's home directory
      #   %r - remote username
      matchBlocks = {
        "marleycentre" = {
          hostname = "10.10.10.69";
          identityFile = "%d/.ssh/%r@marleycentre";
        };

        "marleynet" = {
          hostname = "10.69.69.2";
          port = 222;
          identityFile = "%d/.ssh/%r@marleynet";
        };
      };
    };
  };
}