!RbXGJhHMsnQcNIDFWN:nixos.org

Haskell in Nixpkgs/NixOS

710 Members
For discussions and questions about Haskell with Nix, cabal2nix and haskellPackages in nixpkgs | Current Docs: https://haskell4nix.readthedocs.io/144 Servers

You have reached the beginning of time (for this room).


SenderMessageTime
24 Jul 2025
@bglgwyng:matrix.orgbglgwyng joined the room.05:41:12
@bglgwyng:matrix.orgbglgwyng Hello! I'm trying to build a nixpkgs.haskellPackages from an arbitrary stackage snapshot. I just found regenerate-hackage-packages.sh in nixpkgs and also hackage2nix in cabal2nix. Is hackage2nix enough for my purpose? I don't fully understand how two tools differ. 05:54:08
@maralorn:maralorn.demaralorn @keetonbrewster:matrix.org haskell4nix.readthedocs.io is outdated. It's uptodate version is the nixpkgs manual Haskell section. 06:07:02
@maralorn:maralorn.demaralorn
In reply to @bglgwyng:matrix.org
Hello! I'm trying to build a nixpkgs.haskellPackages from an arbitrary stackage snapshot. I just found regenerate-hackage-packages.sh in nixpkgs and also hackage2nix in cabal2nix. Is hackage2nix enough for my purpose? I don't fully understand how two tools differ.
Huh, I don't think we expect downstream users of hackage2nix. I fear that you won't get very far. But if you really want do this the easiest way would probably be to look at the update stackage script in nixpkgs modify it to not use the newest but your desired snapshot, run it and then run the regenerate script. You can think of the regenerate script as running hackage2nix with all correct configuration for nixpkgs in place. Running hackage2nix without it would probably require duplicating parts of it.
06:15:22
@bglgwyng:matrix.orgbglgwyng What if I want to avoid making my own version of nixpkgs? I prefer more local apporach such as generating .nix file that can be used to replace nixpkgs.haskellPackage. Can I do the same thing using 'regenerate-hackage-packages'? 06:45:03
@maralorn:maralorn.demaralornIt's not meant to be used that way, no. But maybe you can take it as an inspiration. Maybe you want to have a look at stacklock2nix it might be closer to your needs.06:47:25
@bglgwyng:matrix.orgbglgwyngDo you mean https://github.com/cdepillabout/stacklock2nix this repo?06:59:05
@maralorn:maralorn.demaralorn
In reply to @keetonbrewster:matrix.org
Hi everyone, is there a Haskell specific Nix beginner guide out there?
That reminds me. I actually did a talk about that at zurihac. It might be helpful: https://m.youtube.com/watch?v=xOjKAatxD_g&list=PLOvRW_utVPVlFEXuyaIVILO1t_48e4Ai2&index=9&pp=iAQB
06:59:34
@bglgwyng:matrix.orgbglgwyngIndeed, I tried an approach using 'plan.json', cabal dry run generates plan.json and nix fetches the source code, however it caused too frequent rebuild of existing library. So I'm looking for a way to pre-bake package set.07:01:47
@maralorn:maralorn.demaralorn
In reply to @maralorn:maralorn.de
That reminds me. I actually did a talk about that at zurihac. It might be helpful: https://m.youtube.com/watch?v=xOjKAatxD_g&list=PLOvRW_utVPVlFEXuyaIVILO1t_48e4Ai2&index=9&pp=iAQB
It's sadly not super structured or dense, but I actually think we covered a lot of useful information.
07:04:59
@mangoiv.:matrix.orgMangoIVHey guys. what is the current status of static linking with ghc? Is ghc 9.4.8 still the only supported compiler? 08:51:07
@sternenseemann:systemli.orgsterniall GHCs work, but TemplateHaskell isn't supported for >= 9.610:02:35
@teoc:matrix.orgTeo (he/him) out of interest, is there a ticket that tracks this? 10:38:26
@teoc:matrix.orgTeo (he/him) found it: https://github.com/NixOS/nixpkgs/issues/275304 10:38:45
@mangoiv.:matrix.orgMangoIV teo (they/he): I will try out with your patch and report back. thank you! 12:44:14

Show newer messages


Back to Room ListRoom Version: 6