28 lines
647 B
Nix

{ config, lib, ... }:
let
inherit (lib) mkIf mkEnableOption mkOption;
inherit (lib.types) listOf int;
cfg = config.ataraxia.defaults.ssh;
in
{
options.ataraxia.defaults.ssh = {
enable = mkEnableOption "Root on zfs";
ports = mkOption {
type = listOf int;
default = [ 22 ];
description = "OpenSSH ports to listen";
};
};
config = mkIf cfg.enable {
services.openssh = {
enable = true;
settings.PasswordAuthentication = false;
settings.PermitRootLogin = "no";
settings.X11Forwarding = false;
extraConfig = "StreamLocalBindUnlink yes";
ports = cfg.ports;
};
};
}