Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Enjoy reproducible builds with ROS thanks to the power of Nix (see http://download.ros.org/downloads/roscon/2022/Better%20ROS%20Builds%20with%20Nix.pdf for the latest research). This is
still very much a WIPcompletely flawless and you may experienceunexpected catastrophic failuresNixOS impostor syndrome while using this feature.Note that this PR only adds basic packaging infrastructure so ROS package.xml declarations can be restated as Nix package files. This can drastically improve build times (if using Nix) and standardizes dependency specifications. Note that this does not actually pin dependencies to specific versions, but it does allow integration with a project-wide Nix build system that does (development of this system is still in progress, but the vision of true native reproducibility with complete and verifiable package declarations will eventually be realized).
This PR does not enforce the use of Nix or even provide the infrastructure to build this project (just the instructions for the Nix package manager to do so). If you're looking to test drive the Nix setup, take a look at some of the latest commits in https://github.com/ArcturusNavigation/arcturus_nix (look at branches other than main for now).