Output
```log
mini.local >NIX_FIRST_BUILD_UID=501 sh <(curl -L https://nixos.org/nix/install) % Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
100 4267 100 4267 0 0 13840 0 --:--:-- --:--:-- --:--:-- 13840
downloading Nix 2.23.1 binary tarball for x86_64-darwin from 'https://releases.nixos.org/nix/nix-2.23.1/nix-2.23.1-x86_64-darwin.tar.xz' to '/var/folders/df/h23vbwcx00qc6g9tns_8bv3h0000gn/T/nix-binary-tarball-unpack.HgurdjdqRg'...
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 15.0M 100 15.0M 0 0 32.9M 0 --:--:-- --:--:-- --:--:-- 32.8M
Switching to the Multi-user Installer
Welcome to the Multi-User Nix Installation
This installation tool will set up your computer with the Nix package
manager. This will happen in a few stages:
1. Make sure your computer doesn't already have Nix. If it does, I
will show you instructions on how to clean up your old install.
2. Show you what I am going to install and where. Then I will ask
if you are ready to continue.
3. Create the system users (uids [501..532]) and groups (gid 30000)
that the Nix daemon uses to run builds. To create system users
in a different range, exit and run this tool again with
NIX_FIRST_BUILD_UID set.
4. Perform the basic installation of the Nix files daemon.
5. Configure your shell to import special Nix Profile files, so you
can use Nix.
6. Start the Nix daemon.
Would you like to see a more detailed list of what I will do?
[y/n] y
I will:
- make sure your computer doesn't already have Nix files
(if it does, I will tell you how to clean them up.)
- create local users (see the list above for the users I'll make)
- create a local group (nixbld)
- install Nix in to /nix
- create a configuration file in /etc/nix
- set up the "default profile" by creating some Nix-related files in
/var/root
- back up /etc/bashrc to /etc/bashrc.backup-before-nix
- update /etc/bashrc to include some Nix configuration
- back up /etc/zshrc to /etc/zshrc.backup-before-nix
- update /etc/zshrc to include some Nix configuration
- create a Nix volume and a LaunchDaemon to mount it
- create a LaunchDaemon (at /Library/LaunchDaemons/org.nixos.nix-daemon.plist) for nix-daemon
Ready to continue?
[y/n] y
---- let's talk about sudo -----------------------------------------------------
This script is going to call sudo a lot. Every time I do, it'll
output exactly what it'll do, and why.
Just like this:
---- sudo execution ------------------------------------------------------------
I am executing:
$ sudo echo
to demonstrate how our sudo prompts look
This might look scary, but everything can be undone by running just a
few commands. I used to ask you to confirm each time sudo ran, but it
was too many times. Instead, I'll just ask you this one time:
Can I use sudo?
[y/n] y
Yay! Thanks! Let's get going!
~~> Fixing any leftover Nix volume state
Before I try to install, I'll check for any existing Nix volume config
and ask for your permission to remove it (so that the installer can
start fresh). I'll also ask for permission to fix any issues I spot.
~~> Checking for artifacts of previous installs
Before I try to install, I'll check for signs Nix already is or has
been installed on this system.
---- Nix config report ---------------------------------------------------------
Temp Dir: /var/folders/df/h23vbwcx00qc6g9tns_8bv3h0000gn/T/tmp.WLMdL4SVdf
Nix Root: /nix
Build Users: 32
Build Group ID: 30000
Build Group Name: nixbld
build users:
Username: UID
_nixbld1: 501
_nixbld2: 502
_nixbld3: 503
_nixbld4: 504
_nixbld5: 505
_nixbld6: 506
_nixbld7: 507
_nixbld8: 508
_nixbld9: 509
_nixbld10: 510
_nixbld11: 511
_nixbld12: 512
_nixbld13: 513
_nixbld14: 514
_nixbld15: 515
_nixbld16: 516
_nixbld17: 517
_nixbld18: 518
_nixbld19: 519
_nixbld20: 520
_nixbld21: 521
_nixbld22: 522
_nixbld23: 523
_nixbld24: 524
_nixbld25: 525
_nixbld26: 526
_nixbld27: 527
_nixbld28: 528
_nixbld29: 529
_nixbld30: 530
_nixbld31: 531
_nixbld32: 532
Ready to continue?
[y/n] y
---- Preparing a Nix volume ----------------------------------------------------
Nix traditionally stores its data in the root directory /nix, but
macOS now (starting in 10.15 Catalina) has a read-only root directory.
To support Nix, I will create a volume and configure macOS to mount it
at /nix.
~~> Configuring /etc/synthetic.conf to make a mount-point at /nix
---- sudo execution ------------------------------------------------------------
I am executing:
$ sudo /usr/bin/ex -u NONE -n /etc/synthetic.conf
to add Nix to /etc/synthetic.conf
~~> Creating a Nix volume
---- sudo execution ------------------------------------------------------------
I am executing:
$ sudo /usr/sbin/diskutil apfs addVolume disk1 APFS Nix Store -nomount
to create a new APFS volume 'Nix Store' on disk1
---- sudo execution ------------------------------------------------------------
I am executing:
$ sudo /usr/sbin/diskutil unmount force disk1s7
to ensure the Nix volume is not mounted
disk1s7 was already unmounted
~~> Configuring /etc/fstab to specify volume mount options
---- sudo execution ------------------------------------------------------------
I am executing:
$ sudo /usr/sbin/vifs
to add nix to fstab
~~> Configuring LaunchDaemon to mount 'Nix Store'
---- sudo execution ------------------------------------------------------------
I am executing:
$ sudo /usr/bin/ex -u NONE -n /Library/LaunchDaemons/org.nixos.darwin-store.plist
to install the Nix volume mounter
---- sudo execution ------------------------------------------------------------
I am executing:
$ sudo launchctl bootstrap system /Library/LaunchDaemons/org.nixos.darwin-store.plist
to launch the Nix volume mounter
---- sudo execution ------------------------------------------------------------
I am executing:
$ sudo launchctl kickstart -k system/org.nixos.darwin-store
to launch the Nix volume mounter
~~> Setting up the build group nixbld
---- sudo execution ------------------------------------------------------------
I am executing:
$ sudo /usr/sbin/dseditgroup -o create -r Nix build group for nix-daemon -i 30000 nixbld
Create the Nix build group, nixbld
Created: Yes
~~> Setting up the build user _nixbld1
---- sudo execution ------------------------------------------------------------
I am executing:
$ sudo /usr/bin/dscl . create /Users/_nixbld1 UniqueID 501
Creating the Nix build user (#1), _nixbld1
attribute status: eDSRecordAlreadyExists
DS Error: -14135 (eDSRecordAlreadyExists)
---- oh no! --------------------------------------------------------------------
Oh no, something went wrong. If you can take all the output and open
an issue, we'd love to fix the problem so nobody else has this issue.
:(
We'd love to help if you need it.
You can open an issue at
https://github.com/NixOS/nix/issues/new?labels=installer&template=installer.md
Or get in touch with the community: https://nixos.org/community
mini.local >
```
Platform
Mac OSX 14.5 (23F79)
Additional information
Fresh install of Darwin specific Nix.
Output
Output
```log mini.local >NIX_FIRST_BUILD_UID=501 sh <(curl -L https://nixos.org/nix/install) % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 4267 100 4267 0 0 13840 0 --:--:-- --:--:-- --:--:-- 13840 downloading Nix 2.23.1 binary tarball for x86_64-darwin from 'https://releases.nixos.org/nix/nix-2.23.1/nix-2.23.1-x86_64-darwin.tar.xz' to '/var/folders/df/h23vbwcx00qc6g9tns_8bv3h0000gn/T/nix-binary-tarball-unpack.HgurdjdqRg'... % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 15.0M 100 15.0M 0 0 32.9M 0 --:--:-- --:--:-- --:--:-- 32.8M Switching to the Multi-user Installer Welcome to the Multi-User Nix Installation This installation tool will set up your computer with the Nix package manager. This will happen in a few stages: 1. Make sure your computer doesn't already have Nix. If it does, I will show you instructions on how to clean up your old install. 2. Show you what I am going to install and where. Then I will ask if you are ready to continue. 3. Create the system users (uids [501..532]) and groups (gid 30000) that the Nix daemon uses to run builds. To create system users in a different range, exit and run this tool again with NIX_FIRST_BUILD_UID set. 4. Perform the basic installation of the Nix files daemon. 5. Configure your shell to import special Nix Profile files, so you can use Nix. 6. Start the Nix daemon. Would you like to see a more detailed list of what I will do? [y/n] y I will: - make sure your computer doesn't already have Nix files (if it does, I will tell you how to clean them up.) - create local users (see the list above for the users I'll make) - create a local group (nixbld) - install Nix in to /nix - create a configuration file in /etc/nix - set up the "default profile" by creating some Nix-related files in /var/root - back up /etc/bashrc to /etc/bashrc.backup-before-nix - update /etc/bashrc to include some Nix configuration - back up /etc/zshrc to /etc/zshrc.backup-before-nix - update /etc/zshrc to include some Nix configuration - create a Nix volume and a LaunchDaemon to mount it - create a LaunchDaemon (at /Library/LaunchDaemons/org.nixos.nix-daemon.plist) for nix-daemon Ready to continue? [y/n] y ---- let's talk about sudo ----------------------------------------------------- This script is going to call sudo a lot. Every time I do, it'll output exactly what it'll do, and why. Just like this: ---- sudo execution ------------------------------------------------------------ I am executing: $ sudo echo to demonstrate how our sudo prompts look This might look scary, but everything can be undone by running just a few commands. I used to ask you to confirm each time sudo ran, but it was too many times. Instead, I'll just ask you this one time: Can I use sudo? [y/n] y Yay! Thanks! Let's get going! ~~> Fixing any leftover Nix volume state Before I try to install, I'll check for any existing Nix volume config and ask for your permission to remove it (so that the installer can start fresh). I'll also ask for permission to fix any issues I spot. ~~> Checking for artifacts of previous installs Before I try to install, I'll check for signs Nix already is or has been installed on this system. ---- Nix config report --------------------------------------------------------- Temp Dir: /var/folders/df/h23vbwcx00qc6g9tns_8bv3h0000gn/T/tmp.WLMdL4SVdf Nix Root: /nix Build Users: 32 Build Group ID: 30000 Build Group Name: nixbld build users: Username: UID _nixbld1: 501 _nixbld2: 502 _nixbld3: 503 _nixbld4: 504 _nixbld5: 505 _nixbld6: 506 _nixbld7: 507 _nixbld8: 508 _nixbld9: 509 _nixbld10: 510 _nixbld11: 511 _nixbld12: 512 _nixbld13: 513 _nixbld14: 514 _nixbld15: 515 _nixbld16: 516 _nixbld17: 517 _nixbld18: 518 _nixbld19: 519 _nixbld20: 520 _nixbld21: 521 _nixbld22: 522 _nixbld23: 523 _nixbld24: 524 _nixbld25: 525 _nixbld26: 526 _nixbld27: 527 _nixbld28: 528 _nixbld29: 529 _nixbld30: 530 _nixbld31: 531 _nixbld32: 532 Ready to continue? [y/n] y ---- Preparing a Nix volume ---------------------------------------------------- Nix traditionally stores its data in the root directory /nix, but macOS now (starting in 10.15 Catalina) has a read-only root directory. To support Nix, I will create a volume and configure macOS to mount it at /nix. ~~> Configuring /etc/synthetic.conf to make a mount-point at /nix ---- sudo execution ------------------------------------------------------------ I am executing: $ sudo /usr/bin/ex -u NONE -n /etc/synthetic.conf to add Nix to /etc/synthetic.conf ~~> Creating a Nix volume ---- sudo execution ------------------------------------------------------------ I am executing: $ sudo /usr/sbin/diskutil apfs addVolume disk1 APFS Nix Store -nomount to create a new APFS volume 'Nix Store' on disk1 ---- sudo execution ------------------------------------------------------------ I am executing: $ sudo /usr/sbin/diskutil unmount force disk1s7 to ensure the Nix volume is not mounted disk1s7 was already unmounted ~~> Configuring /etc/fstab to specify volume mount options ---- sudo execution ------------------------------------------------------------ I am executing: $ sudo /usr/sbin/vifs to add nix to fstab ~~> Configuring LaunchDaemon to mount 'Nix Store' ---- sudo execution ------------------------------------------------------------ I am executing: $ sudo /usr/bin/ex -u NONE -n /Library/LaunchDaemons/org.nixos.darwin-store.plist to install the Nix volume mounter ---- sudo execution ------------------------------------------------------------ I am executing: $ sudo launchctl bootstrap system /Library/LaunchDaemons/org.nixos.darwin-store.plist to launch the Nix volume mounter ---- sudo execution ------------------------------------------------------------ I am executing: $ sudo launchctl kickstart -k system/org.nixos.darwin-store to launch the Nix volume mounter ~~> Setting up the build group nixbld ---- sudo execution ------------------------------------------------------------ I am executing: $ sudo /usr/sbin/dseditgroup -o create -r Nix build group for nix-daemon -i 30000 nixbld Create the Nix build group, nixbld Created: Yes ~~> Setting up the build user _nixbld1 ---- sudo execution ------------------------------------------------------------ I am executing: $ sudo /usr/bin/dscl . create /Users/_nixbld1 UniqueID 501 Creating the Nix build user (#1), _nixbld1Priorities
Add :+1: to issues you find important.