From f1a8c4e17443a1ef4e9ba7c723644a1605439dc0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Felix=20Schr=C3=B6ter?= <dev@felschr.com>
Date: Sat, 10 May 2025 19:02:48 +0200
Subject: [PATCH 1/3] fix(networking): do not enable NetworkManager by default

---
 system/networking.nix | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/system/networking.nix b/system/networking.nix
index 3c50fc7..2699bbc 100644
--- a/system/networking.nix
+++ b/system/networking.nix
@@ -22,10 +22,7 @@ in
   networking.nameservers = if isAdguardHost then nameservers.local else nameservers.remote;
 
   networking.nftables.enable = true;
-  networking.networkmanager = {
-    enable = true;
-    dns = "systemd-resolved";
-  };
+  networking.networkmanager.dns = "systemd-resolved";
 
   systemd.network = {
     enable = true;

From c684cebb45b0007d1a23634a0da8e0f89c3e7fdb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Felix=20Schr=C3=B6ter?= <dev@felschr.com>
Date: Sat, 10 May 2025 19:03:07 +0200
Subject: [PATCH 2/3] feat(networking): enable DHCP by default

---
 hardware/lattepanda.nix | 8 --------
 system/networking.nix   | 2 ++
 2 files changed, 2 insertions(+), 8 deletions(-)

diff --git a/hardware/lattepanda.nix b/hardware/lattepanda.nix
index b9a230b..0239167 100644
--- a/hardware/lattepanda.nix
+++ b/hardware/lattepanda.nix
@@ -53,14 +53,6 @@
     fsType = "vfat";
   };
 
-  # Enables DHCP on each ethernet and wireless interface. In case of scripted networking
-  # (the default) this is the recommended approach. When using systemd-networkd it's
-  # still possible to use this option, but it's recommended to use it in conjunction
-  # with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
-  networking.useDHCP = lib.mkDefault true;
-  # networking.interfaces.enp2s0.useDHCP = lib.mkDefault true;
-  # networking.interfaces.wlo1.useDHCP = lib.mkDefault true;
-
   powerManagement.cpuFreqGovernor = lib.mkDefault "powersave";
   hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
 }
diff --git a/system/networking.nix b/system/networking.nix
index 2699bbc..8aa8c37 100644
--- a/system/networking.nix
+++ b/system/networking.nix
@@ -19,6 +19,8 @@ let
   };
 in
 {
+  networking.useDHCP = lib.mkDefault true;
+
   networking.nameservers = if isAdguardHost then nameservers.local else nameservers.remote;
 
   networking.nftables.enable = true;

From 042d70cb3d430eff34027a167979284218825a3c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Felix=20Schr=C3=B6ter?= <dev@felschr.com>
Date: Sat, 10 May 2025 19:03:25 +0200
Subject: [PATCH 3/3] feat(home-server): always enable DHCP for initrd

---
 hosts/home-server/default.nix | 1 +
 1 file changed, 1 insertion(+)

diff --git a/hosts/home-server/default.nix b/hosts/home-server/default.nix
index 3080828..f3c7e0a 100644
--- a/hosts/home-server/default.nix
+++ b/hosts/home-server/default.nix
@@ -141,6 +141,7 @@ in
   boot.initrd.availableKernelModules = [ "igb" ];
   boot.initrd.network = {
     enable = true;
+    udhcpc.enable = true;
     ssh = {
       enable = true;
       hostKeys = map (f: f.path) hostKeys;