the_prg_server_configuratio.../nix-system-configs/modules/system/teamspeak.nix

94 lines
2.5 KiB
Nix

{
config,
pkgs,
lib,
...
}: {
options.local = {
hostname = lib.mkOption {
type = lib.types.str;
default = "nixos-default";
description = "System hostname";
};
username = lib.mkOption {
type = lib.types.str;
default = "user";
description = "Primary user username";
};
userDescription = lib.mkOption {
type = lib.types.str;
default = "NixOS User";
description = "Primary user description";
};
address = lib.mkOption {
type = lib.types.str;
default = "10.1.1.100";
description = "Static IP address";
};
};
imports = [
./modules/desktop-manager/sway_greetd_homemanager.nix
./modules/local/hostname_username.nix
./modules/local/networking_local.nix
./modules/bootloader/seabios-assigned-iso-at-birth.nix
./modules/lix-default.nix
# Optionally: ./modules/toolsets/remote_building.nix
#
#
## Compose modules for Portainer service
./modules/songsheet/wavelog/docker-compose.nix
./modules/secrets-config/sops-composesongsheet.nix
];
config = {
local.hostname = "christine-teamspeak";
local.username = "teamspeak_christine";
local.userDescription = "NixOS Teamspeak Service";
local.address = "10.1.1.248";
services.teamspeak3 = {
enable = true;
openFirewall = true;
};
## Add Conduit for Matrix
# See https://search.nixos.org/options?channel=unstable&query=services.matrix-conduit.
# and https://docs.conduit.rs/configuration.html
services.matrix-conduit = {
enable = true;
settings.global = {
allow_registration = true;
# You will need this token when creating your first account.
registration_token = "testtoken1234";
# server_name = yourDomainName;
port = 12244;
# Bind to all interfaces so Traefik on the network can reach Conduit.
address = "0.0.0.0";
database_backend = "rocksdb";
server_name = "https://lgbtq.prg-radio.org";
# See https://docs.conduit.rs/turn.html, and https://github.com/element-hq/synapse/blob/develop/docs/turn-howto.md for more details
# turn_uris = [
# "turn:your.turn.url?transport=udp"
# "turn:your.turn.url?transport=tcp"
# ];
# turn_secret = "your secret";
};
};
networking.firewall.allowedTCPPorts = [
80
443
12244
];
networking.firewall.allowedUDPPorts = [
80
443
12244
];
system.stateVersion = "25.11";
};
}