!RbXGJhHMsnQcNIDFWN:nixos.org

Haskell in Nixpkgs/NixOS

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

Load older messages


SenderMessageTime
30 Oct 2025
@magic_rb:matrix.redalder.orgmagic_rb nix-fast-build nixpkgs#legacyPackages.x86_64-linux.haskellPackages 22:40:33
@magic_rb:matrix.redalder.orgmagic_rbI think22:40:37
@alexfmpe:matrix.orgalexfmpethat fails eval from hitting all the broken packages no?23:06:40
@magic_rb:matrix.redalder.orgmagic_rbIt should keep going23:06:53
@magic_rb:matrix.redalder.orgmagic_rbOr there may be a flag23:06:57
@magic_rb:matrix.redalder.orgmagic_rb It internally calls nix-eval-jobs which can definitely just keep going. We use it inside of buildbot-nix 23:07:36
@alexfmpe:matrix.orgalexfmpewait do you really want ALL of it? that's thousands of packages, all taking up disk space23:08:37
@alexfmpe:matrix.orgalexfmpeanother option is building whatever deps your planned project has, plus a few dependency heavy hitters23:09:35
@alexfmpe:matrix.orgalexfmpeHLS alone has like 25023:09:39
@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 (he/him)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

Show newer messages


Back to Room ListRoom Version: 6