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

build(nix): nixification complete #106

Closed
wants to merge 8 commits into from
Closed

build(nix): nixification complete #106

wants to merge 8 commits into from

Conversation

quantum9Innovation
Copy link
Member

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 WIP completely flawless and you may experience unexpected catastrophic failures NixOS 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).

you can now enjoy reproducible builds with ros thanks to the power of nix.
this is still very much a wip and you may experience unexpected catastrophic failures while using this feature.
documentation coming soon.
default.nix and overlay.nix should be specified in the project directory;
these configurations will be managed automatically by arcturus_nix
@quantum9Innovation quantum9Innovation added the build Updates to dependency specifications and build/install procedures label Oct 20, 2024
@quantum9Innovation quantum9Innovation self-assigned this Oct 20, 2024
@quantum9Innovation
Copy link
Member Author

Closing to focus on #107

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
build Updates to dependency specifications and build/install procedures
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant