Add option

This commit is contained in:
Martin 2022-10-07 00:00:43 +02:00
parent 7d23fc01f0
commit 58fe07e7d3
Signed by: mawalu
GPG Key ID: BF556F989760A7C8
1 changed files with 38 additions and 2 deletions

View File

@ -38,8 +38,40 @@
config = { config = {
baseDomain = mkOption { baseDomain = mkOption {
type = types.str; type = types.str;
description = "Base domain"; description = "Base domain.";
}; };
dnsPort = mkdOption {
type = types.port;
description = "DNS server port";
default = 15353;
};
apiPort = mkOption {
type = types.port;
description = "API port";
default = 18000;
};
};
users = mkOption {
default = {};
type = types.attrsOf (types.submodule {
options = {
password = mkOption {
type = types.str;
default = null;
description = "API password for the user";
};
};
});
example = literalExpression ''
{
"exampleuser" = {
password = "insecure";
};
}
'';
}; };
}; };
@ -50,8 +82,12 @@
serviceConfig = let pkg = self.packages.${pkgs.system}.default; serviceConfig = let pkg = self.packages.${pkgs.system}.default;
in { in {
Restart = "on-failure"; Restart = "on-failure";
ExecStart = "${pkg}/bin/norbert ${toINI cfg.config}"; ExecStart = "${pkg}/bin/norbert ${pkgs.writeText "config" (generators.toINIWithGlobalSection {} {
globalSection = cfg.config;
sections = cfg.users;
})}";
DynamicUser = "yes"; DynamicUser = "yes";
AmbientCapabilities = ["CAP_NET_BIND_SERVICE"];
}; };
}; };
}; };