2022-06-06 15:21:37 +01:00
|
|
|
{ lib, pkgs, config, ... }:
|
2022-05-16 00:05:02 +01:00
|
|
|
let
|
|
|
|
inherit (lib) flatten optional mkIf mkDefault mkMerge;
|
|
|
|
in
|
|
|
|
{
|
|
|
|
config = mkMerge [
|
|
|
|
{
|
|
|
|
networking = {
|
2023-11-02 13:41:50 +00:00
|
|
|
domain = mkDefault "int.${lib.my.c.pubDomain}";
|
2022-05-16 00:05:02 +01:00
|
|
|
useDHCP = false;
|
|
|
|
enableIPv6 = mkDefault true;
|
|
|
|
useNetworkd = mkDefault true;
|
|
|
|
};
|
2022-05-18 23:29:52 +01:00
|
|
|
|
2022-06-06 15:21:37 +01:00
|
|
|
systemd = {
|
2023-01-08 17:32:10 +00:00
|
|
|
additionalUpstreamSystemUnits = [
|
|
|
|
# TODO: NixOS has its own version of this, but with `network` instead of `networkd`. Is this just a typo? It
|
|
|
|
# hasn't been updated in 2 years...
|
|
|
|
"systemd-networkd-wait-online@.service"
|
|
|
|
];
|
2022-06-06 15:21:37 +01:00
|
|
|
};
|
|
|
|
|
2022-05-23 00:57:25 +01:00
|
|
|
services.resolved = {
|
|
|
|
domains = [ config.networking.domain ];
|
|
|
|
# Explicitly unset fallback DNS (Nix module will not allow for a blank config)
|
|
|
|
extraConfig = ''
|
|
|
|
FallbackDNS=
|
2022-05-28 13:57:01 +01:00
|
|
|
Cache=no-negative
|
2022-05-23 00:57:25 +01:00
|
|
|
'';
|
|
|
|
};
|
2022-05-16 00:05:02 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
(mkIf config.my.build.isDevVM {
|
|
|
|
networking.interfaces.eth0.useDHCP = mkDefault true;
|
|
|
|
virtualisation = {
|
|
|
|
forwardPorts = flatten [
|
|
|
|
(optional config.services.openssh.openFirewall { from = "host"; host.port = 2222; guest.port = 22; })
|
|
|
|
];
|
|
|
|
};
|
|
|
|
})
|
|
|
|
];
|
|
|
|
}
|