ooknet/modules/nixos/base/networking.nix

47 lines
1.2 KiB
Nix

{
lib,
config,
pkgs,
...
}: let
inherit (lib) mkForce mkDefault;
inherit (config.ooknet) host;
in {
networking = {
enableIPv6 = true;
# disable global dhcp
useDHCP = mkForce false;
usePredictableInterfaceNames = mkDefault true;
nameservers = [
"8.8.8.8"
"8.8.4.4"
];
networkmanager = {
enable = true;
dns = "systemd-resolved";
plugins = mkForce [];
wifi = {
# why does my server have wifi? not sure.
# ensure my mac addr is static so I can reserve an IP
macAddress =
if host.role == "server"
then "permanent"
else "random";
scanRandMacAddress = host.role != "server";
powersave = true;
};
unmanaged = ["interface-name:tailscale*"];
};
};
services = {
resolved = {
enable = true;
domains = ["~."];
fallbackDns = ["8.8.8.8"]; # google dns
};
};
# sometimes causes issues with network manager service never actually starting
# requiring me to manually start the service. fine on a workstation, not on a server
systemd.services.NetworkManager-wait-online.serviceConfig.ExecStart = ["" "${pkgs.networkmanager}/bin/nm-online -q"];
}