44 lines
925 B
Nix
44 lines
925 B
Nix
{
|
|
config,
|
|
lib,
|
|
pkgs,
|
|
modulesPath,
|
|
...
|
|
}:
|
|
|
|
let
|
|
asteriskDir = ./asterisk;
|
|
asteriskFilesRaw = builtins.readDir asteriskDir;
|
|
asteriskFileNames = builtins.attrNames asteriskFilesRaw;
|
|
filteredFileNames = builtins.filter (n: n != "asterisk.conf") asteriskFileNames;
|
|
asteriskFiles = builtins.listToAttrs (
|
|
builtins.map (n: {
|
|
name = n;
|
|
value = builtins.readFile (asteriskDir + "/${n}");
|
|
}) filteredFileNames
|
|
);
|
|
in
|
|
{
|
|
imports = [
|
|
"${modulesPath}/services/networking/asterisk.nix"
|
|
];
|
|
|
|
config = {
|
|
system.stateVersion = "25.11";
|
|
|
|
services.asterisk.enable = true;
|
|
|
|
services.asterisk.extraConfig = builtins.readFile (asteriskDir + "/asterisk.conf");
|
|
|
|
services.asterisk.confFiles = asteriskFiles;
|
|
|
|
services.getty.autologinUser = "root";
|
|
|
|
networking.firewall.allowedTCPPorts = [ 5060 ];
|
|
networking.firewall.allowedUDPPorts = [
|
|
5060
|
|
4569
|
|
];
|
|
};
|
|
}
|