Remix.run Logo
▲ rafaelRiv 4 hours ago

How this was ever a problem ? and today we have ghcup, stack and nix

▲itishappy 4 hours ago | parent [-]

That's the problem!

If I'm on NixOS, should I be installing via ghcup, stack, or nix?

▲Buttons840 3 hours ago | parent | next [-]

The Haskell ecosystem seems obsessed with NixOS in a way I haven't seen anywhere else.

I recall wanting to use Haskell packages that were only available in Nix, but nobody had bothered to make just a normal package.

▲petra an hour ago | parent [-]

If you want to create an ecosystem optimized towards correctness, you'll have to curate what you let inside, and drop many things. And Nix is probably the best package manager for correctness.

That of course hurts market share.

▲wasted_intel 4 hours ago | parent | prev [-]

To be fair, that’s a general problem on NixOS (and other OSes), and one that tools like devenv have tried to solve. You can take what’s included with OS packages, but then you’re stuck with whatever version that is.

▲chriswarbo 2 hours ago | parent [-]

> You can take what’s included with OS packages, but then you’re stuck with whatever version that is.

It's pretty easy to override things in Nixpkgs though, whether at the system level, or for one application, or just a particular dependency deep in the tree of one script.

Nixpkgs has a bunch of powerful functions to make this easier, e.g. callCabal2nix, makePackageSet, etc.

https://nixos.org/manual/nixpkgs/stable/#haskell-overriding-...

https://github.com/NixOS/nixpkgs/blob/master/pkgs/developmen...