mob next [ci-skip] [ci skip] [skip ci]

lastFile:modules/clan/phonebox/default.nix
This commit is contained in:
2025-12-25 14:22:04 +07:00
parent 47ea505962
commit 8a24bf97f8

View File

@@ -1,7 +1,5 @@
{ {
clanLib, clanLib,
config,
lib,
... ...
}: }:
{ {
@@ -10,7 +8,7 @@
manifest.description = ""; manifest.description = "";
manifest.categories = [ "System" ]; manifest.categories = [ "System" ];
roles.default = builtins.break { roles.default = {
interface = interface =
{ lib, ... }: { lib, ... }:
{ {
@@ -45,14 +43,22 @@
propagatedNativeBuildInputs = [ pkgs.spandsp3 ]; propagatedNativeBuildInputs = [ pkgs.spandsp3 ];
}); });
machines = lib.attrNames roles.default.machines;
user = "asterisk"; user = "asterisk";
faxDir = "/run/asterisk/fax"; faxDir = "/run/asterisk/fax";
rtpPortFrom = 10000; rtpPortFrom = 10000;
rtpPortTo = 20000; rtpPortTo = 20000;
ata-interface = settings.ata-ethernet-iface; ata-interface = settings.ata-ethernet-iface;
contactList = machineName: { contactList = builtins.map (machineName: {
name = "${config.clan.core.vars.generators.phonebox.files.owner-name.value}"; name = "${clanLib.getPublicValue {
flake = config.clan.core.settings.directory;
machine = machineName;
generator = "phonebox";
file = "owner-name";
default = null;
}}";
number = "${ number = "${
(clanLib.getPublicValue { (clanLib.getPublicValue {
flake = config.clan.core.settings.directory; flake = config.clan.core.settings.directory;
@@ -71,7 +77,7 @@
} }
) )
}"; }";
}; }) machines;
genServerSIPEndpoint = genServerSIPEndpoint =
{ hostname, address }: { hostname, address }:
@@ -134,8 +140,8 @@
else else
throw "clanService/yggdrasil is required"; throw "clanService/yggdrasil is required";
in in
builtins.break { {
clan.core.vars.generators.phonebox = { clan.core.vars.generators.phonebox = builtins.break {
files = { files = {
server-prefix-number.secret = false; server-prefix-number.secret = false;
ata-local-number.secret = false; ata-local-number.secret = false;
@@ -238,7 +244,6 @@
package = lib.mkDefault asterisk; package = lib.mkDefault asterisk;
confFiles = confFiles =
let let
machines = lib.attrNames roles.default.machines;
nodes = builtins.foldl' ( nodes = builtins.foldl' (
nodes: name: nodes: name:
nodes nodes