There is an unsolved issue with the root(/
) file system in 10.15
being read-only:
NixOS/nix#2925
Our current recommended workaround is putting /nix
under /opt/nix
and symlinking it via /etc/synthetic.conf
:
sudo mkdir /opt/nix
sudo chown ${USER} /opt/nix
sudo sh -c "echo 'nix\t/opt/nix' >> /etc/synthetic.conf"
reboot
After the system reboots you should see the /nix
symlink in place:
% ls -l /nix
lrwxr-xr-x 1 root wheel 8 Oct 11 13:53 /nix -> /opt/nix
In order to be able to use Nix with a symlinked /nix
you need to include this in your shell:
export NIX_IGNORE_SYMLINK_STORE=1
Add it to your .bashrc
or any other shell config file.
NOTE: Your old /nix
directory will end up in /Users/Shared/Relocated Items/Security/nix
after OS upgrade.
If copying from Nix Cache times out you can adjust the timeout by changing nix/nix.conf
:
stalled-download-timeout = 9001
There is a known issue(#11111) where the fetching of Android NDK Bundle from our own cache host fails in various different ways:
unable to download 'https://nix-cache.status.im/nar/64g5wharwjj040rg1v8jnc5qhv1hkgds.nar':
HTTP error 200 (curl error: Stream error in the HTTP/2 framing layer)
unable to download 'https://nix-cache.status.im/nar/64g5wharwjj040rg1v8jnc5qhv1hkgds.nar':
HTTP error 200 (curl error: Transferred a partial file)
NAR for '/nix/store/psx79cnz1khfjlzkw3j8x9sb1jhk1v1a-ndk-bundle-21.0.6113669' fetched from 'https://nix-cache.status.im' is incomplete
Currently the simplest temporary solution is to edit nix/nix.conf
and comment out the extra-substituters
line.
This should allow Nix to download the NDK Bundle directly from Google servers rather than from our own cache.
When building Android on NixOS you might encounter the following error:
ignoring the user-specified setting 'extra-sandbox-paths', because it is a restricted setting and you are not a trusted user
You can mitigate this by setting the nix.trustedUsers
property.
Currently on NixOS NIX_CONF_DIR
is being ignored in favor of the default /etc/nix/nix.conf
.
This will be possible to fix once Nix 2.4
comes out with support for NIX_USER_CONF_FILES
.
For more details see NixOS/nix#3723.