In order to prevent `nix-store --gc` from removing too much I've: - Added the `keep-outputs = true` setting to `nix/nix.conf` - Fixed `nix/scripts/gcroots.sh` to make symlinks in `/nix/var/nix/gcroots` - Made `nix/scripts/build.sh` and `nix/scripts/shell.sh` use it This way when running `make nix-gc` most recently used shells and built derivations won't be removed along with their dependencies. Signed-off-by: Jakub Sokołowski <jakub@status.im>
1.7 KiB
Known Issues
MacOS 10.15 "Catalina"
There is an unsolved issue with the root(/
) file system in 10.15
being read-only:
https://github.com/NixOS/nix/issues/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.
Cache Downloads Timing Out
If copying from Nix Cache times out you can adjust the timeout by changing nix/nix.conf
:
stalled-download-timeout = 9001
extra-sandbox-paths
Is a Restricted Setting
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.
NixOS Prioritizes System Config
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 https://github.com/NixOS/nix/issues/3723.