mob next [ci-skip] [ci skip] [skip ci]
lastFile:modules/clan/phonebox/default.nix
This commit is contained in:
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user