Pain points in the NixOS installation procedure

Let’s use this topic to share some pain points in the NixOS installation procedure and think about what we can do to improve.

(this discussion started in Marketing Team: Can we present Nix/NixOS better? but going into too much detail is off-topic there)

1 Like

One thing I’ve hit the last time is the absence of dead-easy way to connect to wifi from the cli installer. Arch has wifi menu, which makes the installation for a typical dev laptop so much easier. NixOS has nmcli (only in the non-minimal ISO I think?), but, if I my memories about wifi-menu are right, it is still more fiddly than possible.

4 Likes

In Marketing Team: Can we present Nix/NixOS better? - #42 by SRGOM @SRGOM mentioned:

For me this was indeed the main frustration: typing my long SSID, long password, and a long ethernet interface name into the wpa_supplicant felt like being back in the 90’s, and i had to do it several times because I had to go back and forth between my installed partition and the installer because I forgot to install the various tools needed to use the network in the installed partition.

I haven’t used iwctl but a TUI sounds great for the initial connection.

To prevent having to ‘go back and forth’ it would be nice to have a selection of pre-filled configuration.nix examples, including ones with ‘things you would typically need on a laptop/desktop’ (such as a window manager and the wifi tools).

I also enabled disk encryption, that was relatively simple but if we could make it even more obvious to people how to do that I think that would be a great improvement.

I found the installation to still be easier than Arch, by the way, but perhaps that is a low bar :smiley: .

5 Likes

Kind of related, maybe we could include this directly in the NixOS modules?

1 Like

I’ve wanted a way to build an ISO or netboot image for NixOS that will automatically install so that I can take over the host using NixOps. Something that works similarly to a preseed or kickstart file in other distros.

Right now, I’ve been importing the current installer infrastructure, adding a module which will conduct partitioning (of a fixed partition scheme), generate the NixOS config, and splice in a import for a configuration file which enables SSH, and sets some passwords, adds keys - just the stuff necessary for NixOps to connect.

I’d love to do this in a more robust way, it works, but it’s definitely a pain point if you’re rolling out NixOS (via NixOps) to a lot of bare metal hosts.

1 Like

I don’t think there are that many problems, and everyone seems to be on the same page:

  • disk partitioning
  • disk encryption
  • network setup

I don’t know how to make them easier, but any affordances made on these things will make the process of getting up and running just a little bit faster.

5 Likes

Confirming that minimal doesn’t have NetworkManager.

In addition to nmcli there’s also nmtui-connect which is quite intuitive as far as connecting to wifi goes.

1 Like