News for hackers. Stuff that matters.
Re:About using Nix in my development workflow by baby on Wednesday July 20, 2022 @08:40PM (#32174366)
We use it for OCaml because there’s nothing in OCaml that really exist to manage dependencies and build (opam and dune are awful). But it doesn’t work well with our Rust dependency. I think it could work well with our Rust dependencies (which needs to be packaged with a derivation and thus doesn’t work in a nix develop shell) if nix stops where Cargo begins, but it seems like it is not nix’s philosophy.
Re:About using Nix in my development workflow by WastingMyTime89 on Wednesday July 20, 2022 @09:18PM (#32174630)
What do you miss from opam (dune is a build system - nothing to do with dependencies)?

Last time I checked it did pretty much everything you might need and was fairly pleasant to use.

Re:About using Nix in my development workflow by speed_spread on Wednesday July 20, 2022 @10:16PM (#32175029)
To say that a build system has nothing to do with dependencies is pretty telling about the OCaml tooling mindset.From Maven to Cargo, almost every modern build system integrates dep management. Only C/C++ is still lagging in that regard.
Re:About using Nix in my development workflow by WastingMyTime89 on Sunday July 24, 2022 @05:00PM (#32217660)
It’s not lagging. How you install dep as conceptually nothing to do with how you link and build. You can tell dune to use dependencies installed with opam easily enough and opam takes care of managing and locking transitive dep. These are entirely different concerns. I am tempted to say "Kids these days" but that wouldn’t be condescending enough.
Re:About using Nix in my development workflow by speed_spread on Tuesday July 26, 2022 @10:39AM (#32238907)
What is the actual gain of splitting dep management and build / link into separate tools? All I see is added complexity and ecosystem fragmentation.
Re:About using Nix in my development workflow by baby on Thursday July 21, 2022 @04:47AM (#32177087)
as the other comment says, you can't have a build system that doesn't care about dependencies, otherwise different environments will use different dependencies to build.