When I use nix-shell and I have to install packages on the fly (e.g. with pip install), I get “No space left on device” errors if the package is larger than ~780MB, even when I have GBs of free space in my disk.
After googling and inspecting disk usage, the cause seems to be that the package is downloaded or installed in a
tmpfs partition, which only contains ~780MB of space.
I’ve spent multiple days trying to understand this, but I am still very confused:
- When does nix-shell uses tmpfs? Is it used for everything, or just for downloading packages?
- Can I change the size of this tmpfs partition?
- Can I tell nix-shell to just use my computer’s main partition?
- Which part of the nixpkgs code controls this tmpfs?
- Where can I learn more about this?