Open reitzig opened 3 weeks ago
Thank you for your proposal.
I think this proposal makes sense.
I think we need to do the following things.
AQUA_ROOT_DIR
and get the list of installed packages and their versionshttps://aquaproj.github.io/docs/reference/registry-config/#package-types
Another solution is to use a machine with enough storage lol.
Feature Overview
As a (power π) user, I want to maintain my user-space, cross-project tooling with aqua without blowing up storage usage over time.
I understand that an automatism is hard to conceive of, due to the highly dynamic and semi-stateless way aqua works. However, a command for me to call would solve my use case; I would just integrate it into my upgrade routine.
Why is the feature needed?
When I frequently upgrade tools installed through aqua, it assembles quite a volume of files. After just a few days of usage, I have:
Meanwhile, a clean install results in
With a few rather active tools in my list, I expect to need a cleanup routine sooner rather than later.
Workaround
While I can definitely
and rely on lazy install, depending on when/where the install triggers, the experience is less than pretty. For instance, with direnv/direnv and starship/starship:
I guess I could do this as an "atomic" action:
But then I would always re-download all tools, which seems a waste of time and bandwidth.
Example Code
I imagine we could have something like:
This would delete all versions except the latest ones.
(This would, of course, cause re-installs for all projects that pin an older version. For me, that'd be acceptable.)
Note sure how one would encode "delete all versions but the ones pinned in the global config" --
--all
means different things toaqua install
andaqua rm
. π€Maybe a dedicated command like
could delete all versions but the once references in the current scope?
Note
I found this, which seems to leave room for future discussions:
So here I am. π