| 29 Jun 2025 |
emily | a new user who doesn't know how to adjust their networking config but wants to opt into scripted networking is not a relevant use case | 04:27:24 |
emily | the only reason we don't remove scripted networking tomorrow is existing users, not new ones | 04:27:41 |
ElvishJerricco | In an ideal world, nixos-generate-config generates as little as possible, and calls on abstractions to do the real work. That way we can improve what was generated without having to regenerate anything | 04:28:18 |
ElvishJerricco | it's worse to make a bunch of specific networkd configs than it is to just enable the most abstract possible options | 04:28:35 |
emily | but networkd config is their best attempt at abstract declarative configuration already | 04:29:03 |
ElvishJerricco | I mean | 04:29:13 |
ElvishJerricco | eh | 04:29:14 |
hexa | the configs we generate are basic enough that we should just generate the real thing and not the abstraction | 04:29:28 |
ElvishJerricco | useDHCP does not have a clean networkd implementation even though it is the sane default for a new thing | 04:29:28 |
emily | by a project with much more comparative expertise at that task compared to whatever random interface we accumulated since 2006 | 04:29:33 |
ElvishJerricco | I mean no, my whole point is that I don't want hardware-configuration.nix to contain any sort of ideas about how things should be implemented | 04:30:15 |
ElvishJerricco | because then it gets stale and we can't change it | 04:30:21 |
ElvishJerricco | for existing users | 04:30:25 |
emily | networking should probably not be part of hardware-configuration | 04:30:50 |
emily | at least that layer of it | 04:30:58 |
ElvishJerricco | e.g. useDHCP is implemented as Kind=!* IIRC and that's hopefully going to change one day so it would suck if that was baked into everyone's generated configs | 04:31:05 |
emily | anyway basic DHCP toggle or basic static IP is one thing, it's the more elaborate parts of networking.* that seem counterproductive to maintain forever | 04:31:40 |
emily | there's like five options that cover 90% of NixOS setups | 04:31:55 |
emily | anyone in the 10% can use networkd or NM directly | 04:32:12 |
ElvishJerricco | All I'm saying is that we shouldn't change nixos-generate-config. Whether we remove parts of the interface is another matter | 04:32:19 |
ElvishJerricco | We want hardware-configuration.nix to use abstractions | 04:32:27 |
ElvishJerricco | that's actively good for us as maintainers in the long run | 04:32:33 |
emily | it already does not really do a good job at that tbh | 04:33:42 |
emily | nixos-facter might achieve it more | 04:33:51 |