nixcfg/modules/nixos/hardware/networking/default.nix
2024-01-11 10:31:04 +00:00

33 lines
852 B
Nix

{ options, config, pkgs, lib, ... }:
with lib;
with lib.plusultra;
let cfg = config.plusultra.hardware.networking;
in
{
options.plusultra.hardware.networking = with types; {
enable = mkBoolOpt false "Whether or not to enable networking support";
hosts = mkOpt attrs { }
(mdDoc "An attribute set to merge with `networking.hosts`");
};
config = mkIf cfg.enable {
plusultra.user.extraGroups = [ "networkmanager" ];
networking = {
hosts = {
"127.0.0.1" = [ "local.test" ] ++ (cfg.hosts."127.0.0.1" or [ ]);
} // cfg.hosts;
networkmanager = {
enable = true;
dhcp = "internal";
};
};
# Fixes an issue that normally causes nixos-rebuild to fail.
# https://github.com/NixOS/nixpkgs/issues/180175
systemd.services.NetworkManager-wait-online.enable = false;
};
}