nixos/modules/services/mumble-server/default.nix

48 lines
1.1 KiB
Nix
Raw Normal View History

2022-07-30 15:38:22 +02:00
# Have a good quality voice chat
2024-07-28 21:08:02 +02:00
{
config,
lib,
...
}:
2022-07-30 15:38:22 +02:00
let
cfg = config.my.services.mumble-server;
inherit (config.networking) domain;
2022-07-30 15:38:22 +02:00
in
{
options.my.services.mumble-server = {
enable = lib.mkEnableOption "mumble server service";
2022-07-30 15:38:22 +02:00
};
config = lib.mkIf cfg.enable {
services.murmur = {
enable = true;
2023-01-08 00:53:21 +01:00
openFirewall = true;
2022-07-30 15:38:22 +02:00
welcometext = "Welcome to the Mumble-Server!";
sslCert = "${config.security.acme.certs.${domain}.directory}/fullchain.pem";
sslKey = "${config.security.acme.certs.${domain}.directory}/key.pem";
2022-07-30 15:38:22 +02:00
};
# create a separate certificate for the mumble server
security.acme = {
certs.${domain} = {
reloadServices = [ "murmur" ];
group = "caddyandmurmur";
};
2022-07-30 15:38:22 +02:00
};
users.groups.caddyandmurmur.members = [
"caddy"
2024-07-28 21:08:02 +02:00
"murmur"
];
my.services = {
acme.enable = true;
prometheus.rules = {
mumble_not_running = {
condition = ''systemd_unit_state{name="murmur.service", state!="active"} > 0'';
description = "{{$labels.host}} should have a running {{$labels.name}}";
};
};
};
2022-07-30 15:38:22 +02:00
};
}