-
Notifications
You must be signed in to change notification settings - Fork 472
add nix flake #11781
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
base: main
Are you sure you want to change the base?
add nix flake #11781
Conversation
1c4ff30 to
d005804
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR adds comprehensive Nix flake support to libfabric, enabling reproducible builds, development environments, and CI workflows. The implementation provides a modern development and build infrastructure using Nix with support for multiple platforms and cross-compilation.
Key changes:
- Adds Nix flake configuration with development shells for all providers and HMEM types
- Implements cross-compilation support from Darwin to Linux targets (aarch64 and x86_64)
- Adds GitHub Actions CI workflow for automated building and testing using Nix
Reviewed changes
Copilot reviewed 9 out of 11 changed files in this pull request and generated 9 comments.
Show a summary per file
| File | Description |
|---|---|
| flake.nix | Main flake configuration defining packages, development shells, and cross-compilation targets |
| flake.lock | Lock file pinning specific versions of flake dependencies |
| contrib/nix/lib/default.nix | Reusable library functions for packaging and cross-compilation |
| contrib/nix/pkgs/libfabric/default.nix | Nix package definition for libfabric with configurable providers and HMEM support |
| contrib/nix/pkgs/libcxi/default.nix | Package definition for libcxi (HPE Cassini/Slingshot library) |
| contrib/nix/pkgs/xpmem/default.nix | Package definition for XPMEM userspace library |
| contrib/nix/pkgs/cassini-headers/default.nix | Package definition for HPE Cassini hardware headers |
| contrib/nix/pkgs/cxi-driver-headers/default.nix | Package definition for CXI driver UAPI headers |
| contrib/nix/pkgs/accel-config/default.nix | Package definition for Intel DSA/IAA accelerator configuration utility |
| .github/workflows/nix.yml | GitHub Actions workflow for building and testing with Nix |
| .gitignore | Adds Nix-specific ignore patterns for build artifacts |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Signed-off-by: Nicholas Sielicki <[email protected]>
d005804 to
cde55b3
Compare
add a nix flake for development shells and ci, with the goal of:
see https://nixos.org/ for details on nix