YOU FUCKING IDIOTS!
Nix has this pretty cool concept of “devShells”. A devShell is effectively a mechanism to provide various dependencies to a software development project. In particular, it’s good at providing you with compilers, C libraries, that kind of stuff.
Most modern languages have the concept of a “language package manager”, which can also provide dev dependencies, think Cabal, Cargo or NPM. What these language package managers cannot do, however, is give you access to “external” dependencies, libraries that aren’t written in the language you’re using, but e.g. C. Nix solves that.
Here’s where the problem starts: If you don’t have Nix, you basically can’t provide such libraries to your project. But wait, you have a system package manager. And there’s a repo for it that has the C libraries you want. What if you just…
And this is the real problem.
WHO IN THEIR RIGHT MIND THOUGHT THAT THIS WAS A GOOD IDEA? WHAT HAPPENED TO KEEPING YOUR PROJECT DEPENDENCIES SEPARATE? SYSTEM PACKAGES WERE NOT MEANT FOR DEVELOPMENT. YEAH SURE, I’LL HAVE SOME RANDOM VERSION OF A COMPILER JUST GLOBALLY INSTALLED AND I’LL HOPE IT WORKS WITH THE NEXT PROJECT I’M STARTING! THE NEW PROJECT REQUIRES A DIFFERENT VERSION? WELL FUCK, GUESS I’LL JUST INSTALL THAT ONE INSTEAD. WHOOPS, NOW ALL MY OLD PROJECTS ARE FUCKING UNBUIDLABLE! ANYONE WITH HALF A FUNCTIONING BRAIN SHOULD BE ABLE TO IMMEDIATELY RECOGNIZE THAT THAT’S A COMPLETELY BULLSHIT, ASS-BACKWARDS WAY OF DOING THINGS. THIS BRAINROT IS CLEARLY A LEFTOVER FROM THE COMPUTING EQUIVALENT OF THE DARK FUCKING AGES WHEN DEPENDENCY MANAGEMENT SUCKED COMPLETE DONKEY ASS. WE HAVE NIX NOW. STOP DOING THIS BULLSHIT.
NIXOS - APPARENTLY THE BEST FUCKING DISTRO ON EARTH - WAS DESIGNED TO PREVENT THIS KIND OF BULLSHIT OUTRIGHT. TRY PUTTING OPENSSL INTO environment.systemPackages
AND SEE IF ANY C COMPILER CAN PICK IT UP FROM THERE. IT WON’T. AND YOU’RE A FUCKING RETARD FOR EVEN TRYING IT.
IF YOU CAN’T USE NIX, FIND OR MAKE A DIFFERENT PACKAGE MANAGER THAT’S JUST AS GOOD. I FUCKING DARE YOU.
GO FUCK YOURSELF.