-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
Add a shell.nix and instructions for using it #2654
Conversation
@tpolecat I've seen you comment on the mixed reviews that you've seen of Nix. For what it's worth, if you are on a Mac, I don't think that Nix is quite there as a Homebrew replacement, but I think that it works well for isolated development environments such as the one described in this PR. (I've also been using it as a Homebrew replacement, but it has required a lot of tinkering and some looking at source code, and not everything that I would want is there -- I think that the story is probably a bit better if you are running NixOS). |
I have mixed feelings about this. On the one hand, it feels like which tools a developer uses in their environment shouldn't bleed into the source repository. On the other hand, getting a proper Cats development environment includes wrangling some finicky bits that can be tricky for a Scala developer (such as managing Jekyll and Node.js versions). I'm generally in favor of lowering this barrier and using a deterministic build environment. I've been using something like this for a while when working on Cats and thought that I'd put together this PR in case others are interested in doing the same. If people aren't crazy about this, it's no big deal; it's easy enough to have it ignored by git.
Codecov Report
@@ Coverage Diff @@
## master #2654 +/- ##
==========================================
- Coverage 95.12% 94.86% -0.26%
==========================================
Files 363 363
Lines 6704 6684 -20
Branches 289 283 -6
==========================================
- Hits 6377 6341 -36
- Misses 327 343 +16
Continue to review full report at Codecov.
|
This code coverage report makes no sense to me... |
I think this is harmless for those who don't know Nix it and useful for those who do, or are willing to try. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍
I haven't used Nix much yet (though I definitely want to), but I think this is small enough to be perfectly fine as part of this Repo :) |
I have mixed feelings about this. On the one hand, it feels like which
tools a developer uses in their environment shouldn't bleed into the
source repository. On the other hand, getting a proper Cats development
environment includes wrangling some finicky bits that can be tricky for
a Scala developer (such as managing Jekyll and Node.js versions). I'm
generally in favor of lowering this barrier and using a deterministic
build environment.
I've been using something like this for a while when working on Cats and
thought that I'd put together this PR in case others are interested in
doing the same. If people aren't crazy about this, it's no big deal;
it's easy enough to have it ignored by git.