!RbXGJhHMsnQcNIDFWN:nixos.org

Nix Haskell

612 Members
For discussions and questions about Haskell with Nix, cabal2nix and haskellPackages in nixpkgs | Current Docs: https://nixos.org/manual/nixpkgs/unstable/#haskell | Current PR: https://github.com/nixos/nixpkgs/pulls?q=is%3Apr+is%3Aopen+head%3Ahaskell-updates | Maintainer Docs: https://github.com/NixOS/nixpkgs/blob/haskell-updates/pkgs/development/haskell-modules/HACKING.md | More Nix: #community:nixos.org | More Haskell: #haskell-space:matrix.org | Merger Schedule: https://cloud.maralorn.de/apps/calendar/p/H6migHmKX7xHoTFa/dayGridMonth/now | Join #haskell.nix:libera.chat for question about the alternative haskell.nix infrastructure123 Servers

Load older messages


SenderMessageTime
17 Oct 2024
@maralorn:maralorn.demaralorn
In reply to @maralorn:maralorn.de
btw. just watching the Haskell talks from ICFP and it’s kinda weird to see so many people mentioning in passing that they rely on Nix for some crazy stuff without ever having any interactions with them.
To pick on that. What do they do if stuff breaks? Do they just maintain everything in-house? Do some of our regular contributors work for them and I just can’t map them?
13:07:59
@maralorn:maralorn.demaralorn
In reply to @maralorn:maralorn.de
btw. just watching the Haskell talks from ICFP and it’s kinda weird to see so many people mentioning in passing that they rely on Nix for some crazy stuff without ever having any interactions with them.
* To pick on that. What do they do if stuff breaks? Do they just maintain everything in-house? Do some of our regular contributors work for them and I just can’t map them? Do they use haskell.nix?
13:08:06
@maralorn:maralorn.demaralorn * To pick up on that. What do they do if stuff breaks? Do they just maintain everything in-house? Do some of our regular contributors work for them and I just can’t map them? Do they use haskell.nix? 13:08:21
@emilazy:matrix.orgemilyI think usually the answer to these things is "deal with it" or "hack around it".13:08:31
@emilazy:matrix.orgemilythe people you hear from organically are the weird subset who will actively reach out. most people just kind of accept it when software is broken13:09:02
@maralorn:maralorn.demaralornI mean it’s one thing when people don’t upstream fixes, that’s okay. I can’t expect anyone to do free work for us. But the idea creeps me out that we have tons of enterprise users who all stack workaround on workaround without telling us there is a problem.13:10:06
@maralorn:maralorn.demaralornI think I’m gonna reach out to some people to hear how they are doing with nix.13:10:59
@toonn:matrix.orgtoonn The worst part is that if they pitched in at all it could reduce pains for everyone involved. 13:12:12
@emilazy:matrix.orgemilythey are not necessarily even using upstream Nixpkgs13:12:49
@teoc:matrix.orgteo (they/he)I don't know about the Mercury folks, but both Haskell companies I've worked at use haskell.nix. I feel like it's the go-to one in industry13:14:48
@maralorn:maralorn.demaralornI mean, I am just curious. I don’t know if this is actually what is happening.13:27:53
@alex:tunstall.xyzAlex
In reply to @teoc:matrix.org
I don't know about the Mercury folks, but both Haskell companies I've worked at use haskell.nix. I feel like it's the go-to one in industry

This isn't the case at my workplace (we use the Nixpkgs system, mostly callCabal2nix).

haskell.nix is nice when you have another build solver (e.g. Stack) to tell you which package versions to use, but when you don't the versions selected by Nixpkgs usually Just Work™, as one should expect of something that tracks Stackage.

13:48:23
@sternenseemann:systemli.orgsterni none of the two haskell companies I've worked at have used haskell.nix ¯_(ツ)_/¯ 13:53:23
@teoc:matrix.orgteo (they/he)Fair enough maybe I'm an outlier :)14:06:12
@toonn:matrix.orgtoonn Alex: So you don't keep Cabal bounds? 14:07:35
@alex:tunstall.xyzAlexNo. The things we write are internal-only, so there's nearly 0 chance they get used without Nix.14:08:31
@toonn:matrix.orgtoonn So that's what forces you into the Stackage model. I assumed keeping bounds was common. 14:10:07
@alex:tunstall.xyzAlexWe're not too concerned about versions as long as we're relatively up-to-date and we don't lose much time to build failures.14:11:14
@maralorn:maralorn.demaralorn
In reply to @alex:tunstall.xyz
No. The things we write are internal-only, so there's nearly 0 chance they get used without Nix.
Totally on board with that. nix-output-monitor e.g. has no cabal bounds. The only goal is that it builds in current nixos-unstable the rest doesn’t matter.
14:21:28
@maralorn:maralorn.demaralornotoh, as soon as you publish something on hackage good bound hygiene is mandatory.14:22:01
@toonn:matrix.orgtoonn I've found it's convenient to be able to exclude buggy versions of dependencies or hold off on an API change in a dependency. 14:51:15
@maralorn:maralorn.demaralornYeah, of course, but then you probably need some kind of override anyway.15:25:46
@sternenseemann:systemli.orgsterni
In reply to @maralorn:maralorn.de
otoh, as soon as you publish something on hackage good bound hygiene is mandatory.
you can set x-curated to exclude yourself from curation then you're neither obliged to maintain bounds nor follow PVP
15:41:11
@sternenseemann:systemli.orgsterninot sure what that setting actually influences though…15:41:19
@sternenseemann:systemli.orgsterniI think bound management can become easy if someone sits down and writes a little bit of tooling, basically you just need to get notified about releases in your dependencies and then be provided with a install plan to easily test the new possibility15:42:38
@sternenseemann:systemli.orgsternithis could probably even be automated completely15:42:50
@maralorn:maralorn.demaralornWell I didn't mean there is a rule, just that it is helpful to consumers.15:43:41
@maralorn:maralorn.demaralornI mean nomeata automated a significant chunk of that with the cabal bounds stuff.15:44:53
@toonn:matrix.orgtoonn Even without tooling it's often pretty easy in my experience. 15:52:24
@toonn:matrix.orgtoonn Once the API starts changing it's probably not worth perserving buildability with older versions on newer releases anyway. 15:52:50

Show newer messages


Back to Room ListRoom Version: 6