!RbXGJhHMsnQcNIDFWN:nixos.org

Haskell in Nixpkgs/NixOS

691 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 infrastructure138 Servers

Load older messages


SenderMessageTime
21 Jan 2026
@teoc:matrix.orgteo (they/he)Would it be worthwhile to add a nix expression that allows one to use ghc nightly bindists with nix? It would basically be the same as the current binary ones but targeting HEAD. I wanted to get your thoughts on this before implementing anything. I basically need to maintain this for head.hackage anyway14:01:16
@teoc:matrix.orgteo (they/he)* Would it be worthwhile to add a nix expression that allows one to use ghc nightly bindists with nix? It would basically be the same as the current binary ones but targeting HEAD. I wanted to get your thoughts on this before opening a PR. I basically need to maintain this for head.hackage anyway14:01:41
@josh:quadrivium.ukdutchie is there an easy way to get a git version of a cabal library? I would like to use optics with GHC 9.12 but it needs this commit to pass the tests. 14:04:26
@morj:morj.menMorj Something like this? https://github.com/maurges/re/blob/5f92f51cd437664e961b45cb2e7908e3c1bdadca/default.nix#L6-L13 14:17:13
@josh:quadrivium.ukdutchie that looks plausible, does it work in haskellPackages.mkDerivation as well? 14:26:07
@maralorn:maralorn.demaralorn Huh, I have also stumbled over the optics problem. I resolved to use 9.10 instead, but that sucks because of missing hlint support in hls on that ghc. 14:29:47
@morj:morj.menMorj I like how developPackage is only documented on the wiki, and mkDerivation is only documented in the nixpkgs manual 14:33:01
@morj:morj.menMorjWith mkDerivation can't you just supply the fetchTarball to libraryDepends?14:34:31
@josh:quadrivium.ukdutchie

I tried this:

optics = pkgs.haskell.lib.compose.overrideSrc {
  src = pkgs.fetchFromGitHub {
    owner = "well-typed";
    repo = "optics";
    rev = "9ef04b58176c77b0ef93076196705d21b6bd6824";
    hash = "sha256-TOINPPBBmUg1gbqwOX+FrqyFuch2LRX6i5NdEHUtbEY=";
  };
} hpkgs.optics;

but it fails:

Running phase: setupCompilerEnvironmentPhase
Build with /nix/store/h9k9g4l9sq4y59jh5hnizhww0ing5a0a-ghc-9.12.2.
Running phase: unpackPhase
unpacking source archive /nix/store/pnx7r3pv632p5gq7dhpsi4pkpx4g59hi-source
source root is source
Running phase: patchPhase
sed: no input files
14:34:34
@josh:quadrivium.ukdutchieI guess I need to point it at a subdir or something14:35:08
@josh:quadrivium.ukdutchie hmm I can just overrideCabal { doCheck = false; } 14:44:02
@josh:quadrivium.ukdutchie or dontCheck actually 14:53:40
22 Jan 2026
@ashinnv:matrix.orgSupreme Allied Commander Mayhem, Lord of the Nine Stars changed their display name from Grand Warden Mayhem, Punisher of Deer to Supreme Allied Commander Mayhem, Lord of the Nine Stars.01:27:17
@lordmzte:mzte.deLordMZTE joined the room.16:12:54
@lordmzte:mzte.deLordMZTE

It seems like GHCJS isn't in nixpkgs. Does anyone know a good way to set it up in a dev shell?

16:14:23
@acidbong:envs.netAcid Bongtwas removed: https://github.com/NixOS/nixpkgs/pull/42234216:15:05
@acidbong:envs.netAcid Bongyou can still save that recipe and use it locally tho16:16:12
@lordmzte:mzte.deLordMZTE

I see. Surely someone must have taken over maintaining this out of tree, right?

16:17:10
@emilazy:matrix.orgemily AIUI the newer GHCJS is a native GHC backend and is accessible with pkgsCross.ghcjs or something 16:22:15
@emilazy:matrix.orgemilyit was the old GHCJS that was removed16:22:19
@acidbong:envs.netAcid Bongoh16:22:26
@acidbong:envs.netAcid Bongi can't find ghcjs in the search16:22:38
@emilazy:matrix.orgemilyit's a platform, not a package16:31:38
@maralorn:maralorn.demaralornYes, the new js backend is supported in nixpkgs.16:40:04
@alexfmpe:matrix.orgalexfmpeshellFor doesn't work for cross AFAICT, but you can whip something up manually here'ss one example: https://github.com/bfeitknecht/impli/pull/6/files17:09:00
@alexfmpe:matrix.orgalexfmpethat reminds me, I haven't checked pkgsCross.ghcjs status with 9.1417:09:46
@alexfmpe:matrix.orgalexfmpenix-build here builds everything with nix, nix-shell grabs the tools from nixpkgs then uses cabal-install for the rest, wrapping it so it uses js backend17:12:33
@alexfmpe:matrix.orgalexfmpeshellFor, were it to work here, would build all the deps with nix, so cabal-install/ghci(d) would only be used for your own project17:13:07
@lordmzte:mzte.deLordMZTE

Thanks!

18:02:56
@wolfgangwalther:matrix.org@wolfgangwalther:matrix.org left the room.19:17:01

There are no newer messages yet.


Back to Room ListRoom Version: 6