systemd-networkd with wpa_supplicant to manage wireless with roaming support

Finally fed up with the many tools for managing wireless and even wired connections that just seem to cause more problems than the underlying tools I discussed with a friend the idea of networkd supporting roaming profiles for wireless. Searching around he found some super good information and this is what I ended up doing. I created these files:

The following finished off the setup:

# rm /etc/resolv.conf
# systemctl enable systemd-networkd
# systemctl enable wpa_supplicant@wlp3s0
# systemctl enable systemd-resolved
# systemctl start systemd-networkd
# systemctl start wpa_supplicant@wlp3s0
# systemctl start systemd-resolved
# ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf

I also elected to start using systemd-timesyncd.

# systemctl enable systemd-timesyncd
# systemctl start systemd-timesyncd

For a static ip replace DHCP=yes with the following:


The guide which this was pilfered from suggests using:
wpa_passphrase <ESSID> <passphrase> >> wpa_supplicant-wlp3s0.conf
to add new networks to the network pool. Happily borrowed from here