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

Flake-enable project #587

Open
wants to merge 5 commits into
base: master
Choose a base branch
from

Conversation

Gabriella439
Copy link

The immediate motivation for doing this was that
the old shell.nix failed with the nixpkgs channel that I had installed. While I was fixing this to pin nixpkgs I figured this would be a good time to flake-enable the project.

The immediate motivation for doing this was that
the old `shell.nix` failed with the `nixpkgs` channel that I
had installed.  While I was fixing this to pin `nixpkgs` I figured
this would be a good time to flake-enable the project.
@sternenseemann
Copy link
Member

sternenseemann commented Dec 1, 2022

This was proposed before in #533 and I'm inclined to veto it – I do not want to support anyone declaring cabal2nix as a flake input (which seems to be the inevitable consequence). Also the devShell split is less convenient than the current shell, as you need to switch environment depending on what package you are working on.

I also personally don't use flakes, so the sluggishness afforded by flake-compat is not really acceptable.

I'm curious about the eval failure though, since cabal2nix is pretty boring (which is also a reason why having some random channel over a months old pin is not bad).

flake.nix Outdated Show resolved Hide resolved
@Gabriella439
Copy link
Author

If the requirement is that you want the nixpkgs input to remain up-to-date that is totally doable using flakes. I can change the flake input to track Nixpkgs master, nixpkgs-unstable, or whatever branch you want

@Gabriella439
Copy link
Author

Gabriella439 commented Dec 1, 2022

Also, just to clarify: the motivation for this flake is for local development, not for depending on cabal2nix as a flake input. If you want to remove the possibility of depending on the cabal2nix flake as a package I can remove the packages outputs from the flake and leave behind just the devShells. I only included the packages outputs for completeness

… so that developers can easily track changes to `nixpkgs`

… based on feedback from @sternenseemann
In other words, only use the flake to provide development
shells

This is based on feedback from @sternenseemann that we don't
want downstream flakes to depend on `cabal2nix` as a flake
input
… which doesn't work now because we removed the packages from
the outputs
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.

2 participants