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

Add Nix development setup #1156

Merged
merged 1 commit into from
Oct 13, 2023
Merged

Add Nix development setup #1156

merged 1 commit into from
Oct 13, 2023

Conversation

phinze
Copy link
Contributor

@phinze phinze commented Oct 13, 2023

I'm loathe to be the guy who comes in and messes with the development environment as the first thing he does, but here I am being that guy. 😅

I've been pretty into Nix for my development environments for the past couple of years for its ability to lock the full set of dev dependencies in a consistent way across machines and operating systems.

I'll use this setup myself either way, but it's a bit less overhead for me if I'm able to check in the configs vs dancing around local gitignores to keep it working. Plus it gives other people the opportunity to use it!

I tried to document everything nicely, keep it off to the side, and make it minimally invasive. But I totally understand if you'd rather keep this out of the repo! Just let me know. 🙇🏻


Commit message:

This setup works well for me, and should allow anybody familiar with Nix to get up and running with the project really quickly.

I documented this as an advanced development setup in the same vein as Docker, leaving the main README instructions as the happy path.

At any point this can be safely ripped out by reverting this commit or by manually doing the following:

  1. remove .envrc, flake.nix, flake.lock, and NIX.md
  2. clear the the extra entry in .gitignore.
  3. remove the extra configurable in application_system_test_case.rb

@phinze phinze requested a review from jim October 13, 2023 23:00
This setup works well for me, and should allow anybody familiar with Nix
to get up and running with the project really quickly.

I documented this as an advanced development setup in the same vein as
Docker, leaving the main README instructions as the happy path.

At any point this can be safely ripped out by reverting this commit or
by manually doing the following:

 1. remove .envrc, flake.nix, flake.lock, and NIX.md
 2. clear the the extra entry in .gitignore.
 3. remove the extra configurable in application_system_test_case.rb
Copy link
Member

@jim jim left a comment

Choose a reason for hiding this comment

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

I think you did this in a good way, where it's optional if folks want to give it a try but it doesn't require any really changes from anyone otherwise. If it means that more folks are able to easily develop on the app and contribute to the project, that works for me 😄

@phinze
Copy link
Contributor Author

phinze commented Oct 13, 2023

Hooray! Thank you 🙇🏻

@phinze phinze merged commit 167e650 into main Oct 13, 2023
5 checks passed
@phinze phinze deleted the nix-dev-setup branch October 13, 2023 23:35
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