| 29 Jun 2025 |
ElvishJerricco | Ok, well if we move it to configuration.nix, we have a different problem that also encourages keeping the abstraction: That file is meant to be the user's introduction to NixOS configuration. It should not contain scary implementation details. | 04:39:29 |
hexa | I really think we need to confront new users with networking 😄 | 04:39:35 |
ElvishJerricco | that isn't how it works with useNetworkd | 04:39:45 |
hexa | its just not okay to treat them with kids gloves | 04:39:45 |
emily | they're not scary implementation details | 04:39:53 |
emily | it's intended UI | 04:40:07 |
emily | if we think the UI is bad we can ship NM or whatever instead | 04:40:28 |
ElvishJerricco | Everything else we generate in configuration.nix is intended to be very simple and friendly. A networkd config is definitely lower level than anything else we put in there | 04:40:42 |
emily | but we can't maintain our own version of every part of the stack | 04:40:48 |
ElvishJerricco | It's literally just networking.useDHCP.... | 04:41:05 |
emily | In reply to @elvishjerricco:matrix.org Everything else we generate in configuration.nix is intended to be very simple and friendly. A networkd config is definitely lower level than anything else we put in there then let's default to NM which handles stuff OOTB without config? | 04:41:16 |
emily | In reply to @elvishjerricco:matrix.org It's literally just networking.useDHCP.... I'm fine with that option existing like I said | 04:41:33 |
emily | but I disagree with the idea that we can feasibly own all but the most trivial UX here | 04:42:03 |
emily | it's a deep domain knowledge area with a lot of modelling in the tools | 04:42:26 |
emily | we're not well positioned to maintain a UI to that any better than the projects already doing it | 04:42:42 |
hexa | so I missed that this was in hardware-configuration.nix to begin with | 04:42:45 |
ElvishJerricco | frankly, NM is kinda the simple default, which is why other distros default to it even on server installations. | 04:43:00 |
emily | I just said let's default to NM then :) | 04:43:14 |
hexa | yeah, then let's go for that | 04:43:19 |
emily | it's less NixOS-y but shrug | 04:43:40 |
emily | the average user has fairly dynamic networking configuration anyway | 04:43:56 |
emily | WiFi etc. | 04:43:59 |
hexa | we ship with mutableUsers = false as well 😛 | 04:44:00 |
emily | well that's unforgivable | 04:44:08 |
emily | also the source of more new user confusion than benefit probably :p | 04:44:23 |
hexa | we should just stateVersion that tbh 😛 | 04:44:29 |
emily | just today I had to tell someone why they couldn't change their password in their config | 04:44:35 |
hexa | yes, abuse of stateVersion, but. | 04:44:36 |
ElvishJerricco | so, do we just add networking.networkmanager.enable = true; to configuration.nix in nixos-generate-config? | 04:44:56 |
uep | usedhcp is a fine default for a generic system with wired interfaces, regardless of which dhcp mechanism delivers the implementation. On a server, maybe you want static on at least some interfaces, so sure, you add config for those.
The issue is wireless. If a wireless interface appears, adding a dhcp client gets in the way of whatever mechanism the user is going to use to set ssid and keys, and so it has to get out of the way | 04:45:16 |