A few annecdotal NixOS install UX issues

I was trying to install NixOS on a friend’s laptop (first time I did this in minute) and ran into these issues:

  1. When I booted into graphical installer didn’t have a mouse cursor (?!), and I also couldn’t use Ctrl + Alt + F<N> (or similar, button mashing) to change into a text console

    • Wat! I think this might have been the second time I saw these problems too
    • There was no boot menu option to boot into text mode, so I had to reflash the USB drive with minimal installer
  2. The minimal installer doesn’t have Network Manager, and I don’t know how to use WPA supplicant :). I was able to un-stuck myself my doing USB teathering from my phone.

I am probably out of practice on this stuff, but my general takeaway is that while graphical stuff seems more user-friendly/user-framilar, there’s so much that can go wrong, especially while we’re still in the Wayland-X transition period, that I wonder if a rock-solid TUI is in fact the best UX.

7 Likes

On a separate note, motherboard firmware/UEFI stuff seems to be making installation hard too, though this isn’t really in our control.

  • Thankfully disabling secure boot seems always easy now in my experience.

  • Windows “shutting down” seems to not actually shut down? Or at least, when you start back up, it seems to make so hitting the F<N> key to go to the UEFI firmware settings menu doesn’t work. I guessed that restarting from Windows, would, in contrast, do a real shutdown that allowed getting back to the boot menu.

  • In general seems like there is a bazillion hidden firmware state. You have to “have the magic touch”, knowing when to crash it and try again if it doesn’t seem to be booting but there isn’t anything permanently wrong. Also had the UEFI software freeze when changing the boot menu order because it doesn’t like the USB drive now? When that happened also the F<N> key for the boot menu did not work, but systemd-boot → the firmware interface did work.

1 Like

Might be a dumb question but does nixosTests catch these kinds of graphical issues? or maybe some openqa setup for nixos (if it is possible to do so)?

+1 on NetworkManager, the Wi-Fi experience is terrible in minimal installer

I would doubt that is possible, as I am guessing the graphics is somewhat hardware specific.

1 Like

It has been my experience that asking windows to reboot into uefi is the only way to get this to reliably work due to fast boot / fast startup (8 vs 10/11) Distinguishing Fast Startup from Wake-from-Hibernation - Windows drivers | Microsoft Learn.

2 Likes

Works fine for me.

Though I had to switch from media to function keys in my laptops firmware.

Alternatively I had to press the “Fn” key together with a media key.

On my laptop only the left ctrl and alt keys work to go to the TTY. Maybe that happened here.

I think there was an issue where the Fn key was not working, and so I was just getting media keys. I was going to try to flip the default in the UEFI settings as a work-around, but the UEFI was consistently crashing rather than saving settings. It might be pop-the-CMOS-battery time.

(I won’t be touching this laptop for a while, so don’t suggest things with the expectation I’ll try them and get back. But I am still happy to hear about other people’s experience, for if/when I do try again with this laptop later.)

Sounds like a very good idea to just have the minimal nixos installer an specialization inside the graphical installer. Regarding TUI vs UI, I have just a QR code displayed so that the actual installation can happen on a different Linux machine with all the whistles and bells GitHub - nix-community/nixos-images: Automatically build (netboot) images for NixOS [maintainer=@Mic92]

However I think the graphical installer is actually pretty good if it doesn’t fail like in your case. I have run NixOS installation parties, where people didn’t require any guidance to get a running NixOS installation, so I could proceed with explaining NixOS after they booted into their installed machines.

4 Likes

Given that this is basically the only complaint about the minimal installer, could a simple improvement be adding NetworkManager to the minimal installer? nmtui is a little more intuitive than using wpa_cli.

6 Likes

In the unstable ISO, the “Options” submenu has a “Disable display-manager” entry which also disables plymouth. On stable, it’s in the “HiDPI and accessibility” submenu and it doesn’t disable plymouth.

I think NetworkManager in the minimal ISO is probably a good idea.

It seems to me that there are a lot of UEFI firmwares out there that are just… painfully buggy. I’ve been toying with revamping the ISO to be more firmware-friendly by formatting more similarly to Ubuntu’s ISO9660 formatting and switching to systemd-boot for UEFI and limine for legacy BIOS. Grub and syslinux just don’t really cut it these days IMO. Unfortunately I don’t have any of the hardware with the buggy firmware I’m trying to fix for, e.g. some of the stuff mentioned in various reports in this thread.

This is an option, now that my specialisations PR is merged. I think we probably need to basically eliminate the minimal profile it uses though, since it makes some really strange and unpleasant choices in the name of saving a small amount of space. Regardless, I’m not sure how much value this adds over the “Disable display-manager” boot entry mentioned before; but maybe we could have this specialisation instead of that.

6 Likes

Oh is it doing GRUB when booted from UEFI? I was wondering why the boot menu was so graphical, haha. Was sketching me out.

Also, I think the missing mouse cursor had something to do with the trackpad being unrecongized as an input device, and just the touchscreen recognized. In fact, at some point, when booting to Windows there was also no cursor! I guess not having a mouse + yes having a touchscreen would cause some clever software to skip the cursor in both implementations.

That still raises the question of why the hell did the the trackpad (not exactly fancy hardware) disappear for both OSes, but I will chock that down to the UEFI firmware being shitty. There might be a setting to disable the trackpad (ironically it was working from within the firmware settings GUI), but I don’t think I changed it.