---
# System prepended metadata

title: 'Nix Installer WG #3 2022-10-12'

---

# Nix Installer WG #3 2022-10-12

Travis Everett
Ana Hobden
Solene Rapenne
Theophane Hufschmitt
Matthew Kenigsberg
Graham Christensen
Matthias Nösner

---

## Agenda

### Will the DetSys installer actually be usable?

* It has been private for some time.
    * DetSys will make it open.
    * Note that we're still pushing to master as we experiment.
    * Feel free to experiment, but if you're about to invest real time into something -- let's talk about it first.

### What is the timeline?

Travis: At what point might we suggest people use it / will it be harder to make changes to the upstream installer?

### What is the acceptance criteria?

Graham: At DetSys, we're trying really hard to avoid "deciding for" the greater community that the installer we're working on is to be the official one. We want the greater community to want and choose it, or not -- which would be okay too: it is an experiment.

Ana: should the installer mirror the existing upstream one?

Eelco: ideally, but if it is making opinionated choices, we should check with the greater community to see what they think.

Solene: if people want those other features, they can make those changes with PRs.

Theophane: I don't know single user mode, but it sounds like a red herring since it is so simple to install. Could fall back to a bash script.

Graham: If people want single-user Nix, we can encourage the static built Nix.

#### specifics

* MVP line where we show it off to the community.
* Let's not hash it out too far.
* Linux
    * should we support non-systemd machines?
        * No.
        * Solene: non systemd linux active sorted by popularity https://distrowatch.com/search.php?ostype=Linux&category=All&origin=All&basedon=All&notbasedon=None&desktop=All&architecture=All&package=All&rolling=All&isosize=All&netinstall=All&language=All&defaultinit=Not+systemd&status=Active#simple
    * what about Alpine?
        * better supported by some sort of "container" installation of Nix
    * x86_64
    * aarch64
* MacOS
    * x86_64
    * aarch64
* Multi-user at a minimum
* Single-user very probably
* Uninstaller
* Idempotency
* Shells:
    * Bash
    * ZSH
    * Fish
* Be intentional about what we break from the old installer and potential migration paths

Nice to have:
* FreeBSD, perhaps, in the future.
* rolling back on failure (We have)
* Upgrade Nix via the installer?
* repair
* self-test shell profile
* Customizability to some degree, perhaps with flags

#### Questions

* Is armv6/armv7 still relevant? See https://github.com/NixOS/nix/pull/7056
* How does direnv support multiple shells?
* How will we continue supporting all the existing users who are automating the installation of Nix?

### How could we make Nix easier to install?

* Dynamic users
* systemd / launchd units
* Perhaps systemd Portable Services?
* Github action
* Minimize environment variables that need to be set

## Nix installer todos

Maybe we should drop armv6 or armv7 support from the current installer?
Hydra doesn't build packages for these architectures.

