refactor: move host-specific settings to hosts directory
- Move defaultNameServers from network/dns.nix to hosts/servers/default.nix and hosts/workstations/default.nix - Move SMTP configuration from network/smtp.nix to hosts/servers/default.nix and hosts/workstations/default.nix - Move proxy configuration from network/proxy.nix to hosts/servers/default.nix and hosts/workstations/default.nix - Move NTP servers from network/time.nix to hosts/default.nix - Remove network/proxy.nix and network/smtp.nix (host-specific settings don't belong in network/) - Update network/default.nix to only import dns.nix and time.nix This refactoring separates environment-specific network parameters (domain, timezone) from host-specific settings (DNS servers, SMTP, proxy, NTP servers), making the configuration more logical and maintainable.
This commit is contained in:
@@ -2,13 +2,13 @@
|
||||
|
||||
let
|
||||
# Import environment-specific network parameters
|
||||
env = import ../../../network { };
|
||||
env = import ../../../../network { };
|
||||
in {
|
||||
# Common settings for all servers in the sample environment
|
||||
# Common settings for all servers in the production environment
|
||||
# This file is imported by all server configurations
|
||||
|
||||
# Default DNS servers for this environment
|
||||
networking.nameServers = [ "10.40.128.10" ];
|
||||
networking.nameServers = [ "10.40.128.10" "10.40.128.11" ];
|
||||
|
||||
# SMTP relay configuration
|
||||
services.postfix = {
|
||||
@@ -16,12 +16,15 @@ in {
|
||||
relayHost = "smtp.lagraula.fr";
|
||||
relayPort = 587;
|
||||
useTLS = true;
|
||||
fromAddress = "noreply@sample.lagraula.fr";
|
||||
fromAddress = "noreply@prod.lagraula.fr";
|
||||
};
|
||||
|
||||
# Proxy configuration for servers (none for now)
|
||||
environment.systemPackages = with pkgs; [ ];
|
||||
|
||||
# Locale for servers (English)
|
||||
i18n.defaultLocale = "en_US.UTF-8";
|
||||
|
||||
# TODO: Move other common server settings here later
|
||||
# Examples:
|
||||
# - Server-specific users/groups
|
||||
@@ -29,5 +32,4 @@ in {
|
||||
# - Server-specific services
|
||||
# - Server-specific security policies
|
||||
# - Server-specific monitoring/alerting
|
||||
# - Locale: en_US.UTF-8 (for servers)
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
{ config, pkgs, lib, ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
# Import the LXC machine type and DNS service from the framework
|
||||
../../../../modules/machine-types/lxc
|
||||
../../../../modules/services/dns/default.nix
|
||||
];
|
||||
|
||||
# Enable LXC machine type
|
||||
lxc.enable = true;
|
||||
|
||||
# Host identity — replace with your own hostname and IP
|
||||
networking.hostName = "dns01";
|
||||
networking.useDHCP = true;
|
||||
|
||||
# DNS service configuration — adapt to your network
|
||||
services.dns = {
|
||||
enable = true;
|
||||
recursion = "AllowOnlyForPrivateNetworks";
|
||||
forwarders = [ "1.1.1.1" "8.8.8.8" ];
|
||||
listenAddresses = [ "10.0.0.10" "127.0.0.1" "::1" ];
|
||||
};
|
||||
|
||||
system.stateVersion = "25.11";
|
||||
}
|
||||
Reference in New Issue
Block a user