comejv opened a new pull request, #16763:
URL: https://github.com/apache/nuttx/pull/16763

   # Add Nix flake for reproducible development environment
   
   This pull request introduces a Nix flake (`flake.nix` and `flake.lock`) to 
provide a reproducible development shell for NuttX using Nix and flakes.
   
   ## Summary
   
   - Adds a `devShell` with all required build tools and dependencies for 
NuttX, including CMake, Ninja, GNU Make, clang-tools, ARM toolchain, and other 
utilities (automake, bison, flex, genromfs, gettext, gperf, kconfig-frontends, 
libelf, expat, gmp, isl, libmpc, mpfr, ncurses, zlib, kconfiglib).
   - Uses `flake-utils` to support multiple platforms.
   - Sets up a shell hook to enable CMake compile commands and provide a 
welcome message.
   - Based on `nixpkgs` `nixos-unstable` for up-to-date packages.
   
   **Purpose:**  
   This change simplifies onboarding and ensures a consistent build environment 
across contributors. By pinning dependencies, it reduces "works on my machine" 
issues and makes it easier for new developers to get started with NuttX.
   
   **References:**  
   - Nix Flakes documentation: https://nixos.wiki/wiki/Flakes
   - Dependencies gathered from `tools/configure.sh`
   
   ## Impact
   
   - **Users:** No impact on runtime or target builds; this only affects 
developer tooling.
   - **Build Process:** Developers can now use `nix develop` to enter a fully 
provisioned shell with all necessary dependencies.
   - **Documentation:** Usage instructions can be added to the repository 
documentation if desired.
   - **Compatibility:** The flake is designed to work on all major platforms 
supported by Nix.
   
   ## Testing
   
   - Verified by running `nix develop` and building NuttX on `x86_64-linux` 
with `cmake` and `make` (NixOS unstable, GCC ARM toolchain).
   - Confirmed that all required tools are available in the shell and that the 
build completes successfully.
   - No changes to target firmware or runtime behavior.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to