Re:My First Impressions of Nix
by the_gipsy on Monday June 19, 2023 @05:42AM
(#36389115)
You can package simple python projects, but as soon as there are too many huge deoendecies that use CPython and whatnot, it becomes impossible to generate the nix derivation. I just use imperative python-venv + pip install on those.
[ Parent
| on HN ]
Wasn't Nix supposed to solve these problems?
And it does, for most languages. Python seems more difficult than average.
Yea python is the exception. Go, rust, nodejs, have been easy to get running with specific versions and dev envs .
...and yet there's tons of Python packaged in traditional distributions including Django.
So it's not clear what the real benefit of Nix is.
Nix hasn't been a benefit when working with python for me, but again, python is the outlier. It has been a benefit for projects in other languages.
I guess the reason is because python packaging/tooling varies wildly between projects, and there are a lot of bindings.
BTW a colleague was setting up the python project on a non-nix machine, and also had problems with dependencies, and ultimately had to do some nasty workarounds (disabling deps/features). To me, it seems endemic.
Re:My First Impressions of Nix
by earthling8118 on Monday June 19, 2023 @01:10PM
(#36393623)
There's plenty of python packaged in nixpkgs too. It doesn't mean that it isn't a dumpster fire disaster. Dealing with it has been trouble with every other distro I've used. It isn't just a nix problem. If anything I think the situation is improved.
It does. Nix can package everything properly. What is depending on the language ecosystem in question is whether this packaging can be more automized or not.
Python is not trivially automatized with Nix.
Take a look at Home Assistant to see a complex python app being packaged in Nix.
(disclaimer: it's still rough but it does work)
https://github.com/NixOS/nixpkgs/tree/master/pkgs/servers/ho...
Re:My First Impressions of Nix
by SuperSandro2000 on Monday June 19, 2023 @09:47AM
(#36391045)
> I just use imperative python-venv + pip install on those.
The whole point of NixOS is to manage this and to get rid of those manual steps that are error prone.
I only do this on some work project that I don't touch often, as an escape hatch. Everything else is managed by nix.
Re:My First Impressions of Nix
by otabdeveloper4 on Monday June 19, 2023 @10:42AM
(#36391596)
It doesn't, but you need to ditch requirements.txt and just overridePythonPackage with the correct github revision hash.
It's a PITA but unlike pip and conda it's 100% reliable.