The Determinate Nix Installer

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • nix

    Nix, the purely functional package manager

  • Does the multi-user mode work on SELinux-enabled systems and, if not, is it possible to install in single-user mode? The default installer's multi-user mode doesn't work with SELinux enforcing (https://github.com/NixOS/nix/issues/2374), and I didn't see a flag for enabling single-user mode when I used `install --help`. (There are some projects to make SELinux support work like https://github.com/dnkmmr69420/nix-with-selinux, but it's not clear to me if that would even work with this installer in particular.)

  • nix-installer

    Install Nix and flakes with the fast and reliable Determinate Nix Installer, with over 2 million installs.

  • Thanks! The end result is not quite the same. For example, we turn on flakes, nix-command, and make a couple other minor tweaks to the Nix configuration to make what we think are user-friendly improvements. For example: https://github.com/DeterminateSystems/nix-installer/blob/mai...

    Our installer also supports some environments that the upstream installer has a harder time with.

    The new installer can't _yet_ uninstall a Nix installed from the upstream installer, but our upcoming work on "curing" will bring that.

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • ShellCheck

    ShellCheck, a static analysis tool for shell scripts

  • This looks good. I know I'm about to speak towards the OS version and not the Nix that can run atop other distros, but I definitely had some hiccups on the way to my NixOS-on-ZFS-root install (1), such as the configuration of the root user, whether to declaratively or dynamically configure non-root users and wifi networks (and having a working wifi driver that worked with my onboard chip to begin with... I truly believe that linux installs should not be expected to have to bootstrap via Ethernet at this point). Admittedly, a few of these things were due to not using the official GUI installer, but IMHO the commandline non-GUI install of NixOS should be as painless as possible as well.

    (1) https://openzfs.github.io/openzfs-docs/Getting%20Started/Nix...

    Regarding your argument against Bash, isn't it true that this is just a different version of the same bootstrapping problem, and that downloading a temporary but specific Bash version would get around that? (I agree that working with Bash leaves a lot to be desired. But it's also more accessible to end-users to hack on, observe, and learn from, than a compiled Rust binary is. And tools like Copilot and ChatGPT and https://www.shellcheck.net/ make working in Bash MUCH more painless, I've found.)

    Couple more questions: 1) Is your installer idempotent? (I think it is, since you track what's been done in a JSON structure; just confirming! If the JSON file is lost, are you still idempotent though? lol) 2) Are you a profitable company or just a group of Nix believers?

  • nix-with-selinux

    Discontinued this project has moved to a new repo. click the link below

  • Does the multi-user mode work on SELinux-enabled systems and, if not, is it possible to install in single-user mode? The default installer's multi-user mode doesn't work with SELinux enforcing (https://github.com/NixOS/nix/issues/2374), and I didn't see a flag for enabling single-user mode when I used `install --help`. (There are some projects to make SELinux support work like https://github.com/dnkmmr69420/nix-with-selinux, but it's not clear to me if that would even work with this installer in particular.)

  • nix-portable

    Nix - Static, Permissionless, Installation-free, Pre-configured

  • Great work Graham and team, I'll be switching to it on OSX.

    I wonder if you took a look at some of the modifications done by portable-nix (https://github.com/DavHau/nix-portable), most important ones being:

    a) Allowing user to choose the location of the nix folder (for example $HOME/.nix) by using bwrap or proot

  • Home Manager using Nix

    Manage a user environment using Nix [maintainer=@rycee]

  • 2. Take a look at https://github.com/nix-community/home-manager

    Good luck!

  • nixos-config

    Nix configuration for macOS / NixOS with starter templates, step-by-step guides, and more ✨ (by dustinlyons)

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • nix-installers

    Nix installers for legacy distributions (rpm & deb & pacman) [maintainer=@adisbladis]

  • If you install it from the community RPM installer, it works as they have SELinux support added: https://github.com/nix-community/nix-installers

  • dotfiles

    Nix-managed dotfiles for macOS and WSL (by leonbreedt)

  • Now that this binary installer exists I would definitely recommend it.

    I’ve deleted Homebrew from my system and I’m now using the same home-manager setup for my macOS laptops as well as my WSL installation on windows.

    It’s so great to have the exact same tools and shell configuration installed everywhere.

    I have not used flakes yet but if that will help me deal with the differences between my systems I’m definitely for it!

    E.g I have a work Mac, personal Mac, personal PC with WSL.

    When on my work machine, usernames are different and my Git config should identify me as me, and I shouldn’t have access to my personal credential for personal GitHub, RSA private keys for personal servers, etc.

    But all else should be the same.

    Mostly there but the credentials part I am still figuring out.

    If you want to check it out, it’s here: https://github.com/leonbreedt/dotfiles

    Won’t work for you out of the box tho as it depends on private repo for sensitive configs.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts