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:
2026-05-11 16:36:34 +02:00
parent d07661561b
commit fb7fe2437c
3 changed files with 13 additions and 11 deletions
@@ -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";
}