94 lines
2.5 KiB
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 = "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";
|
|
};
|
|
}
|