Repository: NixOS/nix

Issue #6671: Installation error on OSX Catalina 10.15.7 (2012 iMac) (Caused by homebrew version of chmod)
Created: 2022-06-15T09:31:49Z
Describe the bug
The installation breaks after the sudo chmod -R ugo-w /nix/store/ step without a clear error. The output below is the second run, but the first run had the same issue.
When I try to manually execute sudo chmod -R ugo-w /nix/store/ there are no issues, so I think there is some in-between check that fails.
Thanks in advance for any help!
~$ 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  4053  100  4053    0     0  10339      0 --:--:-- --:--:-- --:--:-- 10339
downloading Nix 2.9.1 binary tarball for x86_64-darwin from 'https://releases.nixos.org/nix/nix-2.9.1/nix-2.9.1-x86_64-darwin.tar.xz' to '/var/folders/0_/1kl_p3_s70lbj9r96m8fwkb00000gn/T/nix-binary-tarball-unpack.OdCb4gkfzx'...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 24.1M  100 24.1M    0     0  9776k      0  0:00:02  0:00:02 --:--:-- 9772k
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 and groups that the Nix daemon uses to run
   builds.

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] n


---- 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.

---- Found existing Nix volume -------------------------------------------------
  special:	disk1s6
     uuid:	6611268D-D216-414C-BC42-CB2D9E890DA8
encrypted:	no

During install, I add 'nix' to /etc/synthetic.conf, which instructs
macOS to create an empty root directory for mounting the Nix volume.
Can I remove /etc/synthetic.conf?
[y/n] y


---- sudo execution ------------------------------------------------------------
I am executing:

    $ sudo rm /etc/synthetic.conf

to remove /etc/synthetic.conf

During install, I add '/nix' to /etc/fstab so that macOS knows what
mount options to use for the Nix volume.
Can I remove /etc/fstab?
[y/n] y


---- sudo execution ------------------------------------------------------------
I am executing:

    $ sudo rm /etc/fstab

to remove /etc/fstab


The installer adds a LaunchDaemon to mount your Nix volume: org.nixos.darwin-store
Can I remove it?
[y/n] y


---- sudo execution ------------------------------------------------------------
I am executing:

    $ sudo launchctl bootout system/org.nixos.darwin-store

to terminate the daemon


---- sudo execution ------------------------------------------------------------
I am executing:

    $ sudo rm /Library/LaunchDaemons/org.nixos.darwin-store.plist

to remove the daemon definition


~~> 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/0_/1kl_p3_s70lbj9r96m8fwkb00000gn/T/tmp.cGjWEVG6kv
        Nix Root:	/nix
     Build Users:	32
  Build Group ID:	30000
Build Group Name:	nixbld

build users:
    Username:	UID
     _nixbld1:	301
     _nixbld2:	302
     _nixbld3:	303
     _nixbld4:	304
     _nixbld5:	305
     _nixbld6:	306
     _nixbld7:	307
     _nixbld8:	308
     _nixbld9:	309
     _nixbld10:	310
     _nixbld11:	311
     _nixbld12:	312
     _nixbld13:	313
     _nixbld14:	314
     _nixbld15:	315
     _nixbld16:	316
     _nixbld17:	317
     _nixbld18:	318
     _nixbld19:	319
     _nixbld20:	320
     _nixbld21:	321
     _nixbld22:	322
     _nixbld23:	323
     _nixbld24:	324
     _nixbld25:	325
     _nixbld26:	326
     _nixbld27:	327
     _nixbld28:	328
     _nixbld29:	329
     _nixbld30:	330
     _nixbld31:	331
     _nixbld32:	332

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 /etc/synthetic.conf

to add Nix to /etc/synthetic.conf


~~> Creating a Nix volume

---- sudo execution ------------------------------------------------------------
I am executing:

    $ sudo /usr/sbin/diskutil unmount force disk1s6

to ensure the Nix volume is not mounted

Volume Nix Store on disk1s6 force-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 /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
            Exists:	Yes

~~> Setting up the build user _nixbld1
            Exists:	Yes
            Hidden:	Yes
    Home Directory:	/var/empty
              Note:	Nix build user 1
   Logins Disabled:	Yes
  Member of nixbld:	Yes
    PrimaryGroupID:	30000

~~> Setting up the build user _nixbld2
            Exists:	Yes
            Hidden:	Yes
    Home Directory:	/var/empty
              Note:	Nix build user 2
   Logins Disabled:	Yes
  Member of nixbld:	Yes
    PrimaryGroupID:	30000

~~> Setting up the build user _nixbld3
            Exists:	Yes
            Hidden:	Yes
    Home Directory:	/var/empty
              Note:	Nix build user 3
   Logins Disabled:	Yes
  Member of nixbld:	Yes
    PrimaryGroupID:	30000

~~> Setting up the build user _nixbld4
            Exists:	Yes
            Hidden:	Yes
    Home Directory:	/var/empty
              Note:	Nix build user 4
   Logins Disabled:	Yes
  Member of nixbld:	Yes
    PrimaryGroupID:	30000

~~> Setting up the build user _nixbld5
            Exists:	Yes
            Hidden:	Yes
    Home Directory:	/var/empty
              Note:	Nix build user 5
   Logins Disabled:	Yes
  Member of nixbld:	Yes
    PrimaryGroupID:	30000

~~> Setting up the build user _nixbld6
            Exists:	Yes
            Hidden:	Yes
    Home Directory:	/var/empty
              Note:	Nix build user 6
   Logins Disabled:	Yes
  Member of nixbld:	Yes
    PrimaryGroupID:	30000

~~> Setting up the build user _nixbld7
            Exists:	Yes
            Hidden:	Yes
    Home Directory:	/var/empty
              Note:	Nix build user 7
   Logins Disabled:	Yes
  Member of nixbld:	Yes
    PrimaryGroupID:	30000

~~> Setting up the build user _nixbld8
            Exists:	Yes
            Hidden:	Yes
    Home Directory:	/var/empty
              Note:	Nix build user 8
   Logins Disabled:	Yes
  Member of nixbld:	Yes
    PrimaryGroupID:	30000

~~> Setting up the build user _nixbld9
            Exists:	Yes
            Hidden:	Yes
    Home Directory:	/var/empty
              Note:	Nix build user 9
   Logins Disabled:	Yes
  Member of nixbld:	Yes
    PrimaryGroupID:	30000

~~> Setting up the build user _nixbld10
            Exists:	Yes
            Hidden:	Yes
    Home Directory:	/var/empty
              Note:	Nix build user 10
   Logins Disabled:	Yes
  Member of nixbld:	Yes
    PrimaryGroupID:	30000

~~> Setting up the build user _nixbld11
            Exists:	Yes
            Hidden:	Yes
    Home Directory:	/var/empty
              Note:	Nix build user 11
   Logins Disabled:	Yes
  Member of nixbld:	Yes
    PrimaryGroupID:	30000

~~> Setting up the build user _nixbld12
            Exists:	Yes
            Hidden:	Yes
    Home Directory:	/var/empty
              Note:	Nix build user 12
   Logins Disabled:	Yes
  Member of nixbld:	Yes
    PrimaryGroupID:	30000

~~> Setting up the build user _nixbld13
            Exists:	Yes
            Hidden:	Yes
    Home Directory:	/var/empty
              Note:	Nix build user 13
   Logins Disabled:	Yes
  Member of nixbld:	Yes
    PrimaryGroupID:	30000

~~> Setting up the build user _nixbld14
            Exists:	Yes
            Hidden:	Yes
    Home Directory:	/var/empty
              Note:	Nix build user 14
   Logins Disabled:	Yes
  Member of nixbld:	Yes
    PrimaryGroupID:	30000

~~> Setting up the build user _nixbld15
            Exists:	Yes
            Hidden:	Yes
    Home Directory:	/var/empty
              Note:	Nix build user 15
   Logins Disabled:	Yes
  Member of nixbld:	Yes
    PrimaryGroupID:	30000

~~> Setting up the build user _nixbld16
            Exists:	Yes
            Hidden:	Yes
    Home Directory:	/var/empty
              Note:	Nix build user 16
   Logins Disabled:	Yes
  Member of nixbld:	Yes
    PrimaryGroupID:	30000

~~> Setting up the build user _nixbld17
            Exists:	Yes
            Hidden:	Yes
    Home Directory:	/var/empty
              Note:	Nix build user 17
   Logins Disabled:	Yes
  Member of nixbld:	Yes
    PrimaryGroupID:	30000

~~> Setting up the build user _nixbld18
            Exists:	Yes
            Hidden:	Yes
    Home Directory:	/var/empty
              Note:	Nix build user 18
   Logins Disabled:	Yes
  Member of nixbld:	Yes
    PrimaryGroupID:	30000

~~> Setting up the build user _nixbld19
            Exists:	Yes
            Hidden:	Yes
    Home Directory:	/var/empty
              Note:	Nix build user 19
   Logins Disabled:	Yes
  Member of nixbld:	Yes
    PrimaryGroupID:	30000

~~> Setting up the build user _nixbld20
            Exists:	Yes
            Hidden:	Yes
    Home Directory:	/var/empty
              Note:	Nix build user 20
   Logins Disabled:	Yes
  Member of nixbld:	Yes
    PrimaryGroupID:	30000

~~> Setting up the build user _nixbld21
            Exists:	Yes
            Hidden:	Yes
    Home Directory:	/var/empty
              Note:	Nix build user 21
   Logins Disabled:	Yes
  Member of nixbld:	Yes
    PrimaryGroupID:	30000

~~> Setting up the build user _nixbld22
            Exists:	Yes
            Hidden:	Yes
    Home Directory:	/var/empty
              Note:	Nix build user 22
   Logins Disabled:	Yes
  Member of nixbld:	Yes
    PrimaryGroupID:	30000

~~> Setting up the build user _nixbld23
            Exists:	Yes
            Hidden:	Yes
    Home Directory:	/var/empty
              Note:	Nix build user 23
   Logins Disabled:	Yes
  Member of nixbld:	Yes
    PrimaryGroupID:	30000

~~> Setting up the build user _nixbld24
            Exists:	Yes
            Hidden:	Yes
    Home Directory:	/var/empty
              Note:	Nix build user 24
   Logins Disabled:	Yes
  Member of nixbld:	Yes
    PrimaryGroupID:	30000

~~> Setting up the build user _nixbld25
            Exists:	Yes
            Hidden:	Yes
    Home Directory:	/var/empty
              Note:	Nix build user 25
   Logins Disabled:	Yes
  Member of nixbld:	Yes
    PrimaryGroupID:	30000

~~> Setting up the build user _nixbld26
            Exists:	Yes
            Hidden:	Yes
    Home Directory:	/var/empty
              Note:	Nix build user 26
   Logins Disabled:	Yes
  Member of nixbld:	Yes
    PrimaryGroupID:	30000

~~> Setting up the build user _nixbld27
            Exists:	Yes
            Hidden:	Yes
    Home Directory:	/var/empty
              Note:	Nix build user 27
   Logins Disabled:	Yes
  Member of nixbld:	Yes
    PrimaryGroupID:	30000

~~> Setting up the build user _nixbld28
            Exists:	Yes
            Hidden:	Yes
    Home Directory:	/var/empty
              Note:	Nix build user 28
   Logins Disabled:	Yes
  Member of nixbld:	Yes
    PrimaryGroupID:	30000

~~> Setting up the build user _nixbld29
            Exists:	Yes
            Hidden:	Yes
    Home Directory:	/var/empty
              Note:	Nix build user 29
   Logins Disabled:	Yes
  Member of nixbld:	Yes
    PrimaryGroupID:	30000

~~> Setting up the build user _nixbld30
            Exists:	Yes
            Hidden:	Yes
    Home Directory:	/var/empty
              Note:	Nix build user 30
   Logins Disabled:	Yes
  Member of nixbld:	Yes
    PrimaryGroupID:	30000

~~> Setting up the build user _nixbld31
            Exists:	Yes
            Hidden:	Yes
    Home Directory:	/var/empty
              Note:	Nix build user 31
   Logins Disabled:	Yes
  Member of nixbld:	Yes
    PrimaryGroupID:	30000

~~> Setting up the build user _nixbld32
            Exists:	Yes
            Hidden:	Yes
    Home Directory:	/var/empty
              Note:	Nix build user 32
   Logins Disabled:	Yes
  Member of nixbld:	Yes
    PrimaryGroupID:	30000

~~> Setting up the basic directory structure

---- sudo execution ------------------------------------------------------------
I am executing:

    $ sudo /usr/sbin/chown -R root:nixbld /nix

to take root ownership of existing Nix store files

chown: /nix/.Trashes: Operation not permitted
chown: /nix/.Trashes: Operation not permitted

---- sudo execution ------------------------------------------------------------
I am executing:

    $ sudo install -dv -m 0755 /nix /nix/var /nix/var/log /nix/var/log/nix /nix/var/log/nix/drvs /nix/var/nix /nix/var/nix/db /nix/var/nix/gcroots /nix/var/nix/profiles /nix/var/nix/temproots /nix/var/nix/userpool /nix/var/nix/daemon-socket /nix/var/nix/gcroots/per-user /nix/var/nix/profiles/per-user

to make the basic directory structure of Nix (part 1)


---- sudo execution ------------------------------------------------------------
I am executing:

    $ sudo install -dv -g nixbld -m 1775 /nix/store

to make the basic directory structure of Nix (part 2)


---- sudo execution ------------------------------------------------------------
I am executing:

    $ sudo install -dv -m 0555 /etc/nix

to place the default nix daemon configuration (part 1)


---- sudo execution ------------------------------------------------------------
I am executing:

    $ sudo install -m 0664 /var/folders/0_/1kl_p3_s70lbj9r96m8fwkb00000gn/T/tmp.cGjWEVG6kv/.nix-channels /var/root/.nix-channels

to set up the default system channel (part 1)


~~> Installing Nix

---- sudo execution ------------------------------------------------------------
I am executing:

    $ sudo cp -RPp ./store/00sgasgxp8jxgj87zmdmzljb18v0hc48-xz-5.2.5 ./store/160wv13dbppa2di1swgf5zyl2lk6hdqf-libssh2-1.9.0 ./store/23yx7ad0m09l78fk6gsiwj0z080890ay-aws-c-cal-0.4.5 ./store/2ils8lll64wl5mjq82dq5dq1wz5sdh94-libcxx-7.1.0 ./store/3bdz66l6ivl4b02ipknvxxf0pp86swlk-nghttp2-1.43.0-lib ./store/551av1bv94qymc2z3r2gvnkgzbfskjmb-brotli-1.0.9-lib ./store/5cr9gnb02wxh2m36myjwmmc3jfpkjkq6-editline-1.17.1 ./store/5lc1fv5nrj2073pc1gwm819qp2682357-libiconv-50 ./store/5r0j4bh564wgdznzpbpdqkp6xkjqha22-libkrb5-1.18 ./store/6168vypl8mymp827cbh9518smvhsyfzl-openssl-1.1.1l ./store/68kk4107j6h70jsqp1xkpmd6zk98fqb8-nlohmann_json-3.9.1 ./store/69pqniq9s4v5ngrjzbchbanwfrgj7r9n-zlib-1.2.11 ./store/8n973kx5zqgsacsc9h7q2crpapbr78n2-aws-checksums-0.1.11 ./store/9avyykl37vc1yvgbckwc0r4145r9b31l-aws-c-io-0.9.1 ./store/9f7kzk5kil582b1fxz6xz2dsi4a65l5r-sqlite-3.35.5 ./store/afpdl5r9jnb8bx42nzpqi0c6g1flwldg-Libsystem-1238.60.2 ./store/aqnz1yf0iwncihhdzgi98cfr8mprvkhj-curl-7.76.1 ./store/arad889ax111k6qmx5g9zbjzgxrlh6fz-libcpuid-0.5.1 ./store/avrgp9b1cjkxkwrj6ha31h84na2qqyaf-aws-c-event-stream-0.2.7 ./store/awic8a16fawnh8x998zg158rkd859lm1-aws-sdk-cpp-1.8.121 ./store/cqdwb7khf6zg94bz7lnvfjqx6z775qaw-nix-2.9.1 ./store/cr2v17q8xgq68qlxb1yai3ik6jn52m71-libssh2-1.9.0 ./store/dfrazxxvmf1xvx9z3b8nsdbnpmpnb06c-brotli-1.0.9-lib ./store/ds8j84qwv84gk66ma2r1acjc594xv12c-libxml2-2.9.12 ./store/f43lci9lxr5nbm4wsf0qc6hdhzzimmbx-swift-corefoundation ./store/fq25i1pn7l2ibpcrvfqb13dwdlbd9lk6-aws-c-common-0.5.5 ./store/g29afqkiqmxn9p868vfcsla5iv0hr66r-apple-framework-Security ./store/gsjfl92mfnxqpniz2w3ffzjk6xc3wndr-openssl-1.1.1l ./store/hvy3myc3ddgrm737w7gy7hrcdmwcs5ij-apple-framework-IOKit ./store/j9dvyz6iiv7z0g6ghrxnk2d71gbdss1n-ICU-66108 ./store/jrn76pssx7hafw3pjamfi2qp3fx9r4cl-curl-7.76.1 ./store/l85yzbnpl035b0lx1d1f615nfrhikg5d-nss-cacert-3.66 ./store/lbqb3kl2y6f10k1cm9g6l9kqbqz5bcrx-boehm-gc-8.0.4 ./store/li7i2d18pyf9ixl8bfn9axilpvc42jnl-libxml2-2.9.12 ./store/mi1ws67gh71y73xh164dgwr4kfl5yn5x-zstd-1.4.9 ./store/nch1d04ggyf5vll1hjsr8xixfsrcf2yq-libcxxabi-7.1.0 ./store/nxj1v1i38s984lxx8xmn2ynajhygni0n-bash-4.4-p23 ./store/pr5jawhqh1sad0q5b5mip31kxwzk7igj-libkrb5-1.18 ./store/qb8m2ilafqwjbg0z8nx1wd2jksp2f2rm-libsodium-1.0.18 ./store/rmpxr8mclwf0w11w134xjzdr0a9xnfdm-bzip2-1.0.6.0.2 ./store/vqddywky23ya8pgw1mxkh5xl2rqc33n6-nghttp2-1.43.0-lib ./store/zlwlvcww0dm0psbxhmjvb57gbda6zagy-libarchive-3.5.2-lib /nix/store/

to copy the basic Nix files to the new store at /nix/store


---- sudo execution ------------------------------------------------------------
I am executing:

    $ sudo chmod -R ugo-w /nix/store/

to make the new store non-writable at /nix/store


---- oh no! --------------------------------------------------------------------
Jeeze, 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

Or feel free to contact the team:
 - Matrix: #nix:nixos.org
 - IRC: in #nixos on irc.libera.chat
 - twitter: @nixos_org
 - forum: https://discourse.nixos.org

Duplicate issue #6947: macOS Montery 12.5.1 install failed
Created: 2022-08-24T10:38:17Z
os details:

install output error:

Closing comment (2022-08-24T22:51:02Z): Looks like a duplicate of #6671