Files
garandos/modules/core/network.nix
2025-09-13 23:16:22 +02:00

42 lines
925 B
Nix

{ pkgs
, host
, options
, ...
}:
let
inherit (import ../../hosts/${host}/variables.nix) hostId;
in
{
# Defensive assertion for hostname validity (clearer message at eval time)
assertions = [
{
assertion = builtins.match "^[[:alnum:]]([[:alnum:]_-]{0,61}[[:alnum:]])?$" host != null;
message = "Invalid hostname '${host}'. Must be 1-63 chars, start/end alphanumeric; allowed middle chars: letters, digits, '-' or '_'.";
}
];
networking = {
hostName = "${host}";
hostId = hostId;
networkmanager.enable = true;
timeServers = options.networking.timeServers.default ++ [ "pool.ntp.org" ];
firewall = {
enable = true;
allowedTCPPorts = [
22
80
443
59010
59011
8080
];
allowedUDPPorts = [
59010
59011
];
};
};
environment.systemPackages = with pkgs; [ networkmanagerapplet ];
}