!RbXGJhHMsnQcNIDFWN:nixos.org

Haskell in Nixpkgs/NixOS

678 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 infrastructure134 Servers

Load older messages


SenderMessageTime
30 Oct 2025
@alexfmpe:matrix.orgalexfmpe
$ grep "callPackage" hackage-packages.nix | wc -l
18654
$ grep "broken = true" hackage-packages.nix | wc -l
7267

a few others won't eval because of platform but that still looks like around 10k that will at least attempt to build

23:12:01
31 Oct 2025
@alex:tunstall.xyzAlex
In reply to @alexfmpe:matrix.org
another option is building whatever deps your planned project has, plus a few dependency heavy hitters

It's much lighter if you only fetch all transitively required sources.

Though naturally, that means you need to build whatever you want to use.

01:56:46
2 Nov 2025
@amadaluzia:tchncs.de➡️@amadaluzia:unredacted.org changed their display name from amadaluzia to ➡️@amadaluzia:unredacted.org.22:49:04
3 Nov 2025
@sternenseemann:systemli.orgsterniincredible https://github.com/Tritlo/duckdb-haskell/blob/main/duckdb-ffi/Setup.hs11:09:28
@maralorn:maralorn.demaralornWhat exactly? That this is not just using pkg-config?11:52:58
@teoc:matrix.orgteo (they/he)At least it's not hard coding paths in the .cabal file11:56:03
@sternenseemann:systemli.orgsternithey search for the library and headers for no other reason than to fail with a “helpful” error message14:21:18
@sternenseemann:systemli.orgsternithis build may fail with Setup.hs and succeed if you delete it14:21:47
@collinarnett:matrix.orgCollin Arnett changed their profile picture.15:23:55
@locallycompact-github:matrix.orgDaniel FirthDoing a few benchmarks of GHC here. https://www.youtube.com/watch?v=kt2hM2uz8Hs21:13:09
@keypusher:matrix.orgkeypusherSay I have 2 flakes A and B that basically are just haskell packages. B depends on A. If I use nix, it's quite the roundtrip to update A and utilize those changes in B. Someone hinted it's possible to circumvent nix and easily get changes to A while in a nix develop shell for B. Makes sense? 21:45:30
@alex:tunstall.xyzAlex
In reply to @keypusher:matrix.org
Say I have 2 flakes A and B that basically are just haskell packages. B depends on A. If I use nix, it's quite the roundtrip to update A and utilize those changes in B. Someone hinted it's possible to circumvent nix and easily get changes to A while in a nix develop shell for B. Makes sense?
It's not entirely clear what you're asking or of what relevance Haskell or Nixpkgs are, but how about overriding flake B to use a different version of flake A?
21:47:41
@keypusher:matrix.orgkeypusherI'm getting at the timeconsuming roundtrip of getting a change in A availalbe in the "nix developer shell" of B. Atm I need to 1) make changes to A. 2) exit B's dev shell. 3) start B's dev shell that includes an implicit build of the A flake. 4) issue cabal build in B's devshell.21:52:09
@alex:tunstall.xyzAlex
In reply to @keypusher:matrix.org
I'm getting at the timeconsuming roundtrip of getting a change in A availalbe in the "nix developer shell" of B. Atm I need to 1) make changes to A. 2) exit B's dev shell. 3) start B's dev shell that includes an implicit build of the A flake. 4) issue cabal build in B's devshell.
You could exclude A from the devshell build by adding it to the packages list in haskellPackages.shellFor.
This naturally assumes that A's source is visible to B's Cabal project.
21:55:51
@keypusher:matrix.orgkeypusher A right. Yeah it could be different target (forgot the actual term). Like nix flake develop .#includeAInBuildOfB so to speak? 21:59:58
@alex:tunstall.xyzAlexIf you still want to keep the "A from devshell" version, then yes you could make this "fast" devshell a different one.22:01:20
4 Nov 2025
@ncfavier:matrix.orgncfavier changed their profile picture.23:55:13
5 Nov 2025
@tks_123:matrix.orgtks_123I have a "nix develop" environment working fine for "cabal build". It links successfully to a custom static C library I have in the flake.nix07:35:24
@tks_123:matrix.orgtks_123When running "cabal repl", why does it complain the dynamic library .so isn't found? This library is only static07:35:44
@tks_123:matrix.orgtks_123* When running "cabal repl", why does it complain the dynamic library .so isn't found? The library is only static. (It's specified in extra-libraries in .cabal btw.)07:36:10
@gnumuskox:matrix.orgSupermuskox left the room.09:10:40
@gnumuskox:matrix.orgSupermuskox joined the room.09:37:13
@sternenseemann:systemli.orgsterniwhat version of GHC?10:06:54
@sternenseemann:systemli.orgsterni I think for 9.4 this works, but in general it is not to be expected. You need to coax the rts linker into loading a shared archive which it doesn't necessarily like because it's tricky. dlopen of course only works for shared objects which is the normal way 10:08:33
@sternenseemann:systemli.orgsterni(Haskell static archives/object files is not a problem, but arbitrary ones)10:08:56
@b:chreekat.netchreekat Ghc/Cabal is confusing af on this point. I'm spectating right now as people in #GHC:matrix.org try to figure out some forms of static linking 10:56:00
@sternenseemann:systemli.orgsternii mean this is not that great a mystery, only dynamic libs are designed so that they can be dynamically loaded at run time (instead of link time)12:05:15
@sternenseemann:systemli.orgsterniso you would not in general expect your repl to br able to do this12:05:34
@b:chreekat.netchreekatWell it's obvious now that you've said it 😄12:15:35
@keypusher:matrix.orgkeypusherRedacted or Malformed Event14:12:49

There are no newer messages yet.


Back to Room ListRoom Version: 6