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.
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 .
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.
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.