-
Notifications
You must be signed in to change notification settings - Fork 116
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
From Stack to Nix and beyond #45
Comments
Yes, I recommend keeping each pinned dependency in a separate file, mainly because that's the easiest way to add/update/remove them using You actually don't have to work inside a For other Haskell projects, I personally browse documentation just by Googling "hackage <thing I'm searching for>" and then browsing the Hackage documentation. For my own project that I'm actively developing, For conflicts between packages, I try the following things, in this order:
However, one thing I never do is use two versions of a given package in the dependency set |
Thank you very much for answering my question.
The Do you suggest dropping |
Ignoring Nix for a moment, one lesser known fact about https://www.stackage.org/lts/cabal.config ... and if you save that to a Now, going back to Nix, that Also, I believe the |
Wow, this makes so much sense now. Did I understand this correct? |
@rsoeldner: Yes. Usually my rule of thumb for whether or not to put dependency bounds in the
For example, I would classify hobby projects and proprietary internal projects at a company as private projects, so I omit bounds in those cases. That lets me iterate quickly when there is no public contract to worry about breaking. Once I publish the project as an open source project and encourage others to depend on it then I'm careful to add bounds so that downstream users who use just Cabal to resolve dependencies don't run into build failures. |
Also, I'll leave this ticket open to remind myself to document this like you requested |
Thank you very much for the time! I would be happy to read more! 😁 🎉 |
Hey @Gabriel439, I got it building but I'm not able to jump into a repl session. release.nix:
I created a While mention here
When running
Maybe this is a Thank you in advance, you should create a patreon account 👍 |
What does your |
I just created it the way |
You want to manually author the (import ./release.nix).testApp.env Then |
Thank you really much, I will figure out now, hopefully 😄 👍 |
Oh, you need to change it to:
|
Hey,
I'm still moving from Stack to Nix & cabal and this tutorial helped me a lot!
But a few general points aren't clear , at least for me.
Do you suggest adding each dependency a separated file, for example like:
$ cabal2nix cabal://turtle-1.3.2 > turtle.nix
and add them to your project with thereadDir
trick ?Do you work inside the
nix-shell
? Right now I'm moving from Stack and nix pick quite old packages and I'm not able to jump into the shell because of compile errors.How do you browse documentation ?
How do you manage conflicts and dependencies between several packages.
Thank you very much for your tutorial 😄
The text was updated successfully, but these errors were encountered: