I’m trying to get networkd to connect to a wireguard endpoint, specifically ProtonVPN, in case it matters. I just can’t get it to connect. Has anyone had success with that? Specifically without using wg-quick.
Have you tried to reduce your config to a minimum (like in the wiki) and add additional parts step by step? F.e. the link and route parts? So you can maybe identify the block/line which breaks your config.
Edit: I have never seen ActivationPolicy before. Is it NixOS specific? An additional idea how are your files named? systemd-networkd uses the name of the file as indicator for the initialization order (alphanumeric order is applied here). Which means that wireguard.network will be used xx.network. I mean the lower w is near the end of the ascii table, but the devil is in the details and maybe your ethernet or wifi connection will be established after wireguard and therefore wireguard will not be able to connect. F.e. wlan.network for example will come up after wireguard.network. (As I remember that would not be the case using wg-quick, because its unit file depends network-online.target.)
The ActivationPolicy
I added in an attempt to replicate what wg-quick
produces, as I recall.