Why is systemd-networkd not enabled from the beginning?

Probably 'cause your system is not using it? Maybe NetworkManager?

It sounds like you don’t know enough about what’s going on - don’t touch it - the installer defaults are usually okay for most people and smart enough. I hardly ever have to tweak my network configuration - it mostly just works from the moment of install (I mostly use DHCP - but - e.g. on my desktop machine with Pop!_OS 22.04 - I run my Synergy KVM “server” - so it needs a fixed IP address - so I set it in the Gnome Settings “Network” applet - but - its also outside the DHCP scope of my router, and regardless, I have a static lease set for that IP address in my router, regardless).

Pop!_OS 22.04 system (x86_64 on a ThinkPad E495) :

╭─x@fenrix ~  
╰─➤  sudo systemctl status systemd-networkd
○ systemd-networkd.service - Network Configuration
     Loaded: loaded (/lib/systemd/system/systemd-networkd.service; disabled; vendor preset: enabled)
     Active: inactive (dead)
TriggeredBy: ○ systemd-networkd.socket
       Docs: man:systemd-networkd.service(8)

Debian 9 system (Raspbian 9) :

╭─x@telesto ~  
╰─➤  sudo systemctl status systemd-networkd
● systemd-networkd.service - Network Service
   Loaded: loaded (/lib/systemd/system/systemd-networkd.service; disabled; vendor preset: enabled)
   Active: inactive (dead)
     Docs: man:systemd-networkd.service(8)

Debian 12 system (Raspbian 12) :

╭─x@frambo ~  
╰─➤  sudo systemctl status systemd-networkd
○ systemd-networkd.service - Network Configuration
     Loaded: loaded (/lib/systemd/system/systemd-networkd.service; disabled; preset: enabled)
     Active: inactive (dead)
TriggeredBy: ○ systemd-networkd.socket
       Docs: man:systemd-networkd.service(8)
             man:org.freedesktop.network1(5)an 12 system (Raspbian 12) :

Debian 11 system (Raspbian 11) :

x@anthe  ~  sudo systemctl status systemd-networkd
● systemd-networkd.service - Network Service
     Loaded: loaded (/lib/systemd/system/systemd-networkd.service; disabled; vendor preset: enabled)
     Active: inactive (dead)
TriggeredBy: ● systemd-networkd.socket
       Docs: man:systemd-networkd.service(8

The ONLY system I have that’s running systemd-networkd is Ubuntu 24.04 on a Raspberry Pi5 :

╭─x@razuberi ~  
╰─➤  sudo systemctl status systemd-networkd
● systemd-networkd.service - Network Configuration
     Loaded: loaded (/usr/lib/systemd/system/systemd-networkd.service; disabled; preset: enabled)
     Active: active (running) since Tue 2025-03-11 09:15:00 AWST; 2 weeks 0 days ago
TriggeredBy: ● systemd-networkd.socket
       Docs: man:systemd-networkd.service(8)
             man:org.freedesktop.network1(5)
   Main PID: 14519 (systemd-network)
     Status: "Processing requests..."
      Tasks: 1 (limit: 9061)
   FD Store: 0 (limit: 512)
     Memory: 2.4M (peak: 3.3M swap: 244.0K swap peak: 244.0K zswap: 34.0K)
        CPU: 1min 38.464s
     CGroup: /system.slice/systemd-networkd.service
             └─14519 /usr/lib/systemd/systemd-networkd

Note: it says its disabled - but it’s still running (“active (running)”) - don’t ask me to explain why, I don’t know and I don’t care enough to find the answer.

If I look at my network settings on the Pi5 (Ubuntu 24.04) :

╭─x@razuberi ~  
╰─➤  nmcli -p device                                                                                                                                          2 ↵
=====================
  Status of devices
=====================
DEVICE         TYPE      STATE                   CONNECTION   
------------------------------------------------------------------------------------
eth0           ethernet  connected               netplan-eth0 
wlan0          wifi      connected               REDACTED   
lo             loopback  connected (externally)  lo           
p2p-dev-wlan0  wifi-p2p  disconnected

This shows that the NetworkManager config is coming via netplan (“netplan-eth0”)

My other Ubuntu 24.04 (a Dell Latitude 7270) isn’t running systemd-networkd :

╭─x@mimasii ~  
╰─➤  systemctl status systemd-networkd                                                                                     3 ↵
○ systemd-networkd.service - Network Configuration
     Loaded: loaded (/usr/lib/systemd/system/systemd-networkd.service; disabled; preset: enabled)
     Active: inactive (dead)
TriggeredBy: ○ systemd-networkd.socket
       Docs: man:systemd-networkd.service(8)
             man:org.freedesktop.network1(5)
   FD Store: 0 (limit: 512)

It’s “loaded” but inactive… So it’s not really running…

All the above are working just fine for me - I don’t need to fiddle with anything there…

My Debian 9 uses dhcpcd, Debian 11 and 12 are using NetworkManager, Ubuntu 24.04 x64 is using netplan / NetworkManager (renderer: NetworkManager), Pop!_OS is using NetworkManager…

Note : there is no systemd unit file for systemd-networkd on my RHEL9 VM - so it’s purely running NetworkManager and using NetworkManager alone…

So this begs the question - WHY do you think you need to fiddle with this stuff? Don’t mean to sound rude - but I’m curious what you’re hoping to achieve…