Hey all, I've been recently writing a new package manager for Nim. Nimble's gotten awfully slow for me lately, especially inside Nix shells. I would've loved to fix that, but unfortunately the Nimble source code is very hard to go through and modify.
Neo is written from scratch and already works for many cases, so long as you don't require advanced version constraints, tasks, hooks or any other "fancy" Nimble feature.
Due to how flexible it is (for now), adding the forge aliases feature from Nimble took next to zero effort, and didn't break anything. (Forge aliases ended up breaking with Nimble's new SAT solver, for instance)
It's obviously not the most user-friendly thing yet, but it still does show informative errors.
You can read more about it at: https://xtrayambak.xyz/neo-intro
I just prefer having more control over my tools. Apart from that, I don't really have a reason to not use Atlas.
Also, I like to add stuff and break it in the process. (atleast for now) :P
Well a package manager that doesn't know a package's dependencies (how could it, packages use .nimble files, not YAML, like it or not) is not much a package manager. ;-)
I mean, it says it itself:
This project only has a .nimble file. If you own it, consider adding a neo.yml to it as well.
For a potentially better config language check out MAML:
https://maml.dev/ https://news.ycombinator.com/item?id=45562056
It's like JSON but with various shortcomings fixed. Only problem is that it's so new the C library isn't available yet. Still, one to watch.
I was thinking it would be fastest to wrap a C library.
Well yeah, stop that thinking.