Haskell in Nixpkgs/NixOS | 733 Members | |
| For discussions and questions about Haskell with Nix, cabal2nix and haskellPackages in nixpkgs | Current Docs: https://haskell4nix.readthedocs.io/ | More Nix: #community:nixos.org | More Haskell: #haskell-space:matrix.org | 148 Servers |
| Sender | Message | Time |
|---|---|---|
| 19 Jan 2025 | ||
And if hackage-packages.nix is automatically generated: is that mechanism smart enough to detect that the ncurses argument is not meaning haskellPackages.ncurses, but needs to be overridden with { inherit (pkgs) ncurses: }? | 14:10:08 | |
* And if hackage-packages.nix is automatically generated: is that mechanism smart enough to detect that the ncurses argument is not supposed to need haskellPackages.ncurses, but needs to be overridden with { inherit (pkgs) ncurses: }? | 14:11:39 | |
I'd recommend using haskell.lib.compose.overrideSrc since that deals with hackage revisions and allows further haskell specific overrides. | 19:12:17 | |
| 23:11:22 | ||
| 20 Jan 2025 | ||
| 10:22:02 | ||
| chreekat linj: Thanks for the hints back then. Does haskell.lib.compose.overrideCabal (as in both pretty-simple and nixfmt-rfc-style) can do the same as
I really need ghc910 (GHC2024). | 17:19:09 | |
| * chreekat linj: Thanks for the hints back then. Does haskell.lib.compose.overrideCabal (as in both given derivation examples pretty-simple and nixfmt-rfc-style) can do the same as
I really need ghc910 (GHC2024). | 17:19:41 | |
In reply to @joaomoreira:matrix.orgfor reference | 17:20:54 | |
| otherwise, how can I do it? | 17:21:59 | |
| you can apply overrideCabal in an overlay for ghc910, just need nested // | 18:31:24 | |
| ``` haskell = nixpkgs.haskell // { packages = nixpkgs.haskell.packages // { "${compiler}" = nixpkgs.haskell.packages.${compiler}.override(old: { overrides = self: super: { mypkg = overrideCabal super.mypkg (drv: ...) } }); }; }; }; ``` | 18:37:05 | |
| This sort of thjng | 18:37:08 | |
| * This sort of thing | 18:37:18 | |
| * <code> haskell = nixpkgs.haskell // { packages = nixpkgs.haskell.packages // { "${compiler}" = nixpkgs.haskell.packages.${compiler}.override(old: { overrides = self: super: { mypkg = overrideCabal super.mypkg (drv: ...) } }); }; }; }; </code> ``` | 18:37:38 | |
| * <code> haskell = nixpkgs.haskell // { packages = nixpkgs.haskell.packages // { "${compiler}" = nixpkgs.haskell.packages.${compiler}.override(old: { overrides = self: super: { mypkg = overrideCabal super.mypkg (drv: ...) } }); }; }; }; </code> | 18:37:47 | |
| * ``` haskell = nixpkgs.haskell // { packages = nixpkgs.haskell.packages // { "${compiler}" = nixpkgs.haskell.packages.${compiler}.override(old: { overrides = self: super: { mypkg = overrideCabal super.mypkg (drv: ...) } }); }; }; }; ``` | 18:38:42 | |
| Is triple back tick formatting broken for anyone else for weeks now? | 18:39:03 | |
| 21 Jan 2025 | ||
| I tried getting access to specific version of fourmolu like this:
But it results in an error. Relevant error messages:
Is that expected ? Is there any workaround for it ? | 03:03:13 | |
| Redacted or Malformed Event | 06:34:11 | |
The _X_Y_Z versions of packages are provided by Nixpkgs as a convenience, but they often don't work. If you want to get it working, you can override the derivation and pass it the dependencies it needs. Hitting it with an .overrideScope might be the easiest if you need something deep in the dep tree and widely used. Grep through the Haskell stuff in Nixpkgs for an example. | 04:26:32 | |
| Ah, I see. Thank you! | 04:27:00 | |
Building a shell with haskell-langauge-server ran out of space... explicitly setting TMPDIR to something else than /tmp solved it... apparently 16G isn't enough (or maybe I ran out of inodes, 1 million), that's a bit scary 😁 | 09:06:01 | |
| Exactly. Makes the result better for whom? :) Features delayed in order to please us developers is time-value lost for customers and the business. Knowing where to draw the line, knowing what tradeoffs are acceptable and when, is like any art form. A balance of compromises. | 11:10:30 | |
| Took me a moment to realise that "business value" is not just a euphemism for greed. 😄 It’s real customers whose life we try to make better. | 11:36:02 | |
| And I mean we all know the feeling of working with sucky software. | 11:36:33 | |
| 12:29:02 | ||
| Anyone have an SBOM generator that works with nix Haskell packages? github:nixos/bundlers#toReport is about 90% of the way there but its output format is annoying and it doesn't have an option to limit the output to direct dependencies. https://github.com/tiiuae/sbomnix is much more featureful but it fails to extract the license information for 90% of Haskell packages for some reason | 13:12:13 | |
| (and it is a mess of Python which looks miserable to try to understand/fix) | 13:12:33 | |
| MangoIV might know about this. ^ | 13:28:30 | |
| I have done a very cursed thing for wire once but you’ll have to do some adjustments for it to work with your project. | 13:29:58 | |