{ config, lib, pkgs, ... }: { services.asterisk = { enable = true; }; sops = { secrets = { "asterisk/asterisk.conf" = { owner = config.users.users.asterisk.name; group = config.users.users.asterisk.group; mode = "00400"; }; "asterisk/cdr.conf" = { owner = config.users.users.asterisk.name; group = config.users.users.asterisk.group; mode = "00400"; }; "asterisk/console.conf" = { owner = config.users.users.asterisk.name; group = config.users.users.asterisk.group; mode = "00400"; }; "asterisk/extensions.ael" = { owner = config.users.users.asterisk.name; group = config.users.users.asterisk.group; mode = "00400"; }; "asterisk/indications.conf" = { owner = config.users.users.asterisk.name; group = config.users.users.asterisk.group; mode = "00400"; }; "asterisk/logger.conf" = { owner = config.users.users.asterisk.name; group = config.users.users.asterisk.group; mode = "00400"; }; "asterisk/modules.conf" = { owner = config.users.users.asterisk.name; group = config.users.users.asterisk.group; mode = "00400"; }; "asterisk/musiconhold.conf" = { owner = config.users.users.asterisk.name; group = config.users.users.asterisk.group; mode = "00400"; }; "asterisk/pjsip.conf" = { owner = config.users.users.asterisk.name; group = config.users.users.asterisk.group; mode = "00400"; }; "asterisk/pjsip_notify.conf" = { owner = config.users.users.asterisk.name; group = config.users.users.asterisk.group; mode = "00400"; }; "asterisk/rtp.conf" = { owner = config.users.users.asterisk.name; group = config.users.users.asterisk.group; mode = "00400"; }; "asterisk/voicemail.conf" = { owner = config.users.users.asterisk.name; group = config.users.users.asterisk.group; mode = "00400"; }; }; }; systemd.services.asterisk = { serviceConfig.ExecStart = lib.mkForce "${pkgs.asterisk}/bin/asterisk -U asterisk -C ${config.sops.secrets."asterisk/asterisk.conf".path} -F"; unitConfig = { ConditionPathExists = [ config.sops.secrets."asterisk/asterisk.conf".path config.sops.secrets."asterisk/cdr.conf".path config.sops.secrets."asterisk/console.conf".path config.sops.secrets."asterisk/extensions.ael".path config.sops.secrets."asterisk/indications.conf".path config.sops.secrets."asterisk/logger.conf".path config.sops.secrets."asterisk/modules.conf".path config.sops.secrets."asterisk/musiconhold.conf".path config.sops.secrets."asterisk/pjsip.conf".path config.sops.secrets."asterisk/pjsip_notify.conf".path config.sops.secrets."asterisk/rtp.conf".path config.sops.secrets."asterisk/voicemail.conf".path ]; }; #wantedBy = lib.mkForce []; }; }