diff options
Diffstat (limited to 'modules/services/nixos/networking')
| -rw-r--r-- | modules/services/nixos/networking/default.nix | 18 | ||||
| -rw-r--r-- | modules/services/nixos/networking/iwd.nix | 27 | ||||
| -rw-r--r-- | modules/services/nixos/networking/networkmanager.nix | 15 |
3 files changed, 60 insertions, 0 deletions
diff --git a/modules/services/nixos/networking/default.nix b/modules/services/nixos/networking/default.nix new file mode 100644 index 0000000..68c794c --- /dev/null +++ b/modules/services/nixos/networking/default.nix @@ -0,0 +1,18 @@ +{ + imports = [ + ./iwd.nix + ./networkmanager.nix + ]; + + config = { + services.resolved = { + enable = true; + domains = [ + "10.0.0.1" + "10.0.0.10" + ]; + }; + + networking.resolvconf.enable = false; + }; +} diff --git a/modules/services/nixos/networking/iwd.nix b/modules/services/nixos/networking/iwd.nix new file mode 100644 index 0000000..441498d --- /dev/null +++ b/modules/services/nixos/networking/iwd.nix @@ -0,0 +1,27 @@ +{ + lib, + config, + ... +}: let + cfg = config.collinux.services.networking; +in + lib.mkIf (cfg.enable && cfg.iwd.enable) { + networking = { + wireless.iwd = { + enable = true; + settings = { + General = { + EnableNetworkConfiguration = true; # use builtin dhcp client + AddressRandomization = "once"; + }; + Network.NameResolvingService = "systemd"; # either systemd or resolvconf + }; + }; + + # Disable default networking stuff + dhcpcd.enable = false; + useDHCP = false; + networkmanager.enable = false; + }; + systemd.network.enable = lib.mkForce false; + } diff --git a/modules/services/nixos/networking/networkmanager.nix b/modules/services/nixos/networking/networkmanager.nix new file mode 100644 index 0000000..f22f922 --- /dev/null +++ b/modules/services/nixos/networking/networkmanager.nix @@ -0,0 +1,15 @@ +{ + lib, + config, + ... +}: let + cfg = config.collinux.services.networking; +in + lib.mkIf (cfg.enable && cfg.networkmanager.enable) { + networking = { + nameservers = ["1.1.1.1" "1.0.0.1"]; + enableIPv6 = false; + + networkmanager.enable = true; + }; + } |
