I'm very, very new to nix and nixOS both - I come from imperative workflows and very very rarely anything determinative, so this is all brand new to me.
As an example of the kind of thing I don't understand how to do, let's take an example repo I've been bouncing off: https://github.com/GideonWolfe/Chameleon
On a "normal" system, I can get pip and python ready, and then make install
and I'm off to the races.
With NixOS, I've got as far as adding python3 and gnumake to my configuration.nix packages. (I have also discovered that putting python in my system packages was the wrong move, so some advice on how better to go about this would be cool too.)
I can't for the life of me wrap my head around what I'm supposed to do, and so many people online are using flakes but I'm on stable 23.11 (and quite daunted by flakes) so I'd prefer if this was from that POV.
Can anyone speak to any of these points? I've tried reading the docs but it's very confusing for some reason.
I would probably just ignore the Makefile provided by upstream. It just copies files and installs dependencies.
I would take a look at existing python derivations in nixpkgs (ex a random one I picked) and try to modify it to work with your package. Once you have it working well you could even submit it to nixpkgs!
That's a good shout!
Although there was already a submission for this particular repo to nixpkgs, but I presume it has still not reached stable.