| 29 Jun 2025 |
hexa | https://github.com/NixOS/calamares-nixos-extensions/blob/63620df329c29fafc4928414fcde5d73f5b24f31/modules/nixos/main.py#L538-L543 | 05:47:55 |
@emma:rory.gay | * that reminds me of installing nixos for the first time in the middle of class lol (using the headless iso, /me grumbles in i686), NM would have been convenient, though not what i wouldve expected either for an install iso | 05:48:09 |
hexa | not sure why we hate our enlightenment users, but that's probably a design choice that goes over my head 😛 | 05:48:30 |
hexa | as long as we don't package xlibre I'm fine | 05:48:44 |
@emma:rory.gay | enlightenment preferences is why | 05:49:04 |
ElvishJerricco | oh does the graphical installer already enable networkmanager by default? | 05:49:34 |
ElvishJerricco | huh | 05:49:36 |
ElvishJerricco | look, more reasons it shouldn't be decoupled from nixos-generate-config... | 05:49:49 |
@emma:rory.gay |
Enlightenment's preferred network manager is ConnMan which can be installed from the connman package. Follow the instructions on ConnMan to do the configuration.
| 05:49:49 |
hexa | https://github.com/search?q=repo%3ANixOS%2Fcalamares-nixos-extensions%20usedhcp&type=code | 05:50:10 |
hexa | so good that you are testing for usedhcp 😛 | 05:50:17 |
ElvishJerricco | (I'm gonna test real quick to make sure the graphical installer enables networkmanager; it wouldn't be the first time the code seemed to say one thing and it did another) | 05:52:03 |
ElvishJerricco | indeed it does | 05:59:14 |
hexa |  Download image.png | 06:02:57 |
hexa | 🐌 | 06:03:07 |
hexa | "quickly" testing the minimal installer | 06:03:47 |
hexa |  Download image.png | 06:20:00 |
hexa | that implies that gpg-agent requires a suid wrapper, no? 😄 | 06:20:17 |
@emma:rory.gay | mtr is above that, no? | 06:22:31 |
hexa | yes, but it is grouped with mtr | 06:22:41 |
@emma:rory.gay | in this case it feels like the suid wrapper thing applies to the former while the other 2 things are where gnupg comes in to demo | 06:23:29 |
emily | 💯 | 12:02:58 |
emily | would :1000: if I could | 12:03:00 |
emily | most projects that don't languish grow more than fast enough to be challenging without any explicit effort | 12:03:38 |
emily | and NixOS in particular is basically incapable of being everything to everyone, there's very little reason for anyone who doesn't want to program their distro to use it (directly; it could of course be a good backend to an end-user-focused distribution) | 12:07:35 |
emily | for something like 15 years now my standard response to people who come in to a space like "convince me why I should use your language/distro/…" has been "shrug probably you shouldn't if you don't want to?" | 12:08:33 |
emily | anyway after sleeping (badly) on it the NM by default plan makes sense. my remaining concerns are twofold
- "NixOS is declarative, right? I want to make my IP static (or whatever). let's search how to do that. hm, apparently it's
networking.*" – now you're mixing NM and scripted networking
- when we switch to networkd by default, risks of potential conflicts between NM and networkd when people do want to declare parts of their networking config
for the former, we can probably solve that by useNetworkd by default + deprecation notices in the networking.* docs + gradually getting rid of stuff. I assume that if we're not relying on useDHCP any more then ElvishJerricco's qualms with the interface simplicity don't apply and we're okay with making people learn systemd.network.networks."40-foo" = { name = "enp1s0"; networkConfig.Address = "1.2.3.4/24"; ); rather than networking.interfaces.enp1s0.ipv4.addresses = [ { address = "1.2.3.4"; prefixLength = 24; } ];, which is both shorter and also will make it explicitly clear to people when they are mixing networkd and NM.
I haven't tried doing the latter myself but I guess it's probably a well-trodden enough path that it works fine as long as you're not explicitly configuring conflicting things?
| 12:15:39 |
emily | NM in initrd when? | 12:16:31 |
emily | oh I missed this part, it was precisely Haskell that taught me this lesson :) | 12:55:39 |
emily | FWIW, the intended parse is "avoid (success at all costs)", not "(avoid success) at all costs", though the ambiguity may be a deliberate joke | 12:56:00 |