# Pain points in the NixOS installation procedure

**URL:** https://discourse.nixos.org/t/pain-points-in-the-nixos-installation-procedure/6546
**Category:** Development
**Created:** [April 3, 2020, 1:23pm UTC](https://discourse.nixos.org/t/pain-points-in-the-nixos-installation-procedure/6546 "2020-04-03T13:23:30Z")
**Posts on this page:** 7
**Page:** 1

<div class="post-metadata">

### Author: ![raboof](https://discourse.nixos.org/user_avatar/discourse.nixos.org/raboof/32/1681_2.png) [@raboof](https://discourse.nixos.org/u/raboof)
#### Post date: [April 3, 2020, 1:23pm UTC](https://discourse.nixos.org/t/pain-points-in-the-nixos-installation-procedure/6546/1 "2020-04-03T13:23:30Z")

</div>

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?](https://discourse.nixos.org/t/marketing-team-can-we-present-nix-nixos-better/6249) but going into too much detail is off-topic there)

---

<div class="post-metadata">

### Author: ![matklad](https://discourse.nixos.org/user_avatar/discourse.nixos.org/matklad/32/26467_2.png) [@matklad](https://discourse.nixos.org/u/matklad)
#### Post date: [April 3, 2020, 1:34pm UTC](https://discourse.nixos.org/t/pain-points-in-the-nixos-installation-procedure/6546/2 "2020-04-03T13:34:12Z")

</div>

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](https://wiki.archlinux.org/index.php/Netctl), 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.

---

<div class="post-metadata">

### Author: ![raboof](https://discourse.nixos.org/user_avatar/discourse.nixos.org/raboof/32/1681_2.png) [@raboof](https://discourse.nixos.org/u/raboof)
#### Post date: [April 3, 2020, 1:37pm UTC](https://discourse.nixos.org/t/pain-points-in-the-nixos-installation-procedure/6546/3 "2020-04-03T13:37:51Z")

</div>

In [Marketing Team: Can we present Nix/NixOS better? - #42 by SRGOM](https://discourse.nixos.org/t/marketing-team-can-we-present-nix-nixos-better/6249/42) @SRGOM mentioned:

> [@Marketing Team: Can we present Nix/NixOS better?](https://discourse.nixos.org/t/marketing-team-can-we-present-nix-nixos-better/6249/42):
>
> Starting internet. We could just have `iwd` as default. Which has a much simpler interface using iwctl tui. No more `wpa_supplicant` and it’s quirks. But even otherwise, there could be a tui that asks user to enter username and pwd for wifi, and do a rebuild switch in the live environment (if it works at all).

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

---

<div class="post-metadata">

### Author: ![Shou](https://discourse.nixos.org/user_avatar/discourse.nixos.org/shou/32/2174_2.png) [@Shou](https://discourse.nixos.org/u/Shou)
#### Post date: [April 3, 2020, 2:00pm UTC](https://discourse.nixos.org/t/pain-points-in-the-nixos-installation-procedure/6546/4 "2020-04-03T14:00:57Z")

</div>

> [@raboof](#):
>
> 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).

> **[GitHub - NixOS/nixos-hardware: A collection of NixOS modules covering hardware...](https://github.com/NixOS/nixos-hardware)**
>
> A collection of NixOS modules covering hardware quirks.

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

---

<div class="post-metadata">

### Author: ![davidtwco](https://discourse.nixos.org/user_avatar/discourse.nixos.org/davidtwco/32/9897_2.png) [@davidtwco](https://discourse.nixos.org/u/davidtwco)
#### Post date: [April 3, 2020, 4:33pm UTC](https://discourse.nixos.org/t/pain-points-in-the-nixos-installation-procedure/6546/5 "2020-04-03T16:33:29Z")

</div>

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.

---

<div class="post-metadata">

### Author: ![acowley](https://discourse.nixos.org/user_avatar/discourse.nixos.org/acowley/32/32_2.png) [@acowley](https://discourse.nixos.org/u/acowley)
#### Post date: [April 3, 2020, 6:12pm UTC](https://discourse.nixos.org/t/pain-points-in-the-nixos-installation-procedure/6546/6 "2020-04-03T18:12:46Z")

</div>

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.

---

<div class="post-metadata">

### Author: ![b42](https://discourse.nixos.org/user_avatar/discourse.nixos.org/b42/32/2298_2.png) [@b42](https://discourse.nixos.org/u/b42)
#### Post date: [April 3, 2020, 8:24pm UTC](https://discourse.nixos.org/t/pain-points-in-the-nixos-installation-procedure/6546/7 "2020-04-03T20:24:59Z")

</div>

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.
