Self-host your own digital island

rename config.dns to config.eilean.services.dns

+1 -1
modules/default.nix
···
{
imports = [
-
./dns/default.nix
+
./services/dns/default.nix
./mailserver/default.nix
./mastodon.nix
./mailserver.nix
+1 -1
modules/dns.nix
···
};
};
-
config.dns = lib.mkIf cfg.dns.enable {
+
config.eilean.services.dns = lib.mkIf cfg.dns.enable {
enable = true;
zones.${config.networking.domain} = {
soa.serial = lib.mkDefault 0;
+1 -1
modules/dns/bind.nix modules/services/dns/bind.nix
···
{ pkgs, config, lib, ... }:
-
let cfg = config.dns; in {
+
let cfg = config.eilean.services.dns; in {
services.bind = lib.mkIf (cfg.enable && cfg.server == "bind") {
enable = true;
# recursive resolver
+2 -2
modules/dns/default.nix modules/services/dns/default.nix
···
{
imports = [ ./bind.nix ];
-
options.dns = {
+
options.eilean.services.dns = {
enable = lib.mkEnableOption "DNS server";
server = mkOption {
type = types.enum [ "bind" ];
···
};
};
-
config.networking.firewall = lib.mkIf config.dns.openFirewall {
+
config.networking.firewall = lib.mkIf config.eilean.services.dns.openFirewall {
allowedTCPPorts = [ 53 ];
allowedUDPPorts = [ 53 ];
};
modules/dns/zonefile.nix modules/services/dns/zonefile.nix
+1 -1
modules/gitea.nix
···
SystemCallFilter = lib.mkForce [];
};
-
dns.zones.${config.networking.domain}.records = [
+
eilean.services.dns.zones.${config.networking.domain}.records = [
{
name = "git";
type = "CNAME";
+1 -1
modules/headscale.nix
···
environment.systemPackages = [ config.services.headscale.package ];
-
dns.zones.${cfg.headscale.zone}.records = [
+
eilean.services.dns.zones.${cfg.headscale.zone}.records = [
{
name = "${cfg.headscale.domain}.";
type = "CNAME";
+1 -1
modules/mailserver.nix
···
return 301 $scheme://${domain}$request_uri;
'';
-
dns.zones.${config.networking.domain}.records = [
+
eilean.services.dns.zones.${config.networking.domain}.records = [
{
name = "mail";
type = "A";
+1 -1
modules/mastodon.nix
···
};
};
-
dns.zones.${config.networking.domain}.records = [
+
eilean.services.dns.zones.${config.networking.domain}.records = [
{
name = "mastodon";
type = "CNAME";
+1 -1
modules/matrix.nix
···
extraConfigFiles = [ "${config.eilean.secretsDir}/matrix-turn-shared-secret" ];
};
-
dns.zones.${config.networking.domain}.records = [
+
eilean.services.dns.zones.${config.networking.domain}.records = [
{
name = "matrix";
type = "CNAME";
+1 -1
modules/turn.nix
···
};
users.groups."turnserver".members = [ config.services.nginx.user ];
-
dns.zones.${config.networking.domain}.records = [
+
eilean.services.dns.zones.${config.networking.domain}.records = [
{
name = "turn";
type = "CNAME";