infrastructure/modules/nixos/keycloak.nix
2024-05-13 15:31:34 -07:00

28 lines
577 B
Nix

{
config,
lib,
...
}: let
inherit (lib.options) mkOption;
inherit (lib.modules) mkOptionDefault;
cfg = config.services.keycloak;
in {
options.services.keycloak = with lib.types; {
protocol = mkOption {
type = enum ["http" "https"];
readOnly = true;
};
port = mkOption {
type = port;
readOnly = true;
};
};
config.services.keycloak = {
protocol = mkOptionDefault (
if cfg.sslCertificate != null
then "https"
else "http"
);
port = mkOptionDefault cfg.settings."${cfg.protocol}-port";
};
}