| 29 Jun 2025 |
hexa | we already have that with useNetworkd and I hate it | 02:19:08 |
Zhaofeng Li | but networkd configs are pretty nice to write I think :p | 02:20:39 |
Zhaofeng Li | it's also an escape hatch in case you end up hating ifstate and want to go back | 02:20:46 |
hexa | I get the appeal, but these are APIs we will not be able to deprecate | 02:21:37 |
hexa | even if they are bad | 02:21:40 |
hexa | like network.interfaces 😄 | 02:21:43 |
emily | is it that bad in the useNetworkd form? | 02:22:17 |
emily | ah, I guess you said as much | 02:22:33 |
hexa | there was something weird about that option that I don't remember anymore | 02:22:44 |
emily | pretty much guaranteed to end up hellish due to impedance mismatches for API surfaces that big | 02:23:03 |
hexa |
Note that this option is experimental, enable at your own risk.
| 02:23:08 |
hexa | for useNetworkd 😄 | 02:23:14 |
hexa | thanks linus | 02:23:17 |
emily | I think it was very near "switched on by default" stage at some point? | 02:23:49 |
emily | and then that just didn't happen | 02:23:55 |
emily | shim code for the options is certainly better than keeping scripted networking around indefinitely I think | 02:24:19 |
emily | I think probably most people using networkd are using it through useNetworkd | 02:24:44 |
hexa | https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/tasks/network-interfaces-systemd.nix | 02:25:59 |
hexa | basically an implementation that needs to be worked at for changes on both sides | 02:26:34 |
hexa | frankly, I don't get why people hate networking so much | 02:26:44 |
hexa | most boxes have just a wan interface and throwing static addresses and a gateway on it isn't hard | 02:27:07 |
hexa | or do dhc | 02:27:13 |
hexa | * or do dhcp | 02:27:14 |
emily | I think useDHCP is a sufficient compatibility shim for probably the majority of NixOS boxes in existence | 02:27:32 |
emily | but in the absence of scripted networking I don't think this file is too bad either, it is mostly just simple option mapping | 02:28:03 |
emily | that openvswitch stuff is awful though :) | 02:28:10 |
hexa | it feels like a code drop introducing technical debt for the most part | 02:29:07 |
hexa | the awful part is that people will never migrate away from network.interfaces that way | 02:29:24 |
hexa | * the awful part is that people will never migrate away from networking.interfaces that way | 02:29:44 |
hexa | like, what would be so hard about just running networking.dhcpcd.enable with allowInterfaces = [ "eth0" ] instead of useDHCP? | 02:30:35 |