{ lib, inputs, hostName, ... }:
with lib;
{
  programs.mosh.enable = mkDefault true;
  services.openssh.enable = true;
  systemd.services.sshd.serviceConfig.LoadCredentialEncrypted =
    [ "host.key:${inputs.self}/hosts/${hostName}/ssh/host.key.cred" ];
  # TODO: use hostKeys= once LoadCredentialEncrypted= works in ExecStartPre=
  services.openssh.hostKeys = mkForce [ ];
  services.openssh.extraConfig = ''
    HostKey /run/credentials/sshd.service/host.key
  '';
}