InnocentZero's Treasure Chest

HomeFeedAbout Me

26 May 2025

Supac - Updates and Live coding

Supac - A declarative package manager

I wrote supac to scratch my itches for the lack of nix. I used pacdef before and even contributed to it, but it stagnated due to the lead maintainer being busy. Another contributor and I decided to fork it and add improvements, but that guy and I had a disagreement over the direction of the project and I decided to start fresh using nushell.

I also began contributing to nushell meanwhile so I had the idea of its versatility and how it can function for my usecases. That was the most helpful part, changing the spec and adding new features was as simple as fetching a new field from the parsed struct. Alongside it has a massive user base already so it's helpful to get new users in quickly.

Updates for today

So as of now, Arch, Flatpak and Cargo backends are functional for addition and removal. Let's add some logging to cargo for now.

Well, that was trivial :/

Now, on to cleaning the cache. This is a fairly straightforward feature and wouldn't take long, so might as well get done with it. One thing I wonder is how cargo cleans its cache up, so need to look that up.

I'm leaving self to be &mut, mostly because I don't want to needlessly lock myself for any reason, but yeah I don't really think it matters to be honest. Ok, now that I think of it, I'll actually just change it.

Yup, simplified a bunch of APIs, refactored a bit of code, and added a clean-cache command. Let's test it.

Works!


Other posts
Creative Commons License
This website by Md Isfarul Haque is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.