Skip to content

mach-nix -> poetry2nix

Compare
Choose a tag to compare
@TyberiusPrime TyberiusPrime released this 16 Sep 09:23
· 20 commits to main since this release

This major release replaces mach-nix with poetry2nix and ancient-poetry.

Mach-nix has always been troublesome,
especially to debug,
and has been unsupported for quite a while now.

It's ecosystem tracking had stopped some time in 2023,
servery limiting it's usefullnes.

This update now brings in poetry2nix, and a clever
proxying of poetry with ancient poetry to reproduce the same ecosystem
date based version resolving, without having to keep track of pypi
day by day.

I took the opportunity to remove a lot of friction as well,
and the anysnake2.tomls look much different now.

Unfortunately, there is very limited auto-updating in place,
so familiarize yourselves with the (new format)[https://github.com/TyberiusPrime/anysnake2/blob/main/examples/full/anysnake2.toml].

Notably, the way dependency URLs are specified has been
refactored to be the same mechanism for pretty much everything,
and they all 'trust-on-first-use' now.

That means you can start with an empty anysnake2.toml and
it will be automatically filled into something useful.

Smart auto-formating and ordering for anysnake2.toml
is now enforced.

The container image building has been fixed (and produces OCI-images now).

R/rpy2 by default build with the same glibc as python, reducing
compatibility issues.

The python section is - naturally - much revamped, and editable python
installs are now defined in one place, instead of being spread over two.

The 'python-package-in-a-flake' support has been removed - with poetry2nix
we should be capable of installing any python package with the local escape hatches.

Long term, we'll probably change from poetry2nix to uv2nix once that has stabilized.
I expect that to be a lot less disruptive than this change.