| 19 Aug 2025 |
emily | it's in the ofborg repo docs I think | 16:31:57 |
alexfmpe | TIL | 16:42:39 |
alexfmpe | https://github.com/NixOS/ofborg?tab=readme-ov-file#automatic-building | 16:42:40 |
| 20 Aug 2025 |
Pierre Thierry | I've looked at documentation and source code but I don't see how I can use developPackage and add additional packages to the environment (ideally they would only be added when using a shell). I guess that's done with the modifier attribute? | 18:02:08 |
Pierre Thierry | (I'd like to add packages like HLS and hlint) | 18:02:32 |
Artem | how do I get a sense of when the GHC 9.10 bump will be merged into staging? I saw a long list of failures but surely not everything has to be fixed before the merge. I also saw "We only do the merge if the mergeable job is succeeding on hydra" but how do I get a sense of close it is to succeeding? | 19:39:21 |
maralorn | Artem: I am not sure anyone has it. We probably want to fix most of the errors here before merging: https://github.com/cdepillabout/nix-haskell-updates-status | 20:04:11 |
maralorn | Last ghc bump took 4 to 5 months. But that was the worst one I can remember. We normally aim at one month and two are realistic. | 20:04:13 |
| 23 Aug 2025 |
Magnus | In reply to @kephaspierre:matrix.org I've looked at documentation and source code but I don't see how I can use developPackage and add additional packages to the environment (ideally they would only be added when using a shell). I guess that's done with the modifier attribute? This is how I do it. At least at the moment, things change as I learn more Nix. https://gitlab.com/magus/nix-setups/-/tree/main/hs-shell?ref_type=heads | 15:34:30 |
sterni (he/him) | Eval with Stackage LTS 24.6 https://hydra.nixos.org/eval/1817909?compare=1817896 | 22:01:32 |
Pierre Thierry | In reply to @magthe:tchncs.de This is how I do it. At least at the moment, things change as I learn more Nix. https://gitlab.com/magus/nix-setups/-/tree/main/hs-shell?ref_type=heads I finally found a way where I wrote the least possible amount in my shell.nix, I do import project.nix (I run cabal2nix . > project.nix when my cabal file changes), and I use builtins.functionArgs to see every package I need, and use that in a pkgs.mkShell { packages = [ pkgs.hlint pkgs.haskell-language-server (pkgs.haskellPackages.ghcWithPackages getDeps)] | 23:26:40 |
| 24 Aug 2025 |
sterni (he/him) | if you have the generated file you can just use haskell.packages.${your-pkg-set}.shellFor { packages = p: [ (p.callPackage ./project.nix { }) ]; nativeBuildInputs = [ /* other tools */ ]; }. | 14:10:00 |
Uraraka ~ Ochaco | I no longer use nix for haskell packages, they're always out of date with hackage, so I just have my shell.nix including the correct ghc and cabal and then use cabal for the rest | 14:34:34 |
| Magnolia Mayhem changed their profile picture. | 19:10:01 |
| Magnolia Mayhem changed their profile picture. | 23:20:56 |
| Magnolia Mayhem changed their profile picture. | 23:24:20 |
| 25 Aug 2025 |
| Magnolia Mayhem changed their profile picture. | 03:00:52 |
| Magnolia Mayhem changed their profile picture. | 03:01:08 |
| Magnolia Mayhem changed their profile picture. | 03:01:29 |
| mra joined the room. | 07:25:22 |
mra | Howdy! Having some issues trying to set up a flake for development. I'm trying to use Clash to do FPGA stuff. The authors of Clash provide this starter template: https://github.com/clash-lang/clash-starters/tree/main/simple-nix, but I wanted to try to make a flake, thinking that it would be simpler to simply define a package, and then use nix develop to obtain a dev environment. I wrote this flake: https://paste.rs/guCkG.txt and just replaced all of the .nix files with this. It seems to work, but when I attempt to run the clash executable, I get a weird error: "<command line>: Could not find module ‘GHC.TypeLits.KnownNat.Solver’.". I can't figure out what causes this, and it doesn't happen when I run nix-develop in the root of the template as given, which is strange, since in both cases the build is just using runCabal2nix, rather than explicitly including this GHC plugin as a build input explicitly. | 07:29:35 |
maralorn | @morgan.arnold:matrix.org One theory would be, that your flake is picking a different nixpkgs version. The template seems to be pinned to a known good version. | 07:51:34 |
mra | oh, that's bizarre. somehow didn't notice all of the weirdness in the nix/ directory... is there a straightforward way of copying over the nix/ directory and then using that as the nixpkgs input for my flake? that seems like the simplest way to ensure that the versions are all good | 08:29:59 |
Pierre Thierry | I'll try that, that's way simpler than anything already shown as example for `shellFor`! | 10:36:26 |
maralorn | mra: the nixpkgs pin in the nix/ dir should have a commit hash somewhere. You can put that commit hash in the nixpkgs input in the flake. (see nix manual for syntax) | 10:36:53 |
sterni (he/him) | An alternative is to use callCabal2nix in the packages function which would generate the expression on the fly. (Basically like developPackage, but developPackage would, I think, not work since it behaves differently depending on whether the IN_NIX_SHELL environment variable is set.) | 11:36:33 |
sterni (he/him) | Pitching the idea to target an upgrade to 9.10.3: https://discourse.nixos.org/t/call-for-contributions-we-are-updating-to-ghc-9-10-2/67756/4 | 11:37:36 |
Teo (he/him) | That's a good call IMO. There's a pretty annoying in 9.10.2 where GHC will panic if you use a constructor you havent imported but you've imported the synonymous type | 11:41:56 |
alexfmpe | wow text 2.1.2 is the gift that keeps on giving | 13:05:58 |
Uraraka ~ Ochaco | In reply to @alexfmpe:matrix.org wow text 2.1.2 is the gift that keeps on giving Isn't it just? I use T.show now. I had to change around and not use nix for packages and just use hackage because it wasn't in nix for ages | 13:13:36 |