3 ms·
It sounds like you’re familiar with the status quo, so let’s look at this as a matter of requirements: - Cross-platform - Wraps another packaging format - Lowe
by ttyprintk 4y ago
It sounds like you’re familiar with the status quo, so let’s look at this as a matter of requirements:
- Cross-platform
- Wraps another packaging format
- Lowest disk space
- Dependency version solving
- An OS can run make changes to its own low-level state using its own tools
- User can configure when and what are installed
Even Nix, which has its own language and isolation model, can’t meet all these.
- whateveracct 4y agoNix almost does meet those though. It's cross-platform to some degree. If Windows is a requirement for this, I see why it doesn't qualify. Nix wraps other packaging formats all the time. There's endless x2nix converters. In a way, Nix is "lowest disk space" - by nature of lazy evaluation, Nix closures are always exactly what they need. Now, they may "actually" need less and are holding onto more due to how packages are written by people. And you do need to GC. Dependency version solving can actually be punted to other tools. In Haskell, Nix uses a combination of cabal and pkg-config to handle Haskell + C deps. NixOS can swap out the kernel along with anything else with a line or two in your config.