Hey all, thought this might be of interest to some here.
Wrote about why I moved from NixOS to Ubuntu after using it for several months on my daily driver. Suspect that this take is likely to be kind of controversial and court claims of skill issues, which might even be true.
Let me know what you think.
tldr:
- fucking with configs for hours regularly
- pip & venv doesn’t work on nixos
- DE broke when installed new DM
- not much community support
I didn’t realize pip and venv didn’t work… that’s a pretty big deal breaker for a lot of people, myself included.
pip and venv are working, but packages that require compiling or ship binaries by itself usually won’t work out of the box. They depend on gcc or libopenssl to be globally available: the whole gist of Nix not doing 😅
I’ve found devenv.sh to be most convenient way to handle such projects. You can define the dependencies for a project. It has explicit python/venv/requirements.txt/poetry support. It works for NixOS, but also other distros and MacOS. Very convenient to share and lock development tools and libraries across a team.
I’m not a Nix user, but doesn’t Nix make both pip and venv obsolete in a way? Nix is a package manager (which could be used to package anything including Python packages/modules) and also allows you to create environments that include only certain packages of certain versions.
Sounds good in theory, until you want to install scikit-image or other Python libraries which need complex builds.
python3Packages.scikit-image
appears to be available and non-broken in nixpkgs; on my machine, I get/nix/store/w8681ncsw92cn4gq6gyraw4z19r0r6c3-python3.11-scikit-image-0.21.0
. Do you have an actual example?I understand your point, but given nixpkgs’ position in the community, it might be a moot point.
fucking with configs for hours regularly
this is the one reason i dont board the hype train for “customizable” distros: arch, nix, gentoo and so on unless im specifically looking to learn.
i use linux so i can install it and forget which distro im actually using.
Since I bricked my Debian setup in an unfortunate accident involving compiling from source
How on earth?
Debian really doesn’t like installing different versions of GUI libraries & their dependencies.
I really like Pantheon Files.
I know, I’ve once messed around to install a newer QT framework which was required by some package I’ve downloaded directly. Did you install them from the repos or manually copied the files into place? At first I thought the issues were due to compiling source code, not installing conflicting libraries.
I actually can’t remember as it would have been 6+ months ago now. The issue is probably fixed already by the Debian maintainers / Elementary Team / both.
Likely something with Meson build / apt not playing nicely.
More serious than this is the rare occasions Nix packages conflict with each other. While Nix separates dependencies, it doesn’t separate them as absolutely as a full container system like Docker. Therefore it is possible, albeit unlikely, to end up with conflicts between versions of installed libraries.
Never tried it but thanks for dispelling the hype. What a meme OS.