33 lines
852 B
Nix
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;
|
||
|
};
|
||
|
}
|