{ 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 ]; }; }