Our great sponsors
-
nix-installer
Install Nix and flakes with the fast and reliable Determinate Nix Installer, with over 2 million installs.
-
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.
-
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.
-
nix-installers
Nix installers for legacy distributions (rpm & deb & pacman) [maintainer=@adisbladis]
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.)
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.
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?
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.)
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
2. Take a look at https://github.com/nix-community/home-manager
Good luck!
If you install it from the community RPM installer, it works as they have SELinux support added: https://github.com/nix-community/nix-installers
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.