Currently we have two implementations of the basic network options (like networking.interfaces
), namely the old scripted implementation, and systemd-networkd. We should make the latter the default and (eventually) drop the former.
This would also remove dhcpcd and possibly replace openresolv by systemd-resolved.
What's the timeline for it? I'm a little bit worried that by dropping the scripted implementation it gets quite hard to realize network setups that systemd-networkd
was not specifically designed for. Network setups that can be realized within the scripted implementation, like, e.g., #10000, would have to be implemented, and upstreamed, in systemd-networkd
. Well, I can clearly see the advantages of when things work within systemd-networkd
, but I wouldn't rush to drop the currently scripted implementation.
Note to self: we can remove the legacy nixos/modules/services/hardware/80-net-setup-link.rules
when using systemd-networkd.
A good article explaining the benefits and path to migration https://tlhp.cf/systemd-networkd-migration-and-benchmarks/
Bumping milestone.
Is there still a chance this will happen for 16.09?
Not really.
One argument in favor of rethinking the networking.*
abstraction: https://github.com/NixOS/nixpkgs/issues/18962
I'm really in favor of this switch, and am using networkd with nixos where it's possible already.
One big problem is: networkd is not suitable for (changing) wifi configuration. So for mobile devices we will still have to provide a non-networkd path. Imo it would be enough to recommend network-manager for this use case so we can drop most of the scripted stuff..
What do others think about this?
Well, not being able to support wifi configurations makes it unsuitable as the default option at least...
Wifi config seems orthogonal to using networkd for base network configuration. Any interfaces not managed by networkd will continue to work in an unmanaged mode, which other daemons like NetworkManager can happily manage for you if you need easy wifi configuration.
@edolstra networkd supports wifi now
This is a blocker: https://github.com/NixOS/nixpkgs/issues/62034
For someone that wants to use networkd now, what is the best guide/resource to follow?
I've tried
networking = {
useDHCP = false;
useNetworkd = true;
};
and it doesn't work.
cc @haslersn maybe easily doable for you as you migrated our ansible infrastructure?
Hello, I'm a bot and I thank you in the name of the community for opening this issue.
To help our human contributors focus on the most-relevant reports, I check up on old issues to see if they're still relevant. This issue has had no activity for 180 days, and so I marked it as stale, but you can rest assured it will never be closed by a non-human.
The community would appreciate your effort in checking if the issue is still valid. If it isn't, please close it.
If the issue persists, and you'd like to remove the stale label, you simply need to leave a comment. Your comment can be as simple as "still important to me". If you'd like it to get more attention, you can ask for help by searching for maintainers and people that previously touched related code and @ mention them in a comment. You can use Git blame or GitHub's web interface on the relevant files to find them.
Lastly, you can always ask for help at our Discourse Forum or at #nixos' IRC channel.
This is probably still a goal.
Would it be possible for stalebot to skip milestoned issues?
A label would have to be added here https://github.com/NixOS/nixpkgs/blob/master/.github/stale.yml#L7.
Most helpful comment
@edolstra networkd supports wifi now