Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

allow user-settable splitting of classes #19

Open
FavoritoHJS opened this issue Oct 20, 2023 · 1 comment
Open

allow user-settable splitting of classes #19

FavoritoHJS opened this issue Oct 20, 2023 · 1 comment

Comments

@FavoritoHJS
Copy link

i think there should be a way to have some classes (a) labeled, like the root markers, and (b) represent some set of nodes, in such a way that those nodes will remain separated from another class even if they would otherwise be merged

something like

           +-<DE pkgs>
<gen. 123>-+-<heavy pkgs>
           +-<other>

instead of

<gen. 123>-+-<almost all pkgs>
           +-<like 3 pkgs, referred by some root somewhere>

reasoning: something i thought would be a good use for this tool is to see which packages are drawing the most - and the heaviest - dependencies, so i can see if there are some packages which i don't really need but are pulling heavy dependencies, or being a near-duplicate of an existing dependency, etc.

it might be a problem to ensure this doesn't break the tree-like nature of the graph, though...

tried asking in the nixos matrix server but got no answer aside from being sent here, so at the very least this will require more documentation.

@symphorien
Copy link
Owner

I think you might need nix-tree more than nix-du. nix-du was designed more about unexpectedly big gc roots than unexpectedly big packages. In some conditions it can reveal unexpectedly big packages (see example usage of --root in the readme) but it's a way to repurpose the tool rather than its original intended goal.

Besides I'm not sure how you classify packages. For example where does the "DE packages" class come from? How do you classify /nix/store/pxvfh2fmsn8dvkb8dm76k9c2z6g72jjb-cairo-1.16.0 ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants