Nix installer workgroup

Here are the notes from 2023-03-29!
  • (upstream) GitHub Action
    • If nix-installer is, then the action will be
  • Single user install
  • Mac SSL issues
  • Increasingly exotic environments
  • mac zsh ssh/PATH-order issue?
  • Long-term plans
    • What does Theophane think is the most right thing to do, re: upstreaming the DNI?
      • nobody really understands the current installer / touches it except reluctantly
      • does Nix want to maintain their installer, or adopt the DNI?
      • Theophane is in favor of upstreaming, since it is technically superior, even though it doesn’t support some use cases.
      • unsupported cases:
        • single user mode, probably the biggest case
      • could fall back to the current installer in cases it doesn’t work
      • what comes from non-trivial bugs / regression reports?
      • Travis: generally in favor of this as well.
        • Are there major regressions or feature gaps? Are these feature gaps problems that need fixing?
      • Ana: any problem with the fact that DNI is in Rust?
        • Theophane: no
        • Travis: Bash is popular, but it isn’t helping us get quality contributions
        • Theophane: does make bootstrapping problems more complex, but this is not strictly an issue for the installer
        • Travis: If there is a downside, it isn’t end-user hackable.
          • For example: a user could download the installer and hack in a new UID or whatever… which may mean that user is less likely to contribute an upstream fix
      • Ana: would the Nix project want to upstream the backend that takes the backend which redirects based on branches and PRs?
        • Theophane: unclear, DNI is useful with just S3 or whatever
      • Travis: should the installer work with older versions of Nix?
        • Ana: We don’t now, but potentially we could?
        • Theophane: currently its tied to a specific version
        • Graham: would rather not take on the technical complexity needed to support many versions of Nix
      • Graham: Who gets to choose? What’s the process?
        • Theophane: trusts your judgement to decide…
          • Who is going to make the effort to do it?
        • Travis:
          • intermediate step makes the current URLs continue to work as-is
          • start pulling the Rust version in as a non-primary version
          • encourage people to start testing the Rust version … in the event they’re having trouble.
      • Théophane: What would upstreaming look like from the Determinate Systems side?
        • DetSys would probably keep its own version as a way to freely experiment and keep it opinionated
        • Upstream would be a fork of that installer
        • The Nix org could also use the public rust library and create a modified version of the DNI
        • A peculiarity of the DNI is that it sends automated reports on installation failures. That probably wouldn’t work for upstream, and cause the DetSys version to be aware of some problems earlier
      • Travis:
        • Automation could automatically send patches from the DNI repo to a Nix installer repo
      • Matthew:
        • Long term, who is maintaining the Nix version of the repo?
        • Theophane: Installer WG would be a good fit
      • Next Steps:
        1. Theophane to check with the Nix team to:
          • officially say they want to experiment with it.
          • Create a fork under the NixOS org and produce binaries, made available at a convenient “official” URL which is not the main installer URL
          • Recommend using the Rust installer experimentally, or as a fallback if the bash version doesn’t work.
        2. ???
        3. Install nix

TLDR next steps for the DetSys installer are:

  1. Theophane to check with the Nix team to:
  • officially say they want to experiment with it.
  • Create a fork under the NixOS org and produce binaries, made available at a convenient “official” URL which is not the main installer URL
  • Recommend using the Rust installer experimentally, or as a fallback if the bash version doesn’t work.
5 Likes