You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I noticed nixos-rebuild (re)building -fish-completion packages more than I'd expect.
What I think is happening is that the destructiveSymlinkJoin of all packages' fish-completions (here) filters out packages without completions, and those then get garbage-collected by nix-collect-garbage. That is:
> nix derivation show /nix/store/hx407a4i3s4490i05jr3fcapdij1h1xh-marienz-fish-completions
...
"paths": "/nix/store/gvglak58m5fm0kjzpqr90r9p4mlpq014-man-pages-6.9.1-fish-completions /nix/store/bk4g9wk1p4f0j75hhvbvisgl0k81hpzf-sqlite-3.46.1-fish-completions ...
(the only referrers to those man-pages completions are those symlink joins, as you'd expect)
And on my system 65 of the inputs are empty (57 are not).
Would it make sense to forcibly include those empty directories in the closure somehow, and if so: is there some standard way of doing so in home-manager (something similar to system.extraDependencies in nixpkgs) so I can write a PR? They're not that expensive to rebuild, but keeping them around should only cost one extra symlink (and one extra empty directory that would previously get removed by nix-collect-gc), which seems cheaper.
The text was updated successfully, but these errors were encountered:
I noticed
nixos-rebuild
(re)building -fish-completion packages more than I'd expect.What I think is happening is that the
destructiveSymlinkJoin
of all packages' fish-completions (here) filters out packages without completions, and those then get garbage-collected bynix-collect-garbage
. That is:(long list of per-package completions as input)
(man-pages has completions, sqlite does not, it's an empty directory)
(the man-pages completions have garbage collector roots, sqlite ones do not, so next time nix-collect-gc runs it'll delete them)
(the only referrers to those man-pages completions are those symlink joins, as you'd expect)
And on my system 65 of the inputs are empty (57 are not).
Would it make sense to forcibly include those empty directories in the closure somehow, and if so: is there some standard way of doing so in home-manager (something similar to
system.extraDependencies
in nixpkgs) so I can write a PR? They're not that expensive to rebuild, but keeping them around should only cost one extra symlink (and one extra empty directory that would previously get removed bynix-collect-gc
), which seems cheaper.The text was updated successfully, but these errors were encountered: