41 lines
1.3 KiB
Nix
41 lines
1.3 KiB
Nix
{ lib, ... }:
|
|
|
|
with lib;
|
|
|
|
{
|
|
options.numbus = {
|
|
|
|
services = {
|
|
domain = mkOption {
|
|
type = types.str;
|
|
example = "numbus.eu";
|
|
description = "The root domain name (i.e. example.com) that your services will use";
|
|
};
|
|
dns = mkOption {
|
|
type = types.enum [ "pi-hole" "adguard" ];
|
|
default = "pi-hole";
|
|
example = "pi-hole";
|
|
description = "The preferred DNS resolver service (pi-hole or adguard) that other services should depend on";
|
|
};
|
|
};
|
|
traefikDynamicConfigDir = mkOption {
|
|
type = types.str;
|
|
default = "/etc/traefik/rules";
|
|
example = "/etc/traefik/rules";
|
|
description = "! Choosing a directory outside of /etc/ will break things ! The directory where Traefik's dynamic configuration files will be stored";
|
|
};
|
|
|
|
email = {
|
|
administratorEmail = mkOption {
|
|
type = types.str;
|
|
example = "admin@your-domain.com";
|
|
description = "The email that will be used to send critical notifications such as hardware failures, services errors, ACME updates, etc";
|
|
};
|
|
userEmail = mkOption {
|
|
type = types.str;
|
|
example = "user@your-domain.com";
|
|
description = "The email that will be used by services to send notifications";
|
|
};
|
|
};
|
|
};
|
|
} |