Skip to content
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

Remove Nix expressions #4836

Merged
merged 1 commit into from
Oct 21, 2017
Merged

Remove Nix expressions #4836

merged 1 commit into from
Oct 21, 2017

Conversation

ttuegel
Copy link
Member

@ttuegel ttuegel commented Oct 21, 2017

Including Nix expressions in Haskell projects, particularly core infrastructure,
is harmful for the following reasons:

  1. The expressions are never maintained. In this case, I should know since I'm
    the one who isn't maintaining them.
  2. In the unlikely event a Nix expression is up-to-date, it still only works
    with a particular version of Nixpkgs. Unless Nixpkgs is included in a submodule,
    this is of no use to anybody.
  3. Creating Nix expressions for Haskell packages is automated anyway and anyone
    who is interested in having them knows how to generate them.
  4. We who are working on Cabal need to be "eating our own dog food" or "wearing
    the hair shirt" as the case may be.

Please include the following checklist in your PR:

  • Patches conform to the coding conventions.
  • Any changes that could be relevant to users have been recorded in the changelog.
  • The documentation has been updated, if necessary.
  • If the change is docs-only, [ci skip] is used to avoid triggering the build bots.

Please also shortly describe how you tested your change. Bonus points for added tests!

Including Nix expressions in Haskell projects, particularly core infrastructure,
is harmful for the following reasons:

1. The expressions are never maintained. In this case, I should know since I'm
the one who isn't maintaining them.
2. In the unlikely event a Nix expression is up-to-date, it still only works
with a particular version of Nixpkgs. Unless Nixpkgs is included in a submodule,
this is of no use to anybody.
3. Creating Nix expressions for Haskell packages is automated anyway and anyone
who is interested in having them knows how to generate them.
4. We who are working on Cabal need to be "eating our own dog food" or "wearing
the hair shirt" as the case may be.

[ci skip]
@ezyang ezyang merged commit 4e85e44 into haskell:master Oct 21, 2017
@michalrus
Copy link

michalrus commented Oct 22, 2017

Somewhat related: NixOS/nixpkgs#28931.

@peti
Copy link
Collaborator

peti commented Oct 30, 2017

I am not happy about that decision. I, for one, was using (and updating) those Nix files and their absence now is certainly not going to make my life any more convenient than it was before. :-(

@23Skidoo
Copy link
Member

I don't use/understand this stuff and have nothing against adding it back if @peti agrees to maintain it, but maybe @ttuegel disagrees.

@michalrus
Copy link

Why not have a very simple default.nix that just imports the Nixpkgs definition? Then it’s convenient for Cabal devs that use Nix and there’s a single—and maintained—source of truth of how to build Cabal in the Nix context.

Probably that import should use a pinned version of Nixpkgs.

@ttuegel
Copy link
Member Author

ttuegel commented Nov 1, 2017

if @peti agrees to maintain it, but maybe @ttuegel disagrees.

I have no objection. I do think we should encourage (strongly) developers to use the project-based commands (new-*) instead where possible.

Why not have a very simple default.nix that just imports the Nixpkgs definition?

It is usually behind the development version.

Probably that import should use a pinned version of Nixpkgs.

Definitely!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants