Cleaning the nix store: Difference between revisions

imported>Mic92
No edit summary
Dwt (talk | contribs)
Add better Darwin command
 
(7 intermediate revisions by 6 users not shown)
Line 1: Line 1:
Sometimes your store fills up the disk, but a simple <syntaxHighlight>nix-store --gc</syntaxHighlight> does not seem to clean all that much.
Sometimes your store fills up the disk, but a simple
<syntaxhighlight lang=text>nix-store --gc</syntaxhighlight>
does not seem to clean all that much.


This usually means that you have some garbage collection roots that keep old versions of nixpkgs around.
This usually means that you have some old collection roots that keep old versions of nixpkgs around.


There is multiple tools that can help with discovering these gc roots:
Sometimes <code>result</code> files created by an ad-hoc <code>nix-build</code> bind a lot of resources, these can be found by running:
 
<syntaxhighlight lang="shell">
nix-store --gc --print-roots | egrep -v "^(/nix/var|/run/\w+-system|\{memory|/proc)"
# Darwin
nix-store --gc --print-roots | egrep -v "^(/nix/var|/run/\w+-system|\{libproc)"
</syntaxhighlight>
 
Additional Resources about cleaning up the ''nix-store'':
 
* https://matthewrhone.dev/nixos-package-guide#cleanup-old-packages-user-wide
* [[Storage optimization]]
* https://old.reddit.com/r/NixOS/comments/8m1n3d/taking_out_the_trash/
 
There are multiple tools that can help with discovering ''gcroots'' and calculate the disk size:


* https://github.com/symphorien/nix-du
* https://github.com/symphorien/nix-du
Line 9: Line 25:
* https://github.com/cdepillabout/nix-query-tree-viewer
* https://github.com/cdepillabout/nix-query-tree-viewer
* https://github.com/craigmbooth/nix-visualize
* https://github.com/craigmbooth/nix-visualize
[[Category:nix]]