!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
23 Oct 2025
@magic_rb:matrix.redalder.orgmagic_rbive been trying to get this working for the last 2 months21:35:37
24 Oct 2025
@andreabedini:matrix.organdreabedini changed their display name from andreabedini to Andrea.01:23:08
@andreabedini:matrix.organdreabedini changed their display name from Andrea to andreabedini.04:50:22
25 Oct 2025
@nrbray:matrix.orgNigel joined the room.09:30:09
26 Oct 2025
@ners:nixos.devners

I'm trying to build a project that has build-depends on both haskell-language-server and hls-plugin-api.
Getting the following error when trying to build it with Nix:

Error: [Cabal-7107]
Could not resolve dependencies:
[__0] trying: dosh-24.11 (user goal)
[__1] trying: lsp-client-0.4.0.0/installed-9paX9qIvVp6G32qMeolaRR (dependency of dosh)
[__2] next goal: hls-plugin-api (dependency of dosh)
[__2] rejecting: hls-plugin-api-2.11.0.0/installed-4lbla6iVQTHCJxg4ni6oA8 (conflict: lsp-client => lsp==2.7.0.1/installed-5hx47Y1LdOnAB7d5AgUCZ9, hls-plugin-api => lsp==2.7.0.1/installed-G2N8IrC9NSyIKEvHjZgyEW)
[__2] trying: hls-plugin-api-2.11.0.0/installed-IPU6Rknqm9R6YyD99rrbxT
[__3] next goal: haskell-language-server (dependency of dosh)
[__3] rejecting: haskell-language-server-2.11.0.0/installed-AGaYptnU925K1vcaCIwSpk (conflict: hls-plugin-api==2.11.0.0/installed-IPU6Rknqm9R6YyD99rrbxT, haskell-language-server => hls-plugin-api==2.11.0.0/installed-4lbla6iVQTHCJxg4ni6oA8)
[__3] fail (backjumping, conflict set: dosh, haskell-language-server, hls-plugin-api)

If I pin to nixos-25.05 it works, so it must be a recent breakage.

12:50:29
@maralorn:maralorn.demaralornWell, "breakage".12:55:39
@maralorn:maralorn.demaralornThe problem is that we are fixing hls with an overrideScope in config…-common.nix and that overlay one is not being applied to the exposed hls-plugin-api package.12:57:07
@maralorn:maralorn.demaralornMore generally when somehow beating hls into compiling I generally don’t consider downstream consumers who link against it. I wasn’t aware of their existence.12:58:12
@ners:nixos.devnersIt's a thing that should work (the usage is valid) but does not. It even used to work, but has stopped working. That's by definition a breakage. :)13:08:45
@ners:nixos.devners* It's a thing that should work (the usage is valid) but does not. It even used to work, but has stopped working due to recent changes. That's by definition a breakage. :)13:09:09
@maralorn:maralorn.demaralornWell if I had considered it breakage I probably wouldn’t have broken it. Sorry, about that, I now know better. We generally have quite a few cases where executable packages are configured in a way that they are not feasible to consume as libraries.13:25:56
@maralorn:maralorn.demaralornBest fix is probably to apply the overlay to hls-plugin-api in nixpkgs.13:28:01
@ners:nixos.devnershttps://github.com/NixOS/nixpkgs/pull/45588414:38:45
@alexfmpe:matrix.orgalexfmpe should shellFor have a withCabal boolean or so?
in the native case it can just go in nativeBuildInputs, but since for cross shellFor what we place in PATH isn't 'ghcbut<prefix>-ghc you need this sort of wrapping https://gitlab.haskell.org/haskell-wasm/ghc-wasm-meta/-/blob/104d440e93fc05fefd36441e95013eda4b06f611/pkgs/wasm32-wasi-cabal.nix#L62-67 another options is having unprefixedghc, ghc-pkg`, etc point to the prefixed ones
15:34:08
@alexfmpe:matrix.orgalexfmpe the current behavior of pkgsCross.foo.haskellPackages.shellFor is that both native ghc* and <prefix>-ghc* are in PATH, which is pretty odd to me 15:35:02
@alexfmpe:matrix.orgalexfmpewell not odd per-se, I can see the benefit of having both available in a single shell, but certainly unexpected when extrapolating from native shellFor15:35:39
@alexfmpe:matrix.orgalexfmpe * should shellFor have a withCabal boolean or so?
in the native case it can just go in nativeBuildInputs, but since for cross shellFor what we place in PATH isn't 'ghc but<prefix>-ghc you need this sort of wrapping https://gitlab.haskell.org/haskell-wasm/ghc-wasm-meta/-/blob/104d440e93fc05fefd36441e95013eda4b06f611/pkgs/wasm32-wasi-cabal.nix#L62-67 another options is having unprefixedghc, ghc-pkg`, etc point to the prefixed ones
15:36:00
@alexfmpe:matrix.orgalexfmpe* should shellFor have a withCabal boolean or so? in the native case it can just go in nativeBuildInputs, but since for cross shellFor what we place in PATH isn't `ghc` but `<prefix>-ghc` you need this sort of wrapping https://gitlab.haskell.org/haskell-wasm/ghc-wasm-meta/-/blob/104d440e93fc05fefd36441e95013eda4b06f611/pkgs/wasm32-wasi-cabal.nix#L62-67 another options is having unprefixed `ghc`, `ghc-pkg`, etc point to the prefixed ones15:37:11
@alexfmpe:matrix.orgalexfmpe* should shellFor have a withCabal boolean or so? in the native case it can just go in nativeBuildInputs, but since for cross shellFor what we place in PATH isn't `ghc` but `<prefix>-ghc` you need this sort of wrapping https://gitlab.haskell.org/haskell-wasm/ghc-wasm-meta/-/blob/104d440e93fc05fefd36441e95013eda4b06f611/pkgs/wasm32-wasi-cabal.nix#L62-67 another option is having unprefixed `ghc`, `ghc-pkg`, etc point to the prefixed ones15:37:42
@alexfmpe:matrix.orgalexfmpe* should shellFor have a `withCabal` boolean or so? in the native case it can just go in nativeBuildInputs, but since for cross shellFor what we place in PATH isn't `ghc` but `<prefix>-ghc` you need this sort of wrapping https://gitlab.haskell.org/haskell-wasm/ghc-wasm-meta/-/blob/104d440e93fc05fefd36441e95013eda4b06f611/pkgs/wasm32-wasi-cabal.nix#L62-67 another option is having unprefixed `ghc`, `ghc-pkg`, etc point to the prefixed ones15:40:31
27 Oct 2025
@sternenseemann:systemli.orgsterniwell it implicitly assumes you need to compile Setup.hs13:47:17
@alexfmpe:matrix.orgalexfmpehmm I see, you always potentially need native ghc for that14:24:12
@alexfmpe:matrix.orgalexfmpebut it makes sense to always wrap cross cabal no? otherwise what is its point14:32:08
@alexfmpe:matrix.orgalexfmpe* but it makes sense to always wrap cabal from the pkgsCros set no? otherwise what is its point14:32:19
@amadaluzia:tchncs.de➡️@amadaluzia:unredacted.org joined the room.23:56:39
29 Oct 2025
@NickSeagull:matrix.orgNickSeagull joined the room.19:32:52
30 Oct 2025
@sternenseemann:systemli.orgsternidifficult question imo06:31:28
@sternenseemann:systemli.orgsterniit would be nice to have the option, but it’s not clear to me how it should work06:31:48
@alexfmpe:matrix.orgalexfmpereminds me of https://github.com/NixOS/nixpkgs/issues/23774112:10:46
@shapr:cofree.coffeeshaprpossibly off-topic, but I'm going on a week long vacation and I want to have all of haskellPackages downloaded onto my NixOS system, is there a way to do that?22:04:23

Show newer messages


Back to Room ListRoom Version: 6