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

nix development shell #21

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from
Draft

Conversation

ProducerMatt
Copy link
Member

@ProducerMatt ProducerMatt commented May 25, 2023

A Nix development shell creates identical development environments for anybody with Nix installed, so long as they run nix develop -f shell.nix in the root directory. It would be quite useful as I see from the chat, lots of time is spent working on just getting Node and Python to play nicely in traditional operating systems. This is the start of such a shell, but I don't know your project (and am not a Nix expert despite using it exclusively), so it's lacking at the moment. Any ideas or changes are appreciated.

Immediate concerns:

  • Python app starts, but I haven't tested it.
  • Node side requires next be available as a CLI app, but Nix isn't making it available. I'm using node2nix to make the Node support, maybe that's just not what it does. Regardless, if you manually npm i next in ./web/, the app starts. I haven't tested it.

Slightly less immediate concerns:

  • node2nix can't import the package lockfile because it doesn't support lockfile version v3. But it still gets the versions from the package.json at least.
  • node2nix leaves multiple Nix files in the ./web/ directory. Maybe they could at least be moved somewhere, but it would be nice to avoid them entirely.
  • it's not a Nix flake, meaning it doesn't have a lockfile for Nix packages themselves. The lock files for Python and Node heavily reduce the risk for breakage though.

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.

1 participant