Comments (2)
@jyp thanks a lot for reminding me about this project (I remember seeing a link fly by on Twitter, but I didn't follow up).
It's kind of funny. As I was reading your code, I was thinking "Is making the shell.nix as hard as I'm making it out to be? Maybe I should think about it fresh. And then I realized it could be as simple as swapping in a custom mkDerivation
into the function generated by cabal2nix
. And then I saw that that's exactly what you're doing with gatherDeps
.
So I'm going to adjust this project to do a similar approach. After that, I won't feel like a "hack," just a reasonable solution.
As far as my review of styx
, I don't think it's a bad approach at all. It introduces a tool to manage your "*.nix" files, so we don't have to think about Nix as much. My project is going down the other path -- trying to see how clean we can go just with normal Nix expressions before leaning on a tool like styx
. I think there's some value in both approaches. You probably are missing some configuration option to allow people the full flexibility they'd get with raw Nix, and it's your call on whether to support those or not (maintenance isn't free). For instance, if someone wanted to turn on profiling, what's your recommended way of doing that with styx
? There's two answers I can imagine: 1) just write Nix expressions that build upon the ones styx
generates 2) adding more switches/configuration into styx
's Main.hs
source.
Thanks again for the pointer. Hopefully we can get more people using Nix where makes sense.
from nix-example.
from nix-example.
Related Issues (10)
- "Gabriel Gonzalez's nix-haskell" link is broken
- error: attribute ‘bsd3’ missing HOT 10
- bin/licenses script terminal colorizing not general enough HOT 2
- nix-build fails HOT 10
- Random thoughts HOT 1
- feedback HOT 4
- Typo in readme for 0-nix-intro/ HOT 1
- direnv.nix for direct envrc specification HOT 1
- Tutorial HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from nix-example.