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

feat: Extract default devshell to devenv.nix #42

Merged
merged 15 commits into from
Mar 27, 2024
Merged

Conversation

sestrella
Copy link
Member

@sestrella sestrella commented Feb 22, 2024

No description provided.

@sestrella sestrella marked this pull request as ready for review February 22, 2024 05:26
@oscar-izval
Copy link
Contributor

Looks great @sestrella! Very happy to see devenv in the project. Just a few thoughts:

  • Do you have some insights about using devenv on its own vs integrating it with Flakes? I guess there's an argument to be made about separation of concerns, but the integration is great and I see some benefits, specially not requiring two separate lock files with different versions of nixpkgs.
  • We may want to add some notes about the use of devenv and direnv in the Contributing section.

@sestrella
Copy link
Member Author

@oscar-izval thank you for the provided feedback. Regarding:

Do you have some insights about using devenv on its own vs integrating it with Flakes? I guess there's an argument to be made about separation of concerns, but the integration is great and I see some benefits, specially not requiring two separate lock files with different versions of nixpkgs.

I guess the main motivation here is that the existing devshell is primarily used to set up all of the required tools for the update script; in that sense, it is not something that affects the end users of this flake, but rather something we use as maintainers that, in my opinion, should not be exposed in the flake.nix file; I believe this was my main motivation for extracting the devshell from the original file and configuring devenv. Whether we use devenv on its own or as part of a flake integration, I believe it depends on whether there is a valid use case for providing a devshell to the consumers of this flake in the first place. In this case, I would argue that keeping it as a standalone Nix file makes more sense because the provided shell is only used for maintenance.

We may want to add some notes about the use of devenv and direnv in the Contributing section.

That was a good call! If you agree with this change, I would be happy to update the documentation.

@oscar-izval
Copy link
Contributor

After reading your comment looks like the best approach is to keep them separate, thanks for the context!

@sestrella
Copy link
Member Author

@oscar-izval would you mind taking a second look, please?

devenv.yaml Outdated Show resolved Hide resolved
devenv.nix Outdated Show resolved Hide resolved
Copy link
Contributor

@oscar-izval oscar-izval left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! Maybe just remove those comments, but it's not a big deal. Something to consider is that we were exposing that devshell, and even if nobody uses it, it should technically be a major release. Should we do that alongside the removal of the versions-by-cycle code?

@sestrella sestrella changed the title Extract default devshell to devenv.nix feat: Extract default devshell to devenv.nix Mar 27, 2024
@sestrella sestrella merged commit 4cbc7b5 into main Mar 27, 2024
7 checks passed
@sestrella sestrella deleted the extract_devshell branch March 27, 2024 04:40
@sestrella
Copy link
Member Author

@oscar-izval I merged this PR but canceled the build to avoid generating a major release right now, as I am planning to open a new PR that removes the cycle packages.

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