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

Mach-nix alternatives #582

Open
TyberiusPrime opened this issue Feb 20, 2024 · 4 comments
Open

Mach-nix alternatives #582

TyberiusPrime opened this issue Feb 20, 2024 · 4 comments

Comments

@TyberiusPrime
Copy link
Collaborator

With mach-nix being no longer maintained (and me not picking up this puppy),
and dream2nix not being ready for prime time (I believe),
Let's gather some alternatives for the casual visitors of this issue tracker.

To my mind mach-nix did two things:

  1. 'solve python package versions' giving requirements + a date (or a pypi-debs-db version)
  2. turn those python package versions into nix derivations.

My understanding of dream2nix is that it's essentially 'lockfile-to-nix', so it will cover 2.
For now, 2 is being covered nicely by poetry2nix.

For 1, I've hacked up ancient-poetry,
which will produce a poetry lock-file with no packages newer than a given date.
I think it complements poetry2nix rather nicely for my use cases.

@yihuang
Copy link

yihuang commented Sep 27, 2024

@TyberiusPrime
Copy link
Collaborator Author

Good job on showing how to turn requirements.txt into poetry.

Please note that ancient-poetry now also supports uv, and therefore the new and coming uv2nix.

@yihuang
Copy link

yihuang commented Sep 27, 2024

Good job on showing how to turn requirements.txt into poetry.

Please note that ancient-poetry now also supports uv, and therefore the new and coming uv2nix.

wasn't aware of uv2nix, if it doesn't require manual overrides like poetry2nix, it'll be awesome.

@TyberiusPrime
Copy link
Collaborator Author

It will still require overrides (at least until uv starts putting build-dependencies into it's lockfile), and uv2nix will not become an override collection.

I'm preparing such an override collection though: https://github.com/TyberiusPrime/uv2nix_hammer_overrides/
together with a semi automatic tool to find the overrides.

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